[erledigt] tainted Pakete neu compilieren

Dieses Forum ist für Fragen zu Paketbau und Übersetzung vorgesehen :

Diese Bereiche sind für die Erstellung der Mageia Distribution essentiell.

Poste hier alle Fragen und Informationen zu den bereichen Paketbau und Übersetzungen: Feedbacks, Diskussionen über Regeln, Paketbaupraktiken, usw.

[erledigt] tainted Pakete neu compilieren

Beitragvon Bully » Jun 13th, '11, 18:02

Ich habe folgendes Problem
Wenn ich ein tainted Paket
z.B. vlc-1.1.9-4.mga1.tainted.src.rpm neu
bauen will rpm --rebuild vlc-1.1.9-4.mga1.tainted.src.rpm
bekomme ich immer vlc-1.1.9-4.mga1.i586.rpm statt
vlc-1.1.9-4.mga1.i586.tainted.rpm.
Meine Frage
Muss man irgendwelche Optionen mitgeben ( --with tainted )
oder so damit das richtige Paket gebaut wird?
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 13th, '11, 18:16

Das kommt daher, dass du höchstwahscheinlich keine Paketbauumgebung mit zugehöriger ~/.rpmmacros eingerichtet hast, also wird das distsuffix-Makro mit den Standardeinstellungen expandiert, das wäre in dem Falle mga. Ich glaube --with tainted wäre in dem Fall sogar richtig. Aber ganz abgesehen davon, darf man nach dem Grund für den Rebuild fragen? Da bei dir ja anscheinend schon etwas Vorwissen vorhanden ist, würdest du dich auch im Paketbauer-Team beteiligen?
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 13th, '11, 18:35

> dass du höchstwahscheinlich keine Paketbauumgebung mit zugehöriger ~/.rpmmacros eingerichtet hast
doch habe ich schon
> Aber ganz abgesehen davon, darf man nach dem Grund für den Rebuild fragen?
Ja klar
Ich habe mir das Mandriva vlc 1.1.10 Paket runtergeladen und dir spec File
nach Mageia angepasst und deshalb wollte ich das Paket neu übersetzen!
(angeblich Sicherheitspatches für Windows und Mac OS X und für Linux weiß ich es
leider nicht)
Hier mal die wichtigsten Zeilen von der SPEC Datei

...
%if "%{?distro_section}" == "tainted"
%define with_plf 1
%endif
...

Jetzt weiß ich nur nicht wie ich rpmbuild oder rpm --rebuild sagen soll,
dass ich ein tainted Paket haben will.

Wenn man am Anfang von den tainted Paketen
%define with_plf 0
auf
%define with_plf 1
ändert
wird zwar das richtige compiliert aber der
distsuffix bleibt bei mga.

> Vorwissen vorhanden ist, würdest du dich auch im Paketbauer-Team beteiligen?

Ja aber
mein Englisch ist nicht nicht gerade der Brüller
(oder eher schon und zwar unfreiwillig)

Relativ einfache Pakete wie Polipo oder so würde ich schon machen.
(Privoxy ist Mist und Polipo funktioniert wunderbar mit Mageia und TOR)

Danke für die Antwaort
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 13th, '11, 18:43

Was steht in deiner .rpmmacros für ein distsuffix?
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 13th, '11, 18:50

hier ist meine .rpmmacros

Code: Alles auswählen
%_topdir                %(echo $HOME)/rpm
%_tmppath               %(echo $HOME)/rpm/tmp
 
# If you want your packages to be GPG signed automatically, add these three lines
# replacing 'Mandrivalinux' with your GPG name. You may also use rpm --resign
# to sign the packages later.
%_signature             gpg
%_gpg_name              Mageia
%_gpg_path              ~/.gnupg
 
# Add your name and e-mail into the %packager field below. You may also want to
# also replace vendor with yourself.
%packager               Bully Bull bullybull@trash-mail.com
%distribution           Mageia
%vendor                 Mageia

