diff options
author | joerg <joerg@pkgsrc.org> | 2006-06-20 20:41:22 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2006-06-20 20:41:22 +0000 |
commit | b8724d8bc8dde178875b4b8240038109575c04b9 (patch) | |
tree | b4303a53eb731fab61b734a5f8cc523125a6c101 | |
parent | 2de16446d43f464f5f2fb54d7098b31e9c4ac4f1 (diff) | |
download | pkgsrc-b8724d8bc8dde178875b4b8240038109575c04b9.tar.gz |
Add DragonFly support. Replace the static FILE magic with a different
(messy) magic, which doesn't relay on sizeof(FILE), but on two integer
variables having separate addresses and pointer casts not changing
this fact.
-rw-r--r-- | sysutils/gentoo/distinfo | 6 | ||||
-rw-r--r-- | sysutils/gentoo/patches/patch-ac | 79 | ||||
-rw-r--r-- | sysutils/gentoo/patches/patch-af | 31 | ||||
-rw-r--r-- | sysutils/gentoo/patches/patch-ag | 13 |
4 files changed, 122 insertions, 7 deletions
diff --git a/sysutils/gentoo/distinfo b/sysutils/gentoo/distinfo index c76fca101b2..410e42f2fc0 100644 --- a/sysutils/gentoo/distinfo +++ b/sysutils/gentoo/distinfo @@ -1,10 +1,12 @@ -$NetBSD: distinfo,v 1.17 2005/06/30 15:29:13 adam Exp $ +$NetBSD: distinfo,v 1.18 2006/06/20 20:41:22 joerg Exp $ SHA1 (gentoo-0.11.55.tar.gz) = 5ba1627d0c7caba8ba0064dde5fd8850a38a092e RMD160 (gentoo-0.11.55.tar.gz) = 30b4edd10a892709a39ac3f83cc5385652a965e2 Size (gentoo-0.11.55.tar.gz) = 1395600 bytes SHA1 (patch-aa) = bd3736cffbda663fd571b6b7a2171e64b4d52927 SHA1 (patch-ab) = 1aaa154789866b436303b0a8f6f20707301d8b7f -SHA1 (patch-ac) = ab5d886b29945fcb54baa94e47140516bd4db93e +SHA1 (patch-ac) = 787e4b6f247710d5170bb9ad6ea9fe502f0c9969 SHA1 (patch-ad) = 0ac9fca5454c98633aa6c0bacfcaa364c34df37f SHA1 (patch-ae) = daa7cbed8d66af155f2624a0066b2f578e9a93c6 +SHA1 (patch-af) = a86ce48f7430cb6815706f22f71fadad41f0b4f6 +SHA1 (patch-ag) = 3045a4eb72f8c50d147fe09256ec791359053418 diff --git a/sysutils/gentoo/patches/patch-ac b/sysutils/gentoo/patches/patch-ac index 0619a064602..5ab7e27fba8 100644 --- a/sysutils/gentoo/patches/patch-ac +++ b/sysutils/gentoo/patches/patch-ac @@ -1,22 +1,39 @@ -$NetBSD: patch-ac,v 1.3 2004/05/07 13:50:37 adam Exp $ +$NetBSD: patch-ac,v 1.4 2006/06/20 20:41:22 joerg Exp $ ---- src/mntent_wrap.c.orig 2004-05-07 15:22:04.000000000 +0000 +--- src/mntent_wrap.c.orig 2003-10-12 13:45:23.000000000 +0000 +++ src/mntent_wrap.c +@@ -92,7 +92,7 @@ gint mne_endmntent(FILE *filep) + return -1; + } + +-#elif defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ || (defined __osf__ && defined __alpha__) ++#elif defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ || (defined __osf__ && defined __alpha__) || defined(__DragonFly__) + + /* Here is the implementation for BSD and Alpha Tru64 systems. */ + @@ -100,6 +100,9 @@ gint mne_endmntent(FILE *filep) #include <sys/mount.h> #include <sys/param.h> #include <sys/ucred.h> -+#ifdef HAVE_STRUCT_STATVFS ++#if defined(HAVE_STRUCT_STATVFS) && !defined(__DragonFly__) +#include <sys/statvfs.h> +#endif /* A pointer to one of these is returned by mne_setmntent(), depending on which file ** name is given as an input. Note that on BSD systems, the system calls themselves -@@ -115,7 +118,11 @@ static FILE f_fstab, f_mtab; +@@ -109,13 +112,18 @@ gint mne_endmntent(FILE *filep) + ** of what kind of mount entries we're supposed to deal with. Since gentoo will + ** pass a FILE pointer to mne_getmntent() anyway, it seems natural to use it. + */ +-static FILE f_fstab, f_mtab; ++static int f_stab_val, f_mtab_val; ++static FILE *f_fstab = (FILE *)&f_stab_val, *f_mtab = (FILE *)&f_mtab_val; + + /* These are used when we're accessing the currently mounted filesystems, using ** a call to getmntinfo(). The mtab_pos and mtab_num integers are then used to ** keep track of where in the returned array of statfs structs we are. */ -+#ifdef HAVE_STRUCT_STATVFS ++#if defined(HAVE_STRUCT_STATVFS) && !defined(__DragonFly__) +static struct statvfs *mtab = NULL; +#else static struct statfs *mtab = NULL; @@ -24,3 +41,55 @@ $NetBSD: patch-ac,v 1.3 2004/05/07 13:50:37 adam Exp $ static guint mtab_pos = 0, mtab_num = 0; /* 1999-05-09 - An attempt at a BSD implementation, after having received input from +@@ -132,28 +140,28 @@ FILE * mne_setmntent(const gchar *filena + if(strcmp(filename, "/etc/fstab") == 0) /* Looking for available filesystems? */ + { + if(setfsent() == 1) +- return &f_fstab; ++ return f_fstab; + } + else if(strcmp(filename, "/proc/mtab") == 0) /* Looking for mounted filesystems? */ + { + if((mtab_num = getmntinfo(&mtab, 0)) > 0) + { + mtab_pos = 0; +- return &f_mtab; ++ return f_mtab; + } + } + return NULL; + } + +-/* 1999-05-09 - Get another entry of data, either about mounted (filep == &f_mtab) or available +-** (filep == &f_fstab) filesystems. Returns NULL when the respective data source ++/* 1999-05-09 - Get another entry of data, either about mounted (filep == f_mtab) or available ++** (filep == f_fstab) filesystems. Returns NULL when the respective data source + ** is exhausted. + */ + const MntEnt * mne_getmntent(FILE *filep) + { + static MntEnt me; + +- if(filep == &f_fstab) ++ if(filep == f_fstab) + { + struct fstab *ment; + +@@ -164,7 +172,7 @@ const MntEnt * mne_getmntent(FILE *filep + return &me; + } + } +- else if(filep == &f_mtab) ++ else if(filep == f_mtab) + { + if(mtab_pos == mtab_num) /* Array exhausted? */ + return NULL; +@@ -182,7 +190,7 @@ const MntEnt * mne_getmntent(FILE *filep + /* 1999-05-09 - Stop traversing mount/fs data. */ + gint mne_endmntent(FILE *filep) + { +- if(filep == &f_fstab) ++ if(filep == f_fstab) + endfsent(); + + return 0; diff --git a/sysutils/gentoo/patches/patch-af b/sysutils/gentoo/patches/patch-af new file mode 100644 index 00000000000..80e2821d6c2 --- /dev/null +++ b/sysutils/gentoo/patches/patch-af @@ -0,0 +1,31 @@ +$NetBSD: patch-af,v 1.1 2006/06/20 20:41:22 joerg Exp $ + +--- src/gentoo.h.orig 2005-01-30 21:49:56.000000000 +0000 ++++ src/gentoo.h +@@ -13,7 +13,7 @@ + + #include "config.h" + +-#if !(defined __osf__ && defined __alpha__) && !defined __NetBSD__ && !defined __FreeBSD__ && !defined __sgi ++#if !(defined __osf__ && defined __alpha__) && !defined __NetBSD__ && !defined __FreeBSD__ && !defined __sgi && !defined(__DragonFly__) + #define __EXTENSIONS__ + #define _POSIX_C_SOURCE 3 /* This is for Solaris. */ + #define POSIX_C_SOURCE 3 +@@ -40,7 +40,7 @@ + #include <time.h> + #include <unistd.h> + +-#if defined HAVE_STRUCT_STATVFS ++#if defined HAVE_STRUCT_STATVFS && !defined(__DragonFly__) + #include <sys/statvfs.h> + #elif defined HAVE_STRUCT_STATFS + #include <sys/statfs.h> +@@ -50,7 +50,7 @@ + ** and save some typing in various tests below. This should probably all + ** be replaced by proper Autoconfed stuff at some point. + */ +-#if defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ ++#if defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ || defined(__DragonFly__) + #define GENTOO_ON_BSD + #endif + diff --git a/sysutils/gentoo/patches/patch-ag b/sysutils/gentoo/patches/patch-ag new file mode 100644 index 00000000000..e386efd92c0 --- /dev/null +++ b/sysutils/gentoo/patches/patch-ag @@ -0,0 +1,13 @@ +$NetBSD: patch-ag,v 1.1 2006/06/20 20:41:22 joerg Exp $ + +--- src/cfg_paths.c.orig 2006-06-19 13:33:18.000000000 +0000 ++++ src/cfg_paths.c +@@ -153,7 +153,7 @@ static GtkWidget * cpt_init(MainInfo *mi + page->path[i].path = gtk_entry_new(); + gtk_signal_connect(GTK_OBJECT(page->path[i].path), "changed", GTK_SIGNAL_FUNC(evt_path_changed), page); + gtk_table_attach_defaults(GTK_TABLE(page->ptable), page->path[i].path, 1, 2, i, i+1); +-#if defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ ++#if defined __OpenBSD__ || defined __FreeBSD__ || defined __NetBSD__ || defined __DragonFly__ + /* Mountlist and mounted fs files are non-configurable on BSD systems. */ + if(i == 2 || i == 3) + gtk_widget_set_sensitive(page->path[i].path, FALSE); |