Commit graph

94 commits

Author SHA1 Message Date
Pierre Labastie
078ef3cf12 Pass sanitized MAKEFLAGS to scriptlets
Now that we have MAKEFLAGS in the environment, "make" in chroot
is run with MAKEFLAGS set. This cause it to pass the -j value
into MAKEFLAGS to inferiors (scriptlets), but it is passed with
a --jobserver-auth value added. If we do not precede the command
running the scriptlet with a +, it passes --jobserver-auth=-2,-2
meaning that the jobserver is disabled, and "make" in the scriptlet
understands that it should only run one job at a time (defeating
the value of the -j flag). But even if we do precede the command
running the scriptlet with a +, it passes --jobserver-auth=3,4,
which shows it is running, but this jobserver will authorize only
one job at a time since the parent make contains the target
.NOTPARALLEL!
To work around this problem, tje only solution is to change the
MAKEFLAGS at the beginning of the scriptlet. Fortunately, lfs.xsl
knows what we want as job number (either $(nproc) or a fixed number),
so use it to set MAKEFLAGS.
2023-11-17 13:18:12 +01:00
Pierre Labastie
3c43655ec6 Only replace $(nproc) in scriptlets
There is no more $(nproc || echo 1). Note that we may replace
it with $(nproc) if using all cores, so don't replace it in
the comment-test template (otherwise we have infinite recursion).
2023-11-15 18:24:22 +01:00
Pierre Labastie
1352172467 Merge branch 'trunk' into xry111/parallelism 2023-11-13 13:44:32 +01:00
Xi Ruoyao
1b02a9acff
Replace $(nproc || echo 1) and $(nproc) 2023-09-11 16:04:44 +08:00
Pierre Labastie
3b27f93764 Apply a timeout to kernel config in LFS
If the kernel-config file is not up to date (missing options or
whatever), the kernel "make" will hang, waiting for input. So
run "make oldconfig" explicitly, with a timeout.

Fixes: #1736
2023-09-08 17:01:52 +02:00
Pierre Labastie
594ff3d878 Remove the "Abort on testsuite failure" config (4)
Remove the bomb-testsuite param in lfs.xsl, with the associated
code.
This implies not passing this param in func_book_parser.
2022-06-15 15:10:52 +02:00
Pierre Labastie
55e82d2ae0 Various updates for pacman PM
- update versions and instructions in packageManager.xml.pacman.
  Also remove the pages for old books.
- Fix packInstall.sh.pacman, so that restarting after a failure
  is possible
- Change LFS/lfs.xsl so that destdir install use symlinks for
  /lib, /sbin, and /bin. Remove also absolete commands for old
  books
- fix gcc script in book parser
2022-06-12 22:54:14 +02:00
Pierre Labastie
4c36783ec4 oRemove legacy: do not run tests in temporary tools (2) 2022-02-28 14:11:30 +01:00
Pierre Labastie
fd4a7982f2 Remove $Id$ comments, they are useless with git 2021-10-31 10:22:30 +01:00
DJ Lucas
b5d1c50492 Fix iproute2 install with package management. 2021-09-06 17:04:11 -05: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)
bcae37dc8b Rename ch-system-strippingagain to ch-system-stripping 2021-08-13 07:46:58 +02:00
Pierre Labastie
cfdb089dcf Fix generation of full locales
The recent addition of instructions for adding locales not
installed by make install-localedata has broken the generation
of the scriptlet, because there is a missing linefeed.
Use xsl:for-each to add a linefeed after each <userinput>
text.
2021-05-11 09:59:19 +02:00
Pierre Labastie
88a8275eb8 lfs.xsl: mode=pkgmngt: use $pos and not position() when calling
start-script
2020-07-09 17:04:30 +00:00
Pierre Labastie
46c6113b28 Prevent overwriting /var/run and lock symlinks with PM
/var/run and /var/lock are created as symlinks in creatingdirs. But
if a package install something into those dirs (with DESTDIR install),
they get overwritten with true directories if using a package
manager. Note that without PM, anything installed into those dirs
is lost at next reboot. So remove those dirs before packaging.
2020-07-09 17:02:10 +00:00
Pierre Labastie
3484658167 Various fixes for recent pacman with new book
- add createfiles instructions of packageManager.xml for new book too
- remove unneeded chown when installing pacman (not needed thanks to
  the above)
- Use a dedicated user "builder" for running makepkg: user "tester" is 
  removed at the end of chapter 8, but is needed in following chapters.
