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
Code: Alles auswählen
cd ~/build_libtrash
tar xvf libtrash-latest.tgz
Code: Alles auswählen
cd ~/build_libtrash/libtrash-3.2
echo | dh_make --library
5. den Patch anwenden
Code: Alles auswählen
cd ~/build_libtrash
patch -p0 < libtrash_3.2.diff
Code: Alles auswählen
cd ~/build_libtrash/libtrash-3.2
fakeroot debian/rules binary
Code: Alles auswählen
cd ~/build_libtrash
su -c "dpkg -i libtrash_3.2-1_i386.deb"
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
/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