summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick McDermott <patrick.mcdermott@libiquity.com>2020-06-21 23:45:30 (EDT)
committer Patrick McDermott <patrick.mcdermott@libiquity.com>2020-06-21 23:45:30 (EDT)
commit4febe6f438f4cfef1a0b8a932ad79cdc2106d671 (patch)
tree125551eb83e5fde18f1c39d6cabf94dcff984ddf
parent888356f8a16d95cd98e99094a3dbf9d442b3ee03 (diff)
ob-*: Architecture-qualify package names
-rw-r--r--NEWS7
-rw-r--r--src/ob-buildopk.sh16
-rw-r--r--src/ob-genchanges.sh3
-rw-r--r--src/ob-gencontrol.sh3
-rw-r--r--src/ob-installdocs.sh7
5 files changed, 26 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index 5e134d5..6a1231f 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,13 @@ Utilities:
instead of "base".
* ob-genchanges now organizes binary packages into sections specified
by "Section" field when present.
+ * Names of packages in certain sections ("lib" on ProteanOS) are now
+ qualified with their host architectures (in the form
+ "<pkg>:<arch>"):
+ - ob-installdocs qualifies names in package documentation
+ directories.
+ - ob-gencontrol qualifies names in "Package" fields.
+ - ob-buildopk and ob-genchanges qualify names in "*.opk" file names.
libopkbuild:
diff --git a/src/ob-buildopk.sh b/src/ob-buildopk.sh
index b781abb..d7486fc 100644
--- a/src/ob-buildopk.sh
+++ b/src/ob-buildopk.sh
@@ -27,12 +27,15 @@ build_opk()
local plat="${4}"
local date="${5}"
shift 5
+ local binary_qual=
local find_not_link=
local touch_noderef=
local sort_r=
+ binary_qual="$(ob_qualify_package_name "${binary}" "${OPK_HOST_ARCH}")"
+
ob_info "$(ob_get_msg 'build_opk')" \
- "${binary}_${version}_${arch}_${plat}.opk"
+ "${binary_qual}_${version}_${arch}_${plat}.opk"
mkdir -p '.opkbuild'
@@ -78,13 +81,14 @@ build_opk()
${TOUCH} -t "${date}" 'control.tar' 'data.tar'
${GZIP} 'control.tar' 'data.tar'
- ${TAR} -cf "../../${binary}_${version}_${arch}_${plat}.tar" \
+ ${TAR} -cf "../../${binary_qual}_${version}_${arch}_${plat}.tar" \
'debian-binary' 'control.tar.gz' 'data.tar.gz'
rm -Rf 'control.tar.gz' 'data.tar.gz'
- ${TOUCH} -t "${date}" "../../${binary}_${version}_${arch}_${plat}.tar"
- ${GZIP} "../../${binary}_${version}_${arch}_${plat}.tar"
- mv "../../${binary}_${version}_${arch}_${plat}.tar.gz" \
- "../../${binary}_${version}_${arch}_${plat}.opk"
+ ${TOUCH} -t "${date}" \
+ "../../${binary_qual}_${version}_${arch}_${plat}.tar"
+ ${GZIP} "../../${binary_qual}_${version}_${arch}_${plat}.tar"
+ mv "../../${binary_qual}_${version}_${arch}_${plat}.tar.gz" \
+ "../../${binary_qual}_${version}_${arch}_${plat}.opk"
return 0
}
diff --git a/src/ob-genchanges.sh b/src/ob-genchanges.sh
index 8290de6..f539e46 100644
--- a/src/ob-genchanges.sh
+++ b/src/ob-genchanges.sh
@@ -87,7 +87,8 @@ write_files_bin()
[ x"${plat}" != x'all' ] && plat="${OPK_HOST_PLAT}"
sect="$(ob_get_binary_parameter "${pkg}" 'Section')"
[ x"${sect}" = x'' ] && sect='base'
- file="${pkg}_${OPK_BINARY_VERSION}_${arch}_${plat}.opk"
+ file="$(ob_qualify_package_name "${pkg}" "${OPK_HOST_ARCH}")"
+ file="${file}_${OPK_BINARY_VERSION}_${arch}_${plat}.opk"
printf ' %s %s %s\n' \
"$(wc -c "../../${file}" | cut -d ' ' -f 1)" \
"${sect}" "${file}" >&3
diff --git a/src/ob-gencontrol.sh b/src/ob-gencontrol.sh
index b6d649e..7d0cc55 100644
--- a/src/ob-gencontrol.sh
+++ b/src/ob-gencontrol.sh
@@ -126,7 +126,8 @@ gen_control_bin()
mkdir -p -- "${binary}.control"
cat >"${binary}.control/control" <<-EOF
- Package: ${binary}
+ Package: $(ob_qualify_package_name "${binary}" \
+ "${OPK_HOST_ARCH}")
Source: ${OPK_SOURCE}
Version: ${version}
Architecture: ${arch}
diff --git a/src/ob-installdocs.sh b/src/ob-installdocs.sh
index f07bfb8..a662a94 100644
--- a/src/ob-installdocs.sh
+++ b/src/ob-installdocs.sh
@@ -79,11 +79,14 @@ main()
return 1
fi
doc_pkg_doc_dir="$(ob_get_system_path 'package-docs' \
- "${doc_pkg}" "${OPK_BINARY_VERSION}")"
+ "$(ob_qualify_package_name "${doc_pkg}" "${OPK_HOST_ARCH}")" \
+ "${OPK_BINARY_VERSION}")"
for pkg in ${OPK_PACKAGES_REDUCED}; do
doc_dir="$(ob_get_system_path 'package-docs' \
- "${pkg}" "${OPK_BINARY_VERSION}")"
+ "$(ob_qualify_package_name "${pkg}" \
+ "${OPK_HOST_ARCH}")" \
+ "${OPK_BINARY_VERSION}")"
data_doc_dir="${pkg}.data/${doc_dir%/}"
if [ x"${pkg}" = x"${doc_pkg}" ]; then
if [ -d "${data_doc_dir}" ]; then