%debug_package %{nil}
 
# If you want your packages to have your own distsuffix instead of mdv, add it
# here like this
#%distsuffix             foo


O.K. packager Name habe ich auf die schnelle geändert

Meine BUILD Umgebung habe ich nach dieser Anleitung eingerichtet

http://mageia.org/wiki/doku.php?id=rpm_start
Zuletzt geändert von doktor5000 am Jun 13th, '11, 22:06, insgesamt 1-mal geändert.
Grund: code-Tags gesetzt
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 13th, '11, 22:14

Ganz unten vor dem distsuffix nimmst du mal die Raute raus und schreibst anstatt foo tainted. Dann nochmal probieren, testweise.
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 13th, '11, 22:57

Test abgeschlossen

Jetzt heißen alle Pakete 1tainted1.i586.rpm statt mga1.tainted.i586.rpm :D
und es ist kein tainted Paket sondern core (ohne lame).
War aber klar
Die $HOME .rpmmacros uberschreibt natürlich die System rpmmacros.
Leider weiß ich aber nicht genau welche Datei die %mkrel Variable ( oder doch %distsuffix )
definiert
(/etc/rpm/macros.d/Default.macros)
und auch wenn die %mkrel Variable mga1.tainted statt mga1 heißt
heißt dass noch lange nicht dass auch ein tainted Paket gebaut wird.
Laut Mageia SPEC File muss auch die "%{?distro_section}" Variable auf
tainted gesetzt werden.
( dann wird PLF auf 1 gesetzt und es gibt ein echtes tainted Paket )
werden nur leider weiß ich nicht wie das geht :twisted:
tainted oder %{?distro_section} wird nirgends definiert
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon obgr_seneca » Jun 14th, '11, 07:23

Der Suffix ist doch auch völlig wurst, oder? Was willst Du denn mit dem?

Dass die Pakete im tainted-Repo - wenn Du genau hinsiehst, nur die neueren, die alten heißen einfach nur .mga1 - eine anderes Suffix haben, wird vom BS erledigt, das kann so was. Wie Du das genau machst, weiß ich nicht, aber der Code des BS liegt garantiert im Mageia svn, frag mich nur nicht wo...

Oliver

P.S. Was ich immer noch nicht ganz verstanden habe, ist das "warum"? Wenn das Paket im Repo ersnthafte Sicherheitsprobleme hat, wird es ein Update geben, wenn es große Feature-Änderungen gab, kommt sehr wahrscheinlich ein Backport.
Wenn Du den Paketbau lernen willst, würde ich mir was einfacheres nehmen...
Benutzeravatar
obgr_seneca
 
Beiträge: 439
Registriert: Mai 20th, '11, 14:10
Wohnort: Südwest-Deutschland

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 14th, '11, 11:44

> Der Suffix ist doch auch völlig wurst
Stimmt

> wird vom BS erledigt, das kann so was

Ich habe keine vollständige BUILD SYSTEM Umgebung (nur Desktop Rechner)

> "warum"?

warum nicht :)

> Wenn Du den Paketbau lernen willst, würde ich mir was einfacheres nehmen...

So kompliziert ist der VLC-Player auch wieder nicht.
Ich dacht immer Mageia RPMS seien Mandriva 2010.2/2011 Pakete.
Der Unterschied zwischen den SPEC Files ist doch minimal!
( beim VLC Player so 5 - 6 Zeilen )
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon wobo » Jun 14th, '11, 12:37

Vlc ist hier ein Sonderfall - der Unterschied zwischen der Version in core und der in tainted ist nicht die Versionsnummer sondern der Inhalt: VLC in tainted enthält lizensierte Teile, deswegen ist er in tainted. Das Gleiche betrifft natürlich auch den mplayer und andere. Es ist also sehr wohl wichtig, diesen suffix hinzuzufügen.
wobo
---
Jedes Tier, jede Pflanze und jeder Stein hat einen Sinn und Zweck im natürlichen Gesamtsystem. Nur der Mensch nicht.
Benutzeravatar
wobo
 
