Commit graph

247 commits

Author SHA1 Message Date
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
Pierre Labastie
59a1e1add9 Add gtweak to non-install commands 2021-10-21 08:42:34 +02:00
Pierre Labastie
d5413a91a1 Add tracker-miner to the list of non-install commands 2021-10-21 08:32:56 +02:00
Pierre Labastie
50cf934f51 Fix blfs tools for condxml 2021-10-17 18:50:24 +02:00
Pierre Labastie
e22aa9615e Blfs tools: Fix Makefile for new git-version.sh
With the condxml change, git-version.sh needs an argument. Pass
it unconditionally, since passing an unused arg to older
versions is harmless.
2021-10-14 08:13:10 +02:00
Pierre Labastie
22abf3706e Add .old to signatures of no install root commands
This is used when removing some file that may interfere with coming
instructions, specially in glib2...
2021-08-27 09:16:01 +02:00
Pierre Labastie
894eec328d Add a forgotten $(Q) in BLFS/Makefile 2021-05-01 17:29:31 +02:00
Pierre Labastie
203e4c2697 BLFS: do not run git-version.sh if it does not exist 2021-05-01 17:28:28 +02:00
Pierre Labastie
34c47bef04 BLFS: Fix Makefile so that it builds version.ent 2021-05-01 13:51:19 +02:00
Pierre Labastie
4ed4a3244d Allow using any branch/tag in BLFS Makefile
Still WIP because of the *_TREE names
2021-05-01 09:22:06 +02:00