----------------------------------------------------------------------------- REQUIREMENTS ----------------------------------------------------------------------------- To be able to build packages the following software is required: * GNU Binutils * GNU Bison * GNU GCC C++ (plus GMP and MPFR) development packages * GNU Gettext * GNU Make * GNU m4 * fakeroot * ncurses (development package) * wget * libarchive (development package) * perl Super-user privileges are required as well, because all packages are built in a chroot (except the ones that are included in a virtual package to be able to build a minimal system for the chroot). PLEASE NOTE THAT fakechroot or fakeroot-ng DO NOT WORK. ------------------------------------------------------------------------------ HOW TO BUILD/HANDLE PACKAGES FROM SOURCE ------------------------------------------------------------------------------ Before using xbps-src, some required utilities need to be built and installed into $(PREFIX); by default they are installed into /usr/local. You can do this by issuing "make" and "make install" as root in the top level directory. If configuration file is not specified from the command line with the -c flag, it will first try to use the default location at /usr/local/etc/xbps.conf (or the installation prefix that was specified to the make(1) command), and as last resort in the etc directory of the current directory. To avoid problems with libtool and configure scripts finding stuff that is available in the host system, almost all packages must be built inside of a chroot. So the first thing would be to create the binary packages with: $ xbps-src install xbps-base-chroot 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: $ sudo xbps-src chroot Press Control + D to exit from the chroot. The following targets will require to be done in the chroot: build, configure, install, install-destdir, remove, stow and unstow. Now let's explain some more about the targets that you can use. To start installing packages you should use the install target: $ sudo xbps-src install glib 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/. To remove a currently installed (and stowned) package, you can use: $ sudo xbps-src remove glib 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/): $ sudo xbps-src stow glib and to unstow an already installed (stowned) package: $ sudo xbps-src unstow glib You can also print some stuff about any template build file, e.g: $ xbps-src info glib To list installed (stowned) packages, use this: $ xbps-src list To only extract the distfiles, without configuring/building/installing: $ xbps-src extract foo To not remove the build directory after successful installation: $ sudo xbps-src -C install blah To only fetch the distfile: $ xbps-src fetch blah To only install the package, _without_ stowning it into the master directory: $ sudo xbps-src install-destdir blob To list files installed by a package, note that package must be installed into destination directory first: $ xbps-src listfiles blob ------------------------------------------------------------------------------ Juan Romero Pardines