Merge branch 'master' into devel

This commit is contained in:
Matteo Rossini 2015-12-12 14:15:29 +01:00
commit 16c6b79b2f
11 changed files with 459 additions and 149 deletions

View file

@ -1,3 +1,41 @@
Version 1.5.1 - 20/Nov/2015
Note for Slackware 14.1 users: slackware-current introduce important bug fix
in slackpkg 2.82.0-14 (see Slackware ChangeLog) not backported in slackware
14.1; it is not mandatory but you are encouraged to upgrade it by download it
manually; be sure to graylist slackpkg to avoid an automatic downgrade.
- The trailing slash in MIRRORPLUS[] is now optional (thanks to phenixia2003
and Didier Spaier)
- Added DOWNLOADCMD option to add a custom downloader
- Fixed a bug that causes that ALL repositories fail if ONE repository fails
(thanks to FR on Alien Pasture for reporting)
- Fixed TAG_PRIORITY to avoid impact in slackpkg install
Version 1.5.0 - 10/Jul/2015
- Fixed TAG_PRIORITY
- Fixed repositories list
Version 1.4.99 - 01/Jul/2015
- Added priority by tag. Setting TAG_PRIORITY to 'on' slackpkg+
automatically upgrade packages from repository where the tag is the same
of the already installed package.
Version 1.4.1 - 16/Jun/2015
- Fix for repositories having CHECKSUMS.md5.gz.asc
Version 1.4.0 - 13/Dec/2014
- Now the official repositories (slackware64, extra, patches...) are treated
as thirdy party repositories, so you can add it in PKGS_PRIORITY
(phenixia2003)
- To put an entire repository in PKGS_PRIORITY, you no more need to add
':.*' after the name (phenixia2003)
Version 1.3.3 - 26/Oct/2014
- Patched to avoid to install glibc-debug from alienbob multilib (thanks to
phenixia2003)
Version 1.3.2 - 13/Jul/2014
- Patched to reflect changes on slackpkg 2.82.0-13
Version 1.3.1 - 7/Mar/2014
- Improved check-updates function (thanks to phenixia2003)
- Improved debug-mode

View file

@ -1,3 +1,41 @@
Version 1.5.1 - 20/Nov/2015
Note for Slackware 14.1 users: slackware-current introduce important bug fix
in slackpkg 2.82.0-14 (see Slackware ChangeLog) not backported in slackware
14.1; it is not mandatory but you are encouraged to upgrade it by download it
manually; be sure to graylist slackpkg to avoid an automatic downgrade.
- The trailing slash in MIRRORPLUS[] is now optional (thanks to phenixia2003
and Didier Spaier)
- Added DOWNLOADCMD option to add a custom downloader
- Fixed a bug that causes that ALL repositories fail if ONE repository fails
(thanks to FR on Alien Pasture for reporting)
- Fixed TAG_PRIORITY to avoid impact in slackpkg install
Version 1.5.0 - 10/Jul/2015
- Fixed TAG_PRIORITY
- Fixed repositories list
Version 1.4.99 - 01/Jul/2015
- Added priority by tag. Setting TAG_PRIORITY to 'on' slackpkg+
automatically upgrade packages from repository where the tag is the same
of the already installed package.
Version 1.4.1 - 16/Jun/2015
- Fix for repositories having CHECKSUMS.md5.gz.asc
Version 1.4.0 - 13/Dec/2014
- Now the official repositories (slackware64, extra, patches...) are treated
as thirdy party repositories, so you can add it in PKGS_PRIORITY
(phenixia2003)
- To put an entire repository in PKGS_PRIORITY, you no more need to add
':.*' after the name (phenixia2003)
Version 1.3.3 - 26/Oct/2014
- Patched to avoid to install glibc-debug from alienbob multilib (thanks to
phenixia2003)
Version 1.3.2 - 13/Jul/2014
- Patched to reflect changes on slackpkg 2.82.0-13
Version 1.3.1 - 7/Mar/2014
- Improved check-updates function (thanks to phenixia2003)
- Improved debug-mode

View file

