On Thu, Feb 26, 2009 at 01:16:49PM +0100, Marcus Hüwe wrote:
the format which is used by Build::readdeps() looks like this: P:<id>: <list of provides separated by a whitespace> R:<id>: <list of requires separated by a whitespace> And <id> looks like <pkgname><some other info> - at least that's the impression I got after reading the code + looking at e.g. createyastdeps. So an example entry would look like this:
P:foo-bar-gui-qt: foo-bar-gui-qt = 1.0 R:foo-bar-gui-qt: libfoo P:foo-bar-gui-gtk: foo-bar-gui-gtk = 1.0 R:foo-bar-gui-gtk: libbar
These are valid package names but aren't parsed correctly by Build::readdeps() which is due to ... if ($s =~ s/^P:(.*):$/$1/) { my $pkgid = $s; $s =~ s/-[^-]+-[^-]+-[^-]+$//; $provides{$s} = \@ss; ... # the same for provides
Yep, Build::readdeps() is broken. It still is only able to parse the old autobuild format while the Build.pm code nowadays writes some slight different format. Luckily this part of readdeps() isn't used at all, thus we're free to fix it.
The problem is that I didn't get the idea of this substitute (apart from causing problems). Additionally what's the idea of the $pkgidp hashref which can be passed to Build::readdeps()?
It can be used to record the package->pkgid relation. Used in legacy autobuild code. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org