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>
This commit is contained in:
orbea
2022-07-19 08:01:43 -07:00
committed by Hans de Graaff
parent 47f90d90f0
commit 794e3dca81
3 changed files with 167 additions and 0 deletions

View File

@@ -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
}

View File

@@ -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

View File

@@ -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])