autoslackpkg automates the use of slackpkg. The script expects to be run
as the root user. It also expects specific modifications to blacklist,
mkinitrd.conf, efi.conf & lilo.conf.

The script maintains multiple kernels and manages EFI & LILO setups (not
GRUB yet). The default boot kernel is changed to the most recent kernel.
In the unlikely event the most recent kernel is not functioning properly
the system can be rebooted with the previous kernel.

The script has a config file /etc/slackpkg/autoslackpkg.conf that sets
default variables. These variables can be changed based on unique system
requirements.

The script requires options and arguments. To see usage help
run (autoslackpkg) without options or arguments. Usage help also is
displayed if there is a script option or argument error.

When run with the -h option and a valid argument (autoslackpkg -h
overview | blacklist | elilo | lilo | mkinitrd) the script provides
help.

When run with the -m option and a valid argument (autoslackpkg -m dialog
| batch) the script runs in either dialog mode or batch mode. Dialog
mode is a hands-on, interactive mode. Batch mode runs without user
input.

When run with the -s option (autoslackpkg -s update | install-new |
upgrade-all | clean-system | install-kernel | remove-kernel |
new-config) the script only runs a specific section of the overall
script.

The script runs in 2 Phases. If not installing a new kernel then
autoslackpkg runs both Phase 1 & Phase 2 in succession. If a new kernel
is installed then only Phase 1 is run & reboot is required. After
reboot, rerun autoslackpkg then Phase 1 is skipped & only Phase 2 is
run.

Phase 1 includes:

  1) slackpkg update
  2) slackpkg install-new
  3) slackpkg upgrade-all (see blacklist help)
  4) new kernel download & installation (see blacklist help)
  5) mkinitrd for new kernel (see mkitrd help)
  6) EFI system new kernel management (see elilo help)
  7) LILO system new kernel management (see lilo help)

Phase 2 includes:

  1) slackpkg clean-system
  2) EFI system old kernel management (see elilo help)
  3) LILO system old kernel management (see lilo help)
  4) run updatedb
  5) slackpkg new-config
  6) find /etc *.new & *.orig
