Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2020 13:29:20 +0000
From:      bugzilla-noreply@freebsd.org
To:        apache@FreeBSD.org
Subject:   [Bug 244695] devel/apr1: post-patch breaks tomcat-native build with gmake
Message-ID:  <bug-244695-16115@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D244695

            Bug ID: 244695
           Summary: devel/apr1: post-patch breaks tomcat-native build with
                    gmake
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: apache@FreeBSD.org
          Reporter: michael.osipov@siemens.com
             Flags: maintainer-feedback?(apache@FreeBSD.org)
          Assignee: apache@FreeBSD.org

Tomcat committer here, just discovered this while working on upstream patch=
es
for tomcat-native on FreeBSD.

This happens when building from tomcat-native.git as well as source tarball
1.2.23. This does not happen with www/tomcat-native (explanation follows).

After performing ./buildconf and ./configure, gmake says:
> osipovmi@deblndw011x:~/var/Projekte/tomcat-native/native (master %=3D)
> $ LC_ALL=3DC gmake
> gmake: *** No rule to make target '.MAKE', needed by 'all-recursive'.  St=
op.

But there is no such target in tcnative.
> osipovmi@deblndw011x:~/var/Projekte/tomcat-native/native (master %=3D)
> $ grep -r \\.MAKE .
> ./build/rules.mk:all-recursive depend-recursive: .MAKE
> ./build/rules.mk:clean-recursive distclean-recursive extraclean-recursive=
: .MAKE

./build/rules.mk is copied during ./configure from
> cp /usr/local/share/apr/build-1/apr_rules.mk /net/home/osipovmi/var/Proje=
kte/tomcat-native/native/build/rules.mk

which is
> osipovmi@deblndw011x:~/var/Projekte/tomcat-native/native (master %=3D)
> $ grep -r \\.MAKE /usr/local/share/apr/build-1/apr_rules.mk
> all-recursive depend-recursive: .MAKE
> clean-recursive distclean-recursive extraclean-recursive: .MAKE

I have then compiled apr-1.7.x straight from the Subversion repo from ASF a=
nd
see:
> osipovmi@deblndw011x:/tmp/apr-1.7.x
> $ grep -r \\.MAKE build-1/

So this exists in the port only. It turns out that the port Makefile does t=
his
> root@deblndw011x:/usr/ports/devel/apr1
> # svn diff
> Index: Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- Makefile    (revision 528101)
> +++ Makefile    (working copy)
> @@ -128,8 +128,6 @@
>  post-patch:
>         @${REINPLACE_CMD} -e 's/OSVERSION/${OSVERSION}/g' \
>                 ${APR_WRKDIR}/configure
> -       @${REINPLACE_CMD} -e '/recursive:/s/$$/ .MAKE/' \
> -               ${APR_WRKDIR}/build/apr_rules.mk.in

coming from
> root@deblndw011x:/usr/ports/devel/apr1
> # svn log -c322367  Makefile
> ------------------------------------------------------------------------
> r322367 | ohauer | 2013-07-06 10:43:48 +0200 (Sat, 06 Jul 2013) | 16 lines

https://lists.freebsd.org/pipermail/freebsd-apache/2013-June/003177.html
reveals:
* Mark recursive targets with .MAKE to fix parallel builds with bmake.

Whether this is still required today and why BSD make ignores .MAKE, I don't
know. gmake chokes on it with tomcat-native.

The reason why www/tomcat-native never failed is that patch-Makefile.in rem=
oves
gmake recipes and makes it bmake compliant. If you force gmake, it will
instantly fail.
If this post-patch is still required, it shall be removed with pre-install,=
 but
no later than in STAGEDIR. This will make this Makefile work with bmake AND
gmake.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-244695-16115>