Commit graph

1400 commits

Author SHA1 Message Date
Pierre Labastie
49f8b03399 Fix package management for new book, and add a patch for porg 2020-06-24 06:26:05 +00:00
Pierre Labastie
13e52a5572 Add the multilib book: fixes ticket #1722 2020-06-20 17:16:22 +00:00
Pierre Labastie
706e5bf46a Various small fixes/improvements:
- Prefer SysV over Sys V in Config.in
- do not generate the package list for lfs, it is not needed anymore
- prevent an (ignored) error in LFS/master.sh
- log new files under the scriptlet name (allows to log files for the same
  package from different builds)
- keep the full name in log_new_file functions (fix a undetected bug in
  CLFS/HLFS)
2020-06-20 17:01:23 +00:00
Pierre Labastie
7b33f40896 Use an XPath expression to select <para> that contains packages with right
attributes in packages.xsl, rather than an <xsl:if>.
2020-06-20 16:53:31 +00:00
Pierre Labastie
9a4c530f55 Clean LFS/master.sh from unused
functions
2020-06-20 16:45:26 +00:00
Pierre Labastie
0a0753d579 Remove spaces at the end of lines 2020-06-19 14:25:52 +00:00
Pierre Labastie
e4b7aa8206 Replace "cat /proc/cpuinfo" with "lscpu" in the sub-du report: cpuinfo gets
too big with several cores
2020-06-19 06:51:10 +00:00
Pierre Labastie
cce9c165cd Change names for lfs chapters in blfs tools:
- change "6" to "final system"
- change "7" to "configuration"
- change "8" to "Bootable"
- change "9" to "The End"
- also fix a id that has changed in January in the lfs book
2020-06-14 15:54:44 +00:00
Pierre Labastie
3da8c49659 Update ICA for new LFS/master.sh 2020-06-14 07:08:19 +00:00
Pierre Labastie
b33c6ee52d Fix the case of the kernel for otimization 2020-06-11 20:43:33 +00:00
Pierre Labastie
b217a303e4 Fix sbu-du calculations for the new numbering 2020-06-11 13:59:59 +00:00
Pierre Labastie
22bb166d9d Fix the save-ch5 target 2020-06-11 08:22:20 +00:00
Pierre Labastie
6447575192 Fix detection of the cross2 branch 2020-06-10 20:58:33 +00:00
Pierre Labastie
ebe1ba613c Adapt for the cross 2 branch. Note that ICA is broken now. Keeping some old
code to use for fixing ICA, but committing now so that testing can begin!
2020-06-10 20:01:17 +00:00
Pierre Labastie
36f5dce727 Fix lfs.xsl for cross2, and change scriptlet numbering for trunk and cross2 2020-06-09 07:28:05 +00:00
Pierre Labastie
9ef12f76bb Use a private name for MAKEFLAGS in jhalfs, so that it does not propagate
to top make, when ticking "Run the makefile"
2020-06-05 10:18:27 +00:00
Pierre Labastie
7e0a1b8018 Fix an issue in ck_terminal, which was working only by chance (compensating
bugs) on some setup (but not all)
2020-05-31 08:58:41 +00:00
Pierre Labastie
6caa5b8816 Allows having << EOF in tests, and not generating >> $TEST_LOG... until the
matching EOF is found.
2020-05-31 07:31:32 +00:00
Pierre Labastie
9728b235e6 Check terminal size before starting build 2020-05-25 06:47:48 +00:00
Pierre Labastie
a26389abd0 Fix update-lfs.sh (missing continuation character in a case statement 2020-05-22 05:03:40 +00:00
Pierre Labastie
323ae3e633 Add -j1 to "make install" in the
lfs book (done long ago in blfs)
2020-05-18 08:31:43 +00:00
Pierre Labastie
ae1d8a5b59 Prevent a permission problem when using blfs tools with the cros-chap5 branch:
/var/lib needs to be owned by LUSER during chap 5, but it is owned
by root after installing the blfs tools. SO chown it.
2020-05-08 08:22:55 +00:00
Pierre Labastie
38016d5ca7 Add a missing file for saving chapter 5 work 2020-05-01 19:36:10 +00:00
Pierre Labastie
f5ecc2838a Add code to save work at the end of chapter 5
(and finish the rebuild-makefile change)
2020-05-01 14:24:32 +00:00
Pierre Labastie
06eddf40f2 Make "Rebuild Makefile" disable all the other options:
This prevents users from using it without setting a build first
2020-05-01 14:20:45 +00:00
Pierre Labastie
31a9b1440c remove the __pycache__ dirs from comparison analysis 2020-04-10 10:16:41 +00:00
Pierre Labastie
bdb0761120 Run "Cleaning up" page in ICA iterations too: it allows to remove .la and some .a
files
2020-04-08 08:37:54 +00:00
Pierre Labastie
709eb7470d Remove the /usr/share/doc/openssl-<version> dir before renaming
/usr/share/doc/openssl, otherwise it moves it as a subdirectory
2020-04-07 17:08:30 +00:00
Pierre Labastie
49e2745200 Further fix user creation (or no) 2020-04-02 11:54:50 +00:00
Pierre Labastie
dd7e0f6793 Fix LUSER creation (or no creation). 2020-04-02 11:46:36 +00:00
Pierre Labastie
7b7b5e9624 Various fixes for ICA 2020-04-02 09:56:51 +00:00
Pierre Labastie
0a577f5575 typo forgotten \ 2020-04-01 09:14:14 +00:00
Pierre Labastie
0835a1065f Two fixes:"
- use /etc/passwd to check whether LUSER exists
- use sudo -H -u $(LUSER) to be sure that HOME is set (depends on distro)
2020-04-01 09:11:32 +00:00
Pierre Labastie
a73ed74337 Fix the SHELL for CHROOT target for LFS
We use the filter builtin function of make to retrieve the right
shell to use during the CHROOT phase, which is the same as the
one in CHROOT1.
Also do not assume envars exist when removing it at the beginning
of the SUDO phase.
2020-03-31 08:47:52 +00:00
Pierre Labastie
a2b56892e4 Fix a forgotten new IDREF 2020-03-29 20:35:52 +00:00
Pierre Labastie
04de9bc4db Allow to find kernfs and chroot in any chapter
We use those files to generate code snippets to use in Makefile.
They used to be in chapter 6, but the new book will have some
of them in chapter 5.
2020-03-29 17:19:25 +00:00
Pierre Labastie
3261fe76c8 Adapt master.sh to new book, staying compatible
This involves changing the way make targets are built. Specially
the make target is changed when encountering a specific file
(for example the make target becomes sudo when rencountering kernfs)
This allows more flexibility.
2020-03-29 17:16:09 +00:00
Pierre Labastie
4762fb9900 Set the correct #! executable in creat* scriptlets
Those scriptlets need to use a temporary bash, which is in /tools/bin
for current LFS. But if we use a new method (cross-compiling + sysroot)
it ends into /bin. So we have to set the correct `#!' header
in both cases.
We rely on the pesence of a "creatingtoolsdir" sect1 to know that
bash is in /tools
2020-03-29 15:13:15 +00:00
Pierre Labastie
903eefd093 Adapt LFS/master.sh to use chap4 scriptlets
- take targets from scriptlet names
    - neutralize some commands or bash builtins so that they are not
      used even if they are in the scriptlets, if not needed
    - do not set PREV in chapter 5 anymore
    - Improve save and restore user, so that if the LUSER exists,
      its home is saved while building temporary tools, and restored
      afterwards
2020-03-29 14:06:41 +00:00
Pierre Labastie
939731aa52 No need to prin DU from Makefile in LFS
We now print the disk usage from the scriptlet, so printing
again from the Makefile results in a duplicated line. Remove
the printing if book=lfs
2020-03-29 13:46:19 +00:00
Pierre Labastie
123105f683 Do not rely on /tools for setting ROOT (again)
Using the chapter ancestor is not enough. It's better to use the sect1 id
and test that it starts with ch-tools: package-manager does not have this
ancestor. Also the virtual kernel filesystems are done before chroot,
so directly test this one.

This works for the current lfs book. We'll need something new if we
change the order of pages.
2020-03-29 13:42:43 +00:00
Pierre Labastie
1dce18968f Don't use /tools for setting the ROOT variable
In the generated scriptlets, we need to know if we are on host
or chrooted. Presently, we
rely on /tools being a symlink or not. But we may want to remove this
ugly symlink in future versions of LFS, so anticipate and use the
chapter ancestor.
2020-03-29 13:24:48 +00:00
Pierre Labastie
a131250b6f Generate chapter 4 scriptlets
This is a major change for LFS. We won't be using the makefile for
the final preparations, but we'll extract the book instructions and
use them (the "use part not in this commit).
Since getting figures for those scriptlets is not important, and we
cannot use start and end scripts, which need already set up user and
dirs, do not use them
2020-03-29 13:17:38 +00:00
Pierre Labastie
5e4a124e3d Remove /tools and /cross-tools when cleaning
If we stop a build before the "do-housekeeping" target is executed, there
may be symlinks of the type /tools->/mnt/lfs/tools. If we want to restart,
for example after fixing something else, and we run the "creatingtoolsdir"
target (or similar one in CLFS) again, it will fail. It's better to clean
those symlinks when cleaning the build directory.
2020-03-29 13:05:48 +00:00
Pierre Labastie
20e3fcdec2 Do not use a login shell for LUSER
Most books have something like "exec /bin/bash" in .bash_profile for the
building user. This results in stopping and waiting for commands when
running a a login shell. The current jhalfs way of removing .bash_profile is
suboptimal, since a user may want to login as $(LUSER) and expect that the
environment is set (without having to source .bashrc). So remove the
"-i" flag in "sudo -u $(LUSER) ..."
2020-03-29 12:58:06 +00:00
Pierre Labastie
2a9b0c3181 Remove envars before the SUDO phase
This is to allow root to execute ": > envars". On a non empty envars
owned by lfs, in a directory world writable with sticky bit and not owned
by lfs, this may be forbiden by the fs/protected_regular sysctl.
See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
2020-03-15 17:15:28 +00:00
Pierre Labastie
94fc75e616 Remain compatible with older versions of lfs 2020-02-11 13:55:28 +00:00
Pierre Labastie
c035132e2a Fix jhalfs for new idrefs in lfs svn 2020-02-11 13:25:03 +00:00
Pierre Labastie
9a61eadbbf attr does not install man pages in man2 and man5 anymore, so no need
for removing them. This fixes a stupid bug, that removed all man-pages
    man2 pages when porg was used!
2019-12-22 09:53:30 +00:00
Pierre Labastie
fcb78f4822 Unset the BLACKLIST variable in opt_config: all packages seem to be
able to cope with parallelization now
2019-12-21 22:10:04 +00:00