summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Ball <nullspoon@oper.io>2017-06-23 11:25:45 -0600
committerAaron Ball <nullspoon@oper.io>2017-06-23 11:25:45 -0600
commit86a273717e2ab83c3c77b616a7abe0dc96fff766 (patch)
tree65fe36565aa66f4678a7fab97cd176c512c2ad3e
parenta268ade6a60ab9912849f63b115c523f3f168626 (diff)
parentb1bb144bf791e19acc7c662857911103275d9f0f (diff)
downloadportimg-86a273717e2ab83c3c77b616a7abe0dc96fff766.tar.gz
portimg-86a273717e2ab83c3c77b616a7abe0dc96fff766.tar.xz
Merge branch 'manifest-restructure'
-rwxr-xr-xbin/pkgimg.sh31
1 files changed, 26 insertions, 5 deletions
diff --git a/bin/pkgimg.sh b/bin/pkgimg.sh
index 462c0e1..d093c45 100755
--- a/bin/pkgimg.sh
+++ b/bin/pkgimg.sh
@@ -35,6 +35,13 @@ function main {
local _installbase # Path to the temporary image working directory
local _porttmp # Path to the temporary package working directory
+ # Port image variables
+ local _imgname # Name of the image/port collection
+ local _imgdepends # Dependencies to build the port image
+ local _imgversion # Version of the image
+ local _imgrelease # Release number of the image
+ local _imgbuildname # Name of the built image file
+
if [[ -z "${manifest}" ]]; then
lerror "Please specify a port manifest."
return 1
@@ -44,13 +51,22 @@ function main {
return 2
fi
+ source ${manifest}
+ # Set all these variables as the same variables will be set later by port
+ # files
+ _imgname=${name} && unset 'name'
+ _imgdepends=("${depends[@]}") && unset 'depends[@]'
+ _imgversion=${version} && unset 'version'
+ _imgrelease=${release} && unset 'release'
+ _imgbuildname="${_imgname}#${_imgversion}_${_imgrelease}"
+
# Convert portsdir to absolute path
PORTSDIR="$(cd ${PORTSDIR} && pwd)"
- _installbase=$(mktemp -d /tmp/pkgimg-install.XXXX)
+ _installbase=$(mktemp -d /tmp/pkgimg-${_imgbuildname}.XXXX)
# Loop over each port in the manifest
- for port in $(grep -v '^#' ${manifest} | grep -v '^[ ]*$'); do
+ for port in ${_imgdepends[@]}; do
# Call pkgmk to build the port
pkgmk ${port} '_porttmp'
[ $? -gt 0 ] && return 1
@@ -76,9 +92,14 @@ function main {
linfo "Compressing ${_installbase}.tar"
xz -v ${_installbase}.tar
- linfo "Fakeroot filesystem: ${_installbase}"
- linfo "Deployment tarball: ${_installbase}.tar.xz"
- linfo "Tarball footprint: ${_installbase}.footprint"
+ # Move the package and footprint to current directory
+ mv ${_installbase}.tar.xz ${BASEDIR}/${_imgbuildname}.tar.xz
+ mv ${_installbase}.footprint ${BASEDIR}/${_imgbuildname}.footprint
+
+ linfo "Build dir: ${_installbase}"
+ linfo "Deployment tarball: ${BASEDIR}/${_imgbuildname}.tar.xz"
+ linfo "Tarball footprint: ${BASEDIR}/${_imgbuildname}.footprint"
+
}
main ${@}

Generated by cgit