diff options
author | Aaron Ball <nullspoon@oper.io> | 2017-06-23 08:24:19 -0600 |
---|---|---|
committer | Aaron Ball <nullspoon@oper.io> | 2017-06-23 08:24:19 -0600 |
commit | 69ddd48095d34089395df3a48729d18ceb9bd548 (patch) | |
tree | 59eb35c194e4a3bc08b51c39a4eeead63ac280b2 | |
parent | 533cff3fadcf3b4bf2e18fe011459620a2e3b757 (diff) | |
download | portimg-69ddd48095d34089395df3a48729d18ceb9bd548.tar.gz portimg-69ddd48095d34089395df3a48729d18ceb9bd548.tar.xz |
pkgimg:Fixed problem with multiple ports
When a relative PORTSDIR path was used, all ports after the first would
fail because the relative path was wrong after the first build. This
changes the specified path to absolute, which ensures subsequent builds
do not fail for this reason.
-rwxr-xr-x | bin/pkgimg.sh | 5 | ||||
-rwxr-xr-x | bin/pkgmk.sh | 37 |
2 files changed, 41 insertions, 1 deletions
diff --git a/bin/pkgimg.sh b/bin/pkgimg.sh index fdece5a..94cca5c 100755 --- a/bin/pkgimg.sh +++ b/bin/pkgimg.sh @@ -30,12 +30,15 @@ export PORTSDIR=${PORTSDIR:-${BASEDIR}/ports} function main { local manifest=${1:-} + local installbase='' + if [[ -z ${manifest} ]]; then lerror "Please provide a port manifest." return 1 fi - local installbase='' + # Convert portsdir to absolute path + PORTSDIR="$(cd ${PORTSDIR} && pwd)" installbase=$(mktemp -d /tmp/pkgimg-install.XXXX) diff --git a/bin/pkgmk.sh b/bin/pkgmk.sh new file mode 100755 index 0000000..c155297 --- /dev/null +++ b/bin/pkgmk.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +# +# Portimg uses Crux port-like system for creating software deployment images. +# Copyright (C) 2016 Aaron Ball <nullspoon@oper.io> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# +set -eu + +export BASEDIR="$(cd $(dirname ${0})/../ && pwd)" +export LIBDIR="${BASEDIR}/lib" + +source ${LIBDIR}/log.sh +source ${LIBDIR}/config.sh +source ${LIBDIR}/template.sh +source ${LIBDIR}/port.sh + +export PORTSDIR=${PORTSDIR:-${BASEDIR}/ports} + +function main { + local port=${1:-} + [[ -z ${port} ]] && lerror "A port name is required." && return 1 + +} + +main ${@} |