summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilles Dartiguelongue <eva@gentoo.org>2008-03-26 21:35:26 +0000
committerGilles Dartiguelongue <eva@gentoo.org>2008-03-26 21:35:26 +0000
commit01c58c27a2e41e47673b8279b3ba1172210b57be (patch)
tree2bcf712e20378c47853cab0ecdd2482f00f2da13 /gnome-base/gnome-volume-manager
parentVersion bump and old version cleanup (diff)
downloadgentoo-2-01c58c27a2e41e47673b8279b3ba1172210b57be.tar.gz
gentoo-2-01c58c27a2e41e47673b8279b3ba1172210b57be.tar.bz2
gentoo-2-01c58c27a2e41e47673b8279b3ba1172210b57be.zip
New version for GNOME-2.22. Supports more autodevices (webcams) and bug fixes. Raised hal and gnome-mount deps to be on the safe side, see also bug #181566.
(Portage version: 2.1.4.4)
Diffstat (limited to 'gnome-base/gnome-volume-manager')
-rw-r--r--gnome-base/gnome-volume-manager/ChangeLog11
-rw-r--r--gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.22.0-fbsd-support.patch182
-rw-r--r--gnome-base/gnome-volume-manager/gnome-volume-manager-2.22.1.ebuild60
3 files changed, 252 insertions, 1 deletions
diff --git a/gnome-base/gnome-volume-manager/ChangeLog b/gnome-base/gnome-volume-manager/ChangeLog
index 560c9de0fd4a..65dab751f155 100644
--- a/gnome-base/gnome-volume-manager/ChangeLog
+++ b/gnome-base/gnome-volume-manager/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for gnome-base/gnome-volume-manager
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/ChangeLog,v 1.102 2008/02/18 23:16:34 eva Exp $
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/ChangeLog,v 1.103 2008/03/26 21:35:25 eva Exp $
+
+*gnome-volume-manager-2.22.1 (26 Mar 2008)
+
+ 26 Mar 2008; Gilles Dartiguelongue <eva@gentoo.org>
+ +files/gnome-volume-manager-2.22.0-fbsd-support.patch,
+ +gnome-volume-manager-2.22.1.ebuild:
+ New version for GNOME-2.22. Supports more autodevices (webcams) and bug
+ fixes. Raised hal and gnome-mount deps to be on the safe side, see
+ also bug #181566.
18 Feb 2008; Gilles Dartiguelongue <eva@gentoo.org>
gnome-volume-manager-2.17.0-r1.ebuild:
diff --git a/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.22.0-fbsd-support.patch b/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.22.0-fbsd-support.patch
new file mode 100644
index 000000000000..e01aac873ad0
--- /dev/null
+++ b/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.22.0-fbsd-support.patch
@@ -0,0 +1,182 @@
+Index: src/manager.c
+===================================================================
+--- src/manager.c (revision 1292)
++++ src/manager.c (working copy)
+@@ -24,9 +24,12 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <dirent.h>
++#include <fcntl.h>
+ #include <signal.h>
+ #include <unistd.h>
+ #include <utmp.h>
++#include <sys/param.h>
++#include <sys/mount.h>
+
+ #include <locale.h>
+
+@@ -1910,12 +1913,27 @@
+ MOUNT_UID = (1 << 15),
+ MOUNT_UMASK = (1 << 16),
+ MOUNT_UTF8 = (1 << 17),
++ MOUNT_LOCALE = (1 << 18),
++ MOUNT_LONGNAME = (1 << 19),
+ };
+
+ static struct {
+ const char *name;
+ guint32 flag;
+ } mount_options[] = {
++#ifdef __FreeBSD__
++ { "-D=", MOUNT_CODEPAGE }, /* vfat */
++ { "-M=", MOUNT_DMASK }, /* vfat */
++ { "-m=", MOUNT_FMASK }, /* vfat, ntfs */
++ { "-L=", MOUNT_LOCALE }, /* vfat */
++ { "-C=", MOUNT_IOCHARSET }, /* ntfs, iso9660 */
++ { "noatime", MOUNT_NOATIME },
++ { "noexec", MOUNT_NOEXEC },
++ { "ro", MOUNT_READ_ONLY },
++ { "longnames", MOUNT_LONGNAME }, /* vfat */
++ { "sync", MOUNT_SYNC },
++ { "-u=", MOUNT_UID }, /* vfat, ntfs */
++#else
+ { "codepage=", MOUNT_CODEPAGE }, /* vfat */
+ { "data=", MOUNT_DATA }, /* ext3 */
+ { "dirsync", MOUNT_DIRSYNC },
+@@ -1934,6 +1952,7 @@
+ { "uid=", MOUNT_UID }, /* vfat, ntfs, udf, iso9660 */
+ { "umask=", MOUNT_UMASK }, /* vfat, ntfs, udf */
+ { "utf8", MOUNT_UTF8 }, /* vfat, iso9660 */
++#endif
+ };
+
+
+@@ -2114,10 +2133,17 @@
+ g_slist_free_1 (l);
+ }
+
++#ifndef __FreeBSD__
+ if (opts & MOUNT_UID) {
+ option = g_strdup_printf ("uid=%u", getuid ());
+ g_ptr_array_add (options, option);
+ }
++#else
++ if (opts & MOUNT_UID && (!strcmp (where, "vfat") || !strcmp (where, "ntfs"))) {
++ option = g_strdup_printf ("u=%u", getuid ());
++ g_ptr_array_add (options, option);
++ }
++#endif
+
+ return TRUE;
+ }
+@@ -2167,7 +2193,7 @@
+
+ return retval;
+ } else {
+- char *mount_point, *fstype, *drive, **moptions, fmask_opt[12], *charset_opt = NULL;
++ char *mount_point, *fstype, *drive, **moptions, fmask_opt[12], *charset_opt = NULL, *locale_opt = NULL;
+ DBusMessage *dmesg, *reply;
+ gboolean freev = FALSE;
+ GPtrArray *options;
+@@ -2247,21 +2273,85 @@
+
+ if (opts & MOUNT_FMASK) {
+ mask = umask (0);
++#ifndef __FreeBSD__
+ snprintf (fmask_opt, sizeof (fmask_opt), "fmask=%#o", mask | 0111);
++#else
++ snprintf (fmask_opt, sizeof (fmask_opt), "-m=%#o", mask | 0111);
++#endif
+ g_ptr_array_add (options, fmask_opt);
+ umask (mask);
+ }
+
+ if (opts & MOUNT_SHORTNAME)
+ g_ptr_array_add (options, "shortname=lower");
++ if (opts & MOUNT_LONGNAME)
++ g_ptr_array_add (options, "longnames");
++
++ if (opts & MOUNT_LOCALE) {
++ char *locale;
++
++ locale = setlocale (LC_ALL, NULL);
++ if (!locale) {
++ locale = getenv ("LANG");
++ } else {
++ locale_opt = g_strdup_printf ("-L=%s", locale);
++ g_ptr_array_add (options, locale_opt);
++ }
++ }
++
++#ifdef __FreeBSD__
++ if (opts & MOUNT_CODEPAGE) {
++ if ((iocharset = gvm_iocharset ())) {
++ charset_opt = g_strdup_printf ("-D=%s", iocharset);
++ g_ptr_array_add (options, charset_opt);
++ }
++ }
++
++ if (opts & MOUNT_UID) {
++ snprintf(uid, sizeof (uid) - 1, "-u=%s", getuid ());
++ g_ptr_array_add (options, uid);
++ }
++#endif
+ } else if (!strcmp (fstype, "iso9660")) {
+ /* only care about uid= and iocharset= */
++#ifdef __FreeBSD__
++ if (opts & MOUNT_IOCHARSET) {
++ if ((iocharset = gvm_iocharset ())) {
++ charset_opt = g_strdup_printf ("-C=%s", iocharset);
++ g_ptr_array_add (options, charset_opt);
++ }
++ }
++#endif
+ } else if (!strcmp (fstype, "udf")) {
+ /* also care about uid= and iocharset= */
+ if (opts & MOUNT_NOATIME)
+ g_ptr_array_add (options, "noatime");
++#ifdef __FreeBSD__
++ if (opts & MOUNT_IOCHARSET) {
++ if ((iocharset = gvm_iocharset ())) {
++ charset_opt = g_strdup_printf ("-C=%s", iocharset);
++ g_ptr_array_add (options, charset_opt);
++ }
++ }
++#endif
++ } else if (!strcmp (fstype, "ntfs")) {
++ /* only care about uid= and iocharset= */
++#ifdef __FreeBSD__
++ if (opts & MOUNT_IOCHARSET) {
++ if ((iocharset = gvm_iocharset ())) {
++ charset_opt = g_strdup_printf ("-C=%s", iocharset);
++ g_ptr_array_add (options, charset_opt);
++ }
++ }
++
++ if (opts & MOUNT_UID) {
++ snprintf (uid, sizeof (uid) - 1, "-u=%s", getuid ());
++ g_ptr_array_add (options, uid);
++ }
++#endif
+ }
+
++#ifndef __FreeBSD__
+ if (opts & (MOUNT_IOCHARSET|MOUNT_UTF8)) {
+ if ((iocharset = gvm_iocharset ())) {
+ if ((opts & MOUNT_UTF8) && !strcmp (iocharset, "utf8")) {
+@@ -2277,6 +2367,7 @@
+ snprintf (uid, sizeof (uid) - 1, "uid=%u", getuid ());
+ g_ptr_array_add (options, uid);
+ }
++#endif
+
+ libhal_free_string (fstype);
+ }
+@@ -2301,6 +2392,7 @@
+
+ g_ptr_array_free (options, TRUE);
+ g_free (charset_opt);
++ g_free (locale_opt);
+
+ policy = g_new (struct _MountPolicy, 1);
+ policy->udi = g_strdup (udi);
diff --git a/gnome-base/gnome-volume-manager/gnome-volume-manager-2.22.1.ebuild b/gnome-base/gnome-volume-manager/gnome-volume-manager-2.22.1.ebuild
new file mode 100644
index 000000000000..70b3c58143c7
--- /dev/null
+++ b/gnome-base/gnome-volume-manager/gnome-volume-manager-2.22.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/gnome-volume-manager-2.22.1.ebuild,v 1.1 2008/03/26 21:35:25 eva Exp $
+
+inherit gnome2 eutils
+
+DESCRIPTION="Daemon that enforces volume-related policies"
+HOMEPAGE="http://www.gnome.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86" # ~x86-fbsd"
+IUSE="debug"
+
+# TODO: libnotify support is optional but doesn't have a configure switch
+
+RDEPEND=">=gnome-base/libgnomeui-2.1.5
+ >=dev-libs/dbus-glib-0.71
+ >=sys-apps/hal-0.5.9
+ >=x11-libs/gtk+-2.6
+ >=gnome-base/libglade-2
+ >=x11-libs/libnotify-0.3
+ >=gnome-base/gconf-2
+
+ gnome-base/nautilus
+ >=gnome-base/gnome-mount-0.6"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ >=dev-util/pkgconfig-0.20
+ >=dev-util/intltool-0.35"
+
+DOCS="AUTHORS ChangeLog README HACKING NEWS TODO"
+
+pkg_setup() {
+ G2CONF="${G2CONF} $(use_enable debug)"
+
+ # FIXME: We should be more intelligent about disabling multiuser support
+ # (like enable it when pam_console is available?). For now, this is a
+ # slightly nicer solution than applying ${PN}-1.5.9-no-pam_console.patch
+ # FIXME: now that we have pambase, find time to check if we can do this
+ G2CONF="${G2CONF} --disable-multiuser"
+}
+
+src_unpack() {
+ gnome2_src_unpack
+
+ # Fix most FreeBSD issues (bug #183442) -- local fallback wont work
+ epatch "${FILESDIR}"/${PN}-2.22.0-fbsd-support.patch
+
+ # Fix default totem command. Bug #200999
+ epatch "${FILESDIR}"/${PN}-2.17.0-totem-dvd.patch
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+
+ elog "To start the gnome-volume-manager daemon you need to configure"
+ elog "it through it's preferences capplet. Also the HAL daemon (hald)"
+ elog "needs to be running or it will shut down."
+}