Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
howtos:slackware_admin:building_packages_with_sbopkg [2016/08/18 21:49 (UTC)] – [Install sbopkg] willysr | howtos:slackware_admin:building_packages_with_sbopkg [2016/08/18 22:01 (UTC)] – [Using Queuefiles with sbopkg] willysr |
---|
===== Configure sbopkg ===== | ===== Configure sbopkg ===== |
| |
- Read the ''sbopkg'' documentation! See http://www.sbopkg.org/docs.php , and also do not forget there is a man page for ''sbopkg''. | - Read the ''sbopkg'' documentation! See https://www.sbopkg.org/docs.php , and also do not forget there is a man page for ''sbopkg''. |
- The first time ''sbopkg'' is executed, you will be asked if it is OK that the program creates the necessary configuration files: <code> | - The first time ''sbopkg'' is executed, you will be asked if it is OK that the program creates the necessary configuration files: <code> |
# sbopkg | # sbopkg |
Variable Assignment | Variable Assignment |
-------- ---------- | -------- ---------- |
REPO_{ROOT,NAME,BRANCH} -> /var/lib/sbopkg/,SBo/,14.0 | REPO_{ROOT,NAME,BRANCH} -> /var/lib/sbopkg/,SBo/,14.2 |
LOGFILE directory -------> /var/log/sbopkg | LOGFILE directory -------> /var/log/sbopkg |
QUEUEDIR ----------------> /var/lib/sbopkg/queues | QUEUEDIR ----------------> /var/lib/sbopkg/queues |
| |
(C)reate or (A)bort?: | (C)reate or (A)bort?: |
</code>. Select <key>'C'</key> to create these required directories. \\ The program will then present its main screen: \\ {{:howtos:sbopkg_start.png}} | </code>. Select <key>'C'</key> to create these required directories. \\ The program will then present its main screen: \\ |
| {{:howtos:slackware_admin:sbopkg_start.png}} |
- Your first task is to synchronize with the SlackBuilds.org repository - i.e. you let ''sbopkg'' create a local copy of all the SlackBuild entries on the remote server, for the Slackware release which you are running. You either use the first menu item in the curses-based main screen, or else you can do this from the commandline: <code> | - Your first task is to synchronize with the SlackBuilds.org repository - i.e. you let ''sbopkg'' create a local copy of all the SlackBuild entries on the remote server, for the Slackware release which you are running. You either use the first menu item in the curses-based main screen, or else you can do this from the commandline: <code> |
# sbopkg -r | # sbopkg -r |
Syncing with the remote repository into /var/lib/sbopkg/SBo/14.0. | Syncing with the remote repository into /var/lib/sbopkg/SBo/14.2. |
receiving incremental file list | receiving incremental file list |
| |
total size is 35271012 speedup is 0.94 | total size is 35271012 speedup is 0.94 |
| |
Rsync with the SBo repository for Slackware 14.0 complete. | Rsync with the SBo repository for Slackware 14.2 complete. |
| |
Importing SBo repository for Slackware 14.0 GPG Key... | Importing SBo repository for Slackware 14.2 GPG Key... |
Import done. | Import done. |
| |
===== Using Queuefiles with sbopkg ===== | ===== Using Queuefiles with sbopkg ===== |
| |
The ''sbopkg'' program itself allows a great deal of automation: the interactive curses interface helps you manage the burden of downloading source code archives, and allowing you to select multiple programs and then compile and package all of those in one go.\\ But you can automate this process even further, by using [[http://www.sbopkg.org/queues.php|queuefiles]] which contain pre-defined build sequences for a series of packages. Queuefiles themselves will be invoked recursively so that you can create a complex build chain with little effort. | The ''sbopkg'' program itself allows a great deal of automation: the interactive curses interface helps you manage the burden of downloading source code archives, and allowing you to select multiple programs and then compile and package all of those in one go.\\ But you can automate this process even further, by using sqg - sbopkg queueu generator (included in main package since 0.38.0). |
| |
Luckily Mauro Giachero (a sbopkg co-developer) already created queuefiles for the //entire// SlackBuilds.org repository. Check out the git repository [[http://gitorious.org/sbopkg-slackware-queues]]. Every program you find in the SBo repository has its own queuefile, containing every dependency which has to be compiled //before// your target program can be compiled. | sqg can generate queuefile for each or all packages in SBo repository:<code> |
| sqg -p <filezilla> # this will only generate queue file for filezilla package only |
The following URL has a listing of individual packages along with a tar.gz file of the complete index for Slackware 14: http://gitorious.org/sbopkg-slackware-queues/sbopkg-slackware-queues/trees/sbo-14.0 | sqg -a # this will generate queue files for all packages in SBo repository |
| </code> |
You can download an archive containing the full set for the Slackware 14.0 repository at SlackBuilds.org from this URL: http://gitorious.org/sbopkg-slackware-queues/sbopkg-slackware-queues/archive-tarball/sbo-14.0 . The resulting archive file will be named "''sbopkg-slackware-queues-sbopkg-slackware-queues-sbo-14.0.tar.gz''". | |
| |
Extract all of the *.sqf files to the directory which will be checked by ''sbopkg'': "''/var/lib/sbopkg/queues/''" with the following commands: <code> | |
# cd /var/lib/sbopkg/queues | |
# tar xvf /path/to/downloaded/sbopkg-slackware-queues-sbopkg-slackware-queues-sbo-14.0.tar.gz | |
# cd sbopkg-slackware-queues-sbopkg-slackware-queues | |
# mv * ../ | |
# cd .. | |
# rm -r sbopkg-slackware-queues-sbopkg-slackware-queues | |
</code> Now any queue file (*.sqf) can be selected to install any package (with dependencies) you desire. | |
| |
Another way to obtain queuefiles is run: | |
<code>cd /var/lib/sbopkg</code> | |
And then: | |
<code>git clone git://gitorious.org/sbopkg-slackware-queues/sbopkg-slackware-queues.git queues</code> | |
| |
<note>To update queuesfiles in the future: | Note that everytime a public update is announced or new repository is available, it's recommended to run sqg -a to generate an updated queue files as deps may be added or removed. |
<code># cd /var/lib/sbopkg/queues | |
# git pull</code></note> | |
===== Example of Using sbopkg ===== | ===== Example of Using sbopkg ===== |
| |