From 5e6e33a4661b5116e36524b2bcae8793622c1933 Mon Sep 17 00:00:00 2001 From: Francois Pons Date: Thu, 5 Jul 2001 13:32:16 +0000 Subject: added compute_id method. --- rpmtools.pm | 19 +++++++++++++++++++ rpmtools.spec | 5 ++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/rpmtools.pm b/rpmtools.pm index eb9aa14..4cd3f0e 100644 --- a/rpmtools.pm +++ b/rpmtools.pm @@ -191,6 +191,25 @@ sub read_rpms { map { rpmtools::_parse_($_, $params->{flags}, $params->{info}, $params->{provides}) } @rpms; } +#- allocate id for newly entered value. +#- this is no more necessary to compute_depslist on them (and impossible) +sub compute_id { + my ($params) = @_; + + #- avoid recomputing already present infos, take care not to modify + #- existing entries, as the array here is used instead of values of infos. + my @info = grep { ! exists $_->{id} } values %{$params->{info}}; + + #- give an id to each packages, start from number of package already + #- registered in depslist. + my $global_id = scalar @{$params->{depslist}}; + foreach (sort { package_name_compare($a->{name}, $b->{name}) } @info) { + $_->{id} = $global_id++; + push @{$params->{depslist}}, $_; + } + 1; +} + #- compute dependencies, result in stored in info values of params. #- operations are incremental, it is possible to read just one hdlist, compute #- dependencies and read another hdlist, and again. diff --git a/rpmtools.spec b/rpmtools.spec index e388e07..171d94f 100644 --- a/rpmtools.spec +++ b/rpmtools.spec @@ -1,5 +1,5 @@ %define name rpmtools -%define release 7mdk +%define release 8mdk # do not modify here, see Makefile in the CVS %define version 3.0 @@ -54,6 +54,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/perl5/man/*/* %changelog +* Thu Jul 5 2001 François Pons 3.0-8mdk +- added compute_id function. + * Mon Jul 2 2001 François Pons 3.0-7mdk - added arch check support for parsehdlist. -- cgit v1.2.1