Mein Projekt als RPM/DEB Paket packen?
-
- Beiträge: 476
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Mein Projekt als RPM/DEB Paket packen?
Ich hab zwar auch keinen Plan von Shell Script, aber das hier http://www.unix.com/linux/14478-linux-test-command.html (letzter Beitrag) hat bei mir funktioniert.
mfg Ingo
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Nein das klappt leider nicht:
Code: Alles auswählen
mm@mm-laptop:~/rpmbuild/t$ ls
Backup E1.sq3 E2.sq3
mm@mm-laptop:~/rpmbuild/t$ if test -f *.sq3
> then
> echo true
> else
> echo false
> fi
bash: test: E1.sq3: Zweistelliger (binärer) Operator erwartet.
false
mm@mm-laptop:~/rpmbuild/t$
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Ich habe noch ein großes Problem mit dem SPEC Script.
Und zwar wenn ich eine Version installiere klappt alles prächtig
Aber der Update läßt mir die Suppe versalzen
Folgender Code (Auszug):
Bei Installation wird der Link:
/usr/local/bin/EleLa
gesetzt.
Bei Update bleibt der nicht erhalten, sondern wird gelöscht. !!!
Bei Uninstall soll der aber gelöscht werden.
Wie programmiere ich das in dem SPEC Script?
Gruß Markus
Und zwar wenn ich eine Version installiere klappt alles prächtig

Aber der Update läßt mir die Suppe versalzen

Folgender Code (Auszug):
Code: Alles auswählen
%pre
if [ ! -L /usr/local/bin/EleLa ]; then ln -sf %{prefix}/EleLa/EleLa /usr/local/bin/EleLa; fi
%post
if [ ! -L /usr/local/bin/EleLa ]; then ln -sf %{prefix}/EleLa/EleLa /usr/local/bin/EleLa; fi
%preun
if [ ! -f %{prefix}/EleLa/EleLa ]; then
if [ -L /usr/local/bin/EleLa ]; then rm /usr/local/bin/EleLa; fi
fi
%postun
/usr/local/bin/EleLa
gesetzt.
Bei Update bleibt der nicht erhalten, sondern wird gelöscht. !!!

Bei Uninstall soll der aber gelöscht werden.
Wie programmiere ich das in dem SPEC Script?
Gruß Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 476
- Registriert: Do 15. Nov 2007, 16:58
- OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
- CPU-Target: i386, x64
- Wohnort: Gera
Re: Mein Projekt als RPM/DEB Paket packen?
Ich meinte auch eher sowas wieMmVisual hat geschrieben:Nein das klappt leider nicht:
Code: Alles auswählen
mm@mm-laptop:~/rpmbuild/t$ ls Backup E1.sq3 E2.sq3 mm@mm-laptop:~/rpmbuild/t$ if test -f *.sq3 > then > echo true > else > echo false > fi bash: test: E1.sq3: Zweistelliger (binärer) Operator erwartet. false mm@mm-laptop:~/rpmbuild/t$
Code: Alles auswählen
for file in $(ls *.sq3)
do
[ -s $file ] || continue
echo do something with $file
:
done
mfg Ingo
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Klasse !!!
Danke für den Tipp.
Jetzt klappt auch das (es sind 2 Dateien im Verzeichnis):

Danke für den Tipp.
Jetzt klappt auch das (es sind 2 Dateien im Verzeichnis):
Code: Alles auswählen
mm@mm-laptop:~/rpmbuild/t$ if [ $(find *.sq3 | wc -l) -ge 1 ]; then echo True; fi
True
mm@mm-laptop:~/rpmbuild/t$ if [ $(find *.sq3 | wc -l) -ge 4 ]; then echo True; fi
mm@mm-laptop:~/rpmbuild/t$ if [ $(find *.sq3 | wc -l) -ge 2 ]; then echo True; fi
True
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Ich habe immer noch Probleme mit der SPEC Datei.
Wie bekomme ich es hin, dass ein Befehl ausschließlich bei Uninstall ausgeführt wird
(Und nicht bei Update)
Gruß Markus
Wie bekomme ich es hin, dass ein Befehl ausschließlich bei Uninstall ausgeführt wird

