mirror of
https://github.com/zuno/slackpkgplus
synced 2024-12-27 09:58:34 +01:00
src/README: reformatted.
This commit is contained in:
parent
b20ab98eec
commit
24f6782a05
1 changed files with 196 additions and 104 deletions
300
src/README
300
src/README
|
@ -1,12 +1,13 @@
|
|||
slackpkg+ plugin for third-party repositories
|
||||
|
||||
Slackpkg is a package manager for Slackware.
|
||||
|
||||
Slackpkg is a package manager for Slackware.
|
||||
|
||||
Slackpkg+ is a plugin for slackpkg.
|
||||
It adds support for third-party repositories.
|
||||
You can install, upgrade and search from multiple repositories.
|
||||
|
||||
Thanks to alienbob and phenixia2003 for contributing and all other submitted suggestions and/or patches.
|
||||
Thanks to alienbob and phenixia2003 for contributing and all other submitted
|
||||
suggestions and/or patches.
|
||||
|
||||
********************* DISCLAIMER **********************
|
||||
This is NOT an official tool. Use it at your own risk.
|
||||
|
@ -16,140 +17,195 @@ for any damage that may be caused to your computer.
|
|||
*******************************************************
|
||||
|
||||
-----
|
||||
*Configuration:
|
||||
edit /etc/slackpkg/slackpkgplus.conf
|
||||
uncomment one or more mirrors and add them in the REPOPLUS list.
|
||||
Optionally, set PKGS_PRIORITY to give priority order for packages present in multiple repositories.
|
||||
|
||||
For a list of supported repositories see repositories.txt,
|
||||
but you can also add others yourself.
|
||||
|
||||
If you configure repositories that do not support gpg, you may need to set "CHECKGPG=off" in slackpkg.conf
|
||||
CONFIGURATION
|
||||
|
||||
* Edit /etc/slackpkg/slackpkgplus.conf
|
||||
* Uncomment one or more mirrors and add them to the REPOPLUS list
|
||||
* Optionally, set PKGS_PRIORITY to give priority order for packages present in
|
||||
multiple repositories
|
||||
|
||||
For a list of supported repositories see repositories.txt, but you can also
|
||||
add others yourself.
|
||||
|
||||
If you configure repositories that do not support gpg, you may need to set
|
||||
"CHECKGPG=off" in /etc/slackpkg/slackpkg.conf
|
||||
|
||||
Then launch
|
||||
# slackpkg update gpg
|
||||
# slackpkg update
|
||||
|
||||
|
||||
To keep slackpkg+ updated, uncomment the 'slackpkgplus' repository,
|
||||
then 'slackpkg upgrade-all' will upgrade it whenever a new version is released.
|
||||
To keep slackpkg+ updated, uncomment the 'slackpkgplus' repository, and then
|
||||
# slackpkg upgrade-all
|
||||
will upgrade slackpkg+ whenever a new version is released.
|
||||
|
||||
-----
|
||||
|
||||
The MIRRORPLUS array defines all mirrors. It accepts a lot of protocols:
|
||||
|
||||
1) http/ftp/https:
|
||||
MIRRORPLUS['slacky']=http://repository.slacky.eu/slackware64/
|
||||
MIRRORPLUS
|
||||
|
||||
The MIRRORPLUS array defines all mirrors. It accepts these protocols:
|
||||
|
||||
1) http/ftp/https: for example,
|
||||
|
||||
MIRRORPLUS['slacky']=http://repository.slacky.eu/slackware64/
|
||||
|
||||
The mirror must contains all metadata files (CHECKSUMS.md5 ...)
|
||||
You must run 'slackpkg update' after adding/removing a repository
|
||||
2) Local mirror:
|
||||
MIRRORPLUS['alienlocal']=file://mirrors/alienbob/x86/14.0/
|
||||
You must run 'slackpkg update' after adding/removing a repository.
|
||||
|
||||
2) Local mirror: for example,
|
||||
|
||||
MIRRORPLUS['alienlocal']=file://mirrors/alienbob/x86/14.0/
|
||||
|
||||
The directory must contains all metadata files (CHECKSUMS.md5 ...)
|
||||
You must run 'slackpkg update' after adding/removing a repository
|
||||
3) Local packages directory:
|
||||
MIRRORPLUS['mypackages']=dir://mypackages/
|
||||
All packages must be in a single directory (subdirectory not allowed)
|
||||
'slackpkg update' ignores these repositories. Every time you run slackpkg
|
||||
it reads the directory contents.
|
||||
You must run 'slackpkg update' after adding/removing a repository.
|
||||
|
||||
3) Local packages directory: for example,
|
||||
|
||||
MIRRORPLUS['mypackages']=dir://mypackages/
|
||||
|
||||
All packages must be in a single directory (subdirectory not allowed).
|
||||
Note that 'slackpkg update' ignores these repositories. Every time you run
|
||||
slackpkg, it reads the directory contents.
|
||||
|
||||
|
||||
-----
|
||||
|
||||
|
||||
Usage:
|
||||
USAGE
|
||||
|
||||
see 'man slackpkg' :D
|
||||
See 'man slackpkg' :D
|
||||
|
||||
Use 'slackpkg upgrade-all' to keep your system up-to-date.
|
||||
This command searches for upgraded packages spanning all configured repositories.
|
||||
Use the command
|
||||
# slackpkg upgrade-all
|
||||
to keep your system up-to-date. This command searches for upgraded packages
|
||||
spanning all configured repositories.
|
||||
|
||||
Use 'slackpkg install-new' (if you use current) to check for new packages.
|
||||
This command searches for new packages ONLY in the official Slackware repository.
|
||||
Use the command
|
||||
# slackpkg install-new
|
||||
(if you use Slackware -current) to check for new packages. This command
|
||||
searches for new packages ONLY in the official Slackware repository.
|
||||
|
||||
The command
|
||||
# slackpkg {install,upgrade,remove,reinstall}
|
||||
accepts:
|
||||
1) package-name (spanning all repositories)
|
||||
2) part of package-name (spanning all repositories)
|
||||
3) path of packages in repository, for example slackpkg install xap (spanning all repositories)
|
||||
4a) repository-name, for example slackpkg upgrade alienbob - upgrade packages from alienbob repository
|
||||
4b) repository-name, for example slackpkg install ktown - install all packages in ktown repository
|
||||
5) repository-name:package-name, for example slackpkg install slacky:openjdk - installs openjdk from slacky even if that repository is not the first one in order
|
||||
6) file:local-file-name (txz/tgz), for example slackpkg install file:mypackage-1.0-noarch-1my.txz - install mypackage even if not defined in slackpkgplus.conf; you can optionally specify relative or absolute path
|
||||
7) dir:directory, for example slackpkg {install|upgrade} dir:/root/myrepo (does not strictly require the final '/') - install or upgrade all packages in path (note: 'slackpkg install .' is an alias of 'slackpkg install dir:./', but 'slackpkg install ./' is NOT the same alias; search FILE in man slackpkg)
|
||||
accepts the following kinds of argument:
|
||||
|
||||
1) package-name (spanning all repositories), for example
|
||||
# slackpkg install bsd-games
|
||||
|
||||
2) part of package-name (spanning all repositories), for example
|
||||
# slackpkg install alsa
|
||||
|
||||
3) path of packages in repository (spanning all repositories), for example
|
||||
# slackpkg install xap
|
||||
|
||||
4) repository-name, for example
|
||||
# slackpkg upgrade alienbob
|
||||
upgrades all packages in the alienbob repository, and
|
||||
# slackpkg install ktown
|
||||
installs all packages in the ktown repository
|
||||
|
||||
5) repository-name:package-name, for example
|
||||
# slackpkg install slacky:openjdk
|
||||
installs openjdk from slacky even if there is another openjdk in another
|
||||
repository
|
||||
|
||||
6) file:local-file-name (txz/tgz), for example
|
||||
# slackpkg install file:mypackage-1.0-noarch-1my.txz
|
||||
installs mypackage even though not defined in slackpkgplus.conf
|
||||
(you can specify either a relative or an absolute path)
|
||||
|
||||
7) dir:directory, for example
|
||||
# slackpkg {install|upgrade} dir:/root/myrepo
|
||||
installs or upgrades all packages in /root/myrepo/
|
||||
(The final '/' is not strictly required.)
|
||||
Note: 'slackpkg install .' is an alias of 'slackpkg install dir:./', but
|
||||
'slackpkg install ./' is NOT the same alias; see FILE in man slackpkg
|
||||
|
||||
-----
|
||||
|
||||
Priority configuration:
|
||||
|
||||
When a package is present in more than one repository the package will be searched for in the following order:
|
||||
PRIORITY CONFIGURATION
|
||||
|
||||
When a package is present in more than one repository, the package will be
|
||||
searched for in the following order:
|
||||
|
||||
1) as listed in PKGS_PRIORITY
|
||||
2) as listed in an Official Slackware Repository (as configured in slackpkg.conf)
|
||||
2) as listed in an official Slackware repository
|
||||
(configured in /etc/slackpkg/mirrors)
|
||||
3) as listed in REPOPLUS
|
||||
4) all others defined in MIRRORPLUS
|
||||
|
||||
PKGS_PRIORITY Syntax:
|
||||
PKGS_PRIORITY syntax:
|
||||
PKGS_PRIORITY=( <repository name>:<package name> ... )
|
||||
|
||||
<repository name>:<package name>
|
||||
for example:
|
||||
PKGS_PRIORITY=( alienbob:openjdk )
|
||||
|
||||
example:
|
||||
alienbob:openjdk
|
||||
|
||||
<package name> accepts a regular expression, so
|
||||
restricted:.* means 'all packages in repository restricted'
|
||||
<package name> accepts a regular expression, so for example
|
||||
PKGS_PRIORITY=( restricted:.* )
|
||||
means 'all packages in repository restricted'
|
||||
|
||||
-----
|
||||
|
||||
MULTILIB:
|
||||
|
||||
If you want to use a multilib system you must configure the multilib repository in slackpkgplus.conf
|
||||
You can do that simply by running:
|
||||
MULTILIB
|
||||
|
||||
If you want to use a multilib system, you can automatically configure the
|
||||
multilib repository in slackpkgplus.conf and install multilib simply by running:
|
||||
# /usr/doc/slackpkg+-1.0/setupmultilib.sh
|
||||
|
||||
Otherwise you can configure it manually:
|
||||
Add the repository 'multilib', add "PKGS_PRIORITY=( multilib:.* )", then launch:
|
||||
To configure multilib manually (e.g. if you have installed multilib already),
|
||||
uncomment the correct "MIRRORPLUS['multilib']=...",
|
||||
and uncomment "PKGS_PRIORITY=( multilib:.* )",
|
||||
and add multilib to the REPOPLUS list.
|
||||
|
||||
To install multilib manually, launch:
|
||||
# slackpkg update gpg
|
||||
# slackpkg update
|
||||
# slackpkg upgrade-all
|
||||
# slackpkg install multilib
|
||||
|
||||
next time:
|
||||
After that, you can keep multilib up-to-date by launching:
|
||||
# slackpkg update
|
||||
# slackpkg upgrade-all
|
||||
and re-run 'slackpkg install multilib' if you found that 'slackpkg install-new' has found some new package.
|
||||
and re-running 'slackpkg install multilib' if 'slackpkg install-new' has found
|
||||
any new packages.
|
||||
|
||||
To remove the multilib, you must remove 'multilib:.*' from PKGS_PRIORITY and from REPOPLUS (but do not delete the related MIRRORPLUS line), then launch:
|
||||
To uninstall multilib, you must remove 'multilib:.*' from PKGS_PRIORITY and from
|
||||
REPOPLUS (but do not delete the related MIRRORPLUS line), then launch:
|
||||
# slackpkg update
|
||||
# slackpkg remove multilib
|
||||
Note: this does NOT remove the core multilib packages because they affect the 64bit system, so you must remove these by launching:
|
||||
Note: this does NOT remove the core multilib packages, because they affect the
|
||||
64bit system. You must remove these by launching:
|
||||
# slackpkg upgrade-all
|
||||
then delete or comment the related MIRRORPLUS line and launch:
|
||||
then delete or comment the related MIRRORPLUS line, and finally launch
|
||||
# slackpkg update
|
||||
|
||||
-----
|
||||
|
||||
NEWEST KDE:
|
||||
|
||||
If you want to install the latest kde package from alienbob (presently 4.11.1), add "PKGS_PRIORITY=( ktown:.* )" then launch:
|
||||
KTOWN (LATEST KDE)
|
||||
|
||||
the first time:
|
||||
If you want to install the latest KDE packages from AlienBOB's ktown repository
|
||||
(presently 4.11.1), add "PKGS_PRIORITY=( ktown:.* )" then launch:
|
||||
# slackpkg update gpg
|
||||
# slackpkg update
|
||||
# slackpkg install ktown
|
||||
# slackpkg upgrade-all
|
||||
Do not forget to read the special instructions from http://taper.alienbase.nl/mirrors/alien-kde/current/latest/ because you may need to remove some kde-slackware packages. At the time of writing:
|
||||
Do not forget to read the special instructions from
|
||||
http://taper.alienbase.nl/mirrors/alien-kde/current/latest/
|
||||
because you may need to remove some Slackware KDE packages. At the time of
|
||||
writing, these packages are:
|
||||
# slackpkg remove kdeadmin kdenetwork kdesdk kdetoys
|
||||
|
||||
next time:
|
||||
After that, you can keep the ktown KDE up-to-date by launching:
|
||||
# slackpkg update
|
||||
# slackpkg upgrade-all
|
||||
to upgrade to 4.11.2 or more.
|
||||
|
||||
to restore slackware kde:
|
||||
remove 'ktown:.*' from PKGS_PRIORITY and from REPOPLUS (but do not delete related MIRRORPLUS line)
|
||||
To restore the Slackware KDE, remove 'ktown:.*' from PKGS_PRIORITY and from
|
||||
REPOPLUS (but do not delete the related MIRRORPLUS line), then launch:
|
||||
# slackpkg update
|
||||
# slackpkg upgrade-all
|
||||
# slackpkg install kde
|
||||
|
@ -159,61 +215,97 @@ then delete or comment the related MIRRORPLUS line and launch:
|
|||
|
||||
-----
|
||||
|
||||
PERSONAL PACKAGES:
|
||||
If you build some packages, you can install these without installpkg, by using slackpkg. This helps you to track the install/upgrade and reduces the possibility of errors. You do NOT need to create a personal repository with a gpg-key and metadata every time you build a package; also you do NOT need to modify your config file and launch slackpkg update.
|
||||
|
||||
PERSONAL PACKAGES
|
||||
|
||||
If you build some packages yourself, you can install these without
|
||||
installpkg, by using slackpkg+. This helps you to track the install/upgrade,
|
||||
and reduces the possibility of errors. You do NOT need to create a personal
|
||||
repository with a gpg-key and metadata every time you build a package; also
|
||||
you do NOT need to modify your slackpkgplus.conf file or launch 'slackpkg
|
||||
update'.
|
||||
|
||||
You can:
|
||||
1) install/upgrade/reinstall a single package by passing the full file name (optionally add absolute or relative path):
|
||||
# slackpkg install file:package-1.0-noarch-1my.txz
|
||||
or
|
||||
# slackpkg upgrade file:../repo/package-2.0-noarch-1my.txz
|
||||
2) install/upgrade/reinstall all file packages in a single directory (does not allow subtree) by passing a directory name (optionally absolute or relative path):
|
||||
# slackpkg install dir:/myrep
|
||||
# slackpkg upgrade dir:./test/package/
|
||||
# slackpkg reinstall .
|
||||
'.' is an alias of 'dir:./', but only that alias exists. slackpkg install ./ or /myrepo/ or ./package.txz generates an error because in standard slackpkg you can specify a FILE as input, so in 'slackpkg install ./list.txt' list.txt must be a plain file containing a list of packages to install (see man slackpkg)
|
||||
If a directory contains the same package with two different versions, slackpkg shows the 'alphabetically' highest, so pkg-9.1 will be listed instead of pkg-8, but pkg-9 will be listed instead of pkg-10. Sorry... this is a slackpkg limitation!
|
||||
|
||||
1) install/upgrade/reinstall a single package by passing the full file name
|
||||
(optionally with absolute or relative path), for example
|
||||
# slackpkg install file:package-1.0-noarch-1my.txz
|
||||
or
|
||||
# slackpkg upgrade file:../repo/package-2.0-noarch-1my.txz
|
||||
|
||||
Tip: if you want to use dir:/myrepo to track your installations and you have lost the original txz/tgz file, you can simply create an empty file; this fools slackpkg+, which only searches for file name and not for contents (unless you run slackpkg reinstall on these packages ;))
|
||||
2) install/upgrade/reinstall all packages in a single directory (but not in a
|
||||
subtree) by passing a directory name (optionally with absolute or relative
|
||||
path), for example
|
||||
# slackpkg install dir:/myrep
|
||||
or
|
||||
# slackpkg upgrade dir:./test/package/
|
||||
or
|
||||
# slackpkg reinstall .
|
||||
|
||||
by doing
|
||||
# touch mypkg1-1.0-noarch-1my.tgz
|
||||
# touch mysecondpkg-1.1-noarch-2my.txz
|
||||
where mypkg1 and mysecondpkg are already installed packages, 'slackpkg install .' (or upgrade) does not show you those packages. 'slackpkg reinstall .' DOES show them (so do not continue the installation)
|
||||
Note: '.' is an alias of 'dir:./', but only that alias exists.
|
||||
'slackpkg install ./' (or /myrepo/ or ./package.txz) generates an error,
|
||||
because in standard slackpkg you can specify a FILE as input, so in
|
||||
'slackpkg install ./list.txt' list.txt must be a plain file containing a list
|
||||
of packages to install (see man slackpkg)
|
||||
|
||||
If a directory contains the same package with two different versions,
|
||||
slackpkg shows the 'alphabetically' highest, so pkg-9.1 will be listed
|
||||
instead of pkg-8, but pkg-9 will be listed instead of pkg-10.
|
||||
Sorry... this is a slackpkg limitation!
|
||||
|
||||
Tip: if you want to use dir:/myrepo to track your installations and you have
|
||||
lost the original txz/tgz file, you can simply create an empty file; this
|
||||
fools slackpkg+, which only searches for file name and not for contents
|
||||
(unless you run slackpkg reinstall on these packages ;)) So, by doing
|
||||
# touch mypkg1-1.0-noarch-1my.tgz
|
||||
# touch mysecondpkg-1.1-noarch-2my.txz
|
||||
(where mypkg1 and mysecondpkg are already installed packages),
|
||||
'slackpkg install .' (or upgrade) does not show you those packages, but
|
||||
'slackpkg reinstall .' DOES show them (so do not continue the installation)
|
||||
|
||||
NOTE: slackpkg+ will skip the gpg and md5 check for personal packages!!
|
||||
|
||||
-----
|
||||
|
||||
REMOTE PACKAGES WITHOUT METADATA:
|
||||
Some users share packages on their personal sites but without creating metadata files (particularly if they share only a few packages).
|
||||
To install one of these packages, you could download it and install it manually.
|
||||
But now with slackpkg+ you can specify a direct url for the package that will automatically download and install/upgrade the package.
|
||||
|
||||
REMOTE PACKAGES WITHOUT METADATA
|
||||
|
||||
Some users share packages on their personal sites, but do not create metadata
|
||||
files (particularly if they share only a few packages). To install one of these
|
||||
packages, you could download it and install it manually. But now with slackpkg+
|
||||
you can specify a direct URL for the package that will automatically download
|
||||
and install/upgrade the package.
|
||||
|
||||
You can:
|
||||
|
||||
1) install/upgrade/reinstall a single package by specifying the complete url:
|
||||
# slackpkg install http://site/path/package-1.0-noarch-1my.txz
|
||||
For example, you may use this function to install a snapshot of slackpkg+ (that is not available with 'slackpkg upgrade slackpkg+' because it is a beta version):
|
||||
# slackpkg upgrade http://www.slakfinder.org/slackpkg+/pkg/slackpkg+-20130905.2-noarch-1mt.txz
|
||||
2) install/upgrade/reinstall all file packages in a single remote directory (does not allow subtree):
|
||||
With the same syntax 'slackpkg install dir:..' you can specify a url-path:
|
||||
# slackpkg install http://site/path/
|
||||
even if the site owner does not create metadata.
|
||||
This function requires lftp and may fail if the server does not support Directory Listing or if there is a index.html in the path.
|
||||
# slackpkg install http://site/path/package-1.0-noarch-1my.txz
|
||||
For example, you may use this function to install a snapshot of slackpkg+
|
||||
(that is not available with 'slackpkg upgrade slackpkg+' because it is a beta
|
||||
version):
|
||||
# slackpkg upgrade http://www.slakfinder.org/slackpkg+/pkg/slackpkg+-20130905.2-noarch-1mt.txz
|
||||
|
||||
2) install/upgrade/reinstall all packages in a single remote directory (but not
|
||||
in a subtree) even if the site owner does not create metadata:
|
||||
# slackpkg install http://site/path/
|
||||
|
||||
NOTE: slackpkg+ will skip the gpg and md5 check!!
|
||||
Note: this function requires lftp and may fail if the server does not support
|
||||
Directory Listing or if there is a index.html in the path.
|
||||
|
||||
NOTE: slackpkg+ will skip the gpg and md5 check for remote packages without
|
||||
metadata!!
|
||||
|
||||
------
|
||||
|
||||
The AlienBob article about slackpkg+:
|
||||
http://alien.slackbook.org/blog/introducing-slackpkg-an-extension-to-slackpkg-for-3rd-party-repositories/
|
||||
|
||||
FURTHER INFORMATION
|
||||
|
||||
For questions, suggestions or contributions, you can email me at zerouno@slacky.it or use the linuxquestions forum:
|
||||
http://www.linuxquestions.org/questions/showthread.php?p=4940074
|
||||
The AlienBOB article about slackpkg+:
|
||||
http://alien.slackbook.org/blog/introducing-slackpkg-an-extension-to-slackpkg-for-3rd-party-repositories/
|
||||
|
||||
For questions, suggestions or contributions, you can email me at
|
||||
zerouno@slacky.it or use the linuxquestions forum:
|
||||
http://www.linuxquestions.org/questions/showthread.php?p=4940074
|
||||
|
||||
You can find slackpkg+ on sourceforge: https://sourceforge.net/projects/slackpkgplus
|
||||
|
||||
You can find slackpkg+ on sourceforge:
|
||||
https://sourceforge.net/projects/slackpkgplus
|
||||
|
|
Loading…
Reference in a new issue