Erstellen von Dummy Paketen

wweiland

Master of the clicks
Hallo,

ich moechte gerne fuer einzelne Pakete nur Dummy-Pakete erstellen, die zwar einen bekannten Namen, aber eine sehr hohe Versionsnummer haben.

Hintergrund ist folgender:

Ich benutze sehr gerne den Editor kile zur Erstellung von Texdokumenten. Nun benutze ich nicht die tetex-Pakete von FreeBSD, sondern ich habe texlive installiert.
Nun geht das Geraffel los. Kile verlangt als dependency verstaendlicherweise tetex. Um bei Upgrades etc ein solches Theater zu vermeiden, wuerde ich gerne ein entsprechendes leeres Dummy-Paket erstellen, so dass auch bei Upgrades kile nie herummeckert. Im Moment habe ich zum Installieren die Option -f verwandt, was auch funktionierte. Kile laeuft trotz vielfacher ungeloester Dependencies einwandfrei. Aber ein automatisches Upgrade bspw. mit portupgrade ist nicht drin, so dass ich kile in der pkgtools.conf unter hold eingetragen habe. Aber prickelnd ist das alles nicht. Da waeren doch, wie gesagt passende Dummy-Pakete angebrachter.

MfG

Wolfram
 
wweiland schrieb:
Aber ein automatisches Upgrade bspw. mit portupgrade ist nicht drin
Code:
# portupgrade -x teTeX-base kile

müsste klappen...
Oder kopier dir das Makefile woanders hin und kommentier teTeX-base aus.
Dann reicht ein
Code:
# cd <Pfad zum Makefile> && make deinstall && make install

Hab dir das Makefile (ohne teTeX-base) mal angehängt. Fehlen nur noch die anderen Dateien aus /usr/ports/editors/kile/
 

Anhänge

  • Makefile.zip
    649 Bytes · Aufrufe: 218
Hallo GaTh3N,

Vielen Dank fuer die schnelle Antwort. Ich denke die -x Option von portupgrade ist nicht schlecht, da sie sowohl fuer ein Binary als auch Portsupgrade anwendbar ist.

Aus dem inzwischen dahingehend vertieften Manual geht nicht hervor, ob man mehrere Pakete angeben kann, die ausgeschlossen werden sollen. Wenn das ginge, koennte man eine Liste der Pakete erstellen und diese durch Kommandosubstituion der x-Option uebergeben: pkgupgrade -a -x 'cat ausschlussliste'. Hier als Beispiel fuer ein Upgrade.

Begehe ich da eine Denkfehler, oder kann man das so machen?

MfG

Wolfram
 
wweiland schrieb:
Aus dem inzwischen dahingehend vertieften Manual geht nicht hervor, ob man mehrere Pakete angeben kann, die ausgeschlossen werden sollen. Wenn das ginge, koennte man eine Liste der Pakete erstellen und diese durch Kommandosubstituion der x-Option uebergeben: pkgupgrade -a -x 'cat ausschlussliste'. Hier als Beispiel fuer ein Upgrade.

Begehe ich da eine Denkfehler, oder kann man das so machen?

Hi,
Code:
# portupgrade -x teTeX-base -x ImageMagick kile

upgradet kile ohne teTeX und ImageMagick.
Ob man '-x' nur einmal angeben muss, weiss ich grad nicht, glaube aber schon. Mit -x 'teTeX-*' kann man auch Wildcards verwenden, aber schau mal in die man-Page.
Wenn muss es übrigens
Code:
# pkgupgrade -a -x [B]`[/B]cat ausschlussliste[B]`[/B]
heißen. (Gibt's pkgupgrade überhaupt?)
portupgrade kann mit -PP auch "binary only" updates machen.
Aber sonst hast du keinen Denkfehler :)
 
Natuerlich gibt es kein pkgupgrade :). Und die Hochzeichen waren falsch gesetzt. Ansonsten werde ich es mal so testen.

MfG

Wolfram
 
wweiland schrieb:
Natuerlich gibt es kein pkgupgrade :). Und die Hochzeichen waren falsch gesetzt. Ansonsten werde ich es mal so testen.

Ok, dann berichte mal von deinen Erlebnissen, wenn du es getestet hast.
 
