diff --git a/README b/README index 49c0a3f709..da40830be7 100644 --- a/README +++ b/README @@ -65,19 +65,18 @@ illustrates the structure used by the _udev_ package in the filesystem: Requirements ------------ -The following software is required in the host system to build XBPS -binary packages from source: +The following software is required in the host system to install xbps-src +and its helpers: + + - GCC, make, sed and libcap (depelopment package and setcap(8) command). + +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. + +Additionally if you want to work as 'root': - - GNU awk - - GNU bash - - GNU bison - - GNU gcc c++ (development package) - - GNU gettext (development package) - - GNU make - - GNU patch - - GNU texinfo - - fakeroot - - perl - sudo Starting up @@ -127,15 +126,24 @@ $ 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. Next commands will require super-user privileges -and all package handling will be done within the chroot. 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 not just for -ordinary users. So once all packages are built, you can create and enter -to the chroot with: +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 +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 +not just for ordinary users. So once all packages are built, you can create and +enter to the chroot with: ---------------------- -$ sudo xbps-src chroot +$ xbps-src chroot ---------------------- Press Control + D to exit from the chroot. The following targets will require @@ -149,19 +157,19 @@ installing packages you should use the install target, all source packages are located in the `srcpkgs` directory, so to install glib: ------------------------------------------ -~/srcpkgs/glib$ sudo xbps-src install +$ cd srcpkgs/ && xbps-src install ------------------------------------------ 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 copied all files from DESTDIR/. +on which xpbs has symlinked all files from DESTDIR/. + + To remove a currently installed (and stowned) package, you can use: ----------------------------------------- -~/srcpkgs/glib$ sudo xbps-src remove +$ cd srcpkgs/ && xbps-src remove ----------------------------------------- Please note that when you remove it, the package will also be removed @@ -172,20 +180,20 @@ from XBPS_DESTDIR and previously `unstowned`. To stow an already installed package (from XBPS_DESTDIR/): --------------------------------------- -~/srcpkgs/glib$ sudo xbps-src stow +$ cd srcpkgs/ && xbps-src stow --------------------------------------- To unstow an already installed (stowned) package: ----------------------------------------- -~/srcpkgs/glib$ sudo xbps-src unstow +$ cd srcpkgs/ && xbps-src unstow ----------------------------------------- You can also print some stuff about any template build file, e.g: ----------------------------------- -~/srcpkgs/glib$ xbps-src info ----------------------------------- +--------------------------------------- +$ cd srcpkgs/ && xbps-src info +--------------------------------------- To list installed (stowned) packages, use this: --------------- @@ -194,28 +202,28 @@ $ xbps-src list To only extract the distfiles, without configuring/building/installing: ------------------------------------- -~/srcpkgs/glib$ xbps-src extract ------------------------------------- +------------------------------------------ +$ cd srcpkgs/ && xbps-src extract +------------------------------------------ To not remove the build directory after successful installation: --------------------------------------------- -~/srcpkgs/glib$ sudo xbps-src -C install +$ cd srcpkgs/ && xbps-src -C install --------------------------------------------- To only fetch the distfile: ------------------------------------ -~/srcpkgs/glib$ xbps-src fetch ------------------------------------ +---------------------------------------- +$ cd srcpkgs/ && xbps-src fetch +---------------------------------------- To only install the package, _without_ stowning it into the master directory: -------------------------------------------------- -~/srcpkgs/glib$ sudo xbps-src install-destdir +$ cd srcpkgs/ && xbps-src install-destdir -------------------------------------------------- To list files installed by a package, note that package must be installed into destination directory first: ----------------------------- -$ xbps-src listfiles pkgname ----------------------------- +------------------------------ +$ xbps-src listfiles +------------------------------