Re: [Audacity-devel] Tarballs
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Benjamin D. <bd...@de...> - 2013-01-21 01:46:51
|
Hi Martyn, I consider the maketarball.sh patches save, because they touch only the maketarball.sh script and this script is not part of the tarball. With patch number 9 and 10, I got rid of the 'if'. It works even when using only local libraries. 9) autoreconf-libogg.patch: This patch makes autoreconf work in lib-src/libogg. 10) maketarball-run-autoreconf.patch: Run autoreconf in every library directory to regenerate all autotool files. Running ./configure in maintainer mode is not enough to get everything updated. Note: Running autoreconf in the base directory will not work, because autoreconf will produce a failing configure script for project that aren't using automake (= no Makefile.am). Everyone should be able to reproduce the working tarball by applying the 10 patches, running scripts/maketarball.sh. The tarball generation script should either fail or produce a correct tarball. The case of silently failing should not occur any more. Am Montag, den 21.01.2013, 00:48 +0000 schrieb Martyn Shaw: > Hi Ben > > I have no idea if your patches work, and you are much more of an > expert on that Linux stuff than me. I currently don't have a working > Linux compile system on my main box. > > And our Release Manager (RM) has clearly stated that this is outside > of our 2.0.3 release. We are not doing a fullsrc tarball this time > round (2.0.3), but may do in the future iff we have a devel willing to > do that, and another person or two to confirm it works. > > I note that you say "works correctly if" and that 'if' worries me; can > you get rid of that? > > Are these patches specific to Debian and Ubuntu or are they more > generally applicable? You have to remember that I have little Linux > experience. I think we want patches that work on any Linux system. > > Thanks for your efforts > Martyn > > On 20/01/2013 23:42, Benjamin Drung wrote: > > Am Samstag, den 19.01.2013, 12:19 +0000 schrieb Gale Andrews: > >> | From Vaughan Johnson <va...@au...> > >> | Fri, 18 Jan 2013 19:07:05 -0800 > >> | Subject: [Audacity-devel] Tarballs > >>> On 1/18/2013 3:57 PM, Benjamin Drung wrote: > >>>> Am Mittwoch, den 16.01.2013, 20:21 -0800 schrieb Vaughan Johnson: > >>>>> On 1/16/2013 12:42 PM, Steve the Fiddle wrote: > >>>>>> On 16 January 2013 19:50, Gale Andrews <ga...@au...> wrote: > >>>>>>> | From Steve the Fiddle <ste...@gm...> > >>>>>>>> I'm having some problems with the full-source tarball because: > >>>>>>>> 1) I can't test on Windows > >>>>>>>> 2) A couple of the libraries in SVN do not build correctly on my > >>>>>>>> machine, so they error in the full source tarball. > >>>>>>>> > >>>>>>>> Do we really need the full source tarball? As I understand it, it is > >>>>>>>> better for Linux users to use system libraries when possible. For > >>>>>>>> Windows developers I'd have thought they world be better to use SVN > >>>>>>>> than a tarball. > >>>>> > >>>>> I defer to Linux experts. > >>>> > >>>> I guess that the minsrc tarball is sufficient for most Linux users. We > >>>> always use the minsrc tarball in Debian/Ubuntu and nyquist is the only > >>>> library that we need from the lib-src directory. From a Linux user > >>>> perspective, the full source tarball could go away. > >>>> > >>>> I think it makes sense to keep the full source tarball and use it for > >>>> the Windows (and Mac?) builds. Then you can point user of your built > >>>> binaries to the corresponding source tarballs. This is in my opinion > >>>> easier than to point to a specific revision of an svn checkout. > >>>> > >>> > >>> Okay, thanks, but I don't think we have resources to do full tarball > >>> this release, as was pretty extensively discussed. > >>> > >>> If I'm incorrect about that, sure, let's do it. We're certainly > >>> resource-limited, so I think we should not spend a lot of effort on > >>> icing the cake. > >> > >> The maketarball.sh script uses: > >> > >> ./configure --enable-maintainer-mode --with-libsndfile=local --with-lib-preference=\"local system\" > >> > >> As I understand it, if you try to build all the libs needed for the > >> fullsrc using that ./configure, you end up with a failed configure > >> "fails with unexpected EOF's at line 8525 and 8526" or similar > >> (I can confirm that). > > > > I tried to fix that configure issue and fixed various stuff along the way. > > > > 1) maketarball-check-for-prerequisites.patch: This patch adds tests for > > the scripts that are needed by maketarball.sh and will fail upfront > > instead of silently producing broken configure script and such. > > > > 2) maketarball-drop-unneeded-configure-flag.patch: The configure flag > > --with-libsndfile=local is not needed, because > > --with-lib-preference="local system" already prefers a local library > > over a system library. > > > > 3) maketarball-replace-existing.patch: The maketarball.sh will fail to > > xz-compress the tarballs, if the resulting .tar.xz files already exist. > > This patch remove possible existing .tar.xz files before creating the > > new ones. > > > > 4) fail-on-error.patch: Failures on clean or distclean were ignore. The > > patch will produce a failure if a Makefile exist and the clean/distclean > > target fails. Note: expat has no distclean target and therefore the > > clean target is used on distclean. > > > > With these patches, the resulting fullsrc tarball works correctly if > > system libraries for libvorbis, libmad, and libsndfile are used. Do you > > want this tarball? While investigating, I tried to make autoreconf > > working. These patches are a starting point: > > > > 5) autoconf-warning-v5.patch: AC_CONFIG_SUBDIRS needs to take static > > strings. Dynamically evaluated variables are not allowed. > > > > 6) autoreconf-libsamplerate.patch: ACLOCAL_AMFLAGS should be set it > > Makefile.am to let autoreconf find the directory with the m4 scripts. > > > > 7) autoreconf-libsndfile.patch: ACLOCAL_AMFLAGS should be set it > > Makefile.am to let autoreconf find the directory with the m4 scripts. > > -- Benjamin Drung Debian & Ubuntu Developer |