Commit graph

256 commits

Author SHA1 Message Date
Pierre Labastie
23b0161d6c BLFS tools: update qt?-prefix for recent books 2023-11-18 10:36:47 +01:00
Pierre Labastie
5ed69f823f Dependency on xorg7-* only on last package
Our gen-special.sh transforms a dependency on compound packages
(xorg7-*) on a dependency on the list of packages. This generates
a lot of trials when removing circular dependencies, because if the
dependency on xorg7-* is optional, all packages in the list are tried
in turn, while it is sure that anyway the dependecy must be eliminated.
If the dependency is only on the last package, the circular dep
is eliminated at first try.
2023-10-21 13:37:50 +02:00
Pierre Labastie
1c22535b2e Process two more <replaceable> tags
- one for libreoffice (use the xreflabel to set LO_PREFIX)
- one for abiword (installation of normal.awt-ll_CC files)
2023-09-16 13:39:39 +02:00
Pierre Labastie
9a89ba79de ablfs: new pattern for config recognition
chgrp -v mail ... is found in mutt and shouldn't considered
an install command.
2023-09-16 09:39:53 +02:00
Pierre Labastie
45f82b1326 Use /usr for XORG_PREFIX unconditionally:
This is possible now that instruction for non /usr XORG_PREFIX
have been made role="nodump".
2023-09-03 23:35:33 +02:00
Pierre Labastie
9eb3dbe1c4 Don't build Xorg components that are commented out
gen-special.sh uses the list of files and md5 from the
cat instructions to generate an xml page for each of
the individual components. Until now, there were no commented
out component, so gen-special.sh was not prepared to handle
comments. Now, it removes lines containing comments.
2023-08-30 20:04:38 +02:00
Pierre Labastie
78d04f3f79 Fix "ambiguous redirect" in func_dependencies
We use grep -l ^"${otherlink[*]"\$ to find parentNode, since the
parentNode is the only file with a link line that matches. Problem
is that sometimes the priority line may match too. This makes a
parentNode variable containing several lines, and when redirecting
to $parentNode, creates those "ambiguous redirect" messages.
Fix: use a loop, and only grep on the first line of each file.
2023-04-21 10:49:40 +02:00
Pierre Labastie
72711ab1cd list_lfs.xsl: fixes for dependency checking
Add several packages that shouldn't be removed when doing dependency
checking, two of which are actually not in lfs, but needed for
script: porg tzdata sudo wget
2023-03-23 22:24:06 +01:00
Pierre Labastie
4dfe8f99c4 gen_pkg_book: fixes for dependency checkings
Fix a typo in function definition
use sudo for porg -r and porgball -e
2023-03-23 22:21:26 +01:00
Pierre Labastie
1bf09c15a7 Implementation of dependency checking 4
Implement generation of a modified script if dependency checking is
requested.
2023-03-23 18:38:51 +01:00
Pierre Labastie
42dfc6ef21 Implementation of dependency checking 3
Add an XSL stylesheet for listing packages in LFS. Those are
not listed anywhere else, but they are considered dependencies of
everything, so should never be erased.
2023-03-23 18:37:20 +01:00
Pierre Labastie
dedd502636 Implementation of dependency checking 2
Check the configuration variable in gen_pkg_book
2023-03-23 18:34:50 +01:00
Pierre Labastie
0a1943912e Implementation of dependency checking 1
Generate a switch for configuration
2023-03-23 18:32:24 +01:00
Pierre Labastie
3fa4147515 outputpkgdest: don't mix make and qmake
For outputting DESTDIR=, we need to test whether the text contains
"make". But when it contains "qmake" (or any different word containing
"make" but not exactly "make), we don't want to output anything more
than the text. So strengthen the test.
2023-03-19 10:15:18 +01:00
Pierre Labastie
6ac0d96300 outputpkgdest: fix the case of several <literal>
We output text()[1], literal (literally), text(2). This does
not work if there are several <literal> tags. Change it to
outputing preceding-sibling::text()[1], literal for each
literal tag, then output text()[last()] (which works also
when there are no literal tag, so it removes a choose.
2023-03-19 10:10:24 +01:00
Pierre Labastie
24ad4fd4f4 Fix outputting too many sh <<ROOT_EOF
When installing a bootscript or a unit, this sometimes happen
(e.g. samba).
2023-03-18 22:44:03 +01:00
Pierre Labastie
b39eb29be5 Revert changes to BLFS/Makefile
Changes to book's Makefile have been reverted too...
2023-01-25 13:17:12 +01:00
Pierre Labastie
5c8df43896 Adapt BLFS/Makefile to the new book layout
With the change to python modules and the pythonhosted.xml file
becoming untracked, those changes allow creating/updating this
file.
2023-01-20 10:05:38 +01:00
Pierre Labastie
33ee66c69e Typo in a comment 2022-12-06 15:20:00 +01:00
Pierre Labastie
0f4df7ccfd BLFS tools: don't generate duplicate download code
For additional downloads, the normal book layout is a <bridgehead>
containing "Additional Downloads" followed by one or more
<itemizedlist>, one for each file to download. But on some pages,
there are several <bridgehead>, each followed by one or more
<itemizedlist>. So we have to check that only the <itemizedlist>
correponding to the current <bridgehead> are treated. Otherwise,
the download code may be generated more than once. This imposes
that no other bridgehead is inserted between the one containing
"Additional" (or in some case "Recommended/Optional Download") and
the <itemizedlist>.
2022-11-18 15:45:42 +01:00
Pierre Labastie
5156f51859 BLFS: remove only "a" lines for runtime deps
Presently, when the <node>groupxx file is created, we copy "a"
lines from <node> to <node>groupxx (changing "a" to "b") and
we remove all the lines containing the runtime dependency from
<node>. This may not always be what we want: for example, a
dependency can be both "required at runtime" and "optional for
tests". We should keep this information when cleaning the nodes.
Only when removing circular paths should the optional tie be broken
if necessary.
2022-09-07 15:51:45 +02:00
Pierre Labastie
875366f635 move git://git.linuxfromscratch.org to https:// 2022-08-19 12:38:59 +02:00
Pierre Labastie
82ddba94a3 Add gnome-control-center to the list of install overrides 2022-05-13 11:17:19 +02:00
Pierre Labastie
1242857a75 BLFS/Makefile: Don't run git checkout if {B,}LFS-BRANCH is empty
Fix also the order of checkout trunk and checkout $(...-BRANCH)
2022-03-30 22:33:08 +02:00
Pierre Labastie
abadee36de Improve and augment the "func_dependency" doc 2021-12-30 14:20:43 +01:00
Pierre Labastie
141d072bf6 BLFS Dependencies: Fix pass2 not run
With the way we manage "first" deps, it may happen that no node
unreference the pass2 node. In that case, we add it to root.
Add some documentation for what we do for those deps, too.
2021-12-19 17:30:10 +01:00
Pierre Labastie
a78cfc961e Better document the loop on "after" deps
Add also a description of that loop in the general header
2021-12-19 17:30:10 +01:00
Pierre Labastie
e0bbc6e6ac Document some variables in func_dependencies
Better document the $seen global variable used in path_to,
also at places where "path_to" is called.
Document p and b flags in the loop over "after" deps.
Document lr variable in the loop over "first" deps.
2021-12-19 17:30:10 +01:00
Pierre Labastie
b734bfb4c6 install_blfs: update trackdir also in gen_pkg_book.sh
Now gen_pkf_book.sh depends on trackfile. This can be passed
as an argument, but to ease calling it standalone, we need to
set the default to the actual file used.
2021-12-19 17:30:10 +01:00
Pierre Labastie
dd9ca56bd2 BLFS dependencies: better document the functions
First the function used in pass1. Also some nit in the function itself
2021-12-18 15:28:47 +01:00
Pierre Labastie
7ae97740a8 Fix the logic for -pass1 packages in gen_pkg_book 2021-12-16 13:57:01 +01:00
Pierre Labastie
b8e5cad4c0 Pass tracking file to gen_pkg_book
This is needed for managing -pass1 packages, since their version
can only be found in the tracking file (thanks to previous commit).
2021-12-16 13:50:33 +01:00
Pierre Labastie
a6fbc65357 Allow to store version of -pass1 packages
With the new way of treating dependencies, we need to properly
manage -pass1 packages: For that we need the installed version of
-pass1 packages. But it is recorded nowhere. packages.xml shouldn't
be used for that, because it is directly built from the book
dependencies: adding -pass1 packages would just duplicate the
dependency information. So the version has to be recorded in
the tracking file. This involves changing bump.xsl (this commit),
and passing the tracking file to gen_pkg_book (next commit).
2021-12-16 10:26:43 +01:00
Pierre Labastie
5e1d9dd5d4 [BLFS] Ticket #1730: Do not forget "-pass1" packages 2021-12-12 18:49:58 +01:00
Pierre Labastie
a690d42f88 [BLFS] Ticket #1730: clean the dependency list
With the new xsl/dependencies.xsl, the full dependency list is generated.
We compare the version and installed version gotten from packages.xml
using xsl/get_version.xsl and only install if the installed version is
lower than the available version. Since the installed version returned
by get_version.xsl for a non installed package is 0, that version is
always lower than the available version and the package is installed.
Note that if a package does not exist, both versions are empty, and
they compare as equal with our method. So they are never installed...
2021-12-12 18:39:03 +01:00
Pierre Labastie
1fc36f5654 [BLFS] Ticket #1730: add a .xsl for returning versions
This .xsl, applied to packages.ent, takes the package name as
a string param, then returns:
"version"<nl>"installed version" if both versions are known
"version"<nl>0 if the package is known but not installed
nothing if the package does not exist (case of the groupxx ones)
2021-12-12 18:33:20 +01:00
Pierre Labastie
5132b9373d [BLFS] Ticket #1730: compute the full dependency chain
Comment out the version comparison in BLFS/xsl/dependencies.xsl. It is
a mess in xslt anyway...
2021-12-12 18:29:19 +01:00
Pierre Labastie
794f94f85e BLFS ordered book gen: fix for .xz Xorg packages
In Xorg pages where there are several packages, the .xsl for
separating packages assumed that the package names ended in
tar.bz2 and selected the substring before ".tar.bz2" to extract
the packagedir. This has changed recently for libX11, which is a
.tar.xz package: the fix is to just select the substring before
".tar." for the packagedir.
2021-12-11 07:50:56 +01:00
Pierre Labastie
eec87dbd1f Add dependency thoughts to BLFS/TODO 2021-12-10 18:19:06 +01:00
Pierre Labastie
1870b56894 Ensure that MAKE_TERM(OUT|ERR) are unset
Some packages use those variables to determine whether they are
talking to a terminal, and issue color codes that mess our
logs if the top level make has been launched from a terminal.
2021-11-21 19:23:11 +01:00
Pierre Labastie
b0965faf0d BLFS tools: Source /etc/profile in scripts
Since this is not done anymore in envars.conf...
2021-11-21 19:21:45 +01:00
Pierre Labastie
5fd1a98625 Remove BLFS/envars.conf
Not needed anymore since envars are taken from configuration
2021-11-21 19:21:45 +01:00
Pierre Labastie
0a93085f84 BLFS tools: Do not source envars.conf
Now the environment variables are taken from configuration.
2021-11-21 19:21:45 +01:00
Pierre Labastie
9daa202654 BLFS tools: Take variables from config instead of envars.conf
Get them in gen_pkg_book, and pass them to sripts.xsl
use them in scripts.xsl. We set them at the beginning of
of the scriptlet, so that it is easy to modify them.
2021-11-21 19:19:16 +01:00
Pierre Labastie
60e539b9fc Remove KBLAYOUT setting
it is not needed anymore by any book.
2021-11-09 21:17:05 +01:00
Pierre Labastie
2b3edd2e77 [Remove BLFS envars.conf]: new gen_config.xsl
Now the variables previously defined into envars.conf are in Config.in
2021-11-09 21:17:04 +01:00
Pierre Labastie
f756851d45 BLFS tools: do not needlessly validate book
With the current Makefile, git-version.sh is run unconditionally,
so that the bok is validated each time, even if there is no
text change. Change this to only validate if there is a text change
(the previous behavior), and run git-version.sh just before validation.
2021-11-09 21:11:58 +01:00
Pierre Labastie
610a5c4a0e Have install commands use the right PATH and exit if error
Hopefully the present commit fixes those problems:
- use sh -e instead of sh
- set PATH to $PATH (which will expand to the PATH before entering
  sudo) before the install commands.
2021-11-06 15:55:03 +01:00
Pierre Labastie
59c4761950 Display the size of $BUILD_DIR for stats
Displaying the size of /, but excluding other filesystems is not
good if BUILD_DIR is on another filesystem. Furthermore, when
doing stats, the DESTDIR is inside $BUILD_DIR, so the full size is
recorded. The only thing that is not recorded is if the
build system downloads files to the user's home (cargo, maven, ...).
2021-11-01 13:18:09 +01:00
Pierre Labastie
fd4a7982f2 Remove $Id$ comments, they are useless with git 2021-10-31 10:22:30 +01:00