Difference between revisions of "Manjaro-tools/en"
Views
Actions
Namespaces
Variants
Tools
(Updating to match new version of source page) |
(Updating to match new version of source page) Tags: Mobile web edit Mobile edit |
||
Line 17: | Line 17: | ||
= Configuration = | = Configuration = | ||
manjaro-tools can be configured by copying the folder ''/etc/manjaro-tools'' to your home in ''~/.config'' folder and then edit the file {{ic|''. | manjaro-tools can be configured by copying the folder ''/etc/manjaro-tools'' to your home in ''~/.config'' folder and then edit the file {{ic|''~/.config/manjaro-tools/manjaro-tools.conf''}} | ||
= Files = | = Files = | ||
Line 38: | Line 37: | ||
The help looks like the following: | The help looks like the following: | ||
{{UserCmdOutput|command=buildset -h|result= | |||
<pre> | |||
Usage: buildset [options] | Usage: buildset [options] | ||
-c <name> Create set | -c <name> Create set | ||
Line 46: | Line 46: | ||
-q Query sets | -q Query sets | ||
-h This help | -h This help | ||
</pre> | |||
}} | |||
{{Note|The set name should be different from a directory name in pkgbuilds dir. Anything else should work, eg adding a date to the name.}} | {{Note|The set name should be different from a directory name in pkgbuilds dir. Anything else should work, eg adding a date to the name.}} | ||
= buildpkg = | = buildpkg = | ||
Line 59: | Line 60: | ||
The help looks like the following: | The help looks like the following: | ||
Usage: buildpkg [options] | {{UserCmdOutput|command=buildpkg -h|result= | ||
<pre> | |||
Usage: buildpkg [options] | |||
-a <arch> Arch [default: x86_64] | -a <arch> Arch [default: x86_64] | ||
-b <branch> Branch [default: stable] | -b <branch> Branch [default: stable] | ||
Line 72: | Line 75: | ||
-s Sign packages | -s Sign packages | ||
-w Clean up cache and sources | -w Clean up cache and sources | ||
</pre> | |||
}} | |||
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: | ||
buildpkg -p | {{UserCmd|command=buildpkg -p package-name}} | ||
To build a set the name of the set can be used. The current sets can be queried with the {{ic|-q}} option. | To build a set the name of the set can be used. The current sets can be queried with the {{ic|-q}} option. | ||
= buildtree = | = buildtree = | ||
Line 86: | Line 90: | ||
The arguments are: | The arguments are: | ||
{{UserCmdOutput|command=buildtree -h|result= | |||
<pre> | |||
Usage: buildtree [options] | Usage: buildtree [options] | ||
-s Sync manjaro tree | -s Sync manjaro tree | ||
Line 93: | Line 98: | ||
-q Query settings | -q Query settings | ||
-h This help[/code] | -h This help[/code] | ||
</pre> | |||
}} | |||
To sync Arch and Manjaro trees: | To sync Arch and Manjaro trees: | ||
buildtree -as | {{UserCmd|command=buildtree -as}} | ||
= buildiso = | = buildiso = | ||
Line 110: | Line 116: | ||
The help looks like the following for x86_64: | The help looks like the following for x86_64: | ||
{{UserCmdOutput|command=buildiso -h|result= | |||
<pre> | |||
Usage: buildiso [options] | Usage: buildiso [options] | ||
-p <profile> Buildset or profile [default: default] | -p <profile> Buildset or profile [default: default] | ||
Line 126: | Line 133: | ||
-q Query settings and pretend build | -q Query settings and pretend build | ||
-h This help | -h This help | ||
</pre> | |||
}} | |||
== Query Building == | == Query Building == | ||
Line 132: | Line 140: | ||
To query build an ISO ('''-q''' option), for example the xfce-openbox-openrc profile, the following command can be used: | To query build an ISO ('''-q''' option), for example the xfce-openbox-openrc profile, the following command can be used: | ||
{{UserCmdOutput|command=buildiso -p xfce -qv|result= | |||
<pre> | <pre> | ||
==> manjaro-tools | ==> manjaro-tools | ||
-> version: 0.15.9 | -> version: 0.15.9 | ||
Line 178: | Line 185: | ||
-> disable_systemd: pacman-init | -> disable_systemd: pacman-init | ||
</pre> | </pre> | ||
}} | |||
== Building == | == Building == | ||
Line 184: | Line 191: | ||
To actually build the ISO: | To actually build the ISO: | ||
{{UserCmd|command=buildiso -p xfce -b stable}} | |||
== Building with predownloaded Xorg packages == | == Building with predownloaded Xorg packages == | ||
Line 191: | Line 197: | ||
To build an ISO while retaining the previously downloaded cache of Xorg packages, the '''-x''' option can be used: | To build an ISO while retaining the previously downloaded cache of Xorg packages, the '''-x''' option can be used: | ||
{{UserCmd|command=buildiso -p xfce-openbox-openrc/ -b stable -x}} | |||
== Building with a small config change == | == Building with a small config change == | ||
Line 200: | Line 205: | ||
Supposing something only changed in config, like a setting, instead of building the whole ISO from scratch, the ISO build directory can be modified and the ISO can be rebuilt. For example, supposing one changed ''xfce-overlay/etc/skel/.conkyrc'' in the config, one can go into the work directory, modify the said file, and rebuild the ISO using the '''-cs''' option. | Supposing something only changed in config, like a setting, instead of building the whole ISO from scratch, the ISO build directory can be modified and the ISO can be rebuilt. For example, supposing one changed ''xfce-overlay/etc/skel/.conkyrc'' in the config, one can go into the work directory, modify the said file, and rebuild the ISO using the '''-cs''' option. | ||
The work directory can be found using the '''-''' option: | The work directory can be found using the '''-h''' option: | ||
{{UserCmdOutput|command=buildiso -h|result= | |||
<pre> | |||
Usage: buildiso [options] | Usage: buildiso [options] | ||
-p <profile> Buildset or profile [default: default] | -p <profile> Buildset or profile [default: default] | ||
Line 226: | Line 232: | ||
-q Query settings and pretend build | -q Query settings and pretend build | ||
-h This help | -h This help | ||
</pre> | |||
}} | |||
-r <dir> Chroots directory | |||
[default: '''/var/lib/manjaro-tools/buildiso'''] | |||
(work directory highlighted in bold) | (work directory highlighted in bold) | ||
The required file can be edited as root, for example: | The required file can be edited as root, for example: | ||
{{UserCmd|command=sudo nano /var/lib/manjaro-tools/buildiso/xfce/x86_64/desktopfs/etc/skel/.conkyrc}} | |||
There is a catch involved here though; the file one wants to edit may be present in multiple images, like rootfs, livefs, desktopfs), and would need to be edited in the respective image directories. | There is a catch involved here though; the file one wants to edit may be present in multiple images, like rootfs, livefs, desktopfs), and would need to be edited in the respective image directories. | ||
Line 237: | Line 246: | ||
Then the ISO then can be rebuilt as: | Then the ISO then can be rebuilt as: | ||
{{UserCmd|command=buildiso -p xfce -cs}} | |||
=== Alternative === | === Alternative === | ||
Line 246: | Line 254: | ||
For example: | For example: | ||
{{UserCmdOutput|command=buildiso -p xfce -b stable -x|result= | |||
<pre> | |||
==> Start building [xfce] | ==> Start building [xfce] | ||
==> Cleaning up ... | ==> Cleaning up ... | ||
-> Deleting chroot [rootfs] (x86_64) ... | -> Deleting chroot [rootfs] (x86_64) ... | ||
-> Deleting isoroot [iso] ... | -> Deleting isoroot [iso] ... | ||
[..] | |||
</pre> | |||
}} | |||
After this the changes in the work directory can be made, and the ISO can be generated with: | After this the changes in the work directory can be made, and the ISO can be generated with: | ||
{{UserCmd|command=buildiso -p xfce/ -cz}} | |||
= See Also = | = See Also = |
Latest revision as of 16:09, 29 December 2022
Introduction
manjaro-tools consists of a lot of different tools aimed at Manjaro developers. It is split into 3 different packages:
- manjaro-tools-base contains basic tools, different chroot tools, and buildset
- manjaro-tools-pkg contains small helper tools, buildpkg, and buildtree
- manjaro-tools-iso contains small helper tools and buildiso
All of these manjaro-tools packages are replacements for devtools and manjaroiso.
A detailed user manual is available at gitlab.
Configuration
manjaro-tools can be configured by copying the folder /etc/manjaro-tools to your home in ~/.config folder and then edit the file ~/.config/manjaro-tools/manjaro-tools.conf
Files
These are the new names for renamed scripts.
- mkmanjaroroot --> mkchroot
- manjarobuild --> buildpkg
- mkset --> buildset
- pacstrap --> basestrap
- genfstab --> fstabgen
- arch-chroot --> manjaro-chroot
buildset
buildset is used to create build lists. Build lists can be defined in /etc/manjaro-tools/sets/<buildlistname>.set
The help looks like the following:
$ buildset -h
Usage: buildset [options] -c <name> Create set -r <name> Remove set -s <name> Show set -i Iso mode -q Query sets -h This help
buildpkg
buildpkg is used to build a particular package or a set. In the following chapter all functions of buildpkg get explained.
If you want a detailed example how to use buildpkg to build packages for a local repository, please look here.
The help looks like the following:
$ buildpkg -h
Usage: buildpkg [options] -a <arch> Arch [default: x86_64] -b <branch> Branch [default: stable] -c Recreate chroot -h This help -i <pkg> Install a package into the working copy of the chroot -n Install and run namcap check -p <pkg> Build list or pkg [default: default] -q Query settings and pretend build -r <dir> Chroots directory [default: /var/lib/manjaro-tools/buildpkg] -s Sign packages -w Clean up cache and sources
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 set the name of the set can be used. The current sets can be queried with the -q
option.
buildtree
buildtree is a little tools to sync arch abs and manjaro packages git repos.
The arguments are:
$ buildtree -h
Usage: buildtree [options] -s Sync manjaro tree -a Sync arch abs -c Clean package tree -q Query settings -h This help[/code]
To sync Arch and Manjaro trees:
buildiso
buildiso is used to build a particular ISO or a set of ISOs. All functions of buildiso will be explained in the following chapters.
If you want a detailed guide how to use buildiso to build your own Manjaro ISOs from scratch, please look here.
Overview
The help looks like the following for x86_64:
$ buildiso -h
Usage: buildiso [options] -p <profile> Buildset or profile [default: default] -a <arch> Arch [default: x86_64] -b <branch> Branch [default: stable] -r <dir> Chroots directory [default: /var/lib/manjaro-tools/buildiso] -c Disable clean work dir -x Clean xorg cache -l Clean lng cache -i Build images only -s Generate iso only Requires pre built images (-i) -v Verbose output, show profies detail (-q) -q Query settings and pretend build -h This help
Query Building
To query build an ISO (-q option), for example the xfce-openbox-openrc profile, the following command can be used:
$ buildiso -p xfce -qv
==> manjaro-tools -> version: 0.15.9 -> config: ~/.config/manjaro-tools/manjaro-tools.conf ==> PROFILE: -> build_lists: community|default|manjaro|sonar|v17-release -> build_list_iso: xfce -> is_build_list: false ==> OPTIONS: -> arch: x86_64 -> branch: unstable -> kernel: linux419 ==> ARGS: -> clean_first: true -> images_only: false -> iso_only: false -> persist: false ==> DIST SETTINGS: -> dist_name: Manjaro -> dist_release: 18.0 -> dist_codename: Illyria ==> ISO INFO: -> iso_label: MJRO180 -> iso_compression: xz ==> BUILD QUEUE: --> Profile: [xfce] -> iso_file: manjaro-xfce-18.0-unstable-minimal-x86_64.iso -> autologin: true -> nonfree_mhwd: true -> multilib: true -> extra: false -> netinstall: false -> chrootcfg: false -> geoip: true -> efi_boot_loader: grub -> hostname: manjaro -> username: manjaro -> password: manjaro -> login_shell: /bin/bash -> addgroups: lp,network,power,sys,wheel -> enable_systemd: avahi-daemon bluetooth cronie ModemManager NetworkManager org.cups.cupsd tlp tlp-sleep ufw lightdm -> enable_systemd_live: manjaro-live mhwd-live pacman-init mirrors-live -> disable_systemd: pacman-init
Building
To actually build the ISO:
Building with predownloaded Xorg packages
To build an ISO while retaining the previously downloaded cache of Xorg packages, the -x option can be used:
Building with a small config change
Supposing something only changed in config, like a setting, instead of building the whole ISO from scratch, the ISO build directory can be modified and the ISO can be rebuilt. For example, supposing one changed xfce-overlay/etc/skel/.conkyrc in the config, one can go into the work directory, modify the said file, and rebuild the ISO using the -cs option.
The work directory can be found using the -h option:
$ buildiso -h
Usage: buildiso [options] -p <profile> Buildset or profile [default: default] -a <arch> Arch [default: x86_64] -b <branch> Branch [default: unstable] -r <dir> Chroots directory [default: '''/var/lib/manjaro-tools/buildiso'''] -t <dir> Target directory [default: /home/fh/Data/build/iso] -k <name> Kernel to use [default: linux419] -g <key> The gpg key for sfs signing [default: ] -m Set SquashFS image mode to persistence -c Disable clean work dir -f Build full ISO (extra=true) -d <comp> Compression used for build ISO: xz, gzip, lzma, lzo, lz4 [default: xz] -x Build images only -z Generate iso only Requires pre built images (-x) -v Verbose output to log file, show profile detail (-q) -q Query settings and pretend build -h This help
-r <dir> Chroots directory [default: /var/lib/manjaro-tools/buildiso]
(work directory highlighted in bold)
The required file can be edited as root, for example:
There is a catch involved here though; the file one wants to edit may be present in multiple images, like rootfs, livefs, desktopfs), and would need to be edited in the respective image directories.
Then the ISO then can be rebuilt as:
Alternative
First only the chroot for the ISO could be created, using the -i
option, then the changes can be made, and finally an ISO can be built with the -sc
option.
For example:
$ buildiso -p xfce -b stable -x
==> Start building [xfce] ==> Cleaning up ... -> Deleting chroot [rootfs] (x86_64) ... -> Deleting isoroot [iso] ... [..]
After this the changes in the work directory can be made, and the ISO can be generated with: