[Pkg-freeipmi-devel] freeipmi packaging RFH [question to Albert]

Albert Chu chu11 at llnl.gov
Thu Jul 5 22:34:45 UTC 2012


On Thu, 2012-07-05 at 11:58 -0700, Yaroslav Halchenko wrote:
> On Thu, 05 Jul 2012, Albert Chu wrote:
> > > sources.  I understand the reason behind 'make src' "source
> > > distribution" autoconf provides,
> > I assume you mean 'make dist'?
> 
> of course!  I guess I just got mislead by old memories + having 'sdist'
> command in Python distutils land ;)
> 
> > > but imho as years passed and
> > > software/tools distribution became more robust I wonder if you
> > > have any plans to switch to distributing pristine vanilla source
> > > tarballs  requiring full autoconf/configure/make chain? ;)
> > Historically, my understanding is that shipping w/ the pre-generated
> > configure, Makefile.in, etc. is necessary b/c you don't know what
> > version of autoconf/automake/etc. the end user might have on their
> > system.  If their autoconf/automake is too old/new, then the build may
> > break.  I know I've personally encountered this issue.
> 
> Yes -- that is indeed the idea behind pre-cooked source distributions.
> Just FYI in Debian land we are advised
> http://anonscm.debian.org/gitweb/?p=users/hmh/autotools-dev.git;a=blob;f=debian/autotools-dev.README.Debian;hb=HEAD
> to use provided by Debian's package config.{sub,guess} etc to guarantee
> actually their adequate versions ;)
> 
> 
> > > We wondered if you have a strong opinion bout shipping
> > > pre-generated "source" files, or could you distribute a "pristine
> > > sources" tarball.
> 
> > It's not a personal "strong opinin", but it seems what most people do??
> > That's my personal experience atleast.  I could be very very wrong.
> 
> You are not wrong ;-)  Actually I was blurbing in a rush:  because of the
> above I usually prefer to deal with actual "pristine source tarballs" instead
> of the  "pre-cooked" ones, and that is why started to blurb about needing a
> complete chain, pardon me for misleading.
> 
> Main concern for us is actually those files which are re-generated
> anyways by ./configure + make (that is what "users" would run anyways, right?
> ;) ), e.g.:
> 
> config.status: creating libfreeipmi/include/freeipmi/freeipmi.h
> config.status: creating libipmiconsole/ipmiconsole.h
> config.status: creating libipmidetect/ipmidetect.h
> ...
> config.status: creating man/bmc-config.8.pre
> config.status: creating man/bmc-config.conf.5.pre
> config.status: creating man/bmc-device.8.pre
> config.status: creating man/bmc-info.8.pre
> config.status: creating man/bmc-watchdog.8.pre
> config.status: creating man/freeipmi.conf.5.pre
> ...
> 
> cpp call later on is used to generate manpages.
> 
> so those files, even though shipped in a tarball, are not used as is, but get
> regenerated anyways -- so why to ship them than?

Ohhhh.  I understand what you're talking about now.  Actually, I am not
sure why 'make dist' even includes those files in the tar.gz.  I would
think they shouldn't since it is created on ./configure or make time.  I
will need to research this a bit.  Maybe there is some magic flag that
I'm missing.  It's certainly not quite what I would think it should do.

> > > Having both original and pre-generated sources makes clean packaging a
> > > bit more awkward for us (as you might have mentioned with those patches
> > > I have sent needing to modify both original and generated manpages ;)
> > > )...62  
> 
> > I am far more familiar with rpm based packaging, so perhaps I don't
> > understand the difficulty you guys would have with the way I package.
> > What difficulty arises?
> 
> 
> debian/rules clean  # which calls make distclean
> 
> should return the source tree to pristine state as it was before building
> (otherwise consecutive build of the source tarball would result in somewhat a
> new source tree).  With all the re-generated files, it is not possible.
> 
> 
> > > before with your CVS I believe), or look at build-time solutions to
> > > preserve them through the build...
> > I was just about to say, maybe it'd be easiest to just pull from SVN
> > after I do a release?  I always tag with the same pattern, so it should
> > be easy to script?
> 
> yes... and we are already using pristine-tar to keep generated tarballs within
> the same GIT repository, so we should be all set to guarantee uniqueness of the
> tarball used by us...
> 
> Related question (if we go SVN snapshot way): Is there any sandbox
> code/documentation/... which is heavy, present in SVN but not distributed as
> part of the source distribution?

I don't think so.  It's certainly not the intent.  Skimming the
Makefile's really quick, I don't think so.

Al

> -- 
> Yaroslav O. Halchenko
> Postdoctoral Fellow,   Department of Psychological and Brain Sciences
> Dartmouth College, 419 Moore Hall, Hinman Box 6207, Hanover, NH 03755
> Phone: +1 (603) 646-9834                       Fax: +1 (603) 646-1419
> WWW:   http://www.linkedin.com/in/yarik        
-- 
Albert Chu
chu11 at llnl.gov
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory





More information about the Pkg-freeipmi-devel mailing list