Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerge nicht jedesmal alles neu erstellen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
FrancisA
Tux's lil' helper
Tux's lil' helper


Joined: 17 Dec 2010
Posts: 111

PostPosted: Wed Jan 05, 2011 10:03 am    Post subject: emerge nicht jedesmal alles neu erstellen Reply with quote

Hallo,

1) wie kann ich (bei emerge) verhindern, dass jedesmal alles neu erstellt wird (und obj. Dateien behalten werden)?
Oder habe ich da etwas falsch aufgefasst?

2) wie ist das beim Kernel? da erstellt nach make menuconfig auch jedesmal alles neu
Back to top
View user's profile Send private message
arfe
Apprentice
Apprentice


Joined: 24 Aug 2005
Posts: 190
Location: Essen

PostPosted: Wed Jan 05, 2011 10:11 am    Post subject: Re: emerge nicht jedesmal alles neu erstellen Reply with quote

FrancisA wrote:
Hallo,

1) wie kann ich (bei emerge) verhindern, dass jedesmal alles neu erstellt wird (und obj. Dateien behalten werden)?
Oder habe ich da etwas falsch aufgefasst?


Ja, Du hast was falsch verstanden. Es wird nicht alles neu erstellt, sondern nur nach Updates oder beim Setzen
eines neuen USE-Flags.

Siehe: emerge --update --newuse --deep -pv world

oder revdep-rebuild, wenn eine neue Library kompiliert werden muss.


Quote:

2) wie ist das beim Kernel? da erstellt nach make menuconfig auch jedesmal alles neu


Nein! Bitte nochmal genau lesen was make menuconfig macht und wann es etwas nicht macht.

Du solltest Dir nochmal genau das Handbuch (handbook gentoo) durchlesen.
Weil solche Basics sollte man schon verstehen und können, bevor man sich mit gentoo auseinandersetzt.
Back to top
View user's profile Send private message
FrancisA
Tux's lil' helper
Tux's lil' helper


Joined: 17 Dec 2010
Posts: 111

PostPosted: Wed Jan 05, 2011 10:37 am    Post subject: Re: emerge nicht jedesmal alles neu erstellen Reply with quote

arfe wrote:


Ja, Du hast was falsch verstanden. Es wird nicht alles neu erstellt, sondern nur nach Updates oder beim Setzen
eines neuen USE-Flags.

Siehe: emerge --update --newuse --deep -pv world

oder revdep-rebuild, wenn eine neue Library kompiliert werden muss.


Ok

arfe wrote:


Nein! Bitte nochmal genau lesen was make menuconfig macht und wann es etwas nicht macht.

Du solltest Dir nochmal genau das Handbuch (handbook gentoo) durchlesen.
Weil solche Basics sollte man schon verstehen und können, bevor man sich mit gentoo auseinandersetzt.


Ja, hatte ich übersehen. Genau habe ich das nicht gelesen, mehr überflogen (das hole ich nochmals nach), ich wollte einfach möglichst schnell beginnen.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4408

PostPosted: Wed Jan 05, 2011 10:39 am    Post subject: Reply with quote