Beiträge: 1702
Registriert: Mai 20th, '11, 13:34

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 14th, '11, 17:04

> Es ist also sehr wohl wichtig, diesen suffix hinzuzufügen.

Jein
Ich baue die Pakete doch nur für mich!!!
Und ob die RPMS jetzt mga1 oder mga1.tainted heißen
ist jetzt nicht ganz so tragisch.
Haupsache der VLC Player hat die neuen Funktionen (z.B. lame)
Im BUILD SYSTEM von Mageia läuft das mit den tainted Paketen
sicher einwandfrei nur zu Hause auf dem normalen Desktop Rechner
bekommt man kein tainted Suffix hin. :twisted:
( wenn man der RPM-HOWTO Anleitung folgt )
Einen Switch wie --with tainted oder so gibt es nicht.


> Wenn das Paket im Repo ersnthafte Sicherheitsprobleme hat, wird es ein Update geben, wenn es große Feature-Änderungen gab, kommt sehr wahrscheinlich ein Backport

Hmm

http://www.videolan.org/

This release, 2 months after 1.1.9, was necessary because some security issues were found (see SA 1104),
and the VLC development team cares about security.
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 14th, '11, 17:10

Ja, aber beim eigens gebauten Paket ist das ja Wurst. Nur in dem Fall nicht, wenn er ein .mag-Paket mit der gleichen Versionsnummer
über ein tainted-Paketdrüberbügeln will. Das geht nicht, da beim alphanumerischen Vergleich von EVR (Epoch-Version-Release) t nach m kommt.
-> Dass tainted-Paket würde als neuer erkannt, bei ansonsten gleicher Versionsnummer.

Ansonsten wie üblich wohl ein akuter Fall von Versionitis, also nichts ernstes :D

@Du kannst jederzeit im IRC im #mageia-dev-Kanal nachfragen, wie du das mit dem -tainted-Suffix
bei einem manuellen Rebuild mittels rpmbuild hinbekommst, nur eben auf Englisch.
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon wobo » Jun 14th, '11, 17:19

ich denke mal, aus "pädagogischen Gründen" wäre es angezeigt, auch für den eigenen Bedarf den allgemeinen Regeln/Umständen zu folgen - ist aber nur meine eigene Meinung.

doktor5000 hat geschrieben:Das geht nicht, da beim alphanumerischen Vergleich von EVR (Epoch-Version-Release) t nach m kommt.
-> Dass tainted-Paket würde als neuer erkannt, bei ansonsten gleicher Versionsnummer.

Ah! Das beantwortet so nebenher eine meiner offenen Fragen bei der Installation!

Bei der Installation von der DVD ist ja /tainted noch nicht verfügbar (wenn man nicht automatisch eine Netzverbindung hat). Also werden die "normalen" Versionen von solchen Paketen wie VLC, mplayer, usw. installiert. Nach der Installation binde ich /tainted ein und muss nun manuell per urpmi string oder rpmdrake die entsprechenden tainted Pakete nachinstallieren, die dann laut Deiner Aussage einfach die normalen Pakete überschreiben, richtig?
wobo
---
Jedes Tier, jede Pflanze und jeder Stein hat einen Sinn und Zweck im natürlichen Gesamtsystem. Nur der Mensch nicht.
Benutzeravatar
wobo
 
Beiträge: 1702
Registriert: Mai 20th, '11, 13:34

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 14th, '11, 18:22

Es geht mir darum selbst ein tainted Paket zu erstellen.
( z.B. rpm --rebuild vlc-1.1.9-4.mga1.tainted.src.rpm )
Im Mageia BUILD SYSTEM geht das
Im SPEC File gibt es dazu folgenden Absatz

%if "%{?distro_section}" == "tainted"
%define with_plf 1
%endif

Wenn man das Paket jetzt aber zu Hause neu
kompiliert bekommt man immer core Pakete :twisted:

