Re: [lfs-dev] Final call for changes before LFS/BLFS 10.1 release

2021-03-02 Thread Bruce Dubbs via lfs-dev

On 3/2/21 4:54 AM, Kevin Buckley wrote:

On Sat, 27 Feb 2021 at 11:27, Bruce Dubbs via lfs-dev
 wrote:


We are about ready to release LFS/BLFS 10.1.  All tickets have been
closed and all packages have been tested using the current instructions
in the books.

That said, there are probably issues that still need to be addressed.
If LFS is printed out on paper, it is about 300 pages.  If BLFS is
printed out paper, it is over 2000 pages.  This is the last call for
change proposals before the books are released on Monday, March 1st.

All proposals will be considered, but major changes probably will need
to be delayed until the next cycle.  However, minor changes can be done
now.

-- Bruce


Only just came to download the sources I don'r already have, for 10.1

Checking that I had them all suggests that Readline was updated,
from 8.0 to 8.1, but isn't listed in the "What's new" section.

I note, in the SVN log,

r12069 | bdubbs | 2020-12-15 05:45:13 +0800 (Tue, 15 Dec 2020) | 9 lines

Update to libcap-2.46.
Update to bc-3.2.4.
Update to autoconf-2.70.
Update to openssl-1.1.1i.
Update to Python3-3.9.1.
Update to linux-5.9.14.
Update to bash-5.1 and readline-8.1.

so and was wondering how it gets left out ?


Because I forgot it.


FWIW, I do something akin to

links2 -width 132 -dump -html-numbered-links 0 LFS-BOOK-10.1-NOCHUNKS.html | \
  grep Download: \
  cut -d/ -f 3-  > LFS-BOOK-10.1-SRC_PATHS.txt

to get a list of "paths to" each Book's sources, so was wondering
if something like that list being maintained, on the backend, might
help in autogenerating the "What's new" list?


I think that's a little more effort than it's worth.  It's part of my 
routine to update the "What's new" list when I update the change log. 
Readline is a little different because it is pretty tightly coupled to bash.


Thanks for pointing out the problem though.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] LFS and BLFS Version 10.1 are released

2021-03-01 Thread Bruce Dubbs via lfs-dev
The Linux From Scratch community is pleased to announce the release of 
LFS Version 10.1, LFS Version 10.1 (systemd), BLFS Version 10.1, and 
BLFS Version 10.1 (systemd).


This release is a major update to both LFS and BLFS.

The LFS release includes updates to glibc-2.33, and binutils-2.36.1. A 
total of 40 packages have been updated. Changes to text have been made 
throughout the book. The Linux kernel has also been updated to version 
5.10.17.


The BLFS version includes approximately 1000 packages beyond the base 
Linux From Scratch Version 10.0 book. This release has over 850 updates 
from the previous version in addition to numerous text and formatting 
changes.


Thanks for this release goes to many contributors.  Notably:

Douglas Reno
Pierre Labastie
Ken Moffat
Thomas Trepl
Tim Tassonis
Xi Ruoyao
DJ Lucas

You can read the books online[0]-[3], or download[4]-[7] to read locally.

Please direct any comments about this release to the LFS development
team at lfs-...@linuxfromscratch.org or blfs-...@linuxfromscratch.org. 
Registration for the mailing lists is required to avoid junk email.


  -- Bruce Dubbs
 LFS

[0] http://www.linuxfromscratch.org/lfs/view/10.1/
[1] http://www.linuxfromscratch.org/blfs/view/10.1/
[2] http://www.linuxfromscratch.org/lfs/view/10.1-systemd/
[3] http://www.linuxfromscratch.org/blfs/view/10.1-systemd/

[4] http://www.linuxfromscratch.org/lfs/downloads/10.1/
[5] http://www.linuxfromscratch.org/blfs/downloads/10.1/
[6] http://www.linuxfromscratch.org/lfs/downloads/10.1-systemd/
[7] http://www.linuxfromscratch.org/blfs/downloads/10.1-systemd/
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Final call for changes before LFS/BLFS 10.1 release

2021-02-28 Thread Bruce Dubbs via lfs-dev

On 2/28/21 10:27 PM, Kevin Buckley wrote:

On Sat, 27 Feb 2021 at 11:27, Bruce Dubbs via lfs-dev
 wrote:


We are about ready to release LFS/BLFS 10.1.  All tickets have been
closed and all packages have been tested using the current instructions
in the books.

That said, there are probably issues that still need to be addressed.
If LFS is printed out on paper, it is about 300 pages.  If BLFS is
printed out paper, it is over 2000 pages.  This is the last call for
change proposals before the books are released on Monday, March 1st.

All proposals will be considered, but major changes probably will need
to be delayed until the next cycle.  However, minor changes can be done
now.


Very minor, and slightly pedantic, but as of 12146, this

---
1.2. What's new since the last release

In this version of LFS, there has been a major reorganization of the
book using techniques that avoid changing the host system and provides
a more straight forward build process.

Below is a list of package updates made since the previous release of the book.
...
---

has missed the fact the major reorganization happened in 10.0, and
that there hasn't been another major reorganization in "this version",
ie 10.1, although I hear the distinction between "version" and "release".

Perhaps then, given we are past the release in which the reorganization
happened:

   As of LFS 10.0, there was a major reorganization of the book ...


I also have a suggestion, and that would be to add the download URIs
into the "What's new" section, so that someone with the downloads
from the previous release could more easily generate a list of just
the things they need to download for the latest release.


You are right Kevin, we missed that needed text revision, but it is too 
late to change it now.  We'll get it next time.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Final call for changes before LFS/BLFS 10.1 release

2021-02-26 Thread Bruce Dubbs via lfs-dev

On 2/26/21 10:13 PM, Xi Ruoyao via lfs-dev wrote:

On 2021-02-26 21:26 -0600, Bruce Dubbs via lfs-dev wrote:

We are about ready to release LFS/BLFS 10.1.  All tickets have been
closed and all packages have been tested using the current instructions
in the books.

That said, there are probably issues that still need to be addressed.
If LFS is printed out on paper, it is about 300 pages.  If BLFS is
printed out paper, it is over 2000 pages.  This is the last call for
change proposals before the books are released on Monday, March 1st.

All proposals will be considered, but major changes probably will need
to be delayed until the next cycle.  However, minor changes can be done
now.



In section 11.3 (rebooting), it it better to replace those umount commands with
a simple "umount -R $LFS"?


That's a good idea.   When I set up chroot, I do a little more than what 
in the book for work in chroot after LFS is completed:


├─/usr/src lfs91:/srv/src nfs
├─/mnt/lfs /dev/nvme0n1p8 ext4
│ ├─/mnt/lfs/dev   devtmpfs   devtmpfs
│ │ └─/mnt/lfs/dev/pts devpts devpts
│ ├─/mnt/lfs/proc  proc   proc
│ ├─/mnt/lfs/sys   sysfs  sysfs
│ ├─/mnt/lfs/run   runtmpfs
│ ├─/mnt/lfs/usr/src   lfs91:/srv/src nfs
│ ├─/mnt/lfs/boot  /dev/nvme0n1p2 ext2
│ └─/mnt/lfs/home  /dev/nvme0n1p5 ext4

When I do # umount -Rv $LFS, I get:

umount: /mnt/lfs/dev/pts unmounted
umount: /mnt/lfs/dev unmounted
umount: /mnt/lfs/proc unmounted
umount: /mnt/lfs/sys unmounted
umount: /mnt/lfs/run unmounted
Legacy NFS mount point detected
lfs91:/srv/src umounted
umount: /mnt/lfs/boot unmounted
umount: /mnt/lfs/home unmounted
umount: /mnt/lfs unmounted

Which does seem to do the right thing.  In spite of the message about 
NFS, it only umounts /mnt/lfs/usr/src and not /usr/src.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] Final call for changes before LFS/BLFS 10.1 release

2021-02-26 Thread Bruce Dubbs via lfs-dev
We are about ready to release LFS/BLFS 10.1.  All tickets have been 
closed and all packages have been tested using the current instructions 
in the books.


That said, there are probably issues that still need to be addressed. 
If LFS is printed out on paper, it is about 300 pages.  If BLFS is 
printed out paper, it is over 2000 pages.  This is the last call for 
change proposals before the books are released on Monday, March 1st.


All proposals will be considered, but major changes probably will need 
to be delayed until the next cycle.  However, minor changes can be done 
now.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Promote JS78.8.0 for 10.1 ?

2021-02-24 Thread Bruce Dubbs via lfs-dev

On 2/24/21 12:13 PM, Ken Moffat via lfs-dev wrote:

On Wed, Feb 24, 2021 at 03:48:05AM +, Ken Moffat via lfs-dev wrote:

On Wed, Feb 24, 2021 at 04:31:12AM +0100, Pierre Labastie via lfs-dev wrote:

On Wed, 2021-02-24 at 02:02 +, Ken Moffat via lfs-dev wrote:

I see that people have been busy tagging things whilst I've been
offline.  One of those things is JS-78.8.0.

Technically, the JS build does not appear to contain any security
fixes, just one or two lines of python got changed.  But
firefox-78.8.0 does contain the usual crop of fixes rated as 'high'.

Firefox has not yet been tagged, so no problem.

I'd like to promote JS-78.8.0 for 10.1 so that we continue to use
the same version of the tarball.  Although I have not yet built this
version of firefox on 10.1, I have built and measured on a system
from 6th February with various later updates, and I've now got JS
78.8.0 running on two machines which have not yet got as far as
firefox.


FWIIW, js78 is a dependency of:
- polkit: tagged
- gjs: not tagged yet

According to Xi Ruoyao, nothing dependent on polkit uses js. I'd say we
need to test gjs (not tagged yet), and its dependencies (g-ir
(optional), gnome-shell, libsecret (optional), gnome-maps, and gnome-
weather)

Pierre



I've built polkit as part of my normal builds, as well as
gobject-introspection.  I normally build very little of gnome.



Question: were those tested before JS78.7.1 was tagged ?


In my case they were tested after JS78.7.1 was tagged

  -- Bruce

I see that Doug has been given the ticket for JS, I'll temporarily
separate the entities to keep JS at 78.7.1.

ĸen



--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Regression in top ?

2021-02-22 Thread Bruce Dubbs via lfs-dev

On 2/22/21 8:43 PM, Ken Moffat via lfs-dev wrote:

On Tue, Feb 23, 2021 at 02:30:38AM +, Ken Moffat wrote:

Finally got a 10.1-rc1+ system booted.  But lookign at 'top' on this
8-thread machine it only shows the even-numbered cores (Cpu0 .. 2 ..
4 .. 6).  This is plain wierd, is it a regression in
procps-ng-3.3.17 ?

I so, I guess I'll have to revert to 3.3.16.

ĸen


Scratch that.  I had not realised that the odd-numbered CPUs were
shown on the right on the screen.  Will be interesting to see how
well that works on a narrow screen (at the moment I have 160 columns
in a tty), but it saves rows so I guess all is good and that it will
help if ever I get a decent number of cores.


It's kinda needed on my 24 core system.  At one per line, it would take 
up far too must screen real estate.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] LFS-10.1-rc1 is released

2021-02-19 Thread Bruce Dubbs via lfs-dev

The Linux From Scratch community announces the release of LFS Version
10.1-rc1. It is a preliminary release of LFS-10.1.

The Linux From Scratch community announces the release of LFS Version 
10.1-rc1. It is a preliminary release of LFS-10.1. Major changes include 
toolchain updates to binutils-2.36.1 and glibc-2.33. In total, 40 
packages were updated since the last release. Changes to the text have 
also been made throughout the book. The Linux kernel has also been 
updated to version 5.10.17.


We encourage all users to read through this release of the book and test
the instructions so that we can make the final release as good as possible.

You can read the book online [0], or download [1] to read locally.

In coordination with this release, a new version of LFS using the 
systemd package is also being released. This package implements the 
newer systemd style of system initialization and control and is 
consistent with LFS in most packages.


You can read the systemd version of the book online [2], or download [3]
to read locally.

   -- Bruce

[0] http://www.linuxfromscratch.org/lfs/view/10.1-rc1/
[1] http://www.linuxfromscratch.org/lfs/downloads/10.1-rc1/
[2] http://www.linuxfromscratch.org/lfs/view/10.1-systemd-rc1/
[3] http://www.linuxfromscratch.org/lfs/downloads/10.1-systemd-rc1/
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] More glibc-2.33/binutils-2.36.1 fun

2021-02-12 Thread Bruce Dubbs via lfs-dev

On 2/12/21 2:39 PM, Joe Locash via lfs-dev wrote:
I haven't seen it mentioned and no reference to it in the dev book but I 
ran into this.  A make check may fail for binutils-2.36.1 with 
glibc-2.33 with:

   FAIL: Run property 4
   FAIL: Run property 4 (PIE)
   FAIL: Run property 5
   FAIL: Run property 5 (PIE)

All 4 related to CPU ISA level is lower than required.
There is a patch available for binutils (or just ignore the failures - 
the patch just removes the checks).  See 
https://sourceware.org/bugzilla/show_bug.cgi?id=27358


My build system is a core i5-540M.


Yup.  Everyone is getting these failures.  We do need to tell users to 
ignore them.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] coreutils Ch.8 ("echo" command no longer needed)

2021-02-11 Thread Bruce Dubbs via lfs-dev

On 2/11/21 12:29 PM, Ryan Marsaw via lfs-dev wrote:

Hello.

In chapter 8's Coreutils there's this line:
echo '# deleted' > m4/std-gnu11.m4

The original "std-gnu11.m4" is now usable ever since the autoconf
upgrade to 2.71.  The echo line can be removed.


Thanks.  I'll test and make that change.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Possible binutils-2.36 problems

2021-02-05 Thread Bruce Dubbs via lfs-dev

On 2/5/21 6:48 AM, Ken Moffat via lfs-dev wrote:

While replying to Frans on -support re his inability to build
glibc-2.33, I glanced at the binutils bugs
https://www.mail-archive.com/bug-binutils@gnu.org/ and said that
2.36 might be buggy.  At that time I hadn't read all the links
gurgle found for me.  One of them is
https://www.linuxquestions.org/questions/linux-from-scratch-13/binutils-2-36-strip-4175689760/
which looks *really* annoying.


I took a look at the above link, but I cannot reproduce the problem with 
LFS instructions.  In my test build in /mnt/lfs/lib I have:



[ /mnt/lfs/lib ]$ ll libc*
lrwxrwxrwx 1 root root   14 Feb  2 16:20 libcap.so.2 -> libcap.so.2.47
-rwxr-xr-x 1 root root39440 Feb  2 17:44 libcap.so.2.47
lrwxrwxrwx 1 root root   17 Feb  2 17:44 libcom_err.so.2 -> 
libcom_err.so.2.1

-rwxr-xr-x 1 root root18776 Feb  2 17:44 libcom_err.so.2.1
-rwxr-xr-x 1 root root43288 Feb  2 17:44 libcrypt-2.33.so
lrwxrwxrwx 1 root root   16 Feb  2 16:10 libcrypt.so.1 -> 
libcrypt-2.33.so

-rwxr-xr-x 1 root root  1835448 Feb  2 17:44 libc-2.33.so
-rwxrwxr-x 1 root root 11946280 Feb  2 17:44 libc-2.33.so.dbg
lrwxrwxrwx 1 root root   12 Feb  2 16:10 libc.so.6 -> libc-2.33.so

[ /mnt/lfs/lib ]$ file libc-2.33.so
libc-2.33.so: ELF 64-bit LSB shared object, x86-64, version 1 
(GNU/Linux), dynamically linked, interpreter /lib/ld-linux-x86-64.so.2, 
for GNU/Linux 3.2.0, stripped


[ /mnt/lfs/lib ]$ file libcap.so.2.47
libcap.so.2.47: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), 
dynamically linked, stripped


So the book does what we want.  On the other hand, we do not do an 
unconditional strip on anything.  We start with find /lib /usr/lib -type 
f -name \*.so* ...  so that would skip symlinks.


We use the same structure in BLFS Section "Notes on Building Software".

On the other hand, doing an explicit strip on a symlink does replace the 
symlink with the stripped version of the link's resolved file.


I can confirm that running strip against a symlink on a system with 
binutils-2,25 does not affect the symlink.


  -- Bruce






--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Util-linux uuidd.service file specifies a user and group

2021-01-28 Thread Bruce Dubbs via lfs-dev

On 1/28/21 2:18 PM, Brendan L via lfs-dev wrote:

On Thu, Jan 28, 2021 at 11:22 AM Bruce Dubbs via lfs-dev
 wrote:


On 1/28/21 10:04 AM, Brendan L via lfs-dev wrote:

I thought I'd also mention that for the instructions, it currently
explicitly sets runstatedir=/run.  You can have the same effect of
runstatedir=/run by just setting --localstatedir=/var.  I found arch
does this in their builds.


That puts files in /var/run which is a symlink to /run.  Better to just
go direct.



I think that's the normal outcome, but when I run configure on
util-linux with --localstatedir=/var, runstatedir is set the /run and
not /var/run when checking the config.log.  It also show /run in the
configure summary.


Interesting.  I checked configure.ac and see (with minor formatting):

# default for old versions without $runstatedir
AS_IF([test x"$runstatedir" = x], [runstatedir='${localstatedir}/run'])

# our default if $localstatedir unchanged
AS_CASE([$localstatedir:$runstatedir],
 [NONE:'${localstatedir}/run' |
  /var:'${localstatedir}/run' |
  NONE:'/run' ],
   [runstatedir=/run; AC_MSG_NOTICE([  --runstatedir defaults to /run])]
)

So it looks like a couple of ways to do what we want.  The default for 
$localstatedir if nothing is specified is /usr/var.  As far as I can 
tell though, nothing uses /usr/var although it does seem to be created.


The FHS does not mention /usr/var, so it looks like your suggestion 
would eliminate that as well as fixing the run problem.


What to others think?

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Util-linux uuidd.service file specifies a user and group

2021-01-28 Thread Bruce Dubbs via lfs-dev

On 1/28/21 10:04 AM, Brendan L via lfs-dev wrote:

I thought I'd also mention that for the instructions, it currently
explicitly sets runstatedir=/run.  You can have the same effect of
runstatedir=/run by just setting --localstatedir=/var.  I found arch
does this in their builds.


That puts files in /var/run which is a symlink to /run.  Better to just 
go direct.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] LFS 10.0 read-only file system failure

2021-01-16 Thread Bruce Dubbs via lfs-dev

On 1/16/21 9:43 AM, Jamenson Espindula via lfs-dev wrote:


To re-emphasize: I _solved_ the problem.

How: creating a configuration file from scratch (make config);
answering all the questions accepting the suggested default answers.

After that, I have invoked (make menuconfig) and adjusted some
hardware configurations.

Compiling and installing the kernel just builded.

Unfortunately, I accidentally erased the old configuration file. So, I
can not tell exactly where the misconfiguration was.

But, I have no doubt: the problem was raised by a kernel
misconfiguration. I made a mistake.


We all make mistakes.  Glad you got it fixed.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] LFS 10.0 read-only file system failure

2021-01-13 Thread Bruce Dubbs via lfs-dev

On 1/13/21 11:45 PM, Jamenson Espindula via lfs-dev wrote:

Em qua., 13 de jan. de 2021 às 12:47, Pierre Labastie via lfs-dev
 escreveu:


On Wed, 2021-01-13 at 10:05 -0300, Jamenson Espindula via lfs-dev
wrote:



Looks like you haven't send the whole story. You should have seen
something like:
Mounting virtual file systems: /run /proc /sys /dev

+ maybe an error message before "FAILURE ..."

The mail subject tells "read-only file system failure", but there is no
evidence in the error message you sent us...



Thank you for your response. In fact, there are other error messages.
I am sorry.

  = = = = = Begin of transcription = = = = =

