aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2019-09-16 09:15:16 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2019-09-16 09:16:37 +0200
commitcbd74112e0ee98461db58ac943daced1b668edb9 (patch)
tree3222bbaf0ae1d34f19a412d24381d971e5859962
parent66cb557a9ab03de4eff810547136c39b78b2b781 (diff)
downloadslackupgrade-cbd74112e0ee98461db58ac943daced1b668edb9.tar.gz
slackupgrade-cbd74112e0ee98461db58ac943daced1b668edb9.tar.bz2
Add README and Makefile
-rw-r--r--.gitignore6
-rw-r--r--Makefile78
-rw-r--r--README115
-rw-r--r--slackware-upgrade-system3
4 files changed, 200 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0fb737c
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+*~
+*.bak
+*.tar
+*.tar.[gx]z
+.emacs*
+tmp/
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..09a5a8c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,78 @@
+# Makefile for slackware-upgrade-system
+# Copyright (C) 2019 Sergey Poznyakoff.
+#
+# Slackware-upgrade-system is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as published
+# by the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# Slackware-upgrade-system is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with slackware-upgrade-system. If not, see
+# <http://www.gnu.org/licenses/>.
+
+PACKAGE=slackupgrade
+VERSION=0.1
+
+SBINDIR=/sbin
+MANDIR=/usr/man
+MAN8DIR=$(MANDIR)/man8
+
+help:;
+ @echo "Avalable targets:"
+ @echo ""
+ @echo "$$ make install"
+ @echo " Installs the program. Influential variables:"
+ @echo " SBINDIR - directory to install system binaries to ($(SBINDIR))"
+ @echo " MANDIR - toplevel directory for man page installation ($(MANDIR))"
+ @echo ""
+ @echo "$$ make install-sbin"
+ @echo " Installs only the slackware-upgrade-system script."
+ @echo ""
+ @echo "$$ make install-man"
+ @echo " Installs only the manpage."
+ @echo ""
+ @echo "$$ make dist"
+ @echo " Creates the distribution tarball."
+
+# ##########################
+# Installation rules
+# ##########################
+install: install-sbin install-man
+
+install-sbin:
+ @if ! test -d $(DESTDIR)$(SBINDIR); then install -d $(DESTDIR)$(SBINDIR); fi
+ install slackware-upgrade-system $(DESTDIR)$(SBINDIR)
+
+install-man:
+ @if ! test -d $(DESTDIR)$(MAN8DIR); then install -d $(DESTDIR)$(MAN8DIR); fi
+ install -m 644 slackware-upgrade-system.8 $(DESTDIR)$(MAN8DIR)
+
+# ##########################
+# Distribution tarball rules
+# ##########################
+
+DISTDIR=$(PACKAGE)-$(VERSION)
+DISTFILES=\
+ slackware-upgrade-system\
+ slackware-upgrade-system.8\
+ Makefile\
+ COPYING\
+ README
+
+distdir:
+ test -d $(DISTDIR) || mkdir $(DISTDIR)
+ tar -c -f - $(DISTFILES) | tar -C $(DISTDIR) -x -f -
+
+dist: distdir
+ tar zcf $(DISTDIR).tar.gz $(DISTDIR)
+ rm -rf $(DISTDIR)
+ @s="$(DISTDIR).tar.gz created"; \
+ echo "$$s" | sed -e s/./=/g; \
+ echo "$$s"; \
+ echo "$$s" | sed -e s/./=/g
+
diff --git a/README b/README
new file mode 100644
index 0000000..657fec5
--- /dev/null
+++ b/README
@@ -0,0 +1,115 @@
+Overview
+========
+
+This package provides slackware-upgrade-system, a script that performs
+a full upgrade of a Slackware distribution.
+
+Installation
+============
+
+Run "make install" as root. The slackware-upgrade-system will be
+installed to /sbin, and its man page, slackware-upgrade-system.8, to
+/usr/man/man8. These are most suitable locations for Slackware. To
+install them elsewhere, use the following Makefile variables:
+
+ SBINDIR - Directory to install slackware-upgrade-system to.
+ MANDIR - toplevel directory for man page installation (/usr/man).
+ MAN8DIR - directory for the man page installation ($(MANDIR)/man8).
+
+Usage
+=====
+
+Before upgrade, please make sure you backup all sensitive data on your
+system. When upgrading a remote machine, it advisable to have a KVM
+console attached to it, so that you can intervene if the box refuses
+to boot.
+
+Please read slackware-upgrade-system(8) to familiarize yourself with
+the script and its options.
+
+Run slackware-upgrade-system in dry-run mode:
+
+ slackware-upgrade-system -n
+
+This will look for the nearest next release available, create the list
+of packages to be upgraded, installed and removed and will print the
+results. This run will not touch any files on your filesystem
+(excepting the slackware-upgrade-system logs, see below). Instead it
+will verbosely print what would have been done during real upgrade.
+Inspect its output to see if it actually does what you need. In
+particular, the upgrade will most likely decide to remove some
+packages during the upgrade. These are the packages that existed in
+your current release, but have been removed in the next one, or the
+packages you have installed from third-party sources. You may wish to
+retain any of them or provide replacements, or reinstall them afterward.
+
+If you wish to retain any of them, create a list of packages to retain
+and supply it to the script using the -k command line option (see the
+man page for details).
+
+To provide a replacement, use the -p option. For example, when
+upgrading from 14.1 to 14.2, the "procps" package will be removed. The
+utilities it used to provide have been moved to the "procps-ng"
+package. So, when upgrading from 14.1 to 14.2, it is a good idea to
+use
+
+ slackware-upgrade-system -p procps-ng
+
+For your information, the list of removed packages is left in file
+/var/log/slackware-upgrade-system-<P>-<N>.removed (see below).
+
+When you are finished with the dry run, proceed to the actual upgrade.
+Run
+
+ slackware-upgrade-system
+
+with any additional options you decided to give it after the dry run.
+After completion, the script will create three files for your
+consideration. In the discussion below, <P> stands for the original
+Slackware version number, and <N> stands for the new Slackware version
+number (the version you upgraded to):
+
+/var/log/slackware-upgrade-system-<P>-<N>.log
+ Log file. Contains detailed transcript of all actions performed
+ during the upgrade.
+
+/var/log/slackware-upgrade-system-<P>-<N>.removed
+ A list of packages removed during the upgrade. A package is removed
+ if the new release does not provide a replacement for it. This may
+ not always be desirable, and you may reinstall some of them
+ afterward.
+
+/var/log/slackware-upgrade-system-<P>-<N>.conffiles
+ A list of configuration file replacements created during the upgrade.
+ These are configuration files provided by the upgraded packages that
+ are left in the filesystem along with your current file versions.
+ They have the same names as the original files, but with the ".new"
+ suffix. Please revise these files. You may need to merge them with
+ your actual files, or move them over, or simply remove them.
+
+Before attempting to reboot your system, please make sure that the
+bootloader has been updated for the new kernel.
+
+Special notes
+=============
+
+We recommend to always upgrade to the next release, without skipping
+release numbers (even though the script allows you to do so). For
+example, instead of upgrading from 14.0 to 14.2, run two subsequent
+upgrades. First, upgrade your system, to 14.1 and make sure everything
+works as expected. Then, upgrade it to 14.2.
+
+License
+=======
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/slackware-upgrade-system b/slackware-upgrade-system
index 5979758..45401f6 100644
--- a/slackware-upgrade-system
+++ b/slackware-upgrade-system
@@ -84,8 +84,7 @@ Options are:
-n dry-run mode: do nothing, print what would have been done
-p PACKAGE install additional package
-q quiet mode: suppress all messages, except errors
- -s SERIES additionally install all packages from SERIES;
- incompatible with -a
+ -s SERIES additionally install all packages from SERIES
-v display messages about individual packages
-y assume "yes" to all queries

Return to:

Send suggestions and report system problems to the System administrator.