Ich habe mal folgendes ausprobiert, nämlich selbst einen --with tainted Schalter
im SPEC File einzubauen.


#if "%{?distro_section}" == "tainted"
#define with_plf 1
#endif

%bcond_with tainted

%if %with tainted
%define with_plf 1
%define distsuffix mga1.tainted
%endif

(die alte "%{?distro_section}" Sektion ist ausgerautet)

Wenn man jetzt dem BUILD Befehl --with tainted mitgibt (z. B.: rpmbuild -bb --with tainted)
wird ein tainted Paket erstellt UND ein tainted Suffix angehängt.
Einen kleinen Schönheitsfehler habe ich noch.
Das Suffix heißt jetzt 1mga1.tainted1 statt mga1.tainted.
Wie bringt man jetzt noch ein sauberes Suffix hin?

Danke für eure Geduld! (nicht ironisch gemeint!)
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 14th, '11, 19:31

wobo hat geschrieben:Also werden die "normalen" Versionen von solchen Paketen wie VLC, mplayer, usw. installiert. Nach der Installation binde ich /tainted ein und muss nun manuell per urpmi string oder rpmdrake die entsprechenden tainted Pakete nachinstallieren, die dann laut Deiner Aussage einfach die normalen Pakete überschreiben, richtig?


Ist wie mit den PLF-Quellen. Einfach nach dem Einbinden ein urpmi --auto-select und alle Pakete werden durch die verfügbaren -tainted-Versionen ersetzt, bei sonst gleicher Version da tainted > mga, es wird stupide alphanumerisch von links nach rechts verglichen, spätestens bei t > m ist Schluss und das Ergebnis klar.
Ich hab die -tainted-Paket über rpmdrake installiert über den Filter "Alle Updates", damit ich seit langer Zeit mal einen Grund hatte wieder rpmdrake benutzen zu können ;)
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 14th, '11, 19:32

@Bully: KAnn ich dir jetzt auf die Schnelle nicht sagen, müsste mir das mal zu Gemüte führen.
Hab noch keine richtige Zeit wieder für den Paketbau gehabt seit langem wegen IHK-Prüfung und so ...
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon wobo » Jun 14th, '11, 23:40

doktor5000 hat geschrieben:Ist wie mit den PLF-Quellen. Einfach nach dem Einbinden ein urpmi --auto-select und alle Pakete werden durch die verfügbaren -tainted-Versionen ersetzt

Tja, genau das habe ich natürlich machen wollen - eben aus der gleichen jahrelangen Erfahrung mit PLF. Aber nix wars - ich bekam nur gesagt, dass alle Quellen und alle Pakete auf dem neusten Stand sind.

PS: /tainted/release und /tainted/updates sind aktiviert.
wobo
---
Jedes Tier, jede Pflanze und jeder Stein hat einen Sinn und Zweck im natürlichen Gesamtsystem. Nur der Mensch nicht.
Benutzeravatar
wobo
 
Beiträge: 1702
Registriert: Mai 20th, '11, 13:34

Re: tainted Pakete neu compilieren

Beitragvon BicycleRepairMan » Jun 14th, '11, 23:57

wobo hat geschrieben:PS: /tainted/release und /tainted/updates sind aktiviert.

Und auch als Update-Medien markiert? Evtl. hilft noch ein vorheriges urpmi.update -a?
17''-Laptop Samsung R730-JT07: 4GB RAM, 2x2,53 Ghz, NVIDIA GeForce310M + Netbook: Acer Aspire One 532 mit 2GB RAM + Bastelrechner

"Yes! Wherever bicycles are broken or menaced by international communism, BicycleRepairMan is ready!"
Avatar © Phoenix
Benutzeravatar
BicycleRepairMan
 
Beiträge: 157
Registriert: Jun 13th, '11, 10:29

Re: tainted Pakete neu compilieren

Beitragvon wobo » Jun 15th, '11, 00:12

