public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH 1/2] apr and aprutil: Added as requirement for apache 2.4
Date: Wed, 16 Aug 2017 14:36:06 +0100	[thread overview]
Message-ID: <1502890566.2543.23.camel@ipfire.org> (raw)
In-Reply-To: <20170815204356.2928-1-wolfgang.apolinarski@googlemail.com>

[-- Attachment #1: Type: text/plain, Size: 15221 bytes --]

Hi,

a few questions regarding this patch. Please see below.

Also: Why is nobody else reviewing this and testing this? I know that
there is many people out there who want to update Apache and have
tried, but this is just not good enough to want something. We also need
people who work on it to make it happen.

So thank you Wolfgang for working on this. But I want to see more
people reviewing this!

On Tue, 2017-08-15 at 22:43 +0200, Wolfgang Apolinarski wrote:
> - APR 1.6.2 is a requirement for building apache httpd 2.4
> - APR-Util 1.6.0 is a requirement for building apache httpd 2.4
> ---
>  config/rootfiles/common/apache2 |  8 ++--
>  config/rootfiles/common/apr     | 57 ++++++++++++++++++++++++++++
>  config/rootfiles/common/aprutil | 52 +++++++++++++++++++++++++
>  lfs/apr                         | 84
> +++++++++++++++++++++++++++++++++++++++++
>  lfs/aprutil                     | 84
> +++++++++++++++++++++++++++++++++++++++++
>  make.sh                         |  2 +
>  6 files changed, 283 insertions(+), 4 deletions(-)
>  create mode 100644 config/rootfiles/common/apr
>  create mode 100644 config/rootfiles/common/aprutil
>  create mode 100644 lfs/apr
>  create mode 100644 lfs/aprutil
> 
> diff --git a/config/rootfiles/common/apache2
> b/config/rootfiles/common/apache2
> index 7e33a155e..360f5ae61 100644
> --- a/config/rootfiles/common/apache2
> +++ b/config/rootfiles/common/apache2
> @@ -1342,22 +1342,22 @@ usr/lib/apache/mod_usertrack.so
>  usr/lib/apache/mod_version.so
>  usr/lib/apache/mod_vhost_alias.so
>  #usr/lib/apr-util-1
> -usr/lib/apr-util-1/apr_dbd_sqlite3-1.so
> +#usr/lib/apr-util-1/apr_dbd_sqlite3-1.so
>  #usr/lib/apr-util-1/apr_dbd_sqlite3.a
>  #usr/lib/apr-util-1/apr_dbd_sqlite3.la
> -usr/lib/apr-util-1/apr_dbd_sqlite3.so
> +#usr/lib/apr-util-1/apr_dbd_sqlite3.so
>  #usr/lib/apr.exp
>  #usr/lib/aprutil.exp
>  #usr/lib/libapr-1.a
>  #usr/lib/libapr-1.la
>  usr/lib/libapr-1.so
>  usr/lib/libapr-1.so.0
> -usr/lib/libapr-1.so.0.5.1
> +#usr/lib/libapr-1.so.0.5.1
>  #usr/lib/libaprutil-1.a
>  #usr/lib/libaprutil-1.la
>  usr/lib/libaprutil-1.so
>  usr/lib/libaprutil-1.so.0
> -usr/lib/libaprutil-1.so.0.5.3
> +#usr/lib/libaprutil-1.so.0.5.3
>  #usr/lib/pkgconfig/apr-1.pc
>  #usr/lib/pkgconfig/apr-util-1.pc
>  #usr/sbin/ab

You don't need to package the .so files. They are just needed for
linking which we never do on the firewall system.

Just ship the .so.X and .so.X.Y files.

Here it seems taht you are not shipping libaprutil at all. Can we not
disable it in the build since it is being compiled in an extra package?

> diff --git a/config/rootfiles/common/apr
> b/config/rootfiles/common/apr
> new file mode 100644
> index 000000000..abc825623
> --- /dev/null
> +++ b/config/rootfiles/common/apr
> @@ -0,0 +1,57 @@
> +usr/bin/apr-1-config
> +#usr/include/apr-1
> +#usr/include/apr-1/apr.h
> +#usr/include/apr-1/apr_allocator.h
> +#usr/include/apr-1/apr_atomic.h
> +#usr/include/apr-1/apr_cstr.h
> +#usr/include/apr-1/apr_dso.h
> +#usr/include/apr-1/apr_env.h
> +#usr/include/apr-1/apr_errno.h
> +#usr/include/apr-1/apr_escape.h
> +#usr/include/apr-1/apr_file_info.h
> +#usr/include/apr-1/apr_file_io.h
> +#usr/include/apr-1/apr_fnmatch.h
> +#usr/include/apr-1/apr_general.h
> +#usr/include/apr-1/apr_getopt.h
> +#usr/include/apr-1/apr_global_mutex.h
> +#usr/include/apr-1/apr_hash.h
> +#usr/include/apr-1/apr_inherit.h
> +#usr/include/apr-1/apr_lib.h
> +#usr/include/apr-1/apr_mmap.h
> +#usr/include/apr-1/apr_network_io.h
> +#usr/include/apr-1/apr_perms_set.h
> +#usr/include/apr-1/apr_poll.h
> +#usr/include/apr-1/apr_pools.h
> +#usr/include/apr-1/apr_portable.h
> +#usr/include/apr-1/apr_proc_mutex.h
> +#usr/include/apr-1/apr_random.h
> +#usr/include/apr-1/apr_ring.h
> +#usr/include/apr-1/apr_shm.h
> +#usr/include/apr-1/apr_signal.h
> +#usr/include/apr-1/apr_skiplist.h
> +#usr/include/apr-1/apr_strings.h
> +#usr/include/apr-1/apr_support.h
> +#usr/include/apr-1/apr_tables.h
> +#usr/include/apr-1/apr_thread_cond.h
> +#usr/include/apr-1/apr_thread_mutex.h
> +#usr/include/apr-1/apr_thread_proc.h
> +#usr/include/apr-1/apr_thread_rwlock.h
> +#usr/include/apr-1/apr_time.h
> +#usr/include/apr-1/apr_user.h
> +#usr/include/apr-1/apr_version.h
> +#usr/include/apr-1/apr_want.h
> +usr/lib/libapr-1.so.0.6.2
> +usr/lib/apr.exp
> +usr/lib/libapr-1.la
> +usr/lib/libapr-1.so
> +usr/lib/libapr-1.so.0
> +#usr/lib/pkgconfig/apr-1.pc
> +#usr/share/apr-1
> +#usr/share/apr-1/build
> +#usr/share/apr-1/build/apr_common.m4
> +#usr/share/apr-1/build/apr_rules.mk
> +#usr/share/apr-1/build/find_apr.m4
> +#usr/share/apr-1/build/libtool
> +#usr/share/apr-1/build/make_exports.awk
> +#usr/share/apr-1/build/make_var_export.awk
> +#usr/share/apr-1/build/mkdir.sh

Same as above. The static library .a isn't needed on the system either.

Also the alphabetical order of the rootfile is messed up. The build
system should complain about that.

> diff --git a/config/rootfiles/common/aprutil
> b/config/rootfiles/common/aprutil
> new file mode 100644
> index 000000000..7b0bbb8d7
> --- /dev/null
> +++ b/config/rootfiles/common/aprutil
> @@ -0,0 +1,52 @@
> +usr/bin/apu-1-config
> +#usr/include/apr-1/apr_anylock.h
> +#usr/include/apr-1/apr_base64.h
> +#usr/include/apr-1/apr_buckets.h
> +#usr/include/apr-1/apr_crypto.h
> +#usr/include/apr-1/apr_date.h
> +#usr/include/apr-1/apr_dbd.h
> +#usr/include/apr-1/apr_dbm.h
> +#usr/include/apr-1/apr_hooks.h
> +#usr/include/apr-1/apr_ldap.h
> +#usr/include/apr-1/apr_ldap_init.h
> +#usr/include/apr-1/apr_ldap_option.h
> +#usr/include/apr-1/apr_ldap_rebind.h
> +#usr/include/apr-1/apr_ldap_url.h
> +#usr/include/apr-1/apr_md4.h
> +#usr/include/apr-1/apr_md5.h
> +#usr/include/apr-1/apr_memcache.h
> +#usr/include/apr-1/apr_optional.h
> +#usr/include/apr-1/apr_optional_hooks.h
> +#usr/include/apr-1/apr_queue.h
> +#usr/include/apr-1/apr_redis.h
> +#usr/include/apr-1/apr_reslist.h
> +#usr/include/apr-1/apr_rmm.h
> +#usr/include/apr-1/apr_sdbm.h
> +#usr/include/apr-1/apr_sha1.h
> +#usr/include/apr-1/apr_siphash.h
> +#usr/include/apr-1/apr_strmatch.h
> +#usr/include/apr-1/apr_thread_pool.h
> +#usr/include/apr-1/apr_uri.h
> +#usr/include/apr-1/apr_uuid.h
> +#usr/include/apr-1/apr_xlate.h
> +#usr/include/apr-1/apr_xml.h
> +#usr/include/apr-1/apu.h
> +#usr/include/apr-1/apu_errno.h
> +#usr/include/apr-1/apu_version.h
> +#usr/include/apr-1/apu_want.h
> +#usr/include/apr-1/expat.h
> +usr/lib/libaprutil-1.la
> +usr/lib/libaprutil-1.so
> +usr/lib/libaprutil-1.so.0
> +usr/lib/libaprutil-1.so.0.6.0
> +#usr/lib/libexpat.a
> +#usr/lib/libexpat.la
> +#usr/lib/libexpat.so
> +#usr/lib/libexpat.so.0
> +#usr/lib/libexpat.so.0.5.0
> +#usr/lib/pkgconfig/apr-util-1.pc
> +usr/lib/apr-util-1
> +usr/lib/apr-util-1/apr_crypto_openssl-1.so
> +usr/lib/apr-util-1/apr_crypto_openssl.la
> +usr/lib/apr-util-1/apr_crypto_openssl.so
> +usr/lib/aprutil.exp

The package has a bundled version of libexpat. We have a package for
that. Please disable this here. aprutil is compiled after expat, but it
does not seem to find it or it is not happy with the version.

> diff --git a/lfs/apr b/lfs/apr
> new file mode 100644
> index 000000000..24ab1d79e
> --- /dev/null
> +++ b/lfs/apr
> @@ -0,0 +1,84 @@
> +####################################################################
> ###########
> +#                                                                   
>           #
> +# IPFire.org - A linux based
> firewall                                         #
> +# Copyright (C) 2007-2014   IPFire Team  <info(a)ipfire.org>          
>           #
> +#                                                                   
>           #
> +# This program is free software: you can redistribute it and/or
> modify        #
> +# it under the terms of the GNU General Public License as published
> by        #
> +# the Free Software Foundation, either version 3 of the License,
> or           #
> +# (at your option) any later
> version.                                         #
> +#                                                                   
>           #
> +# This program is distributed in the hope that it will be
> useful,             #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty
> of              #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> the               #
> +# GNU General Public License for more
> details.                                #
> +#                                                                   
>           #
> +# You should have received a copy of the GNU General Public
> License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses
> />.       #
> +#                                                                   
>           #
> +####################################################################
> ###########
> +
> +
> +####################################################################
> ###########
> +# Definitions
> +####################################################################
> ###########
> +
> +include Config
> +
> +VER        = 1.6.2
> +
> +THISAPP    = apr-$(VER)
> +DL_FILE    = $(THISAPP).tar.bz2
> +DL_FROM    = http://archive.apache.org/dist/apr
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +
> +####################################################################
> ###########
> +# Top-level Rules
> +####################################################################
> ###########
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = e81a851967c79b5ce9bfbc909e4bf735
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +####################################################################
> ###########
> +# Downloading, checking, md5sum
> +####################################################################
> ###########
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +####################################################################
> ###########
> +# Installation Details
> +####################################################################
> ###########
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf
> $(DIR_DL)/$(DL_FILE)
> +
> +	cd $(DIR_APP) && sed -i "/seems to be moved/s/^/#/"
> build/ltmain.sh

What is this supposed to do? Please add a comment.

> +
> +	cd $(DIR_APP) && ./configure --prefix=/usr \
> +				--disable-static --with-
> installbuilddir=/usr/share/apr-1/build
> +	cd $(DIR_APP) && make $(MAKETUNING)
> +	cd $(DIR_APP) && make install
> +
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/lfs/aprutil b/lfs/aprutil
> new file mode 100644
> index 000000000..cf8f4a8a9
> --- /dev/null
> +++ b/lfs/aprutil
> @@ -0,0 +1,84 @@
> +####################################################################
> ###########
> +#                                                                   
>           #
> +# IPFire.org - A linux based
> firewall                                         #
> +# Copyright (C) 2007-2014   IPFire Team  <info(a)ipfire.org>          
>           #
> +#                                                                   
>           #
> +# This program is free software: you can redistribute it and/or
> modify        #
> +# it under the terms of the GNU General Public License as published
> by        #
> +# the Free Software Foundation, either version 3 of the License,
> or           #
> +# (at your option) any later
> version.                                         #
> +#                                                                   
>           #
> +# This program is distributed in the hope that it will be
> useful,             #
> +# but WITHOUT ANY WARRANTY; without even the implied warranty
> of              #
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
> the               #
> +# GNU General Public License for more
> details.                                #
> +#                                                                   
>           #
> +# You should have received a copy of the GNU General Public
> License           #
> +# along with this program.  If not, see <http://www.gnu.org/licenses
> />.       #
> +#                                                                   
>           #
> +####################################################################
> ###########
> +
> +
> +####################################################################
> ###########
> +# Definitions
> +####################################################################
> ###########
> +
> +include Config
> +
> +VER        = 1.6.0
> +
> +THISAPP    = apr-util-$(VER)
> +DL_FILE    = $(THISAPP).tar.bz2
> +DL_FROM    = http://archive.apache.org/dist/apr
> +DIR_APP    = $(DIR_SRC)/$(THISAPP)
> +
> +TARGET     = $(DIR_INFO)/$(THISAPP)
> +
> +DEPS       = "apr"
> +
> +####################################################################
> ###########
> +# Top-level Rules
> +####################################################################
> ###########
> +
> +objects = $(DL_FILE)
> +
> +$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> +
> +$(DL_FILE)_MD5 = 069a9a980776acab05212c5f37ef8368
> +
> +install : $(TARGET)
> +
> +check : $(patsubst %,$(DIR_CHK)/%,$(objects))
> +
> +download :$(patsubst %,$(DIR_DL)/%,$(objects))
> +
> +md5 : $(subst %,%_MD5,$(objects))
> +
> +####################################################################
> ###########
> +# Downloading, checking, md5sum
> +####################################################################
> ###########
> +
> +$(patsubst %,$(DIR_CHK)/%,$(objects)) :
> +	@$(CHECK)
> +
> +$(patsubst %,$(DIR_DL)/%,$(objects)) :
> +	@$(LOAD)
> +
> +$(subst %,%_MD5,$(objects)) :
> +	@$(MD5)
> +
> +####################################################################
> ###########
> +# Installation Details
> +####################################################################
> ###########
> +
> +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> +	@$(PREBUILD)
> +	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf
> $(DIR_DL)/$(DL_FILE)
> +
> +	cd $(DIR_APP) && ./configure --prefix=/usr \
> +				--with-apr=/usr --with-gdbm=/usr --
> with-openssl=/usr --with-crypto
> +	cd $(DIR_APP) && make $(MAKETUNING)
> +	cd $(DIR_APP) && make install
> +
> +	@rm -rf $(DIR_APP)
> +	@$(POSTBUILD)
> diff --git a/make.sh b/make.sh
> index 663f23fbb..dd57c914e 100755
> --- a/make.sh
> +++ b/make.sh
> @@ -358,6 +358,7 @@ buildbase() {
>      lfsmake2 bzip2
>      lfsmake2 pcre
>      lfsmake2 pcre-compat
> +    lfsmake2 apr
>      lfsmake2 bash
>      lfsmake2 diffutils
>      lfsmake2 e2fsprogs

Does apr need to be built this early in the processs? Why can we not
have it in the IPFire stage? Is anything suddenly depending on it?

> @@ -497,6 +498,7 @@ buildipfire() {
>    lfsmake2 libevent2
>    lfsmake2 libevent2-compat
>    lfsmake2 expat
> +  lfsmake2 aprutil
>    lfsmake2 unbound
>    lfsmake2 gnutls
>    lfsmake2 bind

Best,
-Michael

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2017-08-16 13:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-15 20:43 Wolfgang Apolinarski
2017-08-15 20:43 ` [PATCH 2/2] Update to apache 2.4.27 Wolfgang Apolinarski
2017-08-16 13:42   ` Michael Tremer
2017-08-23 19:25   ` [PATCH v2 " Wolfgang Apolinarski
2017-09-04 17:21     ` [PATCH v3 " Wolfgang Apolinarski
2017-08-16 13:36 ` Michael Tremer [this message]
2017-08-23 19:24 ` [PATCH v2 1/2] apr and aprutil: Added as requirement for apache 2.4 Wolfgang Apolinarski
2017-09-04 17:19   ` [PATCH v3 " Wolfgang Apolinarski
  -- strict thread matches above, loose matches on Subject: below --
2017-08-16 19:59 [PATCH " Wolfgang Apolinarski
2017-08-17 13:05 ` Michael Tremer
2017-04-22 15:03 [PATCH 1/2] apr and aprutil: Added as requirement for Apache 2.4 Wolfgang Apolinarski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1502890566.2543.23.camel@ipfire.org \
    --to=michael.tremer@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox