-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
143 lines (95 loc) · 4.04 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
################################################
# #
# LFSPkg #
# A Package Manager For Linux From Scratch #
# #
# ©K.D.Hedger 2012 #
# kdhedger68713@gmail.com #
# #
# 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 -c
Build a package from the current directory and save to /some/other/tmp:
OUTPUT=/some/other/tmp lfspkg -n "SomePackage" -p "6.6.6" -m
Install 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.gz
Find 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 wget
Matches for:wget
wget-1.14-1_NET_LFSPKG
Remove a package:
lfspkg -r wget
If 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.