sbopkg/tools/sbopkg8.html
Willy Sudiarto Raharjo 775c93ef3a
sbopkg-0.38.2 is released.
Signed-off-by: Willy Sudiarto Raharjo <willysr@sbopkg.org>
2022-03-10 23:41:19 +07:00

764 lines
15 KiB
HTML

<HTML><HEAD><TITLE>Manpage of SBOPKG</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
</HEAD><BODY>
<H1>SBOPKG</H1>
Section: (8)<BR>Updated: March 2022<BR><A HREF="#index">Index</A>
<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
sbopkg - the SlackBuilds.org package browser
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>sbopkg</B>
[<I>options</I>]
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<B>Sbopkg</B>
is a command-line and
<B>dialog</B>-based
tool to interact with the SlackBuilds.org (``SBo'') repository, a
collection of third-party SlackBuild scripts to build Slackware
packages.
<A NAME="lbAE">&nbsp;</A>
<H3>Instructions</H3>
<B>Sbopkg</B>
usage assumes an understanding of SlackBuilds, generally, and the
third-party SBo repository, specifically.
A thorough reading of
<I><A HREF="https://www.slackbuilds.org/howto/">https://www.slackbuilds.org/howto/</A></I>
and the pages at
<I><A HREF="https://www.slackwiki.com">https://www.slackwiki.com</A></I>
about SlackBuilds is strongly advised.
<P>
In order for
<B>sbopkg</B>
to be used, a configuration file must exist at
<I>/etc/sbopkg/sbopkg.conf</I>
and/or
<I>~/.sbopkg.conf</I>.
An initial install will provide the user with the system file while
upgrades will add an
<I>/etc/sbopkg/sbopkg.conf.new</I>
file with which the user may merge or replace the older version.
See
<B><A HREF="http://localhost/cgi-bin/man/man2html?5+sbopkg.conf">sbopkg.conf</A></B>(5)
for more information about the configuration files.
<P>
<B>Sbopkg</B>
must be run as the root user (since the SBo SlackBuilds are written with
the intention of being run as root).
Furthermore, using the
<B>-</B>
option with
<B>su</B>
is strongly encouraged.
The reason is that some SlackBuilds rely on certain tools that are only
available in root's
<B>PATH</B>
when the scripts in
<I>/etc/profile.d</I>
have been run (i.e.,
<B>texmf</B>
to build man pages), which is only done for login shells, or otherwise
require a ``truer'' root environment than that given by only
<B>su</B>.
In any event, invoking
<B>sbopkg</B>
with no arguments (or with just
<B>-d</B>,
<B>-f</B>,
or
<B>-V</B>)
will launch the
<B>dialog</B>-based
interface, and the menus provided should be fairly self-explanatory.
<P>
The main menu allows the user to synchronize with the SBo repository.
This is the first step to take (after configuration) with a new install
of
<B>sbopkg</B>.
Currently, the size of a local copy of the SBo repository is about
about 336MB.
The main menu also allows the user to view the SBo
<I>ChangeLog</I>,
check for potential updates to SBo packages, display the contents of the
local cache directory where source tarballs are saved, display the
permanent build log, and browse or search the local copy of the SBo
repository.
Once the browse function is chosen, the user can select the category of
software to view.
After choosing a category, the user can then view the various software
packages available in that category within the local SBo repository.
Selecting a package will display another menu allowing the user to view
the package's
<I>README</I>,
<I>SlackBuild</I>,
<I>.info</I>,
or
<I>slack-desc</I>
files.
The user can also edit the
<I>.info</I>
file and
<I>SlackBuild</I>
and the edited files will remain after doing a sync.
Additionally, the user can choose to build a package using either the
original
<I>SlackBuild</I>
or the locally-edited one, if present.
If using the
<B>dialog</B>
interface, and if
<B>sbopkg</B>
finds a built package for a particular piece of software in the
<B>OUTPUT</B>
directory, then
<B>sbopkg</B>
will automatically add a new menu entry allowing the user to install the
package if he chooses.
Alternatively, the user can choose to automatically download, build, or
install individual packages or several packages in a queue.
Finally, if
<B>KEEPLOG</B>
is set to
<B>YES</B>
in a configuration file, a permanent log of the build process is saved.
See
<B><A HREF="http://localhost/cgi-bin/man/man2html?5+sbopkg.conf">sbopkg.conf</A></B>(5)
under
<B>KEEPLOG</B>
and
<B>LOGFILE</B>
for details.
<P>
Alternatively,
<B>sbopkg</B>
can be run from the command line without using the
<B>dialog</B>
interface.
See the
<B>OPTIONS</B>
section for the available command line options.
<P>
<B>Sbopkg</B>
also has the capability of loading, saving, and using user-created
queuefiles.
These queuefiles are simple text files with one application name per
line.
By default, when a queuefile is loaded in the dialog interface, the
application is selected, or ``ON.''
This can be changed by inserting a ``-'' in front of the application
name in the queuefile.
Also, queuefiles can reference other queuefiles when the first character
is an ``@''.
See the
<I>readme-queuefiles</I>
document in the documentation directory for more information.
<P>
Certain features of
<B>sbopkg</B>
rely on outside binaries, such as a pager to view the text files when
<B>sbopkg</B>
is run from the command line, and an editor to edit the
<I>.info</I>
or
<I>SlackBuild</I>
files.
The paging functions will look to the environmental variable
<B>PAGER</B>
and, if that variable is not defined, it will default to
<B>more</B>.
Similarly, the editing functions will look to
<B>EDITOR</B>
and will default to
<B>vi</B>.
If the user wants
<B>sbopkg</B>
to use another editor or pager, then adding the requisite information in
<I>~/.bashrc</I>,
<I>/etc/profile</I>,
or other similar configuration file (including
<B>sbopkg</B>'s
own configuration files) to export the relevant variable will suffice.
<A NAME="lbAF">&nbsp;</A>
<H2>OPTIONS</H2>
<DL COMPACT>
<DT><B>-b</B><I> PACKAGE(s)/QUEUE(s)</I>
<DD>
Build packages of the argument(s) from the active repository.
If more than one package is specified, they may either be quoted or the
switch can be given multiple times.
Using this second form, a colon-separated list of options may be given.
If whitespace occurs between the colons, it must be quoted.
<DT><DD>
For example:
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -b &quot;foo bar&quot;
</PRE>
</DL>
</DL>
<DT><DD>
will build
<I>foo</I>
and then
<I>bar</I>.
<DT><DD>
Or
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -b app1:opt1=&quot;foo bar&quot;:opt2=baz -b app2:opt=mu
</PRE>
</DL>
</DL>
<DT><DD>
will build app1 with the options ``foo bar'' and ``baz'', and app2 with
the option ``mu''.
<DT><DD>
Queuefile names can also be specified.
In that case, all the packages specified in the queuefile will be built.
In the unfortunate case a token matches both a queuefile name and a
package name (i.e., the user named a queuefile with the name of a
package),
<B>sbopkg</B>
will ask the user which one should be used.
A way to avoid this is to specify the queuefile with its
<I>.sqf</I>
extension.
Also, a mix of both packages and queuefiles may be given.
The tokens (package names or queuefiles) are processed in the order they
are specified on the command line, and the order specified in the
queuefiles is retained.
If a package is specified more than once, it gets queued only the first
time it is encountered.
<DT><B>-B</B>
<DD>
Process the packages or queues without prompting for confirmation first.
<DT><B>-c</B>
<DD>
Display a list of installed SBo packages and potential updates.
<DT><B>-d</B><I> PACKAGE(s)/QUEUE(s)</I>
<DD>
Download source archives of the argument(s) from the URL specified in
the active repository.
<DT><DD>
See the
<B>-b</B>
option for details since, other than the build, these two options
operate similarly.
<DT><B>-D</B><I> DIRECTORY</I>
<DD>
Manually specify the full path to the
<I>DIRECTORY</I>
containing the local SBo repository.
<DT><B>-e ask</B>|continue|stop
<DD>
Specify what
<B>sbopkg</B>
should do when it encounters an error while processing a package.
Valid options are:
<DT><DD>
<B>ask</B>:
This is the default behavior, asking the user what to do.
<DT><DD>
<B>continue</B>:
Ignore the error and continue processing (act as if the user answered
``Yes'' to all questions).
<DT><DD>
<B>stop</B>:
Stop the processing (act as if the user answered ``No'' to all questions).
<DT><B>-f</B><I> FILE</I>
<DD>
Override the default configuration file,
<I>/etc/sbopkg/sbopkg.conf</I>,
with
<I>FILE</I>.
<DT><B>-g</B><I> PACKAGE(s)</I>
<DD>
General search for
<I>PACKAGE(s)</I>
by case-insensitive glob where the argument is automatically wrapped in
<B>*</B>s.
If more than one glob is specified, they must be quoted or the -g flag
must be used multiple times, once for each glob.
<DT><DD>
For example:
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -g &quot;foo bar&quot;
</PRE>
</DL>
</DL>
<DT><DD>
will return a list of packages with either
<I>foo</I>
or
<I>bar</I>
in their names.
<DT><B>-h</B>
<DD>
Display the help.
<DT><B>-i</B><I> PACKAGE(s)/QUEUE(s)</I>
<DD>
Download, build, and install packages of the argument(s) from the active
repository.
<DT><DD>
See the
<B>-b</B>
option for details since, other than the installation, these two options
operate similarly.
<DT><DD>
Note that by carefully considering the order of the packages listed
and/or using queuefiles, the user may be able to install dependencies in
the right order before the final application is built.
<DT><B>-k</B>
<DD>
When used together with
<B>-b</B>,
<B>-d</B>,
or
<B>-i</B>,
this option tells
<B>sbopkg</B>
to skip (i.e., don't process) any package it finds to be already
installed.
<DT><DD>
Please note that only a name comparison is performed, so when this
option is specified
<B>sbopkg</B>
will also omit the build of different versions of installed packages.
<DT><B>-l</B>
<DD>
Display the SBo
<I>ChangeLog</I>
and quit.
<DT><B>-o</B>
<DD>
List the currently installed cached source files which are deemed
obsolete, and optionally delete them.
<DT><DD>
Source files are obsolete when no
<I>.info</I>
file's
<B>DOWNLOAD</B>
field(s) reference it any more, which is something that can happen after
syncing the local repository.
<DT><DD>
Please note that only the currently active repository is used to
identify the obsolete sources, so if the user builds packages with
different repositories (e.g., for different Slackware versions) the
source files only used in the ``other'' repository will be listed.
<DT><B>-P</B>
<DD>
List the cached package files which are not currently installed on the
system and optionally delete them.
<DT><B>-p</B>
<DD>
List installed SBo packages.
<DT><B>-q</B>
<DD>
Enable the ``quiet mode.''
When this flag is specified, the output of some of the command-line
options is minimized.
<DT><B>-R</B>
<DD>
When combined with
<B>-b</B>,
<B>-d</B>,
or
<B>-i</B>,
view the
<I>README</I>
files of the packages to be processed before processing them.
This is useful for making a final check.
When combined with
<B>-p</B>,
view the
<I>README</I>
files of all installed packages from the active repo.
<DT><B>-r</B>
<DD>
``Rsync'' the local repository with SBo and quit.
<DT><B>-S</B>
<DD>
Enable the ``sandbox mode.''
When this flag is specified packages will be built with sandbox.
This will prevent the build from modifying files it should not.
<DT><B>-s</B><I> PACKAGE(s)</I>
<DD>
Specific search for
<I>PACKAGE(s)</I>
by case-sensitive glob and, if found, display the
<I>README</I>,
<I>SlackBuild</I>,
<I>.info</I>,
and
<I>slack-desc</I>
files in that order for each
<I>PACKAGE</I>
found, using
<I>$PAGER</I>.
If more than one glob is specified, they must be quoted or the -s flag
must be used multiple times, once for each glob.
<DT><DD>
For example:
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -s &quot;foo bar&quot;
</PRE>
</DL>
</DL>
<DT><DD>
will display all the above-mentioned files for packages whose names are
exactly
<I>foo</I>
or
<I>bar</I>.
<DT><DD>
Note that shell metacharacters may be supplied in the arguments.
For instance,
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -s '*[Oo]pen*'
</PRE>
</DL>
</DL>
<DT><DD>
will return all packages with 'open' or 'Open' anywhere in the name.
If multiple applications are returned, the user will be presented with a
menu to select from.
<DT><B>-u</B>
<DD>
Check for an update to
<B>sbopkg</B>
itself and then quit.
<DT><B>-V</B><I> VERSION</I>
<DD>
Set the repository and branch to use.
<DT><DD>
For a list of valid versions, invoke
<B>sbopkg</B>
as
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT><DD>
<PRE>
# sbopkg -V ?
</PRE>
</DL>
</DL>
<DT><DD>
See the
<B><A HREF="http://localhost/cgi-bin/man/man2html?5+sbopkg.conf">sbopkg.conf</A></B>(5)
man page for more information about the ``local'' repository.
<DT><DD>
The
<I>VERSION</I>
format is repository/branch (e.g., SBo/xxxSWVERxxx).
If the repository is omitted,
<B>sbopkg</B>
will first look for the specified branch in the default repository.
If that attempt fails,
<B>sbopkg</B>
will look for the first matching branch in any repository.
<DT><B>-v</B>
<DD>
Prints the current version of
<B>sbopkg</B>
on stdout.
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>FILES</H2>
<DL COMPACT>
<DT><I>/etc/sbopkg/sbopkg.conf</I>
<DD>
Default system-wide file to specify configuration options.
<DT><I>~/.sbopkg.conf</I>
<DD>
File to override system configuration options.
<DT><I>/etc/sbopkg/renames.d/*.renames</I>
<DD>
Files that list software in the SBo repositories that has been renamed.
See the
<I>README-renames</I>
document in the
<B>sbopkg</B>
documentation directory for more information.
<DT><I>/etc/sbopkg/repos.d/*.repo</I>
<DD>
Files for various types of
<B>sbopkg</B>
repositories.
See the
<I>README-repos</I>
document in the
<B>sbopkg</B>
documentation directory for more information.
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>AUTHORS</H2>
Willy Sudiarto Raharjo
&lt;willysr@sbopkg.org&gt;
<P>
Chess Griffin
&lt;chess@chessgriffin.com&gt;
<P>
Mauro Giachero
&lt;mauro.giachero@gmail.com&gt;
<P>
slakmagik
&lt;slakmagik@gmail.com&gt;
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+dialog">dialog</A></B>(1),
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+more">more</A></B>(1),
<B><A HREF="http://localhost/cgi-bin/man/man2html?8+removepkg">removepkg</A></B>(8),
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+rsync">rsync</A></B>(1),
<B><A HREF="http://localhost/cgi-bin/man/man2html?5+sbopkg.conf">sbopkg.conf</A></B>(5),
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+su">su</A></B>(1),
<B><A HREF="http://localhost/cgi-bin/man/man2html?8+upgradepkg">upgradepkg</A></B>(8),
<B><A HREF="http://localhost/cgi-bin/man/man2html?1+vi">vi</A></B>(1),
<I>/usr/doc/sbopkg-0.38.2/*</I>
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT><A HREF="#lbAB">NAME</A><DD>
<DT><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT><A HREF="#lbAD">DESCRIPTION</A><DD>
<DL>
<DT><A HREF="#lbAE">Instructions</A><DD>
</DL>
<DT><A HREF="#lbAF">OPTIONS</A><DD>
<DT><A HREF="#lbAG">FILES</A><DD>
<DT><A HREF="#lbAH">AUTHORS</A><DD>
<DT><A HREF="#lbAI">SEE ALSO</A><DD>
</DL>
<HR>
This document was created by
<A HREF="http://github.com/hamano/man2html/">man2html</A>,
using the manual pages.<BR>
Time: 16:29:25 GMT, March 10, 2022
</BODY>
</HTML>