-
Notifications
You must be signed in to change notification settings - Fork 8
XBPS source package builder
License
xdave/xbps-src
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
INTRODUCTION ============ xbps-src - the XBPS binary package build system. xbps-src uses ideas from other current package build systems and or utilities such as in NetBSD/pkgsrc, Debian dpkg/deb, GNU stow, etc. Its target OS is Linux, meant to be used in Void GNU/Linux but could be adapted to other systems with relatively few changes (don't blame me if it doesn't work in a random OS). One of its advantages over other build systems is that you can build the XBPS binary packages from any other Linux distribution matching the target architecture, i.e Fedora x86_64 for Void GNU/Linux x86_64. Another advantage is its support for Linux Capabilities (POSIX.1e draft standard). With that in place `xbps-src` is able to build binary packages in chroots without the need to use elevated permissions (superuser). This feature is enabled by default and can be disabled by commenting out the XBPS_USE_CAPABILITIES option from its configuration file `xbps-src.conf`. The last highlight from xbps-src is its NRWO feature (New Rshlibs World Order) where the run time required shared libraries (SONAMEs) by packages are guessed automatically, thus reducing the risk for missing required run time dependencies. This also help us to minimize the impact in SONAME major bumps, because we can know *exactly* in advance which packages use the affected shared library. INSTALLATION ============ To build xbps-src the libcap-devel pkg (or whatever is called in your distribution) must be installed. Additionally the setcap(8) command is also required to set the correct capabilities in some helpers. Simply use the `make && make install clean` sequence to build and install it into /usr/local by default. Some variables can be overriden thru make(1) variables: - DESTDIR: empty - PREFIX: /usr/local by default - SBINDIR: PREFIX/sbin by default - SHAREDIR: PREFIX/share by default - LIBEXECDIR: PREFIX/libexec by default - ETCDIR: PREFIX/etc/xbps by default Once you installed it with your desired settings you must set the proper capabilities to the helpers, as follows with root permissions: $ setcap cap_sys_admin=ep LIBEXECDIR/xbps-src/capmount $ setcap cap_sys_admin=ep LIBEXECDIR/xbps-src/capumount $ setcap cap_sys_chroot=ep LIBEXECDIR/xbps-src/capchroot See the USAGE file to know more in how to use xbps-src. -- Juan RP <xtraeme@gmail.com>
About
XBPS source package builder
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published