Skip to content

freddylist/xbps-src-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xbps-src framework

Framework/glue for working with xbps-src to bulk build packages from custom and restricted templates. You can aggregate templates from multiple sources, updating all of them at once (probably with a git pull). See known template collections for a list of links to collections of templates I could find all around the interwebs. Please open a pull request if you have more!

See also the-maldridge/xbps-mini-builder.

Requirements

  • bash
  • GNU make
  • xtools
  • xtools-extra
    • Automatically downloaded if you have an internet connection.

Install all requirements:

# xbps-install -S bash make xtools

Usage

  1. Clone this repository:
$ git clone https://github.com/freddylist/xbps-src-framework.git
  1. Create an xbps-src.conf to your liking:
    • cp xbps-src.conf.sample xbps-src.conf
    • I recommend having the following set:
    XBPS_MIRROR=https://repo-fastly.voidlinux.org/current
    XBPS_CCACHE=yes
    
    This makes xbps-src use the faster Fastly CDN mirror and enables CCache. Just remember to install the ccache package!
    • You can also add build options here:
    # Global build options
    XBPS_PKG_OPTIONS=opt,~opt2,opt3,~opt4
    
    # Per-package build options
    XBPS_PKG_OPTIONS_foo=opt,~opt2,opt3,~opt4
    
  2. Create directory named srcpkgs next to the makefile.
  3. Symlink or move packages that you wish to build on make pkgs to the srcpkgs directory.
    • Don't symlink subpackages. If you need to build a subpackage, symlink the main package. Subpackages are always created with the main package, whether you want them to or not.
  4. Run make pkgs or make <pkgname>.
    • Run make sign to sign all repositories and packages.
  5. Run make install to install repository configuration.
    • This allows you to use xbps-install without --repository=path/to/hostdir/binpkgs.

From there, you can have a cron/snooze job occasionally update template sources and build symlinked packages for you.

If something's borked, you can try make clean.

Do not be afraid to open an issue if something is unclear or doesn't work.

Known template collections

Somewhat alive:

Seem to be kinda dead:

About

Framework/glue for working with xbps-src to bulk build packages from custom and restricted templates.

Topics

Resources

License

Stars

Watchers

Forks