64 lines
2.3 KiB
Markdown
64 lines
2.3 KiB
Markdown
|
|
||
|
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.
|
||
|
|
||
|
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
|
||
|
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.
|
||
|
|
||
|
Enjoy and report problems to reddit.com/r/joborun
|
||
|
|
||
|
|
||
|
|
||
|
|