|
From: Heiko Z. <he...@zu...> - 2010-01-06 14:43:51
|
> > -----Original Message-----
> > From: Andrzej Odyniec [mailto:an...@ma...]
> > Sent: Wednesday, January 06, 2010 8:02 AM
> > To: dev...@li...
> > Subject: Re: [Devil-linux-develop] no more insserv in build system
> >
> > Heiko Zuerker wrote:
> > >>Good questions. :-)
> > >
> > > Yes correct, you need to change the Makefile.xxx
> >
> > This is obvious.
> >
> > > You need to add it twice per file:
> > > First you need to add it to one of the GROUP_xx entries, then you
> > need to
> > > add a line like this:
> > > conntrack-tools: | $(GROUP_17)
> > >
> > > The GOUP_17 in this case means that everything in GROUP_17 has to
> be
> > build
> > > first, before it compiles the script.
> >
> > This is obvious for me after lecture of particular makefiles and
> after
> > comparation of scriptc before and after Your changes.
> >
> > I think, moving dependencies from insserv to explicite declarations
> in
> > Makefile'a is good idea. It gives stability and there is no wait for
> > insserv
> > every build, so it is faster. Theoretically we can decide to build
> > particular
> > package and all it dependencies but not more. But branch experimental
> > builds
> > are harder.
> >
> > Look. I try to compile Asterisk. It builds. I'm now testing it. But
> > Asterisk
> > needs some number of other packages, libraries and drivers, i.e.
> dahdi,
> > OSP,
> > freetds, doxygen, jack, libogg, libpri, libresample, libvorbis, lua,
> > newt,
> > portaudio, radiusclient-ng, slang, spandsp, speex, sqlite2 (damn),
> > stunner,
> > unixODBC, etc. So I wrote scripts for all it. I hope, my work will be
> > inserted
> > into official D-L.
> >
> > And for now before experimental build I'm copying my scripts into
> > proper
> > directories and all rest do insserv. Dependencies was in insserv
> > headers in
> > scripts.
> >
> > Now I need every time I'm doing experimental build, insert my package
> > names
> > into rules in Makefile's. Manually it is horrible, so I need to do it
> > from script.
> >
> > And now I have headache, how to write script
> > InsertInto(Phase,Group,Before,Package)
> >
> > If You have ready function like this, please for it.
> >
> > > I wrote a script which basically create Makefiles from the insserv
> > > configuration. At some point I want to get away from that also and
> > have
> > > every script list the dependencies in the Makefile.
> > > For example:
> > > conntrack-tools: | depencency1 dependency2 dependency3
> > > This way the adding of new functionality would be easier.
> >
> > But internal logic of Your script probably not need function like
> > InsertInto.
> > You start from total set of scripts. I need only add some positions
> > into
> > dependency hierarchy. But maybe?
>
> How about something like this:
> We add an additional include line to the Makefiles:
> Makefile.<phase>.custom -> Makefile.build.custom ,
> Makefile.install.custom
>
> Then you can have your own custom Makefiles, which you just have to
> copy in
> there.
>
> You would only have to specify the dependencies within your own custom
> scripts:
> script1: | script2 script3
> script2: | script5
>
> Let me try adding that functionality to the Makefiles.
I added the change to CVS, update your sources and see how it works for you.
Here's the entry from the CHANGES file:
- added additional Makefiles for custom scripts which are not part of DL
- simply create your own Makefile.<phase>.custom and overwrite the CVS
version
to include your own additions to DL
Heiko
|