From d607bdaa375467f20ccb7f42806a388679a34cce Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 26 Apr 2010 15:50:19 +0200 Subject: [PATCH] README: improve some parts. --HG-- extra : convert_revision : 176be29fbf6f6114873fe1a101578ccf927f1418 --- README | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/README b/README index 3bc9731518a..a5529996aa0 100644 --- a/README +++ b/README @@ -8,7 +8,6 @@ binary packages from source distribution files. A root directory (`srcpkgs`) contains multiple subdirs, each one to build a package as its name indicates. The following directory structure illustrates it: + - + ................................. xbps-templates/ | @@ -26,13 +25,11 @@ and `patches`. The `files` subdir may contain configuration files, or any other file required to build the package. The `patches` subdir contains patches that are applied to the source before building. + - + Some packages may provide `subpackages`; they are different binary packages that are built from the same source package. Each `subpackage` in the directory structure (as shown above) is a symlink to the `real` package subdir, like this: + - + .................................... srcpkgs/ | @@ -47,7 +44,6 @@ the `real` package subdir, and they have exactly the same name than the symlink pointing to the `real` package subdir. The following example illustrates the structure used by the _udev_ package in the filesystem: + - + ....................................... srcpkgs/ | @@ -62,6 +58,12 @@ illustrates the structure used by the _udev_ package in the filesystem: |----libudev-devel.template |----libudev.template ....................................... + + + +Subpackages use a reduced version of the main `template` build file, because +the build and main install process is all done in the real `template` file. +Usually those `.template` files only move files and directories +to the `subpackage` destination directory, so they are always smaller. Requirements ------------ @@ -74,6 +76,7 @@ To build binary packages with xbps-src also the following software needs to be installed into the host system: - awk, bash, bison, gcc c++, gettext, path, texinfo, perl and fakeroot. + - xbps static utilities, available from http://launchpad.net/xbps. Additionally if you want to work as 'root': @@ -128,14 +131,16 @@ $ cd xbps-templates/srcpkgs/xbps-base-chroot && xbps-src install This will build all required packages via fakeroot in masterdir, therefore you can run it as normal user. Once 'xbps-src-chroot' has been built and installed into the 'masterdir' all packages will be built inside of the chroot. + + 'xbps-src' supports building packages in the chroot with your normal user, thanks to the *POSIX.1e Capabilities* support in the Linux kernel. To use this -the target filesystem must support *extended attributes*, right now they -are supported on all most common filesytems, such as *ext2*, *ext3*, *ext4*, -*xfs*, etc. To enable this feature you have to uncomment the option -'XBPS_USE_CAPABILITIES' from *xbps-src.conf*. *Please note* that it's +the target filesystem must support *extended attributes*; right now they +are supported on almost all Linux filesytems, such as *ext2*, *ext3*, *ext4*, +*xfs*, and others. To enable this feature you have to uncomment the option +'XBPS_USE_CAPABILITIES' from *xbps-src.conf*. *PLEASE NOTE* that it's commented out (disabled) by default. + + I believe it's the most easier and faster way to handle clean dependencies; another reason would be that xbps packages are meant to be used in a system and @@ -148,7 +153,7 @@ $ xbps-src chroot Press Control + D to exit from the chroot. The following targets will require to be done in the chroot (_once xbps-base-chroot is installed_): -*build, configure, install, install-destdir, remove, stow and unstow* +*build, configure, install and install-destdir*. + + @@ -164,7 +169,6 @@ If the package is properly installed, it will be "stowned" automatically. ``stowned'' means that this package is available in the master directory, on which xpbs has symlinked all files from DESTDIR/. + - + To remove a currently installed (and stowned) package, you can use: @@ -175,7 +179,6 @@ $ cd srcpkgs/ && xbps-src remove Please note that when you remove it, the package will also be removed from XBPS_DESTDIR and previously `unstowned`. + - + To stow an already installed package (from XBPS_DESTDIR/):