Changeset fbdd1a8 for README.BLFS


Ignore:
Timestamp:
03/01/2017 11:01:27 AM (7 years ago)
Author:
Pierre Labastie <pierre@…>
Branches:
2.4, ablfs-more, legacy, trunk
Children:
70d73d1
Parents:
6eaae5e
Message:

Merge r3892 from branch "new_features"

File:
1 edited

Legend:

Unmodified
Added
Removed
  • README.BLFS

    r6eaae5e rfbdd1a8  
    55     If you want to add blfs-tool support into an xLFS base system build,
    66  read the "BLFS_TOOL SUPPORT" section found in the README and be sure
    7   to follow the after-booting installation intructions.
     7  to follow the after-booting installation instructions.
    88
    99     To automate package builds from the BLFS book instructions is a huge
     
    4949    directory, which is created when needed during the process of building
    5050    custom tools or blfs dependencies, right after xLFS. You can specify
    51     that directory location in the blfs-tools submenu of jhalfs. You may
     51    that directory location in the blfs-tools sub-menu of jhalfs. You may
    5252    need to update permissions and/or ownership of this directory before
    5353    using the blfs tool (see README in jhalfs).
     
    5656    NB : after the initial build, that directory is only used to contain
    5757    instpkg.xml, unless custom tools have been built. In the latter case,
    58     it also contains empty files whose name are $PKG-$VERSION for each
     58    it also contains empty files whose name are "$PKG-$VERSION" for each
    5959    versionned package built. The information about those packages is
    6060    included into instpkg.xml the next time the tool is run.
     
    8383       /scripts.xsl         XSL stylesheet to generate the scriptlets from
    8484                            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
    8786    README.BLFS             this file
    8887    TODO                    developers notes (well, not updated often)
     
    103102       If you forgot to install the tools when building xLFS, or want to try
    104103    the tools, you can just run the install-blfs-tools.sh script. It will
    105     create the above hierarchy in your home directory and intialize the
     104    create the above hierarchy in your home directory and initialize the
    106105    tracking file. You have first to make sure that the tracking dir exists
    107106    and is writable by the user. You may also populate it with (empty) files
     
    160159    too many at a time to be able to sort issues!
    161160
    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.
    179171
    180172       You end up with a book.xml file which contains the linearized book,
     
    220212   particularities that we can't handle. In several cases, editing the
    221213   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.
    225223
    226224   4.1  BLFS BOOTSCRIPTS::
    227225
    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.
    231230
    232231   4.2  PACKAGE CONFIGURATION::
    233232
    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.
    241242
    242243        On the pages for those packages, the BLFS book actually has instructions
    243244     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.
    247249
    248250   4.4  XORG7
    249251
    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.
    264258
    265259   4.5  PATCHES
     
    267261        Please, make sure that all scripts have the commands to download/apply
    268262     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).
    270264
    271265   4.6  ROOT COMMANDS
     
    275269     necessary root privilege commands are visible in your PATH. Or use
    276270     the `Defaults secure_path=' in /etc/sudoers.
     271
    277272        For commands necessitating root privileges, the generated scripts wrap
    278273     them with the construct:
     
    289284     cases, so carefully review those instructions.
    290285
     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
    291292        Due to book layout issues, some sudo commands may be missing.
    292293
Note: See TracChangeset for help on using the changeset viewer.