Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] ecompressdir deaktivieren
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
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1189

PostPosted: Fri Jun 01, 2012 12:06 pm    Post subject: [gelöst] ecompressdir deaktivieren Reply with quote

Hallo, ich wollte mal wissen, ob es möglich ist ecompressdir zu deaktivieren? Hintergrund ist, ich bin vor kurzem auf btrfs umgestiegen und habe da die kompression aktiviert. Deswegen, finde ich, ist es nicht mehr nötig (für mich, und ja, ich weiß dass ecompressdir nen besseren Algorithmus verwendet).
Deswegen die frage: geht das?

Schöen Grüße
Christian


Last edited by Christian99 on Sun Jun 03, 2012 8:54 pm; edited 1 time in total
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6296

PostPosted: Sat Jun 02, 2012 6:43 am    Post subject: Reply with quote

Code:
PORTAGE_COMPRESS="true"

(statt das "true"-Programm redundant aufzurufen kann man vielleicht auch einen leeren String nehmen - nicht getestet).
Back to top
View user's profile Send private message
Atom2
Apprentice
Apprentice


Joined: 01 Aug 2011
Posts: 185

PostPosted: Sat Jun 02, 2012 10:53 am    Post subject: Reply with quote

mv wrote:
Code:
PORTAGE_COMPRESS="true"

(statt das "true"-Programm redundant aufzurufen kann man vielleicht auch einen leeren String nehmen - nicht getestet).


Ich denke eigentlich nicht, daß durch
Code:
PORTAGE_COMPRESS="true"
das Programm true aufgerufen wird. Vielmehr ist das wohl eine Zuweisung der Zeichenkette "true" (ohne die Anführungszeichen) an die (shell) Variable PORTAGE_COMPRESS. Dies unter der Annahme, daß die Zeile in einem shell Script so vorkommt (und von /bin/sh oder /bin/bash interpretiert wird) oder auf der Kommandozeile (unter /bin/sh oder /bin/bash) eingegeben wird. Ident im Ergebnis dazu ist übrigens auch
Code:
PORTAGE_COMPRESS=true


Das Programm true würde allerdings in einem Shell Script (/bin/bash oder /bin/sh) bzw. auf der Kommandozeile bei
Code:
PORTAGE_COMPRESS=`true`
oder (in der bash) auch bei
Code:
PORTAGE_COMPRESS=$(true)
aufgerufen werden. In beiden Fällen würde in der Folge die Ausgabe von stdout der (shell) Variable PORTAGE_COMPRESS zugewiesen werden. Die Variable wird dabei entweder neu angelegt (wenn noch nicht vorhanden) oder der alte Wert wird überschrieben.

Da true aber nur einen exit code von 0 (aber keine Ausgabe auf stdout) liefert, wäre das im übrigen ident mit der Zuweisung einer Leerzeichenkette an PORTAGE_COMPRESS wie folgt:
Code:
PORTAGE_COMPRESS=""
In den letzten drei Fällen existiert danach im Ergebnis aber eine (shell) Variable namens PORTAGE_COMPRESS mit leerem Inhalt.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6296

PostPosted: Sat Jun 02, 2012 1:03 pm    Post subject: Reply with quote

Atom2 wrote:
Ich denke eigentlich nicht, daß durch [...] das Programm true aufgerufen wird.

Ich bin mir nicht sicher, ob Du Dich gerade lustig machst, oder ob es wirklich Missverständnisse gibt. Selbstverständlich ist es zunächst mal nur eine Zuweisung; die Variable wird aber von portage als das Shell-Kommandos interpretiert, das es zur Kompression benutzt. Und ob "" die selbe Wirkung hat wie "true", hängt davon ab, ob portage den Leerstring extra behandelt, was ich jetzt nicht überprüft habe.
Back to top
View user's profile Send private message
Atom2
Apprentice
Apprentice


Joined: 01 Aug 2011
Posts: 185

PostPosted: Sat Jun 02, 2012 2:54 pm    Post subject: Reply with quote

mv wrote:
Ich bin mir nicht sicher, ob Du Dich gerade lustig machst, oder ob es wirklich Missverständnisse gibt.

Also da liegt in der Tat ein Mißverständnis vor und lustig machen wollte ich mich auch nicht. Ich habe die Zuweisung nicht im Zusammenhang mit der make.conf gesehen sondern isoliert betrachtet, was bei mir zusammen mit Deinem Kommentar zum Eindruck geführt hat, daß durch die angeführte Zuweisung das Programm true (redundant) aufgerufen werden sollte.

Das hat sich aber jetzt durch Deine Erklärung (und den damit gegebenen Zusammenhang mit make.conf) geklärt. Und in diesem Zusammenhang ist es offenbar so, daß ein leerer String zu keiner Kompression führt und das redundante ausführen von true (bzw. nahezu dem gesamten ecompress script) verhindert. Unten dazu der relevante Teil von /usr/lib/portage/bin/ebuild-helpers/ecompress:

Code:
#!/bin/bash
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

if [[ -z $1 ]] ; then
        helpers_die "${0##*/}: at least one argument needed"
        exit 1
fi

# setup compression stuff
PORTAGE_COMPRESS=${PORTAGE_COMPRESS-bzip2}
[[ -z ${PORTAGE_COMPRESS} ]] && exit 0

...


PORTAGE_COMPRESS Variable nicht gesetzt - defaults to bzip2
PORTAGE_COMPRESS Variable auf Leerstring ("") gesetzt - exit 0 ziemlich am Beginn des Scripts
PORTAGE_COMPRESS Variable auf "true" gesetzt - durchlaufen des ecompress Scripts
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1189

PostPosted: Sat Jun 02, 2012 7:23 pm    Post subject: Reply with quote

danke euch, werd ich mal ausprobieren, wenn ich wieder daheim bin!
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1189

PostPosted: Sun Jun 03, 2012 8:54 pm    Post subject: Reply with quote

hab jetz PORTAGE_COMPRESS="" funktioniert prima! danke nochmal
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