---------------------------------------------------------------- spkg - Release Notes ---------------------------------------------------------------- 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 . ---------------------------------------------------------------- 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!