diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/heimdal/Makefile | 38 | ||||
-rw-r--r-- | package/heimdal/patches/patch-cf_check-compile-et_m4 | 17 | ||||
-rw-r--r-- | package/heimdal/patches/patch-lib_com_err_Makefile_am | 11 | ||||
-rw-r--r-- | package/heimdal/patches/patch-lib_roken_roken_h_in | 11 | ||||
-rw-r--r-- | package/heimdal/src/cf/roken-h-process.pl | 184 | ||||
-rw-r--r-- | package/samba/Makefile | 147 | ||||
-rw-r--r-- | package/samba/files/cache.txt | 38 | ||||
-rw-r--r-- | package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py | 13 |
8 files changed, 364 insertions, 95 deletions
diff --git a/package/heimdal/Makefile b/package/heimdal/Makefile new file mode 100644 index 000000000..dcf648db2 --- /dev/null +++ b/package/heimdal/Makefile @@ -0,0 +1,38 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk + +PKG_NAME:= heimdal +PKG_VERSION:= 1.5.3 +PKG_RELEASE:= 1 +PKG_HASH:= aac27bedb33c341b6aed202af07ccc816146a893148721f8123abbbf93bbfea5 +PKG_DESCR:= kerberos server +PKG_SECTION:= app/crypto +PKG_URL:= http://www.h5l.org/ +PKG_SITES:= http://www.h5l.org/dist/src/ + +DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz + +PKG_CFLINE_HEIMDAL:= depends on ADK_HOST_ONLY + +include $(ADK_TOPDIR)/mk/host.mk +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call HOST_template,HEIMDAL,heimdal,$(PKG_VERSION)-${PKG_RELEASE})) + +HOST_CONFIGURE_ARGS+= --disable-pk-init \ + --without-openldap \ + --disable-kcm \ + --disable-kx509 \ + --disable-ndbm-db \ + --without-berkeley-db \ + --disable-sqlite-cache \ + --disable-otp + +hostpost-install: + $(CP) $(STAGING_HOST_DIR)/usr/libexec/heimdal/asn1_compile \ + $(STAGING_HOST_DIR)/usr/bin + +include ${ADK_TOPDIR}/mk/host-bottom.mk +include ${ADK_TOPDIR}/mk/pkg-bottom.mk diff --git a/package/heimdal/patches/patch-cf_check-compile-et_m4 b/package/heimdal/patches/patch-cf_check-compile-et_m4 new file mode 100644 index 000000000..0211e2b8f --- /dev/null +++ b/package/heimdal/patches/patch-cf_check-compile-et_m4 @@ -0,0 +1,17 @@ +--- heimdal-1.5.3.orig/cf/check-compile-et.m4 2012-12-09 23:06:44.000000000 +0100 ++++ heimdal-1.5.3/cf/check-compile-et.m4 2014-04-24 11:55:02.000000000 +0200 +@@ -3,12 +3,12 @@ dnl + dnl CHECK_COMPILE_ET + AC_DEFUN([CHECK_COMPILE_ET], [ + +-AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et]) ++AC_CHECK_PROG(COMPILE_ET, compile_et, [compile_et],[no]) + + krb_cv_compile_et="no" + krb_cv_com_err_need_r="" + krb_cv_compile_et_cross=no +-if test "${COMPILE_ET}" = "compile_et"; then ++if test "${COMPILE_ET}" != no; then + + dnl We have compile_et. Now let's see if it supports `prefix' and `index'. + AC_MSG_CHECKING(whether compile_et has the features we need) diff --git a/package/heimdal/patches/patch-lib_com_err_Makefile_am b/package/heimdal/patches/patch-lib_com_err_Makefile_am new file mode 100644 index 000000000..9c2faa8d8 --- /dev/null +++ b/package/heimdal/patches/patch-lib_com_err_Makefile_am @@ -0,0 +1,11 @@ +--- heimdal-1.5.3.orig/lib/com_err/Makefile.am 2012-12-09 23:06:44.000000000 +0100 ++++ heimdal-1.5.3/lib/com_err/Makefile.am 2014-05-27 11:51:26.000000000 +0200 +@@ -13,7 +13,7 @@ endif + + libcom_err_la_LIBADD = $(LIB_libintl) + +-bin_PROGRAMS = compile_et ++libexec_heimdal_PROGRAMS = compile_et + + include_HEADERS = com_err.h com_right.h + diff --git a/package/heimdal/patches/patch-lib_roken_roken_h_in b/package/heimdal/patches/patch-lib_roken_roken_h_in new file mode 100644 index 000000000..b571cc428 --- /dev/null +++ b/package/heimdal/patches/patch-lib_roken_roken_h_in @@ -0,0 +1,11 @@ +--- heimdal-1.5.3.orig/lib/roken/roken.h.in 2012-12-09 23:06:44.000000000 +0100 ++++ heimdal-1.5.3/lib/roken/roken.h.in 2014-04-24 10:36:35.000000000 +0200 +@@ -551,7 +551,7 @@ ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL ge + ROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL strerror(int); + #endif + +-#if (!defined(HAVE_STRERROR_R) && !defined(strerror_r)) || (!defined(STRERROR_R_PROTO_COMPATIBLE) && defined(HAVE_STRERROR_R)) ++#if (defined(HAVE_STRERROR_R) && !defined(strerror_r)) || (!defined(STRERROR_R_PROTO_COMPATIBLE) && defined(HAVE_STRERROR_R)) + int ROKEN_LIB_FUNCTION rk_strerror_r(int, char *, size_t); + #else + #define rk_strerror_r strerror_r diff --git a/package/heimdal/src/cf/roken-h-process.pl b/package/heimdal/src/cf/roken-h-process.pl new file mode 100644 index 000000000..aa371a364 --- /dev/null +++ b/package/heimdal/src/cf/roken-h-process.pl @@ -0,0 +1,184 @@ +#!/usr/bin/perl + +require 'getopts.pl'; + +my $debug = 0; + +Getopts('dc:p:o:') || die "foo"; + +if ($opt_d) { + $debug = 1; +} + +die "missing arg" if (!defined $opt_c || !defined $opt_p || !defined $opt_o); + +my %defines; +my $IN; +my $OUT; + +print "parse config.h\n" if ($debug); + +open IN, $opt_c || die "failed open ${opt_c}"; + +my @nesting; + +push @nesting, 1; + +while (<IN>) { + if (m/\s*#ifdef\s+(.*)/) { + my $var = $1; + if (defined $defines{$var}) { + push @nesting, 1; + } else { + push @nesting, 0; + } + next; + } elsif (m/\s*#ifndef\s+(.*)/) { + my $var = $1; + if (defined $defines{$var}) { + push @nesting, 0; + } else { + push @nesting, 1; + } + next; + } elsif (m/\s*#else/) { + my $var = pop @nesting; + $var = !$var; + push @nesting, $var; + next; + } elsif ($nesting[$#nesting] and m/\s*#define\s+(\w+)\s+(\S+)/) { + my $res = $2; + $res = 1 if (!defined $res); + $defines{$1} = $res; + } +} + +close IN; + +if ($debug) { + foreach my $i (keys %defines) { + print "k: $i v: $defines{$i}\n"; + } +} + +open IN, "$opt_p" || die "failed open ${opt_p}"; +open OUT, ">$opt_o" || die "failed open ${opt_o}"; + +print "parse roken.h.in\n" if ($debug); + +print OUT "/* This is an OS dependent, generated file */\n"; +print OUT "\n"; +print OUT "\n"; +print OUT "#ifndef __ROKEN_H__\n"; +print OUT "#define __ROKEN_H__\n"; +print OUT "\n"; + +@nesting = (1); + +while (<IN>) { + if (m/\s*#ifdef\s+(.*)/) { + my $var = $1; + if (defined $defines{$var}) { + push @nesting, 1; + } else { + push @nesting, 0; + } + next; + } elsif (m/\s*#ifndef\s+(.*)/) { + my $var = $1; + if (defined $defines{$var}) { + push @nesting, 0; + } else { + push @nesting, 1; + } + next; + } elsif (m/\s*#if\s+(.*)/) { + my $res = parse_if($1); + print "line = $res: $1\n" if ($debug); + push @nesting, $res; + next; + } elsif (m/\s*#elif\s+(.*)/) { + my $res = pop @nesting; + if ($res gt 0) { + $res = -1; + } else { + my $res = parse_if($1); + } + push @nesting, $res; + next; + } elsif (m/\s*#else/) { + my $var = pop @nesting; + $var = !$var; + push @nesting, $var; + next; + } elsif (m/\s*#endif/) { + pop @nesting; + next; + } + print "line: $_\n" if ($debug); + print "nesting dep $#{nesting}\n" if ($debug); + my $i = 0, $t = 1; + while ($i le $#nesting) { + $t = 0 if ($nesting[$i] le 0); + print "nesting $i val $nesting[$i] -> $t\n" if ($debug); + $i++; + } + if ($t) { + print OUT; + } +} + +print OUT "\n"; +print OUT "#endif /* __ROKEN_H__ */\n"; + + +close IN; + +exit 0; + +sub parse_if +{ + my ($neg, $var); + + $_ = shift; + + if (m/^\s*$/) { + print "end $_\n" if ($debug); + return 1; + } elsif (m/^\(([^&]+)\&\&(.*)$/) { + print "$1 and $2\n" if ($debug); + return parse_if($1) and parse_if($2); + } elsif (m/^([^&]+)\&\&(.*)$/) { + print "$1 and $2\n" if ($debug); + return parse_if($1) and parse_if($2); + } elsif (m/^([^\|]+)\|\|(.*)$/) { + print "$1 or $2\n" if ($debug); + return parse_if($1) or parse_if($2); + } elsif (m/^\s*(\!)?\s*defined\((\w+)\)/) { + ($neg, $var) = ($1, $2); + print "def: ${neg}-defined(${var})\n" if ($debug); + my $res = defined $defines{$var}; + if ($neg eq "!") { + if ($res) { + $res = 0; + } else { + $res = 1; + } + } + print "res: $res\n" if ($debug); + return $res; + } elsif (m/^\s*(\!)?(\w+)/) { + ($neg, $var) = ($1, $2); + print "var: $neg $var\n" if ($debug); + my $res; + if (defined $defines{$var}) { + $res = $defines{$var}; + } else { + $res = 0; + } + $res = ! $res if ($neg =~ m/!/); + print "res: $res\n" if ($debug); + return $res; + } + die "failed parse: $_\n"; +} diff --git a/package/samba/Makefile b/package/samba/Makefile index c1f575b57..c73b92fd5 100644 --- a/package/samba/Makefile +++ b/package/samba/Makefile @@ -1,109 +1,66 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. -include ${ADK_TOPDIR}/rules.mk +include $(ADK_TOPDIR)/rules.mk PKG_NAME:= samba -PKG_VERSION:= 3.6.25 +PKG_VERSION:= 4.2.0 PKG_RELEASE:= 1 -PKG_HASH:= 8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751 -PKG_DESCR:= smb file and print server +PKG_HASH:= 66a6057815a971fee64fbe936ff6cbad542421a4bd52cba8d8d41afc9abc490f +PKG_DESCR:= file and print server PKG_SECTION:= net/fs -PKG_BUILDDEP:= gettext-tiny util-linux popt -PKG_DEPENDS:= samba-lib libuuid libpopt +PKG_BUILDDEP:= gettext-tiny util-linux popt python2 gnutls +PKG_BUILDDEP:= heimdal-host python2-host +PKG_DEPENDS:= libuuid libpopt libgnutls PKG_URL:= http://www.samba.org/ PKG_SITES:= http://samba.org/samba/ftp/stable/ -DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz - -PKG_SUBPKGS:= SAMBA SAMBA_CLIENT SAMBA_PASSWD SAMBA_LIB -PKGSD_SAMBA_CLIENT:= smb client -PKGSS_SAMBA_CLIENT:= libreadline samba-lib -PKGSD_SAMBA_PASSWD:= smb password utility -PKGSD_SAMBA_LIB:= smb libraries -PKGSC_SAMBA_LIB:= libs/net - -PKG_FLAVOURS_SAMBA:= WITH_WINBIND WITH_LDAP -PKGFD_WITH_WINBIND:= enable winbind support -PKGFS_WITH_WINBIND:= libkrb5 -PKGFB_WITH_WINBIND:= krb5 -PKGFD_WITH_LDAP:= enable ldap support -PKGFS_WITH_LDAP:= libopenldap -PKGFB_WITH_LDAP:= openldap - -WRKSRC= ${WRKDIST}/source3 - -include ${ADK_TOPDIR}/mk/package.mk - -$(eval $(call PKG_template,SAMBA,samba,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -$(eval $(call PKG_template,SAMBA_CLIENT,samba-client,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_CLIENT},${PKG_SECTION})) -$(eval $(call PKG_template,SAMBA_PASSWD,samba-passwd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_PASSWD},${PKG_SECTION})) -$(eval $(call PKG_template,SAMBA_LIB,samba-lib,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_SAMBA_LIB},${PKGSC_SAMBA_LIB})) - -ifneq ($(ADK_PACKAGE_SAMBA_WITH_WINBIND),) -CONFIGURE_ARGS+= --with-winbind \ - --with-krb5="$(STAGING_TARGET_DIR)/usr" -else -CONFIGURE_ARGS+= --without-winbind -endif - -ifneq ($(ADK_PACKAGE_SAMBA_WITH_LDAP),) -CONFIGURE_ARGS+= --with-ldap -else -CONFIGURE_ARGS+= --with-ldap=no -endif - -CONFIGURE_ENV+= samba_cv_CC_NEGATIVE_ENUM_VALUES=no \ - samba_cv_USE_SETRESUID=yes \ - samba_cv_HAVE_WRFILE_KEYTAB=yes \ - ac_cv_func_ext_krb5_enctype_to_string=yes \ - smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes \ - smb_krb5_cv_enctype_to_string_takes_size_t_arg=no \ - ac_cv_lib_ext_nsl_connect=no \ - ac_cv_search_yp_get_default_domain=no \ - ac_cv_lib_ext_nsl_gethostbyname=no \ - ac_cv_file__proc_sys_kernel_core_pattern=yes \ - libreplace_cv_HAVE_GETADDRINFO=no -CONFIGURE_ARGS+= --libdir=/usr/lib \ - --localstatedir=/var/log/samba \ - --with-configdir=/etc/samba \ - --with-lockdir=/var/run/samba \ - --with-privatedir=/etc/samba \ - --with-libiconv=/dev/null \ - --with-syslog \ +DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.gz + +include $(ADK_TOPDIR)/mk/package.mk + +$(eval $(call PKG_template,SAMBA,samba,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) + +CONFIG_STYLE:= minimal +CONFIGURE_ARGS+= --enable-fhs \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --cross-compile \ + --cross-answers=$(WRKSRC)/cache.txt \ + --hostcc=gcc \ + --without-pam \ + --without-fam \ + --without-dmapi \ + --without-ads \ + --without-ldap \ + --without-acl-support \ + --disable-glusterfs \ + --disable-iprint \ --disable-cups \ - --disable-swat \ --disable-avahi \ - --with-utmp=no \ - --with-pam=no \ - --without-cluster-support \ - --without-sendfile-support - -samba-install: - ${INSTALL_DIR} ${IDIR_SAMBA}/etc/samba ${IDIR_SAMBA}/usr/sbin - ${INSTALL_DIR} ${IDIR_SAMBA}/usr/lib/{charset,vfs} - ${INSTALL_DATA} ${WRKINST}/usr/lib/charset/CP850.so \ - ${IDIR_SAMBA}/usr/lib/charset - ${INSTALL_DATA} ./files/smb.conf ${IDIR_SAMBA}/etc/samba - ${INSTALL_BIN} ${WRKINST}/usr/sbin/{nmbd,smbd} ${IDIR_SAMBA}/usr/sbin - ${CP} ${WRKINST}/usr/lib/vfs/*.so* ${IDIR_SAMBA}/usr/lib/vfs - ${INSTALL_DATA} ${WRKINST}/usr/lib/*.dat ${IDIR_SAMBA}/usr/lib + --disable-rpath \ + --bundled-libraries='!asn1_compile,!compile_et' \ + --disable-rpath-install +CONFIGURE_ENV+= PYTHON_CONFIG="$(STAGING_TARGET_DIR)/usr/bin/python-config" \ + python_LDFLAGS="" \ + python_LIBDIR="" -samba-passwd-install: - ${INSTALL_DIR} ${IDIR_SAMBA_PASSWD}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/smbpasswd \ - ${IDIR_SAMBA_PASSWD}/usr/bin +pre-configure: + $(CP) ./files/cache.txt $(WRKSRC) + echo 'Checking uname machine type: "$(ADK_TARGET_ARCH)"' >>$(WRKSRC)/cache.txt -samba-client-install: - ${INSTALL_DIR} ${IDIR_SAMBA_CLIENT}/usr/bin - ${INSTALL_BIN} ${WRKINST}/usr/bin/smbclient \ - ${IDIR_SAMBA_CLIENT}/usr/bin - -samba-lib-install: - ${INSTALL_DIR} ${IDIR_SAMBA_LIB}/usr/lib - ${CP} ${WRKINST}/usr/lib/{libsmbclient,libsmbsharemodes,libnetapi}.so* \ - ${IDIR_SAMBA_LIB}/usr/lib - $(CP) ${WRKINST}/usr/lib/{libtalloc,libtdb,libtevent}.so* \ - ${IDIR_SAMBA_LIB}/usr/lib - -include ${ADK_TOPDIR}/mk/pkg-bottom.mk +samba-install: + $(INSTALL_DIR) $(IDIR_SAMBA)/etc/samba + $(INSTALL_DIR) $(IDIR_SAMBA)/usr/{sbin,bin,lib} + $(INSTALL_DATA) ./files/smb.conf $(IDIR_SAMBA)/etc/samba + $(INSTALL_BIN) $(WRKINST)/usr/sbin/{nmbd,smbd} \ + $(IDIR_SAMBA)/usr/sbin + $(INSTALL_BIN) $(WRKINST)/usr/bin/{smbpasswd,smbclient} \ + $(IDIR_SAMBA)/usr/bin + $(CP) $(WRKINST)/usr/lib/lib*.so* \ + $(IDIR_SAMBA)/usr/lib + $(CP) $(WRKINST)/usr/lib/samba \ + $(IDIR_SAMBA)/usr/lib + +include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/samba/files/cache.txt b/package/samba/files/cache.txt new file mode 100644 index 000000000..c9e34b630 --- /dev/null +++ b/package/samba/files/cache.txt @@ -0,0 +1,38 @@ +Checking simple C program: OK +rpath library support: OK +-Wl,--version-script support: OK +Checking getconf LFS_CFLAGS: NO +Checking for large file support without additional flags: OK +Checking for -D_LARGE_FILES: OK +Checking correct behavior of strtoll: NO +Checking for working strptime: OK +Checking for C99 vsnprintf: OK +Checking for HAVE_SHARED_MMAP: OK +Checking for HAVE_MREMAP: OK +Checking for HAVE_INCOHERENT_MMAP: NO +Checking for HAVE_SECURE_MKSTEMP: OK +Checking for HAVE_IFACE_GETIFADDRS: OK +Checking for kernel change notify support: OK +Checking for Linux kernel oplocks: OK +Checking for kernel share modes: OK +Checking if can we convert from CP850 to UCS-2LE: OK +Checking if can we convert from UTF-8 to UCS-2LE: OK +Checking whether we can use Linux thread-specific credentials with 32-bit system calls: OK +Checking whether we can use Linux thread-specific credentials: OK +Checking whether setreuid is available: OK +Checking whether setresuid is available: OK +Checking whether seteuid is available: OK +Checking whether fcntl locking is available: OK +Checking for the maximum value of the 'time_t' type: OK +Checking whether the realpath function allows a NULL argument: OK +Checking whether POSIX capabilities are available: OK +Checking for ftruncate extend: OK +vfs_fileid checking for statfs() and struct statfs.f_fsid: OK +getcwd takes a NULL argument: OK +Checking uname sysname type: "Linux" +Checking uname release type: "3.0.0" +Checking uname version type: "#1 Tue Nov 1 12:34:56 UTC 2013" +Checking value of NSIG: "65" +Checking value of _NSIG: "65" +Checking value of SIGRTMAX: "64" +Checking value of SIGRTMIN: "34" diff --git a/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py b/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py new file mode 100644 index 000000000..d8025784a --- /dev/null +++ b/package/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py @@ -0,0 +1,13 @@ +--- samba-4.2.0.orig/buildtools/wafsamba/samba_autoconf.py 2015-02-24 19:59:51.000000000 +0100 ++++ samba-4.2.0/buildtools/wafsamba/samba_autoconf.py 2015-04-07 23:06:53.000000000 +0200 +@@ -646,10 +646,6 @@ def SAMBA_CONFIG_H(conf, path=None): + if not IN_LAUNCH_DIR(conf): + return + +- if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']): +- conf.ADD_CFLAGS('-fstack-protector') +- conf.ADD_LDFLAGS('-fstack-protector') +- + if Options.options.debug: + conf.ADD_CFLAGS('-g', testflags=True) + |