I haven't kept a detailed changelog since version 0.4 since the program was nearly completely redesigned. The next release was 0.9 with 0.9.x micro-versions planned as a build-up to a 1.0 release. Version 0.9.1 added the src2pkg program Version 0.9.2 fixes a reported bug and adds new features to src2pkg and additional checks and cleanups to PkgBuild. Version 0.9.3 fixes more bugs and adds new src2pkg features and code cleanup. - Change default working directories to /tmp. - Incorporated installwatch libs into package and put them in our own directory so that we are sure to have the right version and to avoid conflicts with already installed packages of installwatch or checkinstall. ckeckinstall-0.7 doesn't work right just yet. - moved most documentation to help directory as it all needs to be redone before we get to 1.0 Version 0.9.4 - add support for scons build system. Thanks to Timothy Goya for the suggestion, help getting it working and testing. Version 0.9.5 - added auto detection of ARCH and compiler flags. - fixed manpage compression so it doesn't miss files with names like: pkgname.1x or pkgname.1.x - use umask 022 ? Version-0.9.6 - use umask 000 ! - removed echo of CFLAGS in compile_sources - doinst makes DONT_PURGE.locales file valid by default for easy use. - include first version of trackinstall(0.1). This is a replacement for checkinstall using the PkgBuild functions. Included new (README.trackinstall) - suppress copying of slack.desc into CWD when using trackinstall Version-0.9.7 - integrated syntax for options common to src2pkg and trackinstall. Version-0.9.8 - Moved a lot of code around and integrated code from src2pkg and trackinstall into the pre_process function. pre_process now handles debian source tarballs and checks VERSION and NAME, auto-correcting capital letters. CORRECT_NAMES=NO turns off correction of NAME. Deprecated SRC_UNPACK_NAME by using an easier way to be sure of the SRC_DIR name in unpack_source. Added ALT_NAME to override package name. - added switches to allow turning off correction of man-pages and documents. CORRECT_DOCS=NO and CORRECT_MANS=NO turns these features off (not recommended). - added switch to disable correction of permissions in the SRC_DIR which may needed. CORRECT_PERMS=NO disables permission changes and is available as a command-line option for trackinstall. 'trackinstall -P' turns off correction. This should allow you to package sources which you have compiled as a normal user or which CVS or SVN. - trackinstall autoscripting added. Now you can trackinstall and script it too. added -S option which allows you to track and run install routines other than 'make install'. This will even work with interactive installers. - updated man pages and documents. We're getting close to 1.0 so I'm trying to concentrate more on updating the documents. Version-0.9.9 - I rewrote a lot of code for this one, from top to bottom. - added new options for turning off automatic corrections CORRECT_NAMES, CORRECT_MANS, CORRECT_DOCS CORRECT_PERMS, CORRECT_SUID_PERMS - new code for installing .desktop files - reworked the whole naming strategy by incorporating code from src2pkg and trackinstall for analyzing and validating NAME and VERSION. Instead of NAME, VERSION and SRC_SUFFIX we use just SOURCE_NAME (or SOURCE for absolute paths). - Names with capital letters are automatically corrected unless ALT_NAME is given - ALT_VERSION can be used to verride the derived VERSION number. - source unpacking is more reliable with the above because we separate the SOURCE_NAME from the SRC_DIR_NAME. unpack-sources handles most tarballs no matter what name they unpack to. - removed advanced packaging options from trackinstall and src2pkg to avoid confusing the user. - trackinstall now does a good job handling other installation routines besides 'make install', such as 'sh install.sh', even if they are interactive installation scripts. - INSTALL_COMMAND & INSTALL_RULE have been deprecated in favor of INSTALL_LINE. This was necessary to get full access to the tracking capabilities of installwatch. This makes it possible to use INSTALL_LINE='make --prefix=/somedir install' (or DESTDIR). - internalized the makepkg code. Tired of kludging around the standard behaviour for creating the doinst.sh file and handling the links in the package tree, I brought in the few lines needed to get better control. If PkgBuild finds a doinst.sh it will do as makepkg normally would. But my changes make it possible to use a doinst.prepend and/or doinst.append file to add lines to either the beginning or end of the doinst.sh file, while still letting the link-creation script be created dynamically. - Error handling has been greatly improved with nearly everything being handled gracefully. This is important if you are trying to control the execution of PkgBuild scripts from some other script, like when building a group or series of packages with a controlling script. - reworked handling of zero-length files to allow them under /etc where they are sometimes found as empty config files and automatically remove them from /usr/doc where the useless ones usually are. - prompting has been cleaned up and made less wordy. - reworked existing docs some more. Prompting code and documentation take more work than anything. I seem to be finally reaching a sort of feature-freeze which will make it easier to update them. - dropped the link in /usr/share/Amigo/PkgBuild. This won't matter unless you are using a very old PkgBuild script (0.3) from my site. Version-1.0 First big change here is in the name. Long after I had begun developing PkgBuild I discovered that there was already a package building system with the name pkgbuild. The last version of the program was released in 2001, but apparently ARCH Linux still uses this software for its' builds. So finally, I've gotten around to changing the name of MY PkgBuild to src2pkg, including changing directory names, etc. - another big change in Version-1.0 is that src2pkg can now work directly with SRPM packages (sources packaged as .rpm packages, usually with '.src.rpm' as the suffix. - added support for conversion of binary packages to the Slackware format, including rpm binary packages, Debian '.deb' archives and other generic binary packages. - improved guessing of NAME and VERSION -this took nearly 250 lines of new code, but saves some work for the user as it does a much better job of getting the NAME and VERSION right. This was important for better handling of RPM packages since the naming scheme is very different from most simple source tarballs. - included the disrpm program for decompressing .rpm and .deb archives. This installs to /usr/bin so it can be used independently from src2pkg. It works better than rpm2tgz or rpm2cpio, succeeding where they sometimes fail. It does not depend on rpm being installed. - Renaming the program breaks compatibility with existing scripts, so we create links (for a transition period) from /etc/src2pkg to /etc/pkgbuild and from /usr/libexec/src2pkg /usr/libexec/pkgbuild. This will be dropped soon. The difference won't affect most people much, unless they've already written a few hundred scripts (like me). In practice, src2pkg has gotten so good at building sources without any help, that most of the scripts I wrote originally are no longer needed. Most of the minor quirks which commonly occur in package building are now handled automatically by src2pkg. Of course, many packages still need extra configure options or a line or two of extra code to build the perfect package. But, as always, it's extremely easy and fast to 'port' other build scripts to the src2pkg format, especially PkgBuild scripts. -