Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keithdhedger/lfspkg
Package manager for LFS/BLFS
https://github.com/keithdhedger/lfspkg
bash linux-from-scratch package-manager
Last synced: about 21 hours ago
JSON representation
Package manager for LFS/BLFS
- Host: GitHub
- URL: https://github.com/keithdhedger/lfspkg
- Owner: KeithDHedger
- License: gpl-2.0
- Created: 2016-01-07T15:07:16.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-08-22T15:16:13.000Z (about 1 year ago)
- Last Synced: 2023-08-22T19:08:07.767Z (about 1 year ago)
- Topics: bash, linux-from-scratch, package-manager
- Language: Shell
- Size: 386 KB
- Stars: 16
- Watchers: 6
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README
- Changelog: Changelog
- License: LICENSE
Awesome Lists containing this project
README
################################################
# #
# LFSPkg #
# A Package Manager For Linux From Scratch #
# #
# ©K.D.Hedger 2012 #
# [email protected] #
# #
# Relased Under GPLv3 #
# #
################################################This is a package manager inspired by slackware's slackpkg for the linux from scratch system.
This app will build, install,remove and update packages and also allow you to search for a particular file within installed packages, find an installed package and create a template file to build and install/upgrade a package.
This is a source based package manager and no dependency checking is done.
The dialog application is required.
################################################
OPTIONS
All options must be given discretly ie lfspkg -L -f FILETOFIND and NOT lfspkg -Lf FILETOFIND.
-c, --commit
Make and Install package.-i, --install
Install a package.-m, --make
Make a package.-u, --upgrade
Upgrade a package.-r, --remove
Remove a package.-t, --template ARG
Create LFSBuild template for source tarball ARG.-l, --list
List installed files from a package.-f, --find
Find installed file.-L,--less
Pipe output from list/find to less-R, --rootdir
use ROOTDIR as install/remove prefix (optional defaults to /).-s, --suffix
Suffix of package (optional defaults to LFSPKG).-d, --section
Section name of package (optional defaults to SYS).-b, --build
Build number of package (optional defaults to 1).-o, --output
Output archive to this folder default is to build in /tmp but this can be overridden either by setting OUTPUT on the commandline ( OUTPUT=/some/tmp/folder lfspk ... ) or setting the variable in ~/.config/lfspkg.rc or /usr/share/LFSPkg/LFSFunctions, order of precedence is env variable OR ~/.config/lfspkg.rc OR /usr/share/LFSPkg/LFSFunctions OR /tmp.-n, --name
Name of package.-p, --pkgversion
Version of package.################################################
FILES
/usr/share/LFSPkg/LFSFunctions
Helper functions for lfspkg.~/.config/lfspkg.rc
Local config file, should contain only the following:TMP=${TMP:-/tmp/LFS}
OUTPUT=${OUTPUT:-/path/to/store/packages}Where TMP is the location for tempory files ( defaults to /tmp if not set )
OUTPUT is the location to save built packages ( defaults to /tmp if not set )/var/lib/LFSPackages
Contains gziped lists containg package information.################################################
EXAMPLES
Build and install a package from the current directory:
lfspkg -n "SomePackage" -p "6.6.6" -d "DEV" -b 34 -cBuild a package from the current directory and save to /some/other/tmp:
OUTPUT=/some/other/tmp lfspkg -n "SomePackage" -p "6.6.6" -mInstall a package:
lfspkg "/media/SkyNet/UpdatedPakckages/wget-1.14-1_NET_LFSPKG.tar.gz" -i
Create a template script based on an archive file name:
lfspkg -t wget-1.14.tar.gzFind a file in an installed package:
lfspkg -f wget
...
wget Found in package: wget-1.14-2_NET_LFSPKG
At these locations:
./etc/wgetrc
./usr/share/man/man1/wget.1
./usr/share/locale/nl/LC_MESSAGES/wget.mo
...
./usr/share/info/wget.info
./usr/bin/wget
...Find an installed package:
lfspkg wgetMatches for:wget
wget-1.14-1_NET_LFSPKGRemove a package:
lfspkg -r wgetIf you use the template script when you want to update a package just place the new archive in the same folder as the script alter the version number in the script and run ( using wget for instance )
sudo ./wget.LFSBuild upgrade
The package will be rebuilt and you will be asked which package to upgrade.
When removing a package or listing the contents of a package you will be asked to choose from a list of possible matches.
You must have admin priviliges to install or remove files but you do not need to be root to just build a package.