Manjaro-tools

Revision as of 16:01, 14 November 2014 by imported>Aaditya (→‎build-set: clarify)

Introduction

manjaro-tools is a replacement for devtools. It consists of two componenets, the devtools and arch-install-scripts, but manjarobuild and its symlinks got replaced by build-set.

Configuration

manjaro-tools can be configured via editing /etc/manjaro-tools/manjaro-tools.conf

Files

These are the new names for renamed scripts.

  • mkmanjaroroot --> mkchroot
  • manjarobuild --> build-set
  • pacstrap --> basestrap
  • genfstab --> fstabgen
  • arch-chroot --> manjaro-chroot
  • make-set

Tools

make-set

build-set features building from build lists as well as single packages. Build lists can be defined in /etc/manjaro-tools/sets/<buildlistname>.set

To create a build list, one can run in the pkgbuilds/abs dir:

sudo make-set -c <name>

This will create a build list containing all directories with PKGBUILDs in them. This generated list can be then edited, like packages can be removed.

For example, in a git clone of https://github.com/udeved/pkgbuilds

$ ls 
consolekit                  manjaro-openrc         openrc-net
eudev                       manjaro-tools          packages
eudev-systemdcompat         networkmanager-openrc  polkit-consolekit
kde-servicemenus-pkg-tools  openrc-aur             README.md
keyboardctl-openrc          openrc-base            sddm-consolekit
kf5-servicemenus-pkg-tools  openrc-desktop         sysvinit
lib32-eudev                 openrc-devel           upower-pm-utils
lib32-eudev-systemdcompat   openrc-misc

Running sudo make-set -c openrc does

$ sudo make-set -c openrc
[sudo] password for aaditya: 
==> Creating [/etc/manjaro-tools/sets/openrc.set] ...
 -> Adding consolekit
 -> Adding eudev
 -> Adding eudev-systemdcompat
 -> Adding kde-servicemenus-pkg-tools
 -> Adding keyboardctl-openrc
 -> Adding kf5-servicemenus-pkg-tools
 -> Adding lib32-eudev
 -> Adding lib32-eudev-systemdcompat
 -> Adding manjaro-openrc
 -> Adding manjaro-tools
 -> Adding networkmanager-openrc
 -> Adding openrc-aur
 -> Adding openrc-base
 -> Adding openrc-desktop
 -> Adding openrc-devel
 -> Adding openrc-misc
 -> Adding openrc-net
 -> Adding polkit-consolekit
 -> Adding sddm-consolekit
 -> Adding sysvinit
 -> Adding upower-pm-utils


Note
The set name should be different from a directory name in abs dir. Anything else should work, eg adding a date to the name.

build-set

build-set is used to build a particular package or a set. The help looks like the following for x86_64

$ build-set -h
Usage: build-set [options] -- [makepkg_args]
    -p <profile>       Set profile or pkg [default: default]
    -a <arch>          Set arch  [default: x86_64]
    -b <branch>        Set branch [default: stable]
    -r <dir>           Chroots directory [default: /srv/manjarobuild]
    -c                 Clean chroot
    -w                 Wipe clean pkgbuild and pkg directory
    -n                 Run namcap check
    -s                 Sign packages
    -q                 Query settings and pretend build
    -h                 This help

To build a single package, go into the directory which is one above the package build directory (which contains the PKGBUILD), and run it as:

sudo build-set -p <package-name>

For example,

$ ls
consolekit                  manjaro-tools          openrc-video
eudev                       networkmanager-openrc  packages
eudev-systemdcompat         openrc-aur             polkit-consolekit
kde-servicemenus-pkg-tools  openrc-base            README.md
keyboardctl-openrc          openrc-core            sddm-consolekit
kf5-servicemenus-pkg-tools  openrc-desktop         sysvinit
lib32-eudev                 openrc-devel           upower-pm-utils
lib32-eudev-systemdcompat   openrc-misc
manjaro-openrc              openrc-net
$ sudo build-set -p upower-pm-utils
==> manjaro-tools version: 0.9.1
==> OPTARGS:
 -> arch: x86_64
 -> branch: testing
 -> chroots: /srv/manjarobuild
==> PATHS:
 -> chrootdir: /srv/manjarobuild/testing/x86_64
 -> profiledir: /etc/manjaro-tools/sets
 -> pkgdir: /var/cache/manjaro-tools/pkg/testing/x86_64
 -> pacman_conf: /usr/share/manjaro-tools/pacman-default.conf
 -> makepkg_conf: /usr/share/manjaro-tools/makepkg-x86_64.conf
==> SETS:
 -> profiles: default|nosystemd|openrc-artoo|openrc-nodeps|openrc|udev
 -> profile: consolekit
 -> is_profile: false
==> This package will be built:
 -> consolekit
==> Updating chroot for [testing] (x86_64)...
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
:: Starting full system upgrade...
there is nothing to do
==> Making package: upower-pm-utils 0.9.23-3 (Fri Nov 14 15:54:02 UTC 2014)
...
...
...
==> Finished making: upower-pm-utils 0.9.23-3 (Fri Nov 14 15:54:18 UTC 2014)
 -> Moving [upower-pm-utils] to [/var/cache/manjaro-tools/pkg/testing/x86_64]
==> chown -R [aaditya:users] [/var/cache/manjaro-tools/pkg/testing]