diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2021-05-21 19:33:21 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-05-22 08:59:53 +0200 |
commit | 345b47e0726d4221c4a2d5b745731ca6c10a0f69 (patch) | |
tree | b2cb9a0ba72c1626306a92d0142829434cac2ed6 /source/a | |
parent | 08abb060ab1ce8e9b334eb540481976590d56cd4 (diff) | |
download | current-345b47e0726d4221c4a2d5b745731ca6c10a0f69.tar.gz current-345b47e0726d4221c4a2d5b745731ca6c10a0f69.tar.xz |
Fri May 21 19:33:21 UTC 202120210521193321
a/exfatprogs-1.1.2-x86_64-1.txz: Upgraded.
a/kmod-29-x86_64-1.txz: Upgraded.
a/logrotate-3.18.1-x86_64-1.txz: Upgraded.
a/pkgtools-15.0-noarch-41.txz: Rebuilt.
installpkg, upgradepkg: skip the install script when doing upgradepkg's
pre-install. In cases where the script operations are expensive this can
nearly double the speed of upgrading a package. Thanks to Stuart Winter.
ap/texinfo-6.7-x86_64-5.txz: Rebuilt.
Recompiled against perl-5.34.0.
ap/vim-8.2.2876-x86_64-1.txz: Upgraded.
Compiled against perl-5.34.0.
d/perl-5.34.0-x86_64-1.txz: Upgraded.
d/sassc-3.6.2-x86_64-1.txz: Upgraded.
d/subversion-1.14.1-x86_64-3.txz: Rebuilt.
Recompiled against perl-5.34.0.
l/libsass-3.6.5-x86_64-1.txz: Upgraded.
l/libsigc++3-3.0.7-x86_64-1.txz: Upgraded.
n/bind-9.16.16-x86_64-1.txz: Upgraded.
n/epic5-2.1.4-x86_64-2.txz: Rebuilt.
Recompiled against perl-5.34.0.
n/irssi-1.2.3-x86_64-2.txz: Rebuilt.
Recompiled against perl-5.34.0.
n/libndp-1.8-x86_64-1.txz: Upgraded.
n/net-snmp-5.9-x86_64-6.txz: Rebuilt.
Recompiled against perl-5.34.0.
n/ntp-4.2.8p15-x86_64-8.txz: Rebuilt.
Recompiled against perl-5.34.0.
n/openldap-2.4.58-x86_64-2.txz: Rebuilt.
Recompiled against perl-5.34.0.
x/mesa-21.1.1-x86_64-1.txz: Upgraded.
xap/hexchat-2.14.3-x86_64-8.txz: Rebuilt.
Recompiled against perl-5.34.0.
xap/rxvt-unicode-9.26-x86_64-2.txz: Rebuilt.
Recompiled against perl-5.34.0.
xap/vim-gvim-8.2.2876-x86_64-1.txz: Upgraded.
Compiled against perl-5.34.0.
Diffstat (limited to 'source/a')
-rwxr-xr-x | source/a/kmod/kmod.SlackBuild | 4 | ||||
-rwxr-xr-x | source/a/logrotate/logrotate.SlackBuild | 2 | ||||
-rwxr-xr-x | source/a/pkgtools/pkgtools.SlackBuild | 2 | ||||
-rw-r--r-- | source/a/pkgtools/scripts/installpkg | 26 | ||||
-rw-r--r-- | source/a/pkgtools/scripts/upgradepkg | 25 |
5 files changed, 53 insertions, 6 deletions
diff --git a/source/a/kmod/kmod.SlackBuild b/source/a/kmod/kmod.SlackBuild index 5898846a1..4a01bd78e 100755 --- a/source/a/kmod/kmod.SlackBuild +++ b/source/a/kmod/kmod.SlackBuild @@ -26,8 +26,8 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=kmod -VERSION=${VERSION:-28} -BUILD=${BUILD:-3} +VERSION=${VERSION:-29} +BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$( uname -m )" in diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild index 6e750fc32..246740941 100755 --- a/source/a/logrotate/logrotate.SlackBuild +++ b/source/a/logrotate/logrotate.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=logrotate VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild index f0eca6586..c34f82f50 100755 --- a/source/a/pkgtools/pkgtools.SlackBuild +++ b/source/a/pkgtools/pkgtools.SlackBuild @@ -30,7 +30,7 @@ PKGNAM=pkgtools # *** UPDATE THESE WITH EACH BUILD: VERSION=15.0 ARCH=${ARCH:-noarch} -BUILD=${BUILD:-40} +BUILD=${BUILD:-41} # If the variable PRINT_PACKAGE_NAME is set, then this script will report what # the name of the created package would be, and then exit. This information diff --git a/source/a/pkgtools/scripts/installpkg b/source/a/pkgtools/scripts/installpkg index e7fa21c03..ee76cf134 100644 --- a/source/a/pkgtools/scripts/installpkg +++ b/source/a/pkgtools/scripts/installpkg @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1994, 1998, 2000 Patrick Volkerding, Concord, CA, USA # Copyright 2001, 2003 Slackware Linux, Inc., Concord, CA, USA -# Copyright 2007, 2009, 2011, 2017, 2018, 2019, 2020 Patrick Volkerding, Sebeka, MN, USA +# Copyright 2007, 2009, 2011, 2017, 2018, 2019, 2020, 2021 Patrick Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,6 +21,17 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # +# Thu May 20 18:55:21 UTC 2021 +# Add support for the flag ALWAYS_RUN_INSTALL_SCRIPT in doinst.sh. If it +# appears, then the install script will always be run, even in the pre-install +# pass. +# +# Wed May 19 18:11:44 UTC 2021 +# Don't run the install script if this is a pre-install pass as indicated by +# upgradepkg setting PRE_INSTALL_PASS="true". Some of the install scripts can +# take a significant amount of time to process, and there aren't any known +# cases where they actually need to be run twice. +# # Wed Apr 1 21:59:41 UTC 2020 # If the package contains /install/douninst.sh, copy the uninstall script to # $ADM_DIR/douninst.sh/$shortname and add the filename to the package list @@ -667,7 +678,20 @@ EOF ) 9> $INSTLOCKDIR/ldconfig.lock fi + # If we see ALWAYS_RUN_INSTALL_SCRIPT in the install script, then we'll + # unset PRE_INSTALL_PASS to ensure that the install script will be run even + # in a pre-install pass. We haven't found any case yet where skipping the + # install script in the pre-install pass breaks a package upgrade, but we'll + # add the ability to not skip it so there's a workaround if any corner cases + # emerge. Sorry to violate YAGNI like this. ;-) if [ -f $ROOT/$INSTDIR/doinst.sh ]; then + if grep -q ALWAYS_RUN_INSTALL_SCRIPT $ROOT/$INSTDIR/doinst.sh ; then + unset PRE_INSTALL_PASS + fi + fi + + # Run the install script if one exists and this isn't a pre-install pass: + if [ -f $ROOT/$INSTDIR/doinst.sh -a ! "$PRE_INSTALL_PASS" = "true" ]; then if [ "$MODE" = "install" ]; then echo "Executing install script for $(basename $package)." fi diff --git a/source/a/pkgtools/scripts/upgradepkg b/source/a/pkgtools/scripts/upgradepkg index d71ca4b03..9ae3ce204 100644 --- a/source/a/pkgtools/scripts/upgradepkg +++ b/source/a/pkgtools/scripts/upgradepkg @@ -1,7 +1,7 @@ #!/bin/bash # Copyright 1999 Patrick Volkerding, Moorhead, Minnesota, USA # Copyright 2001, 2002, 2003 Slackware Linux, Inc., Concord, California, USA -# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2015, 2021 Patrick J. Volkerding, Sebeka, MN, USA # Copyright 2015 Michal Nazarewicz <mina86@mina86.com> # All rights reserved. # @@ -22,6 +22,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # +# Wed May 19 04:46:53 UTC 2021 +# export PRE_INSTALL_PASS="true" if we'll be running installpkg a second time +# for each package. Perhaps then we could skip some expensive install script +# functions until the final pass. Thanks to Stuart Winter. +# # Mon Jun 4 21:17:58 UTC 2018 # Use /var/lib/pkgtools, not /var/log. # @@ -353,7 +358,14 @@ EOF +============================================================================== EOF fi + # Next, the new package is pre-installed: + + # Signal to the install script that this is a pre-install, in case it cares: + if [ ! "$NOT_PARANOID" = "true" ]; then + export PRE_INSTALL_PASS="true" + fi + if [ "$VERBOSE" = "verbose" ]; then if ! [ $TERSE ]; then /sbin/installpkg $INCOMINGDIR/$NNAME @@ -379,6 +391,17 @@ EOF RETCODE=$? fi fi + + # At this stage, if the operator supplied --no-paranoia, the package + # installation process (as far as unpacking content and running setup scripts + # is concerned) is complete. + # By default there will be a second and final installation pass, and to avoid + # executing expensive actions (such as re-generating data files or creating + # a large number of symlinks) installpkg skips running the install script on + # that first pass. Now we'll unset the PRE_INSTALL_PASS environment variable + # so that installpkg will run the install script. + unset PRE_INSTALL_PASS + # Make sure that worked: if [ ! $RETCODE = 0 ]; then echo "ERROR: Package $INCOMINGDIR/$NNAME did not install" |