chmod: cannot access '/run/lock': No such file or directory


Lets start here.  That is the very 1st boot script.  It is doing:

mount /run
mkdir -p /run/lock /run/shm
chmod 1777 /run/shm /run/lock

And failing.
-

What we need is to see your file system.  What is the output of
'ls /' (or 'ls /mnt/lfs' from the host).  It should be.

bin   dev  homeliblost+found  mnt  proc  run   sources  sys  usr
boot  etc  lib64   media  opt root sbin  srv   tmp  var

Second don't just say the /etc/fstab is right. Paste it in.  It should 
be close to:


/dev/ / ext4 defaults  1 1
/dev/ swap  swap pri=1 0 0

proc /procproc nosuid,noexec,nodev   0 0
sysfs/sys sysfsnosuid,noexec,nodev   0 0
devpts   /dev/pts devpts   gid=5,mode=6200 0
tmpfs/run tmpfsdefaults  0 0
devtmpfs /dev devtmpfs mode=0755,nosuid  0 0

The last five lines should be identical to what you have.  If /run is 
correctly mounted as a tmpfs, then the next two lines should not fail.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] cbindgen-0.16.0 and mozilla

2020-12-27 Thread Bruce Dubbs via lfs-dev

On 12/27/20 3:14 PM, Ken Moffat via lfs-dev wrote:

On Sun, Dec 27, 2020 at 07:18:33PM +, Ken Moffat via lfs-dev wrote:

On Sun, Dec 27, 2020 at 07:28:33PM +0100, gabriele balducci via lfs-dev wrote:

hi


I'm running into a problem with cbindgen-0.16.0 first identified by
renodr. Both Thunderbird and Firefox fail in the same way.


if this can be of interest to you: at least for FF, the working version
of cbindgen can be found in one or the other of these two files:

taskcluster/scripts/misc/build-cbindgen.sh
build/moz.configure/bindgen.configure

cheers
-g


 From memory, the bindgen.configure specified the *minimum* version
required (it's one of the places I look to see changed deps for new
non-esr versions).  My impression of taskcluster is that it's part
of mozilla's infrastructure for its build machines.

In any case, all configure-style tests for versions can only know
about what was available at the time.  This sounds like a new
cbindgen issue and I'll guess it should be reported to cbindgen's
upstream.

Glad someone tested it ;-)



So far, only Arch are using cbindgen-0.16.0.  They use it for
thunderbird 78.6.0 with rust-1.48.0 (and a patch to allwo that).

Fedora are also using rust-1.48.0, but in thunderbird-78.6.0 they
put cbindgen-vendor-0.14.3.tar.xz into the source and then build
with the bundled cbindgen, see
https://src.fedoraproject.org/rpms/thunderbird/blob/master/f/thunderbird.spec

Specifically, at line 377 (blank lines removed)

%if 0%{?use_bundled_cbindgen}
mkdir -p my_rust_vendor
cd my_rust_vendor
%{__tar} xf %{SOURCE4}
cd -
mkdir -p .cargo
cat > .cargo/config <

Sorry.  I started this thread on the wrong list (lfs-dev not blfs-dev), 
but let's keep it here to maintain the conversation.


The only packages in BLFS that use cbindgen are TB and FF.  If Fedora is 
still using cbindgen-0.14.3, then if we stay at our current working 
version (0.15.0), that should be good enough until mozilla straightens 
things out.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] cbindgen-0.16.0 and mozilla

2020-12-27 Thread Bruce Dubbs via lfs-dev
I'm running into a problem with cbindgen-0.16.0 first identified by 
renodr. Both Thunderbird and Firefox fail in the same way.


In file included from Unified_cpp_dom_webgpu1.cpp:110:
/build/firefox/firefox-78.6.0/dom/webgpu/ipc/WebGPUParent.cpp: In member 
function ‘mozilla::ipc::IPCResult 
mozilla::webgpu::WebGPUParent::RecvDeviceCreateBindGroup(mozilla::webgpu::RawId, 
const mozilla::webgpu::SerialBindGroupDescriptor&, mozilla::webgpu::RawId)’:
/build/firefox/firefox-78.6.0/dom/webgpu/ipc/WebGPUParent.cpp:426:29: 
error: ‘struct mozilla::webgpu::ffi::WGPUBufferBinding’ has no member 
named ‘_0’


And several more places of "no member named ‘_0’".

make[4]: *** [/build/firefox/firefox-78.6.0/config/rules.mk:748: 
Unified_cpp_dom_webgpu1.o] Error 1
make[3]: *** [/build/firefox/firefox-78.6.0/config/recurse.mk:74: 
dom/webgpu/target-objects] Error 2


...

make[2]: *** [/build/firefox/firefox-78.6.0/config/recurse.mk:34: 
compile] Error 2
make[1]: *** [/build/firefox/firefox-78.6.0/config/rules.mk:390: 
default] Error 2


Reverting to cbindgen-0.15.0 allows both packages to build and run fine.

I did find

https://forums.freebsd.org/threads/building-mail-thunderbird-78-6-0_1-always-fails.78182/

and as best I can tell their solution was to revert to cbindgen-0.15.0.

It also seems like a similar problem with icecat on Arch:

https://aur.archlinux.org/packages/icecat/

Also found https://phabricator.services.mozilla.com/D91572?id=357321

I suppose we ought to leave cbindgen alone until FF and TB get updated, 
but I would like other opinions.


I did find this comment:

https://bugzilla.mozilla.org/show_bug.cgi?id=1667736 - upstream again 
due to rust (seems to be a continuous issue with these f***ing devs, 
just look over the years here in this AUR package comments...always 
something with rust..)



  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] systemd-247

2020-12-25 Thread Bruce Dubbs via lfs-dev

On 12/25/20 12:14 PM, Roger Koehler wrote:

On Fri, Dec 25, 2020 at 11:00 AM Bruce Dubbs  wrote:


On 12/25/20 10:36 AM, Roger Koehler wrote:

Bruce,
I moved my /usr/lib to its own partition and got a kernel panic
because the following shared libraries were not in /lib:

libcrypto.so.1.1
libp11-kit.so.0
libffi.so.7

I don't know what the implications of this are, but I would guess that
you would want to add instructions to the book to either install them
in /lib or move them after install.

I just signed up for the lfs-dev list, but I thought maybe a personal
email for this issue would suffice.


A kernel panic for missing these libraries seems odd.  From the subject
line it looks like you are running systemd?  What were you doing when
the problem came up?   When you moved the files, did it work OK?


Yes. I am using it to write this email. I just did a "sudo cp -r" of
the links and files to /lib.


OK.  Note that libcrypto.so, libp11-kit.so, and libffi.so need to still 
be on /usr/lib because they are used for building/linking software that 
needs them.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] blfs-book-10.0-html.tar.xz and lxqt

2020-12-11 Thread Bruce Dubbs via lfs-dev

On 12/11/20 10:55 PM, scsijon via lfs-dev wrote:
Sorry folks, but downloading this file from your site gives me a 
corrupted file with a not-supported attributes. I've tried it a number 
of times with the same result. The NOCHUNKS version however seems to be ok.


There was a typo in the script that generated that file.  I've fixed the 
script and the tarball so you should download it again.


My intent is to use this as the basis of a LXQT build using the LXQT 
section from 8.2 as a base and then use that as a stepping stone to 
musl/clang/llvm.


You know, I think, that we removed lxqt a few versions ago.

Thanks for the report.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Texinfo no longer recognizes "--disable-static"

2020-12-04 Thread Bruce Dubbs via lfs-dev

On 12/4/20 10:35 AM, Ryan Marsaw via lfs-dev wrote:

Hello all.

Since Texinfo 6.6, the configure switch "--disable-static" is no longer
recognized.  It's safe to remove it from the instructions.  No static
libs are installed now, and the ChangeLog mentions this as well.


Thanks.  I'll do that in my next commit, but it may be a few days.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Issue with GCC after leaving Chroot at end of Chap7 and re-entering it for Chap8

2020-11-18 Thread Bruce Dubbs via lfs-dev

On 11/18/20 11:05 PM, Kevin Buckley via lfs-dev wrote:

On Wed, 18 Nov 2020 at 00:18, Bruce Dubbs via lfs-dev
 wrote:


I am in favor of just removing the strip section in Chapter 7.  Saving
90 MB is not really significant for today's HW.  We say that the user
should have at least 5 GB free, so 90 MB is less than 2% of that.


Despite having tripped over this, I feel that having the section in there,
and the Book does say that it is optional, does give the user some
introductory info, about stripping in general, that they probably won't
get elsewhere unless it is presented there?


It is presented in section 8.77.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Issue with GCC after leaving Chroot at end of Chap7 and re-entering it for Chap8

2020-11-17 Thread Bruce Dubbs via lfs-dev

On 11/17/20 3:41 AM, Pierre Labastie via lfs-dev wrote:

On Tue, 2020-11-17 at 15:45 +0800, Kevin Buckley via lfs-dev wrote:

On Mon, 16 Nov 2020 at 14:49, Kevin Buckley <
kevin.m.buck...@gmail.com> wrote:


Pretty sure this will be an "end-user" issue but, just in case
anyone
has seen something similar and can thus point me in the right
direction,
I have seen this twice now, and i was more careful the second time.

(Note: following the Multilib Book, plus some PkgUser additons)

Get to the end of Chapter 7

Run test compile and readelf interrogations for all three "arch-s"
so

gcc dummy.c
gcc -m32 dummy.c
gcc -mx32 dummy.c

Deep joy.

Exit chroot and umount bind mouted FSes

Backup temporary system

Remount bind mouted FSes

Re-enter chroot

Try to perform a simple

gcc dummy.c

Deep sorrow!


Output from the failed compilation suggest that there's a crtN.o
file, with a GlibC version that has come from the host, being
pulled in.


Thought I'd chuck in the actual error message in case it rings any
bells
for anyone.

GNU C17 (GCC) version 10.2.0 (x86_64-lfs-linux-gnu)
     compiled by GNU C version 10.2.0, GMP version 6.2.0, MPFR
version 4.1.0,
  MPC version 1.2.0, isl version isl-0.22.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-
heapsize=131072
Compiler executable checksum: d384610cfa11eec261f14798a7f678e4
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/bin/a
s -v --64 -o /tmp/cc6W4Vah.o /tmp/ccvqsYQf.s
GNU assembler version 2.35 (x86_64-lfs-linux-gnu) using BFD version
(GNU Binutil
s) 2.35
COMPILER_PATH=/usr/libexec/gcc/x86_64-lfs-linux-
gnu/10.2.0/:/usr/libexec/gcc/x86
_64-lfs-linux-gnu/10.2.0/:
  /usr/libexec/gcc/x86_64-lfs-linux-gnu/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/bin/
LIBRARY_PATH=/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/lib/../lib/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/:
  /lib/../lib/:
  /usr/lib/../lib/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/lib/:
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../:/lib/:
  /usr/lib/
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
  /usr/libexec/gcc/x86_64-lfs-linux-gnu/10.2.0/collect2 -plugin
/usr/libexec/gcc/x86_64-lfs-linux-gnu/10.2.0/liblto_plugin.so
  -plugin-opt=/usr/libexec/gcc/x86_64-lfs-linux-gnu/10.2.0/lto-wrapper
-plugin-opt=-fresolution=/tmp/cctzwl1f.res
  -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc
  -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64
-dynamic-linker /lib64/ld-linux-x86-64.so.2
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/crt1.o
/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/crti.o
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/crtbegin.o
-L/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0
  -L/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/lib/../lib
  -L/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib -
L/lib/../lib
  -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/lib
  -L/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../.. /tmp/cc6W4Vah.o
-lgcc --push-state --as-needed -lgcc_s --pop-state
  -lc -lgcc --push-state --as-needed -lgcc_s --pop-state
/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/crtend.o
  /usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../lib/crtn.o
/usr/lib/gcc/x86_64-lfs-linux-gnu/10.2.0/../../../../x86_64-lfs-
linux-gnu/bin/ld:
  /usr/lib/gcc/x86_64-lfs-linux-
gnu/10.2.0/../../../../lib/crt1.o(.text+0x26):
  unresolvable R_X86_64_NONE relocation against symbol
