From 69ddd48095d34089395df3a48729d18ceb9bd548 Mon Sep 17 00:00:00 2001 From: Aaron Ball Date: Fri, 23 Jun 2017 08:24:19 -0600 Subject: 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. --- bin/pkgimg.sh | 5 ++++- bin/pkgmk.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100755 bin/pkgmk.sh 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 +# +# 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 . +# +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 ${@} -- cgit v1.2.3