----------------------------------------------------------------
spkg - Release Notes
----------------------------------------------------------------
2017-06-07: spkg 1.1

  Fix breakage when upgrading the glibc-solibs package. Do not remove
  symlinks to critical libc libraries when upgrading. The symlinks are
  taken care of when the doinst.sh script is executed anyway, so there
  is no harm.

  Add support for brotli compressed packages.

  Some code refactoring.

  Remove block for package upgrades. Some packages, such as aaa_elflibs
  and aaa_base were blacklisted for upgrades. That goes against what
  pkgtools do. All blacklisting  code has been removed, it should be
  possible to upgrade any package now.

  Minor fixes in manpage.

  I guess I'm officially the new maintainer now... ~~ George

2013-04-02: spkg 1.0.1

  Updated autotools, fixed issue where spkg binary was not being generated.
  (reported by vegaflapjack)

  Fixed some compiler warnings.

  Added better README from Yousha Aleayoub.

  Added pkgdb format patch from Ruarí Ødegaard, to make spkg's package database
  format match that of original Slackware pkgtools.

2011-03-16: spkg 1.0

  Added patch from George Vlahavas that implements automatic GTK+ icon cache
  updates.

  Released spkg 1.0. :) I guess it's time after almost 5 years since the
  development started.

2010-06-14: spkg 1.0rc13

  Added support for --force option. Allows to force installation of packages
  with the same shortname.

  This option when used will create problems with package ambiguity during
  upgrade. spkg will pick random package with given shortname for upgrade.

  Make sure you know what you are doing, if you choose to use this option.

2010-04-12: spkg 1.0rc12

  Fixed support for .txz.

2009-06-09: spkg 1.0rc11

  Added support for .txz packages requested by Thorsten Mühlfelder.

  Fixed static spkg build option. Now it actually produces a static 
  binary.
  
2009-05-25: spkg 1.0rc10

  Spkg is now supported on windows thanks to excellent patch from
  Laura Michaels <ml at distasis.com>.
  
----------------------------------------------------------------
2007-01-27: spkg 1.0rc9

  Implement support for uncompressed tar pacakges.
  
  Removed automatic content based compression type detection.
  Compression is now determined using package suffix. Supported
  suffixes are:

    .tgz  Gzip compressed package.
    .tlz  Lzma compressed package.
    .tar  Uncompressed package.

----------------------------------------------------------------
2006-11-04: spkg 1.0rc8

  Another set of bugfixes and small features.
  
  "ROOT=" is now interpreted as "ROOT=/". Use "ROOT=." if you want to
  install package into current directory. (suggested by Yair K)
  
  Spkg configuration files directory is not fixed on /etc/spkg, but it
  can be changed using --sysconfdir option to configure script. Using
  --sysconfdir=/etc means that spkg will try to find configuration files
  in /etc/spkg.
  
  spkg.SlackBuild was improved a bit. Added slack-required file and
  ARCH variable, that can be overriden from environment.
  
  Fixed "Can't access package database directory." error when package
  directory path component contains smylink.
  
  Added --disable-legacy configure option to enable new experimental
  stuff.
  
  Implement support for symlinks directly in tgz archive.

----------------------------------------------------------------
2006-09-02: spkg 1.0rc7

  "When one talks of having finally catched all of the bugs, another
  one will pop up immediately."

  Fixed 64bit incompatible pointer size related crashes on 64bit
  paltform. (pointed out, debugged and tested by Yair K)

  Don't build .so library until someone actually want to use it and
  until I stop breaking binary compatibility with each new rc release.

  Implement simple user interface to the most common command. 'spkg -u
  --install-new package' can be now executed simply as 'spkg package'.
  I've also dropped support for ipkg, lpkg, upkg and rpkg commands.

  Implemented blacklists for otpimized symlinks functionality and
  package upgrade. You may create /etc/spkg/upgrade_blacklist and
  /etc/spkg/symopts_blacklist to disallow upgrade of some packages.
  If you don't have these files, default blacklists will be used.

  Incorporated some other changes kindly suggested by Yair K:
  - [PATCH] Limit slack-desc to 13 lines, not 11.
  - Change permissions on installed directories if directory already
  exist. Just like pkgtools.
  - Don't cancel operation in safe mode if installed directory already
  exist on the filesytem but is hidden behind symlink. Just warn, like
  in normal mode.
  - Fix problem when user can by mistake type -reinstall or -root by
  disabling short version of --root command line option, so that
  these typos do not mean --root=einstall or --root=oot.
  - Pass -install to the doinst.sh script just like installpkg.
  - Ignore . and install/ entries in file database when doing --upgrade
  or --remove.
  - Allow to set --root option via environment variable ROOT. Just like
  pkgtools do.

  And some other small changes. See ChangeLog for detailed list.