(Und nicht bei Update)
Gruß Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de
- af0815
- Lazarusforum e. V.
- Beiträge: 6922
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Mein Projekt als RPM/DEB Paket packen?
Schau mal auf den ersten Parameter der die übergeben wird, bei Debian bekommt man dort den Zustand (configure, update, remove) übermittelt. Siehe Debian Package building Howto. Ev. ist da bei den RPMs ähnlich.MmVisual hat geschrieben:Wie bekomme ich es hin, dass ein Befehl ausschließlich bei Uninstall ausgeführt wird![]()
(Und nicht bei Update)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Nein, bei RPM's geht das nicht so einfach. Da muss man schon drohen, nach dem Motto, ich nehme Dir jetzt ein paar Bytes weg oder ich schreibe das ganze RPM ding neu.
Hier ist es sehr detailiert und ausführlich (natürlich fehlerhaft) beschrieben:
http://docs.fedoraproject.org/en-US/Fed ... 03s05.html" onclick="window.open(this.href);return false;
Es kann doch wohl nicht sein, dass man für einfachste Funktionen das ein jedes Setup-Paket bieten sollte so viele Stunden braucht.
Damit das Setup überhaupt so geht wie ich will habe ich meiner EXE einfach noch ein paar Command-Line Parameter verpasst, so dass ich aus dem Setup heraus noch wenigstens Aktionen abhängig von der INI Datei machen kann.
Innno-Setup (Windows) ist da schon viel eleganter, damit kann man sogar ALLES MÖGLICHE als Pascal-Script hinterlegen.
Wenn es sowas für Linux gäbe, dann würde damit z.B. die EXE installiert und entsprechend die Einträge in den Paketverwaltungen generiert, so dass man das ganze auch über die Paketverwaltung wieder deinstalliert werden könnte. Die Paketverwaltung ruft dann wiederum eine "Uninstall-Exe" auf die einen führt und Benutzer-Eingaben zu lässt (was jetzt meine EXE macht).
Hier ist es sehr detailiert und ausführlich (natürlich fehlerhaft) beschrieben:
http://docs.fedoraproject.org/en-US/Fed ... 03s05.html" onclick="window.open(this.href);return false;
Es kann doch wohl nicht sein, dass man für einfachste Funktionen das ein jedes Setup-Paket bieten sollte so viele Stunden braucht.
Damit das Setup überhaupt so geht wie ich will habe ich meiner EXE einfach noch ein paar Command-Line Parameter verpasst, so dass ich aus dem Setup heraus noch wenigstens Aktionen abhängig von der INI Datei machen kann.
Innno-Setup (Windows) ist da schon viel eleganter, damit kann man sogar ALLES MÖGLICHE als Pascal-Script hinterlegen.
Wenn es sowas für Linux gäbe, dann würde damit z.B. die EXE installiert und entsprechend die Einträge in den Paketverwaltungen generiert, so dass man das ganze auch über die Paketverwaltung wieder deinstalliert werden könnte. Die Paketverwaltung ruft dann wiederum eine "Uninstall-Exe" auf die einen führt und Benutzer-Eingaben zu lässt (was jetzt meine EXE macht).
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 958
- Registriert: Mo 11. Sep 2006, 22:56
Re: Mein Projekt als RPM/DEB Paket packen?
Hilft dir das bei deinem Problem:
http://www.ibm.com/developerworks/linux ... index.html" onclick="window.open(this.href);return false;
http://www.ibm.com/developerworks/linux ... index.html" onclick="window.open(this.href);return false;
-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Vielleicht sollten die rpm Entwickler sich doch mal dazu erniedrigen lassen und ein %uninstall oder %remove für die spec Datei zuzulassen.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 290
- Registriert: Mo 24. Dez 2007, 13:14
- OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
- CPU-Target: AMD64X2
Re: Mein Projekt als RPM/DEB Paket packen?
Ich habe es noch nicht benutzt aber hier gibt's etwas:
http://kde-apps.org/content/show.php/RP ... tent=33228
Und wenn du schon so viel über rpms gelernt hast kannst du ja vielleicht ein RPM-/DEB-Maker mit Lazarus machen
http://kde-apps.org/content/show.php/RP ... tent=33228
Und wenn du schon so viel über rpms gelernt hast kannst du ja vielleicht ein RPM-/DEB-Maker mit Lazarus machen

-
- Beiträge: 1605
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4.2 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Ich habe nicht so viel Ahnung von dem ganzen. Ich habe eine gute Software geschrieben (Freeware) und ein User hat sich bereit erklärt mir ein RPM zu erstellen, einfach weil er dazu lust hatte.
Ich habe das ganze dann immer getestet, aber immer hat irgend etwas nicht geklappt, dann habe ich selbst mal danach geschaut. Also 95% war schon fertig, nur die letzten Kniffe haben noch gefehlt.
Ausserdem kenne ich mich nicht sonderlich gut mit Linux aus. Also ich kann es nicht.
Hier ist der Link zur spec:
http://linux.singollo.de/repo:rpm_selbst_erstellen" onclick="window.open(this.href);return false;
Ich habe das ganze dann immer getestet, aber immer hat irgend etwas nicht geklappt, dann habe ich selbst mal danach geschaut. Also 95% war schon fertig, nur die letzten Kniffe haben noch gefehlt.
Ausserdem kenne ich mich nicht sonderlich gut mit Linux aus. Also ich kann es nicht.
Hier ist der Link zur spec:
http://linux.singollo.de/repo:rpm_selbst_erstellen" onclick="window.open(this.href);return false;
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 657
- Registriert: Sa 9. Jan 2010, 17:32
- OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
- CPU-Target: 64Bit
Re: Mein Projekt als RPM/DEB Paket packen?
Meiner Meinung nach sollte ein Install-Maker (msi, dmg, rpm, deb) zum Standardumfang von Lazarus gehören.
-
- Beiträge: 768
- Registriert: Mo 4. Mai 2009, 13:24
- OS, Lazarus, FPC: Arch Linux, Lazarus 1.3 r44426M FPC 2.6.4
- CPU-Target: x86_64-linux-qt/gtk2
- Kontaktdaten:
Re: Mein Projekt als RPM/DEB Paket packen?
Unter MacOS funktionieren Installer nochmal ganz anders (wenn denn überhaupt solche genutzt werden), ergo: Lazarus <> Installer.
-
- Beiträge: 1103
- Registriert: Di 5. Aug 2008, 09:37
- OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
- CPU-Target: 32/64,PPC(+64), ARM
- Wohnort: Eindhoven (Niederlande)
Re: Mein Projekt als RPM/DEB Paket packen?
Packages sind kein "installers", und in generellen ist *nix nicht Windows. Wie schneller man sich daran gewohnt, wie besser.carli hat geschrieben:Meiner Meinung nach sollte ein Install-Maker (msi, dmg, rpm, deb) zum Standardumfang von Lazarus gehören.