#!/bin/sh # ###################################################### # Build script for Core 6.0 # # # # See .info for details # ###################################################### tce-load -i compiletc squashfs-tools git glib2-dev gobject-introspection-dev pciutils usbutils ###################################################### # Configure extension creation parameters # ###################################################### SRCPATH="../../../sources" SRCNAM=udev-174.tar.xz WRKDIR=udev-174 BASENAME=udev_base UDEVLIB=udev-lib UDEVEXTRA=udev-extra UDEVV4L=udev_extras_v4l GUDEVLIB=gudev-lib GUDEVGIR=gudev-gir TMPBASE=/tmp/$BASENAME TMPUDEV=/tmp/$UDEVLIB TMPUDEVEXTRA=/tmp/$UDEVEXTRA TMPUDEVV4L=/tmp/$UDEVV4L TMPGUDEV=/tmp/$GUDEVLIB TMPGUDEVGIR=/tmp/$GUDEVGIR ###################################################### # Prepare extension creation # ###################################################### # Remove dirs and files left from previous creation rm -r -f $WRKDIR rm -r -f $TMPUDEV rm -r -f $TMPUDEV-dev rm -r -f $TMPBASE rm -r -f $TMPUDEVEXTRA rm -r -f $TMPUDEVV4L rm -r -f $TMPGUDEV rm -r -f $TMPGUDEVGIR # Crete temporary directory mkdir -p $TMPDIR ###################################################### # Compile extension # ###################################################### # Export variables needed for compilation case $(uname -m) in armv*) export CFLAGS="-Os -pipe -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp" export CXXFLAGS="-Os -pipe -march=armv6zk -mtune=arm1176jzf-s -mfpu=vfp" ;; aarch64) export CFLAGS="-Os -pipe -march=armv8-a+crc -mtune=cortex-a72" export CXXFLAGS="-Os -pipe -march=armv8-a+crc -mtune=cortex-a72" ;; esac export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig # Unpack source in current directory tar xf ${SRCPATH}/${SRCNAM} # Configure it cd $WRKDIR sed -i -e '/deprecated/d' udev/udevadm-trigger.c wget -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD' wget -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD' mv -f config.guess build-aux/ mv -f config.sub build-aux/ patch -Np0 -i ../udev-piCore.patch # Build with --disable-gudev before glib2 is built. # Build with --disable-introspection until libgudev is built. The makefile cannot find the libs in the build dir ./configure --prefix=/usr/local --sysconfdir=/etc --sbindir=/sbin --with-rootlibdir=/usr/local/lib \ --libexecdir=/lib/udev --disable-keymap --libdir=/usr/local/lib \ --disable-introspection \ --disable-hwdb \ --with-firmware-path=/lib/firmware/updates:/lib/firmware:/usr/local/lib/firmware/updates:\ /usr/local/lib/firmware --with-pci-ids-path=/usr/local/share/hwdata \ --with-usb-ids-path=/usr/local/share # Compile make -j6 # Install in base temp dir make install DESTDIR=$TMPUDEV sudo cp -P ${TMPUDEV}/usr/local/lib/* /usr/local/lib sudo ldconfig ./configure --prefix=/usr/local --sysconfdir=/etc --sbindir=/sbin --with-rootlibdir=/usr/local/lib \ --libexecdir=/lib/udev --disable-keymap --libdir=/usr/local/lib \ --enable-rule_generator \ --with-firmware-path=/lib/firmware/updates:/lib/firmware:/usr/local/lib/firmware/updates:\ /usr/local/lib/firmware --with-pci-ids-path=/usr/local/share/hwdata \ --with-usb-ids-path=/usr/local/share make -j6 make install DESTDIR=$TMPUDEV # Delete compilation work directory cd .. rm -r -f $WRKDIR # Adjust directory access rigths find $TMPUDEV/ -type d | xargs chmod -v 755; # Strip executables find $TMPUDEV | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded # Move files to doc extension mkdir -p $TMPUDEV-doc/usr/local/share mv $TMPUDEV/usr/local/share/doc $TMPUDEV-doc/usr/local/share mv $TMPUDEV/usr/local/share/man $TMPUDEV-doc/usr/local/share mv $TMPUDEV/usr/local/share/gtk-doc $TMPUDEV-doc/usr/local/share # Move files for base mkdir -p ${TMPBASE} mv -f $TMPUDEV/etc $TMPBASE mv -f $TMPUDEV/sbin $TMPBASE mkdir -p ${TMPBASE}/etc/udev/rules.d mv $TMPUDEV/lib/udev/udevd $TMPBASE/sbin mv $TMPUDEV/lib/udev/rules.d/42* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/50* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/60-cd* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/60-persistent-alsa* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/60-persistent-input* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/60-persistent-serial* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/60-persistent-storage* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/80-drivers* $TMPBASE/etc/udev/rules.d mv $TMPUDEV/lib/udev/rules.d/95-udev* $TMPBASE/etc/udev/rules.d # Remove .la files rm -f $TMPUDEV/usr/local/lib/*.la # Move gudev-lib mkdir -p $TMPGUDEV/usr/local/lib mv -f $TMPUDEV/usr/local/lib/libgudev* $TMPGUDEV/usr/local/lib # Move gudev-gir mkdir -p $TMPGUDEVGIR/usr/local/lib mkdir -p $TMPGUDEVGIR/usr/local/share mv -f $TMPUDEV/usr/local/lib/gir* $TMPGUDEVGIR/usr/local/lib mv -f $TMPUDEV/usr/local/share/gir* $TMPGUDEVGIR/usr/local/share # Move gudev dev files mkdir -p $TMPGUDEV-dev/usr/local/lib/pkgconfig mkdir -p $TMPGUDEV-dev/usr/local/include mv $TMPUDEV/usr/local/include/gudev* $TMPGUDEV-dev/usr/local/include mv $TMPUDEV/usr/local/lib/pkgconfig/gudev* $TMPGUDEV-dev/usr/local/lib/pkgconfig # Move files to udev dev extension mkdir -p $TMPUDEV-dev/usr/local/lib mv $TMPUDEV/usr/local/include $TMPUDEV-dev/usr/local mv $TMPUDEV/usr/local/lib/pkgconfig $TMPUDEV-dev/usr/local/lib mv $TMPUDEV/usr/local/share/pkgconfig/* $TMPUDEV-dev/usr/local/lib/pkgconfig rm -rf $TMPUDEV/usr/local/share # Move extras v4l mkdir -p $TMPUDEVV4L/lib/udev mv $TMPDIR/lib/udev/v4l* $TMPUDEVV4L/lib/udev/ mkdir -p $TMPUDEVV4L/usr/local/share/udev/files mv $TMPDIR/lib/udev/rules.d/60-persistent-v4l* $TMPUDEVV4L/usr/local/share/udev/files mkdir -p $TMPUDEVV4L/usr/local/tce.installed cp -f udev_extras_v4l $TMPUDEVV4L/usr/local/tce.installed chmod -R 775 $TMPUDEVV4L/usr/local/tce.installed sudo chown -R root:staff $TMPUDEVV4L/usr/local/tce.installed # move udev extras mkdir -p $TMPUDEVEXTRA mv $TMPUDEV/lib $TMPUDEVEXTRA mkdir -p $TMPUDEVEXTRA/usr/local/etc mkdir -p $TMPUDEVEXTRA/usr/local/tce.installed cp udev-extra.conf $TMPUDEVEXTRA/usr/local/etc cp udev-extra $TMPUDEVEXTRA/usr/local/tce.installed chmod -R 775 $TMPUDEVEXTRA/usr/local/tce.installed sudo chown -R root:staff $TMPUDEVEXTRA/usr/local/tce.installed ################################################### # Create base extension in temp dir # ################################################### EXTLIST="udev-lib udev-lib-dev udev-extra udev_extras_v4l gudev-lib gudev-lib-dev gudev-gir" for i in $EXTLIST;do TMPDIR=/tmp/$i cd $TMPDIR cd .. mksquashfs $TMPDIR $i.tcz cd $TMPDIR find * -not -type d > $i.tcz.list mv ../$i.tcz . # Create md5 file md5sum $i.tcz > $i.tcz.md5.txt # Cleanup temp directory #rm -r -f usr done