----------------------------------------------------------------
2006-08-20: spkg 1.0rc6

  Fixed a lot of compiler warnings on (-Wall -Wextra level).

  Fixed some incompatible pointer warnings on 64bit paltforms.
  (thanks to Yair K)
  
  Incorporated lots of changes suggested by Yair K:
  - Print usage string if no command was given.
  - Implement readonly database access mode so that spkg doesn't
    create package database in dryrun mode if it does not exist.
  - Improve error reporting in db_query() function. Now when
    spkg -l fails to read package database entry, it will show
    it's name.
  - Optional compile time selectable support for broken package
    databases. (Created by emerde) See --enable-assume-broken-pkgdb
    configure option.
  - Catch -reinstall command line option typo. Otherwise it would
    mean --root=einstall. That is probably not what you user wanted
    in this case.
  - We already had support for debug level messages, but it was
    unused. Move some less useful messages to that debug level.
    In -v mode we only show list of files affected by particular
    command. Use -vv if you want to see everything.

  Now that package database can be opened in readonly mode, spkg can run
  under non-root user for some commands. These commands are: --list and
  everything else in --dry-run mode.

  It's month from first release candidate and everything seems to be
  going well. At least for me. It seems to me that 1.0 is waiting right
  behind the door. :)
  
  Please test this release and give some feedback if you want. If
  nothing goes wrong I'll rerelease this version (plus some
  documentation updates) as 1.0 on 2006-09-01.

----------------------------------------------------------------
2006-08-02: spkg 1.0rc5

  Implemented optimization to the ldconfig. If package does not contain
  .so files (dynamic libraries), ldconfig will not be executed. I guess,
  that only one third of the slackware packages contains .so libraries.
  So this is quit a good thing to do performancewise.

  Some fixes to the build system. I've run into problems while
  integrating spkg into our SBO linux distribution.
  
  And there was a kind donation from Zonio s.r.o. (http://zonio.net).

----------------------------------------------------------------
2006-07-29: spkg 1.0rc4

  Dropped requirement for minimum glib version down to 2.2.1, that is
  version that comes with Slackware 9.0. Requirement for glib >= 2.10.0
  was pretty tight and allowed spkg to be used only on
  slackware-current. Thanks goes to johnga1 for pointing this out. 
  
  Added configure option for building only static version of spkg
  (--enable-static-spkg=only). This is what I now use for binary package
  on spkg.megous.com. This fixes problem that I did run into when
  downgrading to glib-2.2.0 to test spkg against it. That is all goes
  well until we add first action to the transaction, then suddenly
  g_slice_new0 is needed and not found in any library and spkg
  terminates. This happens for the first file in the installed package,
  and can't break anything. If file aready existed on the filesystem it
  will not be owerwritten when spkg is terminated by the system. No
  problem here. :)
  
  Anyway, spkg is now binary comaptible with any glib from 2.2.0
  to 2.12.x so this problem should not happen even when using
  dynamically linked spkg binary.

----------------------------------------------------------------
2006-07-28: spkg 1.0rc3

  Ok, we are in the rc phase, but this is pretty small change
  code-wise, but a good to have feature. :-)

  Added support for .tlz (LZMA compressed) packages. You will
  need to have lzma program in your path for this to work, unlike
  traditional .tgz packages that could be installed with just only
  spkg.static. I forgot to mention it, but you can use configure
  option --enable-static-spkg to build spkg.static in adition
  to the ordinary dynamic executable.
  
  Dropped support for progress callback from the untar module.
  
  Don't show raw error message when upgrade fails on not installed
  package.

----------------------------------------------------------------
2006-07-26: spkg 1.0rc2

  Build system proted to autotools.

----------------------------------------------------------------
2006-07-20: spkg 1.0rc1

  This release was tested a lot. It can upgrade Slackware 10.1 to 10.2
  without problems. (results are the same as with pkgtools) Everything
  works as expected.

  What's new:
  - Spkg no longer changes permissions of already installed directories.
  - Implement --reinstall and --install-new options to upgrade commad.
  - Show information messages and warnings by default.
  - Add/remove some warnings to make output more readable by human.
  - Improve error messages and some warnings.
  - Added some not so important error checks.
  - Cleaned up package database code.
  - Updated API documentation.
  
  Bugfixes:
  - Add missing dry run check for temporary file deletion.
  - When printing empty slack-desc lines, check for null strings.
  
----------------------------------------------------------------
2006-07-17: spkg beta

  What's new:
  - Spkg is feature complete!
  - Upgrade command implemented. It is not tested very much.
    I've just tested it on the samba package from the slackware
    current and it works same as upgradepkg from pkgtools.
    It's based on the cmd_install() code though, so it should
    work quit well. Time will tell. 
  - Install command refactoring: cmd_install() was split into
    smaller and easilly manageable functions.
  - Memory allocation audit. (confirmed by valgrind and glib
    memory allocation profiler)
  - Root path sanitization. (fixes double slashes when --root /)
  - Improved and more consistent output from commands.
  - Added more warnings where necessary. (permission diferences
    between installed and existing directories, files changed
    after installation, etc.)
  - --dry-run should be now really DRY. :)
  - Perform sanity checks on paths extracted from the doinst.sh
    script.
  - Added dep packages download script, for those who want
    to build static verion of the spkg and don't want to search
    whole day for popt-1.10.2 sources on the internet. ;-)
  - Improved package name guessing algorithm.

  What's comming:
  - There will be refactoring of the transaction code. (it's
    not broken, but it's not quit readable too)
  - Then, I will write automated testsuite and create some really    
    torturous packages to test as much code paths in spkg as
    possible. And of course I will be running spkg in my normal
    day to day use.
  - Finally I would like to update documentation and make some
    benchamrks on the brand new --upgrade command.
  - Please, keep an eye on http://spkg.megous.com/dl/patches/beta/
    for patches that will fix bugs found in this beta release.
    I will be adding patches there as soon as each bug is fixed.
    To date there are no known bugs in spkg.

----------------------------------------------------------------
2006-07-11: spkg alpha1

  - First release!
