-   Slackware (
-   -   New src2pkg release with major feature upgrades (

gnashley 12-16-2007 06:30 AM

New src2pkg release with major feature upgrades
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:

hitest 12-16-2007 09:54 AM

Thank you for supporting the Slackware community, gnashley! I've upgraded to 1.8:-)

agentc0re 12-16-2007 10:09 AM

Awesome! Nice work man. This is a very appreciated program, thank you for the continued development and support :)

hitest 12-16-2007 12:01 PM

src2pkg 1.8 works like a charm, gnashley:-)
I just used src2pkg to create a Slackware package from source for Sylpheed-2.4.7. After that I installed Claws-mail 3.0.2 using's scripts and imported the mail configuration from Sylpheed 2.4.7.
As Slackers we are very lucky to have so many install options available: compiling from source, installing pre-built official Slackware packages, installing packages using scripts.
I love Slackware:-)

P.S. Claws Mail supports IMAP on my gmail account. Very cool:-)

Lufbery 12-16-2007 12:50 PM

Great work, Gilbert!

My article for is now completely out of date, but that's a good thing! :)

Here's a quick question:

When I had trouble compiling Scribus because of an error with the source tarballs that contained another tarball inside it, you indicated that I should open /usr/libexec/src2pkg/FUNCTIONS and uncomment line 778 from #OPEN_SOURCE=1 to OPEN_SOURCE=1.

Will I need to do that again after the upgrade?



gnashley 12-16-2007 01:59 PM

No, lufbery, you won't need to change that. It has been made the default behaviour.

Lufbery 12-17-2007 08:02 AM


Originally Posted by gnashley (Post 2992440)
No, lufbery, you won't need to change that. It has been made the default behaviour.




C-Sniper 12-17-2007 01:24 PM

Thanks for the update and the support of Slackware!

Ruhar 12-17-2007 04:39 PM

Great work! Thanks for the active development. I'm looking forward to using your latest release.

dive 12-17-2007 07:06 PM

Thanks for the update Gnashley. This must be the number 1 must have slackware tool :)

All times are GMT -5. The time now is 07:25 PM.