Zuletzt bearbeitet:
Hallo,
mit der Ausschlussliste in einer Datei hat es nicht geklappt.
Zeilenumbrueche trotz Entwertung mit \ wurden sofort angemeckert.
Die Datei sah in etwa so aus

Code:
-x paket1 \
-x paket2 \

Hier erkannte er die Paketnamen nicht, sondern maulte nur, dass er das Paket \ nicht kenne.

Dann alles in einer Zeile geschrieben, also
Code:
-x paket1 -x paket2
.
Diese wurde von portupgrade einfach ignoriert. Er lud trotzdem die anderen Pakete und pkg_add fing auch an diese zu installieren.

Das Kommando sah immer so aus:
Code:
 portupgrade `cat exclude-pkg` -NPP kile


Dann komme ich doch noch mal auf die Dummy-Pakete zurueck.

Ist es nicht moeglich, ein leeres Paket paket-99.9 zu erstellen?
Aus einem vorhandenen Paket habe ich das mal versucht, indem ich es erst extrahierte und dann die Datei +CONTENTS passend veraenderte (Herausnahme aller Dependencies). Ebenso blieb nur ein ein leeres usr/ Verzeichnis uebrig. pkg_add installierte dann auch brav dieses mit dem Original namensgleichen Verzeichnis (teTex-base). Bei einer Installation mir portupgrade wurde das original teTex-base parallel mit installiert, obwohl ansonsten pkg_add lediglich den Versionsunterschied zwischen dem installierten und dem tatsaechlich benoetigten Paket anmeckert. Zu gute letzt hatte ich dann zwei teTex-base, die sofort mit pkg_deinstall teTex-base deinstalliert wurden. Da haette ich ja wohl gedacht, dass pkg_deinstall hier meckern wuerde, welches Paket denn nun genau geloescht werden solle. Deshalb vermute ich, dass bestimmte Informationen noch immer fehlen.

MfG

Wolfram
 
wweiland schrieb:
Hallo,
mit der Ausschlussliste in einer Datei hat es nicht geklappt.

das wird auch so nicht klappen...

wweiland schrieb:
Ist es nicht moeglich, ein leeres Paket paket-99.9 zu erstellen?
Aus einem vorhandenen Paket habe ich das mal versucht, indem ich es erst extrahierte[...]

Sicher ist das möglich, aber wenn würde ich mir einen Port nehmen, den ausräumen und dann per # make package ein Paket daraus basteln.

Hast du es denn schon mit dem veränderten kile Makefile von oben probiert?
Das ist doch auch ne einfache Lösung.
 
also mit
Code:
 portupgrade -nfR -x 'teTeX-*' -x '*tex*' -x '*kde*' kile
klappt's ganz wunderbar hier. Schreib's dir halt einfach in ein shellscript und du brauchst nicht mit cat und irgendwelchen textdateien rumfummeln.

Sorry für den doppelpost, falschen Button erwischt :)
 
Den Befehl, wie Du ihn angegeben hast, werde ich mal testen.

Aber das Ausraeumen eines Ports klingt interessant. Das koennte man ja auch fuer andere Pakete, die es nicht in den Ports gibt, verwenden. Nur kenne ich mich nicht so intensiv in den Ports aus. Wo muss ich denn die zu "verpackenden" Verzeichnisse hin kopieren? Oder muesste ich das Makefile im work Verzeichnis entsprechend aendern? Denn im work Verzeichnis liegen ja die Sources. Ich hoffe, dass ich mit meinen Fragen Dich nicht zu sehr nerve. Vielleicht gibt es ja auch Dokumentationen dazu?

MfG

Wolfram
 
wweiland schrieb:
mit der Ausschlussliste in einer Datei hat es nicht geklappt.
Du könntest es einfach im Environment in der Variable PORTUPGRADE hinterlegen. Dort hinterlege ich auf meinem Paketserver zB den Schalter '-p' damit er mir auch Pakete baut. Das klappt garantiert auch mit '-x blubber -x laber -x nochwas'.

Das steht übrigens auch in der Man-Page zu portupgrade, unter ENVIRONMENT...

HTH & Ciao.
Markus Mann
];-)
 
Zurück
Oben