Bug#651875: uninstallable on kfreebsd-amd64
Package: cryptkeeper
Version: 0.9.5-4
Severity: grave
Tags: patch
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
Sorry for not noticing this before. Changes in 0.9.5-4 make an even worse
bug, since cryptkeeper with its current dependencies is uninstallable on
GNU/kFreeBSD.
"fuse" package (fuse-utils is just a transitional package) is only available
on GNU/Linux. Apparently cryptkeeper needs it because it invokes "fusermount"
utility directly (in src/encfs_wrapper.cpp).
As fusermount is Linux-specific, the alternative for GNU/kFreeBSD is to use
umount.
Attached patch fixes both problems. In addition, FUSE architectures include
linux-any and kfreebsd-any but not hurd-i386, this is also fixed in my patch.
-- System Information:
Debian Release: 6.0.3
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: kfreebsd-amd64 (x86_64)
Kernel: kFreeBSD 8.1-1-amd64
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
=== modified file 'debian/control'
--- debian/control 2011-12-12 19:19:29 +0000
+++ debian/control 2011-12-12 19:21:10 +0000
@@ -8,8 +8,8 @@ Homepage: http://tom.noflag.org.uk/crypt
DM-Upload-Allowed:yes
Package: cryptkeeper
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, zenity, fuse-utils, encfs
+Architecture: linux-any kfreebsd-any
+Depends: ${shlibs:Depends}, ${misc:Depends}, zenity, fuse [linux-any], encfs
Description: EncFS system tray applet for GNOME
An encrypted folders manager, it allows users to mount and unmount encfs
folders, to change the password and to create new crypted folders. It
=== modified file 'src/encfs_wrapper.cpp'
--- src/encfs_wrapper.cpp 2011-12-12 19:19:29 +0000
+++ src/encfs_wrapper.cpp 2011-12-12 19:20:32 +0000
@@ -242,7 +242,11 @@ int encfs_stash_unmount (const char *mou
// unmount
int pid = fork ();
if (pid == 0) {
+#ifdef __linux__
execlp ("fusermount", "fusermount", "-u", mount_dir, NULL);
+#else
+ execlp ("umount", "umount", mount_dir, NULL);
+#endif
exit (0);
}
int status;
Reply to: