source: README.BLFS@ e557f50

experimental
Last change on this file since e557f50 was e557f50, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

README.BLFS updates.
Install menu/ and README.BLFS.

  • Property mode set to 100644
File size: 6.5 KB
RevLine 
[00f4966]1$Id$
2
31. INTRODUCTION::
4
5 To automatize packages build from the BLFS book instructions is a huge
6 task. The BLFS book isn't linear, some package pages need to use a non
[9e627f6]7 default layout, there are circular dependencies, several packages can be
8 installed on a non default prefix, build commands can change based on what
[00f4966]9 dependencies will be used, etc.
10
11 Said that, the goal of jhalfs is try to help you solving packages
12 dependencies and creating your own build scripts/Makefile. Some of the
13 auto-generated build scripts and Makefile could work "as is", but as a
14 general rule you will need to review and edit the scripts while reading
15 the book.
16
[2fedf49]17 NOTE:: The code is still under development and may contains several bugs
[00f4966]18
19
202. USAGE::
21
[9e627f6]22 Due the complexity of the BLFS book, the scripts/Makefile generation is
[00f4966]23 done in several steps:
24
25 2.1 INSTALLATION::
[e557f50]26
27 Run "make" to launch the jhalfs menuconfig interface. Select the BLFS
28 book and it version. Then set the installation directory (default
[00f4966]29 $HOME/blfs_root) and the BLFS sources directory (default blfs-xml).
30
31 All required files will be placed in the installation directory and
32 BLFS XML sources will be checkout to the named sub-directory.
33
34 Installed files:
35
[e557f50]36 blfs-xml/* SVN tree of the selected BLFS book version
37 lib/* functions libraries, xsl stylesheets, and auto-generated
38 meta-packages dependencies tree files
39 menu/* lxdialog and menuconfig source code
[00f4966]40 README.BLFS this file
41 TODO developers notes
[e557f50]42 update_book.sh update the XML book sources and regenerates packages
43 database and meta-packages dependencies tree
44 gen_config.sh regenerates Config.in
45 blfs-parser.sh solve dependencies and generates linear BLFS books
46 and build scripts
47 gen-makefile.sh generates target Makefile
48 progress_bar.sh the target Makefile progress bar
49 Makefile (not created yet) run gen_config.sh to update Config.in,
50 then launch the menuconfig interface, and lastly run
51 blfs-parser.sh based on configuration settings
52 Config.in menuconfig interface imput file
53 packages auto-generated packages database
54 alternatives.conf (to be removed) configuration file for alternative packages
55 envars.conf envars needed when running the target build scripts
[00f4966]56
57 From now on, all the work must be done from inside the installation
58 root directory.
59
60 2.2 UPDATING BOOK SOURCES::
61
[e557f50]62 If using the development book version, and if you want to update already
63 installed packages to the new version found in that book, you need to update
64 the XML sources and packages database.
65
66 To do that run "./update_book.sh"
67
68 2.3 CONFIGURING AND PARSING THE BOOK:: (to be rewritten when ready menuconfig)
69
[00f4966]70 Next step is to create a book and build scripts in dependencies build order
71 for a target package. A target package can be any of the ones listed in the
[2fedf49]72 packages file. That is done using the blfs-parser.sh script, but we are trying
[00f4966]73 to make a menuconfig based system.
74
75 The script need three arguments:
76
77 package name as listed in packages file
[2fedf49]78 dependencies level 1 for required,
79 2 for required an recommended
[00f4966]80 3 for required, recommended, and optional
[2fedf49]81 sudo usage y if sudo will be used (you want build as a normal user)
82 n if sudo isn't needed (you want build as root)
[00f4966]83
84 For example:
85
86 ./blfs-parser galeon 3 y
87
88 will create a directory named "galeon". Inside that directory you find a
89 directory named "HTML" that contains a galeon-based HTML book with all
90 dependencies in build order and a "scripts" directory with build scripts
[9e627f6]91 that uses sudo for commands that need root privileges.
[00f4966]92
[e557f50]93 There is also two other directories, dependencies and xincludes, that
94 contains files generated while resolving dependencies trees.
95
96 2.4 EDITING BUILD SCRIPTS
97
98 Now is the time to review the generated book and scripts, making in the
99 scripts any changes required to fix generation bugs or to fit your needs.
100
101 Scripts for additional packages (i.e., for non-BLFS packages) can be
102 inserted in an easy way due how the scripts are named. For example, if you
103 want to install the external dependency "bar" before "foo" package and the
104 "foo" script is named "064-z-foo", you need to create a "064-y-bar" build
105 script.
[00f4966]106
[e557f50]107 Note that the packages tracking system isn't a packages manegament tool
108 and know nothing about packages not in the BLFS book.
[00f4966]109
[e557f50]110 2.5 CREATING THE MAKEFILE
[2fedf49]111 When the build scripts are ready to be run, the Makefile can be
112 created. Be sure that you cd into the "package" directory and run
[00f4966]113
[2fedf49]114 ../gen_makefile.sh
[00f4966]115
[2fedf49]116 Review the Makefile and if all look sane, start the build.
[00f4966]117
118
[e557f50]119(Text is needed about meta-packages, the installed packages tracking system
120and like)
[00f4966]121
[9e627f6]1223. GENERATED BUILD SCRIPTS ISSUES::
123
124 In this section known issues with the generated build scripts are
[e557f50]125 discussed. They are due build procedures and/or BLFS layout particularities
126 than we can't handle. In several cases editing the build scripts is mandatory.
[9e627f6]127 You may need also to insert some build script created by you to resolve
[e557f50]128 unhandled dependencies and/or to remove some script installing the affected
129 package by hand.
[9e627f6]130
131 3.1 BLFS BOOTSCRIPTS
132
133 For now, bootscripts installation will fail. You will need to edit the
134 scripts for packages that install bootscripts and fix their installation
135 command. That could be fixed in the future, but not sure.
136
137 3.2 PACKAGES CONFIGURATION
138
139 For that packages that have a "Configuration" section, you should to
140 edit it build script to fit the configuration to your needs.
141
142 3.4 PDL and Perl modules.
143
144 The generated scripts for that packages are plainly broken and can't
145 be fixed. You must to replace it by your own ones or install that
146 packages by hand.
147
148 3.4 GCC, JDK, Sane, and KDE-multimedia
149
150 On the pages for that packages, the BLFS book actually have instructions
151 to install two packages. You must to edit the scripts to fix it. We will
152 try to fix some of them, but may not be possible.
153
154 3.5 OTHERS
155
156 May have other issues that we are not aware on them yet. If you find
157 someone, please report it to <alfs-discuss@linuxfromscratch.org>.
158
159
Note: See TracBrowser for help on using the repository browser.