[apparmor] [PATCH] towards a common build infrastructure

Kees Cook kees at ubuntu.com
Sun May 6 21:19:28 UTC 2012


Hi Christian,

On Sun, May 06, 2012 at 01:46:30AM +0200, Christian Boltz wrote:
> Am Samstag, 5. Mai 2012 schrieb Kees Cook:
> > I'd like to start trying to move to a common autoconf infrastructure
> > where the build elements are selected at configure time, etc. This
> > will let us get rid of the unusual common/Make.rules logic, provide
> > cleaner common build targets, potential for easier parallelization of
> > the build, etc.
> 
> I prefer hand-written Makefiles - but that might be a matter of personal 
> taste ;-) (and, in my case, missing knownledge about automake)

I find it much easier to deal with large projects via autoconf and
automake. There is rarely anything 'strange' enough that it requires much
fiddling. I prefer it because it makes the build system familiar to most
people trying to understand it, and the templates are small.

> That said: Jeff maintained a patch to use automake everywhere up to 
> AppArmor 2.6.x. When I took over maintenance of the AppArmor package, 
> I dropped it in favor of the upstream build system. Even if I needed to 
> add 10 make calls from the spec, I still found that easier than 
> maintaining a 370 kB patch ;-)
> 
> Nevertheless it might be easier for you to update Jeff's patch (it 
> doesn't apply to 2.7.x or trunk) than writing everything from scratch.
> 
> If you are interested, you can find it on
> https://build.opensuse.org/package/files?package=apparmor_2_6&project=security%3Aapparmor
> >From there, take the files
> - apparmor-2.5.1-unified-build (the main patch, 370 kB)
> - apparmor-2.5.1-rpmlint-asprintf (small additional patch, depends on 
>   the first patch, not sure if it is still needed)

Ah, very cool. I'll take a look.

> > === modified file 'README'
> 
> You only deleted the lines describing the current build "system", but 
> didn't add any note how to build AppArmor with automake...

It's still there. It's just hugely reduced. (Which is why I wanted to push
for this.)

$ sh ./autogen.sh
$ sh ./configure --prefix=/usr --with-perl  # see below
$ make
$ make check
$ make install

> Another question - what is the target version for changing the build 
> system? Do you want to include it in 2.8?

2.8 is too close. I'm in no rush; I just want the build system simplified.
I'm happy to wait until 2.8 releases.

-Kees

-- 
Kees Cook



More information about the AppArmor mailing list