Difference between revisions of "Manjaro-tools"

From Manjaro
Jump to navigation Jump to search
imported>Aaditya
imported>Aaditya
Line 81: Line 81:
 
{{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.}}
 
{{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 ==
+
== buildpkg ==
  
build-set is used to build a particular package or a set. The help looks like the following for x86_64
+
buildpkg is used to build a particular package or a set. The help looks like the following for i686
  
  $ build-set -h
+
  $ buildpkg -h
  Usage: build-set [options] -- [makepkg_args]
+
  Usage: buildpkg [options] [--] [makepkg args]
    -p <profile>      Set profile or pkg [default: default]
+
    -p <profile>      Set profile or pkg [default: default]
    -a <arch>          Set arch  [default: x86_64]
+
    -a <arch>          Set arch  [default: i686]
    -b <branch>        Set branch [default: stable]
+
    -b <branch>        Set branch [default: stable]
    -r <dir>          Chroots directory [default: /srv/manjarobuild]
+
    -r <dir>          Chroots directory [default: /srv/manjarobuild]
    -c                Clean chroot
+
    -c                Recreate chroot
    -w                Wipe clean pkgbuild and pkg directory
+
    -w                Clean up
    -n                Run namcap check
+
    -n                Install and run namcap check
    -s                Sign packages
+
    -s                Sign packages
    -q                Query settings and pretend build
+
    -q                Query settings and pretend build
    -h                This help
+
    -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:
 
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>
+
  buildpkg -p <package-name>
  
 
For example,
 
For example,
Line 115: Line 115:
 
  manjaro-openrc              openrc-net
 
  manjaro-openrc              openrc-net
  
  $ sudo build-set -p upower-pm-utils
+
  $ buildpkg -pv upower-pm-utils
  ==> manjaro-tools version: 0.9.1
+
  ==> manjaro-tools
  ==> OPTARGS:
+
  -> version: 0.9.5.6
   -> arch: x86_64
+
  -> manjaro_tools_conf: /etc/manjaro-tools/manjaro-tools.conf
   -> branch: testing
+
  ==> OPTIONS:
 +
   -> arch: i686
 +
   -> branch: stable
 
   -> chroots: /srv/manjarobuild
 
   -> chroots: /srv/manjarobuild
 +
==> ARGS:
 +
  -> mkchrootpkg_args: -r /srv/manjarobuild/stable/i686
 +
  -> makepkg_args:
 +
  -> clean_first: false
 +
  -> wipe_clean: false
 +
  -> namcap: false
 +
  -> sign: false
 
  ==> PATHS:
 
  ==> PATHS:
   -> chrootdir: /srv/manjarobuild/testing/x86_64
+
   -> chrootdir: /srv/manjarobuild/stable/i686
 
   -> profiledir: /etc/manjaro-tools/sets
 
   -> profiledir: /etc/manjaro-tools/sets
   -> pkgdir: /var/cache/manjaro-tools/pkg/testing/x86_64
+
   -> pkg_dir: /var/cache/manjaro-tools/stable/i686
 
   -> pacman_conf: /usr/share/manjaro-tools/pacman-default.conf
 
   -> pacman_conf: /usr/share/manjaro-tools/pacman-default.conf
   -> makepkg_conf: /usr/share/manjaro-tools/makepkg-x86_64.conf
+
   -> makepkg_conf: /usr/share/manjaro-tools/makepkg-i686.conf
 +
  -> mirrors_conf: /usr/share/manjaro-tools/pacman-mirrors-stable.conf
 +
==> BLACKLIST:
 +
  -> blacklist_trigger: eudev lib32-eudev upower-pm-utils eudev-systemdcompat lib32-eudev-systemdcompat
 +
  -> blacklist: libsystemd
 
  ==> SETS:
 
  ==> SETS:
   -> profiles: default|nosystemd|openrc-artoo|openrc-nodeps|openrc|udev
+
   -> profiles: default
   -> profile: consolekit
+
   -> profile: upower-pm-utils
 
   -> is_profile: false
 
   -> is_profile: false
  ==> This package will be built:
+
  ==> Build queue:
   -> consolekit
+
   -> upower-pm-utils
==> 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]
 

Revision as of 19:17, 8 January 2015

Introduction

manjaro-tools is a replacement for devtools and manjaroiso. A user manual is available at github.

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 --> buildpkg
  • pacstrap --> basestrap
  • genfstab --> fstabgen
  • arch-chroot --> manjaro-chroot

Tools

mkset

buildpkg 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:

mkset -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/manjaro/packages-openrc

$ ls 
consolekit/                  manjaro-tools-git/           openrc-net/
eudev/                       manjaro-tools-git-devel/     openrc-systemdcompat/
eudev-systemdcompat/         manjaro-tools-iso-profiles/  openrc-video/
kde-servicemenus-pkg-tools/  manjaro-tools-livecd/        packages/
keyboardctl-openrc/          networkmanager-openrc/       pkgbuilds-review/
kf5-servicemenus-pkg-tools/  openrc-aur/                  polkit-consolekit/
lib32-eudev/                 openrc-base/                 sddm-consolekit/
lib32-eudev-systemdcompat/   openrc-core/                 sysvinit/
lxqt-lightdm-greeter/        openrc-desktop/              upower-pm-utils/
manjaro-openrc/              openrc-devel/                README.md
manjaro-tools/               openrc-misc/

Running mkset -c openrc does

$ mkset -c openrc
[sudo] password for aaditya: 
==> Creating [/openrc.set] ...
 -> Adding consolekit
 -> Adding eudev
 -> Adding eudev-systemdcompat
 -> Adding kde-servicemenus-pkg-tools
 -> Adding kf5-servicemenus-pkg-tools
 -> Adding lib32-eudev
 -> Adding lib32-eudev-systemdcompat
 -> Adding lxqt-lightdm-greeter
 -> Adding manjaro-openrc
 -> Adding manjaro-tools
 -> Adding manjaro-tools-git
 -> Adding manjaro-tools-git-devel
 -> Adding manjaro-tools-iso-profiles
 -> Adding manjaro-tools-livecd
 -> Adding networkmanager-openrc
 -> Adding openrc-aur
 -> Adding openrc-base
 -> Adding openrc-core
 -> Adding openrc-desktop
 -> Adding openrc-devel
 -> Adding openrc-misc
 -> Adding openrc-net
 -> Adding openrc-systemdcompat
 -> Adding openrc-video
 -> 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.


buildpkg

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

$ buildpkg -h
Usage: buildpkg [options] [--] [makepkg args]
   -p <profile>       Set profile or pkg [default: default]
   -a <arch>          Set arch  [default: i686]
   -b <branch>        Set branch [default: stable]
   -r <dir>           Chroots directory [default: /srv/manjarobuild]
   -c                 Recreate chroot
   -w                 Clean up
   -n                 Install and 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:

buildpkg -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
$ buildpkg -pv upower-pm-utils
==> manjaro-tools
 -> version: 0.9.5.6
 -> manjaro_tools_conf: /etc/manjaro-tools/manjaro-tools.conf
==> OPTIONS:
 -> arch: i686
 -> branch: stable
 -> chroots: /srv/manjarobuild
==> ARGS:
 -> mkchrootpkg_args: -r /srv/manjarobuild/stable/i686
 -> makepkg_args: 
 -> clean_first: false
 -> wipe_clean: false
 -> namcap: false
 -> sign: false
==> PATHS:
 -> chrootdir: /srv/manjarobuild/stable/i686
 -> profiledir: /etc/manjaro-tools/sets
 -> pkg_dir: /var/cache/manjaro-tools/stable/i686
 -> pacman_conf: /usr/share/manjaro-tools/pacman-default.conf
 -> makepkg_conf: /usr/share/manjaro-tools/makepkg-i686.conf
 -> mirrors_conf: /usr/share/manjaro-tools/pacman-mirrors-stable.conf
==> BLACKLIST:
 -> blacklist_trigger: eudev lib32-eudev upower-pm-utils eudev-systemdcompat lib32-eudev-systemdcompat
 -> blacklist: libsystemd
==> SETS:
 -> profiles: default
 -> profile: upower-pm-utils
 -> is_profile: false
==> Build queue:
 -> upower-pm-utils