Opened 11 years ago

Closed 11 years ago

#3323 closed enhancement (fixed)

Systemd 201

Reported by: Armin Owned by: lfs-book@…
Priority: normal Milestone: 7.4
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

Attachments (1)

udev-lfs-201-1.tar.bz2 (22.0 KB ) - added by bdubbs@… 11 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 by Armin, 11 years ago

docs/libudev/html and docs/gudev/html now has several API manuals - no need to ship them. Also, please enable firmware loader for older kernels - look at the mailing list for a fix.

comment:2 by bdubbs@…, 11 years ago

There is nothing in the change log about udev, gudev, keymap, or gobject files.

The changes look small, however using the -200 LFS Makefile. I get:

src/shared/util.c: In function 'create_tmp_dir':
src/shared/util.c:5726:9: error: 'for' loop initial declarations are only allowed in C99 mode
src/shared/util.c:5726:9: note: use option -std=c99 or -std=gnu99 to compile your code
src/shared/util.c:5740:9: error: redefinition of '_saved_umask_'
src/shared/util.c:5726:9: note: previous definition of '_saved_umask_' was here
src/shared/util.c:5740:9: error: 'for' loop initial declarations are only allowed in C99 mode
make: *** [build/util.o] Error 1

The error is in a macro RUN_WITH_UMASK

Otherwise, the build completes.

comment:3 by Armin, 11 years ago

http://cgit.freedesktop.org/systemd/systemd/commit/?id=bcadcb64ee9831013a223d9efbc784e7cce23a44
http://cgit.freedesktop.org/systemd/systemd/commit/?id=f45928521249bbaf5dbea84933ae2fcaf5354080
http://cgit.freedesktop.org/systemd/systemd/commit/?id=b97caef538ae37bd2dc04fc15b448c12a2c9422b
http://cgit.freedesktop.org/systemd/systemd/commit/?id=8c62ecf1a99ab4a3f69cb81be38715c504ef5723
http://cgit.freedesktop.org/systemd/systemd/commit/?id=bad490b0518e4fba1ac04022e0f7f7fa5c65dc76

Some of the commits related to udev.

As for the error, Systemd now uses gcc -std=gnu99 by default and LFS should use that, too.

http://cgit.freedesktop.org/systemd/systemd/tree/configure.ac#n60

in reply to:  3 comment:4 by bdubbs@…, 11 years ago

Replying to Krejzi:

http://cgit.freedesktop.org/systemd/systemd/commit/?id=bcadcb64ee9831013a223d9efbc784e7cce23a44
http://cgit.freedesktop.org/systemd/systemd/commit/?id=f45928521249bbaf5dbea84933ae2fcaf5354080
http://cgit.freedesktop.org/systemd/systemd/commit/?id=b97caef538ae37bd2dc04fc15b448c12a2c9422b
http://cgit.freedesktop.org/systemd/systemd/commit/?id=8c62ecf1a99ab4a3f69cb81be38715c504ef5723
http://cgit.freedesktop.org/systemd/systemd/commit/?id=bad490b0518e4fba1ac04022e0f7f7fa5c65dc76

These don't rise to the point of making the change log (NEWS). Most are formatting or style. I don't think they make a functional difference. Of course we'll update anyway.

As for the error, Systemd now uses gcc -std=gnu99 by default and LFS should use that, too.

Yes, I just saw that. Adding to OPTIONS allows a complete build. I still need to study what's needed for the man pages/docs.

comment:5 by bdubbs@…, 11 years ago

I'd appreciate it if someone would test the attached udev-lfs-201-1.tar.bz2 and comment back here.

comment:6 by Armin, 11 years ago

Builds for me. GCC-4.8.0 and Glibc 2.17.

Consider bumping soname of libudev to 1.3.2 and libgudev-1.0 to 0.1.3

Also, since /etc/udev/rules.d is for user defined rules, I'd recommend you move LFS specific rules to /lib/udev/rules.d since they are installed by package, not by user.

/usr/share/doc/udev is not versioned directory.

Install libudev api docs from docs/libudev/html/ to /usr/share/gtk-doc/html, too.

Don't use static keymaps list in makefile-incl.keymap ... Use something like this:

KEYMAPS = $(shell ls keymaps/* | sort)

KEYMAPS_FR = $(shell ls keymaps-force-release/* | sort)

Don't use LDFLAGS as variable in Makefile.lfs. Use LIBRARIES (not that correct) and allow user to override CFLAGS and LDFLAGS. Not that important, I guess - but useful for someone who wants to add some optimizations or whatever.

That's everything I could get from quick look at the build system and installed files.

comment:7 by Armin, 11 years ago

Also, I noticed on my systemd build that libgudev-1.0.so is explicitly linked to libgio-2.0 and libpthread. Please add these to gudev ldflags.

comment:8 by Armin, 11 years ago

On the other side, systemd build doesn't explicitly link pthread library to the udev components (udevd, udevadm, etc), so our build is more or less correct.

comment:9 by bdubbs@…, 11 years ago

I'll start working on this tomorrow. The only thing I don't agree with is moving lfs rules to /lib/udev/rules.d. I'd prefer not to mix lfs rules with upstream rules.

Last edited 11 years ago by bdubbs@… (previous) (diff)

by bdubbs@…, 11 years ago

Attachment: udev-lfs-201-1.tar.bz2 added

comment:10 by bdubbs@…, 11 years ago

I replaced the attached tarball with a new version. Armin, can you take another look?

comment:11 by bdubbs@…, 11 years ago

Resolution: fixed
Status: newclosed

Fixed at revision 10244.

Note: See TracTickets for help on using tickets.