}
}
+sub generate_depends_xmlfile() {
+ my $out = "$depends_dir/$dist/$arch/";
+ mkdir_p($out);
+
+ # my $total = scalar (keys %to_build);
+ # my $index = 1;
+
+ #Generate dependence XML file.
+ info("Generating dependence XML file...");
+ my $pkgdepsxml = "$out/$dist\_$arch\_pkgdepends.xml";
+ open(my $f, '>', $pkgdepsxml) or die "$pkgdepsxml - $!";
+ print $f "<builddepinfo>\n";
+ #sort in alphabetical order
+ foreach my $p (sort keys %to_build) {
+ #info("[$index/$total] generating dependence for package $p...");
+ print $f "<package name= \"$p\">\n";
+ #output package source name
+ print $f "<source>$p</source>\n";
+ #output reverse dependence package info.
+ foreach my $dep (sort @{$pkgdeps{$p}}) {
+ print $f "<pkgdep>$dep</pkgdep>\n";
+ }
+ #output subpkg info.
+ foreach my $subpn (sort @{$to_build{$p}->{subpacks}}) {
+ print $f "<subpkg>$subpn</subpkg>\n";
+ }
+ print $f "</package>\n";
+ #$index++;
+ }
+ print $f "</builddepinfo>\n";
+ close $f;
+ if ($tarfile)
+ {
+ my_system("cd $out; tar -zcf $dist\_$arch\_pkgdepends.tar.gz $dist\_$arch\_pkgdepends.xml");
+ my_system("rm -rf $pkgdepsxml");
+ }
+ info("The dependence XML file has been generated in $out");
+
+ #Generate reverse dependence XML file.
+ info("Generating reverse dependence XML file...");
+ my $revpkgdepsxml = "$out/$dist\_$arch\_revpkgdepends.xml";
+ open(my $rf, '>', $revpkgdepsxml) or die "$revpkgdepsxml - $!";
+ print $rf "<builddepinfo>\n";
+ #sort in alphabetical order
+ foreach my $p (sort keys %to_build) {
+ #info("[$index/$total] generating reverse dependence for package $p...");
+ print $rf "<package name= \"$p\">\n";
+ #output package source name
+ print $rf "<source>$p</source>\n";
+ #output reverse dependence package info.
+ foreach my $dep (sort @{$pkgrdeps{$p}}) {
+ print $rf "<pkgdep>$dep</pkgdep>\n";
+ }
+ #output subpkg info.
+ foreach my $subpn (sort @{$to_build{$p}->{subpacks}}) {
+ print $rf "<subpkg>$subpn</subpkg>\n";
+ }
+ print $rf "</package>\n";
+ #$index++;
+ }
+ print $rf "</builddepinfo>\n";
+ close $rf;
+ if ($tarfile)
+ {
+ my_system("cd $out; tar -zcf $dist\_$arch\_revpkgdepends.tar.gz $dist\_$arch\_revpkgdepends.xml");
+ my_system("rm -rf $revpkgdepsxml");
+ }
+
+ info("The reverse dependence XML file has been generated in $out");
+
+
+}
+
sub generate_depends() {
($_, $start_time) = my_system("date +\"%Y-%m-%d %H:%M %z\"");
($_, $gbs_version) = my_system("gbs -V");
update_pkgdeps($reverse_on);
update_pkgrdeps();
- my $out = "$depends_dir/$dist/$arch/";
- mkdir_p($out);
-
- # my $total = scalar (keys %to_build);
- # my $index = 1;
+ generate_depends_xmlfile();
- #Generate dependence XML file.
- info("Generating dependence XML file...");
- my $pkgdepsxml = "$out/$dist\_$arch\_pkgdepends.xml";
- open(my $f, '>', $pkgdepsxml) or die "$pkgdepsxml - $!";
- print $f "<builddepinfo>\n";
- #sort in alphabetical order
- foreach my $p (sort keys %to_build) {
- #info("[$index/$total] generating dependence for package $p...");
- print $f "<package name= \"$p\">\n";
- #output package source name
- print $f "<source>$p</source>\n";
- #output reverse dependence package info.
- foreach my $dep (sort @{$pkgdeps{$p}}) {
- print $f "<pkgdep>$dep</pkgdep>\n";
- }
- #output subpkg info.
- foreach my $subpn (sort @{$packs{$p}->{subpacks}}) {
- print $f "<subpkg>$subpn</subpkg>\n";
- }
- print $f "</package>\n";
- #$index++;
- }
- print $f "</builddepinfo>\n";
- close $f;
- if ($tarfile)
- {
- my_system("cd $out; tar -zcf $dist\_$arch\_pkgdepends.tar.gz $dist\_$arch\_pkgdepends.xml");
- my_system("rm -rf $pkgdepsxml");
- }
- info("The dependence XML file has been generated in $out");
-
- #Generate reverse dependence XML file.
- info("Generating reverse dependence XML file...");
- my $revpkgdepsxml = "$out/$dist\_$arch\_revpkgdepends.xml";
- open(my $rf, '>', $revpkgdepsxml) or die "$revpkgdepsxml - $!";
- print $rf "<builddepinfo>\n";
- #sort in alphabetical order
- foreach my $p (sort keys %to_build) {
- #info("[$index/$total] generating reverse dependence for package $p...");
- print $rf "<package name= \"$p\">\n";
- #output package source name
- print $rf "<source>$p</source>\n";
- #output reverse dependence package info.
- foreach my $dep (sort @{$pkgrdeps{$p}}) {
- print $rf "<pkgdep>$dep</pkgdep>\n";
- }
- #output subpkg info.
- foreach my $subpn (sort @{$packs{$p}->{subpacks}}) {
- print $rf "<subpkg>$subpn</subpkg>\n";
- }
- print $rf "</package>\n";
- #$index++;
- }
- print $rf "</builddepinfo>\n";
- close $rf;
- if ($tarfile)
- {
- my_system("cd $out; tar -zcf $dist\_$arch\_revpkgdepends.tar.gz $dist\_$arch\_revpkgdepends.xml");
- my_system("rm -rf $revpkgdepsxml");
- }
-
- info("The reverse dependence XML file has been generated in $out");
}
#use pre-export source to analyse
sub fill_packs_from_dir {
}
info("package dependency resolving ...");
-update_pkgdeps($reverse_off);
+update_pkgdeps($reverse_on);
update_pkgddeps();
my @bins = get_binary_list();
resolve_skipped_packages();
}
$get_order = 0;
- update_pkgdeps($reverse_off);
+ update_pkgdeps($reverse_on);
update_pkgddeps();
}
+#alway generate depends and reverse depends xml file.
+generate_depends_xmlfile();
+
warning("no available packages to build.") if (scalar (keys %to_build) == 0);
if ($incremental == 1 && scalar(keys %to_build) > 1) {