Hi,
hier ein kleiner Bericht eines Newbies im Debian-Paket-compilieren:
Nachdem ich festgestellt habe, dass mutt-1.2.5 nur für i386 schon als binary im stable liegt, wollte ich mir das Teil selbst bauen. Und zwar nicht aus dem tar.gz sondern aus dem src-deb. Idee war: - apt-get ist zum pakete installieren da, also manual lesen und nach source durchsuchen. OK, sieht gut aus.
Erster versuch war also:
$ apt-get source --compile mutt
Ergebnis: -> orig.tar.gz, .diff und .dsc werden gesaugt -> aupacken, patchen, ./configure klappt -> compilieren geht schief (es scheitert an einem debianspezifischen shell-skipt)
zweiter Versuch per Hand: -> aupacken, patchen klappt rf11@rudi:~/src/mutt-1.2.5> dpkg-buildpackage dpkg-buildpackage: source package is mutt dpkg-buildpackage: source version is 1.2.5-4 dpkg-buildpackage: source maintainer is Marco d'Itri md@linux.it debian/rules clean DEB_BUILD_ARCH=sparc DEB_BUILD_GNU_CPU=sparc DEB_BUILD_GNU_SYSTEM=linux DEB_BUILD_GNU_TYPE=sparc-linux DEB_HOST_ARCH=sparc DEB_HOST_GNU_CPU=sparc DEB_HOST_GNU_SYSTEM=linux DEB_HOST_GNU_TYPE=sparc-linux /usr/bin/dpkg-buildpackage: debian/rules: Permission denied Exit 1
rf11@rudi:~/src/mutt-1.2.5> --> mhh, keine ahnung, was das soll: rf11@rudi:~/src/mutt-1.2.5> ll -d debian debian/rules drwxr-xr-x 2 rf11 users 4096 Apr 6 17:23 debian/ -rw-rw-rw- 1 rf11 users 3467 Apr 6 17:23 debian/rules
rf11@rudi:~/src/mutt-1.2.5> --> Das ding ist also lese- und schreibbar
3. Versuch, Methode Holzhammer, ich werde root
rf11@rudi:~> su - Password: root@rudi:~> cd ~rf11/src/mutt-1.2.5/ /home/rf11/src/mutt-1.2.5 root@rudi:/home/rf11/src/mutt-1.2.5> dpkg-buildpackage utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. dpkg-buildpackage: source package is mutt utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. dpkg-buildpackage: source version is 1.2.5-4 utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. dpkg-buildpackage: source maintainer is Marco d'Itri md@linux.it utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47. debian/rules clean DEB_BUILD_ARCH=sparc DEB_BUILD_GNU_CPU=sparc DEB_BUILD_GNU_SYSTEM=linux DEB_BUILD_GNU_TYPE=sparc-linux DEB_HOST_ARCH=sparc DEB_HOST_GNU_CPU=sparc DEB_HOST_GNU_SYSTEM=linux DEB_HOST_GNU_TYPE=sparc-linux /usr/bin/dpkg-buildpackage: debian/rules: Permission denied Exit 1 root@rudi:/home/rf11/src/mutt-1.2.5>
--> Ich bekomme also als root ein Permission denied - super (wie kann das sein? NFS und ähnlicher Unfug sind nicht im Spiel)
--> Warum regt sich dpkg-buildpackage pausenlos über utmp-enty != $LOGNAME auf? Erscheint mir völlig sinnlos.
*bröckel* Ich habe mich auf http://www.debian.org/doc/ddp nach entsprechender Doku umgesehen. Das "Debian Packaging Manual" scheint nicht zu existieren, die anderen manuals gehen auch nicht aufs Bauen von debs aus src-debs ein. Ergo: Ich müßte mich scheinbar für den 0815-Fall des Compilieren eines Paketes tatsächlich komplett durch dkpg-*.man quälen, wozu ich keine Zeit habe. Hat jemand einen Tip, was ich falsch mache oder wo man eine etwas zusammengefasste Doku zum Thema finden kann?
Reinhard
Am Freitag, 6. April 2001 18:02 schrieb Reinhard Foerster:
--> Ich bekomme also als root ein Permission denied - super (wie kann das sein? NFS und ähnlicher Unfug sind nicht im Spiel)
--> Warum regt sich dpkg-buildpackage pausenlos über utmp-enty != $LOGNAME auf? Erscheint mir völlig sinnlos.
Dejá-vu... Ist zwar Off-Topic, aber das erinnert mich an meine ersten verzweifelten Versuche, einen CVS-Server einzurichten: cannot read /root/.cvsignore: permission denied :-) Das wird wahrscheinlich eine Sicherheitssache sein.
Josef Spillner
Hi!
On Fri Apr 06, 2001 at 18:02:31 +0200, Reinhard Foerster wrote:
$ apt-get source --compile mutt
fakeroot apt-get source -b mutt
zweiter Versuch per Hand: -> aupacken, patchen klappt rf11@rudi:~/src/mutt-1.2.5> dpkg-buildpackage
[...]
/usr/bin/dpkg-buildpackage: debian/rules: Permission denied
dpkg-buildpackage -rfakeroot -uc -us
rf11@rudi:~> su - Password: root@rudi:~> cd ~rf11/src/mutt-1.2.5/ /home/rf11/src/mutt-1.2.5 root@rudi:/home/rf11/src/mutt-1.2.5> dpkg-buildpackage utmp entry ("rf11") does not match value of LOGNAME ("root"); using "root" at /usr/lib/dpkg/controllib.pl line 47.
[...]
--> Warum regt sich dpkg-buildpackage pausenlos über utmp-enty != $LOGNAME auf? Erscheint mir völlig sinnlos.
IMHO: Weil utmp==rf11 und $LOGNAME==root, mit fakeroot sollte das aber nicht mehr auftreten (ich hab das noch nie gesehen...).
*bröckel* Ich habe mich auf http://www.debian.org/doc/ddp nach entsprechender Doku umgesehen. Das "Debian Packaging Manual" scheint nicht zu existieren, die anderen manuals gehen auch nicht aufs Bauen von debs aus src-debs ein. Ergo: Ich müßte mich scheinbar für den 0815-Fall des Compilieren eines Paketes tatsächlich komplett durch dkpg-*.man quälen, wozu ich keine Zeit habe. Hat jemand einen Tip, was ich falsch mache oder wo man eine etwas zusammengefasste Doku zum Thema finden kann?
http://www.de.debian.org/doc/maint-guide/ http://www.de.debian.org/doc/debian-policy/
Die beiden URLs treffen es zwar nicht ganz, aber sollte genug Hinweise geben.
Adam
On Fri, Apr 06, 2001 at 07:39:00PM +0200, Adam Lackorzynski wrote:
Hi!
On Fri Apr 06, 2001 at 18:02:31 +0200, Reinhard Foerster wrote:
$ apt-get source --compile mutt
fakeroot apt-get source -b mutt
Ahhh. Das fakeroot ist der entscheidende Tip. Noch kann ich das mutt nicht komplett bauen, aber jetz kommen nur noch "normale" Fehler (im Makefile). Danke!
Reinhard
On 06.04.01 Reinhard Foerster (rf11@inf.tu-dresden.de) wrote:
On Fri, Apr 06, 2001 at 07:39:00PM +0200, Adam Lackorzynski wrote:
Hi!
On Fri Apr 06, 2001 at 18:02:31 +0200, Reinhard Foerster wrote:
$ apt-get source --compile mutt
fakeroot apt-get source -b mutt
Ahhh. Das fakeroot ist der entscheidende Tip. Noch kann ich das mutt nicht komplett bauen, aber jetz kommen nur noch "normale" Fehler (im Makefile). Danke!
Meinst Du das?
Making all in po make[3]: Entering directory /usr/home/hille/mutt-1.2.5/po' file=./`echo it | sed 's,.*/,,'.gmo \ && rm -f $file && PATH=../src:$PATH no -o $file it.po /bin/sh: no: command not found make[3]: *** [it.gmo] Error 127
Evntl.: apt-get install gettext
H.
On Tue, Apr 10, 2001 at 12:02:21PM +0200, Hilmar Preusse wrote:
Meinst Du das?
Making all in po make[3]: Entering directory /usr/home/hille/mutt-1.2.5/po' file=./`echo it | sed 's,.*/,,'.gmo \ && rm -f $file && PATH=../src:$PATH no -o $file it.po /bin/sh: no: command not found make[3]: *** [it.gmo] Error 127
Ja.
Evntl.: apt-get install gettext
Hilft weiter. Statt no steht jetzt msgfmt aus dem gettext-Paket dort. Danach hätte ich Stunden suchen müssen. Dann sollte sich eigentlich das configure-skript schon über das fehlende msgfmt beschweren. Wie bist du drauf gekommen?
Reinhard
Hilft weiter. Statt no steht jetzt msgfmt aus dem gettext-Paket dort. Danach hätte ich Stunden suchen müssen. Dann sollte sich eigentlich das configure-skript schon über das fehlende msgfmt beschweren. Wie bist du drauf gekommen?
Reinhard
Passt zwar nicht genau, aber ... Schau mal unter http://www.debian.org/distrib/packages - "Search the Contents of the Latest Release". Da kann man Pakete nach Dateinamen durchsuchen...
On 10.04.01 Reinhard Foerster (rf11@inf.tu-dresden.de) wrote:
Moin,
Evntl.: apt-get install gettext
Hilft weiter. Statt no steht jetzt msgfmt aus dem gettext-Paket dort. Danach hätte ich Stunden suchen müssen. Dann sollte sich eigentlich das configure-skript schon über das fehlende msgfmt beschweren. Wie bist du drauf gekommen?
Dann hau mal gettext wieder runter und bau nochmal. In config.log (bzw. der Bildschirmausgabe) steht eindeutig, daß er msgfmt sucht und nicht findet. Außerdem bau ich nicht zum ersten Mal ein Paket mit NLS. Die Fehlermeldung hab ich "erraten", indem ich das Source-Paket von debian gesaugt hab und selber versucht hab zu bauen.
H.
On Tue, Apr 10, 2001 at 02:44:24PM +0200, Hilmar Preusse wrote:
Dann hau mal gettext wieder runter und bau nochmal. In config.log (bzw. der Bildschirmausgabe) steht eindeutig, daß er msgfmt sucht und nicht findet.
Ja, das hatte ich auch gesehen. Nur bricht das configure normalerweise ganz ab, wenn es ein unbedingt nötiges Tool nicht findet oder schaltest das jeweilige Feature ab (also z.B. nls) Beides passierte nicht. Ich habe nun das makefile durchwühlt und auf Anhieb nix gefunden.
Außerdem bau ich nicht zum ersten Mal ein Paket mit NLS.
wenn es angeboten wird gebe ich dem configure immer ein --disable-nls mit
Die Fehlermeldung hab ich "erraten", indem ich das Source-Paket von debian gesaugt hab und selber versucht hab zu bauen.
Danke für den Aufwand.
Reinhard
On 10.04.01 Reinhard Foerster (rf11@inf.tu-dresden.de) wrote:
Moin,
Die Fehlermeldung hab ich "erraten", indem ich das Source-Paket von debian gesaugt hab und selber versucht hab zu bauen.
Danke für den Aufwand.
Jetzt kenn ich den Unterschied zwischen mutt-1.2.5-4 und mutt-1.2.5-5. In Release 5 war noch der Support zum Arbeiten mit komprimierten Foldern drin (siehe Homepage von R. Rosenfeld). Der ist scheinbar nicht ganz gut gewesen. Bei mir hat er noch keine Probleme bereitet.
H.
On Fri, Apr 06, 2001 at 06:02:31PM +0200, Reinhard Foerster wrote:
Hi,
hier ein kleiner Bericht eines Newbies im Debian-Paket-compilieren:
Nachdem ich festgestellt habe, dass mutt-1.2.5 nur für i386 schon als binary im stable liegt, wollte ich mir das Teil selbst bauen. Und zwar nicht aus dem tar.gz sondern aus dem src-deb. Idee war: ...
/usr/bin/dpkg-buildpackage: debian/rules: Permission denied Exit 1 root@rudi:/home/rf11/src/mutt-1.2.5>
--> Ich bekomme also als root ein Permission denied - super (wie kann das sein? NFS und ähnlicher Unfug sind nicht im Spiel)
Wenn das "x"-Bit nicht gesetzt ist kann selbst root das nicht ausfuehren. Er, bzw der Besitzer darf aber die Datei ausfuehrbar machen. Dann koennte es vielleicht funktionieren. Es gibt auch "fakeroot" (habe selbst noch nicht damit gearbeitet).
--> Warum regt sich dpkg-buildpackage pausenlos über utmp-enty != $LOGNAME auf? Erscheint mir völlig sinnlos.
Ja, stoerende Fehlermeldung. Hintergrund: Mach mal:
su -
# who am i
--> Es werden immer noch die Informationen von dem Benutzer angezeigt der "su" ausgefuehrt hat. Desshalb mache ich meist:
ssh root@localhost
Wenn man nach -X und -A setzt klappt es dann naemlich auch mit X-Anwendungen. (Was man normalerweise vermeidet)
*bröckel* Ich habe mich auf http://www.debian.org/doc/ddp nach entsprechender Doku umgesehen. Das "Debian Packaging Manual" scheint nicht zu existieren ....
Folgendes sollte helfen:
--vmware@sonne:~$ apt-cache search packaging ... packaging-manual - Debian Packaging Manual
On Fri, Apr 06, 2001 at 06:02:31PM +0200, Reinhard Foerster wrote:
Hi,
hier ein kleiner Bericht eines Newbies im Debian-Paket-compilieren:
Nachdem ich festgestellt habe, dass mutt-1.2.5 nur für i386 schon als binary im stable liegt, wollte ich mir das Teil selbst bauen. Und zwar nicht aus dem tar.gz sondern aus dem src-deb. Idee war:
- apt-get ist zum pakete installieren da, also manual lesen und nach source durchsuchen. OK, sieht gut aus.
Erster versuch war also:
$ apt-get source --compile mutt
fakeroot apt-get source --compile mutt
funktioniert.
Best regards from Dresden/Germany Viele Gruesse aus Dresden Heiko Schlittermann
lug-dd@mailman.schlittermann.de