`__libc_start_main@@GLIBC_2.2.5'
collect2: error: ld returned 1 exit status


Yes, I've seen this. It had something to do with stripping (so 1st
question is: did you strip binaries? Old versions (don't ask the
version, something around 2.28 IIRC) of strip do not recognize some
R_X86_64_xxx relocation items and replace them with R_X86_64_NONE,
which makes the symbol undefined...

The cure is to use $LFS/usr/bin/strip for stripping. I'd say we should
put that in the instructions, actually, or change binutils requirement
to the first version which works.


I am in favor of just removing the strip section in Chapter 7.  Saving 
90 MB is not really significant for today's HW.  We say that the user 
should have at least 5 GB free, so 90 MB is less than 2% of that.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] eudev pkgconfig file

2020-11-16 Thread Bruce Dubbs via lfs-dev

On 11/16/20 10:43 AM, Roger via lfs-dev wrote:

eudev puts udev.pc in /usr/share/pkgconfig; all other packages
use /usr/lib/pkgconfig.

To put udev.pc in /usr/lib/pkgconfig change eudev's "make
install" command to

 make sharepkgconfigdir=/usr/lib/pkgconfig install


You can do that, but see 
https://people.freedesktop.org/~dbn/pkg-config-guide.html


"... references the PKG_CONFIG_PATH environment variable. This variable 
is used to augment pkg-config's search path. On a typical Unix system, 
it will search in the directories /usr/lib/pkgconfig and 
/usr/share/pkgconfig.  This will usually cover system installed modules. 
However, some local modules may be installed in a different prefix such 
as /usr/local. In that case, it's necessary to prepend the search path 
so that pkg-config can locate the .pc files."


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] A small patch to make sysklogd work on startup

2020-11-16 Thread Bruce Dubbs via lfs-dev

On 11/16/20 8:42 AM, Joel Bion via lfs-dev wrote:
It's always bothered me that for some time (perhaps as long as I have 
been using LFS?) that I could not get the kernel symbols properly loaded 
by sysklogd, producing a message sequence like this:


Nov 15 15:45:38 www kernel: klogd 1.5.1, log source = /proc/kmsg started.
Nov 15 15:45:38 www kernel: Inspecting /boot/System.map-5.9.8
Nov 15 15:45:38 www kernel: Cannot find map file.

It's a very minor nuisance, but I didn't like it.

It turns out that sysklogd inspects the System.map file but cannot find 
a particular symbol, one named Version_XX, where XX is the 
encoded Linux version number that corresponds to this map file.


It further turns out that init/version.c is not producing this symbol if 
CONFIG_KALLSYMS is define. Since it usually IS defined (and kind of 
should be, at this point), then this doesn't work.


I am certainly not a kernel expert, but as far as I can see, there's no 
downside to producing this symbol anyway - even if CONFIG_KALLSYMS is 
defined.


So I removed the check for CONFIG_KALLSYMS not being defined, with this 
patch included at the end of this email.


When I boot this kernel, I get the following result:

Nov 16 06:28:51 www kernel: Inspecting /boot/System.map-5.9.8
Nov 16 06:28:51 www kernel: Loaded 116685 symbols from 
/boot/System.map-5.9.8.

Nov 16 06:28:51 www kernel: Symbols match kernel version 5.9.8.

Again, I don't know if I am creating unintended side-effects by allowing 
this symbol to be defined. I mean, there must have been SOME reason to 
remove the generation of the "Version_" symbol if KALLSYMS is defined - 
but I couldn't find it.


Thoughts?

-Joel

diff -Naur linux-5.9.8.orig/init/version.c linux-5.9.8/init/version.c
--- linux-5.9.8.orig/init/version.c 2020-11-10 12:16:17.0 -0800
+++ linux-5.9.8/init/version.c  2020-11-16 06:15:48.559481272 -0800
@@ -16,13 +16,11 @@
  #include 
  #include 

-#ifndef CONFIG_KALLSYMS
  #define version(a) Version_ ## a
  #define version_string(a) version(a)

  extern int version_string(LINUX_VERSION_CODE);
  int version_string(LINUX_VERSION_CODE);
-#endif

  struct uts_namespace init_uts_ns = {
     .kref = KREF_INIT(2),


Interesting.  I took a look at sysklogd-1.5.1/ksym.c and it may be 
easier to just comment out line 226.  A comment in the CHANGES file says:


- Rewrote the module symbol parser to read from /proc/kallsyms
...
- Only read kernel symbols from /proc/kallsyms if no System.map has been

So if /proc/kallsyms exists (I suspect from the definition of KALLSYMS 
in the kernel configuration), then symbols are taken from there.  I 
suspect that is preferable as it is more dynamic and would include 
symbols from loaded modules.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Formatting of Package download URIs

2020-11-12 Thread Bruce Dubbs via lfs-dev

On 11/12/20 12:37 AM, Kevin Buckley via lfs-dev wrote:

On Wed, 11 Nov 2020 at 23:57, Xi Ruoyao via lfs-dev
 wrote:


Adding a link in package page will make it easier when some LFS package need to
be upgraded in a completed system.
--


Not sure that that's enough of a justification for having a
BLFS style meta-info block, simply because the link is
going to be version specific, and so the reader would still
have to traverse the original path to find the newest version.


When LFS was originally developed, a single URL was deemed sufficient. 
When BLFS was started we wanted an ftp URL because LFS had an ftp 
client, but we also wanted to offer http access.


Over the years, upstream has changed and sometimes the ftp servers were 
dropped or http access added.


In addition, we have also created tools for things like currency checks 
and automated building that depend on the current formats.  Changing 
these tools would be a lot more work than just the appearance of the pages.


What we have now works and honestly benefit of the suggested changes 
does not justify the effort required.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Formatting of Package download URIs

2020-11-11 Thread Bruce Dubbs via lfs-dev

On 11/11/20 3:21 AM, Kevin Buckley via lfs-dev wrote:

I was recently trying to generate a downlaod listing of the packages I had used
when building my Pkguser based 9.1 system, inclduing the BLFS components
that I'd merged into a single book.

FWIW, so as to see what I needed to download from BLFS 10.0

I noticed that in BLFS, where the package download URIs are presented within the
packages section, one ends up with entries akin to  (links/lynx dump output)

* Download (HTTP): https://www.domain.tld/path/to/taball.tar.xz
* Download (FTP): ftp://ftp.domain.tld/path/to/taball.tar.xz

however, in the LFS Book, where all of the package tarball URIs are listed in
the one section, it's just

* Download: https://www.domain.tld/path/to/taball.tar.xz

or, for the odd package,

* Download: ftp://ftp.domain.tld/path/to/taball.tar.xz

I'm aware that there is no reason the LFS and BLS books should exhibit any
consistency, but was wondering if having the LFS Book "adopt" the BLFS
markup might be doable, or rather, if there was anything in way that the
package download listing is generated that might prevent it being done?


The design of LFS is that all the packages are expected to be built.  In 
BLFS, the user chooses what packages to build.


Another issue with LFS is that there are packages only built in the 
chroot environment. Downloading a package in chroot is not really 
practical.


Also I'll note that users of the stable book can download everything 
with a single wget command in Chapter 3.1 or one tarball from 
ftp://ftp.osuosl.org/pub/lfs/lfs-packages/ or its mirrors.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] sysklogd replacement

2020-10-30 Thread Bruce Dubbs via lfs-dev

On 10/30/20 11:00 AM, Tim Tassonis via lfs-dev wrote:



On 10/29/20 1:31 PM, Bruce Dubbs via lfs-dev wrote:

On 10/29/20 12:49 AM, Geoff Swan via lfs-dev wrote:

Hi,

I've build many LFS systems using sysklogd as per the book. However new
remote logging systems are asking for logging features that sysklogd
does not possess.
These include port changes (other than what is in /etc/services, which
is where syklogd picks up its port) and logs being sent over TCP with
TLS on a configurable port (RFC5424/25).
I examined a couple of replacements and see that rsyslog appears to
include these features .
Before starting on replacing the logger in my system build I thought I'd
ask the question as to whether any thoughts had been given to upgrading
LFS from sysklogd to a more modern package for remote logging?


It's something to consider.  I don't think many users actually use 
remote logging over TLS, but it would be nice to have that available.


If you do add rsyslog, would you please get back to us to let us know 
anything you find out including build and configuration instructions. 
We probably would not add instructions for remote logging to the book, 
but a hint for that would be appropriate.


I do that for myself for years, as I need the additional features 
rsyslog brings, so I can contribute some build scripts, if needed.


Be aware thought that rsyslog is a bit of a maintenance nightmare, as it 
requires at least three separate libraries by the same author, which are 
not used by anyone/anything else in the whole wide world, and are not 
included in the source distribution of rsyslog.


I have created a scripts that pre-builds them statically inside the 
rsyslog source tree, in order not to bloat my system with the 
unnecessary overhead of three libraries only needed by it:



LIBE=`pwd`/libe export LIBE

tar xf /lfs-src/libestr-0.1.10.tar.gz
cd libestr-0.1.10
./configure --prefix=$LIBE --enable-static --disable-shared --with-pic
make || ext
make install

cd ..
tar xf /lfs-src/libee-0.4.1.tar.gz
cd libee-0.4.1
PKG_CONFIG_PATH=$LIBE/lib/pkgconfig ./configure --prefix=$LIBE 
--enable-static --disable-shared --with-pic

make || exit
make install
cd ..

tar xf /lfs-src/libfastjson-0.99.8.tar.gz
cd libfastjson-0.99.8
PKG_CONFIG_PATH=$LIBE/lib/pkgconfig ./configure --prefix=$LIBE 
--enable-static --disable-shared --with-pic



make || exit
make install
cd ..


# and finally rsyslog
PKG_CONFIG_PATH=$LIBE/lib/pkgconfig ./configure --prefix=/usr 
--disable-libgcrypt --disable-liblogging-stdlog


Thanks Tim.  I don't think we want to add that much overhead to LFS, but 
I'll listen to other opinions.  A hint or possibly a BLFS page seems 
more appropriate.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] sysklogd replacement

2020-10-29 Thread Bruce Dubbs via lfs-dev

On 10/29/20 12:49 AM, Geoff Swan via lfs-dev wrote:

Hi,

I've build many LFS systems using sysklogd as per the book. However new
remote logging systems are asking for logging features that sysklogd
does not possess.
These include port changes (other than what is in /etc/services, which
is where syklogd picks up its port) and logs being sent over TCP with
TLS on a configurable port (RFC5424/25).
I examined a couple of replacements and see that rsyslog appears to
include these features .
Before starting on replacing the logger in my system build I thought I'd
ask the question as to whether any thoughts had been given to upgrading
LFS from sysklogd to a more modern package for remote logging?


It's something to consider.  I don't think many users actually use 
remote logging over TLS, but it would be nice to have that available.


If you do add rsyslog, would you please get back to us to let us know 
anything you find out including build and configuration instructions. 
We probably would not add instructions for remote logging to the book, 
but a hint for that would be appropriate.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Adding attributes in the source XML

2020-10-06 Thread Bruce Dubbs via lfs-dev

On 10/6/20 7:59 PM, Kevin Buckley via lfs-dev wrote:

On Tue, 6 Oct 2020 at 20:03, Pierre Labastie via lfs-dev
 wrote:




Where should such a declaration go?


The attribute has to be declared in the dtd (document type definition),
where anything pertaining to the xml document is declared (not only
attributes, but also tags and their content). For our docbook xml
sources, the dtd is pretty big, and comes from docbook. So you should
look at https://tdg.docbook.org/tdg/4.5/docbook.html, which gives the
details and the use of all tags and attributes. "revision" and "arch"
are attributes defined in the dtd. "pkguser" is not. But maybe,
condition="pkguser" could be used, since condition is a declared
attribute (
https://tdg.docbook.org/tdg/4.5/ref-elements.html#common.attributes),
and the stringparam profile.condition="pkguser" for profiling. Another
attribute name could be "userlevel"... Note that any attribute name
declared in the dtd could be used provided _you_ know what you use it
for, if you do not want to share your work.

Pierre



and Thomas echoed pointed out


Those attributes like 'arch', 'revision' etc. are defined somewhere in
the deepness of docbook. You cannot simply introduce new ones by
adding them to the string parameter list for the renderer. All the
attributes used in the {B,}LFS-book are predefined ones.

You may have allready seen the pages at
http://www.sagehill.net/docbookxsl/AddProfileAtt.html - the talk about
"how easy it is to add". Well, i didn't find it that easy, maybe you
have more luck.

--
Thomas


which suggests I missed picking up the knowledge as regards 'arch' and
'revision' NOT being something that LFS had added.

Wow!

All this time, and I had assumed that LFS had extended the Schema/DTD
so as to use certain attributes that appeared specific to LFS.

Cheers for pointing that out: I'll "make other plans" !


See https://tdg.docbook.org/tdg/4.5/ref-elements.html#common.attributes 
for the defined attributes.   To translate those attributes to html you 
still need a custom xsl like stylesheets/lfs-chunked.xsl and the files 
in stylesheets/lfs-xsl/.  Learning xsl is definitely a non-trivial task. 
 It is not a procedural language.  Generally we try to avoid changing 
the xsl due to its complexity.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] connecting to the web in Ch 7 and 8

2020-10-02 Thread Bruce Dubbs via lfs-dev

On 10/2/20 8:46 AM, John Burrell via lfs-dev wrote:

If you use a script(s) to install LFS (majority here?) you might
consider it best to download the sources through the scripts rather
than storing them all up front before running the scripts. I've been
playing with this and found that it is straightforward to do. What I
did:

You need to install wget at the end of Ch 6. This requires openssl to
be installed first.

The commands for openssl are:

./config --prefix=/usr \
  --openssldir=/etc/ssl \
  --libdir=lib  \
  shared

make

sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make DESTDIR=$LFS MANSUFFIX=ssl install

I don't know if all these are strictly necessary, but these are what I
used, based on what is in Ch 8.

I added these as 058-openssl at the end of lfs-commands/chapter06,
after gcc-pass2.

The commands for wget are:

PKG_CONFIG_PATH=$LFS/usr/lib/pkgconfig \
 ./configure --prefix=/usr \
 --with-ssl=openssl \
 --host=$LFS_TGT \
 --build=$(build-aux/config.guess)

make

make DESTDIR=$LFS install

These were added as 059-wget in chapter06. I needed PKG_CONFIG_PATH in
order for wget to find openssl.

Notice that openssl doesn't have a config.guess script but this didn't
stop it compiling.

Once wget is installed all you need is /etc/resolv.conf, specifying
the nameserver, to connect to the web in Ch 7 and 8. Easy?

There are no certificates installed but sites like Perl need
--no-check-certificate to download.

So it's a fairly painless solution to get your scripts to download the
sources at install time when you're in chroot. Of course, where a
source file is needed more than once, gcc, binutils and some in Ch 8,
you don't need to download them again.

Downsides?


Seems pretty complicated for a first time user.  An experienced user 
knows that many of the packages do not change often and they would 
already have those unchanged packages.


Also it is easier to just use the wget-list at 
http://www.linuxfromscratch.org/lfs/downloads/development/ (or the 
stable version) and get everything right up front in chapter 3.


For stable versions of LFS the user can download all packages in one 
tarball at ftp://ftp.osuosl.org/pub/lfs/lfs-packages/


Another alternative is to use jhalfs which has the option of downloading 
sources for you.


That said, if you want to roll your own methods, that's fine.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] LFS source md5sums

2020-09-28 Thread Bruce Dubbs via lfs-dev

On 9/28/20 11:46 AM, John Burrell via lfs-dev wrote:

On Mon, 28 Sep 2020 at 16:42, Bruce Dubbs via lfs-dev
 wrote:


On 9/28/20 10:13 AM, John Burrell via lfs-dev wrote:

I downloaded the SYSTEMD book and got the wget-list and md5sums files with:

make -j1 -f ${REPODIR}/Makefile -C $REPODIR BASEDIR=$SourceDir
${SourceDir}/wget-list ${SourceDir}/md5sums

which produces the correct wget-list file but the md5sums file is for
the 'sysv" version of the book. e.g. no dbus and systemd files, viz:

fcafcecde5a380415b12e9c574e0b2  check-0.15.2.tar.gz
022042695b7d5bcf1a93559a9735e668  coreutils-8.32.tar.xz
e1b07516533f351b3aba3423fafeffd6  dejagnu-1.6.2.tar.gz
4824adc0e95dbbf11dfbdfaad6a1e461  diffutils-3.7.tar.xz

6d906edfdb3202304059233f51f9a71d  sed-4.8.tar.xz
4b05eff8a427cf50e615bda324b5bc45  shadow-4.8.1.tar.xz
c70599ab0d037fde724f7210c2c8d7f8  sysklogd-1.5.1.tar.gz
e11bc4b3eac6e6ddee7f8306230749a9  sysvinit-2.97.tar.xz

So is there a problem with my make command or a problem with the Makefile?


What does your package,ent file show.  It should be:





https://libcheck.github.io/check;>



Somehow you are missing the leading 50 for check.

To make the systemd book, use 'make REV=systemd'

-- Bruce
--

yep, that's what I've got:





https://libcheck.github.io/check;>



so the 50 is there, but not in the md5sums file.
It's definitely the systemd book. Here is the start of general.ent:


  
 








The source xml is the same for both books.  Chapter 3 does differentiate 
the packages when generated.  The wget-list file is generic and includes 
all files for both books.  The md5sum file is specific to systemd or 
system V.


The default book is System V.

The packages that are specific to systemd are dbus and systemd/systemd 
man pages. The packages that are specific to System V are eudev, 
lfs-bootscripts, sysklogd, sysvinit, and udev-lfs.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] LFS source md5sums

2020-09-28 Thread Bruce Dubbs via lfs-dev

On 9/28/20 10:13 AM, John Burrell via lfs-dev wrote:

I downloaded the SYSTEMD book and got the wget-list and md5sums files with:

make -j1 -f ${REPODIR}/Makefile -C $REPODIR BASEDIR=$SourceDir
${SourceDir}/wget-list ${SourceDir}/md5sums

which produces the correct wget-list file but the md5sums file is for
the 'sysv" version of the book. e.g. no dbus and systemd files, viz:

fcafcecde5a380415b12e9c574e0b2  check-0.15.2.tar.gz
022042695b7d5bcf1a93559a9735e668  coreutils-8.32.tar.xz
e1b07516533f351b3aba3423fafeffd6  dejagnu-1.6.2.tar.gz
4824adc0e95dbbf11dfbdfaad6a1e461  diffutils-3.7.tar.xz

6d906edfdb3202304059233f51f9a71d  sed-4.8.tar.xz
4b05eff8a427cf50e615bda324b5bc45  shadow-4.8.1.tar.xz
c70599ab0d037fde724f7210c2c8d7f8  sysklogd-1.5.1.tar.gz
e11bc4b3eac6e6ddee7f8306230749a9  sysvinit-2.97.tar.xz

So is there a problem with my make command or a problem with the Makefile?


What does your package,ent file show.  It should be:



"/libcheck/check/releases/download//check-.tar.gz">


https://libcheck.github.io/check;>



Somehow you are missing the leading 50 for check.

To make the systemd book, use 'make REV=systemd'

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Minor suggestion for 7.14. Cleaning up and Saving the Temporary System

2020-09-25 Thread Bruce Dubbs via lfs-dev

On 9/25/20 10:39 AM, Tim Tassonis via lfs-dev wrote:

Hi all

In 7.14, the book recommends to remove the temporary domumentation, by

rm -rf /usr/share/{info,man,doc}/*


I think the same could be done with the locale files, by

find /usr/share/locale -name "*.mo" -delete

This would save another 70 MB of disk space. I highly doubt anyone would 
want to perform chapter 8 in a different language, and after that, they 
all got re-installed.


But what would that really save if the files are going to be immediately 
replaced in Chapter 8?  I suppose that it might save a little space in 
the backup tarball if the user is going to create that, but is it a 
significant amount of space if it is compressed?


If I were going remove the locale files, I would change:

rm -rf /usr/share/{info,man,doc}/*

to

rm -rf /usr/share/{info,man,doc,locale}/*

I don't have a partial LFS build at the present, but on a more complete 
LFS/BLFS system my /usr/share/locale directory tree is 341M, but a 
compressed tarball is only 57M for about a 6:1 compression ratio.


I would like to hear the opinion of others.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] TCL and Perl manpage clash

2020-09-22 Thread Bruce Dubbs via lfs-dev

On 9/22/20 2:25 AM, Kevin Buckley via lfs-dev wrote:

On Sun, 13 Sep 2020 at 14:59, Bruce Dubbs via lfs-dev
 wrote:


On 9/12/20 9:35 PM, Kevin Buckley via lfs-dev wrote:

One of those things you probably only notice if you are doing
a PkgUser type build, as a root build will simply see the file
overwritten without any warning, but wanted to point out that

Chapter 8's TCL installs this manpage

/usr/share/man/man3/Thread.3

and then Perl will also want to install its own version of that file.

The content is different.

I renamed the TCL one, on the assumption that I am more
likely to want to read the Perl one!


Indeed.  I'll add a command to rename that page to Tcl_Thread.3

-- Bruce


Just came across a "do you want a Tcl manpage or a system one" at
work and, in recalling this thread, noticed that the Tcl manpage was
the one in "n", whilst the system one, in this case, was in 8.

I thought to check what that system made of a "man Thread" and was
offered

  * Thread (3pm)
thread (n)
Man: What manual page do you want?

Might there be a case for installing all Tcl manpages into the mann
directory?


I think we should keep things as close as possible to what upstream has. 
 Users can always find a particular man page with the apropos command.


  -- Bruce






--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] TCL and Perl manpage clash

2020-09-13 Thread Bruce Dubbs via lfs-dev

On 9/12/20 9:35 PM, Kevin Buckley via lfs-dev wrote:

One of those things you probably only notice if you are doing
a PkgUser type build, as a root build will simply see the file
overwritten without any warning, but wanted to point out that

Chapter 8's TCL installs this manpage

/usr/share/man/man3/Thread.3

and then Perl will also want to install its own version of that file.

The content is different.

I renamed the TCL one, on the assumption that I am more
likely to want to read the Perl one!


Indeed.  I'll add a command to rename that page to Tcl_Thread.3

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] host /usr/share/config.site may break build

2020-09-04 Thread Bruce Dubbs via lfs-dev

On 9/4/20 2:30 AM, Pierre Labastie via lfs-dev wrote:

On Fri, 2020-09-04 at 00:47 -0500, Bruce Dubbs via lfs-dev wrote:

On 9/3/20 10:53 PM, Xi Ruoyao via lfs-dev wrote:

Now we are using --prefix=/usr in "Ch. 6 Cross Compiling Temporary
Tools".  The
problem is that configure scripts (generated by autoconf) will try
to load
${prefix}/share/config.site and ${prefix}/etc/config.site.  These
things are
really "powerful" - they can even override some command line
options.

"/usr/etc" should not exist on any FHS-compilant distro, but
"/usr/share/config.site" exists on many distros.

My suggestion is to add `export CONFIG_SITE=/dev/null` in
/home/lfs/.bashrc.  It
would override the default config.site search rule.


I don't know that we have ${prefix}/etc/config.site.  I do  not.  I
do
have /usr/etc/xdg/autostart/xfce4-notifyd.desktop that was installed
yesterday when I updated xfce4-notifyd.

We probably need to specify --sysconfdir=/etc for that.



As an example, fedora has /usr/share/config.site in the autoconf
package. This one is smart and is skipped in case of cross compilation,
but just in case, I second Xi Ruoyao's proposal. Or even to have

CONFIG_SITE=$LFS/usr/share/config.site

We might then create a config.site for our own use, for example with
prefix=/usr
sysconfdir=/etc
localestatedir=/var
sharedstatedir=/var

That would prevent the need to have those in the configure commands...


It would hide those entries.  I'd rather be specific in the book.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] host /usr/share/config.site may break build

2020-09-04 Thread Bruce Dubbs via lfs-dev

On 9/3/20 10:53 PM, Xi Ruoyao via lfs-dev wrote:

Now we are using --prefix=/usr in "Ch. 6 Cross Compiling Temporary Tools".  The
problem is that configure scripts (generated by autoconf) will try to load
${prefix}/share/config.site and ${prefix}/etc/config.site.  These things are
really "powerful" - they can even override some command line options.

"/usr/etc" should not exist on any FHS-compilant distro, but
"/usr/share/config.site" exists on many distros.

My suggestion is to add `export CONFIG_SITE=/dev/null` in /home/lfs/.bashrc.  It
would override the default config.site search rule.


I don't know that we have ${prefix}/etc/config.site.  I do  not.  I do 
have /usr/etc/xdg/autostart/xfce4-notifyd.desktop that was installed 
yesterday when I updated xfce4-notifyd.


We probably need to specify --sysconfdir=/etc for that.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] gcc-9.2.0 test suite

2020-09-02 Thread Bruce Dubbs via lfs-dev

On 9/2/20 3:04 PM, Tree Davies via lfs-dev wrote:

On Wed, Sep 02, 2020 at 06:56:31PM +0200, Pierre Labastie via lfs-dev wrote:

On Wed, 2020-09-02 at 07:52 -0700, Tree Davies via lfs-dev wrote:

Hi Everyone,

I automated my LFS build, and haven't had any issue with it. The
other day
during a rebuild, I notiiced that I had been running the gcc test
suite
as the root user. So I fixed it as in the intructions:
http://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter06/gcc.html

But now the test suite fails.
The output: https://pastebin.com/jaqP9b5Y


At line 6, it seems there is a "cd ..".
It looks like this just follows the "chown -Rv nobody ." line.

This is not what is in the book. Maybe you have a typo in your script?

Pierre

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


I think it might have something to do with the nobody user.
the instructions being run are:
```
rm ../gcc/testsuite/g++.dg/pr83239.C
chown -Rv nobody .
su nobody -s /bin/bash -c "PATH=$PATH make -k check"
```
When run as root 'make -k check', has no issue.


Did you create the nobody user?

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] LFS and BLFS Version 10.0 are released

2020-09-01 Thread Bruce Dubbs via lfs-dev
The Linux From Scratch community is pleased to announce the release of 
LFS Version 10.0, LFS Version 10.0 (systemd), BLFS Version 10.0, and 
BLFS Version 10.0 (systemd).


This release is a major update to both LFS and BLFS.

The LFS release includes updates to glibc-2.31, and binutils-2.34. A 
total of 35 packages have been updated. A new package, zstd-1.4.4, has 
also been added. Changes to text have been made throughout the book. The 
Linux kernel has also been updated to version 5.5.3.


The BLFS version includes approximately 1000 packages beyond the base 
Linux From Scratch Version 9.1 book. This release has over 840 updates 
from the previous version in addition to numerous text and formatting 
changes.


Thanks for this release goes to many contributors.  Notably:

Douglas Reno
DJ Lucas
Ken Moffat
Thomas Trepl
Pierre Labastie
Tim Tassonis
Xi Ruoyao

You can read the books online[0]-[3], or download[4]-[7] to read locally.

Please direct any comments about this release to the LFS development
team at lfs-...@linuxfromscratch.org or blfs-...@linuxfromscratch.org. 
Registration for the mailing lists is required to avoid junk email.


  -- Bruce Dubbs
 LFS

[0] http://www.linuxfromscratch.org/lfs/view/10.0/
[1] http://www.linuxfromscratch.org/blfs/view/10.0/
[2] http://www.linuxfromscratch.org/lfs/view/10.0-systemd/
[3] http://www.linuxfromscratch.org/blfs/view/10.0-systemd/

[4] http://www.linuxfromscratch.org/lfs/downloads/10.0/
[5] http://www.linuxfromscratch.org/blfs/downloads/10.0/
[6] http://www.linuxfromscratch.org/lfs/downloads/10.0-systemd/
[7] http://www.linuxfromscratch.org/blfs/downloads/10.0-systemd/
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Typos

2020-08-28 Thread Bruce Dubbs via lfs-dev

On 8/28/20 10:29 AM, Julien Lepiller via lfs-dev wrote:

Same file (sorry for sending two messages…) "This then creates the specified directory if is 
is not" (should be "it is").


Both fixed.  Thanks.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Very minor issue with bzip2 instructions

2020-08-23 Thread Bruce Dubbs via lfs-dev

On 8/23/20 3:44 PM, DJ Lucas via lfs-dev wrote:
/lib/libbz2.so.1.0 is not a symlink but a hard link. In the grand scheme 
of things, it doesn't matter, any real difference (again, super minor) 
only shows up when packaging.


Suggest changing the following:

cp -av libbz2.so* /lib
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so

to

cp -av libbz2.so.1.0.8 /lib
ln -sv libbz2.so.1.0.8 /lib/libbz2.so.1.0
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so


Is this the wrong list?  bzip2 is in LFS.

In any case I have:

lrwxrwxrwx 1 root root15 Aug 14 14:20 /lib/libbz2.so.1.0 -> 
libbz2.so.1.0.8

-rwxrwxr-x 1 root root 75056 Aug 14 18:27 /lib/libbz2.so.1.0.8

$ ll /usr/lib/libbz*
lrwxrwxrwx 1 root root 23 Aug 14 14:20 /usr/lib/libbz2.so -> 
../../lib/libbz2.so.1.0


I don't see a hard link.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Comments on the expected test results in the book

2020-08-21 Thread Bruce Dubbs via lfs-dev

On 8/21/20 4:40 PM, Ken Moffat via lfs-dev wrote:

I've now run the full set of tests on three different builds of
10.1-rc1, and I'm almost in agreement about the expected results.

Two builds were on ryzen.  Those used -O3 throughout, even in gcc
where I had stopped doing that because of failures I described as in
the torture tests.  Reinstated because on a semi-decent development
machine I want to build more quickly.  The other build was one my i3
skylake using -O2 - it's not a main development machine.

The following packages still cause me to query what the book says:

tcl: I still think that the line
  Files with failing tests: http.test httpold.test
should be mentioned in addition to the clock test (which exits with
errors).

gcc: I get two additional failures in libstdc++ on all three
machines,

FAIL: 20_util/unsynchronized_pool_resource/allocate.cc execution test
FAIL: 22_locale/numpunct/members/char/3.cc execution test

Totals for unexpected failures in my builds:
  -O2   -O3
  g++  1717 and 18
  gcc   721
  libstdc++ 8 8

So, using -O3 still breaks some more gcc torture tests (but the
build seems to work well).  But I think those two extra libstdc++
failures ought to be mentoned.

Python: for me, test_normalization passed on each build.  Not sure
if it still fails for you guys ?

coreutils: We say test-getlogin is known to fail, but in each of my
builds I have:
SKIP: test-getlogin

util-linux: we pass -k to make check without specifying any details.
For me, column/invalid multibyte failed on each of my builds.

Apart from these minor details of what to expect, this is now all
looking really good.  I'll also mention that for inetutils, where
libls _may_ fail, it failed on the O2 build and one of the O3
builds, but not on the other O3 build.


We are still working on tags fo rBLFS, so I opened a ticket on LFS so we 
don't forget.


http://wiki.linuxfromscratch.org/lfs/ticket/4720

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] M4 in chapter 6 fails to compile

2020-08-20 Thread Bruce Dubbs via lfs-dev

On 8/20/20 11:28 AM, John Burrell via lfs-dev wrote:

I get this result

make[3]: Entering directory '/mnt/lfs/build/m4/m4-1.4.18/lib'
   CC   gl_avltree_oset.o
   CC   binary-io.o
   CC   c-ctype.o
   CC   c-stack.o
   CC   c-strcasecmp.o
   CC   c-strncasecmp.o
   CC   clean-temp.o
In file included from /mnt/lfs/usr/include/stdlib.h:1018,
  from ./stdlib.h:36,
  from clean-temp.c:29:
/mnt/lfs/usr/include/bits/stdlib.h: In function 'wctomb':
/mnt/lfs/usr/include/bits/stdlib.h:91:3: error: #error "Assumed value
of MB_LEN_MAX wrong"
91 | # error "Assumed value of MB_LEN_MAX wrong"
   |   ^
make[3]: *** [Makefile:1910: clean-temp.o] Error 1
make[3]: Leaving directory '/mnt/lfs/build/m4/m4-1.4.18/lib'
make[2]: *** [Makefile:1674: all] Error 2

Arch applies quite a substantial patch which allows it to compile. I
don't know which bit of the patch fixes the above problem I'm afraid


Something weird on your host.  MB_LEN_MAX should be defined as 16.  Try 
to figure out where it is defined differently.


Tell us about your host.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Typos

2020-08-20 Thread Bruce Dubbs via lfs-dev

On 8/20/20 10:46 AM, Alexey Orishko via lfs-dev wrote:

On Wed, Aug 19, 2020 at 6:05 PM Julien Lepiller via lfs-dev
 wrote:


Thank you! More work for my translation though ^^




Fixed "optain", "envirnment", along with several other typos found by enchant at
r12029.


Just in case I found one in "10.4.1. Introduction" rc1:
... with the CONFIG_EFI_STUB *capabality* described 


Fixed.  Thanks.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] SVN 2020-08-11 chapter 8.4 tcl

2020-08-19 Thread Bruce Dubbs via lfs-dev

On 8/19/20 9:24 PM, Kevin Buckley via lfs-dev wrote:


Either way, actually, given the four PoIs above, make that, whichever way,
the LFS 10.0 TCL would seem to need a little more work, as it is missing
the manual installation of the HTML docs.


I came to realize that earlier today.  It will be done before the final 
release.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] LFS-10.0-rc1 is released

2020-08-15 Thread Bruce Dubbs via lfs-dev

The Linux From Scratch community announces the release of LFS Version
10.0-rc1. It is a preliminary release of LFS-10.0.

This version of the book has undergone a major reorganization.  It uses
enhanced cross-compilation techniques and an environment isolated from 
the host system to build tools for the final system. This reduces both 
the chance for changing the the host system and the potential of the 
host system influencing the LFS build process.


Major changes include toolchain updates to binutils-2.35, gcc-10.2.0, 
and glibc-2.32. In total, 37 packages were updated since the last 
release. Changes to the text have also been made throughout the book. 
The Linux kernel has also been updated to version 5.8.1.


We encourage all users to read through this release of the book and test
the instructions so that we can make the final release as good as possible.

You can read the book online [0], or download [1] to read locally.

In coordination with this release, a new version of LFS using the 
systemd package is also being released. This package implements the 
newer systemd style of system initialization and control and is 
consistent with LFS in most packages.


You can read the systemd version of the book online [2], or download [3]
to read locally.

   -- Bruce

[0] http://www.linuxfromscratch.org/lfs/view/10.0-rc1/
[1] http://www.linuxfromscratch.org/lfs/downloads/10.0-rc1/
[2] http://www.linuxfromscratch.org/lfs/view/10.0-systemd-rc1/
[3] http://www.linuxfromscratch.org/lfs/downloads/10.0-systemd-rc1/
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] Heads Up - Pending LFS-10.0-rc1 release

2020-08-14 Thread Bruce Dubbs via lfs-dev
I am planning on committing Pending LFS-10.0-rc1 tomorrow.  There are a 
few changes to the current development system (linux-5.8.1, 
iproute2-5.8.0, libpipeline-1.5.3, and man-pages-5.08) but these really 
shouldn't affect what is in the current development book much.  There is 
a possibility that one or more new LFS package versions will be 
committed today and I will add those also.


At -rc1 release, we will go into package freeze for LFS and only really 
major updates to LFS will be considered.


We will also at the same time start the building/testing process for 
BLFS.  There we test the book packages against the LFS release candidate 
and tag each package as we go.


New package versions can be updated in BLFS if they are not yet tagged, 
but we will freeze any tagged versions.


Target date for LFS/BLFS 10.0 is September 1st.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Typo: chapter04/settingenviron.xml

2020-08-14 Thread Bruce Dubbs via lfs-dev

On 8/14/20 2:46 AM, Kevin Buckley via lfs-dev wrote:

chapter04/settingenviron.xml, Line 35

-  shell, which does not read, and execute, the conten of
/etc/profile or

+  shell, which does not read, and execute, the content of
/etc/profile or


Thatks you.  Will fix, but it should be 'contents'.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Perl privlib is putting core modules in /usr/share

2020-08-13 Thread Bruce Dubbs via lfs-dev

On 8/13/20 11:32 PM, Kevin Buckley wrote:

On Fri, 14 Aug 2020 at 11:48, Bruce Dubbs via lfs-dev
 wrote:


I might have missed this in the email thread but why does the change,
which I've seen at r12020, hard-code the version number and not use
the entity  ?

...

.34 later versions?


Probably an oversight.  I'll fix it, but when I make the change for -rc1
on Saturday.



One other thing I think I've spotted at, r12020, as regards that Perl fix then:

:BOOK$ grep -A8 Dprefix= chapter07/perl.xml
  -Dprefix=/usr   \
  -Dvendorprefix=/usr \
  -Dprivlib=/usr/lib/perl5/5.32/core_perl \
  -Darchlib=/usr/lib/perl5/5.32/core_perl \
  -Dsitelib=/usr/lib/perl5/5.32/site_perl \
  -Dsitearch=/usr/lib/perl5/5.32/site_perl\
  -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl \
  -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl

:BOOK$ grep -A8 Dprefix= chapter08/perl.xml
  -Dprefix=/usr\
  -Dvendorprefix=/usr  \
  -Dprivlib=/usr/lib/perl5/5.32/core_perl  \
  -Darchlib=/usr/lib/perl5/5.32/core_perl  \
  -Dsitelib=/usr/lib/perl5/5.32/site_perl  \
  -Dsitearch=/usr/lib/perl5/5.32/site_perl \
  -Dvendorlib=/usr/share/perl5/vendor_perl \
  -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl \
  -Dman1dir=/usr/share/man/man1\

where the vendorlib define is different between the two chapters ?


Yes, I'll address that too.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Perl privlib is putting core modules in /usr/share

2020-08-13 Thread Bruce Dubbs via lfs-dev

On 8/13/20 10:29 PM, Kevin Buckley via lfs-dev wrote:


I've also install git using a sed to put the modules into
/usr/lib/perl5/5.32/site_perl..

All of perl itself is in /usr/lib/perl5/5.32/core_perl, all the
extra modules are in /usr/lib/perl5/5.32/site_perl).

I think we ought to change the book to do this, but I'm not sure
everyone has read htis thread - I'll raise a ticket.

ĸen


I might have missed this in the email thread but why does the change,
which I've seen at r12020, hard-code the version number and not use
the entity  ?

This is a diff from my on-disk versions:

--- LFS-r12002/chapter07/perl.xml   2020-07-18 11:25:51.172416499 +0800
+++ LFS-r12020/chapter07/perl.xml   2020-08-14 09:29:08.815665198 +0800
@@ -45,15 +45,15 @@

  Prepare Perl for compilation:

-sh Configure -des
  \
- -Dprefix=/usr\
- -Dvendorprefix=/usr  \
- -Dprivlib=/usr/share/perl5/core_perl \
- -Darchlib=/usr/lib/perl5//core_perl  \
- -Dsitelib=/usr/share/perl5/site_perl \
- -Dsitearch=/usr/lib/perl5//site_perl \
- -Dvendorlib=/usr/share/perl5/vendor_perl \
- 
-Dvendorarch=/usr/lib/perl5//vendor_perl
+sh Configure -des
 \
+ -Dprefix=/usr   \
+ -Dvendorprefix=/usr \
+ -Dprivlib=/usr/lib/perl5/5.32/core_perl \
+ -Darchlib=/usr/lib/perl5/5.32/core_perl \
+ -Dsitelib=/usr/lib/perl5/5.32/site_perl \
+ -Dsitearch=/usr/lib/perl5/5.32/site_perl\
+ -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl

  
The meaning of the new Configure options:


--- LFS-r12002/chapter08/perl.xml   2020-07-18 11:25:51.160422501 +0800
+++ LFS-r12020/chapter08/perl.xml   2020-08-14 09:29:08.735665198 +0800
@@ -58,12 +58,12 @@
   sh Configure -des
   \
   -Dprefix=/usr\
   -Dvendorprefix=/usr  \
- -Dprivlib=/usr/share/perl5/core_perl \
- -Darchlib=/usr/lib/perl5//core_perl  \
- -Dsitelib=/usr/share/perl5/site_perl \
- -Dsitearch=/usr/lib/perl5//site_perl \
+ -Dprivlib=/usr/lib/perl5/5.32/core_perl  \
+ -Darchlib=/usr/lib/perl5/5.32/core_perl  \
+ -Dsitelib=/usr/lib/perl5/5.32/site_perl  \
+ -Dsitearch=/usr/lib/perl5/5.32/site_perl \
   -Dvendorlib=/usr/share/perl5/vendor_perl \
- -Dvendorarch=/usr/lib/perl5//vendor_perl \
+ -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl \
   -Dman1dir=/usr/share/man/man1\
   -Dman3dir=/usr/share/man/man3\
   -Dpager="/usr/bin/less -isR" \


The thread explains why the addition of the "perl-version-min"
subdirectory is required. but why the hard-coding of 5.32
when that's what the entity value would be expanded to,
given what's in packages.ent, vis:






What happens when Perl5 moves to 5.33, 5.34 later versions?


Probably an oversight.  I'll fix it, but when I make the change for -rc1 
on Saturday.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] grub with uefi for LFS 10?

2020-08-05 Thread Bruce Dubbs via lfs-dev

On 8/5/20 2:25 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-08-05 14:37 +0800, Kevin Buckley via lfs-dev wrote:

On Mon, 3 Aug 2020 at 00:46, Xi Ruoyao via lfs-dev
 wrote:

It's nearly impossible.  If we do that we'll have to introduce at least five
new
packages: dosfstools, popt, pciutils, efivar, and efibootmgr.  Pciutils is
recommended to be installed along with "which" (it's a package's name), and
one
of wget/curl/lynx to make update-pciids script usable.  And, to make grub
menu
"showing normal" we'll need freetype. Freetype has a circular dependency
with
harfbuzz.  Harfbuzz requires glib, graphite, and ICU to be fully functional.



Worth pointing out, as the hint does, that you can install Freetype
without the harfbuzz, so as to get enough to install an enhanced
Grub, and then go back and install a Freetype+harfbuzz later.


That's my approach, and OK for a hint.

Another way: provide a binary unicode.pf2 file on Anduin, and skip freetype.
It's just a font and it's not a problem not to build a font "from scratch".


Similarly, the lack of an update-pciids script may not be a major
problem as, when building the UEFI-aware Grub for the first time,
you can download what that script would fetch, using the host
system, and just put the payload into place on the LFS system.


The problem is we have to defer the activation of update-usbids.timer (for
systemd) or cron job (for sysv) after wget/curl/lynx is installed.  Then where
should we put the instruction?  Not a technical problem but a book structure
issue.


It's probably way too far beyond LFS to have it in the LFS Book,
but the basic capabilities are not as hard to add as one might
come to think, just by following all of the BLFS Book's dependencies
to the end of each chain.


I think it might be better to put EFI grub and its dependencies into BLFS. There
is BLFS #5379 (opened 6 years ago).  If Bruce agrees I'll change the milestone
to 10.1 (10.0 will be too hurry) and do it. And, William Harrington suggested
that LFS should support some non-x86 architectures, which would require
different bootloaders.  They can be put into a new BLFS chapter "alternative
bootloaders", along with EFI grub.


If you can maintain it on an ongoing basis, I'm OK with adding a section 
on bootloaders in 10.1.  I went ahead and  added a 10.1 milestone to BLFS.


When you are ready, we can discuss where it should go in the book.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Tcl failed soem tests

2020-08-02 Thread Bruce Dubbs via lfs-dev

On 8/2/20 12:33 PM, Ken Moffat via lfs-dev wrote:

On Thu, Jul 30, 2020 at 08:15:10PM -0500, Bruce Dubbs via lfs-dev wrote:

On 7/30/20 6:22 PM, Ken Moffat via lfs-dev wrote:

On my experimental build which is currently in progress, I managed
to log the results of tcl's tests.  At first I thought the tests had
died, but in the end they completed (2.9 SBU with make -j8, most of
the time obviously spent on tests which failed).  The results do not
look wonderful:

Tests ended at Thu Jul 30 21:10:12 + 2020
all.tcl:Total   24996   Passed  21606   Skipped 3336Failed  54
Sourced 150 Test Files.
Files with failing tests: http.test httpold.test
Number of tests skipped for each constraint:
  9   !ieeeFloatingPoint
[snip]
  2   xdev

Test files exiting with errors:

clock.test


I see there were quite a lot of failures in the clock tests, several
in http, and 1 in httpold.  I've no idea if this is normal, but the
timing seems to be more than a bit different from what the book
says.  For now I'll just mention it and ask if anyone else sees
similar or better results.  I've got the full log, but it's 99K so I
won't bother uploading or attaching it for the moment.

The expect tests were fine, as were the tests for dejagnu.

As is normal, I'm using my normal CFLAGS and CXXFLAGS - they start
out as
   (CFLAGS) -O3 -march=native -fstack-clash-protection -fstack-protector-strong
   (CXXFLAGS) -O3 -march=native -fstack-clash-protection 
-fstack-protector-strong -D_GLIBCXX_ASSERTIONS
although I don't necessarily use all of those on all packages.  I'm
also using headers from linux-5.8.0-rc7 for this build (I said it
was experimental!) and running a 5.8.0-rc5 kernel which has help up
well for the past 4 days (sleeping some of the time) and for a few
days before that.


What I really think you need to do is do a full build without CFLAGS or
CXXFLAGS set.  Then compare with a build with those settings.

My test logs are not complete, but if you really want me to, I can do a full
build as of 20200721 with all tests.  I can upload the test files to anduin
for you to compare.

   -- Bruce



I've now completed a build without any CFLAGS or CXXFLAGS as far as
the end of chapter 8, again running all the tests.  This is from my
'experimental' system, using the exact same versions and scripts.

In the original build where I queried the tcl results (lack of data
from anyone else) I now get exactly the same failing tests and test
ending with errors.

The other packages where I got different results from what the book
specifically mentions (or, for glibc, from what I had previously
seen) were:

glibc-2.31 : both failed misc/tst-ttyname - the book mentions that,
but in previous builds in the last couple of months it has passed.

gcc-10.2 : Without flags I get one failue beyond what the book
mentions, I'm fairly sure I've mentioned it before with 10.1 :

FAIL: 22_locale/numpunct/members/char/3.cc execution test

Adding my own flags, for gcc I *do* get an extra failure (again,
I've seen it before with 10.1) :

FAIL: 20_util/unsynchronized_pool_resource/allocate.cc execution test

Note that I have stopped forcing -O3 in my gcc builds because of the
failures in the torture tests, here I'm only using
   -O2 -march=native -fstack-clash-protection -fstack-protector-strong
and for CXX I add
-D_GLIBCXX_ASSERTIONS
so in this case either that allocate.cc test fails with one of
these safe flags, or else it randomly fails.

autoconf-2.69b (beta) all passed in both runs.

automake-1.16.2 : te same 2 new failures from updated autoconf in
both runs.

util-linux-2.35.2 : column/invalid-multibyte failed in both runs.  I've
seen this before on this machine using util-linux-2.35.1, including
a build where I forgot to set my CFLAGS.

Summary: For gcc, adding sensible CFLAGS and more particularly
CXXFLAGS *can* provoke extra test failures.

Since I'm documenting this, I'll also mention that this week
phoronix ran some tests where it looked as if -O2 in recent gcc is
slow (that was on intel Comet Lake).  Much of the (runtime) slowness
in some tests was from using LTO, but in some cases the -O2
performance was much slower than on gcc9.

https://www.phoronix.com/scan.php?page=article=gcc-10900k-compiler=1

I do not have elapsed times for either of my builds (in the first,
I had breaks where tests failed unexpectedly for me, in the second
the Python tests stalled overnight - and of course like many other
packages there is no output from the tests until the end, so no idea
where they stalled.  However, I do have times (in seconds) for the
various 'stamps' I create to mark a step as completed.  For these,
timing starts after untarring and creating an initial log of what is
present, and stops before creating the log of what is now presnet
and then processing the logs to find what got installed and
modified.

For the first run with my flags: 178.522s

Without my flags: 297.926s

A little of that difference might

Re: [lfs-dev] grub with uefi for LFS 10?

2020-08-01 Thread Bruce Dubbs via lfs-dev

On 8/1/20 3:10 PM, Timothy Russo via lfs-dev wrote:
With efi being more the standard now, I'd like to ask if we could 
default grub to supporting uefi instead of having to use the uefi hint.


Or at last maybe formalize it and make it an option, where you can pick 
bios/mbr or uefi option.


The only reason to use uefi is if you want to dual boot to Windows.  It 
complicates LFS and will interfere with learning how simple a boot can be.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] More observations on directory creations

2020-08-01 Thread Bruce Dubbs via lfs-dev

On 8/1/20 9:20 AM, Pierre Labastie via lfs-dev wrote:

Hi,
Exceptionally top-posting, because, I'll answer in the message body,
and I want to tell general things first.
First, thanks to Kevin to be our "quality assurance". Those messages
are bugging me, but make me think...
Second, presently, the whole management of directories is the result of
design decisions made at the beginning of the testing of the new
method. Some of those decisions may seem wrong now, but that was not
evident at the time. Specially, the first aim was to have a working
build, not necessarily the best explanations...
Third, one of those decisions was to keep $LFS owned and only writable
by root. At the time, it was thought that it could prevent unwanted
behavior in chapter 6, for example alert on non desirable directory
creation. In retrospect, it was maybe not necessary, and having $LFS
writable by lfs could simplify things a lot.
That said, here are a few comments...

On Sat, 2020-08-01 at 15:42 +0800, Kevin Buckley via lfs-dev wrote:

As some of you will be aware from other threads, I have been
spending way too much time looking at the way that the LFS
book goes about creating its directory hierarchy, but for those
of you who find these things interesting, here's some more.

Here's what the current (r12002) book does, as regards creating
the required directory hierarchy, in two separate parts:

4.2

mkdir -pv $LFS/{usr,lib,var,etc,bin,sbin}


the order is a result of adding directories as needed for chapter 6
installations. They did not come in alphabetical order. Now they can be
sorted...


case $(uname -m) in
   x86_64) mkdir -pv $LFS/lib64 ;;
esac

mkdir -pv $LFS/tools


4.3

chown -v lfs $LFS/{usr,lib,var,etc,bin,sbin,tools}


alphabetical sort here too.


case $(uname -m) in
   x86_64) chown -v lfs $LFS/lib64 ;;
esac


7.2

chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}


and here again


case $(uname -m) in
   x86_64) chown -R root:root $LFS/lib64 ;;
esac


7.5

mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}


At first, /bin was not used in chapter 6. Now it is, and shouldn't
appear here.
/etc, and /lib already exist. the -p option is not needed


mkdir -pv /{media/{floppy,cdrom},srv,var}


Again, /var was added later in the minimal set. May be removed here.
/media does not exist yet, so the -p option is needed.


mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}


Here, we should separate /usr and /usr/local:
/usr/{bin,include,lib,sbin} exist from chapter 6. The equivalent in
/usr/local does not. OTOH, we may want to have the whole structure in
one place (which means probably adding sbin to the first line)


mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}


Again, some of those already exist from chapter 6


mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}


Same here (terminfo)


mkdir -pv /usr/{,local/}share/man/man{1..8}


And again here


install -dv -m 1777 /tmp /var/tmp
install -dv -m 0750 /root

mkdir -v /var/{log,mail,spool}
ln -sv /run /var/run
ln -sv /run/lock /var/lock
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}


Leaving aside the non-alphabetical ordering of the directories
in the Chapter 4 commands,

I wondered why the first two lines of commands in 7.5 duplicate
the creation, in 4.2, of

/bin
/var


answered above...



but not any of the other "top-level" directories from 4.2, so

/etc /lib /lib64 /sbin /usr


with mkdir -p, those directories would be created if they did not
exist. But I agree, /var could be left for later, when creating
subdirectories in /var (using mkdir -p)



that get created in 4.2?

I do note though that /etc, /lib and /usr are implicitly created
when subdirectories of them are, so could ask a slightly different
question, vis:

Why is the creation of /sbin not duplicated?


Good question. Having the whole directory structure on one page might
be better for understanding. I (and Thomas) wonder whether this
structure couldn't even be created in chapter 4, selectively changing
ownership of directories where the lfs user needs to be able to write.



I also wondered why the first mkdir for subdirectories of /var

mkdir -v /var/{log,mail,spool}

doesn't have a "-p", in common with all the other mkdir-s,
including the creation of the top-level directories.


It does not have a -p because it is not needed. But then the first line
does not need it either... Not very consistent, as you say.



I'd suggest that the 7.5 commands would be better laid out as


Create some root-level directories that are not in the limited set
required for Chapters 4, 5 and 6.

mkdir -pv /{boot,home,mnt,opt,srv}

Create the required set of subdirectories below the root-level

mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv 

Re: [lfs-dev] Some files on the final system are now created during the temporary tools phase

2020-07-31 Thread Bruce Dubbs via lfs-dev

On 7/31/20 2:14 PM, Marcel van den Boer via lfs-dev wrote:

Thanks for this,

I compared a completed system of SVN-20200721 with a backup of the 
temporary system and found that a few files from the temporary system 
are not reinstalled on the final system as a side effect of the new way 
of building LFS.


(1) Gawk hardlink.
/usr/bin/gawk-5.1.0 is still pointing to the temporary version of the 
software. 'make install' does not replace this file if it already exists.
Possible fix is to just remove the link before rebuilding, or patch the 
Makefile to always overwrite it.


I think
  sed -i '/LN =/ s/$/ -f/' Makefile.in
can fix this.  I've not tested yet.


(2) Perl.
Lots of files are not reinstalled, but are kept from the chapter 7 build 
instead. Not sure if these should be removed, if they should have been 
rebuilt in chapter 8, or if Perl is aware of these files and does not 
reinstall them if they are already present.
- 
/usr/lib/perl5/5.32/core_perl/{B,B.pm,Compress,Config.pod,Config_git.pl,Cwd.pm,...,more>}
- 
/usr/share/perl5/core_perl/{AnyDBM_File.pm,App,Archive,Attribute,AutoLoader.pm,AutoSplit.pm,...,more>}


We can try 'rm -rf /usr/lib/perl5' at teh start of Chapter 8.


(3) Glibc header file (/usr/include/gnu/stubs-64.h).
Not sure about this one either. Could be that the build compares the 
existing file and chooses not to overwrite it if it is unchanged. The 
other 5 files in the same directory (like 'lib-names-64.h' and 
'stubs.h') are re-created though.


We will need to wait for glibc-2.32 (due tomorrow) to check this.


(4) All Linux API Headers.
This is probably as intended in this new set up. But you may want to 
clarify in the book that most (if not all) of these headers are kept on 
the final system, even though they are installed during the 
cross/temporary build phase.


Yes, the headers will not change between Chapters 7 and 10. I'm not sure 
it is necessary to explain to the level of detail you suggest.



(5) A few symlinks are now created way before chapter 8.
This is not an issue for most LFS builders. But it is good to know that 
these are left out on your system if you only capture the files built in 
chapter 8 for package management.

- /bin/sh
- /lib64/ld-linux-x86-64.so.2
- /lib64/ld-lsb-x86-64.so.3
- /usr/bin/awk
- /usr/bin/cc


I'm used to making package archives from the builds that are now in 
chapter 8, and if some files remain untouched in that phase, they are 
not captured at all right now. So, if (2) and (3) are not bugs, then I 
may have to change my capture mechanism to begin tracking files right 
from the start of the build.


We really don't support package management directly in the book.  I 
think this type of information should go into a hint. 
more_control_and_pkg_man.txt would be the most likely candidate if you 
want to update it.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Bootscript checkfs anomoly

2020-07-31 Thread Bruce Dubbs via lfs-dev

On 7/31/20 2:11 PM, William Harrington wrote:



On Jul 31, 2020, at 12:25, Bruce Dubbs via lfs-dev 
 wrote:

On 7/31/20 11:47 AM, William Harrington via lfs-dev wrote:

Greetings,
While checking file systems, the line at 131 will omit ‘Y’. The message ends up 
being “ou may want to double-check that”.  I had to remove the character before 
‘Y’ to correct the output. Please verify.


The only place in that file that has the word 'You' is on line 97:


msg="\nWARNING:\n\nFile system errors "
msg="${msg}were found and have been corrected.\n"
msg="${msg} You may want to double-check that "
msg="${msg}everything was fixed properly."

log_warning_msg "$msg"

I think the number of spaces before 'You' may need to be increased by one 
because the function log_warning_msg sets the cursor to column 1 and writes ' 
***  ' after the message has been written.  Can you add that space and test?  
Thanks.



Did you make your file system dirty and run that script. The deal is with the 
character before ‘Y’

I built LFS 9.1 and have proof


For a workaround, do

  sed -i "s/Y/ Y/" /etc/init.d/checkfs

We'll either do that or make an equivalent change in the next version of 
the bootscripts.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Bootscript checkfs anomoly

2020-07-31 Thread Bruce Dubbs via lfs-dev

On 7/31/20 11:47 AM, William Harrington via lfs-dev wrote:

Greetings,

While checking file systems, the line at 131 will omit ‘Y’. The message ends up 
being “ou may want to double-check that”.  I had to remove the character before 
‘Y’ to correct the output. Please verify.


The only place in that file that has the word 'You' is on line 97:


msg="\nWARNING:\n\nFile system errors "
msg="${msg}were found and have been corrected.\n"
msg="${msg} You may want to double-check that "
msg="${msg}everything was fixed properly."

log_warning_msg "$msg"

I think the number of spaces before 'You' may need to be increased by 
one because the function log_warning_msg sets the cursor to column 1 and 
writes ' ***  ' after the message has been written.  Can you add that 
space and test?  Thanks.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Tcl failed soem tests

2020-07-30 Thread Bruce Dubbs via lfs-dev

On 7/30/20 9:23 PM, Ken Moffat via lfs-dev wrote:

On Thu, Jul 30, 2020 at 08:15:10PM -0500, Bruce Dubbs via lfs-dev wrote:

On 7/30/20 6:22 PM, Ken Moffat via lfs-dev wrote:

What I really think you need to do is do a full build without CFLAGS or
CXXFLAGS set.  Then compare with a build with those settings.



You really distrust CFLAGS and CXXFLAGS, don't you.  I take the view
that security is important, as is optimising (now that everything
builds so slowly).i  Yes, sometimes CFLAGS _do_ screw up occasional
packages.   


It's not that I distrust the flags, but I just think that upstream's 
knowledge of their code is better than mine.  In addition, I've never 
been able to detect a speedup due to custom flags without instrumenting 
the program.  Small speed improvements do not really improve the user 
experience.


Also, introducing flags that may be HW dependent doesn't help the 
consistency of the books.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Tcl failed soem tests

2020-07-30 Thread Bruce Dubbs via lfs-dev

On 7/30/20 6:22 PM, Ken Moffat via lfs-dev wrote:

On my experimental build which is currently in progress, I managed
to log the results of tcl's tests.  At first I thought the tests had
died, but in the end they completed (2.9 SBU with make -j8, most of
the time obviously spent on tests which failed).  The results do not
look wonderful:

Tests ended at Thu Jul 30 21:10:12 + 2020
all.tcl:Total   24996   Passed  21606   Skipped 3336Failed  54
Sourced 150 Test Files.
Files with failing tests: http.test httpold.test
Number of tests skipped for each constraint:
 9   !ieeeFloatingPoint
[snip]
 2   xdev

Test files exiting with errors:

   clock.test


I see there were quite a lot of failures in the clock tests, several
in http, and 1 in httpold.  I've no idea if this is normal, but the
timing seems to be more than a bit different from what the book
says.  For now I'll just mention it and ask if anyone else sees
similar or better results.  I've got the full log, but it's 99K so I
won't bother uploading or attaching it for the moment.

The expect tests were fine, as were the tests for dejagnu.

As is normal, I'm using my normal CFLAGS and CXXFLAGS - they start
out as
  (CFLAGS) -O3 -march=native -fstack-clash-protection -fstack-protector-strong
  (CXXFLAGS) -O3 -march=native -fstack-clash-protection 
-fstack-protector-strong -D_GLIBCXX_ASSERTIONS
although I don't necessarily use all of those on all packages.  I'm
also using headers from linux-5.8.0-rc7 for this build (I said it
was experimental!) and running a 5.8.0-rc5 kernel which has help up
well for the past 4 days (sleeping some of the time) and for a few
days before that.


What I really think you need to do is do a full build without CFLAGS or 
CXXFLAGS set.  Then compare with a build with those settings.


My test logs are not complete, but if you really want me to, I can do a 
full build as of 20200721 with all tests.  I can upload the test files 
to anduin for you to compare.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Expected package changes for LFS-10.0 ?

2020-07-28 Thread Bruce Dubbs via lfs-dev

On 7/28/20 5:30 PM, Ken Moffat via lfs-dev wrote:

On Tue, Jul 28, 2020 at 04:32:50PM -0500, Bruce Dubbs via lfs-dev wrote:



The release will not be in time for LFS-10.



Do you mean "old, with a broken test suite, but released" should
always be preferred to "beta, but looks good" ?


The old version with a broken test suite is a known quantity.  We've 
used it for years.  The beta is an unknown, other than the fact that 
regression tests now work.


We don't use autoconf in LFS, but by my count there are 25 packages that 
use it in BLFS.  Specifically, I found 23 that use autoreconf and two 
that use autoconf (id3lib and openldap).  A lot of those packages are old.


We could consider using the beta or git head if all those packages are 
tested.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Expected package changes for LFS-10.0 ?

2020-07-28 Thread Bruce Dubbs via lfs-dev

On 7/28/20 3:53 PM, Ken Moffat via lfs-dev wrote:


I'll now mention that a new release of autoconf is being prepared.
2.69b (i.e. beta) came out a few days ago.  Looking at gnu git,
there have been a few more fixes since then.


I'm on the autoconf mailing list and built the beta.

Parallel build is OK.  Tests are slow and don't seem to be parallelizable.

On a full system rhe tests pass with:

479 tests behaved as expected.
44 tests were skipped.

Most of the skips were due to not having fortran, erlang, or go.  There 
were also four expected failures.


There are a fair number of issues on the list, but AFAICT, not for x86_64.

The release will not be in time for LFS-10.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] procps-ng: seds and rm for testsuite unnecessary

2020-07-28 Thread Bruce Dubbs via lfs-dev

On 7/28/20 10:06 AM, Ken Moffat via lfs-dev wrote:

I think the following modifications to the procps-ng testsuite are
unnecessary:

sed -i -r 's|(pmap_initname)\\\$|\1|' testsuite/pmap.test/pmap.exp
sed -i '/set tty/d' testsuite/pkill.test/pkill.exp
rm testsuite/pgrep.test/pgrep.exp

I dropped these a while ago, and now that I've completed a current
build the results for procps-ng look fine (attached)


OK, I'll make those changes when I do the large update this weekend.
Thanks for pointing  out the issue.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Expected package changes for LFS-10.0 ?

2020-07-27 Thread Bruce Dubbs via lfs-dev

On 7/27/20 10:35 PM, Xi Ruoyao via lfs-dev wrote:

On 2020-07-28 03:30 +0100, Ken Moffat via lfs-dev wrote:

On Mon, Jul 27, 2020 at 09:05:32PM -0500, Douglas R. Reno via lfs-dev wrote:

As far as I know, we have another binutils as well (2.35). I think there's a
new version of Check as well, the kernel, and util-linux.


Cheers.  I'm on check-0.15.0 at the moment (haven't looked at any
LFS testsuite results yet).  Binutils is the sort of thing which
might cause occasional breakage, util-linux less so in terms of
building and testing packages (but potentially more so in terms of
being able to run commands I usually run, of course).


Glibc-2.32 will be released on Aug 1st.  I suggest to wait for it since anyway
we'll have to rebuild everything for it.



That's my plan.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Expected package changes for LFS-10.0 ?

2020-07-27 Thread Bruce Dubbs via lfs-dev

On 7/27/20 8:45 PM, Ken Moffat via lfs-dev wrote:

I see that a newer gettext is now out, which probably allows
bison-3.7.0 to build.  Meanwhile, I'm hopeful that bison-3.7.1 will
be out soon, with tests to detect whether it can use the functions
added in 3.7 or must fall back to functions available in e.g.
gettext-0.20.2.

But meanwhile (and particularly re testing/measuring rust and its
users in BLFS) I'm trying to get my head around what else in LFS is
likely to change for LFS-10.0 - particularly toolchain packages.



For the main toolchain, I think that gcc-10.2.0 will be in, and from
what Bruce said the other day on BLFS, a newer glibc.  AFAICS,
llvm-11 will not arrive until September and therefore llvm-10.0.1 is
as new as we'll be using.

Anything else, anyone, or anything wrong in what I've written here ?


All the tickets at 
http://wiki.linuxfromscratch.org/lfs/query?owner=~=assigned=new=reopened=milestone=id=summary=status=owner=type=time=owner



Also, any thoughts on when we can start testing 10.0, and therefore
which kernel series to use (5.8.0 will either be released on Sunday,
or else a week later) - in my current build I've used what is in the
book (5.7.9) rather than 5.8-rc, but it feels "so old" ;-)


We will try to get everything that is current on Aug 15.  After that 
thee will only be very limited updates -- nothing major.



I'm trying to optimize my time for testing, and measuring, the
packages which use rust - hopefully to propose 1.45.0, but also to
measure their sizes and build-slowness with both gcc and clang.  For
example, with current rustc-1.42.0 I know that firefox using the
book's options builds faster with gccc than with llvm-10.0.0.  I'd
like to be able to offer gcc as an option for thunderbird (for
people who care about security - llvm is poor on security options).


I'll be updating everything that's open this weekend.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Creating the Minimal directory layout in LFS filesystem

2020-07-26 Thread Bruce Dubbs via lfs-dev

On 7/26/20 6:35 AM, Kevin Buckley via lfs-dev wrote:

At present, the LFS Book, at Revision r12002, says

4.2. Creating the Minimal directory layout in LFS filesystem

The first task performed in the LFS partition is to create a minimal
directory hierarchy so that programs compiled in Chapter 6 may be
installed in their final location. This is needed so that those
temporary programs be overwritten when rebuilding them in Chapter 8.

Create the required directory layout by running the following as root:

mkdir -pv $LFS/{usr,lib,var,etc,bin,sbin}
case $(uname -m) in
   x86_64) mkdir -pv $LFS/lib64 ;;
esac

however, the "This is needed ..." statement is not actually true.

I've noticed that when building the Chapter 5 tools, that you only
really need

   $LFS/usr

so as to allow Linux Headers to do this

   cp -rv usr/include $LFS/usr

and

   $LFS/lib
   $LFS/lib64

because of the compatibility links that get added at the start of
Chapter 5's Glibc.

The install of Chapter 5's Glibc creates the following "top-level" directories

lib, var, etc, sbin

when it does, amongst other "mkdir -p" invocations, the following

mkdir -p -- /media/lfs10/lib
mkdir -p -- /media/lfs10/var/lib/nss_db
mkdir -p -- /media/lfs10/etc
mkdir -p -- /media/lfs10/sbin

and indeed, at the end of Chapter 5, there is still no /bin below $LFS.

As I see it, it's not until Chapter 6's Bash, where the bash binary
gets moved to /bin, that that directory is required, so perhaps the
minimal directory list could just be

mkdir -pv $LFS/{bin,lib,usr}
case $(uname -m) in
   x86_64) mkdir -pv $LFS/lib64 ;;
esac

and even then the lib and lib64 directories are only required in the Glibc
section because explicit links are made there, so the creation of those
directories could be made part of Chapter 5's Glibc.

Note also that Chapter 6's Bash install, doesn't require $LFS/bin: it's
the "by-hand" move of the bash binary that requires it.

If the creation of /bin was made a part of the Chapter 6 Bash install,
as that is the first place that /bin is required, that would leave Chapter 4
with just this

mkdir -pv $LFS/usr

Just some observations that might be of use to some though,


I haven't checked, but I think you may be taking the word 'minimal' too 
literally.  Perhaps we should just change the description to:


Creating a Limited directory layout in LFS filesystem

Whether or not all the directories created in Chapter 4 are needed in 
Chapters 5 and 6, they are certainly needed in Chapters 7 and 8.  When 
they are created is really not very important.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Hints Project link broken

2020-07-24 Thread Bruce Dubbs via lfs-dev

On 7/24/20 5:14 AM, John Burrell via lfs-dev wrote:

In section 8.2 Package Management, the 'Hints Project' link is broken.
There are two of them on that page.


Works for me, although the page simply has another link to the directory 
listing.  I'll go ahead and link to the directory listing in my next commit.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] chapter 7 libstdc++ pass2 needs libfl.so.2

2020-07-23 Thread Bruce Dubbs via lfs-dev

On 7/23/20 6:39 AM, John Burrell via lfs-dev wrote:

When running as a package user I couldn't compile libstdc++ in chapter
7 because it couldn't find libfl.so.2
I had to go back and add flex to chapter 6 to provide this library.
Then it worked.

I assume that if you follow the book then this library is picked up
from the host.
Can I suggest that you add flex to chapter 6 to improve host independence.


Flex is not needed for libstdc++ in Chapter 7 for a normal build.  When 
I search for libfl or flex in my log for gcc-libstdc++-pass2-10.1.0, 
nothing is found.  What is package user doing that requires this?


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] The locales in Chapter 6 of the development book

2020-07-22 Thread Bruce Dubbs via lfs-dev

On 7/22/20 4:06 AM, John Burrell via lfs-dev wrote:

I'm experimenting with installing chapters 5 and 6 as a package user.
Can I safely delete the directory $LFS/usr/share/locale for each
package that is reinstalled in Chapter 8?
I assume I can, but thought I should ask in case the locales from
chapter 6 are used in some way in later chapters.


AFAIK, the only use of locales in LFS are for tests in Chapter 8.  The 
user may want to change the language after all packages are installed. 
I do not know of any reason that locales installed before Chapter 8 
cannot be removed.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] 7.5. Creating Directories: Order of mode change descriptions wrong

2020-07-21 Thread Bruce Dubbs via lfs-dev

On 7/21/20 6:10 AM, Kevin Buckley via lfs-dev wrote:

Noticed this in r11999  chapter07/creatingdirs.xml

...
mkdir -pv /usr/{,local/}share/man/man{1..8}
install -dv -m 1777 /tmp /var/tmp
install -dv -m 0750 /root

mkdir -v /var/{log,mail,spool}
ln -sv /run /var/run
ln -sv /run/lock /var/lock
mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}

   Directories are, by default, created with permission mode 755, but
   this is not desirable for all directories. In the commands above, two
   changes are madeone to the home directory of user root, and another to the directories for
   temporary files.


   The first mode change ensures that not just anybody can enter
   the /root directorythe
   same as a normal user would do with his or her home directory. The
   second mode change makes sure that any user can write to the
   /tmp and /var/tmp directories, but cannot remove
   another user's files from them.

but note that in the commands,the FIRST mode change is actually
the /tmp /var/tmp one and the SECOND one is for /root.

I'd suggest swapping around the commands, rather that editing the text,
but also note that the commands were in the order matching the text in
LFS 9.1 ?


Thanks.  I'll do that in my next commit.

  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] The testers user: could it be a proto-lfs user?

2020-07-20 Thread Bruce Dubbs via lfs-dev

On 7/20/20 3:21 AM, Kevin Buckley via lfs-dev wrote:

Haven't got there in a build yet, as I'm looking at where to build
Shadow, so as to get an su. but have noticed that there's an explicit
"testers" user being created now, so as to run some Chapter 8 tests
that should  not be run as root.

Given that, when starting from a older LFS installation and coming
to use that as the host for a new LFS build, one has to create the 'lfs'
user, I was wondering if there'd be any gain, in creating the lfs user
inside the chroot, so that it would be there when finally  booting into
the new LFS system, and also using it for the Chapter 8 testing.

At that point, it would be the same as any other non-root user.

I could see that a failure to clean up properly before the chroot is
first entered might mean that the "new" lfs user might have access
to things that it should not have, depending on whether the UID in the
host got reused but, for an LFS system, it seems likely that you would
want an 'lfs' user at some point.

Just another thought though, really,


The name of the non-root user in Chapter 8 is not really significant. We 
use different names, lfs and tester, to indicate to the lfs user 
different roles.  Using the same name is certainly possible, but would 
remove this distinction.  Of course, your distro, your rules.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Bison: The tests are known to fail using multiple processors.

2020-07-19 Thread Bruce Dubbs via lfs-dev

On 7/19/20 11:15 AM, Ken Moffat via lfs-dev wrote:

Where tests for a past version have been known to fail using -jN, we
tend to carry forward a warning.  Perhaps it would be more useful
to say 'have been known to fail'.

For example, today I tested the bison dev version on a completed
system, and was reminded how tlong that takes at -j1.  So I retried
at -j8 and had no problems.  Then I did the same with the current
3.6.4 version and again had no problems.


Yes, we can probably remove the warning.  bison has been undergoing a 
lot of changes lately.  There have bee seven updates in the last four 
months.


I'll do it in my next commit.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Chapter 4: Could the lfs user perfrom the minimal directory hierachy creation?

2020-07-13 Thread Bruce Dubbs via lfs-dev

On 7/13/20 6:18 AM, Kevin Buckley via lfs-dev wrote:

At present, in Chapter 4, the host system's root user creates a
minimal directory hierarchy, then creates the lfs user and then
chown's the minimal directory hierarchy so as to be owned by th e
lfs user, and finally does an su to the lfs user.

I was thinking that the order could be altered so that, the host
system's root user first creates the lfs user, then merely changes
the ownership of the top of the $LFS partition, and  then,after
the

su - lfs

the lfs user would create the minimal directory hierarchy.

I suppose it's worth floating the idea that the lfs user could even
"download" the sources, although that would require the creation
of the lfs user a lot further "up" the Book.



Sure, that could be done, but why?  There are a lot of ways to 
accomplish the same task, but I don't see the advantage of one way over 
the other.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Errors with Linux From Scratch Version SVN-20200707

2020-07-11 Thread Bruce Dubbs via lfs-dev

On 7/11/20 7:38 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-07-11 11:28 +, John Frankish via lfs-dev wrote:

A couple of errors found:

Chapter 6. Cross Compiling Temporary Tools
6.7. File-5.39

Building gives the error:

Cannot use the installed version of file (5.37) to
cross-compile file 5.39
Please install file 5.39 locally first

..fixed by updating file on the host.


Forcing a exact version of file in Host System Requirements is stupid.  We'll
have to install a file for host system in Chap. 5.  There is also a FIXME in
file-5.39/magic/Makefile.am:


# FIXME: Build file natively as well so that it can be used to compile
# the target's magic file; for now we bail if the local version does not match


Could someone give upstream a patch for it?


I don't know why this is happening in Chapter 6.  On my log I have:

checking whether we are cross compiling... no

It worked fine for me when the host version of file was 5.38.




Chapter 6. Cross Compiling Temporary Tools
6.10. Grep-3.4

Building pulls in a dep on libpcre from the host, which causes problems later,
but can be fixed with "--disable-perl-regexp"


It's because configure script picks up the host pkg-config.  Other packages may
have similar issue.

I think we should create a "fake" x86_64-lfs-linux-gnu-pkg-config:

ln -sv /bin/false /mnt/lfs/tools/bin/x86_64-lfs-linux-gnu-pkg-config


I'll need to check into this a bit more.  I do prefer a switch to a symlink.



Also, but probably out of scope,

Chapter 5. Compiling a Cross-Toolchain
5.5. Glibc-2.31

Fails for arm (RPi) with a long double error fixed with an upstream patch:

https://sourceware.org/pipermail/glibc-cvs/2020q1/069150.html


Glibc-2.32 will be released soon (the scheduled date is Aug. 1st).


We will wait for Glibc-2.32.

Thanks for the feedback.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] libelf

2020-07-07 Thread Bruce Dubbs via lfs-dev

On 7/7/20 8:13 AM, Pierre Labastie via lfs-dev wrote:

On Tue, 2020-07-07 at 11:56 +0100, Roger via lfs-dev wrote:

Yesterday I built LFS-9.1 (sysvinit not systemd) with /usr
on a separate partition. Localnet failed when I booted. This
is because ip (from iproute2) links to libelf which is in
/usr/lib. Localnet is run before mounting /usr which means
that libelf is unavailable. My quick and easy solution was
to move libelf* from /usr/lib to /lib.

I've just looked at the latest SVN 2020-07-06 and libelf
is still before iproute2 so the above would still happen.
I don't see any configure option in iproute2 to stop the
link to libelf so one solution would be to change the
instructions for installing libelf. If there's a better
way, feel free to use it.


Thanks for the heads-up. It's good that somebody tests with a separate
/usr partition!
We can avoid linking by temporarily moving libelf.pc to another file.
But I do not know what functionality would be lost in the process.

Otherwise, I think we could just add --libdir=/lib to configure in
libelf (and still install the .pc file to /usr/lib, and of course
remove /lib/libelf.a).


I don't think we need to do anything with libelf.pc.  Just finish with

mv -v /usr/lib/libelf-0.180.so libelf.so.1 /lib
ln -sfv ../../lib/$(readlink /usr/lib/libelf.so) /usr/lib/libelf.so

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: prevent the influence of host /etc/bash.bashrc

2020-06-21 Thread Bruce Dubbs via lfs-dev

On 6/21/20 5:33 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-21 18:22 +0800, Xi Ruoyao via lfs-dev wrote:

On 2020-06-21 05:16 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/21/20 12:57 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-21 13:24 +0800, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 21:24 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 8:30 PM, Bruce Dubbs wrote:

On 6/20/20 7:07 PM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 16:58 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 2:42 PM, Xi Ruoyao via lfs-dev wrote:

The discussion with Frans de Boer in lfs-support shown that
the
environment
variables from host can catch us completely off guard.  Though
in
his case
the
problem is that he forgot to create /home/lfs/.bash_profile,
normally
/etc/bash.bashrc would be more dangerous (the book has no
consideration of
this
file), and used by many distros.

So if there is no objection I'll commit the change we've
discussed
in last
Nov.:

/home/lfs/.bash_profile:

exec env -i ENV=$HOME/.lfs_bashrc \
HOME=$HOME\
TERM=$TERM\
PS1='\u:\w\$ '\
/bin/bash --posix

/home/lfs/.lfs_bashrc:

set +o posix
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/usr/bin
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
PATH=$LFS/tools/bin:$PATH
export LFS LC_ALL LFS_TGT PATH


So the --posix in .bash_profile allows the use of
ENV=$HOME/.lfs_bashrc and then the first line in .lfs_bashrc
turns
posix
mode off?

At a minimum this looks like a hack that needs a fair amount of
explanation.

The reason for this is because a user forgot to create
.bash_profile?
In that case the above doesn't work.


The discussion just proved that environment variables from host
are
really
harmful.


From https://sources.debian.org/src/bash/5.0-6/debian/README/

5. What is /etc/bash.bashrc? It doesn't seem to be documented.

   The Debian version of bash is compiled with a special
option
   (-DSYS_BASHRC) that makes bash read /etc/bash.bashrc
before
~/.bashrc
   for interactive non-login shells. So, on Debian systems,
   /etc/bash.bashrc is to ~/.bashrc as /etc/profile is to
   ~/.bash_profile.

When I look at a debian system's /etc/bash.bashrc, I don't see
what
would affect what we have now.  What was the reported problem?

We've been using the current structure for a long time without a
reported issue.  What's new?


I studied OpenSUSE bash.bashrc a little.  It's a giant monster
script
(even
sourcing some scripts from /etc/profile.d) so I won't be suprised
if
one day a
bash.bashrc breaks some package.

And after a sleep I realized a more serious issue:  if some distro
has a
/usr/share/config.site (or /usr/etc/config.site, which is not FHS
and
shouldn't
exist), it would be used by autotools configure script *even if we
are
cross
compiling*, and break temporary glibc build.  Perhaps we should
"export
CONFIG_SITE=/dev/null" in /home/lfs/.bashrc to override it.


I wrote the above before I saw the messages in -support.  I do note
that
in my debian system I used to get LFS up on my new system I edited
/etc/bash.bashrc so the first line was 'return'.  I did that
primarily
because I don't like polluting the environment with bash completion
stuff.

I think the problem is not 'exec env ... /bin/bash' directly, but
the
changes to bash invocation by some distros.

I wonder if 'exec env ... /bin/bash --init-file ~/.bashrc' would
work.
I'll do a test of that.


I tested several options.  That /etc/bash.bashrc thing is evil.  I
edited it to put at the top: echo "IN /etc/bash.bashrc"

Even with your line

exec env -i ENV=$HOME/lfs-bashrc HOME=$HOME TERM=$TERM PS1='\u:\w\$ '
/bin/bash --posix

(Note that I changed the file name to make it a non-hidden file.)

it STILL runs bash.bashrc.  --norc doesn't change that either.  Nor
does
--init-file $HOME/lfs-bashrc

In the case if ubuntu though the posix setting does not install the
function command_not_found_handle, but I don't think we can really
count
on that.

Really the I think the only way to handle this is to edit
/etc/bash.bashrc to put a return in on the first line or to rename the
file and let the user restore it if desired later.


It's strange.  I read bash code and commit history but found --norc
should
disable loading of SYS_BASHRC, since bash-2.0. It also really works on
latest
Arch (but it didn't work on Arch in Nov 2019).


Which distro are you using?  I tried Arch (latest) and Ubuntu (18.04) on
my
laptops, and SUSE (leap 15.2) on distrotest.net.  On all of these --norc
works
so maybe we can throw every environment variables into env command in
.bash_profile and use --norc.


I was using the system installed by ubuntu-20.04-desktop-amd64.iso for
testing.

If you do 'env -i bash --norc' and then 'set', do you get all the bash
complet

Re: [lfs-dev] proposal: prevent the influence of host /etc/bash.bashrc

2020-06-21 Thread Bruce Dubbs via lfs-dev

On 6/21/20 12:57 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-21 13:24 +0800, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 21:24 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 8:30 PM, Bruce Dubbs wrote:

On 6/20/20 7:07 PM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 16:58 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 2:42 PM, Xi Ruoyao via lfs-dev wrote:

The discussion with Frans de Boer in lfs-support shown that the
environment
variables from host can catch us completely off guard.  Though in
his case
the
problem is that he forgot to create /home/lfs/.bash_profile,
normally
/etc/bash.bashrc would be more dangerous (the book has no
consideration of
this
file), and used by many distros.

So if there is no objection I'll commit the change we've discussed
in last
Nov.:

/home/lfs/.bash_profile:

   exec env -i ENV=$HOME/.lfs_bashrc \
   HOME=$HOME\
   TERM=$TERM\
   PS1='\u:\w\$ '\
   /bin/bash --posix

/home/lfs/.lfs_bashrc:

   set +o posix
   set +h
   umask 022
   LFS=/mnt/lfs
   LC_ALL=POSIX
   LFS_TGT=$(uname -m)-lfs-linux-gnu
   PATH=/usr/bin
   if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
   PATH=$LFS/tools/bin:$PATH
   export LFS LC_ALL LFS_TGT PATH


So the --posix in .bash_profile allows the use of
ENV=$HOME/.lfs_bashrc and then the first line in .lfs_bashrc turns
posix
mode off?

At a minimum this looks like a hack that needs a fair amount of
explanation.

The reason for this is because a user forgot to create .bash_profile?
In that case the above doesn't work.


The discussion just proved that environment variables from host are
really
harmful.


   From https://sources.debian.org/src/bash/5.0-6/debian/README/

5. What is /etc/bash.bashrc? It doesn't seem to be documented.

  The Debian version of bash is compiled with a special option
  (-DSYS_BASHRC) that makes bash read /etc/bash.bashrc before
~/.bashrc
  for interactive non-login shells. So, on Debian systems,
  /etc/bash.bashrc is to ~/.bashrc as /etc/profile is to
  ~/.bash_profile.

When I look at a debian system's /etc/bash.bashrc, I don't see what
would affect what we have now.  What was the reported problem?

We've been using the current structure for a long time without a
reported issue.  What's new?


I studied OpenSUSE bash.bashrc a little.  It's a giant monster script
(even
sourcing some scripts from /etc/profile.d) so I won't be suprised if
one day a
bash.bashrc breaks some package.

And after a sleep I realized a more serious issue:  if some distro has a
/usr/share/config.site (or /usr/etc/config.site, which is not FHS and
shouldn't
exist), it would be used by autotools configure script *even if we are
cross
compiling*, and break temporary glibc build.  Perhaps we should "export
CONFIG_SITE=/dev/null" in /home/lfs/.bashrc to override it.


I wrote the above before I saw the messages in -support.  I do note that
in my debian system I used to get LFS up on my new system I edited
/etc/bash.bashrc so the first line was 'return'.  I did that primarily
because I don't like polluting the environment with bash completion stuff.

I think the problem is not 'exec env ... /bin/bash' directly, but the
changes to bash invocation by some distros.

I wonder if 'exec env ... /bin/bash --init-file ~/.bashrc' would work.
I'll do a test of that.


I tested several options.  That /etc/bash.bashrc thing is evil.  I
edited it to put at the top: echo "IN /etc/bash.bashrc"

Even with your line

exec env -i ENV=$HOME/lfs-bashrc HOME=$HOME TERM=$TERM PS1='\u:\w\$ '
/bin/bash --posix

(Note that I changed the file name to make it a non-hidden file.)

it STILL runs bash.bashrc.  --norc doesn't change that either.  Nor does
--init-file $HOME/lfs-bashrc

In the case if ubuntu though the posix setting does not install the
function command_not_found_handle, but I don't think we can really count
on that.

Really the I think the only way to handle this is to edit
/etc/bash.bashrc to put a return in on the first line or to rename the
file and let the user restore it if desired later.


It's strange.  I read bash code and commit history but found --norc should
disable loading of SYS_BASHRC, since bash-2.0. It also really works on latest
Arch (but it didn't work on Arch in Nov 2019).


Which distro are you using?  I tried Arch (latest) and Ubuntu (18.04) on my
laptops, and SUSE (leap 15.2) on distrotest.net.  On all of these --norc works
so maybe we can throw every environment variables into env command in
.bash_profile and use --norc.


I was using the system installed by ubuntu-20.04-desktop-amd64.iso for 
testing.


If you do 'env -i bash --norc' and then 'set', do you get all the bash 
completion macros?


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: prevent the influence of host /etc/bash.bashrc

2020-06-20 Thread Bruce Dubbs via lfs-dev

On 6/20/20 8:30 PM, Bruce Dubbs wrote:

On 6/20/20 7:07 PM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 16:58 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 2:42 PM, Xi Ruoyao via lfs-dev wrote:
The discussion with Frans de Boer in lfs-support shown that the 
environment
variables from host can catch us completely off guard.  Though in 
his case

the
problem is that he forgot to create /home/lfs/.bash_profile, normally
/etc/bash.bashrc would be more dangerous (the book has no 
consideration of

this
file), and used by many distros.

So if there is no objection I'll commit the change we've discussed 
in last

Nov.:

/home/lfs/.bash_profile:

  exec env -i ENV=$HOME/.lfs_bashrc \
  HOME=$HOME    \
  TERM=$TERM    \
  PS1='\u:\w\$ '    \
  /bin/bash --posix

/home/lfs/.lfs_bashrc:

  set +o posix
  set +h
  umask 022
  LFS=/mnt/lfs
  LC_ALL=POSIX
  LFS_TGT=$(uname -m)-lfs-linux-gnu
  PATH=/usr/bin
  if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
  PATH=$LFS/tools/bin:$PATH
  export LFS LC_ALL LFS_TGT PATH


So the --posix in .bash_profile allows the use of
ENV=$HOME/.lfs_bashrc and then the first line in .lfs_bashrc turns posix
mode off?

At a minimum this looks like a hack that needs a fair amount of 
explanation.


The reason for this is because a user forgot to create .bash_profile?
In that case the above doesn't work.


The discussion just proved that environment variables from host are 
really

harmful.


  From https://sources.debian.org/src/bash/5.0-6/debian/README/

5. What is /etc/bash.bashrc? It doesn't seem to be documented.

 The Debian version of bash is compiled with a special option
 (-DSYS_BASHRC) that makes bash read /etc/bash.bashrc before 
~/.bashrc

 for interactive non-login shells. So, on Debian systems,
 /etc/bash.bashrc is to ~/.bashrc as /etc/profile is to
 ~/.bash_profile.

When I look at a debian system's /etc/bash.bashrc, I don't see what
would affect what we have now.  What was the reported problem?

We've been using the current structure for a long time without a
reported issue.  What's new?


I studied OpenSUSE bash.bashrc a little.  It's a giant monster script 
(even
sourcing some scripts from /etc/profile.d) so I won't be suprised if 
one day a

bash.bashrc breaks some package.

And after a sleep I realized a more serious issue:  if some distro has a
/usr/share/config.site (or /usr/etc/config.site, which is not FHS and 
shouldn't
exist), it would be used by autotools configure script *even if we are 
cross

compiling*, and break temporary glibc build.  Perhaps we should "export
CONFIG_SITE=/dev/null" in /home/lfs/.bashrc to override it.


I wrote the above before I saw the messages in -support.  I do note that 
in my debian system I used to get LFS up on my new system I edited 
/etc/bash.bashrc so the first line was 'return'.  I did that primarily 
because I don't like polluting the environment with bash completion stuff.


I think the problem is not 'exec env ... /bin/bash' directly, but the 
changes to bash invocation by some distros.


I wonder if 'exec env ... /bin/bash --init-file ~/.bashrc' would work. 
I'll do a test of that.


I tested several options.  That /etc/bash.bashrc thing is evil.  I 
edited it to put at the top: echo "IN /etc/bash.bashrc"


Even with your line

exec env -i ENV=$HOME/lfs-bashrc HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' 
/bin/bash --posix


(Note that I changed the file name to make it a non-hidden file.)

it STILL runs bash.bashrc.  --norc doesn't change that either.  Nor does
--init-file $HOME/lfs-bashrc

In the case if ubuntu though the posix setting does not install the 
function command_not_found_handle, but I don't think we can really count 
on that.


Really the I think the only way to handle this is to edit 
/etc/bash.bashrc to put a return in on the first line or to rename the 
file and let the user restore it if desired later.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: prevent the influence of host /etc/bash.bashrc

2020-06-20 Thread Bruce Dubbs via lfs-dev

On 6/20/20 7:07 PM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-20 16:58 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/20/20 2:42 PM, Xi Ruoyao via lfs-dev wrote:

The discussion with Frans de Boer in lfs-support shown that the environment
variables from host can catch us completely off guard.  Though in his case
the
problem is that he forgot to create /home/lfs/.bash_profile, normally
/etc/bash.bashrc would be more dangerous (the book has no consideration of
this
file), and used by many distros.

So if there is no objection I'll commit the change we've discussed in last
Nov.:

/home/lfs/.bash_profile:

  exec env -i ENV=$HOME/.lfs_bashrc \
  HOME=$HOME\
  TERM=$TERM\
  PS1='\u:\w\$ '\
  /bin/bash --posix

/home/lfs/.lfs_bashrc:

  set +o posix
  set +h
  umask 022
  LFS=/mnt/lfs
  LC_ALL=POSIX
  LFS_TGT=$(uname -m)-lfs-linux-gnu
  PATH=/usr/bin
  if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
  PATH=$LFS/tools/bin:$PATH
  export LFS LC_ALL LFS_TGT PATH


So the --posix in .bash_profile allows the use of
ENV=$HOME/.lfs_bashrc and then the first line in .lfs_bashrc turns posix
mode off?

At a minimum this looks like a hack that needs a fair amount of explanation.

The reason for this is because a user forgot to create .bash_profile?
In that case the above doesn't work.


The discussion just proved that environment variables from host are really
harmful.


  From https://sources.debian.org/src/bash/5.0-6/debian/README/

5. What is /etc/bash.bashrc? It doesn't seem to be documented.

 The Debian version of bash is compiled with a special option
 (-DSYS_BASHRC) that makes bash read /etc/bash.bashrc before ~/.bashrc
 for interactive non-login shells. So, on Debian systems,
 /etc/bash.bashrc is to ~/.bashrc as /etc/profile is to
 ~/.bash_profile.

When I look at a debian system's /etc/bash.bashrc, I don't see what
would affect what we have now.  What was the reported problem?

We've been using the current structure for a long time without a
reported issue.  What's new?


I studied OpenSUSE bash.bashrc a little.  It's a giant monster script (even
sourcing some scripts from /etc/profile.d) so I won't be suprised if one day a
bash.bashrc breaks some package.

And after a sleep I realized a more serious issue:  if some distro has a
/usr/share/config.site (or /usr/etc/config.site, which is not FHS and shouldn't
exist), it would be used by autotools configure script *even if we are cross
compiling*, and break temporary glibc build.  Perhaps we should "export
CONFIG_SITE=/dev/null" in /home/lfs/.bashrc to override it.


I wrote the above before I saw the messages in -support.  I do note that 
in my debian system I used to get LFS up on my new system I edited 
/etc/bash.bashrc so the first line was 'return'.  I did that primarily 
because I don't like polluting the environment with bash completion stuff.


I think the problem is not 'exec env ... /bin/bash' directly, but the 
changes to bash invocation by some distros.


I wonder if 'exec env ... /bin/bash --init-file ~/.bashrc' would work. 
I'll do a test of that.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: prevent the influence of host /etc/bash.bashrc

2020-06-20 Thread Bruce Dubbs via lfs-dev

On 6/20/20 2:42 PM, Xi Ruoyao via lfs-dev wrote:

The discussion with Frans de Boer in lfs-support shown that the environment
variables from host can catch us completely off guard.  Though in his case the
problem is that he forgot to create /home/lfs/.bash_profile, normally
/etc/bash.bashrc would be more dangerous (the book has no consideration of this
file), and used by many distros.

So if there is no objection I'll commit the change we've discussed in last Nov.:

/home/lfs/.bash_profile:

 exec env -i ENV=$HOME/.lfs_bashrc \
 HOME=$HOME\
 TERM=$TERM\
 PS1='\u:\w\$ '\
 /bin/bash --posix

/home/lfs/.lfs_bashrc:

 set +o posix
 set +h
 umask 022
 LFS=/mnt/lfs
 LC_ALL=POSIX
 LFS_TGT=$(uname -m)-lfs-linux-gnu
 PATH=/usr/bin
 if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
 PATH=$LFS/tools/bin:$PATH
 export LFS LC_ALL LFS_TGT PATH


So the --posix in .bash_profile allows the use of
ENV=$HOME/.lfs_bashrc and then the first line in .lfs_bashrc turns posix 
mode off?


At a minimum this looks like a hack that needs a fair amount of explanation.

The reason for this is because a user forgot to create .bash_profile? 
In that case the above doesn't work.


From https://sources.debian.org/src/bash/5.0-6/debian/README/

5. What is /etc/bash.bashrc? It doesn't seem to be documented.

   The Debian version of bash is compiled with a special option
   (-DSYS_BASHRC) that makes bash read /etc/bash.bashrc before ~/.bashrc
   for interactive non-login shells. So, on Debian systems,
   /etc/bash.bashrc is to ~/.bashrc as /etc/profile is to
   ~/.bash_profile.

When I look at a debian system's /etc/bash.bashrc, I don't see what 
would affect what we have now.  What was the reported problem?


We've been using the current structure for a long time without a 
reported issue.  What's new?


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Some comments on the test results.

2020-06-19 Thread Bruce Dubbs via lfs-dev

On 6/19/20 11:58 AM, Pierre Labastie via lfs-dev wrote:

On Fri, 2020-06-19 at 16:26 +0100, Ken Moffat via lfs-dev wrote:

I've now been through my test logs for the new build (on my i7
haswell).

Here are a few comments (in order of testing)



bison-3.6.3
---

Here, I strongly disagree that the tests need to be run with -j1.

On my i3 Skylake last December I had to use -j1 to get the package
to compile, and therefore I also used -j1 on that machine if I ran
the tests.  But on other machines I'm using -j8 both for the compile
and for the tests (and no failures).


Could be changed I guess


I added that because at -j22 the tests failed but passed at -j1.

I suppose I could test again at -j8.  -j1 is slooow.  On my last test 
build bison was about twice as long as the next longest package.  I'll 
note that I did not run tests on most packages, but only the ones I was 
updating at the time, but is was still longer than gcc without tests.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] ANNOUNCEMENT - Major Proposed Changes to LFS

2020-06-18 Thread Bruce Dubbs via lfs-dev

On 6/18/20 2:15 AM, Pierre Labastie via lfs-dev wrote:


Thanks. This is "just" a typo here, but I guess we'll find some more
errors: a big rewrite like that implies two very different tasks:
- make the instructions work (lot of trial and error)
- keep the text in sync with the instructions (not always easy since
the first task is a moving target:)


Yes, this is an iterative task.  I spent several days reading every page 
of the book and still missed some of the needed corrections.  Hopefully 
we can catch any remaining problems soon.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Stripping Again: loss of suid on some files

2020-06-17 Thread Bruce Dubbs via lfs-dev

On 6/17/20 3:36 PM, Ken Moffat via lfs-dev wrote:


On this build, after misreading 'stripping' earlier in the book (and
trashing the partial system by running it from within chroot) I had
to start over.  So, before trying 'stripping again' I exited,
unmounted, copied everything, then remounted before trying
'stripping again'.

I guess that means I can look at the backup to confirm that
stripping again did change the perms.  Will do that later.
Meanwhile, thanks for the correction for wall.


Hmm.  You did do the backup as root, right.

Doing a tar or cp as a regular user can change permissions.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Stripping Again: loss of suid on some files

2020-06-17 Thread Bruce Dubbs via lfs-dev

On 6/17/20 1:55 PM, Ken Moffat via lfs-dev wrote:

Bringing this here now that Scott Andrews has pointed me towards the
source of why users could not su on my new system: loss of suid.

In the past I have not usually run what was in 'Stripping Again'
because my CFLAGS drop debug information.  But I've now started to
allow that in elfutils (to get the tests to pass), so I know that at
least those libs could be stripped.

What has happened on this build is that all of the bin programs lost
the suid bit, i.e.

/bin/{mount,ping,ping6,su,umount}
/usr/bin/{chage,chfn,chsh,expiry,gpasswd,newgidmap}}
/usr/bin/{newgidmap,newgrp,newuidmap,passwd,wall}

Since nobody else has reported this for the moment, I'm merely
reporting iti, not attempting to fix the book.  In my own script for
Stripping Again I've now added

chmod -v 4755 /bin/{mount,ping,ping6,su,umount}
chmod -v 4755 /usr/bin/{chage,chfn,chsh,expiry,gpasswd}
chmod -v 4755 /usr/bin/{newgidmap,newgrp,newuidmap,passwd}
chmod -v 6755 /usr/bin/wall


All the files in the above match those permissions without doing 
anything different from the book on my system.  I did build the system 
manually.


One exception, wall, has permissions 2755 (-rwxr-sr-x with group tty).

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] Major Changes to LFS have been made

2020-06-16 Thread Bruce Dubbs via lfs-dev
The changes to LFS announced earlier are now incorporated into the main 
book. For those who checked out 
svn://svn.linuxfromscratch.org/LFS/trunk/BOOK/, you only need to do an 
'svn update' and rebuild the book.


For those who checked out the entire repository, you will need to go to 
the head of the LFS repository to do the update.


The old book is in the repository as LFS/branches/old-trunk.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] ANNOUNCEMENT - Major Proposed Changes to LFS

2020-06-15 Thread Bruce Dubbs via lfs-dev

On 6/15/20 6:28 AM, Kevin Buckley via lfs-dev wrote:


Might I playfully suggest that LFS should find a package that could
optionally be built with CMake, so as to introduce new readers to that
build system here too, rather than making them wait for that joy in
BLFS.


It has been considered, but cmake has a dependency tail that we do not 
want to introduce into LFS.


libuv
curl (with it's own set of dependencies)
libarchive (also with optional dependencies)

For the most part we want to minimize the number of packages that are in 
both LFS and BLFS.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] ANNOUNCEMENT - Major Proposed Changes to LFS

2020-06-15 Thread Bruce Dubbs via lfs-dev

On 6/15/20 2:09 AM, Kevin Buckley via lfs-dev wrote:

On Sat, 13 Jun 2020 at 20:46, Bruce Dubbs via lfs-dev
 wrote:


In the last few weeks, the LFS editors have been working on a major
overhaul of LFS.  This work can be reviewed at

http://www.linuxfromscratch.org/~bdubbs/cross2-lfs-book/



Was there an SVN reference (branch) to pull the sources from?



We welcome comments and criticisms large and small.

-- Bruce


These comments (or maybe criticisms - your interpretation: your rules)
based on a very quick speed read: please take that into consideration
when deciding.


We appreciate your input.


I'd like to see the "cross-compiling 101" sections, so

Introduction
Toolchain Technical Notes
General Compilation Instructions

in "chapter" 5, separated out from the package build sections there.


We can possibly put a header in the table of contents like we do for 
Java in 
http://www.linuxfromscratch.org/blfs/view/stable/general/prog.html, but 
the new Chapter 5 is now only 8 pages long.  A separate chapter doesn't 
make sense to me.



Appreciate they would make for a very small introductory chapter
but it somehow feels wrong as it is.

Not sure if I'd favour the Pass1 and Pass2 sections all being within
the same chapter or not though, or how one would entitle a chapter
that just contained just those five package builds, plus yet another
Introduction.


The pass1/pass2 titles are all in Part III.  In the full book there are 
really three builds for some packages.  The -pass titles are really to 
emphasize that the same packages are being built with different 
procedures fo rthe creation of the tools.



I am also aware that Ninja and Meson are still only "required" for
the SystemD version, but that LFS has decided to build packages
in the SysV revision with them, even though all required packages
can still be built using an Autotools-based approach.
(I 'm sure that claim is soon to be rendered invalid though?)


In BLFS is is hard to get away from meson and ninja.  A lot of packages 
are going to those (and in my opinion, not fast enough).  LFS has never 
been about minimalism.  If we did that we could omit things like man 
pages and vim.  It is about building a solid base system from which a 
user can build the real applications that are needed.



I appreciate there's a perception that the SysV and SysD books
should align as much as possible, indeed I've even got some
packages re-ordered on the basis of that view, but I'm less
convinced that the SystemD tail should wag the LFS dog.


It's doesn't really.  When we had separate source it was a major effort 
to keep both books in sync.  Over 90% of the two books are common so it 
makes sense to keep them together.



Given that LFS used to start from the view that one only built
what was needed to build the LFS-system, and never warming
to the systemd camp fire, i've always felt Ninja and Meson to be
a kind of feature-creep and so was wondering if that could be
made more explicit, so that people could see that Ninja and Meson
could happily be left out until BLFS.
(Though there's no getting away from them there: more's the pity!)


I generally don't do much with systemd either.  In BLFS there are over 
100 packages that use meson and over 100 others that use ninja. 
Recently I've become very unhappy with autotools because configure at 
-j1 takes as long as the make phase.  These newer tools are really better.



Then again, I could make the same claim for Intltool and a
couple of other packages related to it.

Looking forwards to trying it out though,


Again, thanks for your input.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] ANNOUNCEMENT - Major Proposed Changes to LFS

2020-06-14 Thread Bruce Dubbs via lfs-dev

On 6/14/20 11:41 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-06-14 10:49 -0500, Bruce Dubbs via lfs-dev wrote:

On 6/14/20 8:35 AM, Pierre Labastie via lfs-dev wrote:

On Sun, 2020-06-14 at 15:15 +0200, Pierre Labastie via lfs-dev wrote:

I am currently testing whether moving iana-etc before gcc may allow
tests to pass, as reported by Joe Locash. If so, I'll commit it.



Hmm, having iana-etc does not change anything to the
"22_locale/time_get/..." failures, and there is still one
failure in experimental/net/internet/resolver, even with a real
/etc/host installed!


Some details about the 22_locale/time_get/..." failures in gcc's
libstdc++ tests.

They all revolve around two files in the same way:

libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.c

They both do:

iterator_type is_it20(iss);
tm time20;
errorstate = good;
tim_get.get_time(is_it20, end, iss, errorstate, );
VERIFY( time20.tm_sec == time_bday.tm_sec );
VERIFY( time20.tm_min == time_bday.tm_min );
VERIFY( time20.tm_hour == time_bday.tm_hour );
VERIFY( errorstate == ios_base::eofbit );

The failure is in the last VERIFY macro.

I've tried to trace the logic of the tim_get.get_time function, but it's
complicated.

If that last VERIFY is commented out or changed to !=, then all the
time_get failures go away.


It's GCC PR71367:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71367


Nice find.  It looks like the test is actually doing it's job in 
pointing out a problem.  It does not seem like a priority to upstream 
because it has languished for over a year.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

[lfs-dev] ANNOUNCEMENT - Major Proposed Changes to LFS

2020-06-13 Thread Bruce Dubbs via lfs-dev
In the last few weeks, the LFS editors have been working on a major 
overhaul of LFS.  This work can be reviewed at


http://www.linuxfromscratch.org/~bdubbs/cross2-lfs-book/

The elements of building LFS using cross compiling techniques have 
changed a lot.  The old Chapter 5 has been split into three chapters 
that have a different focus for each chapter.


Some of the advantages include not requiring a /tools symlink on the 
host system and not requiring a lot of hackish symlinks when starting 
the final build system.


In addition, a lot of work was done to minimize the number of test 
failures in the different packages.


Finally, every page in the new book was reviewed and textual updates 
made to clarify different elements of the LFS process.


We welcome comments and criticisms large and small.

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Future for LFS

2020-06-12 Thread Bruce Dubbs via lfs-dev

On 6/12/20 10:00 PM, William Harrington via lfs-dev wrote:

Greetings,

I’ve noticed that LFS is only targeting i386 and AMD64.  The is a great hunger 
for LFS to support ARM. Many have wished for the support. What is keeping LFS 
from supporting ARM?

What I have seen while reading forums and IRC chat, LFS should be supporting 
ARM.
Why is the book only targeting I386 and X86_64 and nothing else?

There are ma y LFS users who have attempted to contribute their knowledge.
Why is LFS not using g one archs ?


You know, of course, that LFS is done 100% by volunteers.  It's not just 
time, but also money.  We pay of hosting and our development hardware.


For my part, I spend well over 40 hours a week on LFS and work on it 7 
days a week.  I don't have time to add another architecture.  I doubt 
the other editors do either.


If you want to clone LFS for an ARM architecture, then you are more than 
welcome.  We can even let it be hosted on the LFS servers.


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Odd failure to make the book

2020-06-12 Thread Bruce Dubbs via lfs-dev

On 6/12/20 7:14 PM, Ken Moffat via lfs-dev wrote:

I've been updating my local copy of cross2, and creating that book,
without noticing any obvious problems.  But before I attempt to
check my scripts agaisnt it I thought I'd better ensure that my copy
of trunk (from which I update package versions etc) was up to date.

It seems to be, but buildign the book errors -

ken@llamedos ~/repos/LFS/trunk/BOOK $make
Creating and cleaning /home/ken/tmp
Processing bootscripts...
Adjusting for revision sysv...
Validating the book...
Validation complete.
Generating profiled XML for XHTML...
Generating chunked XHTML files at ~/lfs-book/ ...
Copying CSS code and images...
mkdir: cannot create directory ‘/home/ken/lfs-book’: File exists
make: *** [Makefile:41: book] Error 1

Any ideas, please ?


You are in trunk, not cross2.

I don't know where that mkdir is coming from.  All the instances in the 
Makefile use -p for mkdir.


The line after Copying CSS should be Running Tidy.


   @echo "Copying CSS code and images..."
   $(Q)mkdir -p $(BASEDIR)/stylesheets
   $(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
   $(Q)pushd $(BASEDIR)/ > /dev/null; \
#   sed -i -e "s@../stylesheets@stylesheets@g" *.html; \
   popd > /dev/null

   $(Q)mkdir -p $(BASEDIR)/images
   $(Q)cp images/*.png $(BASEDIR)/images

   @echo "Running Tidy and obfuscate.sh..."

We probably should remove the three pushd...popd lines.

Is your Makefile different?

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] User 'tester' : why is the uid 1000 ?

2020-06-06 Thread Bruce Dubbs via lfs-dev

On 6/6/20 4:39 PM, Ken Moffat via lfs-dev wrote:


Well, again thanks, but I'm not at all certain.  For example, the
host system is the one where after its first boot I managed to run
the 'check' tests without failures.  Now (normal desktop installed,
but same kernel) the tests which raise sigfpe again fail.


You do a lot with different flags.  I only use them when absolutely 
necessary.  I suspect your issues have something to do with that.


Have you ever done any benchmarks comparing a build with and without 
your different flags?  If you are only changing installed space and/or 
execution time by a few percent then it seems that the benefit is not 
worth the effort.


Even if a task takes two seconds and you have a 50% reduction to one 
second, is it really important?  A 10% reduction from an hour to 54 
minutes is really not significant either unless you are doing that task 
continuously.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] User 'tester' : why is the uid 1000 ?

2020-06-06 Thread Bruce Dubbs via lfs-dev

On 6/6/20 2:05 PM, Ken Moffat via lfs-dev wrote:

I can see that the tester user gets added by a command which uses
  ls -n $(tty)
and I now see that this results for me in a value of 1000.

What I don't understand is where that comes from.  On my systems
user 1000 happens to be the most important regular user (i.e. me)
and (after trying a build without noticing this would duplicate the
UID - I already set up my regular users on the way into chroot) I
eventually discovered that coreutils was trying to chown to ken.

So, before I try to use a number of my own choosing: is it important
to match $(tty) ?  I can see that /dev/tty1 where I'm logged in has
an id of 1000, as do the /dev/pts for the terms I'm using.


It is important for some tests.  Look at the permissions for

$ ls -l /dev/pts
total 0
crw--w 1 1000 tty  136, 0 Jun  6 15:51 0
crw--w 1 1000 tty  136, 1 Jun  4 05:17 1

If the owner id doesn't match, then you can't read from the device.


 From memory, the book starts at user 1001 (some new-fangled change a
few years ago, too awkward to change all my files) - but would that
not mean that if I logged in as user 1001, ran startx (via elogind),
su, su lfs, the value would be 1001 in that case, and therefore I
would not be able to upload my user to /etc/passwd until LFS had
been completed ?


In the creating files section we have
users:x:999:

And in shadow
sed -i 's/1000/999/' etc/useradd

That sed makes /etc/default/useradd have 'GROUP=999'.  The combination 
makes the first user created by useradd have uid and gid values of 1000 
instead of the default 1001.  Of course if 1000 is already in use, it 
uses the next numerical value not already used.



I'm increasingly starting to think that I'm not cut out for this.


Sure you are.  We are all continuously learning new things.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: some improvements to LFS book

2020-05-29 Thread Bruce Dubbs via lfs-dev

On 5/30/20 12:00 AM, Xi Ruoyao via lfs-dev wrote:

On 2020-05-15 15:09 +0800, Xi Ruoyao via lfs-dev wrote:

On 2020-05-11 23:05 +0800, Xi Ruoyao via lfs-dev wrote:

On 2020-05-11 09:19 -0500, Bruce Dubbs via lfs-dev wrote:

On 5/11/20 8:23 AM, Pierre Labastie via lfs-dev wrote:

On Mon, 2020-05-11 at 19:51 +0800, Xi Ruoyao via lfs-dev wrote:

I just redone LFS build for GCC-10.1.0.  I proposed several
improvements during
the process:

At first, some changes suggested by Firas:

1. Remove bzip2 in Chap. 5.  No other changes needed.


decreases the total number of SBUs by 0.1 :) why not, though


2. Remove ncurses in Chap. 5.  Move Chap. 6 readline after ncurses to
satisify
it.
Notes:
(1) Chap. 5 Python 3 can be built w/o ncurses, just lacking one
module we don't
need.
(2) We moved readline before bc to satisify GNU bc, but now Gavin's
bc doesn't
need readline.


good point


(3) It slightly reduces the functionality of Chap. 5 bash.  Long
command lines
won't be wrapped automatically anymore.


It does much more than that if the terminfo database is not installed:
no backspace (more exactly, backspace outputs only a space forward...)
left and right arrows not functional.
In short, no way to correct a typo

can be Ok if scripting though


So I'll not do that.


In a recent thread we discovered gettext somehow depends on ncurses.  So it
should not be done, at all.


3. Remove flex in Chap. 5.  Move Chap. 6 flex before Binutils so
`ranlib` and
`ar` can link to libfl.so.  It seems bison test suite does not
depends on flex
any more.


bison chapter 6 will be built after flex anyway, if we do the above, so
whether it depends on it or not is not important.


However Firas' other suggestions are proved to be impossible.  Glibc
requires
bison, gzip, gettext, perl, texinfo, python, and xz (to be untarred)
so all of
them need to stay in Chap. 5.  Util-linux can't be removed from Chap.
5 due to
its circular dependency with systemd/eudev.

And:

4. Move Chap. 6 zstd before GCC, so GCC can link to libzstd.so and
use zstd to
compress LTO stream.


definitely to be done, independently on the other points.


5. Remove PKG_CONFIG_PATH=/tools/lib/pkgconfig in Chap. 6 kbd.  It
seems
unneeded now.

6. Remove PERL5LIB=$PWD/tests/ in Chap. 6 make.  It is unneeded now.

7. Add:

mkdir /tools/lib/locale
localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true

into Chap. 5 Glibc.  It will satisfy Chap. 6 man-db test.


Or link /tools/share/locale/locale-archive->/usr/share/locale/locale-
archive

allows also all bison tests to pass


8. Remove libctf{,-nobfd}.a (along with libbfd.a and libopcodes.a) in
"Cleaning
up" section.


Independent on the other points and should be done for sure.


Are they OK to be committed into trunk?


I'd say point 2 shouldn't not be committed, or only with some tweak of
the terminfo database...

among the other points:

- 4 and 8 should be done for sure.
- I've not tested 5 and 6, but I guess you have tested them, so go for
them too
- I'd rather use the link for point 7 (less instructions in chap 5
glibc). This is just one more line in "creating essentials symlinks and
files".


I agree that a link is better.


- I'm not sure about point 3: building flex only once is tempting, but
can the tests be run, and is flex the same as if rebuilt at the end of
chap 6?


I'll retry 3, 5 and 6 again to make sure, ...


For 3:

They are same (`diff` returns 0 for flex and libfl.so).  But I'm using some
CFLAGS w/o `-g` so the comparsion doesn't include debug information.

For 6:

Definitly OK.

For 5:

The configure script actually doesn't use pkg-config to find packages at all.


- Point 1 improves only marginally the build time, but why not?


Can we hold off on these changes for a week or so until we get BLFS
built with gcc10?


... in the meantime we can get BLFS built with gcc 10 :).


Now 7 is done (with a symlink), and 2 is ruled out.  If there is no objection
I'll do other.



zstd?  Go ahead.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] test results with locale-archive symlink and vim-8.2.0814 (trunk book)

2020-05-26 Thread Bruce Dubbs via lfs-dev

On 5/26/20 7:49 AM, Pierre Labastie via lfs-dev wrote:

[snip]


I have changed mounting /dev/pts as --bind. We should allow the
possibility to revert if we find out that some distros have gid!=5 for
tty. It removes one failure in coreutils tests.

I have changed the way to su to nobody for bash. There are still test
failures (diff output), due to the fact that nobody does not have r/w
access to /dev/stdin, /dev/stdout, or /dev/stderr. I think there are
two possibilities to fix this:
a - create a regular user, and use su - for this user
b - use util-linux' su with the -P option (allows to allocate a private
 terminal for the su session, which is not possible with shadow's
 su)


In chroot with /dev/pts as --bind I get:


root:/$ ls -l /dev/pts
total 0
crw--w 1 1000 tty  136, 1 May 26 09:13 1
crw--w 1 1000 tty  136, 2 May 25 12:12 2
c- 1 root root   5, 2 May 13 00:30 ptmx

When we add user nobody, perhaps it would be sufficient to make that 
user a member of the tty group.


Another thought is to create a user 'tester' with useradd with the 
required group membership and home directory and then at the end of 
Chapter 6 remove that user with userdel.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Automake: skip tags-lisp-space.sh

2020-05-21 Thread Bruce Dubbs via lfs-dev

On 5/21/20 5:41 PM, Ken Moffat via lfs-dev wrote:

At the moment we have a known failure in automake-1.16.2,
tags-lisp-space.sh.  This fails because etags is not present.  The
test tagsub similarly wants to use etags, but for that the test is
skipped.

The difference is that tagsub has
  required=etags
whereas tags-lisp-space.sh has
  required=''

This has already been fixed upstream:

commit 77d39959511295f5a30332d5d03f0a6956bd9460
Author: Karl Berry 
Date:   Tue Mar 24 18:30:18 2020 -0700

 tests: require etags for tags-lisp-space test.
 
 * t/tags-lisp-space.sh (required): set to etags.


diff --git a/t/tags-lisp-space.sh b/t/tags-lisp-space.sh
index d0a940ba3568..44312b0b7ab7 100755
--- a/t/tags-lisp-space.sh
+++ b/t/tags-lisp-space.sh
@@ -18,7 +18,7 @@
  # if there are CONFIG_HEADERS.
  # See automake bug#38139.
  
-required=''

+required=etags
  . test-init.sh
  
  # some AC_CONFIG_FILES header is needed to trigger the bug.


I tend to come up with ugly seds, I'm using

sed -i "/required=/s/=.*/=etags/" t/tags-lisp-space.sh

Maybe there is a better sed variant ?  It is always nice to reduce
the number of test failures in LFS.


There is only one instance of 'required' in t/tags-lisp-space.sh and 
only one instance of two adjacent single quotes.  I suggest:


sed -i "/''/etags/"  t/tags-lisp-space.sh

  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Why is the /toolchain symlink on the host system even needed?

2020-05-19 Thread Bruce Dubbs via lfs-dev

On 5/19/20 2:25 PM, Akira Urushibata via lfs-dev wrote:

Is there any problem with making a new directory at the filesystem
base level?

In theory there could be a distribution which already has a /tool
directory.  But I have never heard of that.

What alternatives are there to /tool ?  If /tool is so abhored, why
not try /usr/local instead ?  What happens when you do that?
The /usr/local directory must be empty for this to work and you
shouldn't do anything other than build LFS on this system.  But if
you dislike /tool , it should be worth a try.


We use /tools -> /mnt/lfs/tools as a location for creating the temporary 
tools used to build the system in Chapter 6.  In that way files like 
/tools/bin/make can be found via the identical path from the host and 
from within chroot.  When rebooting the completed system, the host's 
/mnt/lfs/tools becomes a directory, /tools, not a symlink, but is not used.


The FHS says that "*distributions* should not create new directories in 
the root hierarchy without extremely careful consideration of the 
consequences including for application portability."


LFS is not designed to be a distribution although many treat it that 
way.  Your distro, your rules.


Additionally, there is nothing preventing an LFS user from deleting or 
moving /tools from the host any time after Chapter 6.  /tools and 
/mnt/lfs/tools are really only temporary constructs.


I'll note that I have several non-FHS anointed entries in /: /build, 
/jhalfs, lost+found, and /sources.  Actually lost+found is almost always 
found for all distributions but is not mentioned in the FHS.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] CFLAGS in fixing up for gcc-10.

2020-05-13 Thread Bruce Dubbs via lfs-dev

On 5/13/20 11:33 PM, Ken Moffat via lfs-dev wrote:

I notice that in some places people have overridden any existing
CFLAGS when adding -fcommon.  In most places, for those of us who
care the fix is obvious (CFLAGS="$CFLAGS -fcommon").  One or two
packages will turn out to be more painful.

The first I've found is freeglut, where the book uses
   -DCMAKE_C_FLAGS=-fcommon

For people without any existing CFLAGS, that does the right thing
and respects the -O3 etc from specifying a Release build (seen by
using 'make VERBOSE=1') but for people who have extra flags such as
"-march=native -D_FORTIFY_SOURCE=2" those just get thrown away.

I'd assumed I could add
  -DCMAKE_CFLAGS="$CFLAGS -fcommon"

but if I do that, cmake tells me that CFLAGS was not referenced.

In this case, I am getting the right results (testing on a gcc-9
system) with:

CFLAGS="${CFLAGS} -fcommon" \
cmake -DCMAKE_INSTALL_PREFIX=/usr  \
   -DCMAKE_BUILD_TYPE=Release   \
   -DFREEGLUT_BUILD_DEMOS=OFF   \
   -DFREEGLUT_BUILD_STATIC_LIBS=OFF \
   -Wno-dev ..

Can I ask people to at least *consider* not trashing a user's
specified CFLAGS ?


Yes, we can do that, but right now we are trying to just get everything 
to build with gcc10.  When that is done, we can probably review and do 
'grep -r CFLAGS; in the book's xml top and do the right thing where we 
have had to make changes.


Also as new package releases address gcc10, we can probably remove a lot 
of the CFLAGS entries that we've been making.


  -- Bruce


--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] proposal: some improvements to LFS book

2020-05-11 Thread Bruce Dubbs via lfs-dev

On 5/11/20 8:23 AM, Pierre Labastie via lfs-dev wrote:

On Mon, 2020-05-11 at 19:51 +0800, Xi Ruoyao via lfs-dev wrote:

I just redone LFS build for GCC-10.1.0.  I proposed several
improvements during
the process:

At first, some changes suggested by Firas:

1. Remove bzip2 in Chap. 5.  No other changes needed.


decreases the total number of SBUs by 0.1 :) why not, though



2. Remove ncurses in Chap. 5.  Move Chap. 6 readline after ncurses to
satisify
it.
Notes:
(1) Chap. 5 Python 3 can be built w/o ncurses, just lacking one
module we don't
need.
(2) We moved readline before bc to satisify GNU bc, but now Gavin's
bc doesn't
need readline.


good point


(3) It slightly reduces the functionality of Chap. 5 bash.  Long
command lines
won't be wrapped automatically anymore.


It does much more than that if the terminfo database is not installed:
no backspace (more exactly, backspace outputs only a space forward...)
left and right arrows not functional.
In short, no way to correct a typo

can be Ok if scripting though



3. Remove flex in Chap. 5.  Move Chap. 6 flex before Binutils so
`ranlib` and
`ar` can link to libfl.so.  It seems bison test suite does not
depends on flex
any more.


bison chapter 6 will be built after flex anyway, if we do the above, so
whether it depends on it or not is not important.



However Firas' other suggestions are proved to be impossible.  Glibc
requires
bison, gzip, gettext, perl, texinfo, python, and xz (to be untarred)
so all of
them need to stay in Chap. 5.  Util-linux can't be removed from Chap.
5 due to
its circular dependency with systemd/eudev.

And:

4. Move Chap. 6 zstd before GCC, so GCC can link to libzstd.so and
use zstd to
compress LTO stream.


definitely to be done, independently on the other points.



5. Remove PKG_CONFIG_PATH=/tools/lib/pkgconfig in Chap. 6 kbd.  It
seems
unneeded now.

6. Remove PERL5LIB=$PWD/tests/ in Chap. 6 make.  It is unneeded now.

7. Add:

   mkdir /tools/lib/locale
   localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true

into Chap. 5 Glibc.  It will satisfy Chap. 6 man-db test.


Or link /tools/share/locale/locale-archive->/usr/share/locale/locale-
archive

allows also all bison tests to pass



8. Remove libctf{,-nobfd}.a (along with libbfd.a and libopcodes.a) in
"Cleaning
up" section.


Independent on the other points and should be done for sure.



Are they OK to be committed into trunk?


I'd say point 2 shouldn't not be committed, or only with some tweak of
the terminfo database...

among the other points:

- 4 and 8 should be done for sure.
- I've not tested 5 and 6, but I guess you have tested them, so go for
them too
- I'd rather use the link for point 7 (less instructions in chap 5
glibc). This is just one more line in "creating essentials symlinks and
files".
- I'm not sure about point 3: building flex only once is tempting, but
can the tests be run, and is flex the same as if rebuilt at the end of
chap 6?
- Point 1 improves only marginally the build time, but why not?


Can we hold off on these changes for a week or so until we get BLFS 
built with gcc10?


  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] chapter6: move Zstd before GCC?

2020-05-09 Thread Bruce Dubbs via lfs-dev

On 5/9/20 9:13 PM, Xi Ruoyao via lfs-dev wrote:

Now GCC optionally depends on zstd (using it like zlib to compress LTO IR).
Should we move zstd before GCC?



I think we can do that.  I looked at the dependencies and all are in 
Chapter 5.


  -- Bruce
--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Re: [lfs-dev] Add missing space...

2020-05-05 Thread Bruce Dubbs via lfs-dev

On 5/5/20 10:45 AM, Firas Khalil Khana via lfs-dev wrote:
For the sake of completeness, there's a missing space in Chapter 6, in 
E2fsprogs, and when listing Installed programs (between dumpe2fs and 
e2freefrag):


"Installed programs:
... debugfs, dumpe2fs,e2freefrag, e2fsck ..."


Will be fixed at next commit.

  -- Bruce

--
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

  1   2   3   4   5   6   7   8   9   10   >