Devtools, PKGBUILD´s in Chroot Kompilieren

Ich vermisse bei Manjaro das “devtools” Paket.

Ich möchte wie für Arch typisch Software aus dem PKGBUILD (AUR und so) in einen chroot bauen und anpassen. Momentan mache ich es Manuell über einen nspawn Container. Die Arch Scripte würden mir einiges an Tipp Arbeit ersparen.

Gibt es von den Devtools auch eins von und für Manjaro ?

Schau mal hier:

    ~  pamac search manjaro-tools                                                                                                                            1 ✘
manjaro-tools-yaml-git  r3045.7e49d96-1                                                                                                                           extra
    Development tools for Manjaro Linux (yaml tools)
manjaro-tools-pkg-git  r3045.7e49d96-1                                                                                                                            extra
    Development tools for Manjaro Linux (packaging tools)
manjaro-tools-iso-git  r3045.7e49d96-1                                                                                                                            extra
    Development tools for Manjaro Linux (ISO tools)
manjaro-tools-base-git  r3045.7e49d96-1                                                                                                                           extra
    Development tools for Manjaro Linux (base tools)

Das Paket manjaro-chrootbuild ist das, was Sie suchen

sudo pacman -Syu manjaro-chrootbuild
 $ ls -l /etc/chrootbuild
total 12
-rw-r--r-- 1 root root 183  5 feb 04:16 build.sh
-rw-r--r-- 1 root root 377  5 feb 04:16 pacman.conf.aarch64
-rw-r--r-- 1 root root 376  5 feb 04:16 pacman.conf.x86_64
 $ chrootbuild -h

Usage: chrootbuild [options]

     -b <branch> Branch to use:
                 (unstable/testing/stable;
                 arm-unstable/arm-testing/arm-stable)
                 default: unstable / arm-unstable
     -c          Start with clean chroot fs
     -d          Disable colors.
     -D          Build with debug symbols.
     -f          Force unmount chroot if busy.
     -g          Push changes to git when building lists
     -G          Generate Checksums
     -h          This help
     -H          Use the host's keyrings
     -i <pkg>    Install package(s) to chroot fs
                 (for multiple packages repeat -i flag)
     -k <repo>   Use custom repo:
                 (mobile/kde-unstable)
     -K <list>   Kernel-modules list to build
     -l <list>   List(s) to build
                 (for multiple lists repeat -l flag)
     -L          enable LinkTimeOptimization
     -m          Build a multilib package
     -M <url>    Use custom mirror
     -n          Install built pkg to chroot fs
     -p <pkg>    Package(s) to build
                 (for multiple packages repeat -p flag)
     -r          custom chrootdir path
                 default: /var/lib/chrootbuild
     -s          Sign package(s)
     -u          Build pkgs only if update available (lists only)
     -x          Remove previously built packages in $PKGDEST
 $ cd /a/projects/manjaro/pkgbuilds/
 $ tree . -L 2
.
├── application-utility
│   ├── LICENSE
│   └── PKGBUILD
├── arkdep
│   ├── manjaro.patch
│   ├── PKGBUILD
│   └── README.md
├── arkdep-libalpm-hooks
│   └── PKGBUILD
├── libpamac
│   ├── libpamac-flatpak-plugin.install
│   ├── libpamac.install
│   └── PKGBUILD
├── manjaro-check-repos
│   └── PKGBUILD
├── manjaro-get-iso
│   ├── LICENSE
│   ├── PKGBUILD
│   └── README.md
├── manjaro-hello
│   ├── fix-41-and-42.patch
│   └── PKGBUILD
└── udev-usb-sync
    ├── PKGBUILD
    └── udev-usb-sync.install
 $ sudo chrootbuild -p udev-usb-sync

Von Arch bzw. CachyOs bin ich es gewohnt einen Buildcontainer mit mkchroot zu erstellen. Mit arch-nspawn den Container zu betreten und einige Anpassungen zu machen. Anschließen habe ich im Verzeichnis des Paketes makechrootpkg Verwendet.

In Manjaro scheint es mir sao das makechrootpkg keine Parameter übernimmt.
Wenn ich mkchrootpkg -c -r /home/user/chroot -- --skippgpcheck ausführe wird der Parameter für makepkg nicht übernommen.

Gibt es von Manjaro auch ein Tool welches wie arch-nspawn arbeitet ?
Und wie bekomme ich die Parameterübergabe gerichtet ?

Was in Arch funktioniert wird es wohl auch in Manjaro tun.
(It probably works just as well in Manjaro as it does in Arch)
Aber das ist nur eine Annahme, kein Wissen.
Ich wüßte aber auch keinen Grund dafür, warum es anders sein sollte.

systemd-nspawn - ArchWiki

DESCRIPTION

arch-nspawn is a wrapper around systemd-nspawn …

Übersetzt mit dem Vivaldi-Übersetzungsdienst

Bitte entfernen Sie das Paket manjaro-tools-pkg-git (falls installiert), es wurde zugunsten von manjaro-chrootbuild veraltet.

Navigieren Sie zum übergeordneten Ordner Ihrer PKGBUILD z.

 $ cd /a/projects/manjaro/pkgbuilds/
 $ tree . -L 2
.
├── application-utility
│   ├── LICENSE
│   └── PKGBUILD

[ ... ]

Führen Sie dann den Befehl chrootbuild aus. Um eine saubere Chroot zu gewährleisten, verwenden Sie das Argument -c und fügen Sie eine beliebige Anzahl von -p-Argumenten (Name des Ordners) bei, die das PKGBUILD enthalten

sudo chrootbuild -c -p <foldername>

Kann ich dem chrootbuild irgendwie sagen welche makepkg.conf verwendet werden soll ?