lfs-uefi: fix efivar-37 FTBFS
[linux_from_scratch_hints.git] / lpm.txt
blobcdae4835de7a8c54fe70afe12e83990ea8a8d93b
1 AUTHOR:         Daniel Zilli (daniel@zilli.gulinuxsul.org)
3 DATE:           2004-12-07
5 LICENSE:        GNU Free Documentation License Version 1.2
7 SYNOPSIS:       LPM - Linux from scratch Package Manager.
9 PREREQUISITES:  NA
11 DESCRIPTION:
12 The great thing about source code is the control that you have about it, and
13 install software by source code is a must for any LFS user, but uninstall it is
14 big a problem. I had severals searches for a easy and efficient method to
15 uninstall a program by source, unfortunately i didn't have successful with my
16 quest. So i decided make this hint. I sure that the LPM will be useful not just
17 for the LFS folks, but to everyone that want to control your codes.
19 ATTACHMENTS:
21 Install-log software
23                 http://ioioio.net/devel/install-log/install-log-cvs.tar.bz2
25 LPM script:
26                 http://www.zilli.gulinuxsul.org/lpm/lpm
29 HINT:
31 Contents
32 ========
34     1. Introduction
35     2. Notes
36     3. Downloading and Installing
37     4. How this works
38     5. How to use
39     6. End
42 1. Introduction
43 ====================================
45 Everyone know  that there is no package management system on LFS and for me, must keep this way. 
46 A package management system is not obligatorily (just RPM if you plan make your system LSB compatible)
47 but, that it can make our life easier there is no doubt, specialty if you prefer binary packages than 
48 source codes packages. Unfortunately the packages management like rpm, dpkg and pkgtool don't handle with
49 source codes. So here where I get in. My work here is produce a simple (I like this word!) and 
50 efficient environment to work with source code. This works is based on the Installwatch and 
51 Install-log hints and other things.
54 2. Notes
55 ====================================
57 a) In an attempt to make this easier to read, all "code blocks" that you should
58 execute on the command line start with "##--BEGIN-CODE--##" and end with
59 "##--END-CODE--##".
61 b) Do not use this hint before the chapter 6.  Reason: No test !
64 3. Downloading and Installing
65 ====================================
67 Configuration, building, and installation of install-log is very simple.
69         ##--BEGIN-CODE--##
70         ./configure 
71         make 
72         make install
73         ##--END-CODE--##
76 The LPM script is easier.
78         ##--BEGIN-CODE--##
79         chmod +x lpm
80         mv lpm /usr/sbin
81         ##--END-CODE--##
84 4. How this works
85 ==================================
87 The install-log is a simple shell script to aid in package management when
88 installing from source code.  Run "install-log <package-name>" immediately after
89 you type "make install" (or whatever you do to install something), and it'll
90 make a list of all the changes to your filesystem to a file and store in
91 /var/log/install-log, for you uninstal, upgrad, or just simply taking account 
92 of your system.
95 5. How to use
96 ===========================
98 #Loggin#
100 When you are reading installation instructions for something, and you see "make
101 install", after this you made:
103         ##--BEGIN-CODE--##
104         lpm -l
105         ##--END-CODE--##
107 Example:
109 Every time when you going to compile a software generally you make :
111         ##--BEGIN-CODE--##
112         ./configure && make && make install
113         ##--END-CODE--##
115 Now you will make
117         ##--BEGIN-CODE--##
118         ./configure && make && make install && lpm -l
119         ##--END-CODE--##
121 By default LPM will record the name of current dirctory as the log file name in
122 /var/log/install-log. If you want to change this, just pass as the second
123 argument the name that you want. Example:
125         ##--BEGIN-CODE--##
126         ./configure && make && make install && lpm -l superfoo
127         ##--END-CODE--##
129 That is it!
131 #Erase#
133 Uninstalling software is extremely easy with LMP, you simply give it a log file
134 name from /var/log/install-log, and it will remove the software from your
135 system. Lets say for example, you wanted to uninstall a program called 'foobar
136 1.0'. Since we have the foobar-1.0 log file, we can simply do this:
138         ##--BEGIN-CODE--##
139         lpm -e foobar-1.0
140         ##--END-CODE--##
142 And LPM will produce some output like this:
144         ##..Uninstalling foobar-1.0 is done!..##
147 #Report#
149 I already showed you how to use it to uninstall software, now I'm going to show
150 you how to use it to simply see what files got installed with each program.
151 All you have to do is add  "-r" to LMP's argument list. See:
153         ##--BEGIN-CODE--##
154         lpm -r foobar-1.0
155         ##--END-CODE--##
157 Now LPM will show all the files that the program installed
159 If you want to see all the log files into the /var/log/install-log directory 
160 just don't pass any argument to the "-r" option, or simply do this:
162         ##--BEGIN-CODE--##
163         lpm -r 
164         ##--END-CODE--##
167 6. End
168 ==================
170 Yes! Is just it! This is all you need to control your softwares installed by
171 source. Some hints show how create a binary package using the source
172 installation. I don't see any reason to this. If you installed a package by
173 source, why do you want make a binary package? Anyway, your problems with 
174 source code is over! 
176 It's just the begin, but I will try make this hint best as I can.
178 Any suggestion is welcome, so please let me know.
181 ACKNOWLEDGEMENTS:
183 Robert Park <rbpark@ualberta.ca> - Installwatch
184 Andy Goth <unununium@openverse.com> - Install-log
187 CHANGELOG:
188 [2004-05-19]
189   * Initial release
190 [2004-05-20]
191   * Add the official intall-log url.
192   * Remove the old section 2.
193   * Made the hint's text more clean.
194   * Improve the LPM scritp(v.1.1). Now the option -l works!
195 [2004-05-21]
196   * LPM scritp(v.1.2). Now you can pass a second argument as a new name to the
197     log file.
198   * Fix some typos and make the hint' text better.
199 [2004-05-22]
200    * Improve the layout of the hint. Now the 80 columns is on!
201    * Fix some typos.
202 [2004-05-24]
203    * LPM script(v.1.3). Now if you don't pass any argument to the "-r" option,
204      it will show a list of all the logfiles from /var/log/install-log.
205    * Improve the comments on the LPM script.      
206    * Fix some typos.
207 [2004-12-07]
208    * Made the hint's text more easy to understand.
209    * Updated the urls.