Re: What is minimum set of Automake work files needed for distribution on github?
On Mon, 28 Sep 2015, John Calcote wrote: Thus, the usual technique is to commit the Autotools source files required by your project, but to NOT commit a configure script. Anyone wanting to clone your repository is expected to be "developer enough" to know how to run "autoreconf -i" to create the configure script. The main problem with this is that not all users wanting to build from sources in the repository have the correct autotools versions. Even if they do have the correct autotools versions, the sources may have been hacked by an OS Autotools package maintainer to work differently. Due to these problems, the configure script for my package provides the --enable-maintainer-mode option, and I use a method of updating the package version which does not require editing configure.ac (avoiding re-generating configure). Whenever someone commits to the repository, I rebuild all of the additional generated files enabled to be updated via --enable-maintainer-mode. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
What is minimum set of Automake work files needed for distribution on github?
I need to meet the requirements of 2 sets of users, the ordinary user who is only interested `./configure; make; make install` and the power users who want to start with `autoreconf`. So far google search on the topic has only increased my confusion. -- The Bundys, Cliven, Ted and Al. Great guys to look up to.
Re: What is minimum set of Automake work files needed for distribution on github?
On 09/28/2015 04:20 AM, Robert Parker wrote: > I need to meet the requirements of 2 sets of users, the ordinary user who > is only interested `./configure; make; make install` and the power users > who want to start with `autoreconf`. > > So far google search on the topic has only increased my confusion. The most common solution: don't store anything but configure.ac and Makefile.am in git. The power user checks out git, and runs 'autoreconf' to bootstrap the project, then runs 'make dist' to create a self-contained tarball. The ordinary user takes a tarball, unpacks it, and runs './configure; make; make install' without needing any autotools installed. Ordinary users therefore do NOT use direct git checkouts. Working with git is reserved for power users. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature
Re: What is minimum set of Automake work files needed for distribution on github?
Thanks, that does make sense. On Mon, Sep 28, 2015 at 10:22 PM, Eric Blakewrote: > On 09/28/2015 04:20 AM, Robert Parker wrote: > > I need to meet the requirements of 2 sets of users, the ordinary user > who > > is only interested `./configure; make; make install` and the power users > > who want to start with `autoreconf`. > > > > So far google search on the topic has only increased my confusion. > > The most common solution: don't store anything but configure.ac and > Makefile.am in git. > > The power user checks out git, and runs 'autoreconf' to bootstrap the > project, then runs 'make dist' to create a self-contained tarball. > > The ordinary user takes a tarball, unpacks it, and runs './configure; > make; make install' without needing any autotools installed. > > Ordinary users therefore do NOT use direct git checkouts. Working with > git is reserved for power users. > > -- > Eric Blake eblake redhat com+1-919-301-3266 > Libvirt virtualization library http://libvirt.org > > -- The Bundys, Cliven, Ted and Al. Great guys to look up to.
Re: What is minimum set of Automake work files needed for distribution on github?
Hi Robert, The Autotools were created to meet a specific need - that of the open source distribution model supported by many open source projects where, occasionally - or perhaps nightly, the project maintainers would release a source tarball containing a configure script and Makefile.in files. As a regular user, you'd want to just download a tarball, extract, and run ./configure && make. However, as a potential contributor, you'd want the source repository so you could create patches against the tip of a particular branch. So you'd clone the source repository and use the Autotools to create a configure script for yourself in your repository work area. Thus, the usual technique is to commit the Autotools source files required by your project, but to NOT commit a configure script. Anyone wanting to clone your repository is expected to be "developer enough" to know how to run "autoreconf -i" to create the configure script. While you CAN commit a configure script, it generally causes more problems than it solves, as you find yourself committing an updated configure script for lots of little project changes. Regardless, many projects do this - especially lately on projects hosted by github, mainly (I believe) because github has defined a new trend in the open source world where "regular users" tend to get the source from the repository rather than from a tarball, more often than not these days. Here's a resource you might find helpful: http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool John On Mon, Sep 28, 2015 at 4:20 AM, Robert Parkerwrote: > I need to meet the requirements of 2 sets of users, the ordinary user who > is only interested `./configure; make; make install` and the power users > who want to start with `autoreconf`. > > So far google search on the topic has only increased my confusion. > > -- > The Bundys, Cliven, Ted and Al. Great guys to look up to. >
Re: What is minimum set of Automake work files needed for distribution on github?
On 09/28/2015 08:20 PM, Robert Parker wrote: I need to meet the requirements of 2 sets of users, the ordinary user who is only interested `./configure; make; make install` and the power users who want to start with `autoreconf`. So far google search on the topic has only increased my confusion. The minimum set is 'configure.ac' and 'Makefile.am', but we typically have the m4 files under version control as well to avoid the requirement that the right version should be available in a location where aclocal can find it. Then we usually add some text files also, such as 'README' and definitely 'COPYING'. hth, Peter