-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/03/10 19:04, Karl O. Pinc wrote: > On 03/10/2010 11:54:52 AM, David Sommerseth wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On 10/03/10 18:39, Karl O. Pinc wrote: >>> On 03/10/2010 11:19:13 AM, Alon Bar-Lev wrote: >>>> I will try to explain again. >>>> >>>> You have two roles of environments: >>>> >>>> 1. Developer/packager workstation. >>>> >>>> 2. Target environment. >>>> >>>> For example, 1 would be my computer, and 2 would be the old redhat >>>> computer. >>>> >>>> You go to (1) and do: >>>> $ autoreconf -ivf >>>> $ ./configure && make dist >>>> >>>> Now, you transfer the tarball to users, the old redhat computer is >>>> one >>>> of them. The tarball will work WITHOUT ANY >> AUTOCONF/AUTOMAKE/LIBTOOL >>>> installed. >>>> >>>> I use older environments as (2) such as solaris-8. >>> >>> And you don't generally want to be running ./configure from within >>> a rpm specfile, so the same is true of using the rpm tools: >> >> This is not correct. In fact, you often use the %configure macro in >> %build, which does call ./configure. The only "allowed" exception >> from >> not calling %configure is when ./configure is not a native autotools >> generated configure script. > > Ok. I'm totally wrong here. > > But how is it then that Alon does not run ./configure > on machine 2 above?
The fact is that I believe he does run ./configure on all machines. Autotools just generates a set up files which is not depending on anything else than basic *nix tools, like shell, grep, sed, etc, etc. But to be able to make the tarball via 'make dist', you need to run ./configure first to have a Makefile which knows what the 'dist' rule is. Then the 'dist' rule wraps it all together into a autotools independent tarball, including a prepared ./configure script. >>> On machine 2 you download the tarball, the specfile, (and >>> any patches the rpm maintainer wants to include in the >>> packaged version) and run the rpm build tools on the >>> spec file to build a binary rpm. >>> >>> Note that http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html >>> says: >>> >>> "Once the %prep script has gotten everything ready for the build, >> the % >>> build script is usually somewhat anti-climactic — normally invoking >>> make, maybe a configuration script, and little else. >> >> It's %build which need to do the %configure. All patching must >> happen >> on %prep. But you are right, if there are applied patches which >> updates >> some of the autotools generated files, I believe autotools need to be >> run again. Right, Alon? > > Nothing should patch the autotools generated files, just the autotools > source files. Right? Correct, that was my mistake. I initially meant autotools source files. But I believe autotools can detect if some of the generated files have been modified and it will then want to run 'autoreconf' automatically again. I believe I've seen this behaviour some times. kind regards, David Sommerseth -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAkuX4HMACgkQDC186MBRfrox/wCeIzBmcdNaamPjobF0qXX5+Frs YJgAn11CqkBVYLTzsUS3ygGP576WzqSl =4qX5 -----END PGP SIGNATURE-----