1) Ich weiß auch auch nicht, ob wir beide das gleiche meinen. Objekt-Dateien (also das Resultat des kompilierens eines einelnen Source-Files) werden nach erfolgreichem Build entfernt. Willst du das gleiche Programm nochmal neu bauen, beginnt das wieder bei 0. Es wäre absolut unnötige Speicherverschwendung, (und damit für dich unnötiger Arbewitsaufwand fürs regelmäßige händische Aufräumen), wenn alle Build-Directories nach dem erfolgreichen Emerge liegen blieben (in (var/tmp/portage).
Es gibt glaub ich ein Feature "preserve_work" o.Ä., was das Aufräumen nach dem emerge verhindert. Sei aber bitte vorsichtig damit. Ein einzelnes Paket kann samt Sourcen, Icons, sonstige Resourcen, Objekt-Files, fertige Binaries uswusf schon mal jenseits der 1GB-Grenze liegen. Und das dann ein paar mal und deine Partition macht Bumm (Voll, vorher fleißige Fragmentierung usw)
Es gibt aber eine Lösung: ccache. emerge ccache und in den Features CCACHE aktivieren, und die obj-files werden gecached, ein reemergen eines Paketes geht dann (langsamer Prozessor vorausgesetzt) deutlich schneller.

2) make menuconfig ändert nur die Config. Diese Änderung kann aber neben den aktivierten Features noch bei anderen Modulen eine Änderung triggern (evtl. nur durch einen eingebundenen Header), wodurch natürlich auch diese neu gebaut werden müssen. Ein make menuconfig wird aber garantiert nie ein Neubauen aller Module triggern (außer du änderst so viel, dass dies wirklich durch die Konfiguration notwendig wird).
Back to top
View user's profile Send private message
FrancisA
Tux's lil' helper
Tux's lil' helper


Joined: 17 Dec 2010
Posts: 111

PostPosted: Wed Jan 05, 2011 10:54 am    Post subject: Reply with quote

franzf wrote:
1) Ich weiß auch auch nicht, ob wir beide das gleiche meinen. Objekt-Dateien (also das Resultat des kompilierens eines einelnen Source-Files) werden nach erfolgreichem Build entfernt. Willst du das gleiche Programm nochmal neu bauen, beginnt das wieder bei 0. Es wäre absolut unnötige Speicherverschwendung, (und damit für dich unnötiger Arbewitsaufwand fürs regelmäßige händische Aufräumen), wenn alle Build-Directories nach dem erfolgreichen Emerge liegen blieben (in (var/tmp/portage).
Es gibt glaub ich ein Feature "preserve_work" o.Ä., was das Aufräumen nach dem emerge verhindert. Sei aber bitte vorsichtig damit. Ein einzelnes Paket kann samt Sourcen, Icons, sonstige Resourcen, Objekt-Files, fertige Binaries uswusf schon mal jenseits der 1GB-Grenze liegen. Und das dann ein paar mal und deine Partition macht Bumm (Voll, vorher fleißige Fragmentierung usw)
Es gibt aber eine Lösung: ccache. emerge ccache und in den Features CCACHE aktivieren, und die obj-files werden gecached, ein reemergen eines Paketes geht dann (langsamer Prozessor vorausgesetzt) deutlich schneller.



Hallo Franz,
ich war fast ein bisschen eingeschüchtert (oder emfpand es als Vorwurf, den ich so nicht ganz akzeptieren kann) von der vorletzten Antwort in diesem Thread (ich habe die Dokus schon gelesen, aber auch nciht übermässig genau). ;) Das habe ich gemeint, dass obj Dateien entfernt werden (auch mit gutem Grund, eben wie Du geschrieben hast, weil die Platte dann bald einmal zugemüllt wäre. Die meisten Sachen will man eh nur einmal compilieren. Aber die Frage zielt auch daraufhin hinaus, angenommen ich möchte etwas patchen. Bleibt das beim nächsten Update dann wahrscheinlich (nicht) bestehen. Kann man so etwas permanent machen?

franzf wrote:

2) make menuconfig ändert nur die Config. Diese Änderung kann aber neben den aktivierten Features noch bei anderen Modulen eine Änderung triggern (evtl. nur durch einen eingebundenen Header), wodurch natürlich auch diese neu gebaut werden müssen. Ein make menuconfig wird aber garantiert nie ein Neubauen aller Module triggern (außer du änderst so viel, dass dies wirklich durch die Konfiguration notwendig wird).


Ok, danke, alles klar.
Back to top
View user's profile Send private message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4408

PostPosted: Wed Jan 05, 2011 11:08 am    Post subject: Reply with quote

FrancisA wrote:
Bleibt das beim nächsten Update dann wahrscheinlich (nicht) bestehen. Kann man so etwas permanent machen?

