aboutsummaryrefslogtreecommitdiff
path: root/apkg
diff options
context:
space:
mode:
Diffstat (limited to 'apkg')
-rwxr-xr-xapkg73
1 files changed, 20 insertions, 53 deletions
diff --git a/apkg b/apkg
index 74cb171..2fdb581 100755
--- a/apkg
+++ b/apkg
@@ -81,7 +81,7 @@ remove_workdir() {
ret() {
[ "$APKG_KEEP_WORKDIR" ] || remove_workdir
- exit $1
+ exit ${1:-0}
}
detect_buildtype() {
@@ -386,7 +386,7 @@ build_src() {
}
fi
- if [ ! -f "$HERE"/.files ] || [ "$HERE"/abuild -nt "$HERE"/.files ]; then
+ if [ ! -f "$lists_file" ] || [ "$build_file" -nt "$lists_file" ]; then
pkg_updatefiles
fi
@@ -400,13 +400,13 @@ pkg_updatefiles() {
ret 1
fi
msg "filelist updated."
- tar -tvf $packagefile | awk '{$3=$4=$5=""; print $0}' | sort -k 3 > "$HERE"/.files
+ tar -tvf $packagefile | awk '{$3=$4=$5=""; print $0}' | sort -k 3 > "$lists_file"
}
pkg_path() {
for p in $@; do
for r in $APKG_REPO; do
- [ -f $r/$p/abuild ] && {
+ [ -f $r/$p/${build_file##*/} ] && {
printf "%s\n" $r/$p
break
}
@@ -491,7 +491,7 @@ pkg_outdate() {
}
fi
[ "$(pkg_path $n)" ] || continue
- nv="$(grep ^version= $(pkg_path $n)/abuild | tail -n1 | awk -F = '{print $2}')-$(grep ^release= $(pkg_path $n)/abuild | awk -F = '{print $2}')"
+ nv="$(grep ^version= $(pkg_path $n)/${build_file##*/} | tail -n1 | awk -F = '{print $2}')-$(grep ^release= $(pkg_path $n)/${build_file##*/} | awk -F = '{print $2}')"
[ "$nv" ] || continue
[ "$v" = "$nv" ] || printf "%s\n" "$n $v -> $nv"
done
@@ -545,9 +545,9 @@ pkg_search() {
grep=cat
fi
[ "$verbose" ] && {
- find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep | while read line; do printf "$line "; awk -F'=' '/^version/ {print $2}' $($APKG -p $line)/abuild ; done
+ find $APKG_REPO -type f -name ${build_file##*/} 2>/dev/null | sed "s|/${build_file##*/}||" | rev | awk -F / '{print $1}' | rev | $grep | while read line; do printf "$line "; awk -F'=' '/^version/ {print $2}' $($APKG -p $line)/abuild ; done
} || {
- find $APKG_REPO -type f -name abuild 2>/dev/null | sed 's|/abuild||' | rev | awk -F / '{print $1}' | rev | $grep
+ find $APKG_REPO -type f -name ${build_file##*/} 2>/dev/null | sed "s|/${build_file##*/}||" | rev | awk -F / '{print $1}' | rev | $grep
}
}
@@ -882,9 +882,7 @@ options:
environment variables:
APKG_ROOT override default root (${APKG_ROOT:-/}) location
- APKG_CONF override default $APKG_CONF location
APKG_NOPROMPT set the variable for non-interactive use
- APKG_LOG set the variable for logging the output to a file
EOF
exit 0
@@ -904,7 +902,7 @@ main() {
exit 0
fi
- for d in $APKG_PACKAGE_DIR $APKG_SOURCE_DIR $APKG_WORK_DIR $APKG_LOG_DIR; do
+ for d in $APKG_PACKAGE_DIR $APKG_SOURCE_DIR $APKG_WORK_DIR; do
[ -d "$d" ] || { msg "Directory '$d' not exist"; exit 1; }
[ -w "$d" ] || { msg "Directory '$d' dont have write access"; exit 1; }
done
@@ -920,12 +918,12 @@ main() {
exit 0
fi
- if [ ! -f ./abuild ]; then
+ if [ ! -f "${build_file}" ]; then
msg "'abuild' not found."
exit 1
fi
- . ./abuild
+ . ${build_file}
[ "$name" ] || die "name is empty"
[ "$version" ] || die "version is empty"
[ "$release" ] || die "release is empty"
@@ -933,8 +931,7 @@ main() {
msg "'name' should be same as package directory name (${PWD##*/})."
exit 1
}
-
- logfile="$APKG_LOG_DIR"/$name.log
+
packagefile="$APKG_PACKAGE_DIR"/$name#$version-$release.spm
if [ "$install" ] && [ -s "$SPM_PKGDB/${PWD##*/}" ]; then
@@ -979,11 +976,7 @@ main() {
fetch_src
checksum_src
extract_src
- [ "$APKG_LOG" ] && {
- build_src 2>&1 | tee -- "$logfile"
- } || {
- build_src
- }
+ build_src
fi
if [ "$install" ]; then
@@ -1003,42 +996,16 @@ umask 022
export HERE="$PWD"
-APKG=$0
-SPM_PKGDB="${APKG_ROOT%/}/var/lib/spm/db"
-
-# for apkg config, either override or default
-APKG_CONF="${APKG_CONF:-/etc/apkg.conf}"
-
-## NEED BETTER WAY TO DO THIS?
-# environment override
-O_APKG_REPO=$APKG_REPO
-O_APKG_PACKAGE_DIR=$APKG_PACKAGE_DIR
-O_APKG_SOURCE_DIR=$APKG_SOURCE_DIR
-O_APKG_WORK_DIR=$APKG_WORK_DIR
-O_APKG_LOG_DIR=$APKG_LOG_DIR
-O_APKG_MASK=$APKG_MASK
-
-# default value
-APKG_REPO="$PWD"
-APKG_PACKAGE_DIR="$PWD"
-APKG_SOURCE_DIR="$PWD"
-APKG_WORK_DIR="$PWD"
-APKG_LOG_DIR="$PWD"
-
checksum_file="$HERE/.checksum"
+lists_file="$HERE/.files"
+build_file="$HERE/abuild"
-# source config
-if [ -f "$APKG_CONF" ]; then
- . "$APKG_CONF"
-fi
-
-# reset value, use override first, else either from config or use default
-APKG_REPO=${O_APKG_REPO:-$APKG_REPO}
-APKG_PACKAGE_DIR=${O_APKG_PACKAGE_DIR:-$APKG_PACKAGE_DIR}
-APKG_SOURCE_DIR=${O_APKG_SOURCE_DIR:-$APKG_SOURCE_DIR}
-APKG_WORK_DIR=${O_APKG_WORK_DIR:-$APKG_WORK_DIR}
-APKG_LOG_DIR=${O_APKG_LOG_DIR:-$APKG_LOG_DIR}
-APKG_MASK=${O_APKG_MASK:-$APKG_MASK}
+APKG=$0
+SPM_PKGDB="${APKG_ROOT%/}/var/lib/spm/db"
+APKG_REPO="${APKG_REPO:-$PWD}"
+APKG_PACKAGE_DIR="${APKG_PACKAGE_DIR:-$PWD}"
+APKG_SOURCE_DIR="${APKG_SOURCE_DIR:-$PWD}"
+APKG_WORK_DIR="${APKG_WORK_DIR:-$PWD}"
main "$@"