Changeset 63fc514 for README.BLFS
- Timestamp:
- 02/22/2012 05:09:47 PM (12 years ago)
- Branches:
- ablfs
- Children:
- c1987b0
- Parents:
- 0216209
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README.BLFS
r0216209 r63fc514 3 3 1. INTRODUCTION:: 4 4 5 If you want to add blfs-tool support into a xLFS base system build,5 If you want to add blfs-tool support into an xLFS base system build, 6 6 read the "BLFS_TOOL SUPPORT" section found in the README and be sure 7 7 to follow the after-booting installation intructions. … … 37 37 is done in several steps: 38 38 39 3.1 INSTALLED PACKAGES TRACKING SYSTEM 39 3.1 INSTALLED PACKAGES TRACKING SYSTEM:: 40 40 41 41 This tool includes a very simple tracking system to log which packages … … 45 45 management tool. 46 46 47 The directory where tracking files will be stored needs to be created48 before installing blfs-tool. You can place this directory anywhere, taking49 care that the user must have read and write privileges on that directory50 and on all files it contains.51 52 To use the default path set in the installation menu, run as root:53 54 install -d -m1777/var/lib/jhalfs/BLFS47 The tracking system itself is an XML file: instpkg.xml. It is 48 initialized when make is first run in blfs_root. It resides in a directory 49 which is created when needed during the process of building custom tools 50 or blfs tools, after xLFS. You can specify that directory location in 51 the blfs tools submenu of jhalfs. You may need to update permissions 52 and/or ownership of this directory before using the blfs tool. 53 54 The default location of the tracking directory is /var/lib/jhalfs/BLFS 55 55 56 56 3.2 BLFS_TOOL INSTALLATION:: 57 57 58 Run "make" to launch the jhalfs menuconfig interface. Select the BLFS 59 book and version. Then set the installation directory (default 60 $HOME/blfs_root), the BLFS sources directory (default blfs-xml), and 61 the installed packages tracking directory (default /var/lib/jhalfs/BLFS). 62 63 All required files will be placed in the installation directory and 64 BLFS XML sources will be installed in the named sub-directory. 65 66 Installed files: 58 The tools are installed just after the building of xLFS, if the 59 appropriate options have been selected in the building menu, as per 60 jhalfs README. If you forgot to select the options and xLFS has been 61 built, it is possible to go back to selecting the appropriate 62 BLFS tools options in the jhalfs menu, then tick `Run makefile' 63 and not `Rebuild files'. You obtain a /blfs_root directory in the 64 root directory of the new xLFS system, which contains the followings: 67 65 68 66 blfs-xml/* SVN tree of the selected BLFS book version 69 lib/* functions libraries, xsl stylesheets, and auto-generated 70 meta-packages dependencies tree files 67 lib/* functions libraries 71 68 menu/* lxdialog and menuconfig source code 69 xsl/* XSL stylesheets used at several stages of the process 72 70 README.BLFS this file 73 TODO developers notes 74 update_book.sh update the XML book sources and regenerates packages 75 database and meta-packages dependencies tree 76 gen_config.sh regenerates Config.in 71 TODO developers notes (well, not often updated) 77 72 gen_pkg_book.sh resolves dependencies and generates linear BLFS books 78 73 and build scripts 79 74 gen-makefile.sh generates the target Makefile 80 75 progress_bar.sh the target Makefile progress bar 81 Makefile run gen_config.sh to update Config.in, 82 then launch the menuconfig interface, and lastly run 76 gen-special.sh Helper script for generating the package database 77 Makefile Used by make to update the package database from the SVN 78 tree, then launch the menuconfig interface, and run 83 79 gen_pkg_book.sh based on configuration settings 84 Config.in menuconfig interface input file 85 packages auto-generated packages database 80 packages.xml auto-generated packages database 81 packdesc.dtd a simple DTD describing the format of the package 82 database 86 83 envars.conf envars needed when running the target build scripts 87 84 … … 89 86 root directory. 90 87 91 When finished the installation, the configuration and target selection92 menu is launch.88 You may move that directory to the $HOME of a non root user, or build 89 as root from that directory. 93 90 94 91 3.3 UPDATING BOOK SOURCES:: … … 98 95 update the XML sources and packages database. 99 96 100 To do that run "./update_book.sh" 97 To do that run "make update". It may happen that the subversion 98 version of your building host is older than the version you just 99 built. This may generate weird errors like "'.' omitted". The easiest 100 thing to do in that case, is to completely remove the blfs-xml directory 101 and run "make update". 101 102 102 103 On the next configuration run, packages already installed but listed … … 107 108 108 109 The next step is to create a book and build scripts in dependency 109 build order for a target package. A target can be a package or a 110 meta-package. 111 112 WARNING: 113 Only one target (meta-package or individual package) must be 114 selected on each configuration run. 115 There is no way to solve dependencies properly when more 116 than one target are selected. 110 build order for one or several packages. 117 111 118 112 Run <make> to launch the configuration interface. The main menu contains 119 three blocks: meta-package selection, individual package selection, and 120 build options. 121 122 When a meta-package is selected, it is possible to unselect unwanted 123 components. The unselected components will be skipped if no other components 124 depends on them. 113 two blocks: individual package selection, and build options. 125 114 126 115 In the build options section, the dependencies level and default packages 127 used to solve alternatives are set. You can also select whether the build will 128 be made as a normal user or as root. That settings are saved to be reused in 129 future configuration runs. 130 131 If, for example, your target selection is Xsoft-->Graphweb-->galeon, a 132 directory named "galeon" will be created. Inside that directory you will 133 find a directory named "HTML" that contains a galeon-based HTML book with 134 its dependencies in build order, and a "scripts" directory with build 135 scripts for that packages. 136 137 There are also two other directories ("dependencies" and "xincludes") 138 that contain files generated while resolving dependencies trees. 116 used to solve alternatives are set (currently, only for the mTA). You can 117 also select whether the build will be made as a normal user or as root. 118 Those settings are saved to be reused in future configuration runs. 119 120 When you are done with the menu, a few checks occur, and the book is 121 generated. When circular dependencies are found, a 3 line message is 122 printed: 123 A is a dependency of B 124 C is a dependency of A 125 A is a dependency of C 126 and a question: 127 Do you want to build A first? 128 This means that the system has found the dependency chain: B->A->C->A. 129 You have therefore to choose whether A is built before C, or 130 C before A: the system cannot make that choice (well, maybe in a few 131 year, with an AI system able to understand the book). if you answer no, 132 C is built first. If you answer yes, C is put in place of A as a dependency 133 of B, then the tree dependency restarts from there, that is with the 134 layout B->C->... You may then hit the case B->C->A->C, for which you 135 should answer no, unless you want to enter an infinite (human driven) loop. 136 137 You end up with a book.xml file which contains the linearized book, 138 and a rendered HTML, in the directory book-html, which you can browse with 139 "lynx book-html/index.html" (or with any other browser). 140 141 Furthermore, there is a directory "scripts", which contains the generated 142 scriptlets. 143 144 There is also another directory, "dependencies" that contains files 145 generated while resolving dependencies. 139 146 140 147 3.5 EDITING BUILD SCRIPTS 141 148 142 Now it is time to review the generated book and scripts, making any changes 143 to the scripts necessary to fix generation bugs or to suit your needs. 149 Now it is time to review the generated book and scripts, making any 150 changes to the scripts necessary to fix generation bugs or to suit your 151 needs. 144 152 145 153 Scripts for additional packages (i.e., for non-BLFS packages) can be 146 154 easily inserted. For example, if you want to install the external dependency 147 155 "bar" before "foo" package and the "foo" script is named "064-z-foo", you 148 need to create a "064-y-bar" build script.156 just need to create a "064-y-bar" build script. 149 157 150 158 Remember, the package tracking system isn't a package management tool … … 157 165 158 166 When the build scripts are ready to be run, the Makefile can be 159 created. Be sure that you cd into the "package" directory and run 160 ../gen-makefile.sh 161 162 Review the Makefile, and, if all looks sane, start the build. 167 created. Create an empty directory (for example "mkdir work") and cd 168 to that directory. Then run ../gen-makefile.sh 169 170 Review the Makefile, and, if all looks sane, start the build by running 171 "make". 163 172 164 173 4. GENERATED BUILD SCRIPTS ISSUES:: 165 174 166 175 In this section, known issues with the generated build scripts are 167 discussed. They are due to build procedures and/or BLFS layout particularities 168 that we can't handle. In several cases, editing the build scripts is mandatory. 176 discussed. They are due to build procedures and/or BLFS layout 177 particularities that we can't handle. In several cases, editing the 178 build scripts is mandatory. 169 179 You may also need to insert some build scripts created by you to resolve 170 180 unhandled dependencies and/or to remove some script installing the affected … … 173 183 4.1 BLFS BOOTSCRIPTS 174 184 175 For now, bootscripts installation will fail. You will need to edit176 the scripts for packages that install bootscripts and fix their177 installation command. That could be fixed in the future.185 Normally, bootscript installation should work. On the other hand, the 186 book does not give instruction for running them, so you might have to 187 manually insert /etc/init.d/<initscript> at some place during the build. 178 188 179 189 4.2 PACKAGE CONFIGURATION 180 190 181 For those packages that have a "Configuration" section, you should 182 edit the build script to fit the needs of your system. 183 184 4.4 PDL, Perl modules, and Glib-Bindings. 185 186 The generated scripts for these packages are broken and can not 187 be fixed. You must rename it as the sub-package to be installed and 188 edit it to use the proper commads for that sub-package. 189 190 You may need to create additional scripts for these sub-package 191 dependencies, if any. 191 For those packages that have a "Configuration" section, you should 192 edit the build script to fit the needs of your system. Sometimes, the 193 bash startup files are modified (see for example the instructions for 194 llvm). You might have to insert something like "source /etc/bash_profile" 195 at some point during the build. 192 196 193 197 4.4 GCC, JDK, Sane, and KDE-multimedia, freetype2, MesaLib and others 194 198 195 On the pages for th ese packages, the BLFS book actually has instructions199 On the pages for those packages, the BLFS book actually has instructions 196 200 to download and install two or more packages. You must edit the scripts to 197 201 fix this. … … 201 205 4.5 XORG7 202 206 203 The generated scripts for Xorg7 p seudo-packages have $SRC_ARCHIVE207 The generated scripts for Xorg7 packages have $SRC_ARCHIVE 204 208 support for individual packages, but not for patches nor *.wget and *.md5 205 209 files. … … 210 214 The *.wget and *.md5 files should be downladed always from inside 211 215 the scripts to be sure that the most current individual packages are 212 used. Thus don't reuse previou ly existing ones.216 used. Thus don't reuse previously existing ones. 213 217 214 218 In the script for xorg7-font, be sure to move the fonts directories
Note:
See TracChangeset
for help on using the changeset viewer.