summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2020-12-08 01:29:23 (EST)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2020-12-08 01:29:23 (EST)
commit824797b55596d45589e5ca49ac906639f6e49f53 (patch)
tree1ca445d370cb40727f78b408a9883c5902efc722
parent1d2257483965af5e75d4cd631a079930648dcb59 (diff)
ob-gencontrol: Use an FD for control files
-rw-r--r--src/ob-gencontrol.sh31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/ob-gencontrol.sh b/src/ob-gencontrol.sh
index b54c4b3..5a8aa40 100644
--- a/src/ob-gencontrol.sh
+++ b/src/ob-gencontrol.sh
@@ -72,8 +72,9 @@ gen_control_src()
binary="src:${OPK_SOURCE}"
mkdir -p -- "${binary}.control"
+ exec 3>"${binary}.control/control"
- cat >"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Package: src:${OPK_SOURCE}
Source: ${OPK_SOURCE}
Binary:$(printf '%s\n' $(ob_get_binary_packages) | \
@@ -91,12 +92,10 @@ gen_control_src()
continue
fi
value="$(ob_substvars "${value}")"
- printf '%s: %s\n' "${name}" "${value}" | \
- sed 's/[, ]*$//' \
- >>"${binary}.control/control"
+ printf '%s: %s\n' "${name}" "${value}" | sed 's/[, ]*$//' >&3
done
- cat >>"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Installed-Size: $(calc_inst_size "src:${OPK_SOURCE}")
Format: $(ob_get_source_parameter 'Format')
Description: ${OPK_SOURCE} source package
@@ -104,10 +103,11 @@ gen_control_src()
homepage="$(ob_get_source_parameter 'Homepage')"
if [ -n "${homepage}" ]; then
- printf '%s: %s\n' 'Homepage' "${homepage}" \
- >>"${binary}.control/control"
+ printf '%s: %s\n' 'Homepage' "${homepage}" >&3
fi
+ exec 3>&-
+
return 0
}
@@ -124,8 +124,9 @@ gen_control_bin()
local homepage=
mkdir -p -- "${binary}.control"
+ exec 3>"${binary}.control/control"
- cat >"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Package: $(ob_qualify_package_name "${binary}" \
"${OPK_HOST_ARCH}")
Source: ${OPK_SOURCE}
@@ -135,11 +136,11 @@ gen_control_bin()
EOF
value="$(ob_get_binary_parameter "${binary}" 'Section')"
if [ -n "${value}" ]; then
- cat >>"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Section: ${value}
EOF
fi
- cat >>"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Maintainer: $(ob_get_source_parameter 'Maintainer' | \
tr '\n' ' ')
EOF
@@ -168,21 +169,21 @@ gen_control_bin()
value="$(ob_substvars "${value}" "${binary}")"
;;
esac
- printf '%s: %s\n' "${name}" "${value}" | sed 's/[, ]*$//' \
- >>"${binary}.control/control"
+ printf '%s: %s\n' "${name}" "${value}" | sed 's/[, ]*$//' >&3
done
- cat >>"${binary}.control/control" <<-EOF
+ cat >&3 <<-EOF
Installed-Size: $(calc_inst_size "${binary}")
Description:$(printf '%s' "${desc}" | sed 's/^/ /')
EOF
homepage="$(ob_get_source_parameter 'Homepage')"
if [ -n "${homepage}" ]; then
- printf '%s: %s\n' 'Homepage' "${homepage}" \
- >>"${binary}.control/control"
+ printf '%s: %s\n' 'Homepage' "${homepage}" >&3
fi
+ exec 3>&-
+
return 0
}