aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rw-r--r--NEWS10
-rw-r--r--conf/14.2-15.0.repl10
-rw-r--r--slackupgrade42
4 files changed, 50 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 8c5063c..0a04321 100644
--- a/Makefile
+++ b/Makefile
@@ -16,13 +16,13 @@
# <http://www.gnu.org/licenses/>.
PACKAGE = slackupgrade
-VERSION = 2.1
+VERSION = 2.3
SBINDIR = /sbin
MANDIR = /usr/man
MAN8DIR = $(MANDIR)/man8
CONFDIR = /etc/$(PACKAGE)
-CONFFILES = conf/14.0-14.1.repl conf/14.1-14.2.repl
+CONFFILES = conf/14.0-14.1.repl conf/14.1-14.2.repl conf/14.2-15.0.repl
help:;
@echo "Avalable targets:"
diff --git a/NEWS b/NEWS
index 0e6eb31..b589948 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,16 @@
-slackupgrade -- history of user-visible changes. 2020-03-28
+slackupgrade -- history of user-visible changes. 2022-04-30
See the end of file for copying conditions.
Please send slackupgrade bug reports to <gray+slackupgrade@gnu.org.ua>
+Version 2.3, 2022-04-30
+
+* Support for Slackware 15.0
+
+Version 2.2, 2020-03-29
+
+* Fix the -k option.
+
Version 2.1, 2020-03-28
* Bugfix in the 14.1-14.2 replacement map.
diff --git a/conf/14.2-15.0.repl b/conf/14.2-15.0.repl
new file mode 100644
index 0000000..4bb2170
--- /dev/null
+++ b/conf/14.2-15.0.repl
@@ -0,0 +1,10 @@
+aaa_elflibs aaa_libraries
+ash dash
+glibc-solibs aaa_glibc-solibs
+man man-db
+mailx s-nail
+python python2
+qt qt5
+slocate mlocate
+tetex texlive
+openldap-client openldap
diff --git a/slackupgrade b/slackupgrade
index f00e20b..b7eb5c1 100644
--- a/slackupgrade
+++ b/slackupgrade
@@ -94,7 +94,8 @@ function tempdir_create() {
}
function tempdir_remove() {
- rm -rf $tempdir $onexit_remove_list
+ rm -rf $tempdir
+ dropfile $onexit_remove_list
}
function usage() {
@@ -165,7 +166,7 @@ function abend() {
function package_file_name() {
pkg=$(awk -vname=$1 '$1==name { print $2 }' $avail_index)
if [ -z "$pkg" ]; then
- error "package $name not found in index (should not happen!)"
+ error "package $1 not found in index (should not happen!)"
else
echo $pkg
fi
@@ -285,7 +286,7 @@ function getfile() {
# Removes FILE, if it has been downloaded from the remote repository,
function dropfile() {
if [ -n "$remote" ] || [ $strip_series -eq 1 ]; then
- rm $1
+ rm "$@"
fi
}
@@ -426,7 +427,7 @@ function abspath() {
eval $name=$val
;;
esac
-}
+}
# ##########
# Main
@@ -548,7 +549,7 @@ onexit_remove $checksums
announce=$(tail +13 $checksums | \
sed -n -r\
- -e 's/^[0-9a-fA-F]+[[:space:]]+(\.\/ANNOUNCE\.[[:digit:]_]+)$/\1/p')
+ -e 's/^[0-9a-fA-F]+[[:space:]]+(\.\/ANNOUNCE\.[[:digit:]_.]+)$/\1/p')
if [ -z "$announce" ]; then
abend "ANNOUNCE not found in $rooturl"
fi
@@ -624,26 +625,26 @@ else
fi
# Create $remove_report and the list of installation candidates.
-if [ -f "$SLACKUPGRADE_CONFDIR/$VERSION-$newversion.repl" ]; then
- info "reading $SLACKUPGRADE_CONFDIR/$VERSION-$newversion.repl"
+replace_file="$SLACKUPGRADE_CONFDIR/$VERSION-$newversion.repl"
+rename_file=rename.list
+if [ -f "$replace_file" ]; then
+ info "reading $replace_file"
# Update candidates and save the replacement map in a temporary.
awk '{ sub(/#.*$/,""); sub(/[[:space:]]+$/,"") }
/\\$/ { sub(/\\$/,""); p = p $0; next }
NF == 0 { if (p) print p; p = ""; next }
{ print p $0; p="" }' \
- $SLACKUPGRADE_CONFDIR/$VERSION-$newversion.repl | \
+ $replace_file | \
sort +0 -1 | \
- tee rename.$$ | \
+ tee rename.list | \
join - remove.list | \
cut -d ' ' -f 2- | \
tr ' ' '\n' | \
cat - candidates.$$ | \
sort -u > candidates
# Use the temporary to remove the original package names from the report.
- awk '{print $1}' rename.$$ | \
+ awk '{print $1}' rename.list | \
comm -13 - remove.list > $remove_report
- # Clean up
- rm rename.$$
else
cp remove.list $remove_report
mv candidates.$$ candidates
@@ -769,6 +770,10 @@ if [ -n "$remote" ]; then
# number of dependencies.
pkg_names="$pkg_names aaa_elflibs wget"
fi
+
+if [ -f $rename_file ]; then
+ pkg_names=$(echo "$pkg_names" | tr ' ' '\n' | sort | join -j 1 -a 1 - rename.list | cut -d ' ' -f 2- | sort | tr '\n' ' ')
+fi
pkg_re='^('$(echo "$pkg_names" | sed -r -e 's/ +/|/g')')$'
pkg_files=
@@ -784,7 +789,14 @@ do
done
info "installing essential packages"
-upgrade_local $pkg_files
+for pkg in $pkg_files
+do
+ upgrade_local --install-new $pkg
+ case $(basename $pkg) in
+ aaa_*)
+ ldconfig
+ esac
+done
if [ -n "$remote" ]; then
# Until now we have been using whatever downloader that is available
@@ -806,6 +818,10 @@ do
prev=$s
fi
upgrade_package $pkg --install-new
+ case $(basename $pkg) in
+ aaa_*)
+ ldconfig
+ esac
done
if [ -s remove.list ]; then

Return to:

Send suggestions and report system problems to the System administrator.