• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

MacPorts als GIT-Repository

boecko

Gala
Registriert
09.12.06
Beiträge
51
Hi,

ich hab mir ein MacPorts GIT-Repository unter
http://gitmacports.boeckler.org/gitmacports.git angelegt, dass sich alle 2 Stunden mit dem offiziellen SVN-Trunk abgleicht.

Warum?
  • der Befehl "port sync" geht jetzt rasend schnell
  • ich kann lokal meine Änderungen in Portfiles committen und auf andere Rechner verteilen (git pull)
  • der ports-tree ist 89MB statt 248MB gross

Installation (kann auch ueber eine bestehende ausgeführt werden):
Code:
$ mkdir /opt/mports
$ cd /opt/mports
$ git clone http://gitmacports.boeckler.org/gitmacports.git
Cloning into gitmacports…
# jetzt so verfahren wie bei http://guide.macports.org/#installing.macports.subversion
$ cd gitmacports/base
$ ./configure --enable-readline
$ make
…
$ sudo make install
Danach sollte man in /opt/local/etc/macports/sources.conf die rsync-Zeile ersetzen:
Code:
#rsync://rsync.macports.org/release/ports/
file:///opt/mports/gitmacports/dports

Damit der port-sync funktioniert, habe ich die Datei "base/src/macports1.0/macports.tcl" um eine ".git"-Erkennung erweitert.

Der Ablauf ist jetzt rasend schnell:
Code:
$ time sudo port -v sync
Synchronizing local ports tree from file:///opt/mports/gitmacports/dports
From http://gitmacports.boeckler.org/gitmacports
   fbcd9b4..d5cd937  master     -> upstream/master
Updating fbcd9b4..d5cd937
Fast-forward
 dports/audio/flac2mp3/Portfile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Creating port index in /opt/mports/gitmacports/dports
Adding port audio/flac2mp3

Total number of ports parsed:	1 
Ports successfully parsed:	1 
Ports failed:			0 
Up-to-date ports skipped:	7515

sudo port -v sync  1,70s user 0,51s system 59% cpu [B]3,694 total[/B]

gut n8

boecko
 
Zuletzt bearbeitet:

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.513
Klingt interessant.
Ich benutze einige Programme unter MacPorts, kenne mich aber ehrlich gesagt mit den Details, vor allem was die Aktualisierungen mit git betrifft, überhaupt nicht aus.
Hast du Lust, dazu etwas zu schreiben, vielleicht im Apfeltalk-Wiki?
Wie das funktioniert, und wieso z.B. der ports-tree (ich mutmaße mal, daß das der Ordner /opt/local/bin ist) soviel kleiner wird. (Daß ich alle zwei Stunden eine Aktualisierung bekäme, wäre mir nicht sonderlich wichtig.)
OS-X-Benutzer schrecken ja leicht vor dem Terminal zurück - da wäre eine leicht verständliche Anleitung (wie/wo/warum) nicht schlecht.
 

boecko

Gala
Registriert
09.12.06
Beiträge
51
Hallo MacAlzenau,

im Ports-Tree stecken quasi die Paket-Infos von Macports und liegen dort, wo man sie ablegt, d.h. in der Anleitung schlagen sie /opt/mports vor ..

Das hier vorgestellte ist IMHO auch nichts für Leute, die vom Terminal zurückschrecken, da der Zusatznutzen fehlt ;)
a) der wird kaum die Portfiles selber bearbeiten wollen und einchecken
b) er muss schon git auf seinen System haben (via MacPorts)
 

boecko

Gala
Registriert
09.12.06
Beiträge
51
Klingt interessant.
Ich benutze einige Programme unter MacPorts, kenne mich aber ehrlich gesagt mit den Details, vor allem was die Aktualisierungen mit git betrifft, überhaupt nicht aus.

Es gibt ja keine offizielle Aktualisierung mit GIT. Nur SVN und die ist nicht unbedingt schnell.