Re: [ptxdist] [PATCH v2] Fix dependencies to files in projectroot

2010-06-30 Thread Michael Olbrich
On Sun, Jun 20, 2010 at 11:20:24AM +0200, Michael Olbrich wrote:
 On Sat, Jun 19, 2010 at 03:51:17PM +0200, Remy Bohmer wrote:
  Hi,
  
  2010/6/19 Michael Olbrich m.olbr...@pengutronix.de:
   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.

Ping.

Did you find the time to test this? I'd like to merge this before the next
release.

Regards,
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- |

-- 
ptxdist mailing list
ptxdist@pengutronix.de


Re: [ptxdist] [PATCH v2] Fix dependencies to files in projectroot

2010-06-30 Thread Remy Bohmer
Hi,

 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.

 Ping.

 Did you find the time to test this? I'd like to merge this before the next
 release.

Sorry, I thought I answered this already...
Yes, it is working properly and I am using it for since you posted it...
In a minute I will post what I have in our queue right now.

Kind regards,

Remy

-- 
ptxdist mailing list
ptxdist@pengutronix.de


Re: [ptxdist] [PATCH v2] Fix dependencies to files in projectroot

2010-06-19 Thread Michael Olbrich
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})

targetinstall should fail (with a nice error message), if the file is not
there, not some strange missing dpendency.

mol

 +
 + # Make the deps rule robust for varying installation paths, and
 + # make the deps rules file more readable.
 + deprule=${deprule//${PTXDIST_TOPDIR}/\$(PTXDIST_TOPDIR)}
 + deprule=${deprule//${PTXDIST_WORKSPACE}/\$(PTXDIST_WORKSPACE)}
 + echo ${deprule}  ${pkg_xpkg_install_deps}
   return
   fi
  done

-- 
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- |

-- 
ptxdist mailing list
ptxdist@pengutronix.de


Re: [ptxdist] [PATCH v2] Fix dependencies to files in projectroot

2010-06-19 Thread Remy Bohmer
Hi,

2010/6/19 Michael Olbrich m.olbr...@pengutronix.de:
 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.

What do you think?

Kind regards,

Remy

-- 
ptxdist mailing list
ptxdist@pengutronix.de