mirror of
https://github.com/outbackdingo/scratchpkg.git
synced 2026-02-06 01:16:34 +00:00
updated
This commit is contained in:
3
pkgadd
3
pkgadd
@@ -86,8 +86,9 @@ Options:
|
||||
--no-preupgrade skip preupgrade script before upgrade package
|
||||
--no-postupgrade skip postupgrade script after upgrade package
|
||||
--no-backup skip backup when upgrading package
|
||||
--no-hook skip executing hook
|
||||
--no-hook skip trigger hook
|
||||
--root=<path> install to custom root directory
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
81
pkgbuild
81
pkgbuild
@@ -234,7 +234,9 @@ run_build() {
|
||||
|
||||
pushd $SRC >/dev/null
|
||||
|
||||
runprebuildscript
|
||||
if [ "$NO_PREBUILD" != yes ]; then
|
||||
runprebuildscript
|
||||
fi
|
||||
|
||||
if [ "$LOGGING" = yes ]; then
|
||||
(
|
||||
@@ -450,38 +452,6 @@ checkdir() {
|
||||
done
|
||||
}
|
||||
|
||||
help() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
$(basename $0) [ <options> <arguments> ]
|
||||
|
||||
Options:
|
||||
-i, --install install package into system
|
||||
-u, --upgrade upgrade package
|
||||
-r, --reinstall reinstall package
|
||||
-c, --ignore-conflict ignore conflict when installing package
|
||||
-v, --verbose verbose install process
|
||||
-f, --force-rebuild rebuild package
|
||||
-m, --skip-mdsum skip md5sum checking
|
||||
-g, --genmdsum generate md5sum
|
||||
-o, --download download only source file
|
||||
-x, --extract extract only source file
|
||||
-w, --keep-work keep working directory
|
||||
-s, --silent print install message in simple format
|
||||
-h, --help show this help message
|
||||
--srcdir=<path> override directory path for sources
|
||||
--pkgdir=<path> override directory path for compiled package
|
||||
--no-prebuild skip prebuild script before build package
|
||||
--no-preinstall skip preinstall script before install package
|
||||
--no-postinstall skip postinstall script after install package
|
||||
--no-preupgrade skip preupgrade script before upgrade package
|
||||
--no-postupgrade skip postupgrade script after upgrade package
|
||||
--no-color disable color
|
||||
--no-backup skip backup configuration file when upgrading package
|
||||
--redownload re-download source file
|
||||
EOF
|
||||
}
|
||||
|
||||
clearworkdir() {
|
||||
if [ ! "$KEEP_WORK" ]; then
|
||||
rm -fr $WORK_DIR/$name
|
||||
@@ -524,26 +494,59 @@ parse_opts() {
|
||||
-o | --download) DOWNLOAD_ONLY=yes ;;
|
||||
-x | --extract) EXTRACT_ONLY=yes ;;
|
||||
-w | --keep-work) KEEP_WORK=yes ;;
|
||||
-s | --silent) INST_OPT=$1 ;;
|
||||
-l | --log) LOGGING=yes ;;
|
||||
-h | --help) SHOWHELP=yes ;;
|
||||
--no-prebuild) NO_PREBUILD=yes ;;
|
||||
--no-preinstall) NO_PREINSTALL=yes; OPTS+=($1) ;;
|
||||
--no-postinstall) OPTS+=($1) ;;
|
||||
--no-preupgrade) OPTS+=($1) ;;
|
||||
--no-postupgrade) OPTS+=($1) ;;
|
||||
--no-hook) OPTS+=($1) ;;
|
||||
--no-color) NOCOLOR=yes; OPTS+=($1) ;;
|
||||
--no-backup) OPTS+=($1) ;;
|
||||
--redownload) REDOWNLOAD_SOURCE=yes ;;
|
||||
--check-source) SOURCE_CHECK=yes ;;
|
||||
--srcdir=*) SOURCE_DIR="${1#*=}" ;;
|
||||
--pkgdir=*) PACKAGE_DIR="${1#*=}" ;;
|
||||
--logdir=*) LOG_DIR="${1#*=}" ;;
|
||||
*) msg "Invalid $(basename $0) option! ($1)"; exit 1 ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
help() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
$(basename $0) [ <options> <arguments> ]
|
||||
|
||||
Options:
|
||||
-i, --install install package into system
|
||||
-u, --upgrade upgrade package
|
||||
-r, --reinstall reinstall package
|
||||
-c, --ignore-conflict ignore conflict when installing package
|
||||
-v, --verbose verbose install process
|
||||
-f, --force-rebuild rebuild package
|
||||
-m, --skip-mdsum skip md5sum checking
|
||||
-g, --genmdsum generate md5sum
|
||||
-o, --download download only source file
|
||||
-x, --extract extract only source file
|
||||
-w, --keep-work keep working directory
|
||||
-l, --log log build process
|
||||
-h, --help show this help message
|
||||
--srcdir=<path> override directory path for sources
|
||||
--pkgdir=<path> override directory path for compiled package
|
||||
--logdir=<path> override directory path for build logs
|
||||
--no-prebuild skip prebuild script before build package
|
||||
--no-preinstall skip preinstall script before install package
|
||||
--no-postinstall skip postinstall script after install package
|
||||
--no-preupgrade skip preupgrade script before upgrade package
|
||||
--no-postupgrade skip postupgrade script after upgrade package
|
||||
--no-hook skip trigger hook
|
||||
--no-backup skip backup configuration file when upgrading package
|
||||
--redownload re-download source file
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
main() {
|
||||
|
||||
if [ -f $PKGBUILD_CONF ]; then
|
||||
@@ -580,10 +583,10 @@ main() {
|
||||
msgerr "Option '--pkgdir=' need argument (path)"
|
||||
exit 1
|
||||
fi
|
||||
checkdir "$SOURCE_DIR" "$PACKAGE_DIR" "$WORK_DIR"
|
||||
checkdir "$SOURCE_DIR" "$PACKAGE_DIR" "$WORK_DIR" "$LOG_DIR"
|
||||
|
||||
if [ -f $LOG_DIR/$name-$version-$release.log ] && [ ! -w $LOG_DIR/$name-$version-$release.log ]; then
|
||||
msgerr "You dont have write permission for '$LOG_DIR/$name-$version-$release.log'!"
|
||||
if [ "$LOGGING" = yes ] && [ -f $LOG_DIR/$name-$version-$release.log ] && [ ! -w $LOG_DIR/$name-$version-$release.log ]; then
|
||||
msgerr "You dont have write permission for '$LOG_DIR/$name-$version-$release.log'."
|
||||
abort 1
|
||||
fi
|
||||
|
||||
|
||||
1
pkgdel
1
pkgdel
@@ -86,6 +86,7 @@ Options:
|
||||
--no-postremove don't run post-remove script
|
||||
--no-hook skip executing hook
|
||||
--root=<path> remove package from custom root directory
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
184
scratch
184
scratch
@@ -221,22 +221,17 @@ checkintegrity() {
|
||||
}
|
||||
|
||||
listinstalled() {
|
||||
local pkg
|
||||
local pkg
|
||||
for pkg in $(allinstalled); do
|
||||
iname=$(installed_pkg_info name $pkg)
|
||||
iversion=$(installed_pkg_info version $pkg)
|
||||
irelease=$(installed_pkg_info release $pkg)
|
||||
echo -e "$iname ${GREEN}$iversion${CRESET}-${BLUE}$irelease${CRESET}"
|
||||
unset iname iversion irelease
|
||||
done
|
||||
echo $pkg
|
||||
done
|
||||
}
|
||||
|
||||
listorphan() {
|
||||
local pkg dep
|
||||
tmpallpkg=$(mktemp)
|
||||
tmpalldep=$(mktemp)
|
||||
for pkg in $INDEX_DIR/*/.pkginfo; do
|
||||
pkg=$(basename $(dirname $pkg))
|
||||
for pkg in $(allinstalled); do
|
||||
echo $pkg >> $tmpallpkg
|
||||
dep="$dep $(grep "^# depends[[:blank:]]*:" $(getportpath $pkg)/$BUILD_SCRIPT 2>/dev/null | sed 's/^# depends[[:blank:]]*:[[:blank:]]*//' | tr ' ' '\n' | awk '!a[$0]++')"
|
||||
done
|
||||
@@ -278,8 +273,7 @@ unlockpkg() {
|
||||
}
|
||||
|
||||
listlocked() {
|
||||
local pkg
|
||||
|
||||
local pkg
|
||||
for pkg in $(allinstalled); do
|
||||
if [ -f "$INDEX_DIR"/$pkg/.lock ]; then
|
||||
echo -e "$pkg"
|
||||
@@ -434,7 +428,6 @@ searchpkg() {
|
||||
}
|
||||
|
||||
foreignpkg() {
|
||||
|
||||
for pkg in $(allinstalled); do
|
||||
if ! getportpath $pkg >/dev/null; then
|
||||
iname=$(installed_pkg_info name $pkg)
|
||||
@@ -443,12 +436,11 @@ foreignpkg() {
|
||||
echo -e "$iname ${GREEN}$iversion${CRESET}-${CYAN}$irelease${CRESET}"
|
||||
fi
|
||||
unset iname iversion irelease
|
||||
done
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
srunhooks() {
|
||||
local hook
|
||||
local hooks
|
||||
if [ "$mode" = "upgrade" ] || [ "$mode" = "sysup" ]; then
|
||||
opr=upgrade
|
||||
else
|
||||
@@ -525,11 +517,11 @@ buildpkg() {
|
||||
return 1
|
||||
fi
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^-(f|v|w|m|o|x|l)$ ]]; then
|
||||
if [[ "$1" =~ ^-(f|w|m|o|x|l)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(no-prebuild|force-rebuild|skip-mdsum|download|extract|keep-work|log)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(pkgdir|srcdir)= ]]; then
|
||||
elif [[ "$1" =~ ^--(pkgdir|srcdir|logdir)= ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
@@ -561,7 +553,9 @@ installpkg() {
|
||||
return 1
|
||||
fi
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^-(c|v|l|-verbose|-ignore-conflict|-log)$ ]]; then
|
||||
if [[ "$1" =~ ^-(c|v|-verbose|-ignore-conflict)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^--(no-preinstall|no-postinstall) ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(r|-reinstall)$ ]]; then
|
||||
OPTS+=($1)
|
||||
@@ -587,6 +581,7 @@ installpkg() {
|
||||
echo "Package '$ii' not installed."
|
||||
else
|
||||
pushd $(getportpath $ii)
|
||||
settermtitle "Reinstalling $ii..."
|
||||
pkgbuild --no-hook ${OPTS[@]}
|
||||
if [ $? != 0 ]; then
|
||||
error=1
|
||||
@@ -596,7 +591,9 @@ installpkg() {
|
||||
popd
|
||||
fi
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
settermtitle "Reinstalling done"
|
||||
[ "$error" = 1 ] && return 1 || return 0
|
||||
fi
|
||||
if [ "$NO_DEP" = 1 ]; then
|
||||
@@ -608,6 +605,7 @@ installpkg() {
|
||||
return 0
|
||||
else
|
||||
pushd $(getportpath $ii)
|
||||
settermtitle "Installing $ii..."
|
||||
pkgbuild -i --no-hook ${OPTS[@]}
|
||||
if [ $? != 0 ]; then
|
||||
error=1
|
||||
@@ -617,7 +615,9 @@ installpkg() {
|
||||
popd
|
||||
fi
|
||||
done
|
||||
settermtitle "Triggering install hook"
|
||||
srunhooks ${done_pkg[@]}
|
||||
settermtitle "Installing done"
|
||||
[ "$error" = 1 ] && return 1 || return 0
|
||||
fi
|
||||
for i in ${PKGNAME[@]}; do
|
||||
@@ -763,14 +763,27 @@ sysup() {
|
||||
needroot "Upgrading package"
|
||||
|
||||
while [ "$1" ]; do
|
||||
if [ "$1" = "--yes" ] || [ "$1" = "-y" ]; then
|
||||
NOCONFIRM=1
|
||||
elif [ "$1" = "--no-backup" ]; then
|
||||
if [[ "$1" =~ ^--(no-postupgrade|no-preupgrade|no-backup)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(c|v|-verbose|-ignore-conflict)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [ "$1" = "--yes" ] || [ "$1" = "-y" ]; then
|
||||
NOCONFIRM=1
|
||||
elif [ "$1" = "--np-dep" ] || [ "$1" = "-d" ]; then
|
||||
NODEP=1
|
||||
elif [ "$1" = "--sync" ] || [ "$1" = "-s" ]; then
|
||||
SYNC=1
|
||||
elif [[ "$1" =~ ^-. ]]; then
|
||||
echo "Unrecognize option. ($1)"
|
||||
exit 1
|
||||
fi
|
||||
shift
|
||||
done
|
||||
|
||||
if [ "$SYNC" = 1 ]; then
|
||||
updports
|
||||
fi
|
||||
|
||||
echo "Checking for outdated packages..."
|
||||
PKGOUTDATE=$(outdatepkg)
|
||||
|
||||
@@ -778,23 +791,33 @@ sysup() {
|
||||
echo "All package is up to date."
|
||||
return 0
|
||||
fi
|
||||
echo "Resolving dependencies..."
|
||||
DEP=$(pkgdeplist ${PKGOUTDATE[@]} -l | awk '{print $2}')
|
||||
echo
|
||||
|
||||
|
||||
UPGPKG=0
|
||||
NEWPKG=0
|
||||
for d in $DEP; do
|
||||
if [ "$(echo $PKGOUTDATE | tr ' ' '\n' | grep -x $d)" = "$d" ]; then
|
||||
echo -ne "[${GREEN}u${CRESET}] $d "
|
||||
WILLINSTALL+=($d)
|
||||
|
||||
if [ "$NODEP" != 1 ]; then
|
||||
echo "Resolving dependencies..."
|
||||
DEP=$(pkgdeplist ${PKGOUTDATE[@]} -l | awk '{print $2}')
|
||||
echo
|
||||
for d in $DEP; do
|
||||
if [ "$(echo $PKGOUTDATE | tr ' ' '\n' | grep -x $d)" = "$d" ]; then
|
||||
echo -ne "[${GREEN}u${CRESET}] $d "
|
||||
WILLINSTALL+=($d)
|
||||
UPGPKG=$(( $UPGPKG + 1 ))
|
||||
elif ! isinstalled $d && [ $(getportpath "$d") ]; then
|
||||
echo -ne "[${CYAN}n${CRESET}] $d "
|
||||
WILLINSTALL+=($d)
|
||||
NEWPKG=$(( $NEWPKG + 1 ))
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo
|
||||
for dd in ${PKGOUTDATE[@]}; do
|
||||
echo -ne "[${GREEN}u${CRESET}] $dd "
|
||||
WILLINSTALL+=($dd)
|
||||
UPGPKG=$(( $UPGPKG + 1 ))
|
||||
elif ! isinstalled $d && [ $(getportpath "$d") ]; then
|
||||
echo -ne "[${CYAN}n${CRESET}] $d "
|
||||
WILLINSTALL+=($d)
|
||||
NEWPKG=$(( $NEWPKG + 1 ))
|
||||
fi
|
||||
done
|
||||
done
|
||||
fi
|
||||
echo
|
||||
echo
|
||||
echo "( $UPGPKG upgrade, $NEWPKG new install )"
|
||||
@@ -841,7 +864,9 @@ upgradepkg() {
|
||||
|
||||
needarg "$@"
|
||||
while [ "$1" ]; do
|
||||
if [[ "$1" =~ ^--(no-postupgrade|no-preupgrade)$ ]]; then
|
||||
if [[ "$1" =~ ^--(no-postupgrade|no-preupgrade|no-backup)$ ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(c|v|-ignore-conflict|-verbose) ]]; then
|
||||
OPTS+=($1)
|
||||
elif [[ "$1" =~ ^-(-no-dep|d)$ ]]; then
|
||||
NO_DEP=1
|
||||
@@ -1099,30 +1124,29 @@ duplicateports() {
|
||||
usage_extra() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
$(basename $0) <operation> [ <pkgname/pattern/file> ]
|
||||
$(basename $0) <operation> [ <port/pattern/file> ]
|
||||
|
||||
Operation:
|
||||
depends <package> show depends of a package
|
||||
search <pattern> search packages in port's repos
|
||||
lock <packages> lock packages from upgrade
|
||||
unlock <packages> unlock packages from upgrade
|
||||
cat <package> view a package build scripts
|
||||
dependent <package> show package's dependent
|
||||
own <file> show package's owner of file
|
||||
pkgtree <package> show list files of installed package
|
||||
path <package> show package's buildscripts path
|
||||
sync update port's repo
|
||||
sysup full system update
|
||||
dup print duplicate ports in repo
|
||||
readme print readme file if exist
|
||||
listinst list installed package in system
|
||||
listorphan list orphan package
|
||||
integrity check integrity of package's files
|
||||
outdate check for outdate packages
|
||||
cache print leftover cache
|
||||
missingdep check for mising dependency of installed package
|
||||
foreignpkg print package installed without port in repo
|
||||
listlocked print locked packages
|
||||
depends <port> show depends of a package
|
||||
search <pattern> search packages in port's repos
|
||||
lock <port> lock packages from upgrade
|
||||
unlock <port> unlock packages from upgrade
|
||||
cat <port> view a package build scripts
|
||||
dependent <port> show package's dependent
|
||||
own <file> show package's owner of file
|
||||
files <port> show list files of installed package
|
||||
path <port> show package's buildscripts path
|
||||
readme <port> print readme file if exist
|
||||
sync update port's repo
|
||||
dup print duplicate ports in repo
|
||||
listinst list installed package in system
|
||||
listorphan list orphan package
|
||||
integrity check integrity of package's files
|
||||
outdate check for outdated packages
|
||||
cache print leftover cache
|
||||
missingdep check for mising dependency of installed package
|
||||
foreignpkg print package installed without port in repo
|
||||
listlocked print locked packages
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -1135,15 +1159,15 @@ Usage:
|
||||
Options:
|
||||
-f, --force-rebuild force rebuild
|
||||
-m, --skip-mdsum skip md5sum check for sources
|
||||
-d, --no-dep skip dependency check
|
||||
-e, --extract extract only
|
||||
-x, --extract extract only
|
||||
-w, --keep-work keep woring directory
|
||||
-o, --download download source files only
|
||||
-v, --verbose be verbose
|
||||
-l, --log log build process
|
||||
--redownload re-download source files
|
||||
--srcdir=<path> override default SOURCE_DIR
|
||||
--pkgdir=<path> override default PACKAGE_DIR
|
||||
--no-preinstall skip pre-install script
|
||||
--logdir=<path> override default LOG_DIR
|
||||
--no-prebuild skip pre-build script
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -1157,10 +1181,28 @@ Options:
|
||||
-d, --no-dep skip installing dependencies (new dependencies)
|
||||
-c, --ignore-conflict skip file conflict check
|
||||
-v, --verbose print install process
|
||||
-y, --yes dont ask confirmation
|
||||
--no-backup skip backup configuration file
|
||||
--no-preupgrade skip pre-upgrade script
|
||||
--no-postupgrade skip post-upgrade script
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
usage_sysup() {
|
||||
cat << EOF
|
||||
Usage:
|
||||
$(basename $0) sysup <options>
|
||||
|
||||
Options:
|
||||
-d, --no-dep skip installing dependencies (new dependencies)
|
||||
-c, --ignore-conflict skip file conflict check
|
||||
-v, --verbose print install process
|
||||
-s, --sync sync ports before upgrades
|
||||
-y, --yes dont ask confirmation
|
||||
--no-backup skip backup configuration file
|
||||
--no-preupgrade skip pre-upgrade script
|
||||
--no-postupgrade skip post-upgrade script
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -1171,11 +1213,10 @@ Usage:
|
||||
$(basename $0) remove [ <pkgname> <options> ]
|
||||
|
||||
Options:
|
||||
-d, --no-dep skip dependency check
|
||||
-v, --verbose print removed files
|
||||
-y, --yes dont ask confirmation
|
||||
--no-preremove skip pre-remove script
|
||||
--no-postremove skip post-remove script
|
||||
-y, --yes dont ask confirmation
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -1189,9 +1230,10 @@ Options:
|
||||
-d, --no-dep skip installing dependencies
|
||||
-c, --ignore-conflict skip file conflict check
|
||||
-r, --reinstall reinstall installed package
|
||||
-v, --verbose print install files
|
||||
-y, --yes dont ask confirmation
|
||||
--no-preinstall skip pre-install script
|
||||
--no-postinstall skip post-install script
|
||||
-y, --yes dont ask confirmation
|
||||
|
||||
EOF
|
||||
}
|
||||
@@ -1202,10 +1244,11 @@ Usage:
|
||||
$(basename $0) help <operation>
|
||||
|
||||
Operation:
|
||||
build build only packages
|
||||
build build package
|
||||
install install packages
|
||||
remove remove packages in system
|
||||
upgrade upgrade packages and install new dependencies (if any)
|
||||
upgrade upgrade packages
|
||||
sysup full system upgrades
|
||||
remove remove packages
|
||||
extra various extra options
|
||||
|
||||
EOF
|
||||
@@ -1220,6 +1263,7 @@ usage() {
|
||||
remove) usage_remove ;;
|
||||
upgrade) usage_upgrade ;;
|
||||
build) usage_build ;;
|
||||
sysup) usage_sysup ;;
|
||||
extra) usage_extra ;;
|
||||
esac
|
||||
fi
|
||||
@@ -1288,7 +1332,7 @@ main() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
if [ "$mode" = "pkgtree" ]; then
|
||||
if [ "$mode" = "files" ]; then
|
||||
showtree $1
|
||||
exit $?
|
||||
fi
|
||||
@@ -1363,7 +1407,7 @@ main() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
echo "Run 'scratch help' to see available mode and options"
|
||||
echo "Run 'scratch help' to see available operations and options"
|
||||
exit 5
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user