Initial commit of LFS notes and scripts.
This commit is contained in:
80
lfs-scripts/udev.sh
Normal file
80
lfs-scripts/udev.sh
Normal file
@@ -0,0 +1,80 @@
|
||||
# Set the package we're building.
|
||||
package="systemd-256.4"
|
||||
extension=".tar.gz"
|
||||
|
||||
# Decompress the source.
|
||||
echo "Unpacking ${package}${extension} ..."
|
||||
tar xvf ${package}${extension}
|
||||
|
||||
# Enter the unpacked sources.
|
||||
echo "Entering ${package} directory ..."
|
||||
cd ${package}
|
||||
|
||||
# LFS commands.
|
||||
sed -i -e 's/GROUP="render"/GROUP="video"/' \
|
||||
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
|
||||
sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in
|
||||
sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h
|
||||
mkdir -p build
|
||||
cd build
|
||||
|
||||
meson setup .. \
|
||||
--prefix=/usr \
|
||||
--buildtype=release \
|
||||
-D mode=release \
|
||||
-D dev-kvm-mode=0660 \
|
||||
-D link-udev-shared=false \
|
||||
-D logind=false \
|
||||
-D vconsole=false
|
||||
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
|
||||
awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
|
||||
ninja udevadm systemd-hwdb \
|
||||
$(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
|
||||
$(realpath libudev.so --relative-to .) \
|
||||
$udev_helpers
|
||||
install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network}
|
||||
install -vm755 -d /usr/{lib,share}/pkgconfig
|
||||
install -vm755 udevadm /usr/bin/
|
||||
install -vm755 systemd-hwdb /usr/bin/udev-hwdb
|
||||
ln -svfn ../bin/udevadm /usr/sbin/udevd
|
||||
cp -av libudev.so{,*[0-9]} /usr/lib/
|
||||
install -vm644 ../src/libudev/libudev.h /usr/include/
|
||||
install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/
|
||||
install -vm644 src/udev/*.pc /usr/share/pkgconfig/
|
||||
install -vm644 ../src/udev/udev.conf /etc/udev/
|
||||
install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/
|
||||
install -vm644 $(find ../rules.d/*.rules \
|
||||
-not -name '*power-switch*') /usr/lib/udev/rules.d/
|
||||
install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
|
||||
install -vm755 $udev_helpers /usr/lib/udev
|
||||
install -vm644 ../network/99-default.link /usr/lib/udev/network
|
||||
tar -xvf ../../udev-lfs-20230818.tar.xz
|
||||
make -f udev-lfs-20230818/Makefile.lfs install
|
||||
tar -xf ../../systemd-man-pages-256.4.tar.xz \
|
||||
--no-same-owner --strip-components=1 \
|
||||
-C /usr/share/man --wildcards '*/udev*' '*/libudev*' \
|
||||
'*/systemd.link.5' \
|
||||
'*/systemd-'{hwdb,udevd.service}.8
|
||||
|
||||
sed 's|systemd/network|udev/network|' \
|
||||
/usr/share/man/man5/systemd.link.5 \
|
||||
> /usr/share/man/man5/udev.link.5
|
||||
|
||||
sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \
|
||||
> /usr/share/man/man8/udev-hwdb.8
|
||||
|
||||
sed 's|lib.*udevd|sbin/udevd|' \
|
||||
/usr/share/man/man8/systemd-udevd.service.8 \
|
||||
> /usr/share/man/man8/udevd.8
|
||||
|
||||
rm /usr/share/man/man*/systemd*
|
||||
unset udev_helpers
|
||||
udev-hwdb update
|
||||
|
||||
# Exit sources directory.
|
||||
echo "Exiting ${package} directory ..."
|
||||
cd ..
|
||||
|
||||
# Remove the directory of source files.
|
||||
echo "Removing ${package} directory ..."
|
||||
rm -rf ${package}
|
||||
Reference in New Issue
Block a user