diff options
author | orbea <orbea@riseup.net> | 2022-07-19 08:01:43 -0700 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2022-07-22 09:51:12 +0200 |
commit | 794e3dca81a22db884eaeb45c2b7e413d6dbaf2e (patch) | |
tree | 86e7a95283ac497aa1564b6c5097aaeb36c4d7b3 /app-admin/apache-tools | |
parent | eclass/apache-2: Add --disable-static (diff) | |
download | gentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.tar.gz gentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.tar.bz2 gentoo-794e3dca81a22db884eaeb45c2b7e413d6dbaf2e.zip |
app-admin/apache-tools: Fix the build with rlibtool
The apache-tools-2.4.7-Makefile.patch is reimplemented since the
existing patch is wrong. The binaries are already installed in
build/rules.mk and with the patch they were being installed twice
where the second instance overwrites the binaries with the slibtool
wrapper scripts.
Bug: https://bugs.gentoo.org/858833
Signed-off-by: orbea <orbea@riseup.net>
Signed-off-by: Hans de Graaff <graaff@gentoo.org>
Diffstat (limited to 'app-admin/apache-tools')
3 files changed, 167 insertions, 0 deletions
diff --git a/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild b/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild new file mode 100644 index 000000000000..e12bf1fadeae --- /dev/null +++ b/app-admin/apache-tools/apache-tools-2.4.54-r2.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Useful Apache tools - htdigest, htpasswd, ab, htdbm" +HOMEPAGE="https://httpd.apache.org/" +SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc64-solaris ~x64-solaris" +IUSE="ssl" +RESTRICT="test" + +RDEPEND=">=dev-libs/apr-1.5.0:1= + dev-libs/apr-util:1= + dev-libs/expat + dev-libs/libpcre + virtual/libcrypt:= + kernel_linux? ( sys-apps/util-linux ) + ssl? ( dev-libs/openssl:0= )" +DEPEND="${RDEPEND} + sys-devel/libtool" +BDEPEND=" + virtual/pkgconfig +" + +S="${WORKDIR}/httpd-${PV}" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.54-Makefile.patch" #459446 + "${FILESDIR}/${PN}-2.4.54-no-which.patch" #844868 + "${FILESDIR}/${PN}-2.4.54-libtool.patch" #858833 +) + +src_prepare() { + default + + # This package really should upgrade to using pcre's .pc file. + cat <<-\EOF >"${T}"/pcre-config + #!/bin/bash + flags=() + for flag; do + if [[ ${flag} == "--version" ]]; then + flags+=( --modversion ) + else + flags+=( "${flag}" ) + fi + done + exec ${PKG_CONFIG} libpcre "${flags[@]}" + EOF + chmod a+x "${T}"/pcre-config || die + + # Only here for libtool and which patches + eautoreconf +} + +src_configure() { + # Brain dead check. + tc-is-cross-compiler && export ap_cv_void_ptr_lt_long="no" + + tc-export PKG_CONFIG + + local myeconfargs=( + --libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules + --sbindir="${EPREFIX}"/usr/sbin + --with-z="${EPREFIX}"/usr + --with-apr="${ESYSROOT}"/usr + --with-apr-util="${ESYSROOT}"/usr + --with-pcre="${T}"/pcre-config + $(use_enable ssl) + $(usex ssl '--with-ssl="${EPREFIX}"/usr' '') + ) + # econf overwrites the stuff from config.layout. + ac_cv_path_PKGCONFIG="${PKG_CONFIG}" \ + econf "${myeconfargs[@]}" + sed -i \ + -e '/^LTFLAGS/s:--silent::' \ + build/rules.mk build/config_vars.mk || die +} + +src_compile() { + emake -C support +} + +src_install() { + emake -C support DESTDIR="${D}" install + dodoc CHANGES + doman docs/man/{dbmmanage,htdigest,htpasswd,htdbm,ab,logresolve}.1 \ + docs/man/{htcacheclean,rotatelogs}.8 + + # Providing compatiblity symlinks for #177697 (which we'll stop to install + # at some point). + pushd "${ED}"/usr/sbin >/dev/null || die + local i + for i in *; do + dosym ${i} /usr/sbin/${i}2 + done + popd >/dev/null || die + + # Provide a symlink for ab-ssl + if use ssl ; then + dosym ab /usr/bin/ab-ssl + dosym ab /usr/bin/ab2-ssl + fi +} diff --git a/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch b/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch new file mode 100644 index 000000000000..882e97a1c26e --- /dev/null +++ b/app-admin/apache-tools/files/apache-tools-2.4.54-Makefile.patch @@ -0,0 +1,37 @@ +Bug: https://bugs.gentoo.org/459446 + +From: orbea <orbea@riseup.net> +Date: Tue, 19 Jul 2022 10:42:26 -0700 +Subject: [PATCH] support: Install fewer programs + +--- a/support/Makefile.in ++++ b/support/Makefile.in +@@ -14,27 +14,12 @@ include $(top_builddir)/build/rules.mk + + install: + @test -d $(DESTDIR)$(bindir) || $(MKINSTALLDIRS) $(DESTDIR)$(bindir) +- @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 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 apachectl; do \ +- if test -f "$(builddir)/$$i"; then \ +- cp -p $$i $(DESTDIR)$(sbindir); \ +- chmod 755 $(DESTDIR)$(sbindir)/$$i; \ +- fi ; \ +- done +- @if test -f "$(builddir)/envvars-std"; then \ +- cp -p envvars-std $(DESTDIR)$(sbindir); \ +- if test ! -f $(DESTDIR)$(sbindir)/envvars; then \ +- cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \ +- fi ; \ +- fi + + htpasswd.lo: passwd_common.h + passwd_common.lo: passwd_common.h diff --git a/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch b/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch new file mode 100644 index 000000000000..9cd957c21499 --- /dev/null +++ b/app-admin/apache-tools/files/apache-tools-2.4.54-libtool.patch @@ -0,0 +1,21 @@ +Bug: https://bugs.gentoo.org/858833 + +From: orbea <orbea@riseup.net> +Date: Tue, 19 Jul 2022 07:46:36 -0700 +Subject: [PATCH] build: Fix the build with slibtool + +Adding LT_INIT to configure.in generates the libtool script in the build +directory which is required by rlibtool to determine if the build is +shared or static. + +--- a/configure.in ++++ b/configure.in +@@ -398,7 +398,7 @@ AC_PATH_PROG(RSYNC, rsync) + AC_PATH_PROG(SVN, svn) + AC_PROG_AWK + AC_PROG_LN_S +-AC_CHECK_TOOL(RANLIB, ranlib, true) ++LT_INIT + dnl AC_PATH_PROG(PERL_PATH, perl) + AC_CHECK_PROGS(LYNX_PATH,[lynx links elinks], [lynx]) + |