From 197c25487e73bc9641877a2fc4100d39a0962d56 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 20 Jun 2008 11:03:12 +0200 Subject: smbd: make sure the parent smbd stays alive forever The problem was that the parent smbd doesn't have any event when the process model standard was in use. Now we always add an fd event for stdin, but may not ask for any events to trigger. metze (This used to be commit fa6c00734ccf9bfe7a962253ddb5e2a1722c9b09) --- source4/smbd/server.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'source4') diff --git a/source4/smbd/server.c b/source4/smbd/server.c index 74c87c68a4..5bd5568913 100644 --- a/source4/smbd/server.c +++ b/source4/smbd/server.c @@ -202,6 +202,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ init_module_fn static_init[] = { STATIC_smbd_MODULES }; init_module_fn *shared_init; struct event_context *event_ctx; + uint16_t stdin_event_flags; NTSTATUS status; const char *model = "standard"; int max_runtime = 0; @@ -324,15 +325,20 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ cluster_ctdb_init(cmdline_lp_ctx, event_ctx, model); if (opt_interactive) { - /* catch EOF on stdin */ -#ifdef SIGTTIN - signal(SIGTTIN, SIG_IGN); -#endif - event_add_fd(event_ctx, event_ctx, 0, EVENT_FD_READ, - server_stdin_handler, - discard_const(binary_name)); + /* terminate when stdin goes away */ + stdin_event_flags = EVENT_FD_READ; + } else { + /* stay alive forever */ + stdin_event_flags = 0; } + /* catch EOF on stdin */ +#ifdef SIGTTIN + signal(SIGTTIN, SIG_IGN); +#endif + event_add_fd(event_ctx, event_ctx, 0, stdin_event_flags, + server_stdin_handler, + discard_const(binary_name)); if (max_runtime) { event_add_timed(event_ctx, event_ctx, -- cgit From 1dca64e26a1d79ec0311d340df1f07d9158fbbae Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Wed, 30 Apr 2008 08:15:34 +0200 Subject: wbinfo: Output string for sid type in lookupsid. (This used to be commit 8b4c7fb200598b7f747fc681f76d464760f693ee) --- source4/nsswitch/wbinfo.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'source4') diff --git a/source4/nsswitch/wbinfo.c b/source4/nsswitch/wbinfo.c index 21c178cc7b..150d9a68ee 100644 --- a/source4/nsswitch/wbinfo.c +++ b/source4/nsswitch/wbinfo.c @@ -614,6 +614,23 @@ static bool wbinfo_sid_to_gid(char *sid) return true; } +static const char *sid_type_lookup(enum lsa_SidType r) +{ + switch (r) { + case SID_NAME_USE_NONE: return "SID_NAME_USE_NONE"; break; + case SID_NAME_USER: return "SID_NAME_USER"; break; + case SID_NAME_DOM_GRP: return "SID_NAME_DOM_GRP"; break; + case SID_NAME_DOMAIN: return "SID_NAME_DOMAIN"; break; + case SID_NAME_ALIAS: return "SID_NAME_ALIAS"; break; + case SID_NAME_WKN_GRP: return "SID_NAME_WKN_GRP"; break; + case SID_NAME_DELETED: return "SID_NAME_DELETED"; break; + case SID_NAME_INVALID: return "SID_NAME_INVALID"; break; + case SID_NAME_UNKNOWN: return "SID_NAME_UNKNOWN"; break; + case SID_NAME_COMPUTER: return "SID_NAME_COMPUTER"; break; + } + return "Invalid sid type\n"; +} + /* Convert sid to string */ static bool wbinfo_lookupsid(char *sid) @@ -634,30 +651,13 @@ static bool wbinfo_lookupsid(char *sid) /* Display response */ - d_printf("%s%c%s %d\n", response.data.name.dom_name, - winbind_separator(), response.data.name.name, - response.data.name.type); + d_printf("%s%c%s %s\n", response.data.name.dom_name, + winbind_separator(), response.data.name.name, + sid_type_lookup(response.data.name.type)); return true; } -static const char *sid_type_lookup(enum lsa_SidType r) -{ - switch (r) { - case SID_NAME_USE_NONE: return "SID_NAME_USE_NONE"; break; - case SID_NAME_USER: return "SID_NAME_USER"; break; - case SID_NAME_DOM_GRP: return "SID_NAME_DOM_GRP"; break; - case SID_NAME_DOMAIN: return "SID_NAME_DOMAIN"; break; - case SID_NAME_ALIAS: return "SID_NAME_ALIAS"; break; - case SID_NAME_WKN_GRP: return "SID_NAME_WKN_GRP"; break; - case SID_NAME_DELETED: return "SID_NAME_DELETED"; break; - case SID_NAME_INVALID: return "SID_NAME_INVALID"; break; - case SID_NAME_UNKNOWN: return "SID_NAME_UNKNOWN"; break; - case SID_NAME_COMPUTER: return "SID_NAME_COMPUTER"; break; - } - return "Invalid sid type\n"; -} - /* Convert string to sid */ static bool wbinfo_lookupname(char *name) -- cgit From 6ba3cffb481506bf3dc8921fbf4586c4094ed767 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 16:51:37 +0200 Subject: Revert "Remove the dependency on $(abspath) in makefiles" This reverts commit c85a3632623184cb97c2e8567ca77834e81070a4. (This used to be commit 1a771c664444ff43e141238f473273700b392aa7) --- source4/heimdal_build/asn1_deps.pl | 3 +-- source4/heimdal_build/et_deps.pl | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'source4') diff --git a/source4/heimdal_build/asn1_deps.pl b/source4/heimdal_build/asn1_deps.pl index 80334328fc..6121781760 100755 --- a/source4/heimdal_build/asn1_deps.pl +++ b/source4/heimdal_build/asn1_deps.pl @@ -6,7 +6,6 @@ # GPL use File::Basename; -use Cwd 'getcwd'; my $file = shift; my $prefix = shift; @@ -32,7 +31,7 @@ my $header = "$dirname/$prefix.h"; print "$header: \$(heimdalsrcdir)/$file \$(ASN1C)\n"; print "\t\@echo \"Compiling ASN1 file \$(heimdalsrcdir)/$file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) " . getcwd() . "/\$(heimdalsrcdir)/$file $prefix $options\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) \$(abspath \$(heimdalsrcdir)/$file) $prefix $options\n\n"; open(IN,"heimdal/$file") or die("Can't open heimdal/$file: $!"); my @lines = ; diff --git a/source4/heimdal_build/et_deps.pl b/source4/heimdal_build/et_deps.pl index 5deabe82b5..6a0485bb54 100755 --- a/source4/heimdal_build/et_deps.pl +++ b/source4/heimdal_build/et_deps.pl @@ -1,7 +1,6 @@ #!/usr/bin/perl use File::Basename; -use Cwd 'getcwd'; my $file = shift; my $dirname = shift; @@ -11,7 +10,7 @@ my $header = "$dirname/$basename"; $header =~ s/\.et$/.h/; my $source = "$dirname/$basename"; $source =~ s/\.et$/.c/; print "$header $source: \$(heimdalsrcdir)/$file \$(ET_COMPILER)\n"; print "\t\@echo \"Compiling error table $file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) " . getcwd() . "/\$(heimdalsrcdir)/$file $source\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) \$(abspath \$(heimdalsrcdir)/$file) $source\n\n"; print "clean:: \n"; print "\t\@rm -f $header $source\n\n"; -- cgit From 18ba7d76799d6a8a2a9f1ab2620649783a774653 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 17:12:19 +0200 Subject: Use workaround for $(abspath) (This used to be commit 21b4d017a2cccdaa6ab4ed32409f19c612293fd0) --- source4/build/make/templates.mk | 3 +++ source4/heimdal_build/asn1_deps.pl | 2 +- source4/heimdal_build/et_deps.pl | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'source4') diff --git a/source4/build/make/templates.mk b/source4/build/make/templates.mk index 41a7ccd0a5..25bdde09b4 100644 --- a/source4/build/make/templates.mk +++ b/source4/build/make/templates.mk @@ -106,3 +106,6 @@ uninstallplugins:: @-rm $$(DESTDIR)$$(modulesdir)/$(1)/$(2) endef + +# abspath for older makes +abspath := $(shell cd $(1); pwd) diff --git a/source4/heimdal_build/asn1_deps.pl b/source4/heimdal_build/asn1_deps.pl index 6121781760..6b7181c4dd 100755 --- a/source4/heimdal_build/asn1_deps.pl +++ b/source4/heimdal_build/asn1_deps.pl @@ -31,7 +31,7 @@ my $header = "$dirname/$prefix.h"; print "$header: \$(heimdalsrcdir)/$file \$(ASN1C)\n"; print "\t\@echo \"Compiling ASN1 file \$(heimdalsrcdir)/$file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) \$(abspath \$(heimdalsrcdir)/$file) $prefix $options\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/asn1_compile_wrapper.sh \$(builddir) $dirname \$(ASN1C) \$(call abspath,\$(heimdalsrcdir)/$file) $prefix $options\n\n"; open(IN,"heimdal/$file") or die("Can't open heimdal/$file: $!"); my @lines = ; diff --git a/source4/heimdal_build/et_deps.pl b/source4/heimdal_build/et_deps.pl index 6a0485bb54..5032d471c7 100755 --- a/source4/heimdal_build/et_deps.pl +++ b/source4/heimdal_build/et_deps.pl @@ -10,7 +10,7 @@ my $header = "$dirname/$basename"; $header =~ s/\.et$/.h/; my $source = "$dirname/$basename"; $source =~ s/\.et$/.c/; print "$header $source: \$(heimdalsrcdir)/$file \$(ET_COMPILER)\n"; print "\t\@echo \"Compiling error table $file\"\n"; -print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) \$(abspath \$(heimdalsrcdir)/$file) $source\n\n"; +print "\t\@\$(heimdalbuildsrcdir)/et_compile_wrapper.sh \$(builddir) $dirname \$(ET_COMPILER) \$(call abspath,\$(heimdalsrcdir)/$file) $source\n\n"; print "clean:: \n"; print "\t\@rm -f $header $source\n\n"; -- cgit From 456c3b760f02577c33e6c9ee8dc30d545d2e0ce4 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 17:24:38 +0200 Subject: Undefine HAVE_KRB5_ENCRYPT_BLOCK because Heimdal really doesn't have it. (This used to be commit 55a6e852c77ffb91d2e0a0503dab06214f675db8) --- source4/heimdal_build/config.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source4') diff --git a/source4/heimdal_build/config.h b/source4/heimdal_build/config.h index e2c735a65f..38cdfbb6a6 100644 --- a/source4/heimdal_build/config.h +++ b/source4/heimdal_build/config.h @@ -21,4 +21,6 @@ #define HDB_DB_DIR "" +#undef HAVE_KRB5_ENCRYPT_BLOCK + #endif -- cgit From 750297a6d9057e2b4c2c7cabfc7c5748290bc351 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 19:04:03 +0200 Subject: Use ldbsrcdir rather than ldbdir. (This used to be commit a422c6c5ff47f36ef3376f54e707561c6a53ac23) --- source4/lib/ldb/ldb_ildap/config.mk | 2 +- source4/lib/ldb/tools/config.mk | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) (limited to 'source4') diff --git a/source4/lib/ldb/ldb_ildap/config.mk b/source4/lib/ldb/ldb_ildap/config.mk index 94e3380038..99e101f35a 100644 --- a/source4/lib/ldb/ldb_ildap/config.mk +++ b/source4/lib/ldb/ldb_ildap/config.mk @@ -9,5 +9,5 @@ ALIASES = ldapi ldaps ldap # End MODULE ldb_ildap ################################################ -ldb_ildap_OBJ_FILES = $(ldbdir)/ldb_ildap/ldb_ildap.o +ldb_ildap_OBJ_FILES = $(ldbsrcdir)/ldb_ildap/ldb_ildap.o diff --git a/source4/lib/ldb/tools/config.mk b/source4/lib/ldb/tools/config.mk index 051fd0c57b..6b57929df0 100644 --- a/source4/lib/ldb/tools/config.mk +++ b/source4/lib/ldb/tools/config.mk @@ -1,13 +1,13 @@ ################################################ # Start SUBSYSTEM LIBLDB_CMDLINE [SUBSYSTEM::LIBLDB_CMDLINE] -CFLAGS = -I$(ldbdir) -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir) -I$(ldbsrcdir)/include PUBLIC_DEPENDENCIES = LIBLDB LIBPOPT PRIVATE_DEPENDENCIES = LIBSAMBA-UTIL POPT_SAMBA POPT_CREDENTIALS gensec # End SUBSYSTEM LIBLDB_CMDLINE ################################################ -LIBLDB_CMDLINE_OBJ_FILES = $(ldbdir)/tools/cmdline.o +LIBLDB_CMDLINE_OBJ_FILES = $(ldbsrcdir)/tools/cmdline.o ################################################ # Start BINARY ldbadd @@ -19,9 +19,9 @@ PRIVATE_DEPENDENCIES = \ ################################################ -ldbadd_OBJ_FILES = $(ldbdir)/tools/ldbadd.o +ldbadd_OBJ_FILES = $(ldbsrcdir)/tools/ldbadd.o -MANPAGES += $(ldbdir)/man/ldbadd.1 +MANPAGES += $(ldbsrcdir)/man/ldbadd.1 ################################################ # Start BINARY ldbdel @@ -32,9 +32,9 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbdel ################################################ -ldbdel_OBJ_FILES = $(ldbdir)/tools/ldbdel.o +ldbdel_OBJ_FILES = $(ldbsrcdir)/tools/ldbdel.o -MANPAGES += $(ldbdir)/man/ldbdel.1 +MANPAGES += $(ldbsrcdir)/man/ldbdel.1 ################################################ # Start BINARY ldbmodify @@ -45,8 +45,8 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbmodify ################################################ -ldbmodify_OBJ_FILES = $(ldbdir)/tools/ldbmodify.o -MANPAGES += $(ldbdir)/man/ldbmodify.1 +ldbmodify_OBJ_FILES = $(ldbsrcdir)/tools/ldbmodify.o +MANPAGES += $(ldbsrcdir)/man/ldbmodify.1 ################################################ # Start BINARY ldbsearch @@ -57,9 +57,9 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbsearch ################################################ -ldbsearch_OBJ_FILES = $(ldbdir)/tools/ldbsearch.o +ldbsearch_OBJ_FILES = $(ldbsrcdir)/tools/ldbsearch.o -MANPAGES += $(ldbdir)/man/ldbsearch.1 +MANPAGES += $(ldbsrcdir)/man/ldbsearch.1 ################################################ # Start BINARY ldbedit @@ -70,9 +70,9 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbedit ################################################ -ldbedit_OBJ_FILES = $(ldbdir)/tools/ldbedit.o +ldbedit_OBJ_FILES = $(ldbsrcdir)/tools/ldbedit.o -MANPAGES += $(ldbdir)/man/ldbedit.1 +MANPAGES += $(ldbsrcdir)/man/ldbedit.1 ################################################ # Start BINARY ldbrename @@ -83,8 +83,8 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbrename ################################################ -ldbrename_OBJ_FILES = $(ldbdir)/tools/ldbrename.o +ldbrename_OBJ_FILES = $(ldbsrcdir)/tools/ldbrename.o -MANPAGES += $(ldbdir)/man/ldbrename.1 +MANPAGES += $(ldbsrcdir)/man/ldbrename.1 -- cgit From da5c4143f8e80d522880bc8dedef6387e17429f6 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 19:06:59 +0200 Subject: Use variable for popt source dir. (This used to be commit effc25e805facea001ebd64d383f1a536c61d0e3) --- source4/Makefile | 1 + source4/lib/popt/config.mk | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'source4') diff --git a/source4/Makefile b/source4/Makefile index 37d601f4f3..1889ba2d5e 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -71,6 +71,7 @@ smbreadlinesrcdir := lib/smbreadline libmessagingsrcdir := lib/messaging libeventssrcdir := lib/events libcmdlinesrcdir := lib/cmdline +poptsrcdir := lib/popt socketwrappersrcdir := lib/socket_wrapper nsswrappersrcdir := lib/nss_wrapper appwebsrcdir := lib/appweb diff --git a/source4/lib/popt/config.mk b/source4/lib/popt/config.mk index 86d440ac78..e015577aea 100644 --- a/source4/lib/popt/config.mk +++ b/source4/lib/popt/config.mk @@ -1,5 +1,5 @@ [SUBSYSTEM::LIBPOPT] CFLAGS = -Ilib/popt -LIBPOPT_OBJ_FILES = $(addprefix lib/popt/, findme.o popt.o poptconfig.o popthelp.o poptparse.o) +LIBPOPT_OBJ_FILES = $(addprefix $(poptsrcdir)/, findme.o popt.o poptconfig.o popthelp.o poptparse.o) -- cgit From 70ebd680b3d0f3c2cdb2aa692f08286026abe3de Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 19:39:50 +0200 Subject: Use ldbsrcdir rather than ldbdir. (This used to be commit 25f500d2233198b88c1d54268f5f6f461cea75d9) --- source4/lib/ldb/config.mk | 62 +++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 31 deletions(-) (limited to 'source4') diff --git a/source4/lib/ldb/config.mk b/source4/lib/ldb/config.mk index 40b4e31cc7..36a5870a3e 100644 --- a/source4/lib/ldb/config.mk +++ b/source4/lib/ldb/config.mk @@ -2,11 +2,11 @@ # Start MODULE ldb_asq [MODULE::ldb_asq] PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include INIT_FUNCTION = LDB_MODULE(asq) SUBSYSTEM = LIBLDB -ldb_asq_OBJ_FILES = $(ldbdir)/modules/asq.o +ldb_asq_OBJ_FILES = $(ldbsrcdir)/modules/asq.o # End MODULE ldb_asq ################################################ @@ -14,113 +14,113 @@ ldb_asq_OBJ_FILES = $(ldbdir)/modules/asq.o # Start MODULE ldb_server_sort [MODULE::ldb_server_sort] PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include INIT_FUNCTION = LDB_MODULE(server_sort) SUBSYSTEM = LIBLDB # End MODULE ldb_sort ################################################ -ldb_server_sort_OBJ_FILES = $(ldbdir)/modules/sort.o +ldb_server_sort_OBJ_FILES = $(ldbsrcdir)/modules/sort.o ################################################ # Start MODULE ldb_paged_results [MODULE::ldb_paged_results] INIT_FUNCTION = LDB_MODULE(paged_results) -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SUBSYSTEM = LIBLDB # End MODULE ldb_paged_results ################################################ -ldb_paged_results_OBJ_FILES = $(ldbdir)/modules/paged_results.o +ldb_paged_results_OBJ_FILES = $(ldbsrcdir)/modules/paged_results.o ################################################ # Start MODULE ldb_paged_results [MODULE::ldb_paged_searches] INIT_FUNCTION = LDB_MODULE(paged_searches) -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS SUBSYSTEM = LIBLDB # End MODULE ldb_paged_results ################################################ -ldb_paged_searches_OBJ_FILES = $(ldbdir)/modules/paged_searches.o +ldb_paged_searches_OBJ_FILES = $(ldbsrcdir)/modules/paged_searches.o ################################################ # Start MODULE ldb_operational [MODULE::ldb_operational] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS INIT_FUNCTION = LDB_MODULE(operational) # End MODULE ldb_operational ################################################ -ldb_operational_OBJ_FILES = $(ldbdir)/modules/operational.o +ldb_operational_OBJ_FILES = $(ldbsrcdir)/modules/operational.o ################################################ # Start MODULE ldb_rdn_name [MODULE::ldb_rdn_name] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS INIT_FUNCTION = LDB_MODULE(rdn_name) # End MODULE ldb_rdn_name ################################################ -ldb_rdn_name_OBJ_FILES = $(ldbdir)/modules/rdn_name.o +ldb_rdn_name_OBJ_FILES = $(ldbsrcdir)/modules/rdn_name.o -ldb_map_OBJ_FILES = $(addprefix $(ldbdir)/ldb_map/, ldb_map_inbound.o ldb_map_outbound.o ldb_map.o) +ldb_map_OBJ_FILES = $(addprefix $(ldbsrcdir)/ldb_map/, ldb_map_inbound.o ldb_map_outbound.o ldb_map.o) -$(ldb_map_OBJ_FILES): CFLAGS+=-I$(ldbdir)/ldb_map +$(ldb_map_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)/ldb_map ################################################ # Start MODULE ldb_skel [MODULE::ldb_skel] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC LIBEVENTS INIT_FUNCTION = LDB_MODULE(skel) # End MODULE ldb_skel ################################################ -ldb_skel_OBJ_FILES = $(ldbdir)/modules/skel.o +ldb_skel_OBJ_FILES = $(ldbsrcdir)/modules/skel.o ################################################ # Start MODULE ldb_sqlite3 [MODULE::ldb_sqlite3] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include PRIVATE_DEPENDENCIES = LIBTALLOC SQLITE3 LIBEVENTS # End MODULE ldb_sqlite3 ################################################ -ldb_sqlite3_OBJ_FILES = $(ldbdir)/ldb_sqlite3/ldb_sqlite3.o +ldb_sqlite3_OBJ_FILES = $(ldbsrcdir)/ldb_sqlite3/ldb_sqlite3.o ################################################ # Start MODULE ldb_tdb [MODULE::ldb_tdb] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include -I$(ldbdir)/ldb_tdb +CFLAGS = -I$(ldbsrcdir)/include -I$(ldbsrcdir)/ldb_tdb PRIVATE_DEPENDENCIES = \ LIBTDB LIBTALLOC LIBEVENTS # End MODULE ldb_tdb ################################################ -ldb_tdb_OBJ_FILES = $(addprefix $(ldbdir)/ldb_tdb/, ldb_tdb.o ldb_search.o ldb_pack.o ldb_index.o ldb_cache.o ldb_tdb_wrap.o) +ldb_tdb_OBJ_FILES = $(addprefix $(ldbsrcdir)/ldb_tdb/, ldb_tdb.o ldb_search.o ldb_pack.o ldb_index.o ldb_cache.o ldb_tdb_wrap.o) ################################################ # Start SUBSYSTEM ldb [LIBRARY::LIBLDB] -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include INIT_FUNCTION_TYPE = extern const struct ldb_module_ops PUBLIC_DEPENDENCIES = \ LIBTALLOC LIBEVENTS PRIVATE_DEPENDENCIES = \ SOCKET_WRAPPER -PC_FILES += $(ldbdir)/ldb.pc +PC_FILES += $(ldbsrcdir)/ldb.pc # # End SUBSYSTEM ldb ################################################ @@ -128,13 +128,13 @@ PC_FILES += $(ldbdir)/ldb.pc LIBLDB_VERSION = 0.0.1 LIBLDB_SOVERSION = 0 -LIBLDB_OBJ_FILES = $(addprefix $(ldbdir)/common/, ldb.o ldb_ldif.o ldb_parse.o ldb_msg.o ldb_utf8.o ldb_debug.o ldb_modules.o ldb_match.o ldb_attributes.o attrib_handlers.o ldb_dn.o ldb_controls.o qsort.o) $(ldb_map_OBJ_FILES) +LIBLDB_OBJ_FILES = $(addprefix $(ldbsrcdir)/common/, ldb.o ldb_ldif.o ldb_parse.o ldb_msg.o ldb_utf8.o ldb_debug.o ldb_modules.o ldb_match.o ldb_attributes.o attrib_handlers.o ldb_dn.o ldb_controls.o qsort.o) $(ldb_map_OBJ_FILES) -$(LIBLDB_OBJ_FILES): CFLAGS+=-I$(ldbdir)/include +$(LIBLDB_OBJ_FILES): CFLAGS+=-I$(ldbsrcdir)/include -PUBLIC_HEADERS += $(ldbdir)/include/ldb.h $(ldbdir)/include/ldb_errors.h +PUBLIC_HEADERS += $(ldbsrcdir)/include/ldb.h $(ldbsrcdir)/include/ldb_errors.h -MANPAGES += $(ldbdir)/man/ldb.3 +MANPAGES += $(ldbsrcdir)/man/ldb.3 ################################################ # Start BINARY ldbtest @@ -144,7 +144,7 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ldbtest ################################################ -ldbtest_OBJ_FILES = $(ldbdir)/tools/ldbtest.o +ldbtest_OBJ_FILES = $(ldbsrcdir)/tools/ldbtest.o ################################################ # Start BINARY oLschema2ldif @@ -156,9 +156,9 @@ PRIVATE_DEPENDENCIES = \ ################################################ -oLschema2ldif_OBJ_FILES = $(addprefix $(ldbdir)/tools/, convert.o oLschema2ldif.o) +oLschema2ldif_OBJ_FILES = $(addprefix $(ldbsrcdir)/tools/, convert.o oLschema2ldif.o) -MANPAGES += $(ldbdir)/man/oLschema2ldif.1 +MANPAGES += $(ldbsrcdir)/man/oLschema2ldif.1 ################################################ # Start BINARY ad2oLschema @@ -169,9 +169,9 @@ PRIVATE_DEPENDENCIES = \ # End BINARY ad2oLschema ################################################ -ad2oLschema_OBJ_FILES = $(addprefix $(ldbdir)/tools/, convert.o ad2oLschema.o) +ad2oLschema_OBJ_FILES = $(addprefix $(ldbsrcdir)/tools/, convert.o ad2oLschema.o) -MANPAGES += $(ldbdir)/man/ad2oLschema.1 +MANPAGES += $(ldbsrcdir)/man/ad2oLschema.1 mkinclude tools/config.mk mkinclude ldb_ildap/config.mk -- cgit From aa8619dbeaef06b056629ce56224fe3b91bc7df0 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 19:58:41 +0200 Subject: Fix another reference to ldbdir. (This used to be commit 6416b637ea6570edd27eb8ef3005c408d311f3a3) --- source4/lib/ldb/ldb_ildap/config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source4') diff --git a/source4/lib/ldb/ldb_ildap/config.mk b/source4/lib/ldb/ldb_ildap/config.mk index 99e101f35a..4247bd96b7 100644 --- a/source4/lib/ldb/ldb_ildap/config.mk +++ b/source4/lib/ldb/ldb_ildap/config.mk @@ -2,7 +2,7 @@ # Start MODULE ldb_ildap [MODULE::ldb_ildap] SUBSYSTEM = LIBLDB -CFLAGS = -I$(ldbdir)/include +CFLAGS = -I$(ldbsrcdir)/include OUTPUT_TYPE = SHARED_LIBRARY PRIVATE_DEPENDENCIES = LIBTALLOC LIBCLI_LDAP CREDENTIALS ALIASES = ldapi ldaps ldap -- cgit From 9c6b7f760a17ef7fc55eac298e8778809ccc868e Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 25 Jun 2008 20:04:35 +0200 Subject: Use variable for selftest directory. (This used to be commit 78760606fa71c370ae3c05b077c5146166bdaa7b) --- source4/Makefile | 3 ++- source4/selftest/config.mk | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'source4') diff --git a/source4/Makefile b/source4/Makefile index 1889ba2d5e..8a8eef7b4d 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -290,7 +290,8 @@ data.mk: config.status $(MK_FILES) testcov-html:: include $(pidldir)/config.mk -include $(srcdir)/selftest/config.mk +selftestdir := $(srcdir)/selftest +include $(selftestdir)/config.mk showflags:: @echo ' pwd = '`/bin/pwd` diff --git a/source4/selftest/config.mk b/source4/selftest/config.mk index 2ae49b244b..871c14898f 100644 --- a/source4/selftest/config.mk +++ b/source4/selftest/config.mk @@ -1,6 +1,6 @@ TEST_FORMAT = plain -SELFTEST = $(LD_LIBPATH_OVERRIDE) $(PERL) $(srcdir)/selftest/selftest.pl --prefix=${selftest_prefix} \ +SELFTEST = $(LD_LIBPATH_OVERRIDE) $(PERL) $(selftestdir)/selftest.pl --prefix=${selftest_prefix} \ --builddir=$(builddir) --srcdir=$(srcdir) \ --expected-failures=$(srcdir)/samba4-knownfail \ --format=$(TEST_FORMAT) \ -- cgit From 4f4949a8f4d729e189e873f8f5b0161e875d3501 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 26 Jun 2008 10:11:49 +0200 Subject: Only try to detect the events lib dir if it wasn't set earlier. (This used to be commit 3f48f68800176d992a1bd9b6349f22ec152fc34a) --- source4/lib/events/libevents.m4 | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'source4') diff --git a/source4/lib/events/libevents.m4 b/source4/lib/events/libevents.m4 index 552dc7c43e..d17da64b32 100644 --- a/source4/lib/events/libevents.m4 +++ b/source4/lib/events/libevents.m4 @@ -1,16 +1,18 @@ dnl find the events sources. This is meant to work both for dnl standalone builds, and builds of packages using libevents -eventsdir="" -eventspaths="$srcdir $srcdir/lib/events $srcdir/events $srcdir/../events" -for d in $eventspaths; do - if test -f "$d/events.c"; then - eventsdir="$d" - AC_SUBST(eventsdir) - break; - fi -done if test x"$eventsdir" = "x"; then - AC_MSG_ERROR([cannot find libevents source in $eventspaths]) + eventsdir="" + eventspaths="$srcdir $srcdir/../samba4/source/lib/events $srcdir/lib/events $srcdir/events $srcdir/../events" + for d in $eventspaths; do + if test -f "$d/events.c"; then + eventsdir="$d" + AC_SUBST(eventsdir) + break; + fi + done + if test x"$eventsdir" = "x"; then + AC_MSG_ERROR([cannot find libevents source in $eventspaths]) + fi fi EVENTS_OBJ="events.o events_select.o events_signal.o events_timed.o events_standard.o events_debug.o events_util.o" -- cgit From 26e9194e3a3ff9b065fec43ad5f3b63187eb533b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 26 Jun 2008 10:56:59 +0200 Subject: Move blackbox tests closer to what they're testing. (This used to be commit c9b2e2aa861ccc01e5d92cfe468be1f6324ed294) --- source4/client/tests/test_cifsdd.sh | 73 +++++++++++++ source4/client/tests/test_smbclient.sh | 166 +++++++++++++++++++++++++++++ source4/nsswitch/tests/test_wbinfo.sh | 187 +++++++++++++++++++++++++++++++++ source4/selftest/samba4_tests.sh | 8 +- 4 files changed, 430 insertions(+), 4 deletions(-) create mode 100755 source4/client/tests/test_cifsdd.sh create mode 100755 source4/client/tests/test_smbclient.sh create mode 100755 source4/nsswitch/tests/test_wbinfo.sh (limited to 'source4') diff --git a/source4/client/tests/test_cifsdd.sh b/source4/client/tests/test_cifsdd.sh new file mode 100755 index 0000000000..08bfb25e80 --- /dev/null +++ b/source4/client/tests/test_cifsdd.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# Basic script to make sure that cifsdd can do both local and remote I/O. + +if [ $# -lt 4 ]; then +cat < /dev/null + +ls -l $sourcepath + +for bs in 512 4k 48k ; do + +echo "Testing $bs block size ..." + +# Check whether we can do local IO +runcopy "Testing local -> local copy" if=$sourcepath of=$destpath bs=$bs +compare "Checking local differences" $sourcepath $destpath + +# Check whether we can do a round trip +runcopy "Testing local -> remote copy" \ + if=$sourcepath of=//$SERVER/$SHARE/$sourcepath bs=$bs +runcopy "Testing remote -> local copy" \ + if=//$SERVER/$SHARE/$sourcepath of=$destpath bs=$bs +compare "Checking differences" $sourcepath $destpath + +# Check that copying within the remote server works +runcopy "Testing local -> remote copy" \ + if=//$SERVER/$SHARE/$sourcepath of=//$SERVER/$SHARE/$sourcepath bs=$bs +runcopy "Testing remote -> remote copy" \ + if=//$SERVER/$SHARE/$sourcepath of=//$SERVER/$SHARE/$destpath bs=$bs +runcopy "Testing remote -> local copy" \ + if=//$SERVER/$SHARE/$destpath of=$destpath bs=$bs +compare "Checking differences" $sourcepath $destpath + +done + +rm -f $sourcepath $destpath + +exit $failed diff --git a/source4/client/tests/test_smbclient.sh b/source4/client/tests/test_smbclient.sh new file mode 100755 index 0000000000..27a3488c88 --- /dev/null +++ b/source4/client/tests/test_smbclient.sh @@ -0,0 +1,166 @@ +#!/bin/sh +# Blackbox tests for smbclient +# Copyright (C) 2006-2007 Jelmer Vernooij +# Copyright (C) 2006-2007 Andrew Bartlett + +if [ $# -lt 5 ]; then +cat <tmpfile< tmpauthfile + +testit "Test login with --authentication-file" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp --authentication-file=tmpauthfile || failed=`expr $failed + 1` + +PASSWD_FILE="tmppassfile" +echo "$PASSWORD" > $PASSWD_FILE +export PASSWD_FILE +testit "Test login with PASSWD_FILE" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp -W "$DOMAIN" -U"$USERNAME" || failed=`expr $failed + 1` +PASSWD_FILE="" +export PASSWD_FILE +unset PASSWD_FILE + +PASSWD="$PASSWORD" +export PASSWD +testit "Test login with PASSWD" $VALGRIND $smbclient -c 'ls' $CONFIGURATION //$SERVER/tmp -W "$DOMAIN" -U"$USERNAME" || failed=`expr $failed + 1` + +oldUSER=$USER +USER="$USERNAME" +export USER +testit "Test login with USER and PASSWD" $VALGRIND $smbclient -k no -c 'ls' $CONFIGURATION //$SERVER/tmp -W "$DOMAIN" || failed=`expr $failed + 1` +PASSWD= +export PASSWD +unset PASSWD +USER=$oldUSER +export USER + +rm -f tmpfile tmpfile-old tmpfilex tmpauthfile tmppassfile +exit $failed diff --git a/source4/nsswitch/tests/test_wbinfo.sh b/source4/nsswitch/tests/test_wbinfo.sh new file mode 100755 index 0000000000..dfd633b656 --- /dev/null +++ b/source4/nsswitch/tests/test_wbinfo.sh @@ -0,0 +1,187 @@ +#!/bin/sh +# Blackbox test for wbinfo +if [ $# -lt 4 ]; then +cat < Date: Thu, 26 Jun 2008 11:39:59 +0200 Subject: Use make template for installing binaries. (This used to be commit 3fb35fc03d5cfb48d0d4f51564ef76e99e74f81c) --- source4/Makefile | 17 --------------- source4/build/make/rules.mk | 2 -- source4/build/make/templates.mk | 42 +++++++++++++++++++++++++++++++++++++ source4/build/smb_build/makefile.pm | 9 ++++---- 4 files changed, 46 insertions(+), 24 deletions(-) (limited to 'source4') diff --git a/source4/Makefile b/source4/Makefile index 8a8eef7b4d..1a1a56fc63 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -106,8 +106,6 @@ ntp_signdsrcdir := ntp_signd include data.mk -BINARIES += $(BIN_PROGS) $(SBIN_PROGS) - pythonmods:: $(PYTHON_PYS) $(PYTHON_SO) DEP_FILES = $(patsubst %.ho,%.hd,$(patsubst %.o,%.d,$(ALL_OBJS))) \ @@ -136,7 +134,6 @@ endif DEFAULT_HEADERS = $(srcdir)/lib/util/dlinklist.h \ $(srcdir)/version.h -binaries:: $(BINARIES) libraries:: $(STATIC_LIBS) $(SHARED_LIBS) modules:: $(PLUGINS) headers:: $(PUBLIC_HEADERS) $(DEFAULT_HEADERS) @@ -213,20 +210,6 @@ installdirs:: $(DESTDIR)$(sysconfdir) \ installbin:: $(SBIN_PROGS) $(BIN_PROGS) $(TORTURE_PROGS) installdirs - @$(SHELL) $(srcdir)/script/installbin.sh \ - $(INSTALLPERMS) \ - $(DESTDIR)$(BASEDIR) \ - $(DESTDIR)$(sbindir) \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(localstatedir) \ - $(SBIN_PROGS) - @$(SHELL) $(srcdir)/script/installbin.sh \ - $(INSTALLPERMS) \ - $(DESTDIR)$(BASEDIR) \ - $(DESTDIR)$(bindir) \ - $(DESTDIR)$(libdir) \ - $(DESTDIR)$(localstatedir) \ - $(BIN_PROGS) @$(SHELL) $(srcdir)/script/installtorture.sh \ $(INSTALLPERMS) \ $(DESTDIR)$(TORTUREDIR) \ diff --git a/source4/build/make/rules.mk b/source4/build/make/rules.mk index 27a214459a..f8df8f0b53 100644 --- a/source4/build/make/rules.mk +++ b/source4/build/make/rules.mk @@ -43,8 +43,6 @@ clean:: clean_pch @-find . -name '*.o' -exec rm -f '{}' \; @echo Removing hostcc objects @-find . -name '*.ho' -exec rm -f '{}' \; - @echo Removing binaries - @-rm -f $(BIN_PROGS) $(SBIN_PROGS) $(BINARIES) $(TORTURE_PROGS) @echo Removing libraries @-rm -f $(STATIC_LIBS) $(SHARED_LIBS) @-rm -f bin/static/*.a bin/shared/*.$(SHLIBEXT) bin/mergedobj/*.o diff --git a/source4/build/make/templates.mk b/source4/build/make/templates.mk index 25bdde09b4..eb6b584af2 100644 --- a/source4/build/make/templates.mk +++ b/source4/build/make/templates.mk @@ -22,6 +22,12 @@ define binary_link_template $(1): $(2) ; @echo Linking $$@ @$$(BNLD) $$(BNLD_FLAGS) $$(INTERN_LDFLAGS) -o $$@ $$(INSTALL_LINK_FLAGS) $(3) + +clean:: + @rm -f $(1) + +binaries:: $(1) + endef # Link a host-machine binary @@ -30,6 +36,12 @@ define host_binary_link_template $(1): $(2) ; @echo Linking $$@ @$$(HOSTLD) $$(HOSTLD_FLAGS) -L$${builddir}/bin/static -o $$@ $$(INSTALL_LINK_FLAGS) $(3) + +clean:: + rm -f $(1) + +binaries:: $(1) + endef # Create a prototype header @@ -109,3 +121,33 @@ endef # abspath for older makes abspath := $(shell cd $(1); pwd) + +define binary_install_template +inst@allbin:: $(1) installdirs + @mkdir -p $$(DESTDIR)$$(bindir) + @$$(SHELL) $$(srcdir)/script/installbin.sh \ + $$(INSTALLPERMS) \ + $$(DESTDIR)$$(BASEDIR) \ + $$(DESTDIR)$$(bindir) \ + $$(DESTDIR)$$(libdir) \ + $$(DESTDIR)$$(localstatedir) \ + $$< + +uninstallbin:: + @rm -f $$(DESTDIR)$$(bindir)/$(1) +endef + +define sbinary_install_template +installsbin:: $(1) installdirs + @mkdir -p $$(DESTDIR)$$(sbindir) + @$$(SHELL) $$(srcdir)/script/installbin.sh \ + $$(INSTALLPERMS) \ + $$(DESTDIR)$$(BASEDIR) \ + $$(DESTDIR)$$(sbindir) \ + $$(DESTDIR)$$(libdir) \ + $$(DESTDIR)$$(localstatedir) \ + $$< + +uninstallsbin:: + @rm -f $$(DESTDIR)$$(sbindir)/$(1) +endef diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 0ea31062f7..d9cbca0614 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -196,11 +196,10 @@ sub Binary($$) my ($self,$ctx) = @_; unless (defined($ctx->{INSTALLDIR})) { - $self->output("BINARIES += $ctx->{TARGET_BINARY}\n"); } elsif ($ctx->{INSTALLDIR} eq "SBINDIR") { - $self->output("SBIN_PROGS += $ctx->{RESULT_BINARY}\n"); + $self->output("\$(eval \$(call sbinary_install_template,$ctx->{RESULT_BINARY}))\n"); } elsif ($ctx->{INSTALLDIR} eq "BINDIR") { - $self->output("BIN_PROGS += $ctx->{RESULT_BINARY}\n"); + $self->output("\$(eval \$(call binary_install_template,$ctx->{RESULT_BINARY}))\n"); } $self->_prepare_list($ctx, "FULL_OBJ_LIST"); @@ -208,9 +207,9 @@ sub Binary($$) $self->_prepare_list($ctx, "LINK_FLAGS"); if (defined($ctx->{USE_HOSTCC}) && $ctx->{USE_HOSTCC} eq "YES") { -$self->output("\$(call host_binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n"); +$self->output("\$(eval \$(call host_binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS)))\n"); } else { -$self->output("\$(call binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS))\n"); +$self->output("\$(eval \$(call binary_link_template, $ctx->{RESULT_BINARY}, \$($ctx->{NAME}_FULL_OBJ_LIST) \$($ctx->{NAME}_DEPEND_LIST), \$($ctx->{NAME}_LINK_FLAGS)))\n"); } } -- cgit From d4172dac2c122bc2cf5f419d5687168468a9a141 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Thu, 26 Jun 2008 11:51:22 +0200 Subject: Use make magic for installing/uninstalling binaries. (This used to be commit 97b724417fc8110f7c591779b0c17bd072be304f) --- source4/Makefile | 14 ++++++++++++++ source4/build/make/templates.mk | 26 +++++++------------------ source4/script/installbin.sh | 40 --------------------------------------- source4/script/uninstallbin.sh | 42 ----------------------------------------- 4 files changed, 21 insertions(+), 101 deletions(-) delete mode 100755 source4/script/installbin.sh delete mode 100755 source4/script/uninstallbin.sh (limited to 'source4') diff --git a/source4/Makefile b/source4/Makefile index 1a1a56fc63..3c2efe35af 100644 --- a/source4/Makefile +++ b/source4/Makefile @@ -246,6 +246,20 @@ uninstall:: uninstallbin uninstallman uninstallmisc uninstalllib uninstallheader uninstallmisc:: #FIXME +$(DESTDIR)$(bindir)/%: bin/% installdirs + @mkdir -p $(@D) + @echo Installing $(@F) as $@ + @if test -f $@; then; rm -f $@.old; mv $@ $@.old; fi + @cp $< $@ + @chmod $(INSTALLPERMS) $@ + +$(DESTDIR)$(sbindir)/%: bin/% installdirs + @mkdir -p $(@D) + @echo Installing $(@F) as $@ + @if test -f $@; then; rm -f $@.old; mv $@ $@.old; fi + @cp $< $@ + @chmod $(INSTALLPERMS) $@ + uninstallbin:: @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(libdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(SBIN_PROGS) @$(SHELL) $(srcdir)/script/uninstallbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(localstatedir) $(DESTDIR)$(BIN_PROGS) diff --git a/source4/build/make/templates.mk b/source4/build/make/templates.mk index eb6b584af2..d4973e7dd6 100644 --- a/source4/build/make/templates.mk +++ b/source4/build/make/templates.mk @@ -122,32 +122,20 @@ endef # abspath for older makes abspath := $(shell cd $(1); pwd) +# Install a binary +# Arguments: path to binary to install define binary_install_template -inst@allbin:: $(1) installdirs - @mkdir -p $$(DESTDIR)$$(bindir) - @$$(SHELL) $$(srcdir)/script/installbin.sh \ - $$(INSTALLPERMS) \ - $$(DESTDIR)$$(BASEDIR) \ - $$(DESTDIR)$$(bindir) \ - $$(DESTDIR)$$(libdir) \ - $$(DESTDIR)$$(localstatedir) \ - $$< - +installbin:: $$(DESTDIR)$$(bindir)/$(notdir $(1)) + uninstallbin:: + @echo "Removing $(notdir $(1))" @rm -f $$(DESTDIR)$$(bindir)/$(1) endef define sbinary_install_template -installsbin:: $(1) installdirs - @mkdir -p $$(DESTDIR)$$(sbindir) - @$$(SHELL) $$(srcdir)/script/installbin.sh \ - $$(INSTALLPERMS) \ - $$(DESTDIR)$$(BASEDIR) \ - $$(DESTDIR)$$(sbindir) \ - $$(DESTDIR)$$(libdir) \ - $$(DESTDIR)$$(localstatedir) \ - $$< +installsbin:: $$(DESTDIR)$$(sbindir)/$(notdir $(1)) installdirs uninstallsbin:: + @echo "Removing $(notdir $(1))" @rm -f $$(DESTDIR)$$(sbindir)/$(1) endef diff --git a/source4/script/installbin.sh b/source4/script/installbin.sh deleted file mode 100755 index c2f34082dd..0000000000 --- a/source4/script/installbin.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -INSTALLPERMS=$1 -BASEDIR=$2 -BINDIR=$3 -LIBDIR=$4 -VARDIR=$5 -shift -shift -shift -shift -shift - -for p in $*; do - p2=`basename $p` - echo Installing $p as $BINDIR/$p2 - if [ -f $BINDIR/$p2 ]; then - rm -f $BINDIR/$p2.old - mv $BINDIR/$p2 $BINDIR/$p2.old - fi - cp $p $BINDIR/ - chmod $INSTALLPERMS $BINDIR/$p2 - - # this is a special case, mount needs this in a specific location - if [ $p2 = smbmount ]; then - ln -sf $BINDIR/$p2 /sbin/mount.smbfs - fi -done - - -cat << EOF -====================================================================== -The binaries are installed. You may restore the old binaries (if there -were any) using the command "make revert". You may uninstall the binaries -using the command "make uninstallbin" or "make uninstall" to uninstall -binaries, man pages and shell scripts. -====================================================================== -EOF - -exit 0 diff --git a/source4/script/uninstallbin.sh b/source4/script/uninstallbin.sh deleted file mode 100755 index a8bbdea7af..0000000000 --- a/source4/script/uninstallbin.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -#4 July 96 Dan.Shearer@UniSA.edu.au - -INSTALLPERMS=$1 -BASEDIR=$2 -BINDIR=$3 -LIBDIR=$4 -VARDIR=$5 -shift -shift -shift -shift -shift - -if [ ! -d $BINDIR ]; then - echo Directory $BINDIR does not exist! - echo Do a "make installbin" or "make install" first. - exit 1 -fi - -for p in $*; do - p2=`basename $p` - if [ -f $BINDIR/$p2 ]; then - echo Removing $BINDIR/$p2 - rm -f $BINDIR/$p2 - if [ -f $BINDIR/$p2 ]; then - echo Cannot remove $BINDIR/$p2 ... does $USER have privileges? - fi - fi -done - - -cat << EOF -====================================================================== -The binaries have been uninstalled. You may restore the binaries using -the command "make installbin" or "make install" to install binaries, -man pages, modules and shell scripts. You can restore a previous -version of the binaries (if there were any) using "make revert". -====================================================================== -EOF - -exit 0 -- cgit