From 6e74d8d5b0756d35f06284670cf3f217b3ba6ff5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnther=20Deschner?= Date: Wed, 11 Jun 2014 15:39:56 +0200 Subject: [PATCH] Update to Samba 4.1.8. Guenther --- .gitignore | 1 + samba-4.1.7-Make_daemons_systemd_aware.patch | 748 ------------------- samba-4.1.7-fix_pidl_install.patch | 373 --------- samba.spec | 15 +- sources | 2 +- 5 files changed, 8 insertions(+), 1131 deletions(-) delete mode 100644 samba-4.1.7-Make_daemons_systemd_aware.patch delete mode 100644 samba-4.1.7-fix_pidl_install.patch diff --git a/.gitignore b/.gitignore index 81f6a61..0a155b1 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ samba-3.6.0pre1.tar.gz /samba-4.1.4.tar.xz /samba-4.1.5.tar.xz /samba-4.1.6.tar.xz +/samba-4.1.8.tar.xz diff --git a/samba-4.1.7-Make_daemons_systemd_aware.patch b/samba-4.1.7-Make_daemons_systemd_aware.patch deleted file mode 100644 index dea0af3..0000000 --- a/samba-4.1.7-Make_daemons_systemd_aware.patch +++ /dev/null @@ -1,748 +0,0 @@ -From 4be15cc68a49b353f1f2f4f198b968098bee4d83 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Tue, 25 Mar 2014 12:53:04 +0200 -Subject: [PATCH 1/5] add systemd integration - -Add --with-systemd / --without-systemd options to check whether -libsystemd-daemon library is available and use it to report service -startup status to systemd for smbd/winbindd/nmbd and AD DC. - -The problem it solves is correct reporting of the Samba services -at the point when they are ready to serve clients, important for -high availability software integration. - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517 - -Signed-off-by: Alexander Bokovoy -Reviewed-by: Andreas Schneider - -(cherry picked from commit 54b5d9a7384ae27b2a26586ff909128427c05abe) ---- - lib/util/become_daemon.c | 37 ++++++++++++++++++++++++++++++++++++- - lib/util/samba_util.h | 12 ++++++++++++ - lib/util/wscript_build | 2 +- - packaging/systemd/nmb.service | 3 ++- - packaging/systemd/samba.service | 3 ++- - packaging/systemd/smb.service | 3 ++- - packaging/systemd/winbind.service | 3 ++- - source3/nmbd/nmbd.c | 4 ++++ - source3/smbd/server.c | 4 ++++ - source3/winbindd/winbindd.c | 5 +++++ - source4/smbd/server.c | 4 ++++ - wscript | 27 +++++++++++++++++++++++---- - 12 files changed, 97 insertions(+), 10 deletions(-) - -diff --git a/lib/util/become_daemon.c b/lib/util/become_daemon.c -index 2ca0478..35c8b32 100644 ---- a/lib/util/become_daemon.c -+++ b/lib/util/become_daemon.c -@@ -24,6 +24,9 @@ - #include "includes.h" - #include "system/filesys.h" - #include "system/locale.h" -+#if HAVE_SYSTEMD -+#include -+#endif - - /******************************************************************* - Close the low 3 fd's and open dev/null in their place. -@@ -75,8 +78,13 @@ _PUBLIC_ void close_low_fds(bool stdin_too, bool stdout_too, bool stderr_too) - - _PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout) - { -+ pid_t newpid; - if (do_fork) { -- if (fork()) { -+ newpid = fork(); -+ if (newpid) { -+#if HAVE_SYSTEMD -+ sd_notifyf(0, "READY=0\nSTATUS=Starting process...\nMAINPID=%lu", (unsigned long) newpid); -+#endif /* HAVE_SYSTEMD */ - _exit(0); - } - } -@@ -100,3 +108,30 @@ _PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout - * never close stderr (but debug might dup it onto a log file) */ - close_low_fds(do_fork, !log_stdout, false); - } -+ -+_PUBLIC_ void exit_daemon(const char *msg, int error) -+{ -+#ifdef HAVE_SYSTEMD -+ if (msg == NULL) { -+ msg = strerror(error); -+ } -+ -+ sd_notifyf(0, "STATUS=daemon failed to start: %s\n" -+ "ERRNO=%i", -+ msg, -+ error); -+#endif -+ DEBUG(0, ("STATUS=daemon failed to start: %s, error code %d\n", msg, error)); -+ exit(1); -+} -+ -+_PUBLIC_ void daemon_ready(const char *daemon) -+{ -+ if (daemon == NULL) { -+ daemon = "Samba"; -+ } -+#ifdef HAVE_SYSTEMD -+ sd_notifyf(0, "READY=1\nSTATUS=%s: ready to serve connections...", daemon); -+#endif -+ DEBUG(0, ("STATUS=daemon '%s' finished starting up and ready to serve connections", daemon)); -+} -diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h -index f52347e..2996710 100644 ---- a/lib/util/samba_util.h -+++ b/lib/util/samba_util.h -@@ -842,6 +842,18 @@ _PUBLIC_ void close_low_fds(bool stdin_too, bool stdout_too, bool stderr_too); - _PUBLIC_ void become_daemon(bool do_fork, bool no_process_group, bool log_stdout); - - /** -+ Exit daemon and print error message to the log at level 0 -+ Optionally report failure to systemd if systemd integration is enabled -+**/ -+_PUBLIC_ void exit_daemon(const char *msg, int error); -+ -+/** -+ Report that the daemon is ready to serve connections to the log at level 0 -+ Optionally report status to systemd if systemd integration is enabled -+**/ -+_PUBLIC_ void daemon_ready(const char *daemon); -+ -+/** - * @brief Get a password from the console. - * - * You should make sure that the buffer is an empty string! -diff --git a/lib/util/wscript_build b/lib/util/wscript_build -index 39a1613..5087116 100755 ---- a/lib/util/wscript_build -+++ b/lib/util/wscript_build -@@ -10,7 +10,7 @@ bld.SAMBA_LIBRARY('samba-util', - server_id.c dprintf.c parmlist.c bitmap.c pidfile.c - tevent_debug.c util_process.c''', - deps='DYNCONFIG', -- public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid', -+ public_deps='talloc tevent execinfo uid_wrapper pthread LIBCRYPTO charset util_setid systemd-daemon', - public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h', - header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ], - local_include=False, -diff --git a/packaging/systemd/nmb.service b/packaging/systemd/nmb.service -index e5e81a1..3d71a7d 100644 ---- a/packaging/systemd/nmb.service -+++ b/packaging/systemd/nmb.service -@@ -3,7 +3,8 @@ Description=Samba NMB Daemon - After=syslog.target network.target - - [Service] --Type=forking -+Type=notify -+NotifyAccess=all - PIDFile=/run/nmbd.pid - EnvironmentFile=-/etc/sysconfig/samba - ExecStart=/usr/sbin/nmbd $NMBDOPTIONS -diff --git a/packaging/systemd/samba.service b/packaging/systemd/samba.service -index e2878d1..824f89c 100644 ---- a/packaging/systemd/samba.service -+++ b/packaging/systemd/samba.service -@@ -3,7 +3,8 @@ Description=Samba AD Daemon - After=syslog.target network.target - - [Service] --Type=forking -+Type=notify -+NotifyAccess=all - PIDFile=/run/samba.pid - LimitNOFILE=16384 - EnvironmentFile=-/etc/sysconfig/samba -diff --git a/packaging/systemd/smb.service b/packaging/systemd/smb.service -index d0d945a..9810891 100644 ---- a/packaging/systemd/smb.service -+++ b/packaging/systemd/smb.service -@@ -3,7 +3,8 @@ Description=Samba SMB Daemon - After=syslog.target network.target nmb.service winbind.service - - [Service] --Type=forking -+Type=notify -+NotifyAccess=all - PIDFile=/run/smbd.pid - LimitNOFILE=16384 - EnvironmentFile=-/etc/sysconfig/samba -diff --git a/packaging/systemd/winbind.service b/packaging/systemd/winbind.service -index eff266f..f711a17 100644 ---- a/packaging/systemd/winbind.service -+++ b/packaging/systemd/winbind.service -@@ -3,7 +3,8 @@ Description=Samba Winbind Daemon - After=syslog.target network.target nmb.service - - [Service] --Type=forking -+Type=notify -+NotifyAccess=all - PIDFile=/run/winbindd.pid - EnvironmentFile=-/etc/sysconfig/samba - ExecStart=/usr/sbin/winbindd "$WINBINDOPTIONS" -diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c -index ec0e7d0..aced774 100644 ---- a/source3/nmbd/nmbd.c -+++ b/source3/nmbd/nmbd.c -@@ -1088,6 +1088,10 @@ static bool open_sockets(bool isdaemon, int port) - exit(1); - } - -+ if (is_daemon && !opt_interactive) { -+ daemon_ready("nmbd"); -+ } -+ - TALLOC_FREE(frame); - process(msg); - -diff --git a/source3/smbd/server.c b/source3/smbd/server.c -index d3cd33e..b2a9d8f 100644 ---- a/source3/smbd/server.c -+++ b/source3/smbd/server.c -@@ -1489,6 +1489,10 @@ extern void build_options(bool screen); - exit(1); - } - -+ if (is_daemon && !interactive) { -+ daemon_ready("smbd"); -+ } -+ - /* only start other daemons if we are running as a daemon - * -- bad things will happen if smbd is launched via inetd - * and we fork a copy of ourselves here */ -diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c -index 50573ac..61c1dbc 100644 ---- a/source3/winbindd/winbindd.c -+++ b/source3/winbindd/winbindd.c -@@ -1581,6 +1581,11 @@ int main(int argc, char **argv, char **envp) - } - - TALLOC_FREE(frame); -+ -+ if (!interactive) { -+ daemon_ready("winbindd"); -+ } -+ - /* Loop waiting for requests */ - while (1) { - frame = talloc_stackframe(); -diff --git a/source4/smbd/server.c b/source4/smbd/server.c -index 37aac62..3a23190 100644 ---- a/source4/smbd/server.c -+++ b/source4/smbd/server.c -@@ -498,6 +498,10 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - return 1; - } - -+ if (opt_daemon) { -+ daemon_ready("samba"); -+ } -+ - /* wait for events - this is where smbd sits for most of its - life */ - tevent_loop_wait(event_ctx); -diff --git a/wscript b/wscript -index 83c82e3..2f02c6e 100644 ---- a/wscript -+++ b/wscript -@@ -64,8 +64,15 @@ def set_options(opt): - help=("Disable Position Independent Executable builds"), - action="store_false", dest='enable_pie') - -- gr = opt.option_group('developer options') -+ opt.add_option('--with-systemd', -+ help=("Enable systemd integration"), -+ action='store_true', dest='enable_systemd') -+ -+ opt.add_option('--without-systemd', -+ help=("Disable systemd integration"), -+ action='store_false', dest='enable_systemd') - -+ gr = opt.option_group('developer options') - - opt.tool_options('python') # options for disabling pyc or pyo compilation - # enable options related to building python extensions -@@ -162,11 +169,8 @@ def configure(conf): - if not conf.CHECK_CODE('#include "tests/summary.c"', - define='SUMMARY_PASSES', - addmain=False, -- execute=True, - msg='Checking configure summary'): - raise Utils.WafError('configure summary failed') -- -- conf.SAMBA_CONFIG_H('include/config.h') - - if Options.options.enable_pie != False: - if Options.options.enable_pie == True: -@@ -178,6 +182,21 @@ def configure(conf): - msg="Checking compiler for PIE support"): - conf.env['ENABLE_PIE'] = True - -+ if Options.options.enable_systemd != False: -+ conf.check_cfg(package='libsystemd-daemon', args='--cflags --libs', -+ msg='Checking for libsystemd-daemon', uselib_store="SYSTEMD-DAEMON") -+ conf.CHECK_HEADERS('systemd/sd-daemon.h', lib='systemd-daemon') -+ conf.CHECK_LIB('systemd-daemon', shlib=True) -+ -+ if conf.CONFIG_SET('HAVE_SYSTEMD_SD_DAEMON_H'): -+ conf.DEFINE('HAVE_SYSTEMD', '1') -+ conf.env['ENABLE_SYSTEMD'] = True -+ else: -+ conf.SET_TARGET_TYPE('systemd-daemon', 'EMPTY') -+ conf.undefine('HAVE_SYSTEMD') -+ -+ conf.SAMBA_CONFIG_H('include/config.h') -+ - def etags(ctx): - '''build TAGS file using etags''' - import Utils --- -1.8.5.3 - - -From a6250f706655bd8fda81fe15ccc9441f7d4e1c84 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Wed, 26 Mar 2014 10:56:12 +0200 -Subject: [PATCH 2/5] smbd: use exit_daemon() to support reporting to systemd - from smbd - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517 - -Signed-off-by: Alexander Bokovoy -Reviewed-by: Andreas Schneider ---- - source3/smbd/server.c | 44 +++++++++++++++++++------------------------- - 1 file changed, 19 insertions(+), 25 deletions(-) - -diff --git a/source3/smbd/server.c b/source3/smbd/server.c -index b2a9d8f..34c949d 100644 ---- a/source3/smbd/server.c -+++ b/source3/smbd/server.c -@@ -1314,8 +1314,7 @@ extern void build_options(bool screen); - ev_ctx, - false); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0,("reinit_after_fork() failed\n")); -- exit(1); -+ exit_daemon("reinit_after_fork() failed", map_errno_from_nt_status(status)); - } - - if (!interactive) { -@@ -1326,8 +1325,7 @@ extern void build_options(bool screen); - */ - status = init_before_fork(); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status))); -- exit(1); -+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status)); - } - } - -@@ -1360,7 +1358,7 @@ extern void build_options(bool screen); - /* Setup all the TDB's - including CLEAR_IF_FIRST tdb's. */ - - if (smbd_memcache() == NULL) { -- exit(1); -+ exit_daemon("no memcache available", EACCES); - } - - memcache_set_global(smbd_memcache()); -@@ -1372,69 +1370,65 @@ extern void build_options(bool screen); - exit(1); - - if (!secrets_init()) { -- DEBUG(0, ("ERROR: smbd can not open secrets.tdb\n")); -- exit(1); -+ exit_daemon("smbd can not open secrets.tdb", EACCES); - } - - if (lp_server_role() == ROLE_DOMAIN_BDC || lp_server_role() == ROLE_DOMAIN_PDC) { - struct loadparm_context *lp_ctx = loadparm_init_s3(NULL, loadparm_s3_helpers()); - if (!open_schannel_session_store(NULL, lp_ctx)) { -- DEBUG(0,("ERROR: Samba cannot open schannel store for secured NETLOGON operations.\n")); -- exit(1); -+ exit_daemon("ERROR: Samba cannot open schannel store for secured NETLOGON operations.", EACCES); - } - TALLOC_FREE(lp_ctx); - } - - if(!get_global_sam_sid()) { -- DEBUG(0,("ERROR: Samba cannot create a SAM SID.\n")); -- exit(1); -+ exit_daemon("Samba cannot create a SAM SID", EACCES); - } - - server_id = messaging_server_id(msg_ctx); - status = smbXsrv_version_global_init(&server_id); - if (!NT_STATUS_IS_OK(status)) { -- exit(1); -+ exit_daemon("Samba cannot init server context", EACCES); - } - - status = smbXsrv_session_global_init(); - if (!NT_STATUS_IS_OK(status)) { -- exit(1); -+ exit_daemon("Samba cannot init session context", EACCES); - } - - status = smbXsrv_tcon_global_init(); - if (!NT_STATUS_IS_OK(status)) { -- exit(1); -+ exit_daemon("Samba cannot init tcon context", EACCES); - } - - if (!locking_init()) -- exit(1); -+ exit_daemon("Samba cannot init locking", EACCES); - - if (!messaging_tdb_parent_init(ev_ctx)) { -- exit(1); -+ exit_daemon("Samba cannot init TDB messaging", EACCES); - } - - if (!smbd_parent_notify_init(NULL, msg_ctx, ev_ctx)) { -- exit(1); -+ exit_daemon("Samba cannot init notification", EACCES); - } - - if (!smbd_scavenger_init(NULL, msg_ctx, ev_ctx)) { -- exit(1); -+ exit_daemon("Samba cannot init scavenging", EACCES); - } - - if (!serverid_parent_init(ev_ctx)) { -- exit(1); -+ exit_daemon("Samba cannot init server id", EACCES); - } - - if (!W_ERROR_IS_OK(registry_init_full())) -- exit(1); -+ exit_daemon("Samba cannot init registry", EACCES); - - /* Open the share_info.tdb here, so we don't have to open - after the fork on every single connection. This is a small - performance improvment and reduces the total number of system - fds used. */ - if (!share_info_db_init()) { -- DEBUG(0,("ERROR: failed to load share info db.\n")); -- exit(1); -+ exit_daemon("ERROR: failed to load share info db.", EACCES); - } - - status = init_system_session_info(); -@@ -1455,7 +1449,7 @@ extern void build_options(bool screen); - } - status = smbXsrv_open_global_init(); - if (!NT_STATUS_IS_OK(status)) { -- exit(1); -+ exit_daemon("Samba cannot init global open", map_errno_from_nt_status(status)); - } - - /* This MUST be done before start_epmd() because otherwise -@@ -1486,7 +1480,7 @@ extern void build_options(bool screen); - } - - if (!dcesrv_ep_setup(ev_ctx, msg_ctx)) { -- exit(1); -+ exit_daemon("Samba cannot setup ep pipe", EACCES); - } - - if (is_daemon && !interactive) { -@@ -1507,7 +1501,7 @@ extern void build_options(bool screen); - bool bgq = lp_parm_bool(-1, "smbd", "backgroundqueue", true); - - if (!printing_subsystem_init(ev_ctx, msg_ctx, true, bgq)) { -- exit(1); -+ exit_daemon("Samba failed to init printing subsystem", EACCES); - } - } - } else if (!lp__disable_spoolss() && --- -1.8.5.3 - - -From 580933198c1da02ad668b32f68bfeac833d97980 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Wed, 26 Mar 2014 11:34:56 +0200 -Subject: [PATCH 3/5] nmbd: use exit_daemon() to report status to systemd - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517 - -Signed-off-by: Alexander Bokovoy -Reviewed-by: Andreas Schneider - -(cherry picked from commit a54e94559b5ebabbb8c5c938fdf159efceff39e6) ---- - source3/nmbd/nmbd.c | 39 ++++++++++++++------------------------- - 1 file changed, 14 insertions(+), 25 deletions(-) - -diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c -index aced774..dc2d4c7 100644 ---- a/source3/nmbd/nmbd.c -+++ b/source3/nmbd/nmbd.c -@@ -966,16 +966,12 @@ static bool open_sockets(bool isdaemon, int port) - - ok = directory_create_or_exist(lp_lockdir(), geteuid(), 0755); - if (!ok) { -- DEBUG(0, ("Failed to create directory %s for lock files - %s\n", -- lp_lockdir(), strerror(errno))); -- exit(1); -+ exit_daemon("Failed to create directory for lock files, check 'lock directory'", errno); - } - - ok = directory_create_or_exist(lp_piddir(), geteuid(), 0755); - if (!ok) { -- DEBUG(0, ("Failed to create directory %s for pid files - %s\n", -- lp_piddir(), strerror(errno))); -- exit(1); -+ exit_daemon("Failed to create directory for pid files, check 'pid directory'", errno); - } - - pidfile_create(lp_piddir(), "nmbd"); -@@ -984,8 +980,7 @@ static bool open_sockets(bool isdaemon, int port) - false); - - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0,("reinit_after_fork() failed\n")); -- exit(1); -+ exit_daemon("reinit_after_fork() failed", map_errno_from_nt_status(status)); - } - - /* -@@ -995,16 +990,15 @@ static bool open_sockets(bool isdaemon, int port) - */ - status = init_before_fork(); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status))); -- exit(1); -+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status)); - } - - if (!nmbd_setup_sig_term_handler(msg)) -- exit(1); -+ exit_daemon("NMBD failed to setup signal handler", EINVAL); - if (!nmbd_setup_stdin_handler(msg, !Fork)) -- exit(1); -+ exit_daemon("NMBD failed to setup stdin handler", EINVAL); - if (!nmbd_setup_sig_hup_handler(msg)) -- exit(1); -+ exit_daemon("NMBD failed to setup SIGHUP handler", EINVAL); - - /* get broadcast messages */ - -@@ -1012,8 +1006,7 @@ static bool open_sockets(bool isdaemon, int port) - FLAG_MSG_GENERAL | - FLAG_MSG_NMBD | - FLAG_MSG_DBWRAP)) { -- DEBUG(1, ("Could not register myself in serverid.tdb\n")); -- exit(1); -+ exit_daemon("Could not register NMBD process in serverid.tdb", EACCES); - } - - messaging_register(msg, NULL, MSG_FORCE_ELECTION, -@@ -1044,9 +1037,8 @@ static bool open_sockets(bool isdaemon, int port) - - /* Create an nmbd subnet record for each of the above. */ - if( False == create_subnets() ) { -- DEBUG(0,("ERROR: Failed when creating subnet lists. Exiting.\n")); - kill_async_dns_child(); -- exit(1); -+ exit_daemon("NMBD failed when creating subnet lists", EACCES); - } - - /* Load in any static local names. */ -@@ -1058,9 +1050,8 @@ static bool open_sockets(bool isdaemon, int port) - - /* If we are acting as a WINS server, initialise data structures. */ - if( !initialise_wins() ) { -- DEBUG( 0, ( "nmbd: Failed when initialising WINS server.\n" ) ); - kill_async_dns_child(); -- exit(1); -+ exit_daemon( "NMBD failed when initialising WINS server.", EACCES); - } - - /* -@@ -1072,21 +1063,19 @@ static bool open_sockets(bool isdaemon, int port) - */ - - if( False == register_my_workgroup_and_names() ) { -- DEBUG(0,("ERROR: Failed when creating my my workgroup. Exiting.\n")); - kill_async_dns_child(); -- exit(1); -+ exit_daemon( "NMBD failed when creating my workgroup.", EACCES); - } - - if (!initialize_nmbd_proxy_logon()) { -- DEBUG(0,("ERROR: Failed setup nmbd_proxy_logon.\n")); - kill_async_dns_child(); -- exit(1); -+ exit_daemon( "NMBD failed to setup nmbd_proxy_logon.", EACCES); - } - - if (!nmbd_init_packet_server()) { - kill_async_dns_child(); -- exit(1); -- } -+ exit_daemon( "NMBD failed to setup packet server.", EACCES); -+ } - - if (is_daemon && !opt_interactive) { - daemon_ready("nmbd"); --- -1.8.5.3 - - -From 1067bdd3e590d5ab880044456c667e3663d99c95 Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Wed, 26 Mar 2014 11:45:21 +0200 -Subject: [PATCH 4/5] winbindd: use exit_daemon() to pass startup status to - systemd - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517 - -Signed-off-by: Alexander Bokovoy -Reviewed-by: Andreas Schneider -(cherry picked from commit 91013315c9fa946bf85c85df0ccd40a803f3dc6f) ---- - source3/winbindd/winbindd.c | 13 ++++--------- - 1 file changed, 4 insertions(+), 9 deletions(-) - -diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c -index 61c1dbc..68ffd7e 100644 ---- a/source3/winbindd/winbindd.c -+++ b/source3/winbindd/winbindd.c -@@ -1543,8 +1543,7 @@ int main(int argc, char **argv, char **envp) - winbind_event_context(), - false); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0,("reinit_after_fork() failed\n")); -- exit(1); -+ exit_daemon("Winbindd reinit_after_fork() failed", map_errno_from_nt_status(status)); - } - - /* -@@ -1554,17 +1553,14 @@ int main(int argc, char **argv, char **envp) - */ - status = init_before_fork(); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0, ("init_before_fork failed: %s\n", nt_errstr(status))); -- exit(1); -+ exit_daemon(nt_errstr(status), map_errno_from_nt_status(status)); - } - - winbindd_register_handlers(winbind_messaging_context(), !Fork); - - status = init_system_session_info(); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(1, ("ERROR: failed to setup system user info: %s.\n", -- nt_errstr(status))); -- exit(1); -+ exit_daemon("Winbindd failed to setup system user info", map_errno_from_nt_status(status)); - } - - rpc_lsarpc_init(NULL); -@@ -1576,8 +1572,7 @@ int main(int argc, char **argv, char **envp) - /* setup listen sockets */ - - if (!winbindd_setup_listeners()) { -- DEBUG(0,("winbindd_setup_listeners() failed\n")); -- exit(1); -+ exit_daemon("Winbindd failed to setup listeners", EPIPE); - } - - TALLOC_FREE(frame); --- -1.8.5.3 - - -From 037b9fd66e777571e2c963945e41535371b4683e Mon Sep 17 00:00:00 2001 -From: Alexander Bokovoy -Date: Wed, 26 Mar 2014 12:30:30 +0200 -Subject: [PATCH 5/5] ad-dc: use exit_daemon() to communicate status of startup - to systemd - -BUG: https://bugzilla.samba.org/show_bug.cgi?id=10517 - -Signed-off-by: Alexander Bokovoy -Reviewed-by: Andreas Schneider -(cherry picked from commit a343303cbcd5af303455843ebf202e2f30daf3a6) ---- - source4/smbd/server.c | 19 +++++++------------ - 1 file changed, 7 insertions(+), 12 deletions(-) - -diff --git a/source4/smbd/server.c b/source4/smbd/server.c -index 3a23190..d5d9d9c 100644 ---- a/source4/smbd/server.c -+++ b/source4/smbd/server.c -@@ -398,15 +398,13 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - - if (lpcfg_server_role(cmdline_lp_ctx) == ROLE_ACTIVE_DIRECTORY_DC) { - if (!open_schannel_session_store(talloc_autofree_context(), cmdline_lp_ctx)) { -- DEBUG(0,("ERROR: Samba cannot open schannel store for secured NETLOGON operations.\n")); -- exit(1); -+ exit_daemon("Samba cannot open schannel store for secured NETLOGON operations.", EACCES); - } - } - - /* make sure we won't go through nss_winbind */ - if (!winbind_off()) { -- DEBUG(0,("Failed to disable recusive winbindd calls. Exiting.\n")); -- exit(1); -+ exit_daemon("Samba failed to disable recusive winbindd calls.", EACCES); - } - - gensec_init(); /* FIXME: */ -@@ -431,8 +429,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - event_ctx = s4_event_context_init(talloc_autofree_context()); - - if (event_ctx == NULL) { -- DEBUG(0,("Initializing event context failed\n")); -- return 1; -+ exit_daemon("Initializing event context failed", EACCES); - } - - if (opt_interactive) { -@@ -449,7 +446,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - #endif - - if (fstat(0, &st) != 0) { -- exit(1); -+ exit_daemon("Samba failed to set standard input handler", ENOTTY); - } - - if (S_ISFIFO(st.st_mode) || S_ISSOCK(st.st_mode)) { -@@ -478,15 +475,14 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - DEBUG(0, ("At this time the 'samba' binary should only be used for either:\n")); - DEBUGADD(0, ("'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'\n")); - DEBUGADD(0, ("You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks\n")); -- exit(1); -+ exit_daemon("Samba detected misconfigured 'server role' and exited. Check logs for details", EINVAL); - }; - - prime_ldb_databases(event_ctx); - - status = setup_parent_messaging(event_ctx, cmdline_lp_ctx); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0,("Failed to setup parent messaging - %s\n", nt_errstr(status))); -- return 1; -+ exit_daemon("Samba failed to setup parent messaging", NT_STATUS_V(status)); - } - - DEBUG(0,("%s: using '%s' process model\n", binary_name, model)); -@@ -494,8 +490,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ - status = server_service_startup(event_ctx, cmdline_lp_ctx, model, - lpcfg_server_services(cmdline_lp_ctx)); - if (!NT_STATUS_IS_OK(status)) { -- DEBUG(0,("Starting Services failed - %s\n", nt_errstr(status))); -- return 1; -+ exit_daemon("Samba failed to start services", NT_STATUS_V(status)); - } - - if (opt_daemon) { --- -1.8.5.3 - diff --git a/samba-4.1.7-fix_pidl_install.patch b/samba-4.1.7-fix_pidl_install.patch deleted file mode 100644 index e906fc7..0000000 --- a/samba-4.1.7-fix_pidl_install.patch +++ /dev/null @@ -1,373 +0,0 @@ -From 6271d0d87c8b956007b5b5f78efa62d1a34c55f7 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:47:45 +0100 -Subject: [PATCH 1/9] buildtools: Rename perl vendorarch configure option. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - buildtools/wafadmin/Tools/perl.py | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py -index a6787a8..99e0540 100644 ---- a/buildtools/wafadmin/Tools/perl.py -+++ b/buildtools/wafadmin/Tools/perl.py -@@ -98,12 +98,17 @@ def check_perl_ext_devel(conf): - conf.env.EXTUTILS_TYPEMAP = read_out('print "$Config{privlib}/ExtUtils/typemap"') - conf.env.perlext_PATTERN = '%s.' + read_out('print $Config{dlext}')[0] - -- if getattr(Options.options, 'perlarchdir', None): -- conf.env.ARCHDIR_PERL = Options.options.perlarchdir -+ if getattr(Options.options, 'perl_vendorarch_dir', None): -+ conf.env.PERL_VENDORARCH_DIR = Options.options.perl_vendorarch_dir - else: -- conf.env.ARCHDIR_PERL = read_out('print $Config{sitearch}')[0] -+ conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0] - - def set_options(opt): - opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None) -- opt.add_option("--with-perl-archdir", type="string", dest="perlarchdir", help = 'Specify directory where to install arch specific files', default=None) -+ -+ opt.add_option("--with-perl-vendorarch", -+ type="string", -+ dest="perl_vendorarch_dir", -+ help = ('Specify directory where to install arch specific files'), -+ default=None) - --- -1.9.0 - - -From f415ba757c6454e5f5d10adbd074a31f3c650ce9 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:50:02 +0100 -Subject: [PATCH 2/9] buildtools: Add perl vendorlib configure option. - -After this patch has been pushed, we need to change autobuild to compile -with this option or we will not be able to install pidl. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - buildtools/wafadmin/Tools/perl.py | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/buildtools/wafadmin/Tools/perl.py b/buildtools/wafadmin/Tools/perl.py -index 99e0540..8f13e28 100644 ---- a/buildtools/wafadmin/Tools/perl.py -+++ b/buildtools/wafadmin/Tools/perl.py -@@ -103,6 +103,11 @@ def check_perl_ext_devel(conf): - else: - conf.env.PERL_VENDORARCH_DIR = read_out('print $Config{vendorarch}')[0] - -+ if getattr(Options.options, 'perl_vendorlib_dir', None): -+ conf.env.PERL_VENDORLIB_DIR = Options.options.perl_vendorlib_dir -+ else: -+ conf.env.PERL_VENDORLIB_DIR = read_out('print $Config{vendorlib}')[0] -+ - def set_options(opt): - opt.add_option("--with-perl-binary", type="string", dest="perlbinary", help = 'Specify alternate perl binary', default=None) - -@@ -112,3 +117,8 @@ def set_options(opt): - help = ('Specify directory where to install arch specific files'), - default=None) - -+ opt.add_option("--with-perl-vendorlib", -+ type="string", -+ dest="perl_vendorlib_dir", -+ help = ('Specify directory where to install vendor specific files'), -+ default=None) --- -1.9.0 - - -From f191572655655fa920f132f51dfdb8b1df85e7d0 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Wed, 5 Mar 2014 16:27:15 +0100 -Subject: [PATCH 3/9] autobuild: Set perl vendorlib direcotry. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - script/autobuild.py | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/script/autobuild.py b/script/autobuild.py -index fe39ed9..3136643 100755 ---- a/script/autobuild.py -+++ b/script/autobuild.py -@@ -35,7 +35,7 @@ defaulttasks = [ "samba", "samba-ctdb", "samba-libs", "ldb", "tdb", "ntdb", "tal - - tasks = { - # We have 'test' before 'install' because, 'test' should work without 'install' -- "samba" : [ ("configure", "./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab", "text/plain"), -+ "samba" : [ ("configure", "./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab", "text/plain"), - ("make", "make -j", "text/plain"), - ("test", "make test FAIL_IMMEDIATELY=1", "text/plain"), - ("install", "make install", "text/plain"), -@@ -53,7 +53,7 @@ tasks = { - ("ctdb-header-install", "cp ./ctdb/include/* ${PREFIX_DIR}/include", "text/plain"), - ("ctdb-header-ls", "ls ${PREFIX_DIR}/include/ctdb.h", "text/plain"), - -- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"), -+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure.developer ${PREFIX} ${PERL_VENDOR_LIB} --with-selftest-prefix=./bin/ab --with-cluster-support --with-ctdb-dir=${PREFIX_DIR} --bundled-libraries=!tdb", "text/plain"), - ("make", "make", "text/plain"), - ("check", "./bin/smbd -b | grep CLUSTER_SUPPORT", "text/plain"), - ("install", "make install", "text/plain"), -@@ -82,7 +82,7 @@ tasks = { - ("ldb-make", "cd lib/ldb && make", "text/plain"), - ("ldb-install", "cd lib/ldb && make install", "text/plain"), - -- ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX}", "text/plain"), -+ ("configure", "PYTHONPATH=${PYTHON_PREFIX}/site-packages:$PYTHONPATH PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${PREFIX_DIR}/lib/pkgconfig ./configure --bundled-libraries=!talloc,!tdb,!pytdb,!ntdb,!pyntdb,!ldb,!pyldb,!tevent,!pytevent --abi-check --enable-debug -C ${PREFIX} ${PERL_VENDOR_LIB}", "text/plain"), - ("make", "make", "text/plain"), - ("install", "make install", "text/plain")], - -@@ -212,6 +212,7 @@ class builder(object): - self.cmd = self.cmd.replace("${PYTHON_PREFIX}", get_python_lib(standard_lib=1, prefix=self.prefix)) - self.cmd = self.cmd.replace("${PREFIX}", "--prefix=%s" % self.prefix) - self.cmd = self.cmd.replace("${PREFIX_DIR}", "%s" % self.prefix) -+ self.cmd = self.cmd.replace("${PERL_VENDOR_LIB}", "--with-perl-vendorlib=%s/share/perl5" % self.prefix) - # if self.output_mime_type == "text/x-subunit": - # self.cmd += " | %s --immediate" % (os.path.join(os.path.dirname(__file__), "selftest/format-subunit")) - print '%s: [%s] Running %s' % (self.name, self.stage, self.cmd) --- -1.9.0 - - -From 7df60a7a5709ba7daf9cc6baf45e1b6074ddd384 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:54:09 +0100 -Subject: [PATCH 4/9] pidl-waf: Remove unused variable pidl_src. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - pidl/wscript | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/pidl/wscript b/pidl/wscript -index 7a25734..05d9982 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -26,9 +26,6 @@ def build(bld): - if not bld.CONFIG_SET('HAVE_PERL_MAKEMAKER'): - return - -- pidl_src = ['pidl'] -- pidl_src.extend(bld.path.ant_glob('lib/**/*.pm').split()) -- - pidl_manpages = { - 'pidl': 'man1/pidl.${PERLMAN1EXT}', - 'lib/Parse/Pidl/NDR.pm': 'man3/Parse::Pidl::NDR.${PERLMAN3EXT}', --- -1.9.0 - - -From 16f10c8a3f7ca8c3aeebd945c2ca2153f608d4ce Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:53:10 +0100 -Subject: [PATCH 5/9] pidl-waf: Install pidl modules to the perl vendorlib - directory. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - pidl/lib/wscript_build | 2 +- - pidl/wscript | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build -index eb5f1e0..67223a8 100644 ---- a/pidl/lib/wscript_build -+++ b/pidl/lib/wscript_build -@@ -1,4 +1,4 @@ - #!/usr/bin/env python - - # install the pidl modules --bld.INSTALL_WILDCARD('${DATAROOTDIR}/perl5', '**/*.pm', flat=False) -+bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False) -diff --git a/pidl/wscript b/pidl/wscript -index 05d9982..77abb01 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -8,6 +8,8 @@ def set_options(opt): - - def configure(conf): - conf.check_tool('perl') -+ conf.check_perl_ext_devel() -+ - # we need a recent version of MakeMaker to get the right man page names - if conf.CHECK_PERL_MANPAGE(): - conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1') --- -1.9.0 - - -From 410cb8e9235d956da1be1a38fda51c16b239ee11 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:55:46 +0100 -Subject: [PATCH 6/9] pidl-waf: Do not glob to install pidl modules. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - pidl/lib/wscript_build | 31 ++++++++++++++++++++++++++++++- - 1 file changed, 30 insertions(+), 1 deletion(-) - -diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build -index 67223a8..2d6e634 100644 ---- a/pidl/lib/wscript_build -+++ b/pidl/lib/wscript_build -@@ -1,4 +1,33 @@ - #!/usr/bin/env python - - # install the pidl modules --bld.INSTALL_WILDCARD(bld.env.PERL_VENDORLIB_DIR, '**/*.pm', flat=False) -+bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR, -+ ''' -+ Parse/Pidl.pm -+ Parse/Pidl/Samba4.pm -+ Parse/Pidl/CUtil.pm -+ Parse/Pidl/Expr.pm -+ Parse/Pidl/Wireshark/Conformance.pm -+ Parse/Pidl/Wireshark/NDR.pm -+ Parse/Pidl/ODL.pm -+ Parse/Pidl/Dump.pm -+ Parse/Pidl/Util.pm -+ Parse/Pidl/Samba4/Header.pm -+ Parse/Pidl/Samba4/COM/Header.pm -+ Parse/Pidl/Samba4/COM/Proxy.pm -+ Parse/Pidl/Samba4/COM/Stub.pm -+ Parse/Pidl/Samba4/TDR.pm -+ Parse/Pidl/Samba4/NDR/Server.pm -+ Parse/Pidl/Samba4/NDR/Client.pm -+ Parse/Pidl/Samba4/NDR/Parser.pm -+ Parse/Pidl/Samba4/Python.pm -+ Parse/Pidl/Samba4/Template.pm -+ Parse/Pidl/IDL.pm -+ Parse/Pidl/Typelist.pm -+ Parse/Pidl/Samba3/ClientNDR.pm -+ Parse/Pidl/Samba3/ServerNDR.pm -+ Parse/Pidl/Compat.pm -+ Parse/Pidl/NDR.pm -+ Parse/Yapp/Driver.pm -+ ''', -+ flat=False) --- -1.9.0 - - -From 51162d6acb0cc189e22f824bef80849687da13a5 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:59:41 +0100 -Subject: [PATCH 7/9] pidl-waf: Add a function to check for a system perl - module. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - pidl/wscript | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -diff --git a/pidl/wscript b/pidl/wscript -index 77abb01..2364391 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -3,6 +3,28 @@ - import os, sys, Logs - from samba_utils import MODE_755 - -+# This function checks if a perl module is installed on the system. -+def check_system_perl_module(conf, module, version=None): -+ bundle_name = module.replace('::', '_') -+ module_check = module -+ found = False -+ -+ # Create module string with version -+ if version: -+ module_check = module + ' ' + str(version) -+ -+ # Check if we have to bundle it. -+ if conf.LIB_MUST_BE_BUNDLED(bundle_name.lower()): -+ return False -+ -+ # Check for system perl module -+ if not conf.check_perl_module(module_check): -+ return False -+ -+ conf.define('USING_SYSTEM_%s' % bundle_name.upper(), 1) -+ -+ return True -+ - def set_options(opt): - opt.tool_options('perl') - --- -1.9.0 - - -From 093e4f863477b7a7458b8bc24e876d63d3b1c09d Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 15:59:45 +0100 -Subject: [PATCH 8/9] pidl-waf: Check for system perl(Parse::Yapp::Driver). - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher ---- - pidl/wscript | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/pidl/wscript b/pidl/wscript -index 2364391..4965870 100644 ---- a/pidl/wscript -+++ b/pidl/wscript -@@ -32,6 +32,9 @@ def configure(conf): - conf.check_tool('perl') - conf.check_perl_ext_devel() - -+ # Check if perl(Parse::Yapp::Driver) is available. -+ check_system_perl_module(conf, "Parse::Yapp::Driver", 1.05) -+ - # we need a recent version of MakeMaker to get the right man page names - if conf.CHECK_PERL_MANPAGE(): - conf.env.PERLMAN1EXT = conf.CHECK_PERL_MANPAGE(section='1') --- -1.9.0 - - -From 446cd106908d497b5130b66aff9b1afa38c357b1 Mon Sep 17 00:00:00 2001 -From: Andreas Schneider -Date: Fri, 28 Feb 2014 16:00:54 +0100 -Subject: [PATCH 9/9] pidl-waf: Only install Yapp::Driver if it is not - available. - -Signed-off-by: Andreas Schneider -Reviewed-by: Stefan Metzmacher - -Autobuild-User(master): Stefan Metzmacher -Autobuild-Date(master): Thu Mar 6 23:30:47 CET 2014 on sn-devel-104 ---- - pidl/lib/wscript_build | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/pidl/lib/wscript_build b/pidl/lib/wscript_build -index 2d6e634..5023e07 100644 ---- a/pidl/lib/wscript_build -+++ b/pidl/lib/wscript_build -@@ -28,6 +28,10 @@ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR, - Parse/Pidl/Samba3/ServerNDR.pm - Parse/Pidl/Compat.pm - Parse/Pidl/NDR.pm -- Parse/Yapp/Driver.pm - ''', - flat=False) -+ -+if not bld.CONFIG_SET('USING_SYSTEM_PARSE_YAPP_DRIVER'): -+ bld.INSTALL_FILES(bld.env.PERL_VENDORLIB_DIR, -+ 'Parse/Yapp/Driver.pm', -+ flat=False) --- -1.9.0 - diff --git a/samba.spec b/samba.spec index 04e51c7..e2f55cb 100644 --- a/samba.spec +++ b/samba.spec @@ -3,7 +3,7 @@ %define main_release 3 -%define samba_version 4.1.6 +%define samba_version 4.1.8 %define talloc_version 2.0.8 %define ntdb_version 0.9 %define tdb_version 1.2.12 @@ -54,7 +54,7 @@ Name: samba Version: %{samba_version} -Release: %{samba_release}.1 +Release: %{samba_release} %if 0%{?rhel} Epoch: 0 @@ -85,9 +85,6 @@ Source6: samba.pamd Source200: README.dc Source201: README.downgrade -Patch0: samba-4.1.7-fix_pidl_install.patch -Patch1: samba-4.1.7-Make_daemons_systemd_aware.patch - BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) Requires(pre): /usr/sbin/groupadd @@ -506,9 +503,6 @@ module necessary to communicate to the Winbind Daemon %prep %setup -q -n samba-%{version}%{pre_release} -%patch0 -p1 -b .samba-4.1.7-fix_pidl_install.patch -%patch1 -p1 -b .samba-4.1.7-Make_daemons_systemd_aware.patch - %build %global _talloc_lib ,talloc,pytalloc,pytalloc-util %global _tevent_lib ,tevent,pytevent @@ -561,7 +555,7 @@ LDFLAGS="-Wl,-z,relro,-z,now" \ --with-pammodulesdir=%{_libdir}/security \ --with-lockdir=/var/lib/samba \ --with-cachedir=/var/lib/samba \ - --with-perl-vendorlib=%{perl_vendorlib} \ + --with-perl-lib-install-dir=%{perl_vendorlib} \ --disable-gnutls \ --disable-rpath-install \ --with-shared-modules=%{_samba4_modules} \ @@ -1578,6 +1572,9 @@ rm -rf %{buildroot} %{_mandir}/man8/pam_winbind.8* %changelog +* Wed Jun 11 2014 - Guenther Deschner - 4.1.8-3 +- Update to Samba 4.1.8. + * Sun Jun 08 2014 Fedora Release Engineering - 2:4.1.6-3.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 121a4b5..6ce8976 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7582949c08882fcef42faddf6262d6d7 samba-4.1.6.tar.xz +1e59fbf06dcb77bd9bee02f04e1d77d2 samba-4.1.8.tar.xz