Ja. /tainted/update ist als Update-Medium markiert. Bei /tainted/release geht das nicht. Möglicherweise funktioniert es deswegen nicht - dann wäre aber die Frage, wie der Doktor es gemacht hat.
wobo
---
Jedes Tier, jede Pflanze und jeder Stein hat einen Sinn und Zweck im natürlichen Gesamtsystem. Nur der Mensch nicht.
Benutzeravatar
wobo
 
Beiträge: 1702
Registriert: Mai 20th, '11, 13:34

Re: tainted Pakete neu compilieren

Beitragvon Bully » Jun 15th, '11, 01:06

Endlich habe ich eine, naja wie soll ich sagen, eine krude Lösung gefunden. :)

Im SPEC File habe ich folgende Änderung durchgeführt

%if "%{?distro_section}" == "tainted"
%define with_plf 1
%endif

wird ausgerautet (o.k. blödes Wort)
und dann einen --with tainted Switch eingebaut

#if "%{?distro_section}" == "tainted"
#define with_plf 1
#endif

%bcond_with tainted

%if %with tainted
%define rel 2
%define release %rel%distsuffix%distro_release.tainted
%define with_plf 1
%endif

rel ist bei tainted um 1 höher damit das Update von core auf tainted klappt
%distsuffix%distro_release sieht furchtbar aus, aber %mkrel funktioniert irgendwie
nicht so richtig. Hat vielleicht jemand einen Vorschlag?

Wenn man jetzt das SPEC file mit rpmbuild -bb Dateiname.spec übersetzt
bekommt man Dateiname-Version.1.mga1.i586.rpm Paket also core
Das Gleiche nochmal mit rpmbuild -bb --with tainted Dateiname.spec
bekommt man Dateiname-Version.2.mga1.tainted.i586.rpm also tainted

Für den Hausgebrauch reicht mir das jetzt völlig aus.
( Habe ja nur Desktop BUILD System
im Mageia BS mag es sicherlich etwas anders aussehen
und der "%{?distro_section}" == "tainted" tag wird ausgewendet )

Um selber mal einen Patch auszuprobieren oder mal einen Backport zu
machen reicht es.

Danke nochmal für eure Antworten :D
Bully
 
Beiträge: 9
Registriert: Jun 13th, '11, 17:55

Re: tainted Pakete neu compilieren

Beitragvon doktor5000 » Jun 15th, '11, 17:18

Ich habe wie gesagt mittels drakrpm-edit-media unter Datei -> einen bestimmten Spiegelserver hinzufügen einen kompletten Satz Quellen hinzugefügt,
daran auch nichts verändert, und dann im RPMdrake auf Alle Pakete und Alle Updates umgestellt, und dann der Reihe nach alle Tainted-Updates angehakt.
Die einzigen Medien, die bei mir als Update-Medien markiert sind, sind Core_Updates, Nonfree_Updates und Tainted_Updates.
Ich bin nicht böse, sondern nur ehrlich. Und wer lesen kann, ist klar im Vorteil.
----
Mageia - the magic continues
Benutzeravatar
doktor5000
 
Beiträge: 6062
Registriert: Jun 2nd, '11, 09:39

Re: tainted Pakete neu compilieren

Beitragvon wobo » Jun 16th, '11, 01:13

Auf meinem auf Cauldron umgestellten System wurde bei urpmi --auto-update alles auf tainted umgestellt, was in tainted zur Verfügung steht. So wie es sein sollte. Seltsam, beim anderen Mageia 1, was ich als Produktivsystem nutze, klappte das nicht. <*schulterzuck*>
wobo
---
Jedes Tier, jede Pflanze und jeder Stein hat einen Sinn und Zweck im natürlichen Gesamtsystem. Nur der Mensch nicht.
Benutzeravatar
wobo
 
Beiträge: 1702
Registriert: Mai 20th, '11, 13:34


Zurück zu Paketbau und Übersetzung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron