Create Manjaro Packages

Guidelines for creating Manjaro packages

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!)


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

Following is an example of the process:

[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]