This was a backburner project I had for a while, but I've updated it to
work with the latest source tree and feel now (early in F-12), it's a
good time to look at something like this.
The patch is large, but I've run it through splitdiff so you can look at
each file change:
http://dcantrel.fedoraproject.org/anaconda/autognu/
Highlights:
1) configure.ac is the main file for ./configure. Each subdirectory
includes a Makefile.am file.
2) I also moved the po/ subdirectory to using the autoconf templates
provided by GNU gettext. This requires maintenance of the
po/POTFILES.in and po/LINGUAS files, but beyond that the Makefile
template takes care of the rest, including anaconda.pot.
3) anaconda.spec is changed to anaconda.spec.in. The actual spec file
is generated as part of 'make dist'. The spec file has also been
changed to run ./configure.
4) Speaking of ./configure, I added options for SELinux and other things
that we had as conditionals in Makefiles (however, they may no longer
be completely conditional in the code). The default settings are
what we had as defaults before.
5) The 'make bumpver' target increments the version number in
configure.ac rather than the spec file.
6) The 'make rpmlog' target adds changelog data to anaconda.spec.in. I
also removed changelog data older than Jan 1, 2008.
7) 'make archive-no-tag' has been replaced by the 'make dist' target
provided by automake.
8) Library function and header tests are in configure.ac. We can expand
these as much as we want as find ourselves fighting with various
library version differences.
9) The release procedure will be slightly different using
autoconf/automake. You will need to run ./bootstrap, then
./configure, make bumpver, commit, make dist. The READ_ME.txt file
at the URL above explains it.
I changed around the structure of the liveinst/ subdirectory as well so
I could make better use of the automake rules. There is now a
console.apps and pam.d subdirectory.
I have uploaded a sample archive generated by 'make dist'. To build
anaconda, do:
./configure --prefix=/usr --disable-static # unless you want
# static libs and
# modules, or
# another prefix
make
make install DESTDIR=#your favorite temp dir#
I have compared the generated source archive with the current source
archive in rawhide. The differences we have in the new archive are:
1) Makefile.in and Makefile.am instead of Makefile in each subdir.
2) The scripts and files associated with autoconf and automake.
3) Addition of GNU gettext po/ structure and .gmo files.
4) Restructure of liveinst/
5) Missing empty subdirectories
6) Missing .cvsignore files.
7) Missing .gitignore files.
In addition, I have run 'make install' to a local directory and compared
it with the output of 'rpm -ql anaconda'. Everything is in place, but
you will notice missing docs (these are picked up by %doc in the spec
file) and you will notice *.la scripts (these are removed in the spec file).
Lastly, I've run scratch builds of the rawhide source RPM containing the
new source archive. It builds on all architectures. The x86_64 one
does not differ from the anaconda RPM installed on my system (same
version and arch).
Please have a look at the patches if you have time.
--
David Cantrell <dcantrell@xxxxxxxxxx>
Red Hat / Honolulu, HI
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list