[wpkg-users] dependency checking broken?

Marc Hennes mh at financial.com
Tue Jan 30 10:50:54 CET 2007

Hash: SHA1


I ran into a problem with packages depending on others.
I wrote a little test to check if I can reproduce what I've seen when
installing with wpkg:

<package id='A' name='a' revision='1' priority='20' reboot='false' >
        <check type='file' condition='exists' path='ashdks' />
        <install cmd='aslkjdlka' />
        <remove cmd='tasklist' />

<package id='B' name='b' revision='1' priority='10' reboot='false' >
        <depends package-id='A' />
        <check type='file' condition='exists' path='c:\cmd.exe' />
        <install cmd='xcopy c:\windows\system32\cmd.exe c:\ ' />
        <remove cmd='del c:\cmd.exe' />

<profile id='test'>
  <depends profile-id='test2' />
  <package package-id='A' />

<profile id='test2'>
  <package package-id='B' />

<host name='lala' profile-id='test' />

As you can see I have two profiles. Profile test including profile
test2. And package b depends on package a. Now I run wpkg and it tries
first to install package a which fails of course. But then wpkg is doing
something I don't understand because it installs package b although it
depends on package a. In my opinion wpkg shouldn't try to install
package b but ignore it or better exit with an error.

Here is the output from wpkg with /debug:

Using profile: test
profile: test profileNode:
Checking profile dependency: test2
Add profile dependecy: test2
Checking package dependency: A
number of available packages: 2
number of packages to remove: 0
checking existence of package:A
The path 'ashdks' does not exist: the test failed
Installing A...
executing command : aslkjdlka
checking existence of package:B
The path 'c:\cmd.exe' does not exist: the test failed
Installing B...
executing command : xcopy c:\windows\system32\cmd.exe c:\
command returned result: 0
checking existence of package:B
The path 'c:\cmd.exe' exists: the test was successful
saving XML : C:\WINDOWS\system32\wpkg.xml
Installation of B successful.

There were the following errors:
Package name: A
Could not install A.
Command "aslkjdlka" was not successful.
Das System kann die angegebene Datei nicht finden.
(Can't locate given file)

For me it looks like wpkg is checking dependencies just at the
beginning. It sees package B depends on package A and A should be
installed. So anything is good. But then A can't be installed and there
is no more checking before trying to install B.


Version: GnuPG v1.4.5 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org


wpkg-users mailing list
wpkg-users at lists.wpkg.org

More information about the wpkg-users mailing list