From 2257bd71b769e4f72428840c73d5b3c1ff16d3a1 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Thu, 14 Oct 2021 08:51:49 +0200 Subject: [PATCH] Update and fix documentation of custom tools --- README.CUSTOM | 48 ++++++++++++++++++++++------------------ custom/examples/941-pcre | 2 +- custom/examples/963-gpm | 15 ++++++++----- custom/template | 10 ++++++++- 4 files changed, 46 insertions(+), 29 deletions(-) diff --git a/README.CUSTOM b/README.CUSTOM index 9f6d479..76192cb 100644 --- a/README.CUSTOM +++ b/README.CUSTOM @@ -59,7 +59,7 @@ directory. To replace a package by an equivalent one, rename the replaced package script to reflect the new package name (for example, 102-man-db -> 102-man), edit the -script to made the required commands changes, place the new tarball in the +script to make the required commands changes, place the new tarball in the ${BUILD_DIR}/sources directory, and edit ${BUILD_DIR}/${SCRIPT_ROOT}/pkg_tarball_list file to replace the removed package tarball name by the new package tarball name. @@ -98,13 +98,6 @@ or to support specific hardware, or to install basic utilities that are needed from the beginning, and was not intended to replace the BLFS install system. - :::NOTICE::: - The following examples are for use with LFS and are not applicable to any -of the CLFS-sysroot or CLFS-Embedded books. The directory examples_CLFS-E -contains code extracted from Beyond CLFS-embedded. Any packages you chose to -add should honour the DESTDIR=${CLFS} switch or equivalent. - - LAYOUT A new directory has been added to JHALFS tree which contains the configuration scripts and a few examples. A switch has been added to the @@ -132,25 +125,42 @@ configuration file which enables/disables the inclusion of custom scripts. and rename it. 2. Populate the variables with the necessary values. - Variable function is self explanatory except for the inclusion of the - build cmds. If the package you want to include is found in the BLFS - book then you only need to copy/paste the cmd strings between the xEOFx - pairs, otherwise you will need to define the build cmds yourself. + Variable function is self explanatory. PATCH variables must be + numbered, starting at PATCH1 (up to PATCH10). If the md5 checksum value + is known, it can be added after the URL as in (quotes needed): + PATCH1="http://patch-host/patch-path xxxxxxx..." + + 3. Build commands + If the package you want to include is found in the BLFS + book then you only need to copy/paste the commands between the xEOFx + text, otherwise you will need to define the commands yourself. NOTE::: This script you just created is not usable directly but contains all the information necessary for jhalfs to create a build script and an entry in the jhalfs Makefile. - 3. As mentioned previously the build order is dictated by the 3 digit number + 4. As mentioned previously the build order is dictated by the 3 digit number in the file name. If a package has dependencies it must be numerically larger than the dependency files. - i.e. The package mc has glib as a dependency and build order is + e.g. The package mc has glib as a dependency, so the build order is: 950-glib - 951-mc + 951-mc - 4. A config file for BLFS-bootscripts is already created as 999-blfs_bootscripts. + 5. A config file for BLFS-bootscripts is already created as 999-blfs_bootscripts. If a package requires a bootscript to be installed add the cmd to this file and NOT in the package script. The gpm script is included as an - example of multiple patch files and the need for a blfs bootscript. + example of patch file and the need for a blfs bootscript. + + + EXAMPLES + + Other examples can be found in custom/examples. They are dated and + unmaintained, but can be useful for creating your own scripts. + + :::NOTICE::: + The following examples are for use with LFS and are not applicable to any +of the CLFS-sysroot or CLFS-Embedded books. The directory examples_CLFS-E +contains code extracted from Beyond CLFS-embedded. Any packages you chose to +add should honour the DESTDIR=${CLFS} switch or equivalent. #--------- GLIB example ----------- @@ -173,7 +183,6 @@ for i in PATCH{1..10}; do done # Patches are named PATCH[1..10] # This information is used to download the patch only - # If you do not have the MD5SUM the download will proceed with a warning. PATCH1="http://www.linuxfromscratch.org/patches/blfs/svn/glib-1.2.10-gcc34-1.patch 0077a1cce5e8a2231ac5a9b08c6263ba" @@ -204,8 +213,6 @@ MD5="2c63e827d755527950d9d13fe3d87692" for i in PATCH{1..10}; do unset $i done - # MD5SUM is not absolutely necessary but JHALFS whines and complains - # Add the MD5SUM if you can PATCH1=" http://www.linuxfromscratch.org/patches/blfs/svn/gpm-1.20.1-segfault-1.patch" PATCH2=" http://www.linuxfromscratch.org/patches/blfs/svn/gpm-1.20.1-silent-1.patch" @@ -263,4 +270,3 @@ echo "JUST A USELESS TRACE" xEOFx ) > tmp - diff --git a/custom/examples/941-pcre b/custom/examples/941-pcre index 6dba9de..c6c7d2c 100644 --- a/custom/examples/941-pcre +++ b/custom/examples/941-pcre @@ -9,7 +9,7 @@ MD5="ed91be292cb01d21bc7e526816c26981" for i in PATCH{1..10}; do unset $i done -PATCH1="http://www.linuxfromscratch.org/patches/blfs/7.8/pcre-8.37-upstream_fixes-1.patch 718c4314fba52ed559c75ff7660cc391" +PATCH1="https://www.linuxfromscratch.org/patches/downloads/pcre/pcre-8.37-upstream_fixes-1.patch 718c4314fba52ed559c75ff7660cc391" ( cat << "xEOFx" patch -Np1 -i ../pcre-8.37-upstream_fixes-1.patch && diff --git a/custom/examples/963-gpm b/custom/examples/963-gpm index 9b0bacf..fb48e12 100644 --- a/custom/examples/963-gpm +++ b/custom/examples/963-gpm @@ -4,16 +4,18 @@ PKG="gpm" PKG_VERSION="1.20.7" PKG_FILE="gpm-${PKG_VERSION}.tar.bz2" -URL="http://www.nico.schottelius.org/software/gpm/archives/${PKG_FILE}" +URL="https://anduin.linuxfromscratch.org/BLFS/gpm/${PKG_FILE}" MD5="bf84143905a6a903dbd4d4b911a2a2b8" for i in PATCH{1..10}; do unset $i done +PATCH1="https://www.linuxfromscratch.org/patches/blfs/svn/gpm-1.20.7-consolidated-1.patch" ( cat << "xEOFx" -./autogen.sh && -./configure --prefix=/usr --sysconfdir=/etc && +patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch && +./autogen.sh && +./configure --prefix=/usr --sysconfdir=/etc && make make install && @@ -21,14 +23,15 @@ make install && install-info --dir-file=/usr/share/info/dir \ /usr/share/info/gpm.info && +rm -fv /usr/lib/libgpm.a && ln -sfv libgpm.so.2.1.0 /usr/lib/libgpm.so && install -v -m644 conf/gpm-root.conf /etc && -install -v -m755 -d /usr/share/doc/gpm-${PKG_FILE}/support && +install -v -m755 -d /usr/share/doc/gpm-1.20.7/support && install -v -m644 doc/support/* \ - /usr/share/doc/gpm-${PKG_FILE}/support && + /usr/share/doc/gpm-1.20.7/support && install -v -m644 doc/{FAQ,HACK_GPM,README*} \ - /usr/share/doc/gpm-${PKG_FILE} + /usr/share/doc/gpm-1.20.7 # The normal cmd to install the boot script for gpm # --- PUT THIS CMD INSIDE 999-blfs_bootscripts diff --git a/custom/template b/custom/template index f55201e..37687f6 100644 --- a/custom/template +++ b/custom/template @@ -13,8 +13,16 @@ for i in PATCH{1..10}; do unset $i done PATCH1="" +# Up to 10 patches can be added. The PATCH variable must be numbered +# even if there is only one. If the patch md5 checksum is known, add +# it after the name as in (quotes are required): +# PATCHx="patch-url md5" ( cat << "xEOFx" - +# Your script here. Be aware that it is passed +# verbatim, and that none of the above variables +# will be defined when running the script. For example, +# If you want to use ${PKG_VERSION}, you have to +# redefine it here. xEOFx ) > tmp