Create Manjaro Packages
Guidelines for creating Manjaro packages
This page is a work in progress - it will improve.
Devtools has been updated by core team members to suit our needs. Creating a clean package for Manjaro is as easy as eating pie. (According to Phil!)
It will create your chroot and package with all dependencies automatically for the branch and architecture you have chosen.
The process of creating a package
First, install devtools on your system:
sudo pacman -S devtools
Clone your PKGBUILD from our git:
core
git clone http://git.manjaro.org/package-sources/core.git
extra
git clone http://git.manjaro.org/package-sources/extra.git
community
git clone http://git.manjaro.org/package-sources/community.git
multilib
git clone http://git.manjaro.org/package-sources/multilib.git
Building Packages for the various repos
This is the format:
cd <repo>/<package> sudo <branch>-<arch>-build
Since Phil pulls all to unstable first, most of the packages will be built only in unstable:
cd <repo>/<package> sudo unstable-i686-build
Each branch is built in a separate chroot
As the following shows:
[phil@manjaro manjarobuild]$ ls stable-i686 testing-i686 unstable-i686 stable-x86_64 testing-x86_64 unstable-x86_64 [phil@manjaro manjarobuild]$ ls */* stable-i686/phil.lock testing-i686/phil.lock unstable-i686/phil.lock stable-i686/root.lock testing-i686/root.lock unstable-i686/root.lock stable-x86_64/phil.lock testing-x86_64/phil.lock unstable-x86_64/phil.lock stable-x86_64/root.lock testing-x86_64/root.lock unstable-x86_64/root.lock stable-i686/phil: bin build dev home mnt pkgdest root sbin srv tmp var boot chrootbuild etc lib opt proc run srcdest sys usr stable-i686/root: bin dev home mnt proc run srv tmp var boot etc lib opt root sbin sys usr stable-x86_64/phil: bin build dev home lib64 opt proc run srcdest sys usr boot chrootbuild etc lib mnt pkgdest root sbin srv tmp var stable-x86_64/root: bin dev home lib64 opt root sbin sys usr boot etc lib mnt proc run srv tmp var testing-i686/phil: bin build dev home mnt pkgdest root sbin srv tmp var boot chrootbuild etc lib opt proc run srcdest sys usr testing-i686/root: bin dev home mnt proc run srv tmp var boot etc lib opt root sbin sys usr testing-x86_64/phil: bin build dev home lib64 opt proc run srcdest sys usr boot chrootbuild etc lib mnt pkgdest root sbin srv tmp var testing-x86_64/root: bin dev home lib64 opt root sbin sys usr boot etc lib mnt proc run srv tmp var unstable-i686/phil: bin build dev home mnt pkgdest root sbin srv tmp var boot chrootbuild etc lib opt proc run srcdest sys usr unstable-i686/root: bin dev home mnt proc run srv tmp var boot etc lib opt root sbin sys usr unstable-x86_64/phil: bin build dev home lib64 opt proc run srcdest sys usr boot chrootbuild etc lib mnt pkgdest root sbin srv tmp var unstable-x86_64/root: bin dev home lib64 opt root sbin sys usr boot etc lib mnt proc run srv tmp var
Build i686 packages on an x86_64 host
It is possible to build i686 packages on an x86_64 host since all packages will get generated in a clean chroot.
Pushing packages to our repos
To push these packages to our repos is a different story and will be done by boxit. Hopefully Roland will modify boxit so more people other than our core-team can commit packages to our repos. For now, please mail philm your packages & he'll do the upload for you.
Support
Following is a link to this page's forum counterpart where you can post any related feedback: [1]