Changeset fbdd1a8 for README.BLFS
- Timestamp:
- 03/01/2017 11:01:27 AM (7 years ago)
- Branches:
- 2.4, ablfs-more, legacy, trunk
- Children:
- 70d73d1
- Parents:
- 6eaae5e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
README.BLFS
r6eaae5e rfbdd1a8 5 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 to follow the after-booting installation in tructions.7 to follow the after-booting installation instructions. 8 8 9 9 To automate package builds from the BLFS book instructions is a huge … … 49 49 directory, which is created when needed during the process of building 50 50 custom tools or blfs dependencies, right after xLFS. You can specify 51 that directory location in the blfs-tools sub menu of jhalfs. You may51 that directory location in the blfs-tools sub-menu of jhalfs. You may 52 52 need to update permissions and/or ownership of this directory before 53 53 using the blfs tool (see README in jhalfs). … … 56 56 NB : after the initial build, that directory is only used to contain 57 57 instpkg.xml, unless custom tools have been built. In the latter case, 58 it also contains empty files whose name are $PKG-$VERSIONfor each58 it also contains empty files whose name are "$PKG-$VERSION" for each 59 59 versionned package built. The information about those packages is 60 60 included into instpkg.xml the next time the tool is run. … … 83 83 /scripts.xsl XSL stylesheet to generate the scriptlets from 84 84 book.xml 85 /bump.xsl XSL stylesheet to generate to update the tracking 86 file 85 /bump.xsl XSL stylesheet to update the tracking file 87 86 README.BLFS this file 88 87 TODO developers notes (well, not updated often) … … 103 102 If you forgot to install the tools when building xLFS, or want to try 104 103 the tools, you can just run the install-blfs-tools.sh script. It will 105 create the above hierarchy in your home directory and in tialize the104 create the above hierarchy in your home directory and initialize the 106 105 tracking file. You have first to make sure that the tracking dir exists 107 106 and is writable by the user. You may also populate it with (empty) files … … 160 159 too many at a time to be able to sort issues! 161 160 162 When you are done with the menu, a few checks occur, and the book is 163 generated. When circular dependencies are found, a 3 line message is 164 printed: 165 A is a dependency of B 166 C is a dependency of A 167 A is a dependency of C 168 and a question: 169 Do you want to build A first? 170 This means that the system has found the dependency chain: B->A->C->A. 171 You have therefore to choose whether A is built before C, or 172 C before A: the system cannot make that choice (well, maybe in a few 173 year, with an AI system able to understand the book). If you answer no, 174 C is built first. If you answer yes, C is put in place of A as a dependency 175 of B, then the tree dependency restarts from there, that is with the 176 layout B->C->... You may then hit the case B->C->A->C, for which you 177 should answer no, unless you want to enter an infinite (human driven) 178 loop;-) 161 When you are done with the menu, a few checks occur, and the dependency 162 chain is generated. Each dependency appears with its priority (required, 163 recommended, optional, or external), and it's level. There is a root level 164 0. The selected packages have level 1. The dependencies of selected packages 165 have level 2, the dependencies of the dependencies have level 3, and so on. 166 When circular dependencies are found, they appear with a priority of 167 "circular". This means that two (or more) dependency chains arrive at the 168 same package. The algorithm chooses the chain with the highest priority and 169 reorders dependencies to remove the other chain(s). This is not always the 170 solution an user would prefer, but we have found no way to do it better. 179 171 180 172 You end up with a book.xml file which contains the linearized book, … … 220 212 particularities that we can't handle. In several cases, editing the 221 213 build scripts is mandatory. 222 You may also need to insert some build scripts created by you to resolve 223 unhandled dependencies and/or to remove some script installing the affected 224 package by hand. 214 You may also need to insert some build scripts created by you to resolve 215 unhandled dependencies and/or to remove some script installing an unneeded 216 package (unneeded packages may be pulled in the dependency chain, if 217 they occur as an "or" with another package). 218 When there are circular dependencies (only one known in BLFS 8.0 for 219 recommended dependencies), you may need to move around scripts so that they 220 run in the order script-A script-B script-A. This involves copying script-A 221 to another name (using the xxx-a- fields), and possibly renaming the xxx-a- 222 fields of each involved script. 225 223 226 224 4.1 BLFS BOOTSCRIPTS:: 227 225 228 Normally, bootscript installation should work. On the other hand, the 229 book does not give instruction for running them, so you might have to 230 manually insert /etc/init.d/rc.d/<initscript> at some place during the build. 226 Normally, bootscript installation should work. On the other hand, the 227 book does not give instruction for running them, so you might have to 228 manually insert "/etc/init.d/rc.d/<initscript> start" at some place during 229 the build. 231 230 232 231 4.2 PACKAGE CONFIGURATION:: 233 232 234 For those packages that have a "Configuration" section, you should 235 edit the build script to fit the needs of your system. Sometimes, the 236 bash startup files are modified (see for example the instructions for 237 llvm). The shipped 'envars.conf' contains a line 'source /etc/profile', 238 which ensures that the proper environment variables are used. 239 240 4.3 GCC, JDK, Sane, and KDE-multimedia, freetype2, MesaLib and others 233 For those packages that have a "Configuration" section, you should 234 edit the build script to fit the needs of your system. Sometimes, the 235 bash startup files are modified. The shipped 'envars.conf' contains a 236 line 'source /etc/profile', which ensures that the proper environment 237 variables are used. 238 239 4.3 PAGES WITH TWO OR MORE PACKAGES:: 240 241 For example: sane, poppler, audacious, freetts, which, etc. 241 242 242 243 On the pages for those packages, the BLFS book actually has instructions 243 244 to download and install two or more packages. You must edit the scripts to 244 fix this. 245 246 We will try to fix some of them, but this may not be possible. 245 fix this. A common pitfall is that the variable PACKAGE may be used for 246 several tarballs. Be sure to save the PACKAGE variable to some other 247 name (for example PKG1, PKG2, etc) after each download. The unpacking 248 instructions may need to be repeated for each tarball in turn. 247 249 248 250 4.4 XORG7 249 251 250 The generated scripts for Xorg7 packages have $SRC_ARCHIVE 251 support for individual packages, but not for patches nor *.wget and *.md5 252 files. 253 254 If you have previously downloaded the patches, you must edit 255 the scripts to use your local packages. 256 257 The *.wget and *.md5 files should be downladed always from inside 258 the scripts to be sure that the most current individual packages are 259 used. Thus don't reuse previously existing ones. 260 261 In the script for xorg7-font, be sure to move the fonts directories 262 symlinks creation to after the "for ... done" loop. 263 252 The book has special page layouts for the Xorg7 packages. The tool 253 breaks those pages into individual pages for each packages in the linear 254 book. Also, the menu gives the choice to select each package individually. 255 256 To build the whole Xorg7 chapter, select twm. The (recommended) 257 dependency chain brings in the whole set of Xorg packages. 264 258 265 259 4.5 PATCHES … … 267 261 Please, make sure that all scripts have the commands to download/apply 268 262 the required patches. Due to book layout issues, some patches may be 269 missing .263 missing (as of BLFS 8.0, all the patches seem to be downloaded). 270 264 271 265 4.6 ROOT COMMANDS … … 275 269 necessary root privilege commands are visible in your PATH. Or use 276 270 the `Defaults secure_path=' in /etc/sudoers. 271 277 272 For commands necessitating root privileges, the generated scripts wrap 278 273 them with the construct: … … 289 284 cases, so carefully review those instructions. 290 285 286 WARNING: One variable from the environment is not passed through the 287 -E switch, namely PATH. This is because "sudo" always reset the PATH to 288 the default "secure_path". If you need to have the same PATH as the user 289 "root" would have, you may want to add "source /etc/profile" at the 290 beginning of the commands to be executed as root. 291 291 292 Due to book layout issues, some sudo commands may be missing. 292 293
Note:
See TracChangeset
for help on using the changeset viewer.