Commit graph

139 commits

Author SHA1 Message Date
Pierre Labastie
04a608ba8e Pass NINJAJOBS if N_PARALLEL is defined
Now that MAKEFLAGS is defined at the beginning of the scriptlet,
there is no need to pass MAKEFLAGS as an envar to the scriptlet.
But still NINJAJOBS is not defined. In most cases, when we want
to use all cores, this is not a problem. But if N_PARALLEL is
defined, it needs to be passed. Note that we also pass
MAKEFLAGS in this case, because we use the old "wrt_xxx" function,
but it is not used.
2023-11-17 15:57:55 +01:00
Pierre Labastie
09ac7fc548 Typo
The name of the script is run-in-cgroup.sh, not run-in-cgroup ...
2023-11-16 16:10:07 +01:00
Pierre Labastie
cacc6c5433 Allow users to pass a cpuset
If using a new book, MAKEFLAGS is set to -j$(nproc), so that if
we want to easure timings with 4 processors and our computer has
more than that, we need to restrict the number of processors.
Jhalfs allows to do that using th cpuset cgroup controller, so that
it only restrits the make job and not the whole machine. For that
use a small scripts written by Xi Ruoyao that restarts make this
the cpuset set.
2023-11-15 18:24:22 +01:00
Pierre Labastie
63190e6547 Only pass MAKEFLAGS and NINJAJOBS to old books
Also pass them to binutils-pass1 if calculating the SBU
2023-11-15 18:24:22 +01:00
Pierre Labastie
c552eabe63 Always run "teardown" after chroot
If the shell exits with an error, teardown is not run in target
chroot, which may lead to unwanted effects, such as preventing
unmounting the $BUILD_DIR. Tell make to ignore the error.
2023-09-14 16:03:37 +02:00
Pierre Labastie
200cc0151e All the targets after mk_SUDO depend on "devices"
Now that devices.sh can be run even if the fs are already mounted
all the targets after mounting the virtual kernel fs can depend
on "devices". This way, if for some reason a partial build is
restarted after a reboot, the virtual kernel fs are automatically
re-mounted.

Fixes #1737
2023-09-12 22:58:55 +02:00
Pierre Labastie
fd90f80466 Prevent parallelism in the master Makefile 2022-11-04 13:18:11 +01:00
Pierre Labastie
262e174aa1 systemd: copy /etc/resolv.conf from the host
when entering chroot. This allows using the network in chroot.
2022-10-06 10:39:09 +02:00
Pierre Labastie
3722d3164c Call kernel filesystem scripts from Makefile
Instead of having them inside the Makefile, which implies editing
them (automatically), which is not robust if anything changes:
it got broken when a test for a mountpoint was added...
2022-10-06 10:26:29 +02:00
Pierre Labastie
84d0d39a97 Do not run "stripping" if STRIP=n during ICA
LFS/lfs.xsl does not generate correct commands for stripping if
STRIP=n. LFS/master.sh had already been corrected to not run
stripping if STRIP=n, but only for the first pass. Do this for
all passes.
2022-05-21 19:07:38 +02:00
Pierre Labastie
93814d176b Typo in LFS/master.sh (in a comment) 2022-05-21 19:07:16 +02:00
Pierre Labastie
d3dbebe625 master.sh: use the new wrt_makeflags function
It now take three arguments:
- name of the package
- MAKEFLAGS
- NINJAJOBS
2022-05-07 20:47:52 +02:00
Pierre Labastie
2bd2fb81d0 Replace $PROGNAME-commands with $COMMANDS
This allows to remove some references to PROGNAME
2022-03-30 14:49:43 +02:00
Pierre Labastie
9d665db456 Remove legacy: remove tests in temporary tools
There is no way to run them now since we are in a cross build
configuration
2022-02-28 13:45:00 +01:00
Pierre Labastie
20051e00f7 Use only CHROOT1 in LFS/master.sh
There is only one chroot command in newer LFS, and using the first one
with previous versions does not hurt.
2022-02-05 18:48:32 +01:00
Pierre Labastie
fd4a7982f2 Remove $Id$ comments, they are useless with git 2021-10-31 10:22:30 +01:00
DJ Lucas
33a4e41462 Fix package management and put back optional stripping again for backwards compatibility. 2021-08-17 18:23:24 -05:00
Thomas Trepl (Moody)
756863be9b strippingagain.xml has been renamed 2021-08-13 08:18:05 +02:00
Thomas Trepl (Moody)
c1060c9add strippingagain.xml has been renamed 2021-08-13 07:51:13 +02:00
Pierre Labastie
47dfc81bdc Account for the change in umount command in LFS
The command for unmounting the kernel vfs is now
  umount -Rv $LFS
So we have first to use that command in teardown (change in
kernfs.xsl). Second, since the command tries to umount
$LFS, but the Makefile is on $LFS, it fails. Ignore the
error in the Makefile (change in master.sh)
2021-03-09 21:58:44 +01:00
Pierre Labastie
5562bf14e0 Fix make exiting with an error if $(MOUNT_PT)/var/lib does not exist 2020-09-30 05:43:59 +00:00
Pierre Labastie
088130f04a Fix changing the ownership of $BUILDDIR/var/lib to LUSER when it has been
created by func_install_blfs. Fixes ticket #1729
2020-09-17 15:30:29 +00:00
Pierre Labastie
56c1fff69a Create os-release also for SysV
This has been in the book for a few months, but jhalfs was not updated.
It is now...
2020-08-22 11:49:09 +00:00
Pierre Labastie
6f74ca146f LFS/master.sh: only count chapter* dirs in lfs-commands
We count the number of files in lfs-commands to know whether
we have an old or a new book. But this shouldn't include the
custom-tools dir, so only count chapter*.
2020-07-10 13:29:15 +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
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
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
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
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
9728b235e6 Check terminal size before starting build 2020-05-25 06:47:48 +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
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
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
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
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
2758d9421e Use sect1info for getting informations on LFS packages:
- add sect1info sections to packagemanager.xml.xxx + various fixes
- add templates in LFS/lfs.xsl for script start and script end:
  - script start: define variables containing package information
                  print disk usage
                  unpack and change dir
  - script end: print disk usage
                remove build dir
- remove the corresponding operations from master.sh
2019-04-11 07:40:50 +00:00
Pierre Labastie
c6506aea23 Remove sudo from commands run as root (and some DEBUG lines) 2019-03-15 08:55:01 +00:00
Pierre Labastie
a659e46082 Hopefully get the devices: target Ok now 2019-03-14 21:02:58 +00:00
Pierre Labastie
13c475babc Get virtual kernel filesystem commands from the book, and really add
/run/systemd/resolve/resolv.conf after creating the kernel FS in chapter 6
2019-03-13 06:31:55 +00:00
Pierre Labastie
426c618053 Stupid typo 2019-03-09 20:27:44 +00:00
Pierre Labastie
d39252b7ca LFS: Copy /etc/resolv.conf to where it should be during chroot, for
systemd: this allows using the network in chroot.
Also add a chroot1 target, and update the teardown target to what is
in the book.
2019-03-09 07:15:41 +00:00