Welcome to ftp.nluug.nl Current directory: /pub/ftp/ibiblio/distributions/amigolinux/download/src2pkg/src2pkg-2.7/src2pkg-helpers/Resources/ |
|
Contents of README:The src2pkg-helpers-x.x.tar.bz2 archive contains the combined sources for the libraries and binaries which src2pkg uses for building packages. For convenience, the archives of coreutils, tar and libsentry are combined here by running the src2pkg-helpers-sources.build script. This script removes about 20MB of extra files from the coreutils sources in order to save space. The configuration files are then patched to ignore the removed directories. The archives of tar-1.13 and coreutils-5.2.1 are pre-patched so that they successfully compile on modern systems. The tar-1.13 archive also has several patches applied which add minor features which make it more useful and compatible with later versions of tar. The patches for tar-1.13 and coreutils-5.2.1 are contained within in the archives if you want to review them. Important Note: Several people have asked why src2pkg uses such an old version of tar, and if it can be updated. This is *not* a good idea. src2pkg uses tar-1.13 to maintain compatibility with the Slackware package format and pkgtools(installpkg and makepkg). Using any other version of tar breaks this compatibility because of a couple of quirks in tar-1.13. Packages which are created using any other version of tar will not be properly handled by installpkg -specifically, they will not be listed correctly in the package database under /var/log/packages. This causes the package to be non-removeable using the removepkg program. Later versions of tar also handle the creation and overwriting of links and directories differently. The tar program was changed for better POSIX compliance, but the new default behaviours are not what is wanted to properly install Slackware-compatible packages. By default, src2pkg uses an internal 'mini' version of makepkg to create the final package. And if the '-I' option (REALLY_INSTALL=YES) is specified, src2pkg uses an internal 'mini' version of installpkg to install the finished package on your system. Both of these routines use src2pkg's own tar-1.13 program which gets compiled and installed on your system when you run the 'src2pkg --setup' command. While it would be possible to use the tar-1.13 which is included in the SLackware 'tar' package, src2pkg installs a private copy. This allows you to rebuild the Slackware 'tar' package, if desired. It also insures that the proper version of tar is available when using src2pkg on other systems which may not include tar-1.13. There is no benefit to be had by using a later version of tar, so don't be tempted to use an updated tar with src2pkg. tar-1.13 does exactly what is needed to properly handle Slackware-compatible packages. Using any later version can damage your system. One of the option switches used by installpkg has a completely different meaning when used with later versions of tar. And, a change in the default behaviour of later versions causes links to a directory to be overwritten with a real directory if the uncompressed archive contains the real directory. (For instance, normal Slackware systems have the link /usr/share/doc which points to the real directory /usr/doc. If a package which contains the real directory /usr/share/doc is installed using tar-1.13, the link /usr/share/doc will not be overwritten and files in that directory of the archive will be 'properly' installed under /usr/doc. If you install the same package using a later version of tar, the default behaviour would cause the link on your system to be overwritten with a real directory. Problems may arise from other differences in the defaults and syntax of later versions. Trust me, I spent a long time running tests to figure out where and why tar-1.13 is essential to creating proper Slackware-compatible packages. The long and short of it is, that it *would* be possible to use a later version of tar to create and install Slackware packages, but it would require slight changes in the tar option syntax in both 'installpkg' and 'makepkg' and would break backward compatibility with all packages which were created using tar-1.13. When/if Slackware ever makes the bold step of breaking backward compatibility, then src2pkg will go along with that as a standard behaviour. I did write code once which would try to adapt the syntax according to the version of tar which is found in the normal path, but this was a very long way of solving what is a non-problem. Lastly, the patches which are applied to tar-1.13 as used by src2pkg, are not needed for the basic functionality of src2pkg regarding tarred & gzipped archives. The extra features are added to make the tar-1.13 more usable if you wind up with no other 'tar' program installed on your system, and to add features which can be used to create other types of installable packages, such as '.tlz' and '.pet' packages. |
Name Last modified Size
Parent Directory - README 13-Jan-2010 18:39 4.7K coreutils-5.2.1b.tar.bz2 15-Feb-2012 15:03 1.0M libsentry-0.7.0.tar.bz2 15-Feb-2012 17:12 64K src2pkg-helpers-sources.build 15-Feb-2012 15:08 2.5K tar-1.13c.tar.bz2 06-Jan-2012 17:20 778K unionfs-fuse-0.24+304a67144d17.tar.bz2 29-Dec-2011 21:26 30K unionfs-fuse-0.24.tar.bz2 10-Jun-2010 18:10 30K
NLUUG - Open Systems. Open Standards
Become a member
and get discounts on conferences and more, see the NLUUG website!