summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/samba/files/configure-3.3.0.patch85
-rw-r--r--packages/samba/samba-ads.inc26
-rw-r--r--packages/samba/samba-ads_3.2.7.bb21
-rw-r--r--packages/samba/samba-ads_3.3.0.bb14
4 files changed, 122 insertions, 24 deletions
diff --git a/packages/samba/files/configure-3.3.0.patch b/packages/samba/files/configure-3.3.0.patch
new file mode 100644
index 0000000000..19fb9864da
--- /dev/null
+++ b/packages/samba/files/configure-3.3.0.patch
@@ -0,0 +1,85 @@
+diff -urN source.old//configure source//configure
+--- source.old//configure 2009-01-27 07:53:11.000000000 +0000
++++ source//configure 2009-01-31 21:07:25.811887936 +0000
+@@ -43860,13 +43860,7 @@
+ *linux*)
+ # glibc <= 2.3.2 has a broken getgrouplist
+ if test "$cross_compiling" = yes; then
+- { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&5
+-$as_echo "$as_me: error: cannot run test program while cross compiling
+-See \`config.log' for more details." >&2;}
+- { (exit 1); exit 1; }; }; }
++linux_getgrouplist_ok=no
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+ /* confdefs.h. */
+diff -urN source.old//configure.in source//configure.in
+--- source.old//configure.in 2009-01-26 13:56:34.000000000 +0000
++++ source//configure.in 2009-01-31 21:04:39.051889949 +0000
+@@ -280,6 +280,8 @@
+ fi
+ AC_SUBST(BROKEN_CC)
+
++AC_TRY_COMPILE([],[(void)sizeof(char[-1])],AC_MSG_ERROR([configure's compilation assert doesn't work with $CC]))
++
+ dnl Check if the C compiler understands -Werror
+ AC_CACHE_CHECK([that the C compiler understands -Werror],samba_cv_HAVE_Werror, [
+ AC_TRY_RUN_STRICT([
+@@ -330,25 +332,11 @@
+ # a runtime test is needed here
+ AC_SUBST(PIDL_ARGS)
+ AC_CACHE_CHECK([that the C compiler understands negative enum values],samba_cv_CC_NEGATIVE_ENUM_VALUES, [
+- AC_TRY_RUN(
++ AC_TRY_COMPILE([],
+ [
+- #include <stdio.h>
+ enum negative_values { NEGATIVE_VALUE = 0xFFFFFFFF };
+- int main(void) {
+- enum negative_values v1 = NEGATIVE_VALUE;
+- unsigned v2 = NEGATIVE_VALUE;
+-
+- if (v1 != 0xFFFFFFFF) {
+- printf("%u != 0xFFFFFFFF\n", v1);
+- return 1;
+- }
+- if (v2 != 0xFFFFFFFF) {
+- printf("%u != 0xFFFFFFFF\n", v2);
+- return 1;
+- }
+-
+- return 0;
+- }
++ (void)sizeof(char[1-2*( (unsigned)NEGATIVE_VALUE != 0xFFFFFFFF)]);
++ (void)sizeof(char[1-2*((enum negative_values)NEGATIVE_VALUE != 0xFFFFFFFF)]);
+ ],
+ samba_cv_CC_NEGATIVE_ENUM_VALUES=yes,samba_cv__CC_NEGATIVE_ENUM_VALUES=no)])
+ if test x"$samba_cv_CC_NEGATIVE_ENUM_VALUES" != x"yes"; then
+@@ -1224,22 +1212,12 @@
+ case "$host_os" in
+ *linux*)
+ # glibc <= 2.3.2 has a broken getgrouplist
+- AC_TRY_RUN([
+-#include <unistd.h>
++ AC_TRY_COMPILE([
+ #include <sys/utsname.h>
+-main() {
+- /* glibc up to 2.3 has a broken getgrouplist */
++],[
+ #if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+- int libc_major = __GLIBC__;
+- int libc_minor = __GLIBC_MINOR__;
+-
+- if (libc_major < 2)
+- exit(1);
+- if ((libc_major == 2) && (libc_minor <= 3))
+- exit(1);
++ (void)sizeof(char[1-2*(__GLIBC__ < 2 || __GLIBC__ == 2 && __GLIBC_MINOR__ <= 3)]);
+ #endif
+- exit(0);
+-}
+ ], [linux_getgrouplist_ok=yes], [linux_getgrouplist_ok=no])
+ if test x"$linux_getgrouplist_ok" = x"yes"; then
+ AC_DEFINE(HAVE_GETGROUPLIST, 1, [Have good getgrouplist])
diff --git a/packages/samba/samba-ads.inc b/packages/samba/samba-ads.inc
index 78e7a9d770..1249528fdb 100644
--- a/packages/samba/samba-ads.inc
+++ b/packages/samba/samba-ads.inc
@@ -1,4 +1,22 @@
-PACKAGES =+ "libsmbclient-ads libsmbclient-ads-dev cifs-ads cifs-ads-doc smbfs-ads smbfs-ads-doc swat-ads"
+DEPENDS += " openldap krb5"
+
+EXTRA_OECONF += "\
+ SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \
+ samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
+ linux_getgrouplist_ok=no \
+ samba_cv_HAVE_BROKEN_GETGROUPS=no \
+ samba_cv_HAVE_FTRUNCATE_EXTEND=yes \
+ ac_cv_path_KRB5CONFIG=${STAGING_BINDIR_CROSS}/krb5-config \
+ samba_cv_have_setresuid=yes \
+ samba_cv_have_setresgid=yes \
+ samba_cv_HAVE_WRFILE_KEYTAB=yes \
+ smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes \
+ smb_krb5_cv_enctype_to_string_takes_size_t_arg=yes \
+ --with-krb5=${STAGING_LIBDIR} \
+ --with-ads \
+ "
+
+PACKAGES =+ "libsmbclient-ads libsmbclient-ads-dev cifs-ads cifs-ads-doc smbfs-ads swat-ads"
RCONFLICTS_${PN} = "samba"
RCONFLICTS_libsmbclient-ads = "libsmbclient"
@@ -6,7 +24,6 @@ RCONFLICTS_libsmbclient-ads-dev = "libsmbclient-dev"
RCONFLICTS_cifs-ads = "cifs"
RCONFLICTS_cifs-ads-doc = "cifs-doc"
RCONFLICTS_smbfs-ads = "smbfs"
-RCONFLICTS_smbfs-ads-doc = "smbfs-doc"
RCONFLICTS_swat-ads = "swat"
FILES_cifs-ads= "${base_sbindir}/mount.cifs ${base_sbindir}/umount.cifs"
@@ -14,5 +31,8 @@ FILES_cifs-ads-doc = "${mandir}/man8/mount.cifs.8 ${mandir}/man8/umount.cifs.8"
FILES_libsmbclient-ads = "${libdir}/libsmbclient.so.*"
FILES_libsmbclient-ads-dev = "${libdir}/libsmbclient.so ${includedir}"
FILES_smbfs-ads = "${bindir}/smbmount ${bindir}/smbumount ${bindir}/smbmnt ${base_sbindir}/mount.smbfs ${base_sbindir}/mount.smb"
-FILES_smbfs-ads-doc = "${mandir}/man8/smbmount.8 ${mandir}/man8/smbumount.8 ${mandir}/man8/smbmnt.8"
FILES_swat-ads = "${sbindir}/swat ${datadir}/swat ${libdir}/*.msg"
+
+do_configure() {
+ oe_runconf
+}
diff --git a/packages/samba/samba-ads_3.2.7.bb b/packages/samba/samba-ads_3.2.7.bb
index 8311c35046..9a9bd12e0e 100644
--- a/packages/samba/samba-ads_3.2.7.bb
+++ b/packages/samba/samba-ads_3.2.7.bb
@@ -2,30 +2,9 @@ require samba.inc
require samba-ads.inc
PR = "r0"
-DEPENDS += " openldap krb5"
SRC_URI += "file://config-lfs.patch;patch=1 \
file://quota.patch;patch=1;pnum=0 \
file://configure-3.2.7.patch;patch=1 \
file://config-h.patch;patch=1 \
file://mtab.patch;patch=1 \
"
-
-EXTRA_OECONF += "\
- SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes \
- samba_cv_CC_NEGATIVE_ENUM_VALUES=yes \
- linux_getgrouplist_ok=no \
- samba_cv_HAVE_BROKEN_GETGROUPS=no \
- samba_cv_HAVE_FTRUNCATE_EXTEND=yes \
- ac_cv_path_KRB5CONFIG=${STAGING_BINDIR_CROSS}/krb5-config \
- samba_cv_have_setresuid=yes \
- samba_cv_have_setresgid=yes \
- samba_cv_HAVE_WRFILE_KEYTAB=yes \
- smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes \
- smb_krb5_cv_enctype_to_string_takes_size_t_arg=yes \
- --with-krb5=${STAGING_LIBDIR} \
- --with-ads \
- "
-
-do_configure() {
- oe_runconf
-}
diff --git a/packages/samba/samba-ads_3.3.0.bb b/packages/samba/samba-ads_3.3.0.bb
new file mode 100644
index 0000000000..afbea8b8d0
--- /dev/null
+++ b/packages/samba/samba-ads_3.3.0.bb
@@ -0,0 +1,14 @@
+require samba.inc
+require samba-ads.inc
+
+PR = "r0"
+SRC_URI += "file://config-lfs.patch;patch=1 \
+ file://quota.patch;patch=1;pnum=0 \
+ file://configure-3.3.0.patch;patch=1 \
+ file://config-h.patch;patch=1 \
+ file://mtab.patch;patch=1 \
+ "
+
+do_compile () {
+ base_do_compile
+}