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.

Oznaczone jako → 
Share →