From: Graham Leggett Date: Mon, 19 Dec 2011 17:27:13 +0000 (+0000) Subject: Backport: X-Git-Tag: 2.4.0~55 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d488a0a39dc6d63b2ed669fa2f908a610c3d06cc;p=apache Backport: Distinguish properly between the bindir and sbindir directories when installing binaries. Previously all binaries were silently installed to sbindir, whether they were system administration commands or not. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1220867 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index c85514c72c..55d45ef421 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.4.0 + *) Distinguish properly between the bindir and sbindir directories when + installing binaries. Previously all binaries were silently installed to + sbindir, whether they were system administration commands or not. + [Graham Leggett] Changes with Apache 2.3.16 diff --git a/Makefile.in b/Makefile.in index 9b11141d79..c0c47e2b08 100644 --- a/Makefile.in +++ b/Makefile.in @@ -12,8 +12,8 @@ PROGRAM_DEPENDENCIES = \ $(MPM_LIB) \ os/$(OS_DIR)/libos.la -PROGRAMS = $(PROGRAM_NAME) -TARGETS = $(PROGRAMS) $(shared_build) $(other_targets) +sbin_PROGRAMS = $(PROGRAM_NAME) +TARGETS = $(sbin_PROGRAMS) $(shared_build) $(other_targets) INSTALL_TARGETS = install-conf install-htdocs install-error install-icons \ install-other install-cgi install-include install-suexec install-build \ install-man diff --git a/build/rpm/httpd.spec.in b/build/rpm/httpd.spec.in index eefd0ac357..fd95a1673c 100644 --- a/build/rpm/httpd.spec.in +++ b/build/rpm/httpd.spec.in @@ -438,13 +438,12 @@ rm -rf $RPM_BUILD_ROOT %files tools %defattr(-,root,root) %{_sbindir}/ab -%{_sbindir}/htdbm -%{_sbindir}/htdigest -%{_sbindir}/htpasswd +%{_bindir}/htdbm +%{_bindir}/htdigest +%{_bindir}/htpasswd %{_sbindir}/logresolve %{_sbindir}/httxt2dbm %{_sbindir}/rotatelogs -%{_mandir}/man1/dbmmanage.1* %{_mandir}/man1/htdbm.1* %{_mandir}/man1/htdigest.1* %{_mandir}/man1/htpasswd.1* @@ -486,8 +485,9 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/httpd %{_sbindir}/apxs %{_sbindir}/checkgid -%{_sbindir}/dbmmanage +%{_bindir}/dbmmanage %{_sbindir}/envvars* +%{_mandir}/man1/dbmmanage.1* %{_mandir}/man8/apxs.8* %dir %{_libdir}/httpd/build %{_libdir}/httpd/build/*.mk diff --git a/build/rules.mk.in b/build/rules.mk.in index 2bf16fe678..3dedb9a3cb 100644 --- a/build/rules.mk.in +++ b/build/rules.mk.in @@ -166,9 +166,15 @@ local-extraclean: local-distclean x-local-extraclean fi program-install: $(TARGETS) $(SHARED_TARGETS) - @if test -n '$(PROGRAMS)'; then \ + @if test -n '$(bin_PROGRAMS)'; then \ + test -d $(DESTDIR)$(bindir) || $(MKINSTALLDIRS) $(DESTDIR)$(bindir); \ + list='$(bin_PROGRAMS)'; for i in $$list; do \ + $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir); \ + done; \ + fi + @if test -n '$(sbin_PROGRAMS)'; then \ test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir); \ - list='$(PROGRAMS)'; for i in $$list; do \ + list='$(sbin_PROGRAMS)'; for i in $$list; do \ $(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir); \ done; \ fi diff --git a/support/Makefile.in b/support/Makefile.in index b840118b58..20be821a9f 100644 --- a/support/Makefile.in +++ b/support/Makefile.in @@ -3,8 +3,9 @@ DISTCLEAN_TARGETS = apxs apachectl dbmmanage log_server_status \ CLEAN_TARGETS = suexec -PROGRAMS = htpasswd htdigest rotatelogs logresolve ab htdbm htcacheclean httxt2dbm $(NONPORTABLE_SUPPORT) -TARGETS = $(PROGRAMS) +bin_PROGRAMS = htpasswd htdigest htdbm +sbin_PROGRAMS = rotatelogs logresolve ab htcacheclean httxt2dbm $(NONPORTABLE_SUPPORT) +TARGETS = $(bin_PROGRAMS) $(sbin_PROGRAMS) PROGRAM_LDADD = $(UTIL_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) $(AP_LIBS) PROGRAM_DEPENDENCIES = @@ -16,7 +17,13 @@ install: @test -d $(DESTDIR)$(sbindir) || $(MKINSTALLDIRS) $(DESTDIR)$(sbindir) @test -d $(DESTDIR)$(libexecdir) || $(MKINSTALLDIRS) $(DESTDIR)$(libexecdir) @cp -p $(top_builddir)/server/httpd.exp $(DESTDIR)$(libexecdir) - @for i in apxs apachectl dbmmanage; do \ + @for i in dbmmanage; do \ + if test -f "$(builddir)/$$i"; then \ + cp -p $$i $(DESTDIR)$(bindir); \ + chmod 755 $(DESTDIR)$(bindir)/$$i; \ + fi ; \ + done + @for i in apxs apachectl; do \ if test -f "$(builddir)/$$i"; then \ cp -p $$i $(DESTDIR)$(sbindir); \ chmod 755 $(DESTDIR)$(sbindir)/$$i; \ diff --git a/test/Makefile.in b/test/Makefile.in index 6d83405477..15d404d208 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -3,7 +3,7 @@ # test programs, then "make test" TARGETS = -PROGRAMS = +bin_PROGRAMS = PROGRAM_LDADD = $(EXTRA_LDFLAGS) $(PROGRAM_DEPENDENCIES) $(EXTRA_LIBS) PROGRAM_DEPENDENCIES = \ @@ -12,7 +12,7 @@ PROGRAM_DEPENDENCIES = \ include $(top_builddir)/build/rules.mk -test: $(PROGRAMS) +test: $(bin_PROGRAMS) # example for building a test proggie # dbu_OBJECTS = dbu.lo