2020-07-07 15:27:54 +00:00
Pierre Labastie
f017b22731 LFS/lfs.xsl: fix cases when using DESTDIR
We cannot use only the fact that it is not in chapter-temporary-tools
since now we have several chapter for the temporary system.
so use a list of chapters (non negated).
2020-07-06 05:51:22 +00:00
Pierre Labastie
3ac3ae199f Change numberings of scriptlets:
- major number can be on 4 digits, so use it in packInstall
- minor number (for package manager) can be greater than 10
  - code on 2 digits
  - change various files accordingly
2020-07-06 05:38:54 +00:00
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
36f5dce727 Fix lfs.xsl for cross2, and change scriptlet numbering for trunk and cross2 2020-06-09 07:28:05 +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
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
a2b56892e4 Fix a forgotten new IDREF 2020-03-29 20:35:52 +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
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
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
085435e66f Remove the obsolete vim-lang instructions and variable, and add non-wide-
charater ncurses library
2019-09-05 17:22:04 +00:00
Pierre Labastie
5451eaeb9e Fix generation of the SBU-DU stats:
The "create-sbu_du.sh" script expects all the logs containing
"Totalseconds" also contains two lines starting with "KB:" with disk usage
stats. Generates those lines for all the logs. Hopefully, the stats are
fairly accurate now...
2019-07-15 20:06:35 +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
adbd09b06c LFS/lfs.xsl: Update directory layout of PKG_DEST
- Do not symlink /{usr/,}lib64->lib
    - Do not symlink /usr/{man,info}->share
    - Create /lib64 on x86_64
    - Create /usr/lib/pkgconfig
    - do not create /usr/lib/rpcsvc
    - check that a directory exists before testing its emptyness
      (for example, attr removes empty manx dirs)
2019-04-08 10:03:26 +00:00
Pierre Labastie
3142368d67 I cannot read: variable in /etc/sysconfig/console is LOGLEVEL, not LOG_LEVEL! 2019-03-15 16:18:48 +00:00
Pierre Labastie
f5e658dc6c Fix filename extension in /etc/sysconfig/ifconfig.xxx so that it matches
the IFACE value. Works only with revision 11556 or later of LFS book.
2019-03-10 09:15:10 +00:00
Pierre Labastie
3b43e17bda Generate console files:
- add variables LOCAL (y is hw clock set to local time) and LOG_LEVEL (sysv)
- generate /etc/sysconfig/console (sysv) or /etc/vconsole.conf (systemd)
- generate /etc/adjtime (only systemd)
- remove UNICODE and FONTMAP variables (jhalfs makes unicode default)
2019-03-09 08:11:37 +00:00
Pierre Labastie
5af9ab4b8c In the systemd book, the network card is designed as
"<network-device-name>", not "eth0".
2019-03-09 07:18:52 +00:00
Pierre Labastie
7bc70cd968 Allow DESTDIR to work for libelf, now that it is in LFS 2018-02-05 21:46:36 +00:00
Pierre Labastie
ad747edfb0 Move the linefeed. Sometimes, several attempts are needed to make things
rignt, sorry
2018-02-05 14:56:54 +00:00
Pierre Labastie
6613034d13 Move a misplaced linefeed in LFS/lfs.xsl:outputpkgdest 2018-02-05 10:45:29 +00:00
Pierre Labastie
1cb4c7662c Only output DESTDIR when the command is "ninja install" 2018-02-05 10:30:01 +00:00
Pierre Labastie
4696ddd406 Add DESTDIR instructions when the command is "ninja install" (in LFS/lfs.xsl) 2018-02-05 09:54:15 +00:00
Pierre Labastie
764a5d712c Do not add >> $TESTLOG to lines ending with "\" 2018-01-14 20:19:14 +00:00
Pierre Labastie
2e1c1c3c16 Remove spaces at the end of lines 2018-01-13 09:08:56 +00:00
Pierre Labastie
dc7fd7b7ba Add .la file removal to LFS and BLFS scripts 2018-01-12 19:04:19 +00:00
Pierre Labastie
5a8939e7f9 Really comment out test instructions+always define TESTLOG since the user
may "uncomment" some tests
2018-01-12 09:40:59 +00:00
Pierre Labastie
1d5f3e309f Always generate test instructions, and comment unwanted ones out.
Fixes ticket #1695
2018-01-07 20:20:12 +00:00
Pierre Labastie
9bbb9c83f3 Package management: compute times and sizes without packing times and sizes 2017-07-04 12:19:46 +00:00