Commit graph

1168 commits

Author SHA1 Message Date
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
Pierre Labastie
2d99aa4bb3 Fix libhandy VERSION computation in packInstall.sh.porg 2019-12-06 21:46:21 +00:00
Pierre Labastie
a30c80e273 Remove the lfs- prefix when writing to the instpkg file, for lfs bootscripts 2019-09-27 09:59:32 +00:00
Pierre Labastie
4ad6e44878 Put {DISTRIB,VERSION}_CODENAME="jhalfs" in /etc/*-release, and fix a typo 2019-09-25 15:36:20 +00:00
Pierre Labastie
654f592149 Add the possibility to update lfs bootscripts with blfs tools.
Ticket #1724
2019-09-25 15:29:17 +00:00
Pierre Labastie
a1795f0351 TRACKFILE should not contain LFS packages that are also in BLFS, ticket #1723 2019-09-25 07:50:45 +00:00
Pierre Labastie
0974c32271 BLFS/xsl/Process-install: detect config instruction in QtWebEngine page 2019-09-16 03:50:29 +00:00
Pierre Labastie
39304601fe BLFS/xsl/process-install: make an entity for config instruction conditions
and add a condition for /opt/rustc creation
2019-09-14 19:30:15 +00:00
Pierre Labastie
0336215926 BLFS/xsl/gen_pkg_list.xsl: allow listing the After LFS config chapter.
Normally only chapters containing versioned pacakges are in the package list.
But with the removal of lsb-release there are no versioned package anymore
in the "After LFS config..." chapter. But we need this chapter. So add
a test explicitly for it.
2019-09-06 21:20:03 +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
91b5249f05 Fix retrieval of BLFS 9.0 tag. Note that older tags cannot be processed by
present jhalfs, and the case statement should be simplified...
2019-09-01 21:00:48 +00:00
Pierre Labastie
974fe35ae0 The new vim tarball has a standard directory name, not need for a tweak in
packInstall
2019-08-31 12:52:05 +00:00
Pierre Labastie
30732c6a16 Process layout replaceable 2019-08-31 12:47:22 +00:00
Pierre Labastie
0a0b60984c Several things:
- refactor again process-install. Allows for better generation of test
  instructions
- only output the instructions of the first sect2 with role="installation".
  this will miss the vaapi intel driver, the installation of help files in
  GIMP, and the second method for which
- always run porg logging in "append" mode
- allows pass1 in sect2 (libva again)
2019-08-17 08:30:36 +00:00
Pierre Labastie
96d7e44922 BLFS/xsl: move the template for replaceable tags out of the main stylesheet,
and allow replacing some hostname/domainname replaceable tags
2019-08-14 10:32:59 +00:00
Pierre Labastie
c9928765ae add property svn:keywords to process-install.xsl 2019-08-13 15:30:00 +00:00
Pierre Labastie
8fc6a47249 BLFS/xsl: refactor the generation of installation instructions, owing to
the new remap="test/doc" attributes
2019-08-13 15:28:49 +00:00
Pierre Labastie
7933ed76c6 Refactoring the output of installation instructions:
Create a template which processes the instruction tree fragment (only header
for now, the content is bogus), and call it from main sheet.
2019-08-13 15:03:39 +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
3b14992061 Fix "installed files size" for the last package:
In create-sbu_du.sh, we use "du -s" for getting the size of the installed
files at the end of the build, and we compare to the "KB" from the previous
package to get the Installed size of the last package. But the du command
excludes an absolute dir, while it should be relative. This lead to bogus
stats.
2019-07-15 20:00:32 +00:00
Pierre Labastie
30a89617c4 Fix the TEST variable when CONFIG_TESTS is not set:
This is another bug exposed by the new menu system. The TEST variable was set
inside the menu "test settings". But this menu depends on CONFIG_TESTS, and
is not executed if CONFIG_TESTS is not set. So that, the TEST variable was
not set if CONFIG_TESTS was not set (while with the former menu suystem,
it was set to 0). Due to the logic in lfs.xsl, this resulted in all the
tests being run, instead of none...
Move the setting of the TEST variable outside the "test settings" menu.
2019-07-15 14:13:48 +00:00
Pierre Labastie
6622409404 Don't output role="nodump" in "not-pack" mode 2019-06-19 07:56:39 +00:00
Pierre Labastie
a4af6811bd Various fixes for Kconfiglib:
- remove the old setting of LANG in BLFS/Makefile
- explicitly use python3, because now menuconfig.py has #!/usr/bin/python,
  we may have only python3 available
- add quotes in Config.in for BLFS
2019-06-15 20:16:35 +00:00
Pierre Labastie
cf2f109b89 Update to Kconfiglib version 12.4.0. This removes the need to use
".configuration.old"
2019-06-15 17:25:10 +00:00
Pierre Labastie
619b313adb Various fixes and improvements coming from github:
- the case for "pax" in packInstall.sh.prog
- an error in packageManager.xml.porg (comment before <?xml?> tag)
- a non-working $Id in Makefile
- some fixes for using the sect1info in lfs (in BLFS tools)
- a big rewrite for generating scripts with more consistent line spacing,
  opening the way to manage remap="test" and remap="doc" attributes
2019-06-15 15:26:23 +00:00
Pierre Labastie
77a8042414 Add the case of pnmixer to packInstall.sh.porg 2019-04-25 09:17:56 +00:00
Pierre Labastie
2c603d8caf Fix a few missing bits of the transition to the new menu subsystem 2019-04-25 08:44:43 +00:00
Pierre Labastie
f596dde66c Get rid of the GPLv2 license:
- Replace the menu system with the Kconfiglib, which has an ISC license
- Remove farce and any reference to it
- Rewrite the copyright notice, add the LICENSE files
- Adapt Config.in and a few other programs to the new menu system
2019-04-24 16:16:20 +00:00
Pierre Labastie
7fa93699d4 Fix a long standing bug in func_compare.sh:
The files in test-logs have the package version in their names
2019-04-24 15:07:04 +00:00
Pierre Labastie
183cc33453 Fix a missing newline in one message 2019-04-24 15:03:58 +00:00
Pierre Labastie
72e9e684e7 Fix a long standing bug in func_check_version.sh:
Using the non existent dotSTR variable caused a ragged output.
Use the spaceSTR variable rather
2019-04-24 15:01:26 +00:00
Pierre Labastie
aeb8539125 Fix generation of install instructions, and remove those pesky && as much as
possible
2019-04-22 09:38:44 +00:00
Pierre Labastie
dfc023a13c typo 2019-04-18 08:55:19 +00:00