Diskussion:Masked
Aus Gentoo Linux Wiki
wenn man es schon sauber macht, sollte man das script statt nach /usb/bin nicht nach /usr/local/bin kopieren ?
[Bearbeiten] Absatz schlecht verständlich
In diesem Posting kann man nachlesen, warum ACCEPT_KEYWORDS nicht der beste Weg ist, ein maskiertes Paket zu installieren: emerge -u world wird versuchen, das entsprechende Paket durch die stable Version zu ersetzen. Dadurch können abhängige Pakete in Mitleidenschaft gezogen werden. Das -U Flag (upgrade only) ist veraltet (deprecated), und das aus gutem Grund! - Ist ein Paket nicht lauffähig, wird Portage versuchen, es durch eine stabile Version zu ersetzen. Das -U Flag wird dieses Vorhaben jedoch verhindern.
Ich muss sagen, dass ich diesen Absatz nicht ganz verstehe: emerge -u world wird versuchen, das entsprechende Paket durch die stable Version zu ersetzen. Dadurch können abhängige Pakete in Mitleidenschaft gezogen werden. Soweit klar - Man soll ACCEPT_KEYWORDS nicht benutzen.
Das -U Flag (upgrade only) ist veraltet (deprecated), und das aus gutem Grund! - Ist ein Paket nicht lauffähig, wird Portage versuchen, es durch eine stabile Version zu ersetzen. Wo ist der Zusammenhang?
Das -U Flag wird dieses Vorhaben jedoch verhindern. Hmm.. im vorherigen Satz steht: -U macht xy. Im zweiten Satz steht: -U verhindert xy. Es ist sicherlich so gemeint, aber so kommt es für mich rüber.
Was vlt noch nebenbei gesagt werden sollte: Ich bin noch recht neu bei Gentoo, vielleicht fehlt mir da Hintergrundwissen, aber ich denke an genau solche Leute (die keine ahnung haben und etwas wissen wollen) ist dieses Wiki doch gerichtet, oder nicht?
[Bearbeiten] Script zum unmasken von Abhängigkeiten
Zum Script habe ich noch eine Alternative geschrieben. Meine Version des Scriptes fügt auch alle Abhängigkeiten mit zur /etc/portage/package.keywords.
| Datei: unmask_keyword.sh |
#!/bin/bash
# Script to unmask a Package and all it's Depencies
# Copyright (c) 2008 Christian Häßler (christian@haessler.info)
# Released under the GPL (http://www.gnu.org/licenses/gpl.html)
# German Version: http://www.gnu.de/gpl-ger.html
# Used Tools
EMERGE=/usr/bin/emerge;
CAT=/bin/cat;
CUT=/usr/bin/cut;
GREP=/bin/grep;
SED=/bin/sed;
ECHO=/bin/echo;
# Other Variables
PACKAGE="$1"
PORTCONFDIR="/etc/portage"
UNMASKFILE="package.keywords"
TMPDIR="/tmp"
DATE=`/bin/date`
# The Script itself
source /sbin/functions.sh
[ "$UID" -ne "0" ] && eerror "Must be root to run this script." &&
exit
[ -z "${PACKAGE}" ] && eerror "Please state a package name (eg. gimme <package-name>)" &&
exit
# Checking if Directory exist, otherwise create
[ -d ${PORTCONFDIR} ] || (einfo "Creating ${PORTCONFDIR} directory"
mkdir ${PORTCONFDIR} )
# SET SYSTEM to Unstable to get the right packages
ACCEPT_KEYWORDS="~x86" ${EMERGE} -p ${PACKAGE} > ${TMPDIR}/${UNMASKFILE}.tmp
# Create a header for this entries
${ECHO} " " > ${TMPDIR}/${UNMASKFILE}.tmp2
${ECHO} "# ${PACKAGE} ${DATE}" >> ${TMPDIR}/${UNMASKFILE}.tmp2
# Create unmask Entries (sed inserts an "=" to te Beginning of the line
${CAT} ${TMPDIR}/${UNMASKFILE}.tmp | \
${GREP} ebuild | \
${CUT} -d " " -f 8 | \
${SED} s,^,=,g \
>> ${TMPDIR}/${UNMASKFILE}.tmp2
cat ${TMPDIR}/${UNMASKFILE}.tmp2 >> ${PORTCONFDIR}/${UNMASKFILE}
einfo Adding the following Packages to ${PORTCONFDIR}/${UNMASKFILE} and emerge ${PACKAGE} in 5 seconds.
cat ${TMPDIR}/${UNMASKFILE}.tmp2
sleep 5
emerge ${PACKAGE}
|
Die aktuelle Version dieses Scripts ist auch im Subversion zu finden:
https://svn.haessler.info/scripts/sbin/unmask_keyword.sh
USER: gast
PW: gast
