mirror of
https://github.com/zuno/slackpkgplus
synced 2024-12-27 09:58:34 +01:00
Merge branch 'master' into devel
This commit is contained in:
commit
16c6b79b2f
11 changed files with 459 additions and 149 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
112
src/README
112
src/README
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}}' \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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):
|
||||
#
|
||||
|
||||
|
|
|
@ -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):
|
||||
#
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue