manjaro-tools.conf is the central configuration file for manjaro-tools.
By default, the config is installed in /etc/manjaro-tools/manjaro-tools.conf
A user config manjaro-tools.conf can be placed in $HOME/.config.
If the userconfig is present, manjaro-tools will load userconfig values, however, if variables have been set in the systemwise /etc/manjaro-tools/manjaro-tools.conf, these values take precedence over the userconfig. Best practise is to leave systemwide file untouched, by default it is commented and shows just initialization values done in code.
Each iso profile must have these files or symlinks to shared:
initsys
contains the init type string, systemd or openrc, could be eg a future runit implemetation too
displaymanager
contains the DM string
if no DM is used, set it to 'none'
Packages-Livecd
contains packages you only want on livecd but not installed on the target system with installer
dault files are in shared folderand can be symlinked or defined in a real file
If you need a custom livecd-overlay, create a overlay-livecd folder in your profile, and symlink from shared/overlay-livecd/<your_selection> and add your modification.
2. buildpkg
buildpkg is the chroot build script oi manjaro-tools.
It it run in a abs/pkgbuilds directory which contains directories with PKGBUILD
It can be configure with manjaro-tools.conf or by args
buildpackage creates by default a pkg cache dir in /var/cache/manjaro-tools/
Subdirectories will be created when building for the brach and architecture.
A word on makepkg.conf PKGDEST
manjarotools.conf supports the makepkg.conf variables
If you set PKGDEST all works fine, but be careful, that your PKGDEST is clean, or else buildpkg will move all files from PKGDEST to cache dir , not only the built package.
Example: create a set for lxqt assuming a pure lxqt abs directory
mkset -c lxqt-0.8
The set name should not be a name of a package, or else buildpkg won't recognize the build list and only bulds the package you specified, since the buildpkg -p arg handles set and package name.
If you create a set manually, the set must have a .set extension.
Example: /etc/manjaro-tools/sets/lxqt-0.8.set
3. buildiso
buildiso is used to build manjaro-iso-profiles. It is run insde a iso profile folder.
It now supports installing packages in a livecd chroot environment.
New packages for livecd only:
manjaro-livecd (shared livecd skeletton)
manjaro-livecd-cli-installer
manjaro-livecd-openrc (openrc-run scripts for livecd)
Example: build xfce iso profile for both arches and branch testing on x86_64 build system:
buildiso -v -a i686 -b testing
buildiso -v -b testing
the branch can be defined also in manjaro-tools.conf, but a manual parameter will always override conf settings.
3.1.1 Default parameteres set
-c
clean work dir & target dir, disabled will likely produce an error since work dir already exists
-z
high compression
-A
auto service configuration
3.1.2 Special parameters
-A
By default, buildiso auto configures services on both DE image and livecd image. This can be set in manjaro-tools.cong. Using this parmater will disable auto config. The result is, that any service configuration in iso profiles was removed. This parameter serves as custom parameter if you chose to confiogre services in the profile.
-B
Build images only will stop after all packages have been installed. No iso sqfs compression will be executed
-G
Use this if you previously used -B to sqfs compress the chroots.
-P
By default, xorg package cache is cleaned on every build. Disabling the xorg cache cleaning will result in no dowload again for xorg drivers and the cache is used. Be careful with this option if you switch arches, it currently does not detect the pkg arch in the cache. So don't use it if you build for a different arch first time.
-L
Disable lng cache, by default lng cache is cleaned on every build. Uning this option will enable lng packages from cache rather than downloading them again.