Okay folks, the new version of src2pkg has been released. It includes many new features which add to the functionality and change some of the basic features of src2pkg.
The first big change is that you can now build most packages while logged in as a normal user. This feature has been requested by several users since a long time ago. It turned out to be fairly easy to implement without using any sort of fakeroot or other similar programs.
This provides a much safer and less intrusive way to create packages. The src2pkg and trackinstall programs have been moved to /usr/bin so that they are in the normal path of non-priviledged users.
Another big change is in the way that pseudo-installation is done. src2pkg now uses DESTDIR by default for creating package content. When not supported by the source Makefiles, src2pkg uses a feature I call 'JAIL root' to do something similar. This is implemented using the installwatch library. Some really difficult sources may still need to be built using the old 'REAL' method which actually installs the software to your system while tracking the creation of files and directories. This method is still available and requires you to be runnign as user 'root' or other priviledged user.
src2pkg now makes more use of any rpm '.spec' files or debian 'control' and 'rules' files. If found in the sources, src2pkg can parse package description information from them for creating better slack-desc files easily. It can also extract options to pass to the configure script from these files.
Support for automatically packaging python modules has also been added. Package description information is extracted from the PKG-INFO file in these cases.
Other improvements include support for using a BASE_URL in src2pkg scripts. This makes it easier and neater to use the SOURCE_URL and EXTRA_SOURCES features which can download source archives and/or other files needed to build a package. If all the files are in one place you can give the BASE_URL just once and then just the names or paths to any other files you want to download. This avoids having to include the full URL for each file.
srcpkg now does a more complete search for standard documents and manpages when these are not installed by the sources' regular installation routine.
There is a new HOWTO.txt included in the documents. This document is still rough but contains information on the usage of the latest changes and new features so you may want to read it.
If you've been using an earlier version of src2pkg you may want to update the /etc/src2pkg/src2pkg.conf configuration file since it includes a new configuration option.
This new release contains lots of new code, new features and changes in the fundamental way that sr2pkg works. So, even though I have done more testing than usual, I expect there to be more glitches and minor bugs than usual. This version uses a new custom version of the installwatch library which has been extensively patched to address problems which have been associated with later versions of installwatch. The included fixes and overall changes in src2pkg minimize the impact of any remaining problems. Still, if you have any problems, please report them promptly so that they can be fixed as soon as possible.
We're getting close to version 2.0 now and I hope to have a webpage created by then and to have worked out any major problems which remain with the new code and features. Most of the ideas or features which I ever had in mind or were suggested by others are now inlcuded in src2pkg. So the next couple of version upgrades should mostly be minor fixes and cleanups. Please provide feedback and report anything that doesn't seem to be working right.
** The pre-compiled installable package of sr2pkg is now available in two versions, matched to the kernel version you are running. If you are running kernel-2.6.x you should install the package which has _K26 in the name. If using kernel-2.4.x, then use the package with _K24 in the name.
You can see the latest ChangeLog, download the sources or download the right package for your system from here: