View previous topic :: View next topic |
Author |
Message |
ixo Guru
Joined: 09 Jul 2005 Posts: 375
|
Posted: Mon May 21, 2012 11:54 am Post subject: Wie kommt Software ins Portage |
|
|
Hallo,
ich wollte schon immer 'mal fragen, über welchen Weg eigentlich entschieden wird, welche Software ins Portage kommen. Gibt es da einen (zentralen) Ansprechpartner oder so etwas ähnliches?
Ich frage, weil ich ein Backup Tool ("Backup-to-Disk") gebastelt habe (über das letzte Dutzend Jahre), welches seit langem in Fedora, OpenSuse und Debian (Ubuntu) verfügbar ist. Da ich selbst Gentoo auf meinem Server verwende, könnte ich es so einfacher installieren. .
Es bietet momentan Folgendes:
- Verwendung von Hard Links
- Grundsätzlich kommt man an alle Daten ohne das Tool wieder ran
- Deduplikation für ganze Dateien (d.h. Doubletten, verschobenen Dateien o.ä. werden per Hard Link verbunden)
- Blockweise Deduplikation für z.B. Image Dateien (VMs) o.ä. oder auch ganzer Devices (auch dateiübergreifend)
- partielle Kompression der Daten (nach einfachen oder komplexen Auswahlmöglichkeiten)
- Vernünftige Log Files
- einfach oder komplexe include / exclude Optionen (über selbsterstellte Regeln)
- Verlinken mehrerer Backups-Reihen
- Ausgefeilte Möglichkeiten zu Löschen alter Backups
- Ist recht flott
- alle Backups sind immer volle Backups. Es ist jedoch auch der Weg (zu vollen Backups) über inkrementelle Backup möglich, um die Backupzeit zu reduzieren.
- Kann Hard Links, Rechte, User, Gruppen korrekt zurücksichern.
Demnächst geht noch (bei mir geht's schon):
- White-List und Black-List über die Dateitypen (Endungen) die komprimiert (oder nicht) werden sollen. Für die restlichen Dateien schätzt ein internes Modul, ob sich die Kompression lohnen würde.
- "Isolierter" Modus, d.h. man kann unterwegs inkrementelle Backups (z.B. auf einen Memorystick) machen und das Ergebnis dann später in das "große" Backup integrieren, wo sie wieder volle Backups werden (als wäre man nicht weg gewesen)
- Replikation (ähnlich wie Datenbank-Replikation) von Backup-Reihen auf unbegrenzt viele andere Platten (Direktories), um Backups von Backup zu haben. (Das ganze natürlich asynchron.)
Grüße, ixo |
|
Back to top |
|
|
franzf Advocate
Joined: 29 Mar 2005 Posts: 4565
|
Posted: Mon May 21, 2012 1:04 pm Post subject: |
|
|
Auf bugs.gentoo.org einen report aufmachen, samt Beschreibung + ebuild. Evtl. kommts dann in ein Overlay oder es findet sich ein interessierter Entwickler, der es gleich in den Tree packt. |
|
Back to top |
|
|
ixo Guru
Joined: 09 Jul 2005 Posts: 375
|
Posted: Mon May 21, 2012 1:36 pm Post subject: |
|
|
Tja, da ist schon ein Problem. Ich habe keine Ahnung, wie man ein ebuild erstellt. Da das Projekt inzwischen recht umfangreich ist (liegt auch daran, dass fleißig parallelisiert wird) und ich das in meiner Freizeit pflege und weiterentwickle, ist meine Zeit eher knapp. Wie aufwendig ist denn so ein ebuild? Gibt's da eine Anleitung für Idioten?
Momentan sähe die Installation auf irgendeinem Unix / Linux z.B. so aus:
Code: | # cd /opt
# tar jxf <paket>
|
Wenn's einem Spaß macht, kann man noch einen Pfad setzen (PATH, MANPATH).
Die bestehende Abhängigkeit heißt perl.
Grüße, ixo |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Mon May 21, 2012 9:56 pm Post subject: |
|
|
ixo wrote: | Wie aufwendig ist denn so ein ebuild? |
Kommt auf das Projekt und dessen Buildsystem an.
Quote: | Gibt's da eine Anleitung |
"man 5 ebuild" oder hier.
Ganz schlecht. Normalerweise sollten die Programme nach /usr/bin gehen, die manpages in das passende manpage-Verzeichnis usw.
Auspacken erledigt Portage automatisch anhand der Fileendung. Die Schwierigkeit ist, die Files an den angemessenen Ort zu bekommen (und ggf. sie erst zu kompilieren oder - in Deinem Fall u.U. - sie Perl bekannt zu machen).
Wenn Dein Paket kein Buildsystem hat, könnte ein Ebuild für Dein Projekt im einfachsten Fall etwa so aussehen:
Code: | # Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header $
EAPI=4
DESCRIPTION="[max. 80 Zeichen]"
HOMEPAGE="http://..."
SRC_URI="http://.../${P}.tar.bz2" # oder ftp:// o.ae.
LICENSE="GPL-2" # oder was auch immer aus /usr/portage/licenses
SLOT="0"
KEYWORDS="~amd64 ~x86"
DEPEND=""
RDEPEND="dev-lang/perl"
src_install() {
dobin ... (Pfade zu den zu installierenden Executables)
doman ... (Pfade zu den zu installierenden man-pages)
dodoc ... (Pfade zu anderen Hilfstexten)
insinto /irgendwelche/Pfade
doins Dateien, die nach /irgendwelche/Pfade gehen sollen
} |
Evtl. Perl-Bibliotheken müssten natürlich ebenfalls in die Abhängigkeiten...
Wenn Du selbst perl-Bibliotheken installieren willst, ist es komplizierter: Da bräuchtest Du vermutlich ein "inherit" von einer geeigneten Perl-Klasse, und DEPEND wäre vermutlich auch nicht leer (weil Du schon beim "Bauen" Perl brauchst). Da wäre es am besten, sich zunächst ebuilds für andere Perl-Programme/Bibliotheken anzuschauen, dafür schreibe ich jetzt nicht blind ein Template. |
|
Back to top |
|
|
ixo Guru
Joined: 09 Jul 2005 Posts: 375
|
Posted: Tue May 22, 2012 10:15 am Post subject: |
|
|
Also, es handelt sich um das hier.
mv wrote: | ixo wrote: | Gibt's da eine Anleitung |
"man 5 ebuild" oder hier.
|
Bin leider noch nicht dazu gekommen, mir das anzusehen. (Muss leider auch arbeiten )
Werd' ich nachholen.
mv wrote: |
Ganz schlecht. Normalerweise sollten die Programme nach /usr/bin gehen, die manpages in das passende manpage-Verzeichnis usw.
Auspacken erledigt Portage automatisch anhand der Fileendung. Die Schwierigkeit ist, die Files an den angemessenen Ort zu bekommen (und ggf. sie erst zu kompilieren oder - in Deinem Fall u.U. - sie Perl bekannt zu machen). |
Das tar-File ist dazu gedacht, es unabhängig von einer Distribution an irgendeiner Stelle auspacken zu können, ohne an allen möglichen Stellen etwas herumfliegen zu haben. Es entpackt in einen Ordner und dann sieht es so aus:
Code: | $ ls -l storeBackup/
insgesamt 12
-rw-r--r-- 1 hjc hjc 1468 Mai 20 09:12 _ATTENTION_
drwxrwxr-x 2 hjc hjc 340 Mai 20 09:12 bin
-rwxr-xr-x 1 hjc hjc 99 Mai 20 09:12 correct.sh
-rwxr-xr-x 1 hjc hjc 743 Mai 20 09:12 cron-storebackup
drwxrwxr-x 2 hjc hjc 220 Mai 20 09:12 doc
drwxrwxr-x 2 hjc hjc 320 Mai 20 09:12 lib
drwxrwxr-x 3 hjc hjc 60 Mai 20 09:12 man
|
Das Zusammenpacken des tar-Files macht bei mir ein kleines Shell Skript - es wäre kein großes Kunstwerk, ein zweites etwas anders zu gestalten.
Im doc-Verzeichnis ist noch eine pdf-Anleitung, momentan nur in Englisch, bei der nächsten Version auch in Deutsch. (Die deutsche muss man momentan noch gesondert herunterladen, da sie bei 3.2.1 noch nicht fertig war.) Das README war früher mal die Anleitung, das fliegt beim nächsten Mal raus, da nicht mehr pflegbar. Die pdf-Datei bzw. die Online Version müssen's dann tun.
Das bin-Verzeichnis kann man nach /usr/bin packen solange das lib-Verzeichnis "parallel", also in /usr/lib liegt. Übrigens machen das die anderen Distributionen auch so. (Das cron-Dingsbums hat übrigens der damalige Debian Maintainer geschrieben, passt also (wahrscheinlich) nicht für Gentoo bzw. sollte hier nicht nötig sein.)
Die Abhängigkeit zu perl ist natürlich perl selbst (einfach die jeweils aktuelle Version, schließlich entwickle ich zum Teil auf Gentoo, andererseits nutze ich keine "tollen neuen Features").
Perl-Zusatzpakte werden sehr spärlich genutzt, ich glaube, die sind alle beim perl Basispaket dabei. Da mein System aber ca. 5 Jahre alt ist, bin ich da jetzt nicht 100% sicher.
Grüße und Danke, ixo |
|
Back to top |
|
|
ixo Guru
Joined: 09 Jul 2005 Posts: 375
|
Posted: Mon May 28, 2012 11:32 am Post subject: |
|
|
Hallo,
ich bin jetzt mal dazu gekommen, dass ein bisschen querzulesen:
mv wrote: |
"man 5 ebuild" oder hier.
|
So ohne weiteres erschließt sich mir das nicht. Da ist einerseits das Problem, das überhaupt erst mal auf das Tool zu adaptieren und dann noch das weitere, dass ich bei Erscheinen eines neuen Releases (so alle halbe Jahr oder weniger) sowieso wieder vergessen habe, wie's geht.
Ist also für mich eher unrealistisch, das zu machen (käme eben obendrauf).
Falls natürlich ein (ebuild) "Profi" Lust hat, würde mich das freuen.
Viele Grüße und danke an mv,
ixo |
|
Back to top |
|
|
Christian99 Veteran
Joined: 28 May 2009 Posts: 1668
|
Posted: Wed May 30, 2012 2:09 pm Post subject: |
|
|
also, falls sich daran wie das programm installiert wird nicht großartig was ändert geht das update des ebuilds relativ einfach. man muss eigentlich nur das ebuild kopieren und den namen des ebuilds mit der aktuellen version versehen. |
|
Back to top |
|
|
3PO Veteran
Joined: 26 Nov 2006 Posts: 1110 Location: Schwabenländle
|
Posted: Wed May 30, 2012 8:30 pm Post subject: |
|
|
Blödsinn geschriebnen, sorry |
|
Back to top |
|
|
ixo Guru
Joined: 09 Jul 2005 Posts: 375
|
Posted: Sun Jun 03, 2012 7:09 am Post subject: |
|
|
Hallo,
ich Depp wollte mich gerade darüber beklagen, dass ich bei Änderungen von Threads, in denen ich gepostet habe, nicht per Mail benachrichtigt werde und habe dann festgestellt, dass das an den noch vorhandenen Default-Einstellungen liegt. Wenn ich allerdings eingeloggt auf "Profil" klicke, wird diese Seite https://forums.gentoo.org/index.php aufgerufen!? Nicht-eingeloggt wird erst das Login-Abgefragt und dann lande ich auf der richtigen. Bug oder Feature?
Christian99 wrote: | also, falls sich daran wie das programm installiert wird nicht großartig was ändert geht das update des ebuilds relativ einfach. man muss eigentlich nur das ebuild kopieren und den namen des ebuilds mit der aktuellen version versehen. |
Was sich ändert, ist, dass alle Jubeljahre mal eine neue Datei dazukommt. (Wie z.B. die dt. Dokumentation demnächst (ist jetzt noch gesondert zu laden).) Das ich mir meine eigenen Notizen und Skripte machen muss, ist klar; das ist für Updates auf die Homepage (html) auch nicht anders (u.a. wg. des ganzen Verschlüsselungs-Krams). Übrigens war der Grund, warum ich von freshmeat auf savannah gewechselt bin, dass freshmeat ständig etwas geändert hat (tolle neue Features, die für 1000 Mann Projekte sicherlich unverzichtbar waren) und mir die Komplexität einfach zu groß (Zeitaufwand für nix) geworden ist.
Da die Generierung eines Ebuilds wohl eher zu meinem Privatvergnügen dient (und mir selbst natürlich nichts bringt) und ich keine Ahnung habe, ob der Kram überhaupt ins Portage kommt, stecke ich den Aufwand (ist ja alles meine Freizeit) lieber in die Softwareentwicklung bzw. (jetzt aktuell) Dokumentation des neuen Krams (siehe oben). Insbesondere an dem (zeitversetzten) kontinuierlichen Replizieren von Backups ("Backup vom Backup") sind einige recht interessiert. Da es bei mir seit etwa 3 Wochen läuft, verstehe ich auch warum.
3PO wrote: | Blödsinn geschriebnen, sorry |
Das zählt nicht als Ausrede - das kann jeder.
Viele Grüße, ixo |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1923 Location: Schweiz
|
Posted: Tue Sep 11, 2012 2:15 pm Post subject: |
|
|
franzf wrote: | Auf bugs.gentoo.org einen report aufmachen, samt Beschreibung + ebuild. Evtl. kommts dann in ein Overlay oder es findet sich ein interessierter Entwickler, der es gleich in den Tree packt. |
Das soll jetzt keine Reklamation sein aber warum ist genau das dann Beispielsweise hiermit noch nicht passiert?
https://bugs.gentoo.org/show_bug.cgi?id=353180
Da gibt es ein fertiges ebuild das offenbar laufend von jemanden aktualisiert wird und doch findet es sich in keinem overlay und schon gar nicht im offiziellen Portage.
Erst kürzlich brauchte ich das Programm und habe letzten Endes, weil es schnell gehen musste, einfach das tar mit der binary im rootverzeichnis entpackt. _________________ Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 510
|
Posted: Tue Sep 11, 2012 2:48 pm Post subject: |
|
|
Naja, lt. http://gpo.zugaina.org/app-mobilephone/heimdall ist das Ebuild bereits in 4 Overlays drin.
Dass Live-Ebuils in den offiziellen Portage kommen ist eher die Ausnahme als die Regel.
Da jedoch Releases existieren, stimmt da noch was nicht. Oder warum haben die Ebuilds die Version 9999?
Ich denke es hat einen Grund warum es so ist wie es ist und das Paket nicht im Portage. |
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4542 Location: Germany
|
Posted: Tue Sep 11, 2012 2:51 pm Post subject: |
|
|
schmidicom wrote: | ... und doch findet es sich in keinem overlay ... | Doch gibt es, siehe zb im http://gpo.zugaina.org/app-mobilephone/heimdall
Quote: | Erst kürzlich brauchte ich das Programm und habe letzten Endes, weil es schnell gehen musste, einfach das tar mit der binary im rootverzeichnis entpackt. | Urgs, wer sein Gentoo lieb hat macht sowas nicht
/edit: Da war bell ein wenig flotter.. |
|
Back to top |
|
|
AmonAmarth l33t
Joined: 03 Mar 2005 Posts: 727
|
Posted: Tue Sep 11, 2012 10:23 pm Post subject: |
|
|
schmidicom wrote: | franzf wrote: | Auf bugs.gentoo.org einen report aufmachen, samt Beschreibung + ebuild. Evtl. kommts dann in ein Overlay oder es findet sich ein interessierter Entwickler, der es gleich in den Tree packt. |
Das soll jetzt keine Reklamation sein aber warum ist genau das dann Beispielsweise hiermit noch nicht passiert?
https://bugs.gentoo.org/show_bug.cgi?id=353180
Da gibt es ein fertiges ebuild das offenbar laufend von jemanden aktualisiert wird und doch findet es sich in keinem overlay und schon gar nicht im offiziellen Portage.
Erst kürzlich brauchte ich das Programm und habe letzten Endes, weil es schnell gehen musste, einfach das tar mit der binary im rootverzeichnis entpackt. |
und wo wär das problem gewesen das ebuild in dein local overlay zu kopieren als so ein hack? zeitaufwand von max. 30 sek. wenn man in der shell einigermaßen fit ist... |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1923 Location: Schweiz
|
Posted: Wed Sep 12, 2012 6:18 am Post subject: |
|
|
So viel zum Thema Zugaina:
Code: | slap ~ # cat /etc/make.conf | grep source
source /var/lib/layman/make.conf
slap ~ # layman -a zugaina
slap ~ # emerge --search heimdall
Searching...
[ Results for search key : heimdall ]
[ Applications found : 0 ] |
Und ich weiss das die Sache mit dem tar nicht gerade die feine Englische war aber wie gesagt es eilte sehr.
@AmonAmarth
30s?
Für jemanden der die Mangaes auswendig gelernt hat könnte das vielleicht reichen aber da ich das nicht gemacht habe und vermutlich die meisten anderen auch nicht dürfte das wohl kaum ausreichen Konsolenkenntnisse hin oder her. _________________ Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW |
|
Back to top |
|
|
bell Guru
Joined: 27 Nov 2007 Posts: 510
|
Posted: Wed Sep 12, 2012 6:35 am Post subject: |
|
|
Die GPO-Seite liegt bei zugaina. Damit ist aber nicht gemeint dass Du deren Overlay installieren sollst. Dies würde ich eh nicht empfehlen.
Schaue auf die genannte GPO-Seite. Dort sind die Overlays genannt (gerade irgend wie nicht verfügbar, also etwas abwarten) |
|
Back to top |
|
|
Schorchgrinder Tux's lil' helper
Joined: 30 Jun 2006 Posts: 82 Location: Lower Uncton
|
Posted: Wed Sep 12, 2012 10:28 am Post subject: |
|
|
Quote: | gentoo64 boot # eix -s heimdall
* app-mobilephone/heimdall [1]
Available versions: (~)9999 {{qt4}}
Homepage: http://www.glassechidna.com.au/products/heimdall/
Description: Heimdall is a cross-platform (OSS) tool suite used to flash firmware onto Samsung Galaxy S devices.
[1] "maggu2810-overlay" /var/lib/layman/maggu2810-overlay
|
ist es bei mir im System zu finden _________________ AMD Athlon 1000 Mhz, RIVA TNT2/TNT2 Pro, Creative Labs SB Live, 1500 MB Arbeitsspeicher
damit läuft der Rechner unter Gentoo immer noch recht gut
AMD Athlon II X4 600e 2200 Mhz, Nvidia G210, 4GB RAM |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1923 Location: Schweiz
|
Posted: Wed Sep 12, 2012 11:01 am Post subject: |
|
|
Wenn ich die zugaina Webseite nun richtig verstanden habe gibt es dieses ebuild in 4 Overlays, also nehme ich meine Behauptung es würde in keinem Overlay liegen gerne zurück.
Doch welches ebuild aus welchem Overlay man nun am besten verwenden sollte lässt sich aus deren Webseite auch nicht wirklich ablesen. Aber mal so nach gut dünken geraten würde ich persönlich auf floppym tippen. _________________ Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW |
|
Back to top |
|
|
Josef.95 Advocate
Joined: 03 Sep 2007 Posts: 4542 Location: Germany
|
Posted: Wed Sep 12, 2012 11:21 am Post subject: |
|
|
Naja, das beste ist du schaust dir die Ebuilds kurz an, und wählst dann das für dich am besten geeignete.
Eine Empfehlung welches inoffizielle Repository man wählen sollte kann man schlecht geben ;)
/edit:
Oder nutze das im Bug 353180 erwähnte Ebuild, packe es in dein lokales Overlay, und pflege es selbst - so machen die anderen der vier genanten Overlays es doch auch. |
|
Back to top |
|
|
|