mirror of
https://github.com/outbackdingo/scratchpkg.git
synced 2026-03-21 20:45:02 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b72816f8df | ||
|
|
9b186bfd31 | ||
|
|
8e8c62d338 | ||
|
|
c8b2eca5ba | ||
|
|
a23a22c659 |
7
pkgbuild
7
pkgbuild
@@ -98,9 +98,14 @@ download_src() {
|
|||||||
FILENAME=$(basename $FILE)
|
FILENAME=$(basename $FILE)
|
||||||
SRCURL=$FILE
|
SRCURL=$FILE
|
||||||
fi
|
fi
|
||||||
|
[ "$DOWNLOAD_PROG" = "auto" ] && {
|
||||||
|
command -v curl >/dev/null && DOWNLOAD_PROG=curl
|
||||||
|
command -v wget >/dev/null && DOWNLOAD_PROG=wget
|
||||||
|
}
|
||||||
case $DOWNLOAD_PROG in
|
case $DOWNLOAD_PROG in
|
||||||
curl) DLCMD="curl -C - -L --fail --ftp-pasv --retry 3 --retry-delay 3 -o $SOURCE_DIR/$FILENAME.partial $CURL_OPTS" ;;
|
curl) DLCMD="curl -C - -L --fail --ftp-pasv --retry 3 --retry-delay 3 -o $SOURCE_DIR/$FILENAME.partial $CURL_OPTS" ;;
|
||||||
wget) DLCMD="wget -c --passive-ftp --no-directories --tries=3 --waitretry=3 --output-document=$SOURCE_DIR/$FILENAME.partial $WGET_OPTS" ;;
|
wget) DLCMD="wget -c --passive-ftp --no-directories --tries=3 --waitretry=3 --output-document=$SOURCE_DIR/$FILENAME.partial $WGET_OPTS" ;;
|
||||||
|
*) msgerr "No download agent found"; abort 1;;
|
||||||
esac
|
esac
|
||||||
if [ "$FILENAME" != "$FILE" ]; then
|
if [ "$FILENAME" != "$FILE" ]; then
|
||||||
if [ ! -f "$SOURCE_DIR/$FILENAME" ] || [ "$REDOWNLOAD_SOURCE" ]; then
|
if [ ! -f "$SOURCE_DIR/$FILENAME" ] || [ "$REDOWNLOAD_SOURCE" ]; then
|
||||||
@@ -691,7 +696,7 @@ PKGBUILD_BSCRIPT="spkgbuild"
|
|||||||
SOURCE_DIR="/var/cache/scratchpkg/sources"
|
SOURCE_DIR="/var/cache/scratchpkg/sources"
|
||||||
PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
||||||
WORK_DIR="/var/cache/scratchpkg/work"
|
WORK_DIR="/var/cache/scratchpkg/work"
|
||||||
DOWNLOAD_PROG="wget"
|
DOWNLOAD_PROG="auto"
|
||||||
COMPRESSION_MODE="xz"
|
COMPRESSION_MODE="xz"
|
||||||
|
|
||||||
OPTIONS="!libtool emptydirs strip zipman buildflags makeflags checksum !docs !locales"
|
OPTIONS="!libtool emptydirs strip zipman buildflags makeflags checksum !docs !locales"
|
||||||
|
|||||||
83
scratch
83
scratch
@@ -797,78 +797,79 @@ scratch_upgrade() {
|
|||||||
}
|
}
|
||||||
for pkg in $PKGNAME; do
|
for pkg in $PKGNAME; do
|
||||||
if ! isinstalled $pkg; then
|
if ! isinstalled $pkg; then
|
||||||
msgerr "Package '$pkg' not installed."
|
echo "Package '$pkg' not installed."
|
||||||
continue
|
continue
|
||||||
elif [ ! $(getportpath $pkg) ]; then
|
elif [ ! $(getportpath $pkg) ]; then
|
||||||
msgerr "Package '$pkg' not exist."
|
echo "Package '$pkg' not exist."
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
. $(getportpath $pkg)/$BUILD_SCRIPT
|
. $(getportpath $pkg)/$BUILD_SCRIPT
|
||||||
if [ "$(installed_pkg_info version $pkg)-$(installed_pkg_info release $pkg)" = "$version-$release" ]; then
|
if [ "$(installed_pkg_info version $pkg)-$(installed_pkg_info release $pkg)" = "$version-$release" ]; then
|
||||||
msg "Package '$pkg' is up to date."
|
echo "Package '$pkg' is up to date."
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
upkg="$upkg $pkg"
|
upkg="$upkg $pkg"
|
||||||
done
|
done
|
||||||
[ "$upkg" ] || return 0
|
[ "$upkg" ] || return 0
|
||||||
[ "$NO_DEP" ] || {
|
|
||||||
|
UPGPKG=0
|
||||||
|
NEWPKG=0
|
||||||
|
if [ "$NODEP" != 1 ]; then
|
||||||
echo "Resolving dependencies..."
|
echo "Resolving dependencies..."
|
||||||
DEP=$(scratch_deplist $upkg $EXOPT | awk '{print $2}')
|
DEP=$(scratch_deplist $upkg $EXOPT | awk '{print $2}')
|
||||||
for dep in $DEP; do
|
echo
|
||||||
if ! isinstalled $dep; then
|
for d in $DEP; do
|
||||||
[ "$(getportpath $dep)" ] && newpkg="$newpkg $dep"
|
if [ "$(echo $upkg | tr ' ' '\n' | grep -x $d)" = "$d" ]; then
|
||||||
|
printf "[${GREEN}u${CRESET}] $d "
|
||||||
|
WILLINSTALL="$WILLINSTALL $d"
|
||||||
|
UPGPKG=$(( UPGPKG + 1 ))
|
||||||
|
elif ! isinstalled $d && [ "$(getportpath "$d")" ]; then
|
||||||
|
printf "[${CYAN}n${CRESET}] $d "
|
||||||
|
WILLINSTALL="$WILLINSTALL $d"
|
||||||
|
NEWPKG=$(( NEWPKG + 1 ))
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
else
|
||||||
echo
|
echo
|
||||||
tnew=0
|
for dd in $upkg; do
|
||||||
tup=0
|
printf "[${GREEN}u${CRESET}] $dd "
|
||||||
for i in $newpkg; do
|
WILLINSTALL="$WILLINSTALL $dd"
|
||||||
tnew=$(( tnew + 1 ))
|
UPGPKG=$(( UPGPKG + 1 ))
|
||||||
printf "[${CYAN}n${CRESET}] $i "
|
done
|
||||||
done
|
fi
|
||||||
for i in $upkg; do
|
|
||||||
tup=$(( tup + 1 ))
|
|
||||||
printf "[${GREEN}u${CRESET}] $i "
|
|
||||||
done
|
|
||||||
echo; echo
|
echo; echo
|
||||||
echo "( $tup upgrade, $tnew new install )"
|
echo "( $UPGPKG upgrade, $NEWPKG new install )"
|
||||||
echo
|
echo
|
||||||
[ "$NOCONFIRM" ] || {
|
[ "$NOCONFIRM" ] || {
|
||||||
confirm "Continue upgrade/install these package(s)?" "Package upgrade cancelled." || exit $?
|
confirm "Continue upgrade/install these package(s)?" "Package upgrade cancelled." || exit $?
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
total=$(( tup + tnew ))
|
|
||||||
count=0
|
|
||||||
error=0
|
error=0
|
||||||
if [ "$newpkg" ]; then
|
count=0
|
||||||
for pkg in $newpkg; do
|
total=$(echo $WILLINSTALL | wc -w)
|
||||||
count=$(( count + 1 ))
|
for inst in $WILLINSTALL; do # install all required dependencies and target packages itself
|
||||||
cd $(getportpath $pkg)
|
|
||||||
settermtitle "[ $count/$total ] Installing $pkg..."
|
|
||||||
pkgbuild -i $OPTS || {
|
|
||||||
error=1
|
|
||||||
count=$(( count - 1 ))
|
|
||||||
break
|
|
||||||
}
|
|
||||||
done_pkg="$done_pkg $pkg"
|
|
||||||
cd - >/dev/null
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
for pkg in $upkg; do # upgrade all target packages
|
|
||||||
count=$(( count + 1 ))
|
count=$(( count + 1 ))
|
||||||
cd $(getportpath $pkg)
|
cd $(getportpath $inst)
|
||||||
settermtitle "[ $count/$total ] Upgrading $pkg..."
|
if ! isinstalled $inst; then
|
||||||
|
settermtitle "[ $count/$total ] Installing $inst..."
|
||||||
|
pkgbuild -i $OPTS || {
|
||||||
|
error=1
|
||||||
|
count=$(( count - 1 ))
|
||||||
|
break
|
||||||
|
}
|
||||||
|
else
|
||||||
|
settermtitle "[ $count/$total ] Upgrading $inst..."
|
||||||
pkgbuild -u $OPTS || {
|
pkgbuild -u $OPTS || {
|
||||||
error=1
|
error=1
|
||||||
count=$(( count - 1 ))
|
count=$(( count - 1 ))
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
done_pkg="$done_pkg $pkg"
|
fi
|
||||||
cd - >/dev/null
|
cd - >/dev/null
|
||||||
|
done_pkg="$done_pkg $inst"
|
||||||
done
|
done
|
||||||
settermtitle "triggering upgrade hook..."
|
settermtitle "Triggering install hook."
|
||||||
[ "$done_pkg" ] && scratch_trigger $done_pkg
|
[ "$done_pkg" ] && scratch_trigger $done_pkg
|
||||||
settermtitle "$count/$total package(s) upgraded."
|
settermtitle "$count/$total package(s) upgraded."
|
||||||
return "$error"
|
return "$error"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ MAKEFLAGS="-j$(nproc)"
|
|||||||
# SOURCE_DIR="/var/cache/scratchpkg/sources"
|
# SOURCE_DIR="/var/cache/scratchpkg/sources"
|
||||||
# PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
# PACKAGE_DIR="/var/cache/scratchpkg/packages"
|
||||||
# WORK_DIR="/var/cache/scratchpkg/work"
|
# WORK_DIR="/var/cache/scratchpkg/work"
|
||||||
# DOWNLOAD_PROG="wget"
|
# DOWNLOAD_PROG="auto"
|
||||||
# WGET_OPTS=""
|
# WGET_OPTS=""
|
||||||
# CURL_OPTS=""
|
# CURL_OPTS=""
|
||||||
# COMPRESSION_MODE="xz"
|
# COMPRESSION_MODE="xz"
|
||||||
|
|||||||
12
xchroot
12
xchroot
@@ -78,13 +78,13 @@ retval=$?
|
|||||||
mv $TARGET/etc/resolv.conf.tmp $TARGET/etc/resolv.conf
|
mv $TARGET/etc/resolv.conf.tmp $TARGET/etc/resolv.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
umount $TARGET/dev/pts
|
umount -l $TARGET/dev/pts
|
||||||
umount $TARGET/dev
|
umount -l $TARGET/dev
|
||||||
umount $TARGET/run
|
umount -l $TARGET/run
|
||||||
umount $TARGET/proc
|
umount -l $TARGET/proc
|
||||||
if [ -n "$EFI_SYSTEM" ]; then
|
if [ -n "$EFI_SYSTEM" ]; then
|
||||||
umount $TARGET/sys/firmware/efi/efivars
|
umount -l $TARGET/sys/firmware/efi/efivars
|
||||||
fi
|
fi
|
||||||
umount $TARGET/sys
|
umount -l $TARGET/sys
|
||||||
|
|
||||||
exit $retval
|
exit $retval
|
||||||
|
|||||||
Reference in New Issue
Block a user