description="An open-source HTTP server for modern operating systems."
url="http://httpd.apache.org/ABOUT_APACHE.html"

packager="Tnut <tnut@nutyx.org>"
contributors="Spiky"

makedepends=(sed grep pcre apr-util sqlite expat)
run=(shadow)

name=apache
version=2.4.55

runyx_version=20201011

source=(http://downloads.tuxfamily.org/nutyx/files/runyx-${runyx_version}.tar.xz
	http://archive.apache.org/dist/httpd/httpd-$version.tar.bz2
	layout.patch)

prepare(){
UN=apache
(getent passwd $UN > /dev/null) && userdel  $UN
(getent group $UN > /dev/null)  && groupdel $UN

UN=www
(getent passwd $UN > /dev/null) && userdel  $UN
(getent group $UN > /dev/null)  && groupdel $UN


UN=http
if ! (getent group $UN > /dev/null); then
   groupadd -g 25 $UN
fi
if ! (getent passwd $UN > /dev/null); then
   useradd  -c "http Server" -d /srv/www \
   -g $UN -s /bin/false -u 25 $UN
fi
}
build(){

cd httpd-$version

unset MAKEFLAGS

patch -Np1 -i ../layout.patch
sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in
./configure --enable-authnz-fcgi                            \
            --enable-layout=BLFS                            \
            --enable-mods-shared="all cgi"                  \
            --enable-mpms-shared=all                        \
            --enable-suexec=shared                          \
            --with-apr=/usr/bin/apr-1-config                \
            --with-apr-util=/usr/bin/apu-1-config           \
            --with-suexec-bin=/usr/lib/httpd/suexec         \
            --with-suexec-caller=http                       \
            --with-suexec-docroot=/srv/www                  \
            --with-suexec-logfile=/var/log/httpd/suexec.log \
            --with-suexec-uidmin=100                        \
            --with-suexec-userdir=public_html
make
make DESTDIR=$PKG install

mv -v $PKG/usr/sbin/suexec $PKG/usr/lib/httpd/suexec
chgrp http $PKG/usr/lib/httpd/suexec
chmod 4754 $PKG/usr/lib/httpd/suexec

chown -v -R http:http $PKG/srv/www
mv  $PKG/srv/www/index.html{,.apache.example}

# Services
cd $SRC/runyx-${runyx_version}
make DESTDIR=$PKG install-sysv-httpd
make DESTDIR=$PKG install-runyx-httpd
make DESTDIR=$PKG install-sysd-httpd
}
service() {
cd $PKG
bsdtar -r -f \
$PKGMK_PACKAGE_DIR/${name}.${group}${PKGMK_BUILDVER}any.${PKGMK_PACKAGE_EXT} \
etc/rc.d etc/init lib/init lib/systemd
rm -r etc/rc.d etc/init lib/init lib/systemd
}
uptodate() {
local url ext name

name="httpd"
url="http://archive.apache.org/dist/httpd/"
ext=".tar.bz2"
lynx -read_timeout=20 -dump -listonly -nonumbers \
$url|grep $name-[0-9]|grep [0-9].$ext$| \
sed "s@$url$name-@@"|sed "s@$ext@@"| \
sort|tail -1
}
