[Nut-upsdev] NUT and Automake
Arnaud Quette
aquette.dev at gmail.com
Tue Oct 17 11:47:01 UTC 2006
Hi Peter,
first of all, kudos for that very good job ;-)
2006/10/16, Peter Selinger <selinger at mathstat.dal.ca>:
> Dear NUT developers,
>
> I have converted NUT's build system to Automake/Libtool. Right now,
> the new build system is contained in the "automake" branch, at:
>
> ssh://svn.debian.org/svn/nut/branches/automake
>
> I plan to merge this into the main branch after a period of testing,
> if there are no objections.
>
> Here are some highlights:
>
> * automatic dependency tracking: no more need to do this statically
> with "gendb" and similar
>
> * flexible multi-platform library support: libupsclient is now built
> and installed as a static and/or dynamic library, depending on what
> the target platform supports.
>
> * new maintainer targets: "make dist" to build a source distribution,
> "make distcheck" to check that it compiles and installs correctly.
> There are also several other useful standardized targets, such as
> "uninstall", "dist-bzip2", "install-strip", "distclean",
> "maintainer-clean", etc.
>
> * support for separate build and read-only source directory: For example, try
> cd /tmp/build
> ${NUT_SOURCE}/configure --srcdir=${NUT_SOURCE}
> make
>
> * as before, installation is relocatable via "make DESTDIR=${DIR} install"
>
> * I reworked and simplified the configuration of optional features.
> Instead of specialized "make" targets like "build-usb", "build-lib",
> "install-lib", etc, features are now specified via configuration
> options such as "--with-usb", "--with-lib", and are automatically
> built/installed if selected. Dummy targets are provided for backward
> "compatibility" (many of them just print an error message explaining
> the new way of doing things).
>
> * Some filenames have been standardized; I renamed CHANGES and CREDITS
> to "ChangeLog" and "AUTHORS", respectively, as this used by most
> other packages (and all GNU packages).
>
> * Files that are generated by aclocal, autoheader, autoconf, automake,
> and ./configure have been removed from SVN. Upon checking out a
> fresh copy from SVN, populate it is follows:
>
> aclocal -I m4
> autoconf
> autoheader
> automake
>
> If you have "autoreconf", you can do all of this in a single step:
>
> autoreconf -v
the above is generally addressed by an autogen.sh script, which is
still to be run after a checkout, but which does everything for us...
> Of course, any distribution made by "make dist" already contains the
> necessary files.
>
> * There is no more include/version.h. The package version is now
> defined in a single place: at the top of configure.in.
>
> * I fixed numerous bugs in configure.in and in the old Makefiles; for
> example, several man pages did not get installed.
>
> * I updated the documentation (INSTALL, README, docs/configure.txt,
> etc) to reflect the new build system.
>
>
> I found two files with which I was not sure what to do. They are:
>
> data/evolution500.dev - what is this for?
this is for the new dummy driver (dummy-ups, replacing dummycons).
this is basically, as explained in dummy-ups.8, an upsc dump which can
be loaded by the driver, and is shipped as an example.
> drivers/Doxyfile - this seems to belong to Charles. Perhaps
> related to auto-generating documentation
> for the tripplite_usb driver? It probably
> should go in another directory, and with
> a better name.
>
> Enjoy, and let me know of any bugs/problems! -- Peter
I still have to test it, but it's a great step for the nut.
I just wonder how you addressed the drivers dir specifics?!
Arnaud
--
Linux / Unix Expert - MGE UPS SYSTEMS - R&D Dpt
Network UPS Tools (NUT) Project Leader - http://www.networkupstools.org/
Debian Developer - http://people.debian.org/~aquette/
OpenSource Developer - http://arnaud.quette.free.fr/
More information about the Nut-upsdev
mailing list