libtrash 3.2 für Debian

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

libtrash 3.2 für Debian

Beitrag von SubOptimal » 28.03.2010 14:36:10

Hi,

da seit der GNU libc version 2.5 das "rm" Kommando unlinkat() statt unlink() verwendet, werden Dateien die mit "rm" gelöscht werden nicht von libtrash in das ~/Trash Verzeichnis (in der Standardeinstellung) verschoben. Die libtrash Version 2.6 wurde dahingehend angepasst und ab dieser Version werden auch Dateien die mit "rm" gelöscht wurden nach ~/Trash verschoben.
Da die aktuelle Version von libtrash die Version 3.2 ist, habe ich ein kleines HOWTO zusammengestellt wie man aus den Upstream Sourcen ein Debian Paket erstellt.

Benötigt werden die Pakete gcc, patch, dh-make und fakeroot

Folgende Schritte in einem beliebigen Verzeichnis ausführen. Hier im Beispiel ~/build_libtrash

1. Sourcen von der libtrash Homepage [1] holen

Code: Alles auswählen

cd ~/build_libtrash
wget http://pages.stern.nyu.edu/~marriaga/software/libtrash/libtrash-latest.tgz
2. Sourcen entpacken

Code: Alles auswählen

cd ~/build_libtrash
tar xvf libtrash-latest.tgz
3. die Sourcen zum paketieren vorbereiten

Code: Alles auswählen

cd ~/build_libtrash/libtrash-3.2
echo | dh_make --library
4. die Sourcen patchen, dafür den Patch von http://nopaste.debianforum.de/34460 als Datei herunterladen und im Verzeichnis ~/build_libtrash speichern, z.B. als Datei libtrash_3.2.diff

5. den Patch anwenden

Code: Alles auswählen

cd ~/build_libtrash
patch -p0 < libtrash_3.2.diff
6. das dep Paket bauen

Code: Alles auswählen

cd ~/build_libtrash/libtrash-3.2
fakeroot debian/rules binary
7. das fertige Paket installieren, dafür werden root Rechte benötigt, es wird nach dem Passwort vom Benutzer "root" gefragt

Code: Alles auswählen

cd ~/build_libtrash
su -c "dpkg -i libtrash_3.2-1_i386.deb"
8. zur Benutzung, als einfaches Beispiel in der Shell

Code: Alles auswählen

export LD_PRELOAD=/usr/lib/libtrash/libtrash.so
echo "kleiner Test" > ~/kleiner_libtrash.test
rm ~/kleiner_libtrash.test
# danach sollte die Datei ~/kleiner_libtrash.test nicht mehr vorhanden sein, statt dessen befindet sie sich nun im "Papierkorb"
ls ~/Trash
Das ganze lässt sich auch im Benutzerprofil Skript ablegen, dann ist es sofort nach dem Einloggen aktiv. Ein Beispiel für die Bash befindet sich unter
/usr/share/doc/libtrash/examples.

Der Patch für Version 3.2 wurde ausgehend vom Patch für Version 2.4 [2] erstellt. Zusätzlich wurden noch einige Kompilerwarnungen entfernt.

SubOptimal

[1] http://pages.stern.nyu.edu/~marriaga/software/libtrash
[2] http://ftp.de.debian.org/debian/pool/ma ... -2.diff.gz

Benutzeravatar
Blackbox
Beiträge: 4289
Registriert: 17.09.2008 17:01:20
Lizenz eigener Beiträge: GNU Free Documentation License

Re: libtrash 3.2 für Debian

Beitrag von Blackbox » 29.03.2010 18:09:03

Danke für die Mühe !
Eigenbau PC: Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Desktop PC: Dell Inspiron 530 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Notebook: TUXEDO BU1406 - Debian Sid - Kernel: 6.5.13 - Xfce 4.18 mit sway
Alles Minimalinstallationen und ohne sudo/PA/PW.
Rootserver: Rocky Linux 9.3 - Kernel: 5.14

Freie Software unterstützen, Grundrechte stärken!

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Re: libtrash 3.2 für Debian

Beitrag von SubOptimal » 29.03.2010 20:37:22

Hi,
Blackbox hat geschrieben:Danke für die Mühe !
Gern geschehen.
Dachte mir, dass vielleicht noch jemand anderes eine "Papierkorbfunktion" auf der Konsole gebrauchen kann. Und ohne Unterstützung für "rm" ist die ja nur halb so nützlich. ;-)

SubOptimal

Antworten