summaryrefslogtreecommitdiffstats
path: root/source/a/pkgtools/scripts/upgradepkg
diff options
context:
space:
mode:
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
commit345b47e0726d4221c4a2d5b745731ca6c10a0f69 (patch)
treeb2cb9a0ba72c1626306a92d0142829434cac2ed6 /source/a/pkgtools/scripts/upgradepkg
parent08abb060ab1ce8e9b334eb540481976590d56cd4 (diff)
downloadcurrent-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/pkgtools/scripts/upgradepkg')
-rw-r--r--source/a/pkgtools/scripts/upgradepkg25
1 files changed, 24 insertions, 1 deletions
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"