Alan Cox wysłał niedawno maila, którego cytuję pod koniec tego tekstu. Mail był dość ciekawy, ponieważ informował o nowym feature makefile’u przygotowywanym przez Alana dla kerneli 2.4.x.ac. Mianowicie Alan dodał w nich możliwość wydania komendy make rpm, która przygotowuje gotowego rpm-a z kernelem. Czy tego typu ułatwienie wydaje wam się rozsądnym, czy też można to zakwalifikować do kategorii Mudny Kernel?
Subject: make rpm From: Alan Cox <alan@lxorguk.ukuu.org.uk> Date: Sat, July 28, 2001 5:20 pm I've been meaning to do this one for a while and I now have it working so that with my current -ac kernel working tree I can type make rpm and out puts kernel-2.4.7ac3-1.i386.rpm All this took was the pieces below. Anyone care to knock up a "make dpkg" to go with it ? Alan --- # # RPM target # # If you do a make spec before packing the tarball you can rpm -ta it # spec: . scripts/mkspec >kernel.spec # # Build a tar ball , generate an rpm from it and pack the result # There arw two bits of magic here # 1) The use of /. to avoid tar packing just the symlink # 2) Removing the .dep files as they have source paths in them that # will become invalid # rpm: clean newversion spec find . ( -size 0 -o -name .depend ) -type f -print | xargs rm -f cd $(TOPDIR)/.. ; ln -s $(TOPDIR) $(KERNELPATH) ; tar cvfz $(KERNELPATH).tar.gz $(KERNELPATH)/. ; rpm -ta $(TOPDIR)/../$(KERNELPATH).tar.gz -- scripts/mkspec #!/bin/sh # # Output a simple RPM spec file that uses no fancy features requring # RPM v4. This is intended to work with any RPM distro. # # The only gothic bit here is redefining install_post to avoid # stripping the symbols from files in the kernel which we want # echo "Name: kernel" echo "Summary: The Linux Kernel" echo "Version: "$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION | sed -e "s/-//" echo -n "Release: " cat .version echo "Copyright: GPL" echo "Group: System Environment/Kernel" echo "Vendor: The Linux Community" echo "URL: http://www.kernel.org" echo -n "Source: kernel-$VERSION.$PATCHLEVEL.$SUBLEVEL" echo "$EXTRAVERSION.tar.gz" | sed -e "s/-//" echo "BuildRoot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root" echo "%define __spec_install_post /usr/lib/rpm/brp-compress || :" echo "" echo "%description" echo "The Linux Kernel, the operating system core itself" echo "" echo "%prep" echo "%setup -q" echo "" echo "%build" echo "make oldconfig dep clean bzImage modules" echo "" echo "%install" echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib $RPM_BUILD_ROOT/lib/modules' echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make modules_install' echo 'cp arch/i386/boot/bzImage $RPM_BUILD_ROOT'"/boot/vmlinuz-$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION" echo "" echo "%clean" echo '#echo -rf $RPM_BUILD_ROOT' echo "" echo "%files" echo '%defattr (-, root, root)' echo "%dir /lib/modules" echo "/lib/modules/$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION" echo "" -
Archiwalny news dodany przez użytkownika: honey.
Kliknij tutaj by zobaczyć archiwalne komentarze.