On Sat, Jun 19, 2010 at 03:51:17PM +0200, Remy Bohmer wrote:
> Hi,
> 
> 2010/6/19 Michael Olbrich <[email protected]>:
> > On Sat, Jun 05, 2010 at 12:08:34PM +0200, Remy Bohmer wrote:
> >> When files in the projectroot directory are being used in install_copy() 
> >> and
> >> install_alternative() then there are no dependencies to these files.
> >>
> >> This is being solved by storing all dependencies of the targetinstall
> >> stage in a seperate state/<package>.deps file.
> >> These state/<package>.deps files are included in the top-level ptxdist 
> >> makefile
> >> and this makes ptxdist properly handle the dependencies.
> > [...]
> >>      for src in "${li...@]}"; do
> >>       if [ -e "${src}" ]; then
> >> +             # Since the dependency to the source files is dynamic we 
> >> store
> >> +             # the dependency information in a dependency file that can be
> >> +             # included in the make files itself.
> >> +             deprule="${ptx_state_dir}/${pkg_label}.targetinstall: ${src}"
> >
> > Could you change this to (untested):
> > deprule="${ptx_state_dir}/${pkg_label}.targetinstall: \$(wildcard ${src})"
> 
> OK, will try.
> I was wondering about the ${pkg_label}. Previously we had ${pkg_xpkg} instead.
> Since we changed it to pkg_label we get some weird (circular) rebuilds
> with out-of-kernel-tree modules.
> I reverted it back to pkg_xpkg instead and it works much better, so
> that is what I have in my tree right now.

I see the problem. Look at the kernel-modules.deps. With pkg_xpkg you get
kernel-modules.targetinstall: <file>
this is ignored.
With pkg_label you get
kernel.targetinstall: <file>
but the files may be created _after kernel.targetinstall but before
kernel.targetinstall.post. This results in the rebuilds that you can see.
Try this:

deprule="${ptx_state_dir}/${pkg_stamp}: \$(wildcard ${src})"

This should give you
kernel.targetinstall.post: <file>
for kernel-modules.deps and no circular rebuilds.

Michael Olbrich

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
[email protected]

Reply via email to