man make.conf -> FEATURES -> keepwork
Back to top
View user's profile Send private message
FrancisA
Tux's lil' helper
Tux's lil' helper


Joined: 17 Dec 2010
Posts: 111

PostPosted: Wed Jan 05, 2011 11:16 am    Post subject: Reply with quote

franzf wrote:
FrancisA wrote:
Bleibt das beim nächsten Update dann wahrscheinlich (nicht) bestehen. Kann man so etwas permanent machen?

man make.conf -> FEATURES -> keepwork

Danke nochmals.
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3626
Location: Germany

PostPosted: Wed Jan 05, 2011 11:27 am    Post subject: Reply with quote

Bezüglich Patches einspielen ist evtl. auch folgender Tipp noch ganz interessant - Wie man einen Patch einspielt
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Wed Jan 05, 2011 11:28 am    Post subject: Reply with quote

FrancisA wrote:
angenommen ich möchte etwas patchen. Bleibt das beim nächsten Update dann wahrscheinlich (nicht) bestehen. Kann man so etwas permanent machen?

1. Du gehst in das Verzeichnis des Ebuilds, z.B. /usr/portage/app-office/openoffice
Code:
ebuild openoffice unpack


2. Jetzt gehst du in /var/tmp/portage/xxx und machst dort Deine Änderungen. Anschließend
Code:
diff OriginalDatei GeänderteDatei > Patch.diff


3. Den Patch steckst du jetzt in: /usr/portage/app-office/openoffice/files
4. In /usr/portage/app-office/openoffice editierst du das entsprechende Ebuild (Patch eintragen). Aschließend führst du für das modifzierte Ebuild aus:
Code:
ebuild openoffice-xxx.ebuild digest


Und damit Dein Patch auch nach dem nächsten Sync noch bestehen bleibt, kopierst du am besten das modifizierte Ebuild ins Overlay-Verzeichnis /usr/local/portage/irgendwas).


Willst du nur einen bereits vorhandenen Patch anwenden, ohne das Ebuild umzuschreiben.
Code:
ebuild openoffice-3.xxx.ebuild unpack
cd /var/tmp/portage/app-office/xxx
patch xxx
cd /usr/portage/app-office/openoffice
ebuild openoffice-3.xxx.ebuild compile
ebuild openoffice-3.xxx.ebuild install
ebuild openoffice-3.xxx.ebuild qmerge
Back to top
View user's profile Send private message
FrancisA
Tux's lil' helper
Tux's lil' helper


Joined: 17 Dec 2010
Posts: 111

PostPosted: Wed Jan 05, 2011 11:31 am    Post subject: Reply with quote

musv wrote:
FrancisA wrote:
angenommen ich möchte etwas patchen. Bleibt das beim nächsten Update dann wahrscheinlich (nicht) bestehen. Kann man so etwas permanent machen?

1. Du gehst in das Verzeichnis des Ebuilds, z.B. /usr/portage/app-office/openoffice
Code:
ebuild openoffice unpack

[Anleitung...]



Cool, lauter wertvolle Tips, danke, das ist wirklich ein freundliches und hilfsbereites Forum. ;)
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4459

PostPosted: Wed Jan 05, 2011 12:13 pm    Post subject: Reply with quote

wobei man die vorgehensweise von musv ein problem hat.
Das ebuild wird im portage tree verändert. Diese Änderung ist aber bei dem nächsten sync weg.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Finswimmer
Moderator
Moderator


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Wed Jan 05, 2011 12:27 pm    Post subject: Reply with quote

firefly wrote:
wobei man die vorgehensweise von musv ein problem hat.
Das ebuild wird im portage tree verändert. Diese Änderung ist aber bei dem nächsten sync weg.


Nein, denn:

musv wrote:

Und damit Dein Patch auch nach dem nächsten Sync noch bestehen bleibt, kopierst du am besten das modifizierte Ebuild ins Overlay-Verzeichnis /usr/local/portage/irgendwas).

_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum