diff options
author | 2007-07-05 23:58:45 +0000 | |
---|---|---|
committer | 2007-07-05 23:58:45 +0000 | |
commit | d78a1c64e249a962747a0db5c1a79be21b63e0c1 (patch) | |
tree | 7af36619f1f175ed3c89f477ae7942dc9970986b /gnome-base | |
parent | Add missing dependency on virtual/emacs. (diff) | |
download | historical-d78a1c64e249a962747a0db5c1a79be21b63e0c1.tar.gz historical-d78a1c64e249a962747a0db5c1a79be21b63e0c1.tar.bz2 historical-d78a1c64e249a962747a0db5c1a79be21b63e0c1.zip |
Add fixes for fbsd; bug #183442
Package-Manager: portage-2.1.3_rc6
Diffstat (limited to 'gnome-base')
4 files changed, 284 insertions, 10 deletions
diff --git a/gnome-base/gnome-volume-manager/ChangeLog b/gnome-base/gnome-volume-manager/ChangeLog index 7c6642a87ac3..fc6afd003695 100644 --- a/gnome-base/gnome-volume-manager/ChangeLog +++ b/gnome-base/gnome-volume-manager/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for gnome-base/gnome-volume-manager # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/ChangeLog,v 1.83 2007/06/22 21:32:33 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/ChangeLog,v 1.84 2007/07/05 23:58:45 dang Exp $ + + 05 Jul 2007; Daniel Gryniewicz <dang@gentoo.org> + +files/gnome-volume-manager-2.17.0-fbsd.patch, + gnome-volume-manager-2.17.0.ebuild: + Add fixes for fbsd; bug #183442 22 Jun 2007; Jeroen Roovers <jer@gentoo.org> gnome-volume-manager-2.17.0.ebuild: diff --git a/gnome-base/gnome-volume-manager/Manifest b/gnome-base/gnome-volume-manager/Manifest index 7e06bcb9d0f9..6facff6b0c33 100644 --- a/gnome-base/gnome-volume-manager/Manifest +++ b/gnome-base/gnome-volume-manager/Manifest @@ -1,3 +1,6 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX disable-totem-dvd-autoplay.patch 876 RMD160 01da6e5fa66cee65001185c19e0f8fd37c0fa828 SHA1 25561850b6b8cbfa275da4dfa51b660df5f03063 SHA256 9152e40168176cc6f5c2db889ad8503d597f63d021234e0c6dff3bc07e1fafba MD5 66a15180a670b2d9e6c8f039ccf25f8f files/disable-totem-dvd-autoplay.patch 876 RMD160 01da6e5fa66cee65001185c19e0f8fd37c0fa828 files/disable-totem-dvd-autoplay.patch 876 @@ -18,6 +21,10 @@ AUX gnome-volume-manager-2.15.0-check_local_user.patch 6409 RMD160 03fe942c6d423 MD5 faf7264c1ed1aa25b1bc06db9ac1a66b files/gnome-volume-manager-2.15.0-check_local_user.patch 6409 RMD160 03fe942c6d4235733a1908655dea173ff111470e files/gnome-volume-manager-2.15.0-check_local_user.patch 6409 SHA256 b1ff00b38d6055c721d96acb054358214763565462aa815a9e5094a4d1e82c19 files/gnome-volume-manager-2.15.0-check_local_user.patch 6409 +AUX gnome-volume-manager-2.17.0-fbsd.patch 7530 RMD160 357db1283badb5b782fb901b943f7f3cc875ba1c SHA1 78bfc95c36d96d2888a157c066f7752251682a72 SHA256 67612f8a57fd848c4e3b6a630ccf511ce715e41c418f7dd0e17261628fda4b51 +MD5 eebf2282483cef342b5086c66f383096 files/gnome-volume-manager-2.17.0-fbsd.patch 7530 +RMD160 357db1283badb5b782fb901b943f7f3cc875ba1c files/gnome-volume-manager-2.17.0-fbsd.patch 7530 +SHA256 67612f8a57fd848c4e3b6a630ccf511ce715e41c418f7dd0e17261628fda4b51 files/gnome-volume-manager-2.17.0-fbsd.patch 7530 DIST gnome-volume-manager-1.3.3-reconnect_dbus.patch.bz2 12026 RMD160 4f8050672b389f4721ef1b86af1667aabf40f526 SHA1 2af30d66131cc5b41e050d65a77073f67e3df275 SHA256 e58c4d8716e5321ef549311cd827be4aa41fbc207318b7ae497b7e416591c71b DIST gnome-volume-manager-1.5.15.tar.bz2 311956 RMD160 b179d3ea4fb6cc8fd1166f5e409d5e2d06c98b7e SHA1 bfc0beeab74cf1091bab99628a6751ee1f1ae196 SHA256 c346d7f47bc3194c96f62376b006e6c111963d3b697f2c92fbd13da34f04f19b DIST gnome-volume-manager-1.5.4.tar.bz2 270062 RMD160 734d5cbc0ea7023e7f003b026440da7b4187316f SHA1 a2b21d3d86852d086c8f609c04f8f5ab2ee58dde SHA256 251723cd1e1ab1f7eec5e74d2f7c89acca7e295501909c714b0262bcb7c695ff @@ -43,14 +50,14 @@ EBUILD gnome-volume-manager-2.15.0.ebuild 1576 RMD160 bb8eb8d9c88f41aff019f1c5ad MD5 60c24c184ae4dde936a1ad27ced3cca6 gnome-volume-manager-2.15.0.ebuild 1576 RMD160 bb8eb8d9c88f41aff019f1c5ada00051313c95a9 gnome-volume-manager-2.15.0.ebuild 1576 SHA256 745d096542bb8b49c0c51a5aa2765c59e211c0556a4309812e627932ac55557f gnome-volume-manager-2.15.0.ebuild 1576 -EBUILD gnome-volume-manager-2.17.0.ebuild 1579 RMD160 9fd827e154ad62584d00780aad0d4cd4d25e3807 SHA1 33edf21dde330a4c9e4039d7b066fb2b8f89cda1 SHA256 86b8905e23bbdbf4ba30d2c034bb70b8eed47307405b379e82d4c1ee4cffac89 -MD5 ce58ed050f8f3ea9f3275ebe0b0c2193 gnome-volume-manager-2.17.0.ebuild 1579 -RMD160 9fd827e154ad62584d00780aad0d4cd4d25e3807 gnome-volume-manager-2.17.0.ebuild 1579 -SHA256 86b8905e23bbdbf4ba30d2c034bb70b8eed47307405b379e82d4c1ee4cffac89 gnome-volume-manager-2.17.0.ebuild 1579 -MISC ChangeLog 12395 RMD160 0db03bb13fdcc75e14cce5cdf3e8cf03d12582b7 SHA1 d3b05bd68f03c06c9d6c22b08a9fcd2e5645ddad SHA256 77d96325ada188ae76ea1d1846f05e9b78b58b5232803cbcfc5ed3867fd9a071 -MD5 c3a85c6341a834e592060ad49bfba186 ChangeLog 12395 -RMD160 0db03bb13fdcc75e14cce5cdf3e8cf03d12582b7 ChangeLog 12395 -SHA256 77d96325ada188ae76ea1d1846f05e9b78b58b5232803cbcfc5ed3867fd9a071 ChangeLog 12395 +EBUILD gnome-volume-manager-2.17.0.ebuild 1684 RMD160 bd8a5c7641997703f131a98b85f7a43885820849 SHA1 521533b32de504b9b5601233a78ac9597b089154 SHA256 381be627b0842886e4fa016b77ac869f4e860fb7caed4e081bb58c1beb50d1e8 +MD5 4416be6cd11227b8b937ab80ba1f8af4 gnome-volume-manager-2.17.0.ebuild 1684 +RMD160 bd8a5c7641997703f131a98b85f7a43885820849 gnome-volume-manager-2.17.0.ebuild 1684 +SHA256 381be627b0842886e4fa016b77ac869f4e860fb7caed4e081bb58c1beb50d1e8 gnome-volume-manager-2.17.0.ebuild 1684 +MISC ChangeLog 12569 RMD160 2134864693d339f1a980cda1487f3f6809c9cc73 SHA1 484cabe86069484d81d2d580184ace4f531aea30 SHA256 f36467835c5e62ac962b7c7f93ca186dc916bb8c9d13dde59eff3cb5a83a9dbb +MD5 d2478a8f739b987b356040736f16bc87 ChangeLog 12569 +RMD160 2134864693d339f1a980cda1487f3f6809c9cc73 ChangeLog 12569 +SHA256 f36467835c5e62ac962b7c7f93ca186dc916bb8c9d13dde59eff3cb5a83a9dbb ChangeLog 12569 MISC metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e SHA1 38f78e9790bcd4382b4a49aa226aa6dda1d3a3d7 SHA256 3a7dbca0fdc557de69783e0663e2d76ddab129ea8a19b2d0ef6d3e5d1b947ce1 MD5 03ad2e6c4ab41244af1015a8bbb0b39f metadata.xml 158 RMD160 c0e2bae8e91bb6be8922bac5e4f597302e06587e metadata.xml 158 @@ -73,3 +80,10 @@ SHA256 63e0ede732d541c479c89f6114d7498f5c81bc8a6d27bd171604233b4de7e8b3 files/di MD5 d68eea3673385f3055af2c395ddd4632 files/digest-gnome-volume-manager-2.17.0 286 RMD160 77ae4614ccc252e73facecb6fe785b0ee1c06b14 files/digest-gnome-volume-manager-2.17.0 286 SHA256 f3c7c19ea90fb477dd985af10684bccc2316e0de93ba6f6da43a5de2f9b71b43 files/digest-gnome-volume-manager-2.17.0 286 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.4 (GNU/Linux) + +iD8DBQFGjYXEomPajV0RnrERAkEGAJ42cKxgr86MyzFM44lyqUGp23ojbgCdFEvB +x1fDfcKaLVn5UzZEoNCnjBY= +=yYI6 +-----END PGP SIGNATURE----- diff --git a/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.17.0-fbsd.patch b/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.17.0-fbsd.patch new file mode 100644 index 000000000000..615347d6f4a7 --- /dev/null +++ b/gnome-base/gnome-volume-manager/files/gnome-volume-manager-2.17.0-fbsd.patch @@ -0,0 +1,248 @@ +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN gnome-volume-manager-2.17.0.orig/src/manager.c gnome-volume-manager-2.17.0/src/manager.c +--- gnome-volume-manager-2.17.0.orig/src/manager.c 2006-11-07 13:01:17.000000000 -0500 ++++ gnome-volume-manager-2.17.0/src/manager.c 2007-07-05 19:48:50.000000000 -0400 +@@ -23,9 +23,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> + +@@ -1556,12 +1559,27 @@ enum { + 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, ios9660 */ ++ { "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 }, +@@ -1580,6 +1598,7 @@ static struct { + { "uid=", MOUNT_UID }, /* vfat, ntfs, udf, iso9660 */ + { "umask=", MOUNT_UMASK }, /* vfat, ntfs, udf */ + { "utf8", MOUNT_UTF8 }, /* vfat, iso9660 */ ++#endif + }; + + +@@ -1760,10 +1779,17 @@ gvm_mount_options (GPtrArray *options, g + 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; + } +@@ -1813,7 +1839,7 @@ gvm_device_mount (const char *udi, gbool + + 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; +@@ -1893,21 +1919,86 @@ gvm_device_mount (const char *udi, gbool + + if (opts & MOUNT_FMASK) { + mask = umask (0); ++#ifdef __FreeBSD__ ++ snprintf (fmask_opt, sizeof (fmask_opt), "-m=%#o", mask | 0111); ++#else + snprintf (fmask_opt, sizeof (fmask_opt), "fmask=%#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"); ++ if (locale) { ++ ++ 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")) { +@@ -1923,6 +2014,7 @@ gvm_device_mount (const char *udi, gbool + snprintf (uid, sizeof (uid) - 1, "uid=%u", getuid ()); + g_ptr_array_add (options, uid); + } ++#endif + + libhal_free_string (fstype); + } +@@ -1947,6 +2039,7 @@ gvm_device_mount (const char *udi, gbool + + 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); +@@ -3185,6 +3278,12 @@ gvm_local_user (void) + size_t n; + DIR *dir; + int vt; ++#ifndef __linux__ ++ int bytes, fd; ++ struct stat sb; ++ struct utmp buf[1024]; ++ size_t len; ++#endif + + if (local & LOCAL_USER_CHECKED) + return (local & LOCAL_USER_FOUND); +@@ -3208,6 +3307,7 @@ gvm_local_user (void) + + fallback: + ++#ifdef __linux__ + if (!(local & LOCAL_USER_FOUND)) { + setutent (); + +@@ -3222,6 +3322,29 @@ gvm_local_user (void) + + endutent (); + } ++#else ++ if ((fd = open (_PATH_WTMP, O_RDONLY, 0)) < 0 || fstat(fd, &sb) == -1) { ++ close (fd); ++ return TRUE; ++ } ++ ++ len = (sb.st_size + sizeof(buf) - 1) / sizeof(buf); ++ ++ while (!local && --len >= 0) { ++ if (lseek(fd, (off_t) (len * sizeof(buf)), L_SET) == -1 || ++ (bytes = read (fd, buf, sizeof(buf))) == -1) { ++ close (fd); ++ return TRUE; ++ } ++ for (utmp = &buf[bytes / sizeof(buf[0]) - 1]; !local && utmp >= buf; --utmp) { ++ if (!utmp->ut_name[0] || strncmp (utmp->ut_name, user, n) != 0) ++ continue; ++ local = utmp->ut_line[0] == ':' && utmp->ut_line[1] >= '0' && utmp->ut_line[1] <= '9' || !strncmp (utmp->ut_line, "ttyv", 4) ? LOCAL_USER_FOUND : 0; ++ } ++ } ++ ++ close (fd); ++#endif + + local |= LOCAL_USER_CHECKED; + +diff --exclude-from=/home/dang/.scripts/diffrc -up -ruN gnome-volume-manager-2.17.0.orig/src/properties.c gnome-volume-manager-2.17.0/src/properties.c +--- gnome-volume-manager-2.17.0.orig/src/properties.c 2006-11-07 13:01:17.000000000 -0500 ++++ gnome-volume-manager-2.17.0/src/properties.c 2007-07-05 19:48:50.000000000 -0400 +@@ -504,7 +504,11 @@ main (int argc, char **argv) + _("The \"hald\" service is required but not currently " + "running. Enable the service and rerun this application, " + "or contact your system administrator.\n\n" ++#ifndef __FreeBSD__ + "Note: You need Linux kernel 2.6 for volume " ++#else ++ "Note: You need sysutils/hal installed for volume " ++#endif + "management to work.")); + + gtk_dialog_run (GTK_DIALOG (dialog)); diff --git a/gnome-base/gnome-volume-manager/gnome-volume-manager-2.17.0.ebuild b/gnome-base/gnome-volume-manager/gnome-volume-manager-2.17.0.ebuild index 73dea082ee47..8aaff3f65dd3 100644 --- a/gnome-base/gnome-volume-manager/gnome-volume-manager-2.17.0.ebuild +++ b/gnome-base/gnome-volume-manager/gnome-volume-manager-2.17.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 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.17.0.ebuild,v 1.2 2007/06/22 21:32:33 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gnome-volume-manager/gnome-volume-manager-2.17.0.ebuild,v 1.3 2007/07/05 23:58:45 dang Exp $ inherit gnome2 eutils autotools @@ -46,6 +46,13 @@ pkg_setup() { G2CONF="${G2CONF} --disable-multiuser" } +src_unpack() { + gnome2_src_unpack + + # fbsd fixes. bug #183442 + epatch "${FILESDIR}"/${P}-fbsd.patch +} + pkg_postinst() { gnome2_pkg_postinst |