@ -151,8 +151,26 @@ for example:
PKGS_PRIORITY=( alienbob:openjdk )
<package name> accepts a regular expression, so for example
PKGS_PRIORITY=( restricted:.* )
means 'all packages in repository restricted'
PKGS_PRIORITY=( restricted:.* vlc.* )
means 'all packages containing the "vlc" string'
PKGS_PRIORITY=( ktown:.* )
means 'all packages in repository ktown'
latest item maybe replaced simply with
PKGS_PRIORITY=( ktown )
all packages matched from ktown ovverride all related slackware packages, unless
you do not explicitly exclude it:
PKGS_PRIORITY=( patches:harfbuzz slackware64:harfbuzz ktown )
that means 'all ktown packages except harfbuzz'
Also you can set TAG_PRIORITY=on to allow slackpkg+ to select repository
from where the package was previously installed.
This method is based from tag of the installed package.
slackpkg+ search a package with the same tag in all repositories and use it.
If two repositories contains the same tag, it will honour REPOPLUS.
-----
@ -161,12 +179,16 @@ MULTILIB
If you want to use a multilib system, you can automatically configure the
multilib repository in slackpkgplus.conf and install multilib simply by running:
# /usr/doc/slackpkg+-1.2.0/setupmultilib.sh
# /usr/doc/slackpkg+-*/setupmultilib.sh
To configure multilib manually (e.g. if you have installed multilib already),
uncomment the correct "MIRRORPLUS['multilib']=...",
and uncomment "PKGS_PRIORITY=( multilib:.* )",
and add multilib to the REPOPLUS list.
and uncomment "PKGS_PRIORITY=( multilib:.* )".
If you do not plan to build yourself 32bit packages on your 64bit machine, you may
avoid to install gcc:
PKGS_PRIORITY=( patches:gcc slackware64:gcc multilib )
To install multilib manually, launch:
# slackpkg update gpg
@ -181,7 +203,7 @@ and re-running 'slackpkg install multilib' if 'slackpkg install-new' has found
any new packages.
To uninstall multilib, you must remove 'multilib:.*' from PKGS_PRIORITY and from
REPOPLUS (but do not delete the related MIRRORPLUS line), then launch:
REPOPLUS, but do NOT delete the related MIRRORPLUS line, then launch:
# slackpkg update
# slackpkg remove multilib
Note: this does NOT remove the core multilib packages, because they affect the
@ -190,36 +212,63 @@ Note: this does NOT remove the core multilib packages, because they affect the
then delete or comment the related MIRRORPLUS line, and finally launch
# slackpkg update
or just re-run
# /usr/doc/slackpkg+-*/setupmultilib.sh
-----
KTOWN (LATEST KDE)
If you want to install the latest KDE packages from AlienBOB's ktown repository
(presently 4.11.1), add "PKGS_PRIORITY=( ktown:.* )" then launch:
(currently kde 4.14.3 in slackware 14.1 and kde 5.15.7 in slackware current),
add "PKGS_PRIORITY=( ktown )"
# slackpkg update gpg
# slackpkg update
# slackpkg install ktown
# slackpkg upgrade-all
Do not forget to read the special instructions from
http://taper.alienbase.nl/mirrors/alien-kde/current/latest/
because you may need to remove some Slackware KDE packages. At the time of
writing, these packages are:
# slackpkg remove kdeadmin kdenetwork kdesdk kdetoys
To install ktown you need some attention, so please refeer to official
documentation for details:
http://alien.slackbook.org/ktown/14.1/latest/ (kde 4)
http://alien.slackbook.org/ktown/current/5/ (kde 5)
* ktown4 on slackware 14.1:
slackpkg install ktown
slackpkg upgrade-all
slackpkg remove kdeadmin kdenetwork kdesdk kdetoys kwallet kdnssd
slackpkg clean-system
* ktown5 on slackware current:
slackpkg remove libkscreen kscreen kactivities kde-workspace libmm-qt libnm-qt plasma-nm polkit-kde-agent-1 polkit-kde-kcmodules-1 kdeconnect-kde
slackpkg install ktown
slackpkg upgrade-all
slackpkg clean-system
if you are upgrading an already installed ktown5, you may also need
slackpkg reinstall ktown
BEFORE slackpkg install ktown
Note - for both ktown4 and ktown5 - that the packages to remove may change in newer version of ktown (at moment are kde-4.14.3 and kde-5_15.11), so I encourage to read linked documents BEFORE install it.
After that, you can keep the ktown KDE up-to-date by launching:
# slackpkg update
# slackpkg upgrade-all
Periodically you should re-run
# slackpkg install ktown
To restore the Slackware KDE, remove 'ktown:.*' from PKGS_PRIORITY and from
REPOPLUS (but do not delete the related MIRRORPLUS line), then launch:
To restore the Slackware KDE, remove all 'ktown' referall in config file, then launch:
# slackpkg update
# slackpkg upgrade-all
# slackpkg reinstall kde
# slackpkg install kde
# slackpkg remove ktown
then delete or comment the related MIRRORPLUS line and launch:
# slackpkg upgrade-all
# slackpkg clean-system ktown
# slackpkg update
-----
@ -334,6 +383,31 @@ in slackpkgplus.conf
-----
DOWNLOADCMD Option
You can choose to use an alternative to wget.
Note that downloader will be called as
$DOWNLOADCMD destinationfile url
The base is
DOWNLOADCMD="wget -O"
by default slackpkgplus adds other useful options:
DOWNLOADCMD="wget $WGETOPTS -nv --no-check-certificate --passive-ftp -O"
If you like curl:
DOWNLOADCMD="curl -o"
you can add other options BEFORE the last '-o' switch:
DOWNLOADCMD="curl -v -o"
If you want use a multi-connection (parallel) download, you can install aria2
(http://aria2.sourceforge.net/) and set
DOWNLOADCMD="aria2c -x 16 -s 16 --auto-file-renaming=false --allow-overwrite=true -d / -o"
if you have proxy add
DOWNLOADCMD="aria2c --all-proxy=someproxy:8080 -x 16 -s 16 --auto-file-renaming=false --allow-overwrite=true -d / -o"
-----
ALLOW32BIT

View file

@ -15,3 +15,6 @@
# You may want to greylist kde and/or kdei
#kde
#kdei
#
#do not upgrade packages installed with sbopkg; use it instead
#_SBo

View file

@ -1,6 +1,8 @@
#!/bin/bash
WORKDIR=/var/lib/slackpkg
. /etc/slackpkg/slackpkg.conf
CONF=${CONF:-/etc/slackpkg} # needed if you're running slackpkg 2.28.0-12
. $CONF/slackpkg.conf
if [ -e $WORKDIR/pkglist ];then
cp $WORKDIR/pkglist $WORKDIR/pkglist.tmp
@ -8,12 +10,12 @@ fi
(
(
cd /var/log/removed_packages
cd $ROOT/var/log/removed_packages
( ls -l --full-time|tail +2|cut -c11-|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,'|awk '{print $8,$5,$6}'
grep -m1 'PACKAGE LOCATION:' * 2>/dev/null|sed -r 's/:PACKAGE LOCATION:.*(\.t.z)/ \1/'
)|sort|awk '{if(x=!x){printf("%s ", $2)}else{print $2,$3,$1}}' \
|sed -e 's/$/ removed/' -e 's/-upgraded-.*/ upgraded/'|awk '{print $2,$3,$4,$1,$5}'
cd /var/log/packages
cd $ROOT/var/log/packages
( ls -l --full-time|tail +2|cut -c11-|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,'|awk '{print $8,$5,$6}'
grep -m1 'PACKAGE LOCATION:' * 2>/dev/null|sed -r 's/:PACKAGE LOCATION:.*(\.t.z)/ \1/'
)|sort|awk '{if(x=!x){printf("%s ", $2)}else{print $2,$3,$1}}' \

View file

@ -4,23 +4,24 @@ Supported Repositories:
> slackpkgplus: http://slakfinder.org/slackpkg+/
> multilib: http://taper.alienbase.nl/mirrors/people/alien/multilib/{13.37,14.0,14.1,current}/
> alienbob: http://taper.alienbase.nl/mirrors/people/alien/sbrepos/{13.37,14.0,14.1,current}/{x86,x86_64}/
> ktown: http://taper.alienbase.nl/mirrors/alien-kde/{13.37,14.0,14.1,current}/latest/{x86,x86_64}/
> ktown: http://taper.alienbase.nl/mirrors/alien-kde/{13.37,14.0,14.1,current}/{latest,testing}/{x86,x86_64}/
> restricted: http://taper.alienbase.nl/mirrors/people/alien/restricted_sbrepos/{13.37,14.0,14.1,current}/{x86,x86_64}/
> slacky: http://repository.slacky.eu/slackware{,64}-{13.37,14.0,14.1}/
> mled: http://www.microlinux.fr/slackware/MLED-{14.0,14.1}-{32,64}bit/
> mles: http://www.microlinux.fr/slackware/MLES-{14.0,14.1}-{32,64}bit/
> msb: http://slackware.org.uk/msb/{14.0,14.1}/1.6/{x86,x86_64}/
> slackers: http://www.slackers.it/repository/
> slacke17: http://ngc891.blogdns.net/pub/slacke17/slackware{,64,arm}-{14.0,14.1}/
> mled-desktop: http://www.microlinux.fr/microlinux/desktop-14.1-{32,64}bit/
> mled-extras: http://www.microlinux.fr/microlinux/extras-14.1-{32,64}bit/
> mles: http://www.microlinux.fr/microlinux/server-{14.0,14.1}-{32,64}bit/
> msb: http://slackware.org.uk/msb/{14.0,14.1}/{1.6,1.8,1.10}/{x86,x86_64}/
> slackers: http://ponce.cc/slackers/repository/
> slacke18: http://ngc891.blogdns.net/pub/slacke18/slackware{,64,arm}-14.1/
> studioware: http://studioware.org/files/packages/slackware{,64}-{13.37,14.0,14.1}/
> slackonly: http://slackonly.com/pub/packages/{14.1,current}-{x86,x86_64}/
> rlworkman: http://rlworkman.net/pkgs/{13.37,14.0,14.1}/
>
> Does NOT support GPG
> salixos(*): http://download.salixos.org/{i486,x86_64}/{13.37,14.0,14.1}/
> salixext: http://people.salixos.org/ralvex/repository/x86_64/{14.0,14.1}/
> rlworkman(*): http://rlworkman.net/pkgs/{13.37,14.0,14.1}/
> slackel: http://www.slackel.gr/repo/{i486,x86_64}/current/
> slackel(*): http://www.slackel.gr/repo/{i486,x86_64}/{current,kde5}/
(*) salixos and rlworkman partially supports GPG. These repositories contains the .asc file
(*) salixos and slackel partially supports GPG. These repositories contains the .asc file
for CHECKSUMS.md5, so the 'update' process works with CHECKGPG=on and repository authenticity
is guaranteed.
Unfortunately the single packages do not include the related .asc file, so you must
@ -30,3 +31,26 @@ Supported Repositories:
You can find a larger list at http://slakfinder.org
Some specific notes:
* multilib:
Please, run /usr/doc/slackpkg+-*/setupmultilib.sh to setup it.
Periodically you should run "slackpkg install multilib"
after run "slackpkg upgrade-all"
* ktown:
You need to put 'ktown' in PKGS_PRIORITY
Periodically you should run "slackpkg install ktown"
after run "slackpkg upgrade-all"
at moment 'latest' is 'kde4', 'testing' is 'kde5'.
after install you need to do some postinstall operation, see
http://alien.slackbook.org/ktown/14.1/latest/
http://alien.slackbook.org/ktown/current/5/
kde4:
slackpkg remove kdeadmin kdenetwork kdesdk kdetoys kwallet kdnssd
kde5:
kde5 (available only in slackware-current)
slackpkg remove libkscreen kscreen kactivities kde-workspace libmm-qt libnm-qt plasma-nm polkit-kde-agent-1 polkit-kde-kcmodules-1 kdeconnect-kde
Please read /usr/doc/slackpkg+-*/README for more details

View file

@ -1,17 +1,21 @@
#!/bin/bash
CONF=${CONF:-/etc/slackpkg} # needed if you're running slackpkg 2.28.0-12
. $CONF/slackpkg.conf
cd $(dirname $(readlink -f $0))
if [ ! -e repositories.txt ];then
echo "Fatal. repositories.txt not found!"
exit 1
fi
ISX64=$(ls /var/log/packages/aaa_base-*-x86_64-*|wc -l)
ISX64=$(ls $ROOT/var/log/packages/aaa_base-*-x86_64-*|wc -l)
if [ $ISX64 -ne 1 ];then
echo "Slackware multilib's are supported only from slackware x86_64!"
exit 1
fi
SVER=$(grep -v ^\# /etc/slackpkg/mirrors|sed -r 's,^.*/slackware64-(current|14.1|14.0|13.37|13.0)/,\1,'|head -1)
SVER=$(grep -v ^\# $CONF/mirrors|sed -r 's,^.*/slackware64-(current|14.1|14.0|13.37|13.0)/,\1,'|head -1)
if [ -z "$SVER" ];then
echo "I can't detect your Slackware version."
echo "Which Slackware version are you running? (current/14.1/14.0/13.37/13.0)"
@ -22,17 +26,17 @@ if ! echo $SVER|egrep -q '^(current|14.1|14.0|13.37|13.0)$';then
exit 1
fi
if grep -q -e '^PKGS_PRIORITY=.* multilib:\.\* .*$' -e '^MIRRORPLUS..multilib..=.*multilib.*' /etc/slackpkg/slackpkgplus.conf;then
if grep -q -e '^PKGS_PRIORITY=.* multilib:\.\* .*$' -e '^MIRRORPLUS..multilib..=.*multilib.*' $CONF/slackpkgplus.conf;then
echo "slackpkg+ seems to be already configured for multilib support. Would you like to remove multilib support from the configuration? (y/N)"
read ANS
if [ "$ANS" == "y" -o "$ANS" == "Y" ];then
cp /etc/slackpkg/slackpkgplus.conf /etc/slackpkg/slackpkgplus.conf.backup
cp $CONF/slackpkgplus.conf $CONF/slackpkgplus.conf.backup
sed -i -r \
-e 's/^PKGS_PRIORITY=(.*) multilib:\.\* (.*)$/PKGS_PRIORITY=\1 \2/' \
-e 's/^PKGS_PRIORITY=(.*) multilib[^ ]* (.*)$/PKGS_PRIORITY=\1 \2/' \
-e 's/^(PKGS_PRIORITY=\( +\).*)$/#\1/' \
-e 's/^(MIRRORPLUS..multilib..=.*multilib.*)$/#\1/' \
-e 's/^REPOPLUS=(.*) multilib (.*)/REPOPLUS=\1 \2/' \
-e 's/^(REPOPLUS=\( +\).*)$/#\1/' /etc/slackpkg/slackpkgplus.conf
-e 's/^(REPOPLUS=\( +\).*)$/#\1/' $CONF/slackpkgplus.conf
echo "Multilib support has been removed from slackpkg+. Now you need to remove the installed packages (using slackpkg)."
echo "Would you like this script to run slackpkg for you and remove the Multilib packages? (y/N)"
read ANS
@ -59,14 +63,14 @@ echo "Would you like to setup slackpkg+ to add multilib support? (y/N)"
read ANS
if [ "$ANS" == "y" -o "$ANS" == "Y" ];then
MULTILIBREPO="MIRRORPLUS['multilib']="$(grep -m1 '> multilib: ' repositories.txt|awk '{print $3}'|sed "s/{.*}/$SVER/")
cp /etc/slackpkg/slackpkgplus.conf /etc/slackpkg/slackpkgplus.conf.backup
if grep -q ^PKGS_PRIORITY= /etc/slackpkg/slackpkgplus.conf;then
sed -i -r -e 's/^PKGS_PRIORITY=\( (.*) \)/PKGS_PRIORITY=( multilib:.* \1 )/' /etc/slackpkg/slackpkgplus.conf
cp $CONF/slackpkgplus.conf $CONF/slackpkgplus.conf.backup
if grep -q ^PKGS_PRIORITY= $CONF/slackpkgplus.conf;then
sed -i -r -e 's/^PKGS_PRIORITY=\( (.*) \)/PKGS_PRIORITY=( multilib:.* \1 )/' $CONF/slackpkgplus.conf
else
sed -i -r -e 's/^(REPOPLUS=.*)$/PKGS_PRIORITY=( multilib:.* )\n\1/' /etc/slackpkg/slackpkgplus.conf
sed -i -r -e '1,/^#PKGS_PRIORITY=.*$/s/^(#PKGS_PRIORITY=.*)$/\1\nPKGS_PRIORITY=( multilib: )\n/' $CONF/slackpkgplus.conf
fi
sed -i -r -e 's|^(REPOPLUS=.*)$|\1\n'"$MULTILIBREPO|" /etc/slackpkg/slackpkgplus.conf
sed -i.backup -r -e 's/^(\[0-9\]\+compat32)$/\#\1/' /etc/slackpkg/blacklist
sed -i -r -e 's|^(PKGS_PRIORITY=.*)$|\1\n'"$MULTILIBREPO|" $CONF/slackpkgplus.conf
sed -i.backup -r -e 's/^(\[0-9\]\+compat32)$/\#\1/' $CONF/blacklist
echo "slackpkg+ is now configured for multilib support."
echo "Do you want to install the multilib now? (y/N)"
read ANS
@ -75,10 +79,10 @@ if [ "$ANS" == "y" -o "$ANS" == "Y" ];then
slackpkg update
slackpkg upgrade multilib
COMPATPKGS=$(
cd /var/log/packages
cd $ROOT/var/log/packages
ls | rev |cut -f4- -d-|rev|sed -e 's/^/^slackware64 /' -e 's/$/ /' > /tmp/installed_packages1
grep -f /tmp/installed_packages1 /var/lib/slackpkg/pkglist|awk '{print "SLACKPKGPLUS_multilib "$2"-compat32 "}' > /tmp/installed_packages2
grep -f /tmp/installed_packages2 /var/lib/slackpkg/pkglist|awk '{print "multilib:"$2}'
grep -f /tmp/installed_packages1 $WORKDIR/pkglist|awk '{print "SLACKPKGPLUS_multilib "$2"-compat32 "}' > /tmp/installed_packages2
grep -f /tmp/installed_packages2 $WORKDIR/pkglist|awk '{print "multilib:"$2}'
)
slackpkg install $COMPATPKGS
echo "Multilib installed"

View file

@ -4,7 +4,13 @@
declare -A MIRRORPLUS
declare -A NOTIFYMSG
if [ -e /etc/slackpkg/slackpkgplus.conf ];then
CONF=${CONF:-/etc/slackpkg} # needed if you're running slackpkg 2.28.0-12
# regular expression used to distinguish the 3rd party repositories from the standard slackware directories.
#
SLACKDIR_REGEXP="(slackware)|(slackware64)|(extra)|(pasture)|(patches)|(testing)"
if [ -e $CONF/slackpkgplus.conf ];then
# You can override GREYLIST WGETOPTS SLACKPKGPLUS VERBOSE USEBL ALLOW32BIT from command-line
EXTGREYLIST=$GREYLIST
EXTALLOW32BIT=$ALLOW32BIT
@ -12,8 +18,10 @@ if [ -e /etc/slackpkg/slackpkgplus.conf ];then
EXTVERBOSE=$VERBOSE
EXTUSEBL=$USEBL
EXTWGETOPTS=$WGETOPTS
EXTDOWNLOADCMD=$DOWNLOADCMD
EXTTAG_PRIORITY=$TAG_PRIORITY
. /etc/slackpkg/slackpkgplus.conf
. $CONF/slackpkgplus.conf
GREYLIST=${EXTGREYLIST:-$GREYLIST}
ALLOW32BIT=${EXTALLOW32BIT:-$ALLOW32BIT}
@ -21,21 +29,27 @@ if [ -e /etc/slackpkg/slackpkgplus.conf ];then
VERBOSE=${EXTVERBOSE:-$VERBOSE}
USEBL=${EXTUSEBL:-$USEBL}
WGETOPTS=${EXTWGETOPTS:-$WGETOPTS}
DOWNLOADCMD=${EXTDOWNLOADCMD:-$DOWNLOADCMD}
TAG_PRIORITY=${EXTTAG_PRIORITY:-$TAG_PRIORITY}
USEBLACKLIST=true
if [ "$USEBL" == "0" ];then
USEBLACKLIST=false
fi
if [ "$ENABLENOTIFY" = "on" -a -e /etc/slackpkg/notifymsg.conf ];then
. /etc/slackpkg/notifymsg.conf
if [ "$ENABLENOTIFY" = "on" -a -e $CONF/notifymsg.conf ];then
. $CONF/notifymsg.conf
fi
fi
if [ "$SLACKPKGPLUS" = "on" ];then
if [ -z "$VERBOSE" ];then
VERBOSE=1
fi
SPKGPLUS_VERSION="1.3.1"
SPKGPLUS_VERSION="1.5.1"
VERSION="$VERSION / slackpkg+ $SPKGPLUS_VERSION"
@ -43,27 +57,12 @@ if [ "$SLACKPKGPLUS" = "on" ];then
mkdir -p "$WORKDIR"
fi
if [ "$CMD" == "update" ];then
touch $TMPDIR/info.log
if [ $VERBOSE -gt 1 ];then
/usr/libexec/slackpkg/makeinstlog.sh -t >> $TMPDIR/info.log &
else
/usr/libexec/slackpkg/makeinstlog.sh >/dev/null &
fi
PIDINSTLOG=$!
if [ ! -e $WORKDIR/install.log ];then
touch $WORKDIR/install.log
fi
function cleanup(){
[ "$SPINNING" = "off" ] || tput cnorm
if [ "$CMD" == "update" ];then
if [ $VERBOSE -gt 2 ];then
echo "Updating $WORKDIR/install.log..."
else
echo "Updating install.log"
fi
echo
fi
if [ "$DELALL" = "on" ] && [ "$NAMEPKG" != "" ]; then
rm $CACHEPATH/$NAMEPKG &>/dev/null
fi
@ -95,7 +94,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
rm -rf $TMPDIR
fi
exit
}
} # END cleanup()
# Override the slackpkg getfile().
# The new getfile() download all file needed from all defined repositories
@ -165,7 +164,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
if [ $(basename $1) = "CHECKSUMS.md5.asc" ];then
if [ "$CHECKGPG" = "on" ];then
for PREPO in $REPOPLUS;do
for PREPO in ${REPOPLUS[*]};do
URLFILE=${MIRRORPLUS[${PREPO/SLACKPKGPLUS_}]}CHECKSUMS.md5.asc
if echo $URLFILE | grep -q "^dir:/" ; then
continue
@ -178,8 +177,8 @@ if [ "$SLACKPKGPLUS" = "on" ];then
if [ $? -ne 0 ];then
$DOWNLOADER ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz.asc `echo $URLFILE|sed 's/\.asc$/.gz.asc/'`
if [ $? -eq 0 ];then
$DOWNLOADER ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz $URLFILE.gz
if [ $(checkgpg ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz) -eq 0 ];then
$DOWNLOADER ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz `echo $URLFILE|sed 's/\.asc$/.gz/'`
if [ $(checkgpg ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz) -eq 1 ];then
echo
echo " !!! N O T I C E !!!"
echo " Repository '$PREPO' does support signature checking for"
@ -189,6 +188,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo " 'slackpkg -checkgpg=off install packge'"
echo " The package authenticity remains guaranteed."
echo
zcat ${TMPDIR}/CHECKSUMS.md5-$PREPO.gz > ${TMPDIR}/CHECKSUMS.md5-$PREPO
sleep 5
continue
fi
@ -204,7 +204,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo " Remember to import keys by launching 'slackpkg update gpg'."
echo
sleep 5
echo > ${TMPDIR}/CHECKSUMS.md5
echo > ${TMPDIR}/CHECKSUMS.md5-$PREPO
fi
else
echo
@ -222,7 +222,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
fi
fi
if [ $(basename $1) = "ChangeLog.txt" ];then
for PREPO in $REPOPLUS;do
for PREPO in ${REPOPLUS[*]};do
# Not all repositories have the ChangeLog.txt, so I use md5 of CHECKSUMS.md5 instead
URLFILE=${MIRRORPLUS[${PREPO/SLACKPKGPLUS_}]}CHECKSUMS.md5
if echo $URLFILE | grep -q "^file://" ; then
@ -238,18 +238,20 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo
echo " !!! F A T A L !!!"
echo " Repository '$PREPO' FAILS the CHECKSUMS.md5 download"
echo " The repository may be invald."
echo " The repository may be invalid and will be SKIPPED."
echo
sleep 5
echo -e "$PREPO: Invalid repository (fails to download CHECKSUMS.md5)" >> $TMPDIR/error.log
echo -e "$PREPO: SKIPPING Invalid repository (fails to download CHECKSUMS.md5)" >> $TMPDIR/error.log
PRIORITY=( $(echo ${PRIORITY[*]}" "|sed "s/SLACKPKGPLUS_$PREPO //") )
REPOPLUS=( $(echo " "${REPOPLUS[*]}" "|sed "s/ $PREPO //") )
else
echo "SLACKPKGPLUS_$PREPO[MD5]" $(md5sum ${TMPDIR}/CHECKSUMS.md5-$PREPO|awk '{print $1}') >>$2
fi
echo "SLACKPKGPLUS_$PREPO[MD5]" $(md5sum ${TMPDIR}/CHECKSUMS.md5-$PREPO|awk '{print $1}') >>$2
done
fi
if [ $(basename $1) = "GPG-KEY" ];then
for PREPO in $REPOPLUS;do
for PREPO in ${REPOPLUS[*]};do
if [ "${PREPO:0:4}" = "dir:" ];then
continue
fi
@ -277,7 +279,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
rm $2-tmp
done
fi
}
} # END getfile()
# override slackpkg checkgpg()
# new checkgpg() is used to check gpg and to merge the CHECKSUMS.md5 files
@ -292,8 +294,14 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo 1
fi
if [ "$(basename $1)" == "CHECKSUMS.md5" ];then
X86_64=$(ls /var/log/packages/aaa_base*x86_64* 2>/dev/null|head -1)
for PREPO in $REPOPLUS;do
if [ "$TAG_PRIORITY" == "on" ];then
mv ${TMPDIR}/CHECKSUMS.md5 ${TMPDIR}/CHECKSUMS.md5-old
for PREPO in ${PRIORITY[*]};do
grep " \./$PREPO/" ${TMPDIR}/CHECKSUMS.md5-old >> ${TMPDIR}/CHECKSUMS.md5
done
fi
X86_64=$(ls $ROOT/var/log/packages/aaa_base*x86_64* 2>/dev/null|head -1)
for PREPO in ${REPOPLUS[*]};do
if [ ! -z "$X86_64" ];then
if [ "$ALLOW32BIT" == "on" ];then
egrep -e ^[a-f0-9]{32} ${TMPDIR}/CHECKSUMS.md5-$PREPO|egrep -v -- "-(arm)-" |sed -r "s# \./# ./SLACKPKGPLUS_$PREPO/#" >> ${TMPDIR}/CHECKSUMS.md5
@ -305,7 +313,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
fi
done
fi
}
} # END checkgpg()
# override slackpkg checkmd5()
# Verify if the package was corrupted by checking md5sum
@ -333,7 +341,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
else
echo 0
fi
}
} # END checkmd5()
# Found packages in repository.
# This function selects the package from the higher priority
@ -345,7 +353,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
#
# repository_name:pattern
#
function givepriority {
function givepriority() {
local DIR
local ARGUMENT=$1
local PKGDATA
@ -357,6 +365,39 @@ if [ "$SLACKPKGPLUS" = "on" ];then
unset FULLNAME
unset PKGDATA
AUTOP=no
if [[ "$CMD" == "upgrade" || "$CMD" == "upgrade-all" ]];then
if [ ! -z "$AUTOPRIORITY" ];then
if echo "$ARGUMENT"|grep -wq $AUTOPRIORITY;then
AUTOP=$TAG_PRIORITY
fi
fi
if [ "$CMD" == "upgrade-all" ];then
AUTOP=$TAG_PRIORITY
fi
fi
if [ "$AUTOP" == "on" ] ; then
PKGINFOS=$(
cd /var/log/packages
ls $ARGUMENT-* 2>/dev/null |sed 's/$/.txz/' | awk -f /usr/libexec/slackpkg/pkglist.awk|
grep " $ARGUMENT "|awk '{print $1,$4}'|
( read X
echo "$X"|sed -r -e 's/ [0-9]+([^0-9].*)*$/ [^ ]\\+ [^ ]\\+ [0-9]\\+\1 /' -e 's/^/ /'
echo "$X"|sed -r -e 's/ [0-9]+([^0-9].*)*$/ [^ ]\\+ [^ ]\\+ [0-9]\\+\1_slack[0-9]/' -e 's/^/ /'
)| grep -f - -n -m 1 ${TMPDIR}/pkglist
)
if [ ! -z "$PKGINFOS" ] ; then
LINEIDX=$(echo "$PKGINFOS" | cut -f1 -d":")
PKGDATA=( $(echo "$PKGINFOS" | cut -f2- -d":") )
sed -i --expression "${LINEIDX}d" --expression "${PRIORITYIDX}i${PKGDATA[*]}" ${TMPDIR}/pkglist
(( PRIORITYIDX++ ))
if [ "$PKGDATA" ]; then
NAME=${PKGDATA[1]}
FULLNAME=$(echo "${PKGDATA[5]}.${PKGDATA[7]}")
fi
fi
fi
for CPRIORITY in ${PRIORITY[@]} ; do
[ "$PKGDATA" ] && break
@ -397,7 +438,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
FULLNAME=$(echo "${PKGDATA[5]}.${PKGDATA[7]}")
fi
done
}
} # END givepriority()
function searchPackages() {
local i
@ -406,9 +447,9 @@ if [ "$SLACKPKGPLUS" = "on" ];then
grep -vE "(^#|^[[:blank:]]*$)" ${CONF}/blacklist > ${TMPDIR}/blacklist
if echo $CMD | grep -q install ; then
ls -1 /var/log/packages/* | awk -f /usr/libexec/slackpkg/pkglist.awk > ${TMPDIR}/tmplist
ls -1 $ROOT/var/log/packages/* | awk -f /usr/libexec/slackpkg/pkglist.awk > ${TMPDIR}/tmplist
else
ls -1 /var/log/packages/* | awk -f /usr/libexec/slackpkg/pkglist.awk | applyblacklist > ${TMPDIR}/tmplist
ls -1 $ROOT/var/log/packages/* | awk -f /usr/libexec/slackpkg/pkglist.awk | applyblacklist > ${TMPDIR}/tmplist
fi
cat ${WORKDIR}/pkglist | applyblacklist > ${TMPDIR}/pkglist
@ -474,7 +515,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
rm ${TMPDIR}/waiting
echo -e "DONE\n"
}
} # END searchPackages()
function searchlistEX() {
local i
@ -512,8 +553,8 @@ if [ "$SLACKPKGPLUS" = "on" ];then
# First is the package already installed?
# Amazing what a little sleep will do
# exclusion is so much nicer :)
INSTPKG=$(ls -1 /var/log/packages | grep -e "^${BASENAME}-[^-]\+-[^-]\+-[^-]\+")
#INSTPKG=$(ls -1 /var/log/packages | grep -e "^${BASENAME}-[^-]\+-\(${ARCH}\|fw\|noarch\)-[^-]\+")
INSTPKG=$(ls -1 $ROOT/var/log/packages | grep -e "^${BASENAME}-[^-]\+-[^-]\+-[^-]\+")
#INSTPKG=$(ls -1 $ROOT/var/log/packages | grep -e "^${BASENAME}-[^-]\+-\(${ARCH}\|fw\|noarch\)-[^-]\+")
# INSTPKG is local version
if [ ! "${INSTPKG}" = "" ]; then
@ -540,16 +581,38 @@ if [ "$SLACKPKGPLUS" = "on" ];then
printf " %-16s %-24s %-40s \n" "$STATUS" "$REPO" "${RAWNAME}"
fi
done
}
} # END searchlistEX()
# Ensure each repository url has a trailing slash...
#
for PREPO in "${!MIRRORPLUS[@]}" ; do
MIRRORPLUS[$PREPO]="${MIRRORPLUS[$PREPO]%/}/"
done
touch $TMPDIR/greylist.1
if [ -e /etc/slackpkg/greylist ];then
cat /etc/slackpkg/greylist|sed -e 's/#.*//'|grep -v -e '^#' -e '^$'|awk '{print $1}'|sort -u >$TMPDIR/greylist.1
if [ -e $CONF/greylist ];then
cat $CONF/greylist|sed -e 's/#.*//'|grep -v -e '^#' -e '^$'|awk '{print $1}'|sort -u >$TMPDIR/greylist.1
cat $TMPDIR/greylist.1|sed 's/^/SLACKPKGPLUS_/' >$TMPDIR/greylist.2
fi
REPOPLUS=$(echo "${REPOPLUS[*]} ${PKGS_PRIORITY[*]} ${!MIRRORPLUS[*]}"|sed 's/ /\n/g'|sed 's/:.*//'|awk '{if(!a[$1]++)print $1}')
PRIORITY=( ${PRIORITY[*]} SLACKPKGPLUS_$(echo $REPOPLUS|sed 's/ / SLACKPKGPLUS_/g') )
INDEX=0
PURE_PKGSPRIORITY=""
for pp in ${PKGS_PRIORITY[@]} ; do
repository=$(echo "$pp" | cut -f1 -d":")
if [ "$pp" == "$repository" ] && grep -q "^SLACKPKGPLUS_${repository}[ ]" $WORKDIR/pkglist 2>/dev/null ; then
pp="$repository:.*"
PKGS_PRIORITY[$INDEX]="$repository:.*"
fi
if ! echo "$repository" | grep -qwE "$SLACKDIR_REGEXP" ; then
PURE_PKGSPRIORITY=( ${PURE_PKGSPRIORITY[*]} $pp )
fi
((INDEX++))
done
REPOPLUS=( $(echo "${REPOPLUS[*]} ${PURE_PKGSPRIORITY[*]} ${!MIRRORPLUS[*]}"|sed 's/ /\n/g'|sed 's/:.*//'|awk '{if(!a[$1]++)print $1}') )
PRIORITY=( ${PRIORITY[*]} SLACKPKGPLUS_$(echo ${REPOPLUS[*]}|sed 's/ / SLACKPKGPLUS_/g') )
# Test repositories
for pp in ${REPOPLUS[*]};do
@ -563,9 +626,9 @@ if [ "$SLACKPKGPLUS" = "on" ];then
fi
done
if [ /etc/slackpkg/slackpkgplus.conf -nt $WORKDIR/pkglist -a "$CMD" != "update" ];then
if [ $CONF/slackpkgplus.conf -nt $WORKDIR/pkglist -a "$CMD" != "update" ];then
echo
echo "NOTICE: remember to re-run 'slackpkg update' after modifing slackpkgplus.conf"
echo "NOTICE: remember to re-run 'slackpkg update' after modifying slackpkgplus.conf"
echo
sleep 5
fi
@ -580,10 +643,15 @@ if [ "$SLACKPKGPLUS" = "on" ];then
package=$(echo "$pp" | cut -f2- -d":")
if [ ! -z "$repository" ] && [ ! -z "$package" ] ; then
if ! echo "$repository" | grep -qwE "$SLACKDIR_REGEXP" ; then
repository="SLACKPKGPLUS_${repository}"
fi
if [ -z "$PREFIX" ] ; then
PREFIX=( SLACKPKGPLUS_${repository}:$package )
PREFIX=( ${repository}:$package )
else
PREFIX=( ${PREFIX[*]} SLACKPKGPLUS_${repository}:$package )
PREFIX=( ${PREFIX[*]} ${repository}:$package )
fi
fi
done
@ -612,7 +680,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
#
function internal_blacklist() {
echo "$1" >> ${TMPDIR}/blacklist.slackpkgplus
}
} # END internal_blacklist()
# Override original applyblackist() so that internal blacklist will
# be applied too.
@ -637,7 +705,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
cat $TMPDIR/greylist.* >$TMPDIR/greylist
grep -qvEw -f $TMPDIR/greylist $TMPDIR/pkglist-pre >$TMPDIR/unchecklist
}
} # END applyblacklist()
# -- handle the event $1 that occured on packages $SHOWLIST
#
@ -653,7 +721,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
local MSGLIST=""
local USERKEY
find /var/log/packages/ -type f -printf "%f\n" | sort > ${TMPDIR}/installed.tmp
find $ROOT/var/log/packages/ -type f -printf "%f\n" | sort > ${TMPDIR}/installed.tmp
# -- Get the basename of packages which have been effectively
# installed, upgraded, or removed
@ -696,7 +764,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo " "
fi
fi
}
} # END handle_event()
# Overrides original remove_pkg(). Required by the notification mechanism.
function remove_pkg() {
@ -706,13 +774,13 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo -e "\nPackage: $i"
echo -e "\tRemoving... "
removepkg $i
if [ ! -e /var/log/packages/$i ];then
FDATE=$(ls -ltr --full-time /var/log/removed_packages/$i|tail -1 |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
if [ ! -e $ROOT/var/log/packages/$i ];then
FDATE=$(ls -ltr --full-time $ROOT/var/log/removed_packages/$i|tail -1 |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
echo "$FDATE removed: $i" >> $WORKDIR/install.log
fi
done
handle_event "remove"
}
} # END remove_pkg()
# Overrides original upgrade_pkg(). Required by the notification mechanism.
function upgrade_pkg() {
@ -726,20 +794,20 @@ if [ "$SLACKPKGPLUS" = "on" ];then
done
DELALL="$OLDDEL"
fi
ls -1 /var/log/packages > $TMPDIR/tmplist
ls -1 $ROOT/var/log/packages > $TMPDIR/tmplist
for i in $SHOWLIST; do
PKGFOUND=$(grep -m1 -e "^$(echo $i|rev|cut -f4- -d-|rev)-[^-]\+-[^-]\+-[^-]\+$" $TMPDIR/tmplist)
REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//')
getpkg $i upgradepkg Upgrading
if [ -e "/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
FDATE=$(ls -l --full-time /var/log/packages/$(echo $i|sed 's/\.t.z//') |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
FDATE=$(ls -l --full-time $ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//') |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
echo "$FDATE upgraded: $i [$REPOPOS] (was $PKGFOUND)" >> $WORKDIR/install.log
fi
done
handle_event "upgrade"
}
} # END upgrade_pkg()
# Overrides original install_pkg(). Required by the notification mechanism.
function install_pkg() {
@ -755,18 +823,18 @@ if [ "$SLACKPKGPLUS" = "on" ];then
fi
for i in $SHOWLIST; do
INSTALL_T='installed: '
if [ -e /var/log/packages/$(echo $i|sed 's/\.t.z//') ];then
if [ -e $ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//') ];then
INSTALL_T='reinstalled:'
fi
REPOPOS=$(grep -m1 " $(echo $i|sed 's/\.t.z//') " $TMPDIR/pkglist|awk '{print $1}'|sed 's/SLACKPKGPLUS_//')
getpkg $i installpkg Installing
if [ -e "/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
FDATE=$(ls -l --full-time /var/log/packages/$(echo $i|sed 's/\.t.z//') |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
if [ -e "$ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//')" ];then
FDATE=$(ls -l --full-time $ROOT/var/log/packages/$(echo $i|sed 's/\.t.z//') |awk '{print $6" "$7}'|sed -r -e 's/\.[0-9]{9}//' -e 's,-,/,' -e 's,-,/,')
echo "$FDATE $INSTALL_T $i [$REPOPOS]" >> $WORKDIR/install.log
fi
done
handle_event "install"
}
} # END install_pkg()
function wgetdebug(){
local SRCURL
@ -804,17 +872,21 @@ if [ "$SLACKPKGPLUS" = "on" ];then
return $WGETERR
}
} # END wgetdebug()
DOWNLOADER="wget $WGETOPTS --no-check-certificate --passive-ftp -O"
if [ "$VERBOSE" = "0" ];then
DOWNLOADER="wget $WGETOPTS --no-check-certificate -nv --passive-ftp -O"
elif [ "$VERBOSE" = "2" ];then
if [ ! -z "$DOWNLOADCMD" ];then
DOWNLOADER="$DOWNLOADCMD"
else
DOWNLOADER="wget $WGETOPTS --no-check-certificate --passive-ftp -O"
elif [ "$VERBOSE" = "3" ];then
DOWNLOADER="wgetdebug"
elif [ "$CMD" = "update" ];then
DOWNLOADER="wget $WGETOPTS --no-check-certificate -nv --passive-ftp -O"
if [ "$VERBOSE" = "0" ];then
DOWNLOADER="wget $WGETOPTS --no-check-certificate -nv --passive-ftp -O"
elif [ "$VERBOSE" = "2" ];then
DOWNLOADER="wget $WGETOPTS --no-check-certificate --passive-ftp -O"
elif [ "$VERBOSE" = "3" ];then
DOWNLOADER="wgetdebug"
elif [ "$CMD" = "update" ];then
DOWNLOADER="wget $WGETOPTS --no-check-certificate -nv --passive-ftp -O"
fi
fi
# Global variable required by givepriority()
@ -822,7 +894,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
PRIORITYIDX=1
touch ${TMPDIR}/pkglist-pre
for PREPO in $REPOPLUS;do
for PREPO in ${REPOPLUS[*]};do
pref=${MIRRORPLUS[$PREPO]}
if [ "${pref:0:5}" = "dir:/" ];then
localpath=$(echo "$pref" | cut -f2- -d":"|sed -e 's_/$__' -e 's_//_/_')
@ -917,7 +989,11 @@ if [ "$SLACKPKGPLUS" = "on" ];then
repository=$(echo "$pref" | cut -f1 -d":")
package=$(echo "$pref" | cut -f2- -d":")
PRIORITYLIST=( ${PRIORITYLIST[*]} SLACKPKGPLUS_${repository}:$package )
if ! echo "$repository" | grep -qwE "$SLACKDIR_REGEXP" ; then
repository="SLACKPKGPLUS_${repository}"
fi
PRIORITYLIST=( ${PRIORITYLIST[*]} ${repository}:$package )
fi
# You can specify 'slackpkg install reponame' where reponame is a thirdy part repository
@ -925,9 +1001,13 @@ if [ "$SLACKPKGPLUS" = "on" ];then
echo "$pref" | grep -qi "multilib" && MLREPO_SELELECTED=true
if $MLREPO_SELELECTED && [ "$CMD" == "remove" ] ; then
internal_blacklist "glibc"
internal_blacklist "gcc"
if $MLREPO_SELELECTED ; then
if [ "$CMD" == "install" ] ; then
internal_blacklist "glibc-debug"
elif [ "$CMD" == "remove" ] ; then
internal_blacklist "glibc"
internal_blacklist "gcc"
fi
fi
package="SLACKPKGPLUS_${pref}"
@ -953,6 +1033,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
# You can specify 'slackpkg install argument' where argument is a package name, part of package name, directory name in repository
else
package=$pref
AUTOPRIORITY=" $AUTOPRIORITY -e $package "
fi
if [ "$CMD" == "remove" ];then
@ -1075,7 +1156,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
printf "\n [ %-24s ] [ %-20s ]\n" "Repository" "Status"
for REPO in slackware $REPOPLUS; do
for REPO in slackware ${REPOPLUS[*]}; do
if grep -q "^${REPO}$" ${TMPDIR}/updated-repos.txt ; then
printf " %-24s %-20s \n" "$REPO" "AVAILABLE UPDATES"
else

View file

@ -1,3 +1,4 @@
# Configuration for slackpkg+. See /usr/doc/slackpkg+-*/README for more details
# Enable (on) / Disable (off) slackpkg+
SLACKPKGPLUS=on
@ -15,7 +16,11 @@ USEBL=1
# Add custom option to 'wget'.
# You can solve the repository indisponibility issue by set a timeout here
WGETOPTS="--timeout=5 --tries=1"
WGETOPTS="--timeout=20 --tries=2"
# If you want replace wget with another downloader search DOWNLOADCMD in documentation
# at /usr/doc/slackpkg+-*/README
#DOWNLOADCMD="wget -O"
# Enable (on) / Disable (off) notification events (see notifymsg.conf)
#ENABLENOTIFY=off
@ -26,12 +31,27 @@ GREYLIST=on
# If two or more repositories contains some same packages, you can specify
# from which repository you prefer to search it.
# The syntax is "<repository_name>:<package_name>"
# Accepts regular expressions. To give priority to an entire repository use "<repository_name>:.*"
# Accepts regular expressions. To give priority to an entire repository use "<repository_name>"
# Examples:
#PKGS_PRIORITY=( restricted:vlc )
#PKGS_PRIORITY=( myrepo:.* )
# OR
#PKGS_PRIORITY=( myrepo )
#
# if you have two reporitories to give priority you must set both in the same line
#PKGS_PRIORITY=( myrepo restricted:vlc )
#
# if you want to install 'ktown' repository you must set it here
#PKGS_PRIORITY=( ktown )
# and DO NOT MISS to read special instruction on /usr/doc/slackpkg+-*/repositories.txt
# Otherwise you can try to upgrade a package from a repository that contains a package with the
# same tag of the already installed package. Tipically that means to upgrade a package from the
# same author of the already installed package.
# Note that this method may not works properly where two repositories contains a package with the
# same tag.
# Set TAG_PRIORITY to 'on' to enable this function
TAG_PRIORITY=off
# List repositories you want to use (defined below)
# remember to launch 'slackpkg update' if you modify that row.
@ -39,8 +59,9 @@ REPOPLUS=( slackpkgplus restricted alienbob slacky )
# Define mirrors (uncomment one or more mirror; remember to add it to REPOPLUS)
# Note: only multilib,alienbob,restricted,slacky repositories support GPG. If you add others
# you may need to disable gpg check in slackpkg.conf
# GPG Note: after adding a repository, you must to run 'slackpkg update gpg'
# some repositories as salixos or slackel, have a partial GPG support;
# for that repositories you may need to run slackpkg with 'slackpkg -checkgpg=off ...'
# Slackware 14.1 - i386
MIRRORPLUS['alienbob']=http://taper.alienbase.nl/mirrors/people/alien/sbrepos/14.1/x86/
@ -58,6 +79,6 @@ MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/
#
# Supported Repositories (see /usr/doc/slackpkg+-* for details):
# Supported Repositories (see /usr/doc/slackpkg+-* for details and notes):
#

View file

@ -1,3 +1,4 @@
# Configuration for slackpkg+. See /usr/doc/slackpkg+-*/README for more details
# Enable (on) / Disable (off) slackpkg+
SLACKPKGPLUS=on
@ -9,9 +10,10 @@ SLACKPKGPLUS=on
VERBOSE=1
# By default slackpkg+ deny to install 32bit packages.
#
# Set this flag to 'on' allow slackpkg+ to install 32bit packages on a 64bit slackware
# installation (possibly unsafe). Please, do not install both 32 and 64bit of the same
# package to avoid problems, and NEVER upgrade exitant 64bit packages with relative 32bit package.
# package to avoid problems, and NEVER upgrade existant 64bit packages with relative 32bit package.
# Do not forget to install the multilibs.
ALLOW32BIT=off
@ -22,7 +24,11 @@ USEBL=1
# Add custom option to 'wget'.
# You can solve the repository indisponibility issue by set a timeout here
WGETOPTS="--timeout=5 --tries=1"
WGETOPTS="--timeout=20 --tries=2"
# If you want replace wget with another downloader search DOWNLOADCMD in documentation
# at /usr/doc/slackpkg+-*/README
#DOWNLOADCMD="wget -O"
# Enable (on) / Disable (off) notification events (see notifymsg.conf)
#ENABLENOTIFY=off
@ -33,16 +39,35 @@ GREYLIST=on
# If two or more repositories contains some same packages, you can specify
# from which repository you prefer to search it.
# The syntax is "<repository_name>:<package_name>"
# Accepts regular expressions. To give priority to an entire repository use "<repository_name>:.*"
# Accepts regular expressions. To give priority to an entire repository use "<repository_name>"
# Examples:
#PKGS_PRIORITY=( restricted:vlc )
#PKGS_PRIORITY=( myrepo:.* )
# OR
#PKGS_PRIORITY=( myrepo )
#
# if you have two reporitories to give priority you must set both in the same line
#PKGS_PRIORITY=( myrepo restricted:vlc )
#
# if you want to install 'ktown' repository you must set it here
#PKGS_PRIORITY=( ktown )
# and DO NOT MISS to read special instruction on /usr/doc/slackpkg+-*/repositories.txt
#
# If you want a multilib system, uncomment the multilib repository and set:
#PKGS_PRIORITY=( multilib:.* )
#PKGS_PRIORITY=( multilib )
#
# (Use /usr/doc/slackpkg+-*/setupmultilib.sh to setup a multilib configuration)
#
# For both multilib and ktown set
#PKGS_PRIORITY=( multilib ktown )
# Otherwise you can try to upgrade a package from a repository that contains a package with the
# same tag of the already installed package. Tipically that means to upgrade a package from the
# same author of the already installed package.
# Note that this method may not works properly where two repositories contains a package with the
# same tag.
# Set TAG_PRIORITY to 'on' to enable this function
TAG_PRIORITY=off
# List repositories you want to use (defined below)
# remember to launch 'slackpkg update' if you modify that row.
@ -50,8 +75,9 @@ REPOPLUS=( slackpkgplus restricted alienbob slacky )
# Define mirrors (uncomment one or more mirror; remember to add it to REPOPLUS)
# Note: only multilib,alienbob,restricted,slacky repositories support GPG. If you add others
# you may need to disable gpg check in slackpkg.conf
# GPG Note: after adding a repository, you must to run 'slackpkg update gpg'
# some repositories as salixos or slackel, have a partial GPG support;
# for that repositories you may need to run slackpkg with 'slackpkg -checkgpg=off ...'
# Slackware 14.1 - x86_64
#MIRRORPLUS['multilib']=http://taper.alienbase.nl/mirrors/people/alien/multilib/14.1/
@ -64,7 +90,6 @@ MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/
# Slackware current - x86_64
#MIRRORPLUS['multilib']=http://taper.alienbase.nl/mirrors/people/alien/multilib/current/
#MIRRORPLUS['zerouno']=http://www.z01.eu/repo-slack/slackware64-current/
# Local repository:
#MIRRORPLUS['alienbob']=file://repositories/alien/sbrepos/14.1/x86/
@ -74,6 +99,6 @@ MIRRORPLUS['slackpkgplus']=http://slakfinder.org/slackpkg+/
#
# Supported Repositories (see /usr/doc/slackpkg+-* for details):
# Supported Repositories (see /usr/doc/slackpkg+-* for details and notes):
#

View file

@ -27,7 +27,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
rm -f $TMPDIR/dialog.tmp
if [ "$2" = "upgrade" ]; then
ls -1 /var/log/packages > $TMPDIR/tmplist
ls -1 $ROOT/var/log/packages > $TMPDIR/tmplist
for i in $1; do
TMPONOFF=$ONOFF
BASENAME=$(cutpkg $i)
@ -74,7 +74,7 @@ if [ "$SLACKPKGPLUS" = "on" ];then
cat $TMPDIR/dialog.out >> $TMPDIR/error.log
echo -e "-------------
If you want to continue using slackpkg, disable the DIALOG option in
/etc/slackpkg/slackpkg.conf and try again.
$CONF/slackpkg.conf and try again.
Help us to make slackpkg a better tool - report bugs to the slackpkg
developers" >> $TMPDIR/error.log