mirror of
https://github.com/outbackdingo/scratchpkg.git
synced 2026-03-19 21:13:28 +00:00
fix and improve
This commit is contained in:
55
pkgbuild
55
pkgbuild
@@ -200,7 +200,7 @@ run_build() {
|
||||
|
||||
pushd $SRC >/dev/null
|
||||
|
||||
(set -e -x; build)
|
||||
(set -e -x; build 2>&1)
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
msgerr "Build '$name-$version-$release' failed."
|
||||
@@ -299,8 +299,11 @@ backupconf() {
|
||||
packaging() {
|
||||
local FILE f
|
||||
|
||||
for f in ${INCLUDEINPKG[@]}; do
|
||||
[ -f $f ] && install -m644 $f $PKG/.pkg$f
|
||||
for FILE in ${INCLUDEINPKG[@]}; do
|
||||
if [ -f $FILE ]; then
|
||||
install -m644 $FILE $PKG/.pkg$FILE
|
||||
addtotar+=(.pkg$FILE)
|
||||
fi
|
||||
done
|
||||
|
||||
pushd $PKG >/dev/null
|
||||
@@ -316,12 +319,6 @@ packaging() {
|
||||
backupconf
|
||||
fi
|
||||
|
||||
for FILE in ${INCLUDEINPKG[@]}; do
|
||||
if [ -f .pkg$FILE ]; then
|
||||
addtotar+=(.pkg$FILE)
|
||||
fi
|
||||
done
|
||||
|
||||
[ "$FORCE_REBUILD" ] && rm -f "$PACKAGE_DIR/$PKGNAME"
|
||||
|
||||
case $COMPRESSION_MODE in
|
||||
@@ -338,9 +335,8 @@ packaging() {
|
||||
fi
|
||||
tar -tvf $PACKAGE_DIR/$PKGNAME | sort -k 6
|
||||
|
||||
pkgsize="$(ls -lh $PACKAGE_DIR/$PKGNAME | awk '{print $5}')"
|
||||
msg "Successfully created package '$PKGNAME'. (${pkgsize})"
|
||||
|
||||
msg "Successfully created package '$PKGNAME'. ($(ls -lh $PACKAGE_DIR/$PKGNAME | awk '{print $5}'))"
|
||||
|
||||
popd >/dev/null
|
||||
|
||||
[ -f .pkgfiles ] || generate_pkgfiles
|
||||
@@ -419,14 +415,14 @@ set_options() {
|
||||
!emptydirs) KEEP_EMPTYDIR=0;;
|
||||
strip) STRIP_BINARY=1 ;;
|
||||
!strip) STRIP_BINARY=0 ;;
|
||||
zipman) ZIP_MAN=1 ;;
|
||||
!zipman) ZIP_MAN=0 ;;
|
||||
buildflags) BUILD_FLAGS=1 ;;
|
||||
!buildflags) BUILD_FLAGS=0 ;;
|
||||
makeflags) MAKE_FLAGS=1 ;;
|
||||
!makeflags) MAKE_FLAGS=0 ;;
|
||||
mdsum) CHECK_MDSUM=1 ;;
|
||||
!mdsum) CHECK_MDSUM=0 ;;
|
||||
zipman) ZIP_MAN=1 ;;
|
||||
!zipman) ZIP_MAN=0 ;;
|
||||
buildflags) BUILD_FLAGS=1 ;;
|
||||
!buildflags) BUILD_FLAGS=0 ;;
|
||||
makeflags) MAKE_FLAGS=1 ;;
|
||||
!makeflags) MAKE_FLAGS=0 ;;
|
||||
mdsum) CHECK_MDSUM=1 ;;
|
||||
!mdsum) CHECK_MDSUM=0 ;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
@@ -555,17 +551,9 @@ main() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$CUSTOM_SOURCE_DIR" ]; then
|
||||
SOURCE_DIR="$CUSTOM_SOURCE_DIR"
|
||||
fi
|
||||
|
||||
if [ "$CUSTOM_PACKAGE_DIR" ]; then
|
||||
PACKAGE_DIR="$CUSTOM_PACKAGE_DIR"
|
||||
fi
|
||||
|
||||
if [ "$CUSTOM_WORK_DIR" ]; then
|
||||
WORK_DIR="$CUSTOM_WORK_DIR"
|
||||
fi
|
||||
[ "$CUSTOM_SOURCE_DIR" ] && SOURCE_DIR="$CUSTOM_SOURCE_DIR"
|
||||
[ "$CUSTOM_PACKAGE_DIR" ] && PACKAGE_DIR="$CUSTOM_PACKAGE_DIR"
|
||||
[ "$CUSTOM_WORK_DIR" ] && WORK_DIR="$CUSTOM_WORK_DIR"
|
||||
|
||||
checkdir "$SOURCE_DIR" "$PACKAGE_DIR" "$WORK_DIR"
|
||||
|
||||
@@ -588,12 +576,11 @@ main() {
|
||||
|
||||
case $COMPRESSION_MODE in
|
||||
gz|bz2|xz) PKGNAME="$name-$version-$release.spkg.tar.$COMPRESSION_MODE" ;;
|
||||
*) msgerr "Invalid compression mode. ($COMPRESSION_MODE)"
|
||||
exit 1 ;;
|
||||
*) msgerr "Invalid compression mode. ($COMPRESSION_MODE)"; exit 1 ;;
|
||||
esac
|
||||
|
||||
# generate .pkgfiles
|
||||
if [ "$GENPKGFILES" = "yes" ]; then
|
||||
if [ "$GENPKGFILES" ]; then
|
||||
generate_pkgfiles
|
||||
exit 0
|
||||
fi
|
||||
|
||||
228
scratch
228
scratch
@@ -297,7 +297,7 @@ scratch_depends() {
|
||||
msgerr "Port '$1' not exist."
|
||||
exit 1
|
||||
fi
|
||||
#isinstalled ${depends[0]}
|
||||
|
||||
for dep in ${depends[@]}; do
|
||||
if isinstalled $dep; then
|
||||
msginst "$dep"
|
||||
@@ -466,30 +466,24 @@ scratch_foreignpkg() {
|
||||
}
|
||||
|
||||
scratch_info() {
|
||||
[ $1 ] || return 0
|
||||
version="-"
|
||||
release="-"
|
||||
iver="-"
|
||||
irel="-"
|
||||
if isinstalled $1; then
|
||||
iver=$(installed_pkg_info version $1)
|
||||
irel=$(installed_pkg_info release $1)
|
||||
INSTALLED=1
|
||||
fi
|
||||
portpath=$(getportpath $1)
|
||||
if [ -n "$portpath" ]; then
|
||||
. $portpath/$BUILD_SCRIPT
|
||||
PORTEXIST=1
|
||||
else
|
||||
portpath="-"
|
||||
fi
|
||||
if [ "$INSTALLED" != 1 ] && [ "$PORTEXIST" != 1 ]; then
|
||||
return 0
|
||||
fi
|
||||
echo -e "name: \t\t$1 \t$([[ $PORTEXIST = 1 ]] || echo \( foreignpkg \))"
|
||||
echo -e "version: \t$version \t( installed: $iver )"
|
||||
echo -e "release: \t$release \t( installed: $irel )"
|
||||
echo -e "port path: \t$portpath"
|
||||
needarg $@
|
||||
local pkg=$1
|
||||
ppath=$(getportpath $pkg) || return 1
|
||||
|
||||
. $ppath/$BUILD_SCRIPT
|
||||
desc=$(grep "^# description[[:blank:]]*:" $ppath/$BUILD_SCRIPT | sed 's/^# description[[:blank:]]*:[[:blank:]]*//')
|
||||
url=$(grep "^# homepage[[:blank:]]*:" $ppath/$BUILD_SCRIPT | sed 's/^# homepage[[:blank:]]*:[[:blank:]]*//')
|
||||
maint=$(grep "^# maintainer[[:blank:]]*:" $ppath/$BUILD_SCRIPT | sed 's/^# maintainer[[:blank:]]*:[[:blank:]]*//')
|
||||
deps=$(get_depends $pkg | tr '\n' ' ')
|
||||
|
||||
echo -e "Name: $pkg"
|
||||
echo -e "Path: $ppath"
|
||||
echo -e "Version: $version"
|
||||
echo -e "Release: $release"
|
||||
echo -e "Description: $desc"
|
||||
echo -e "Homepage: $url"
|
||||
echo -e "Maintainer: $maint"
|
||||
echo -e "Dependencies: $deps"
|
||||
}
|
||||
|
||||
scratch_trigger() {
|
||||
@@ -730,36 +724,29 @@ pre_triggers() {
|
||||
}
|
||||
|
||||
scratch_build() {
|
||||
local OPTS
|
||||
if [ -z "$1" ]; then
|
||||
echo "Please specify package to build."
|
||||
return 1
|
||||
fi
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^-(f|w|m|o|x|l)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(force-rebuild|skip-mdsum|download|extract|keep-work|redownload|log)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(pkgdir|srcdir|logdir|workdir)=* ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
return 1
|
||||
else
|
||||
PKGNAME=$1
|
||||
fi
|
||||
case $1 in
|
||||
-i|-u|-r) continue;;
|
||||
-*) OPTS+=($1);;
|
||||
*) PKGNAME+=($1);;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
pushd $(getportpath $PKGNAME)
|
||||
if [ $? = 0 ]; then
|
||||
settermtitle "Building $PKGNAME..."
|
||||
pkgbuild ${OPTS[@]} || return 1
|
||||
settermtitle "Building $PKGNAME done"
|
||||
else
|
||||
echo "Package '$PKGNAME' not found."
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
for P in ${PKGNAME[@]}; do
|
||||
pushd $(getportpath $P)
|
||||
if [ $? = 0 ]; then
|
||||
settermtitle "Building $P..."
|
||||
pkgbuild ${OPTS[@]} || {
|
||||
settermtitle "Building $P failed"
|
||||
return 1
|
||||
}
|
||||
settermtitle "Building $P done"
|
||||
else
|
||||
echo "Package '$P' not found."
|
||||
return 1
|
||||
fi
|
||||
popd
|
||||
done
|
||||
}
|
||||
|
||||
scratch_install() {
|
||||
@@ -767,34 +754,23 @@ scratch_install() {
|
||||
|
||||
needroot "Installing package"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
while [ "$1" ]; do
|
||||
case $1 in
|
||||
-i|-u) ;;
|
||||
-r) REINSTALL=1;;
|
||||
-y|--yes) NOCONFIRM=1;;
|
||||
-n|--no-dep) NO_DEP=1;;
|
||||
--exclude=*) EXOPT=$1;;
|
||||
-*) OPTS+=($1);;
|
||||
*) PKGNAME+=($1);;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$PKGNAME" ]; then
|
||||
echo "Please specify package(s) to install."
|
||||
return 1
|
||||
fi
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^-(c|v|l|-verbose|-ignore-conflict|-no-backup|-log)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(srcdir|pkgdir|logdir|workdir)=* ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--exclude=* ]]; then
|
||||
EXOPT=$1
|
||||
elif [[ "$1" =~ ^--(no-preinstall|no-postinstall)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(r|-reinstall)$ ]]; then
|
||||
OPTS+=($1)
|
||||
REINSTALL=1
|
||||
elif [[ "$1" =~ ^-(d|-no-dep)$ ]]; then
|
||||
NO_DEP=1
|
||||
elif [[ "$1" = "--yes" ]] || [[ "$1" = "-y" ]]; then
|
||||
NOCONFIRM=1
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
return 1
|
||||
else
|
||||
PKGNAME+=($1)
|
||||
fi
|
||||
shift
|
||||
done
|
||||
# use custom root location
|
||||
if [ "$ROOT_DIR" ]; then
|
||||
OPTS+=(--root=$ROOT_DIR)
|
||||
@@ -809,7 +785,7 @@ scratch_install() {
|
||||
else
|
||||
pushd $(getportpath $ii)
|
||||
settermtitle "Reinstalling $ii..."
|
||||
pkgbuild ${OPTS[@]}
|
||||
pkgbuild ${OPTS[@]} -r
|
||||
if [ $? != 0 ]; then
|
||||
error=1
|
||||
break
|
||||
@@ -935,23 +911,19 @@ scratch_remove() {
|
||||
|
||||
needroot "Removing package"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
while [ "$1" ]; do
|
||||
case $1 in
|
||||
-y|--yes) NOCONFIRM=1;;
|
||||
-*) OPTS+=($1);;
|
||||
*) PKGNAME+=($1);;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$PKGNAME" ]; then
|
||||
echo "Please specify package(s) to remove."
|
||||
return 1
|
||||
fi
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^--(no-postremove|no-preremove)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" = "--yes" ]] || [[ "$1" = "-y" ]]; then
|
||||
NOCONFIRM=1
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
return 1
|
||||
else
|
||||
PKGNAME+=($1)
|
||||
fi
|
||||
shift
|
||||
done
|
||||
# use custom root location
|
||||
if [ "$ROOT_DIR" ]; then
|
||||
OPTS+=(--root=$ROOT_DIR)
|
||||
@@ -1001,24 +973,14 @@ scratch_sysup() {
|
||||
needroot "Upgrading package"
|
||||
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^--(no-postupgrade|no-preupgrade|no-backup|log)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(srcdir|pkgdir|logdir|workdir)=* ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--exclude=* ]]; then
|
||||
EXOPT=$1
|
||||
elif [[ "$1" =~ ^-(c|v|l|-verbose|-ignore-conflict)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [ "$1" = "--yes" ] || [ "$1" = "-y" ]; then
|
||||
NOCONFIRM=1
|
||||
elif [ "$1" = "--no-dep" ] || [ "$1" = "-d" ]; then
|
||||
NODEP=1
|
||||
elif [ "$1" = "--sync" ] || [ "$1" = "-s" ]; then
|
||||
SYNC=1
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
exit 1
|
||||
fi
|
||||
case $1 in
|
||||
-i|-u|-r) ;;
|
||||
-y|--yes) NOCONFIRM=1;;
|
||||
-d|--no-dep) NODEP=1;;
|
||||
-s|--sync) SYNC=1;;
|
||||
--exclude=*) EXOPT+=($1);;
|
||||
-*) OPTS+=($1);;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
@@ -1111,28 +1073,22 @@ scratch_upgrade() {
|
||||
|
||||
needroot "Upgrading package"
|
||||
|
||||
needarg "$@"
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^--(no-postupgrade|no-preupgrade|no-backup|log)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(srcdir|pkgdir|logdir|workdir)=* ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--exclude=* ]]; then
|
||||
EXOPT=$1
|
||||
elif [[ "$1" =~ ^-(c|v|l|-ignore-conflict|-verbose) ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(-no-dep|d)$ ]]; then
|
||||
NO_DEP=1
|
||||
elif [[ "$1" = "--yes" ]] || [[ "$1" = "-y" ]]; then
|
||||
NOCONFIRM=1
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
exit 1
|
||||
else
|
||||
PKGNAME+=($1)
|
||||
fi
|
||||
case $1 in
|
||||
-y|--yes) NOCONFIRM=1;;
|
||||
-d|--no-dep) NO_DEP=1;;
|
||||
--exclude=*) EXOPT=$1;;
|
||||
-*) OPTS+=($1);;
|
||||
*) PKGNAME+=($1);;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$PKGNAME" ]; then
|
||||
echo "Please specify package(s) to remove."
|
||||
return 1
|
||||
fi
|
||||
|
||||
# use custom root location
|
||||
if [ "$ROOT_DIR" ]; then
|
||||
OPTS+=(--root=$ROOT_DIR)
|
||||
@@ -1256,7 +1212,7 @@ scratch_outdate() {
|
||||
fi
|
||||
done
|
||||
|
||||
[ ! "$OUTDATE" ] && msg "All package is up to date."
|
||||
[ ! "$OUTDATE" ] && msg "All packages are up to date."
|
||||
}
|
||||
|
||||
clearpkgcache() {
|
||||
@@ -1670,12 +1626,12 @@ shift
|
||||
|
||||
for opt in $@; do
|
||||
case $opt in
|
||||
--nocolor) nocolor ;;
|
||||
--repo=*) PORT_REPO+=(${opt#*=}) ;;
|
||||
--root=*) ROOT_DIR=(${opt#*=}) ;;
|
||||
--*) MAINOPTS+=($opt) ;;
|
||||
-*) for (( i=1; i<${#opt}; i++ )); do MAINOPTS+=(-${opt:$i:1}); done ;;
|
||||
*) MAINOPTS+=($opt) ;;
|
||||
--nocolor) nocolor;;
|
||||
--repo=*) PORT_REPO+=(${opt#*=});;
|
||||
--root=*) ROOT_DIR=(${opt#*=});;
|
||||
--*) MAINOPTS+=($opt);;
|
||||
-*) for (( i=1; i<${#opt}; i++ )); do MAINOPTS+=(-${opt:$i:1}); done;;
|
||||
*) MAINOPTS+=($opt);;
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
Reference in New Issue
Block a user