Manjaro-tools
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
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]