3.4 KiB
Back to the top joborun wiki page
You will notice that joborun has an extra directory on its root / named /src
This is where source code goes and the repository should be 0777 so user make can write into it.
If it doesn't already exist as a user create pkg
"% mkdir -p /src/pkg
cd /src/pkg git clone https://git.disroot.org/joborun-pkg/jobcore git clone https://git.disroot.org/joborun-pkg/jobextra
All of the source for joborun is in those repositories.
Shift into the name of the pkg you want to build.
You will notice various files, as usually the original PKGBUILD that "inspired" our PKGBUILD, if it came from arch it should be noted as PKGBUILD-arch and then PKGBUILD is our own version.
% cat note
if there is a note file there, it may have important information to consider before you build.
deps: Is a file listing all the additional dependencies needed to build the package "on top" of the 'jobbot' minimal chroot which must always be checked before a package is built.
pacman -Qsq >/tmp/Qsq diff -Nuar /src/Qsq /tmp/Qsq
If there is a difference of additionally installed packages it should show in the + list.
To install additional dependencies do:
% sudo pacman -S $(cat deps)
or make a shortcut such as depS = sudo pacman -S $(cat deps)
key: if the source is signed, this is the GnuPgp key you need to import
Simply: sh key
To make the package run /usr/local/bin/mkpkg (which is a modified way of running makepkg without risking of overexerting your machine)
The package should be produced: as pkgname-pkgver-x86_64.pkg.tar.xz
If this is a jobcore pkg, move it to /var/cache/jobcore
If this is a jobextra pkg, move it to /var/cache/jobextra
clean: Simply run sh clean and the directory will be left as it was when you entered it.
deps: Once again you should remove additional building dependencies when you are done by simply:
% sudo pacman -Rnsu $(cat deps)
or make a shortcut such as depR = sudo pacman -Rnsu $(cat deps) Now repeat this for all the packages in the repo.
Summary
cd pkgname cat note # this will only exist if special instructions are needed or somthing that deviates from normal building procedure sh key depS mkpkg sudo mv pkgname*.pkg.tar.xz /var/cache/job..../ sh clean depR
If you want a list of all the pkg names inside each repository:
% pacman -Sl jobcore >/stc/pkg/jobcore.list
You can take the above sequence of commands (not shortcuts the complete commands) use a for pkgname in /stc/pkg/jobcore.list do .... ... and go away for the weekend, if all goes well the entire repository will be full with your own built packages.
But try to avoid such unsupervised activity. Make a script that will build a single package but don't chainload too many of them.
Enjoy and report problems to reddit.com/r/joborun
PS One thing you can do ahead of starting to build is to import all the signature keys for upstream sources. Since all key scripts are listed in each pkg directory that employs one, when in /src/pkg/jobcore for example run:
sh */key
And all the jobcore gpg keys are imported. Make sure there were no errors, because sometimes gnupgp key servers are slow to react and your system will not wait as long, unless you can configure it to wait longer. Read up on the gpgme documentation.