Samba4: new recipe (#5965)

* WIP

* WIP

* I am definetely doing something wrong here.

* remove obsolete

* samba4, add version 4.20.2, mark untested for 4.15.5 too

---------

Co-authored-by: Schrijvers Luc <begasus@gmail.com>
This commit is contained in:
extrowerk
2024-08-08 08:14:02 +02:00
committed by GitHub
parent e9879f72c0
commit b29a5ab64b
4 changed files with 1181 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
From 3daf455f06c4f76d34c15174e1dfaf29d7b1c3d5 Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 11 Apr 2014 15:46:09 +0400
Subject: applying patch samba-3.6.23.patch
diff --git a/source3/utils/net_time.c b/source3/utils/net_time.c
index d102f84..f855515 100644
--- a/source3/utils/net_time.c
+++ b/source3/utils/net_time.c
@@ -100,6 +100,14 @@ int net_time_usage(struct net_context *c, int argc, const char **argv)
return -1;
}
+#ifdef __HAIKU__
+int settimeofday(struct timeval *tv, struct timezone *tz)
+{
+ set_real_time_clock(tv->tv_sec);
+ return(0);
+}
+#endif //__HAIKU__
+
/* try to set the system clock */
static int net_time_set(struct net_context *c, int argc, const char **argv)
{
--
2.30.2
From bd81981bb6f84d2c8a1633ed91ee64f5a7c75fd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Wed, 1 Mar 2017 00:02:17 +0100
Subject: Haiku build fix
diff --git a/lib/replace/system/time.h b/lib/replace/system/time.h
index 272fe84..b629939 100644
--- a/lib/replace/system/time.h
+++ b/lib/replace/system/time.h
@@ -85,7 +85,7 @@ int rep_clock_gettime(clockid_t clk_id, struct timespec *tp);
* this prevents them from being compared against in a preprocessor directive.
* The following ...IS_* macros can be used to check which clock is in use.
*/
-#if defined(CLOCK_MONOTONIC)
+#if defined(CLOCK_MONOTONIC) && !defined(__HAIKU__)
#define CUSTOM_CLOCK_MONOTONIC CLOCK_MONOTONIC
#define CUSTOM_CLOCK_MONOTONIC_IS_MONOTONIC
#elif defined(CLOCK_HIGHRES)
--
2.30.2
From 56ca861d8122b3d57ded9566d7b9fb70b72c0ee0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
Date: Sun, 6 Jun 2021 16:31:39 +0200
Subject: Build fix
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 2299e30..282075a 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -123,9 +123,11 @@ typedef sig_atomic_t SIG_ATOMIC_T;
typedef sig_atomic_t volatile SIG_ATOMIC_T;
#endif
+#ifndef __HAIKU__
#ifndef uchar
#define uchar unsigned char
#endif
+#endif
/*
* Types for devices, inodes and offsets.
--
2.30.2

View File

@@ -0,0 +1,111 @@
From 0e9240d28d59d237efce8989d7e6933980b248cb Mon Sep 17 00:00:00 2001
From: Sergei Reznikov <diver@gelios.net>
Date: Fri, 11 Apr 2014 15:46:09 +0400
Subject: settimeofday is not implemented on Haiku
diff --git a/source3/utils/net_time.c b/source3/utils/net_time.c
index f58d62b..cfc3ab3 100644
--- a/source3/utils/net_time.c
+++ b/source3/utils/net_time.c
@@ -104,6 +104,14 @@ int net_time_usage(struct net_context *c, int argc, const char **argv)
return -1;
}
+#ifdef __HAIKU__
+int settimeofday(struct timeval *tv, struct timezone *tz)
+{
+set_real_time_clock(tv->tv_sec);
+return(0);
+}
+#endif //__HAIKU__
+
/* try to set the system clock */
static int net_time_set(struct net_context *c, int argc, const char **argv)
{
--
2.45.2
From e436be90a7d5078eda2c21f9915af83fdd8d25e9 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 11 Oct 2017 20:20:42 +0200
Subject: Haiku has only a typedef for uchar.
diff --git a/source3/include/includes.h b/source3/include/includes.h
index ee05b93..f1918aa 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -119,7 +119,7 @@ typedef sig_atomic_t SIG_ATOMIC_T;
typedef sig_atomic_t volatile SIG_ATOMIC_T;
#endif
-#ifndef uchar
+#if !defined(uchar) && !defined(__HAIKU__)
#define uchar unsigned char
#endif
--
2.45.2
From 29662f7e0a654323a8b198de78c77393d8d3960c Mon Sep 17 00:00:00 2001
From: begasus <begasus@gmail.com>
Date: Sun, 22 Nov 2020 15:39:52 +0000
Subject: Fix conflicting int types for 32bit Haiku
diff --git a/lib/replace/replace.h b/lib/replace/replace.h
index a6a2b40..e66d26d 100644
--- a/lib/replace/replace.h
+++ b/lib/replace/replace.h
@@ -82,6 +82,9 @@
#endif
/* Decimal notation. */
+#if defined(__HAIKU__)
+#include <SupportDefs.h>
+#else
#ifndef PRId8
# define PRId8 "d"
#endif
@@ -94,6 +97,7 @@
#ifndef PRId64
# define PRId64 __PRI64_PREFIX "d"
#endif
+#endif
#ifndef PRIi8
# define PRIi8 "i"
--
2.45.2
From fc5471d9bc595af8685daa89c268dc3ec663fe2b Mon Sep 17 00:00:00 2001
From: Schrijvers Luc <begasus@gmail.com>
Date: Fri, 12 Jul 2024 17:28:28 +0200
Subject: Replacement for major/minor/makedev.
diff --git a/source3/libsmb/clifile.c b/source3/libsmb/clifile.c
index cc1b4d4..30420c6 100644
--- a/source3/libsmb/clifile.c
+++ b/source3/libsmb/clifile.c
@@ -864,6 +864,13 @@ static void cli_posix_stat_done(struct tevent_req *subreq)
sbuf->st_ex_gid = (gid_t) IVAL(data, 48); /* group ID of owner */
sbuf->st_ex_mode = unix_filetype_from_wire(IVAL(data, 56));
+#if !defined(HAVE_MAJOR) && !defined(major)
+/* Replacement for major/minor/makedev. */
+#define major(x) ((int)(0x00ff & ((x) >> 8)))
+#define minor(x) ((int)(0xffff00ff & (x)))
+#define makedev(maj,min) ((0xff00 & ((maj)<<8)) | (0xffff00ff & (min)))
+#endif
+
#if defined(HAVE_MAKEDEV)
{
uint32_t dev_major = IVAL(data,60);
--
2.45.2

View File

@@ -0,0 +1,592 @@
SUMMARY="Library bits of the samba network filesystem"
DESCRIPTION="Samba is an free, open source software suite that provides \
seamless file and print services to SMB/CIFS clients. Samba is freely \
available, unlike other SMB/CIFS implementations, and allows for \
interoperability between Linux/Unix servers and Windows-based clients.
Samba can be run on platforms other than Microsoft Windows, for example, \
UNIX, Linux, IBM System 390, OpenVMS, and other operating systems. Samba uses \
the TCP/IP protocol that is installed on the host server. When correctly \
configured, it allows that host to interact with a Microsoft Windows client \
or server as if it were a Windows file and print server."
HOMEPAGE="http://www.samba.org/"
COPYRIGHT="1992-2021 Anrew Tridgell and the Samba Team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://download.samba.org/pub/samba/stable/samba-$portVersion.tar.gz"
CHECKSUM_SHA256="bb6ef5d2f16b85288d823578abc453d9a80514c42e5a2ea2c4e3c60dc42335c3"
PATCHES="samba4-$portVersion.patchset"
SOURCE_DIR="samba-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
GLOBAL_WRITABLE_FILES="
settings/samba directory keep-old
"
PROVIDES="
samba4$secondaryArchSuffix = $portVersion
cmd:cifsdd$secondaryArchSuffix = $portVersion
cmd:dbwrap_tool$secondaryArchSuffix = $portVersion
cmd:dumpmscat$secondaryArchSuffix = $portVersion
cmd:eventlogadm$secondaryArchSuffix = $portVersion
cmd:findsmb$secondaryArchSuffix = $portVersion
cmd:gentest$secondaryArchSuffix = $portVersion
cmd:ldbadd$secondaryArchSuffix = $portVersion
cmd:ldbdel$secondaryArchSuffix = $portVersion
cmd:ldbedit$secondaryArchSuffix = $portVersion
cmd:ldbmodify$secondaryArchSuffix = $portVersion
cmd:ldbrename$secondaryArchSuffix = $portVersion
cmd:ldbsearch$secondaryArchSuffix = $portVersion
cmd:locktest$secondaryArchSuffix = $portVersion
cmd:masktest$secondaryArchSuffix = $portVersion
cmd:mdfind$secondaryArchSuffix = $portVersion
cmd:mvxattr$secondaryArchSuffix = $portVersion
cmd:ndrdump$secondaryArchSuffix = $portVersion
cmd:net$secondaryArchSuffix = $portVersion
cmd:nmbd$secondaryArchSuffix = $portVersion
cmd:nmblookup$secondaryArchSuffix = $portVersion
cmd:ntlm_auth$secondaryArchSuffix = $portVersion
cmd:oLschema2ldif$secondaryArchSuffix = $portVersion
cmd:pdbedit$secondaryArchSuffix = $portVersion
cmd:pidl$secondaryArchSuffix = $portVersion
cmd:profiles$secondaryArchSuffix = $portVersion
cmd:regdiff$secondaryArchSuffix = $portVersion
cmd:regpatch$secondaryArchSuffix = $portVersion
cmd:regshell$secondaryArchSuffix = $portVersion
cmd:regtree$secondaryArchSuffix = $portVersion
cmd:rpcclient$secondaryArchSuffix = $portVersion
cmd:samba$secondaryArchSuffix = $portVersion
cmd:samba_gpupdate$secondaryArchSuffix = $portVersion
cmd:samba_regedit$secondaryArchSuffix = $portVersion
cmd:sharesec$secondaryArchSuffix = $portVersion
cmd:smbcacls$secondaryArchSuffix = $portVersion
cmd:smbclient$secondaryArchSuffix = $portVersion
cmd:smbcontrol$secondaryArchSuffix = $portVersion
cmd:smbcquotas$secondaryArchSuffix = $portVersion
cmd:smbd$secondaryArchSuffix = $portVersion
cmd:smbget$secondaryArchSuffix = $portVersion
cmd:smbpasswd$secondaryArchSuffix = $portVersion
cmd:smbspool$secondaryArchSuffix = $portVersion
cmd:smbstatus$secondaryArchSuffix = $portVersion
cmd:smbtar$secondaryArchSuffix = $portVersion
cmd:smbtorture$secondaryArchSuffix = $portVersion
cmd:smbtree$secondaryArchSuffix = $portVersion
cmd:tdbbackup$secondaryArchSuffix = $portVersion
cmd:tdbdump$secondaryArchSuffix = $portVersion
cmd:tdbrestore$secondaryArchSuffix = $portVersion
cmd:tdbtool$secondaryArchSuffix = $portVersion
cmd:testparm$secondaryArchSuffix = $portVersion
cmd:wbinfo$secondaryArchSuffix = $portVersion
cmd:winbindd$secondaryArchSuffix = $portVersion
lib:libdcerpc_binding$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc_samr$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc_server_core$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_krb5pac$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_nbt$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_standard$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr$secondaryArchSuffix = 0.1.0 compat >= 0
lib:libnetapi$secondaryArchSuffix = 0
lib:libsamba_credentials$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_errors$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_hostconfig$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_passdb$secondaryArchSuffix = 0.27.1 compat >= 0
lib:libsamba_policy$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_util$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamdb$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsmbclient$secondaryArchSuffix = 0.4.0 compat >= 0
lib:libsmbconf$secondaryArchSuffix = 0
lib:libsmbldap$secondaryArchSuffix = 2
lib:libtevent_util$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libwbclient$secondaryArchSuffix = 0.14 compat >= 0
# PACKAGING HACK
lib:libtalloc$secondaryArchSuffix
lib:libpytalloc_util$secondaryArchSuffix
lib:libpyldb_util$secondaryArchSuffix
lib:libpytalloc_util$secondaryArchSuffix
lib:libsamba_debug_samba4$secondaryArchSuffix
lib:libtevent$secondaryArchSuffix
lib:libsmbd_shim_samba4$secondaryArchSuffix
lib:libsamba_security_samba4$secondaryArchSuffix
# IDK
lib:libaddns_samba4$secondaryArchSuffix
lib:libads_samba4$secondaryArchSuffix
lib:libasn1_samba4$secondaryArchSuffix
lib:libasn1util_samba4$secondaryArchSuffix
lib:libauth_samba4$secondaryArchSuffix
lib:libauthkrb5_samba4$secondaryArchSuffix
lib:libCHARSET3_samba4$secondaryArchSuffix
lib:libcli_cldap_samba4$secondaryArchSuffix
lib:libcli_ldap_common_samba4$secondaryArchSuffix
lib:libcli_ldap_samba4$secondaryArchSuffix
lib:libcli_nbt_samba4$secondaryArchSuffix
lib:libcli_smb_common_samba4$secondaryArchSuffix
lib:libcli_spoolss_samba4$secondaryArchSuffix
lib:libcliauth_samba4$secondaryArchSuffix
lib:libcluster_samba4$secondaryArchSuffix
lib:libcmdline_contexts_samba4$secondaryArchSuffix
lib:libcmdline_credentials_samba4$secondaryArchSuffix
lib:libcom_err_samba4$secondaryArchSuffix
lib:libcommon_auth_samba4$secondaryArchSuffix
lib:libdbwrap_samba4$secondaryArchSuffix
lib:libdcerpc_samba_samba4$secondaryArchSuffix
lib:libdcerpc_samba4$secondaryArchSuffix
lib:libdsdb_module_samba4$secondaryArchSuffix
lib:libevents_samba4$secondaryArchSuffix
lib:libflag_mapping_samba4$secondaryArchSuffix
lib:libgenrand_samba4$secondaryArchSuffix
lib:libgensec_samba4$secondaryArchSuffix
lib:libgpo_samba4$secondaryArchSuffix
lib:libgse_samba4$secondaryArchSuffix
lib:libgssapi_samba4$secondaryArchSuffix
lib:libhttp_samba4$secondaryArchSuffix
lib:libidmap_samba4$secondaryArchSuffix
lib:libinterfaces_samba4$secondaryArchSuffix
lib:libiov_buf_samba4$secondaryArchSuffix
lib:libkrb5_samba4$secondaryArchSuffix
lib:libkrb5samba_samba4$secondaryArchSuffix
lib:libldb_cmdline_samba4$secondaryArchSuffix
lib:libldb$secondaryArchSuffix
lib:libldbsamba_samba4$secondaryArchSuffix
lib:liblib:libcli_lsa3_samba4$secondaryArchSuffix
lib:liblib:libcli_netlogon3_samba4$secondaryArchSuffix
lib:liblib:libsmb_samba4$secondaryArchSuffix
lib:libmessages_dgm_samba4$secondaryArchSuffix
lib:libmessages_util_samba4$secondaryArchSuffix
lib:libMESSAGING_samba4$secondaryArchSuffix
lib:libMESSAGING_SEND_samba4$secondaryArchSuffix
lib:libmscat_samba4$secondaryArchSuffix
lib:libmsrpc3_samba4$secondaryArchSuffix
lib:libndr_samba_samba4$secondaryArchSuffix
lib:libndr_samba4$secondaryArchSuffix
lib:libnet_keytab_samba4$secondaryArchSuffix
lib:libnetif_samba4$secondaryArchSuffix
lib:libnpa_tstream_samba4$secondaryArchSuffix
lib:libnss_info_samba4$secondaryArchSuffix
lib:libpopt_samba3_cmdline_samba4$secondaryArchSuffix
lib:libpopt_samba3_samba4$secondaryArchSuffix
lib:libprinter_driver_samba4$secondaryArchSuffix
lib:libprinting_migrate_samba4$secondaryArchSuffix
lib:libregistry_samba4$secondaryArchSuffix
lib:libreplace_samba4$secondaryArchSuffix
lib:libsamba_cluster_support_samba4$secondaryArchSuffix
lib:libsamba_modules_samba4$secondaryArchSuffix
lib:libsamba_net_samba4$secondaryArchSuffix
lib:libsamba_sockets_samba4$secondaryArchSuffix
lib:libsamba3_util_samba4$secondaryArchSuffix
lib:libsamdb_common_samba4$secondaryArchSuffix
lib:libsecrets3_samba4$secondaryArchSuffix
lib:libserver_id_db_samba4$secondaryArchSuffix
lib:libserver_role_samba4$secondaryArchSuffix
lib:libshares_samba4$secondaryArchSuffix
lib:libsmbclient_raw_samba4$secondaryArchSuffix
lib:libsmbd_base_samba4$secondaryArchSuffix
lib:libsmbpasswdparser_samba4$secondaryArchSuffix
lib:libsocket_blocking_samba4$secondaryArchSuffix
lib:libsys_rw_samba4$secondaryArchSuffix
lib:libtalloc_report_printf_samba4$secondaryArchSuffix
lib:libtdb_wrap_samba4$secondaryArchSuffix
lib:libtdb$secondaryArchSuffix
lib:libtime_basic_samba4$secondaryArchSuffix
lib:libtorture_samba4$secondaryArchSuffix
lib:libtrusts_util_samba4$secondaryArchSuffix
lib:libutil_cmdline_samba4$secondaryArchSuffix
lib:libutil_reg_samba4$secondaryArchSuffix
lib:libutil_setid_samba4$secondaryArchSuffix
lib:libutil_tdb_samba4$secondaryArchSuffix
lib:libwinbind_client_samba4$secondaryArchSuffix
# WHAT??
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
# I GAVE UP ALREADY
lib:liblibwbclient_old_samba4$secondaryArchSuffix
lib:libauth_unix_token_samba4$secondaryArchSuffix
lib:libauth4_samba4$secondaryArchSuffix
lib:libclidns_samba4$secondaryArchSuffix
lib:libgpext_samba4$secondaryArchSuffix
lib:libldb_key_value_samba4$secondaryArchSuffix
lib:libldb_tdb_err_map_samba4$secondaryArchSuffix
lib:libldb_tdb_int_samba4$secondaryArchSuffix
lib:libmsghdr_samba4$secondaryArchSuffix
lib:libposix_eadb_samba4$secondaryArchSuffix
lib:libsamba_python_samba4$secondaryArchSuffix
lib:libsmb_transport_samba4$secondaryArchSuffix
lib:libsmbldaphelper_samba4$secondaryArchSuffix
lib:libtalloc_report_samba4$secondaryArchSuffix
lib:libxattr_tdb_samba4$secondaryArchSuffix
# WHATEVER
lib:libhcrypto_samba4$secondaryArchSuffix
lib:libhcrypto_samba4$secondaryArchSuffix
lib:libhdb_samba4$secondaryArchSuffix
lib:libhdb_samba4$secondaryArchSuffix
lib:libheimbase_samba4$secondaryArchSuffix
lib:libheimbase_samba4$secondaryArchSuffix
lib:libheimntlm_samba4$secondaryArchSuffix
lib:libheimntlm_samba4$secondaryArchSuffix
lib:libhx509_samba4$secondaryArchSuffix
lib:libhx509_samba4$secondaryArchSuffix
lib:libkdc_samba4$secondaryArchSuffix
lib:libkdc_samba4$secondaryArchSuffix
lib:libroken_samba4$secondaryArchSuffix
lib:libroken_samba4$secondaryArchSuffix
lib:libwind_samba4$secondaryArchSuffix
lib:libwind_samba4$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libgcrypt$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libgpgme$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libidn$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjansson$secondaryArchSuffix
lib:libldap$secondaryArchSuffix
lib:libmd$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libnss3$secondaryArchSuffix
lib:libpam$secondaryArchSuffix
lib:libpopt$secondaryArchSuffix
lib:libpython3.7m$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libtasn1$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
# PACKAGING HACK
lib:libtalloc$secondaryArchSuffix
lib:libpytalloc_util$secondaryArchSuffix
lib:libpyldb_util$secondaryArchSuffix
lib:libpytalloc_util$secondaryArchSuffix
lib:libsamba_debug_samba4$secondaryArchSuffix
lib:libtevent$secondaryArchSuffix
lib:libsmbd_shim_samba4$secondaryArchSuffix
lib:libsamba_security_samba4$secondaryArchSuffix
# IDK
lib:libaddns_samba4$secondaryArchSuffix
lib:libads_samba4$secondaryArchSuffix
lib:libasn1_samba4$secondaryArchSuffix
lib:libasn1util_samba4$secondaryArchSuffix
lib:libauth_samba4$secondaryArchSuffix
lib:libauthkrb5_samba4$secondaryArchSuffix
lib:libCHARSET3_samba4$secondaryArchSuffix
lib:libcli_cldap_samba4$secondaryArchSuffix
lib:libcli_ldap_common_samba4$secondaryArchSuffix
lib:libcli_ldap_samba4$secondaryArchSuffix
lib:libcli_nbt_samba4$secondaryArchSuffix
lib:libcli_smb_common_samba4$secondaryArchSuffix
lib:libcli_spoolss_samba4$secondaryArchSuffix
lib:libcliauth_samba4$secondaryArchSuffix
lib:libcluster_samba4$secondaryArchSuffix
lib:libcmdline_contexts_samba4$secondaryArchSuffix
lib:libcmdline_credentials_samba4$secondaryArchSuffix
lib:libcom_err_samba4$secondaryArchSuffix
lib:libcommon_auth_samba4$secondaryArchSuffix
lib:libdbwrap_samba4$secondaryArchSuffix
lib:libdcerpc_samba_samba4$secondaryArchSuffix
lib:libdcerpc_samba4$secondaryArchSuffix
lib:libdsdb_module_samba4$secondaryArchSuffix
lib:libevents_samba4$secondaryArchSuffix
lib:libflag_mapping_samba4$secondaryArchSuffix
lib:libgenrand_samba4$secondaryArchSuffix
lib:libgensec_samba4$secondaryArchSuffix
lib:libgpo_samba4$secondaryArchSuffix
lib:libgse_samba4$secondaryArchSuffix
lib:libgssapi_samba4$secondaryArchSuffix
lib:libhttp_samba4$secondaryArchSuffix
lib:libidmap_samba4$secondaryArchSuffix
lib:libinterfaces_samba4$secondaryArchSuffix
lib:libiov_buf_samba4$secondaryArchSuffix
lib:libkrb5_samba4$secondaryArchSuffix
lib:libkrb5samba_samba4$secondaryArchSuffix
lib:libldb_cmdline_samba4$secondaryArchSuffix
lib:libldb$secondaryArchSuffix
lib:libldbsamba_samba4$secondaryArchSuffix
lib:liblib:libcli_lsa3_samba4$secondaryArchSuffix
lib:liblib:libcli_netlogon3_samba4$secondaryArchSuffix
lib:liblib:libsmb_samba4$secondaryArchSuffix
lib:libmessages_dgm_samba4$secondaryArchSuffix
lib:libmessages_util_samba4$secondaryArchSuffix
lib:libMESSAGING_samba4$secondaryArchSuffix
lib:libMESSAGING_SEND_samba4$secondaryArchSuffix
lib:libmscat_samba4$secondaryArchSuffix
lib:libmsrpc3_samba4$secondaryArchSuffix
lib:libndr_samba_samba4$secondaryArchSuffix
lib:libndr_samba4$secondaryArchSuffix
lib:libnet_keytab_samba4$secondaryArchSuffix
lib:libnetif_samba4$secondaryArchSuffix
lib:libnpa_tstream_samba4$secondaryArchSuffix
lib:libnss_info_samba4$secondaryArchSuffix
lib:libpopt_samba3_cmdline_samba4$secondaryArchSuffix
lib:libpopt_samba3_samba4$secondaryArchSuffix
lib:libprinter_driver_samba4$secondaryArchSuffix
lib:libprinting_migrate_samba4$secondaryArchSuffix
lib:libregistry_samba4$secondaryArchSuffix
lib:libreplace_samba4$secondaryArchSuffix
lib:libsamba_cluster_support_samba4$secondaryArchSuffix
lib:libsamba_modules_samba4$secondaryArchSuffix
lib:libsamba_net_samba4$secondaryArchSuffix
lib:libsamba_sockets_samba4$secondaryArchSuffix
lib:libsamba3_util_samba4$secondaryArchSuffix
lib:libsamdb_common_samba4$secondaryArchSuffix
lib:libsecrets3_samba4$secondaryArchSuffix
lib:libserver_id_db_samba4$secondaryArchSuffix
lib:libserver_role_samba4$secondaryArchSuffix
lib:libshares_samba4$secondaryArchSuffix
lib:libsmbclient_raw_samba4$secondaryArchSuffix
lib:libsmbd_base_samba4$secondaryArchSuffix
lib:libsmbpasswdparser_samba4$secondaryArchSuffix
lib:libsocket_blocking_samba4$secondaryArchSuffix
lib:libsys_rw_samba4$secondaryArchSuffix
lib:libtalloc_report_printf_samba4$secondaryArchSuffix
lib:libtdb_wrap_samba4$secondaryArchSuffix
lib:libtdb$secondaryArchSuffix
lib:libtime_basic_samba4$secondaryArchSuffix
lib:libtorture_samba4$secondaryArchSuffix
lib:libtrusts_util_samba4$secondaryArchSuffix
lib:libutil_cmdline_samba4$secondaryArchSuffix
lib:libutil_reg_samba4$secondaryArchSuffix
lib:libutil_setid_samba4$secondaryArchSuffix
lib:libutil_tdb_samba4$secondaryArchSuffix
lib:libwinbind_client_samba4$secondaryArchSuffix
# WHAT??
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_netlogon3_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
lib:liblibsmb_samba4$secondaryArchSuffix
lib:liblibcli_lsa3_samba4$secondaryArchSuffix
# I GAVE UP ALREADY
lib:liblibwbclient_old_samba4$secondaryArchSuffix
lib:libauth_unix_token_samba4$secondaryArchSuffix
lib:libauth4_samba4$secondaryArchSuffix
lib:libclidns_samba4$secondaryArchSuffix
lib:libgpext_samba4$secondaryArchSuffix
lib:libldb_key_value_samba4$secondaryArchSuffix
lib:libldb_tdb_err_map_samba4$secondaryArchSuffix
lib:libldb_tdb_int_samba4$secondaryArchSuffix
lib:libmsghdr_samba4$secondaryArchSuffix
lib:libposix_eadb_samba4$secondaryArchSuffix
lib:libsamba_python_samba4$secondaryArchSuffix
lib:libsmb_transport_samba4$secondaryArchSuffix
lib:libsmbldaphelper_samba4$secondaryArchSuffix
lib:libtalloc_report_samba4$secondaryArchSuffix
lib:libxattr_tdb_samba4$secondaryArchSuffix
# WHATEVER
lib:libhcrypto_samba4$secondaryArchSuffix
lib:libhcrypto_samba4$secondaryArchSuffix
lib:libhdb_samba4$secondaryArchSuffix
lib:libhdb_samba4$secondaryArchSuffix
lib:libheimbase_samba4$secondaryArchSuffix
lib:libheimbase_samba4$secondaryArchSuffix
lib:libheimntlm_samba4$secondaryArchSuffix
lib:libheimntlm_samba4$secondaryArchSuffix
lib:libhx509_samba4$secondaryArchSuffix
lib:libhx509_samba4$secondaryArchSuffix
lib:libkdc_samba4$secondaryArchSuffix
lib:libkdc_samba4$secondaryArchSuffix
lib:libroken_samba4$secondaryArchSuffix
lib:libroken_samba4$secondaryArchSuffix
lib:libwind_samba4$secondaryArchSuffix
lib:libwind_samba4$secondaryArchSuffix
"
CONFLICTS="
samba$secondaryArchSuffix
"
PROVIDES_devel="
samba4${secondaryArchSuffix}_devel = $portVersion
devel:libdcerpc_binding$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc_samr$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc_server_core$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_krb5pac$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_nbt$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_standard$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr$secondaryArchSuffix = 0.1.0 compat >= 0
devel:libnetapi$secondaryArchSuffix = 0
devel:libsamba_credentials$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_errors$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_hostconfig$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_passdb$secondaryArchSuffix = 0.27.1 compat >= 0
devel:libsamba_policy$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_util$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamdb$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsmbclient$secondaryArchSuffix = 0.4.0 compat >= 0
devel:libsmbconf$secondaryArchSuffix = 0
devel:libsmbldap$secondaryArchSuffix = 2
devel:libtevent_util$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libwbclient$secondaryArchSuffix = 0.14 compat >= 0
"
REQUIRES_devel="
samba4$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
parse_yapp
devel:libarchive$secondaryArchSuffix
devel:libcmocka$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libgettextpo$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libgpgme$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libidn$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjansson$secondaryArchSuffix
devel:libldap$secondaryArchSuffix
devel:libmd$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libnss3$secondaryArchSuffix
devel:libpam$secondaryArchSuffix
devel:libpopt$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
# cmd:clang
cmd:find
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:rpcgen$secondaryArchSuffix
cmd:which
cmd:xsltproc
"
PATCH()
{
# No other way to disable it, AFAIK.
sed -i 's/fstack-protector/fstack-protector-disabled/g' buildtools/wafsamba/samba_autoconf.py
}
BUILD()
{
true LDFLAGS="-lnetwork -lbnetapi -lbsd -lgnu" \
CFLAGS="-D_DEFAULT_SOURCE" \
runConfigure --omit-dirs "libExecDir" ./configure \
--check-c-compiler=gcc \
--enable-fhs \
--without-acl-support \
--without-ad-dc \
--without-pie \
--without-relro \
--disable-rpath-install \
--with-configdir=$settingsDir/samba \
--with-privatedir=$settingsDir/samba \
--localedir=$dataRootDir/locale \
--with-logfilebase=$sharedStateDir/log \
--libexecdir=$libDir/samba \
--with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,\
idmap_tdb2,pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,\
auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4
true make $jobArgs
}
INSTALL()
{
make $jobArgs install
# copy sample config file
cp testdata/samba3/smb.conf $settingsDir/samba
# GENERIC: all python_setuptools-based installs need this
export PATH="$portPackageLinksDir/cmd~python3/bin:$PATH"
pythonVersion=$(python3 --version 2>&1 | sed 's/Python //' | head -c3)
installLocation=$prefix/lib/python$pythonVersion/vendor-packages/
mkdir -p $installLocation
mv $prefix/non-packaged/lib/python$pythonVersion/site-packages/* $installLocation
rm -rf $prefix/non-packaged
# HACK
ln -s $libDir/samba/*.so* $libDir
prepareInstalledDevelLibs libdcerpc-binding \
libdcerpc-samr \
libdcerpc \
libndr-krb5pac \
libndr-nbt \
libndr-standard \
libndr \
libnetapi \
libsamba-credentials \
libsamba-errors \
libsamba-hostconfig \
libsamba-passdb \
libsamba-policy \
libsamba-util \
libsamdb \
libsmbclient \
libsmbconf \
libsmbldap \
libtevent-util \
libwbclient
packageEntries devel \
$developDir \
$libDir/pkgconfig
}

View File

@@ -0,0 +1,401 @@
SUMMARY="Library bits of the samba network filesystem"
DESCRIPTION="Samba is an free, open source software suite that provides \
seamless file and print services to SMB/CIFS clients. Samba is freely \
available, unlike other SMB/CIFS implementations, and allows for \
interoperability between Linux/Unix servers and Windows-based clients.
Samba can be run on platforms other than Microsoft Windows, for example, \
UNIX, Linux, IBM System 390, OpenVMS, and other operating systems. Samba uses \
the TCP/IP protocol that is installed on the host server. When correctly \
configured, it allows that host to interact with a Microsoft Windows client \
or server as if it were a Windows file and print server."
HOMEPAGE="http://www.samba.org/"
COPYRIGHT="1992-2024 Anrew Tridgell and the Samba Team"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://download.samba.org/pub/samba/stable/samba-$portVersion.tar.gz"
CHECKSUM_SHA256="f969ffed58ccf3e85cbbcc0e33a1726d025c2b40f42a653b1125b82b92d2e0e5"
PATCHES="samba4-$portVersion.patchset"
SOURCE_DIR="samba-$portVersion"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="?x86"
GLOBAL_WRITABLE_FILES="
settings/samba directory keep-old
"
PROVIDES="
samba4$secondaryArchSuffix = $portVersion
cmd:cifsdd$secondaryArchSuffix = $portVersion
cmd:dbwrap_tool$secondaryArchSuffix = $portVersion
cmd:dumpmscat$secondaryArchSuffix = $portVersion
cmd:eventlogadm$secondaryArchSuffix = $portVersion
cmd:gentest$secondaryArchSuffix = $portVersion
cmd:ldbadd$secondaryArchSuffix = $portVersion
cmd:ldbdel$secondaryArchSuffix = $portVersion
cmd:ldbedit$secondaryArchSuffix = $portVersion
cmd:ldbmodify$secondaryArchSuffix = $portVersion
cmd:ldbrename$secondaryArchSuffix = $portVersion
cmd:ldbsearch$secondaryArchSuffix = $portVersion
cmd:locktest$secondaryArchSuffix = $portVersion
cmd:masktest$secondaryArchSuffix = $portVersion
cmd:mvxattr$secondaryArchSuffix = $portVersion
cmd:ndrdump$secondaryArchSuffix = $portVersion
cmd:net$secondaryArchSuffix = $portVersion
cmd:nmbd$secondaryArchSuffix = $portVersion
cmd:nmblookup$secondaryArchSuffix = $portVersion
cmd:mdsearch$secondaryArchSuffix = $portVersion
cmd:ntlm_auth$secondaryArchSuffix = $portVersion
cmd:oLschema2ldif$secondaryArchSuffix = $portVersion
cmd:pdbedit$secondaryArchSuffix = $portVersion
cmd:profiles$secondaryArchSuffix = $portVersion
cmd:regdiff$secondaryArchSuffix = $portVersion
cmd:regpatch$secondaryArchSuffix = $portVersion
cmd:regshell$secondaryArchSuffix = $portVersion
cmd:regtree$secondaryArchSuffix = $portVersion
cmd:rpcclient$secondaryArchSuffix = $portVersion
cmd:samba_log_parser$secondaryArchSuffix = $portVersion
cmd:samba_gpupdate$secondaryArchSuffix = $portVersion
cmd:samba_regedit$secondaryArchSuffix = $portVersion
cmd:samba_tool$secondaryArchSuffix = $portVersion # python
cmd:sharesec$secondaryArchSuffix = $portVersion
cmd:smbcacls$secondaryArchSuffix = $portVersion
cmd:smbclient$secondaryArchSuffix = $portVersion
cmd:smbcontrol$secondaryArchSuffix = $portVersion
cmd:smbcquotas$secondaryArchSuffix = $portVersion
cmd:smbd$secondaryArchSuffix = $portVersion
cmd:smbget$secondaryArchSuffix = $portVersion
cmd:smbpasswd$secondaryArchSuffix = $portVersion
cmd:smbspool$secondaryArchSuffix = $portVersion
cmd:smbstatus$secondaryArchSuffix = $portVersion
cmd:smbtar$secondaryArchSuffix = $portVersion
cmd:smbtorture$secondaryArchSuffix = $portVersion
cmd:smbtree$secondaryArchSuffix = $portVersion
cmd:tdbbackup$secondaryArchSuffix = $portVersion
cmd:tdbdump$secondaryArchSuffix = $portVersion
cmd:tdbrestore$secondaryArchSuffix = $portVersion
cmd:tdbtool$secondaryArchSuffix = $portVersion
cmd:testparm$secondaryArchSuffix = $portVersion
cmd:wbinfo$secondaryArchSuffix = $portVersion
cmd:winbindd$secondaryArchSuffix = $portVersion
cmd:wspsearch$secondaryArchSuffix = $portVersion
lib:libdcerpc_binding$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc_samr$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc_server_core$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libdcerpc$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_krb5pac$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_nbt$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr_standard$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libndr$secondaryArchSuffix = 0.1.0 compat >= 0
lib:libnetapi$secondaryArchSuffix = 0
lib:libsamba_credentials$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_errors$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_hostconfig$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_passdb$secondaryArchSuffix = 0.27.1 compat >= 0
lib:libsamba_policy.cpython_310$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamba_util$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsamdb$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libsmbclient$secondaryArchSuffix = 0.4.0 compat >= 0
lib:libsmbconf$secondaryArchSuffix = 0
lib:libsmbldap$secondaryArchSuffix = 2
lib:libtevent_util$secondaryArchSuffix = 0.0.1 compat >= 0
lib:libwbclient$secondaryArchSuffix = 0.14 compat >= 0
# private libraries in $libDir/samba
lib:libaddns_private_samba$secondaryArchSuffix
lib:libads_private_samba$secondaryArchSuffix
lib:libasn1_private_samba$secondaryArchSuffix
lib:libasn1util_private_samba$secondaryArchSuffix
lib:libauth_private_samba$secondaryArchSuffix
lib:libauth_unix_token_private_samba$secondaryArchSuffix
lib:libauth4_private_samba$secondaryArchSuffix
lib:libauthkrb5_private_samba$secondaryArchSuffix
lib:libcharset3_private_samba$secondaryArchSuffix
lib:liblibwbclient_old_private_samba$secondaryArchSuffix
lib:libcli_cldap_private_samba$secondaryArchSuffix
lib:libcli_ldap_common_private_samba$secondaryArchSuffix
lib:libcli_ldap_private_samba$secondaryArchSuffix
lib:libcli_nbt_private_samba$secondaryArchSuffix
lib:libcli_smb_common_private_samba$secondaryArchSuffix
lib:libcli_spoolss_private_samba$secondaryArchSuffix
lib:libcliauth_private_samba$secondaryArchSuffix
lib:libclidns_private_samba$secondaryArchSuffix
lib:libcluster_private_samba$secondaryArchSuffix
lib:libcmdline_contexts_private_samba$secondaryArchSuffix
lib:libcmdline_private_samba$secondaryArchSuffix
lib:libcom_err_private_samba$secondaryArchSuffix
lib:libcommon_auth_private_samba$secondaryArchSuffix
lib:libdbwrap_private_samba$secondaryArchSuffix
lib:libdcerpc_pkt_auth_private_samba$secondaryArchSuffix
lib:libdcerpc_samba_private_samba$secondaryArchSuffix
lib:libdcerpc_samba4_private_samba$secondaryArchSuffix
lib:libdnsserver_common_private_samba$secondaryArchSuffix
lib:libdsdb_module_private_samba$secondaryArchSuffix
lib:libevents_private_samba$secondaryArchSuffix
lib:libflag_mapping_private_samba$secondaryArchSuffix
lib:libgenrand_private_samba$secondaryArchSuffix
lib:libgensec_private_samba$secondaryArchSuffix
lib:libgpext_private_samba$secondaryArchSuffix
lib:libgpo_private_samba$secondaryArchSuffix
lib:libgse_private_samba$secondaryArchSuffix
lib:libgss_preauth_private_samba$secondaryArchSuffix
lib:libgssapi_private_samba$secondaryArchSuffix
lib:libhcrypto_private_samba$secondaryArchSuffix
lib:libhdb_private_samba$secondaryArchSuffix
lib:libheimbase_private_samba$secondaryArchSuffix
lib:libheimntlm_private_samba$secondaryArchSuffix
lib:libhttp_private_samba$secondaryArchSuffix
lib:libhx509_private_samba$secondaryArchSuffix
lib:libidmap_private_samba$secondaryArchSuffix
lib:libinterfaces_private_samba$secondaryArchSuffix
lib:libiov_buf_private_samba$secondaryArchSuffix
lib:libkdc_private_samba$secondaryArchSuffix
lib:libkrb5_private_samba$secondaryArchSuffix
lib:libkrb5samba_private_samba$secondaryArchSuffix
lib:libldb_cmdline_private_samba$secondaryArchSuffix
lib:libldb_key_value_private_samba$secondaryArchSuffix
lib:libldb_private_samba$secondaryArchSuffix
lib:libldb_tdb_err_map_private_samba$secondaryArchSuffix
lib:libldb_tdb_int_private_samba$secondaryArchSuffix
lib:libldbsamba_private_samba$secondaryArchSuffix
lib:liblibcli_lsa3_private_samba$secondaryArchSuffix
lib:liblibcli_netlogon3_private_samba$secondaryArchSuffix
lib:liblibsmb_private_samba$secondaryArchSuffix
lib:libmessages_dgm_private_samba$secondaryArchSuffix
lib:libmessages_util_private_samba$secondaryArchSuffix
lib:libmessaging_send_private_samba$secondaryArchSuffix
lib:libmessaging_private_samba$secondaryArchSuffix
lib:libmscat_private_samba$secondaryArchSuffix
lib:libmsghdr_private_samba$secondaryArchSuffix
lib:libmsrpc3_private_samba$secondaryArchSuffix
lib:libndr_samba_private_samba$secondaryArchSuffix
lib:libndr_samba4_private_samba$secondaryArchSuffix
lib:libnet_keytab_private_samba$secondaryArchSuffix
lib:libnetif_private_samba$secondaryArchSuffix
lib:libnpa_tstream_private_samba$secondaryArchSuffix
lib:libnss_info_private_samba$secondaryArchSuffix
lib:libposix_eadb_private_samba$secondaryArchSuffix
lib:libprinter_driver_private_samba$secondaryArchSuffix
lib:libprinting_migrate_private_samba$secondaryArchSuffix
lib:libpyldb_util.cpython_310_private_samba$secondaryArchSuffix
lib:libpytalloc_util.cpython_310_private_samba$secondaryArchSuffix
lib:libreg_full_private_samba$secondaryArchSuffix
lib:librpc_server_loop_private_samba$secondaryArchSuffix
lib:librpc_worker_private_samba$secondaryArchSuffix
lib:libregistry_private_samba$secondaryArchSuffix
lib:libreplace_private_samba$secondaryArchSuffix
lib:libroken_private_samba$secondaryArchSuffix
lib:libsamba_cluster_support_private_samba$secondaryArchSuffix
lib:libsamba_debug_private_samba$secondaryArchSuffix
lib:libsamba_modules_private_samba$secondaryArchSuffix
lib:libsamba_net.cpython_310_private_samba$secondaryArchSuffix
lib:libsamba_python.cpython_310_private_samba$secondaryArchSuffix
lib:libsamba_security_private_samba$secondaryArchSuffix
lib:libsamba_sockets_private_samba$secondaryArchSuffix
lib:libsamba3_util_private_samba$secondaryArchSuffix
lib:libsamdb_common_private_samba$secondaryArchSuffix
lib:libsecrets3_private_samba$secondaryArchSuffix
lib:libserver_id_db_private_samba$secondaryArchSuffix
lib:libserver_role_private_samba$secondaryArchSuffix
lib:libshares_private_samba$secondaryArchSuffix
lib:libsmb_transport_private_samba$secondaryArchSuffix
lib:libsmbclient_raw_private_samba$secondaryArchSuffix
lib:libsmbd_base_private_samba$secondaryArchSuffix
lib:libsmbd_shim_private_samba$secondaryArchSuffix
lib:libsmbldaphelper_private_samba$secondaryArchSuffix
lib:libsmbpasswdparser_private_samba$secondaryArchSuffix
lib:libsocket_blocking_private_samba$secondaryArchSuffix
lib:libstable_sort_private_samba$secondaryArchSuffix
lib:libsys_rw_private_samba$secondaryArchSuffix
lib:libtalloc_private_samba$secondaryArchSuffix
lib:libtalloc_report_printf_private_samba$secondaryArchSuffix
lib:libtalloc_report_private_samba$secondaryArchSuffix
lib:libtdb_private_samba$secondaryArchSuffix
lib:libtdb_wrap_private_samba$secondaryArchSuffix
lib:libtevent_private_samba$secondaryArchSuffix
lib:libtime_basic_private_samba$secondaryArchSuffix
lib:libtorture_private_samba$secondaryArchSuffix
lib:libtrusts_util_private_samba$secondaryArchSuffix
lib:libutil_reg_private_samba$secondaryArchSuffix
lib:libutil_setid_private_samba$secondaryArchSuffix
lib:libutil_tdb_private_samba$secondaryArchSuffix
lib:libwind_private_samba$secondaryArchSuffix
lib:libxattr_tdb_private_samba$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libform$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libjansson$secondaryArchSuffix
lib:libldap$secondaryArchSuffix
lib:libncurses$secondaryArchSuffix
lib:libpam$secondaryArchSuffix
lib:libpanel$secondaryArchSuffix
lib:libpopt$secondaryArchSuffix
lib:libpython3.10$secondaryArchSuffix
lib:libreadline$secondaryArchSuffix
lib:libtasn1$secondaryArchSuffix
lib:libz$secondaryArchSuffix
# python
cryptography_python310
"
CONFLICTS="
samba$secondaryArchSuffix
"
PROVIDES_devel="
samba4${secondaryArchSuffix}_devel = $portVersion
devel:libdcerpc_binding$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc_samr$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc_server_core$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libdcerpc$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_krb5pac$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_nbt$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr_standard$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libndr$secondaryArchSuffix = 0.1.0 compat >= 0
devel:libnetapi$secondaryArchSuffix = 0
devel:libsamba_credentials$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_errors$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_hostconfig$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_passdb$secondaryArchSuffix = 0.27.1 compat >= 0
devel:libsamba_policy.cpython_310$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamba_util$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsamdb$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libsmbclient$secondaryArchSuffix = 0.4.0 compat >= 0
devel:libsmbconf$secondaryArchSuffix = 0
devel:libsmbldap$secondaryArchSuffix = 2
devel:libtevent_util$secondaryArchSuffix = 0.0.1 compat >= 0
devel:libwbclient$secondaryArchSuffix = 0.14 compat >= 0
"
REQUIRES_devel="
samba4$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
parse_yapp
devel:libarchive$secondaryArchSuffix
devel:libcmocka$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libgcrypt$secondaryArchSuffix
devel:libgettextpo$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libgpgme$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libidn$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjansson$secondaryArchSuffix
devel:libldap$secondaryArchSuffix
devel:libmd$secondaryArchSuffix
devel:libncurses$secondaryArchSuffix
devel:libnss3$secondaryArchSuffix
devel:libpam$secondaryArchSuffix
devel:libpopt$secondaryArchSuffix
devel:libreadline$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:awk
cmd:bison
cmd:clang
cmd:find
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:rpcgen$secondaryArchSuffix
cmd:which
cmd:xsltproc
markdown_python310
"
BUILD()
{
export DISTCC_DISABLE=1
export PYTHONHASHSEED=1
export LDFLAGS="-lnetwork -lbnetapi -lbsd -lgnu"
export CFLAGS="-D_DEFAULT_SOURCE"
runConfigure ./buildtools/bin/waf configure --check-c-compiler=gcc \
--enable-fhs \
--without-acl-support \
--without-ad-dc \
--without-pie \
--without-relro \
--without-gettex \
--disable-rpath \
--disable-rpath-install \
--with-configdir=$settingsDir/samba \
--with-modulesdir=$libDir/samba \
--with-privatedir=$settingsDir/samba \
--with-piddir=/var/samba \
--with-lockdir=/var/samba/lock \
--with-statedir=/var \
--with-cachedir=/var/cache/samba \
--localedir=$dataRootDir/locale \
--with-logfilebase=$sharedStateDir/log \
--libexecdir=$libDir \
--with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,\
idmap_tdb2,pdb_tdbsam,pdb_ldap,pdb_ads,pdb_smbpasswd,pdb_wbc_sam,pdb_samba4,\
auth_unix,auth_wbc,auth_server,auth_netlogond,auth_script,auth_samba4
./buildtools/bin/waf build $jobArgs
# true make $jobArgs
}
INSTALL()
{
make $jobArgs install
# copy sample config file
cp testdata/samba3/smb.conf $settingsDir/samba
# GENERIC: all python_setuptools-based installs need this
export PATH="$portPackageLinksDir/cmd~python3/bin:$PATH"
pythonVersion=$(python3 --version 2>&1 | sed 's/Python //' | head -c4)
installLocation=$prefix/lib/python$pythonVersion/vendor-packages/
mkdir -p $installLocation
mv $prefix/non-packaged/lib/python$pythonVersion/site-packages/* $installLocation
rm -rf $prefix/non-packaged
# HACK (rpath issue?)
ln -s $libDir/samba/*.so* $libDir
prepareInstalledDevelLibs \
libdcerpc-binding \
libdcerpc-server-core \
libdcerpc-samr \
libdcerpc \
libndr-krb5pac \
libndr-nbt \
libndr-standard \
libndr \
libnetapi \
libsamba-credentials \
libsamba-errors \
libsamba-hostconfig \
libsamba-passdb \
"libsamba-policy.cpython-310" \
libsamba-util \
libsamdb \
libsmbclient \
libsmbconf \
libsmbldap \
libtevent-util \
libwbclient
fixPkgconfig
packageEntries devel \
$developDir
}