paketerstellung eines "dummy paketes"

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

paketerstellung eines "dummy paketes"

Beitrag von morgenstern » 14.05.2005 16:50:27

hi all

folgendses problem: um die installation von verschiedensten paketen zu vereinfachen, möchte ich ein "dummy paket" erstellen, welches mir automatisch alle pakete, welche ich benötige installiert. diese pakete sollen aber nur als abhängigkeiten aufgelistet werden, sodass das paket nur einen haufen referenzierungen beinhaltet.

auf dem netz finde ich zwar haufenweise erklärungen wie man ein paket baut usw. aber ich konnte nirgendwo nachlesen, wie man ein dummy paket erstellen kann. hat jemand eine idee?

gruss

morgenstern

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 14.05.2005 17:08:50

Hi!

Ich hab zwar keine Ahnung von dem Thema, befrage aber mal Google nach "meta package debian". Ich glaube das ist, was du suchst.
Wenn nicht dann vergiss den Post einfach :wink:

Bye
Trigger
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 14.05.2005 17:44:49

apt-get install equivs

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

source pakete mit equivs

Beitrag von morgenstern » 31.05.2005 11:22:15

danke für die antworten. ich kann pakete mit equivs erstellen und sie in einem eigenen repository einbinden.

weitergehend möchte ich automatische (fixe) anpassungen vornehmen (bspw. im php.ini). gibt es eine möglichkeit dies direkt in equivs zu machen?

gruss

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Re: source pakete mit equivs

Beitrag von blackm » 31.05.2005 11:31:20

Hi,
morgenstern hat geschrieben:weitergehend möchte ich automatische (fixe) anpassungen vornehmen (bspw. im php.ini). gibt es eine möglichkeit dies direkt in equivs zu machen?
sowas wird normalerweise mit grep und sed (oder aehnlichem) gemacht. Mit grep erst schauen ob es die Einstellung in der Datei schon gibt und wenn nicht dann die Datei mit sed bearbeiten oder auch ein

Code: Alles auswählen

echo "foobar" >> $CONFIG_FILE
Schau dir mal die Quellen der der php4-* Pakete an.

by, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

Beitrag von morgenstern » 31.05.2005 11:40:52

danke blackm, aber bei mir scheiterts schon am handling von equivs.. ;-)

ich möchte wissen, ob man die gewünschten befehle direkt equivs mitgeben kann und die dann automatisch in das controlfile geschrieben werden. andernfalls ist meine überlegung, dass ich mit equivs auch gleich sourcepakete baue (was ich allerdings bis dato noch nicht geschafft habe) und dann in den sourcen manuell im control file herumwurstle...

gruss

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 31.05.2005 12:22:05

Die Befehle müsstest du in die postinst schreiben.

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

...

Beitrag von morgenstern » 31.05.2005 15:35:28

danke joghurt!

so wie ich dich verstehe muss ich das im controlfile des .deb pakets machen, oder? für das muss ich aber zuerst eine source meines mit equivs erzeugten packets produzieren können...oder?

gruss

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 31.05.2005 15:37:26

Nö das übernimmt alles equivs für dich .
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

Beitrag von morgenstern » 31.05.2005 15:46:42

jo! ich verstehe nicht ganz. alles was ich equivs mitgeben kann ist ja das, was ich in dem controlfile (siehe code) drin stehen habe plus 2 optionen (--full und --arch) direkt beim build befehlt. wo muss ich jetzt eure postinst bedingungen hinpacken?

gruss

Code: Alles auswählen

Section: misc
Priority: optional
Standards-Version: 3.5.10

Package: <enter package name; defaults to equivs-dummy>
Version: <enter version here; defaults to 1.0>
Maintainer: Your Name <yourname@foo.com>
Pre-Depends: <packages>
Depends: <packages>
Recommends: <packages>
Suggests: <package>
Provides: <(virtual)package>
Architecture: all
Copyright: <copyright file; defaults to GPL2>
Changelog: <changelog file; defaults to a generic changelog>
Readme: <README.Debian file; defaults to a generic one>
Extra-Files: <additional files for the doc directory, commaseperated>
Description: <short description; defaults to some wise words>
 long description and info
 .
 second paragraph

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 01.06.2005 02:55:08

Das musst du wohl von Hand machen: nachdem du das Paket mit equivs gebaut hast, solltest du ein Unterverzeichnis equivs haben.
Erstelle die Datei equivs/debian/postinst mit dem entsprechendem Inhalt (sollte eine ausführbare Shell-datei sein, also mit #!/bin/sh beginnen und chmod+x haben)

Danach baust du das Paket nochmal

Code: Alles auswählen

$ cd equivs
$ dpkg-buildpackage -us -uc -rfakeroot

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

preinst

Beitrag von morgenstern » 03.06.2005 10:34:27

jo!

danke für die antwort. bin fleissig am basteln und die file modifikation funktioniert auch, so wie ich will. mittlerweilen muss nur noch apt-get install ausgeführt werden und alle benötigten packete sowie deren aktivierung passiert automatisch...

jetzt bin ich aber auf ein problem gestossen. standartmässig ist ja exim4 drauf. wenn ich in meinem paket aber sendmail als abhängigkeit definiere, dann meldet er:

Code: Alles auswählen

Hängt ab: sendmail soll aber nicht installiert werden
         Hängt ab (vorher): sendmail-bin soll aber nicht installiert werden
         Hängt ab (vorher): rmail soll aber nicht installiert werden
soweit klar. frage zur lösung. macht es sinn in der preinst die exim pakete zu desinstallieren oder gibt es eine einfachere möglichkeit exim mit sendmail zu ersetzen?

gruss

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

.. ;-)

Beitrag von morgenstern » 03.06.2005 14:23:27

ok. habs versucht. das funktioniert nicht mit dem preinst file.

hat jemand eine idee, wie ich exim loswerde? ;-)

gruss

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 03.06.2005 15:01:35

Veruche mal den nullmailer
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

...

Beitrag von morgenstern » 03.06.2005 15:25:10

jo! danke, aber das mit dem nullmailer führt zum selben problem:

Code: Alles auswählen

Hängt ab: nullmailer soll aber nicht installiert werden
aus meiner sicht gibt es zwei möglichkeiten:

* preinst bzw. postinst werden nicht als child gestartet
* man kann dem dummypacket eine ausschlussliste mitgeben...

ich hab von beidem keinen schimmer. grmpf

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 03.06.2005 15:49:24

Wie installierst du denn?
Hab gerade mal Exim 3 durch den Nullmailer ersetzt Null Probleme.

320
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

...

Beitrag von morgenstern » 06.06.2005 14:54:27

jo!

Ich definiere Sendmail bzw. den Nullmailer unter 'Depends' in einem Paket, ist das falsch?

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22447
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 06.06.2005 15:08:55

Würde einfach mail-transport-agent eintragen , damit werden alle erschlagen Postfix , exim, Sendmail usw.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

morgenstern
Beiträge: 12
Registriert: 14.05.2005 16:26:04

jo

Beitrag von morgenstern » 09.06.2005 11:03:08

jo, hab ich jetzt auch gemacht... danke für deine hilfe..

aber es muss doch trotzdem möglich sein, sendmail als abhängigkeit zu definieren die dann den excim ersetzt. grmpf.

gruss

Antworten