1ebe5e6b5e
xbps-src: * ALWAYS use the static bins, to avoid breakage in the chroot. * Remove XBPS_FETCH_CMD. Use xbps-fetch (static) now that it's useful to download all distfiles in xbps-base-system. * Use busybox in the chroot and create links in /usr/local/bin at creation time. This helps to remove many packages that had problems with host/target libs (acl, attr, libarchive, etc). build templates: * Add explicit gettext and texinfo build dependencies in all packages that need them, because they aren't built anymore by xbps-base-chroot. * Fixed some packages using build_style=gnu_makefile, that were broken because pre/post_configure() is not executed for a while, they should use pre/post_build() instead. --HG-- extra : convert_revision : 0eaaf4917fd824710d0895e0c984bbc236b0cdf8
116 lines
3.8 KiB
Text
116 lines
3.8 KiB
Text
------------------------------------------------------------------------------
|
|
REQUIREMENTS
|
|
------------------------------------------------------------------------------
|
|
|
|
The following software is required in the host system to build XBPS
|
|
binary packages:
|
|
|
|
* GNU awk
|
|
* GNU bash
|
|
* GNU bison
|
|
* GNU gcc c++ (development package)
|
|
* GNU gettext (development package)
|
|
* GNU make
|
|
* GNU patch
|
|
* GNU texinfo
|
|
* fakeroot
|
|
* perl
|
|
* sudo
|
|
|
|
Run "make install clean" at the top level directory, xbps-src and
|
|
its shell utilities will be installed into /usr/local by default (can be
|
|
changed by setting PREFIX and DESTDIR).
|
|
|
|
DONT FORGET TO EDIT "$PREFIX/etc/xbps-src.conf" BEFORE USING IT!
|
|
|
|
------------------------------------------------------------------------------
|
|
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-src.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/<pkgname>.
|
|
|
|
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/<pkgname>):
|
|
|
|
$ 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 <xtraeme@gmail.com>
|