Manjaro Manjaro-tools

Manjaro-tools

From Manjaro
Revision as of 16:01, 14 November 2014 by imported>Aaditya (→‎build-set: make generic variable)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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, for example upower-pm-utils, 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]
Cookies help us deliver our services. By using our services, you agree to our use of cookies.