Version 4 (modified by 8 years ago) (diff) | ,
---|
Bestaande Slackware packages importeren in SYN-3
Als een pakketje al in Slackware bestaat, dan word het aanbevolen deze te importeren en compilen voor de huidige versie van SYN-3.
Dit is grotendeels automatisch mogelijk via het importpackage script:
psy@ws1 ~/opensyn3/npl % sudo bash ./importpackage [sudo] password for psy: Usage: ./importpackage <category> <name> <url> Imports slackware package from specified slackware source url Example: ./importpackage system gmp 'http://mirrors.slackware.com/slackware/slackware-current/source/l/gmp/'
Voorbeeld: powertop importeren
Nu volgt een voorbeeld van het importeren van powertop vanuit SlackWare?.
Zoek de originele SlackBuild files op
Zoek de SlackBuild directory op in http://mirrors.slackware.com/slackware/slackware-current/source/
Powertop vinden we in http://mirrors.slackware.com/slackware/slackware-current/source/ap/powertop/
Importeer de package
Hieronder de output van de intiele build, er is wat output weggelaten.
psy@ws1 ~/opensyn3/npl % sudo ./importpackage overig powertop http://mirrors.slackware.com/slackware/slackware-current/source/ap/powertop/ --2017-01-19 14:48:29-- http://mirrors.slackware.com/slackware/slackware-current/source/ap/powertop// Resolving mirrors.slackware.com (mirrors.slackware.com)... 207.223.116.213 Connecting to mirrors.slackware.com (mirrors.slackware.com)|207.223.116.213|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1887 (1.8K) [text/html] Saving to: ‘index.html’ index.html 100%[==================================================================================================================================================================>] 1.84K --.-KB/s in 0s Last-modified header missing -- time-stamps turned off. 2017-01-19 14:48:33 (233 MB/s) - ‘index.html’ saved [1887/1887] (...) Adding SYN-3 packaging to powertop.SlackBuild ... Building package... Rebuild required: ./powertop-2.8.tar.xz has changed! REBUILDING /home/psy/opensyn3/npl/overig/powertop/powertop.SlackBuild: Buildroot maken: ..............................................................................................OK (...) 67 /tmp > cd powertop-2.8 70 /tmp/powertop-2.8 > chown -R root:root . 71 /tmp/powertop-2.8 > find . '(' -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 ')' -exec chmod 755 '{}' ';' -o '(' -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 ')' -exec chmod 644 '{}' ';' 77 /tmp/powertop-2.8 > LDFLAGS=' -lresolv -lz ' 77 /tmp/powertop-2.8 > CFLAGS='-O2 -march=i586 -mtune=i686' 77 /tmp/powertop-2.8 > CXXFLAGS='-O2 -march=i586 -mtune=i686' 77 /tmp/powertop-2.8 > ./configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc --localstatedir=/var --mandir=/usr/man --docdir=/usr/doc/-2.8 --build=i586-slackware-linux checking for a BSD-compatible install... /usr/bin/ginstall -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for style of include used by make... GNU checking for g++... g++ checking whether the C++ compiler works... yes checking for library containing pci_get_dev... no checking for LIBNL... no checking for LIBNL... no checking for LIBNL... no configure: error: libnl and libnl-genl are required but were not found 87 /tmp/powertop-2.8 > exit 1 *** Er ging iets mis tijdens het bakken in de buildroot! Chroot naar /tmp/buildroot0._home_psy_opensyn3_builder zodat je kunt onderzoeken (ctrl-d om te stoppen): [Syn-3] root@darkstar.example.net /tmp/build#
De build mislukt zoals we zien. Met ctrl-d verlaat je de buildroot.
Build probleem oplossen
Veel packages zijn bepaalde dependencies nodig.
In dit geval vraagt het configure script om libnl en libnl-genl.
We kijken of dit pakketje al in SYN-3 aanwezig is:
psy@ws1 ~/opensyn3/npl % find |grep libnl ./overig/libnl ./overig/libnl/libnl_dev.arch ./overig/libnl/libnl.version ./overig/libnl/libnl_dev.version ./overig/libnl/libnl-1.1.4.tar.gz ./overig/libnl/libnl.SlackBuild ./overig/libnl/libnl.info ./overig/libnl/libnl.pkg ./overig/libnl/libnl.SlackBuild.log.gz ./overig/libnl/libnl.arch ./overig/libnl/slack-desc ./overig/libnl/libnl.build ./overig/libnl/libnl_dev.build ./overig/libnl/libnl.major ./overig/libnl/libnl.md5 ./overig/libnl/libnl_dev.pkg
We geven nu aan in de SlackBuild dat deze dependency nodig is:
psy@ws1 ~/opensyn3/npl % sudo mcedit overig/powertop/powertop.SlackBuild
Voeg na de header deze regel toe:
#DEP:libnl