[yast-commit] r55426 - /trunk/devtools/devtools/bin/y2makeall
Author: dmacvicar Date: Wed Feb 11 15:56:58 2009 New Revision: 55426 URL: http://svn.opensuse.org/viewcvs/yast?rev=55426&view=rev Log: merge back y2makeall we use on Hudson, with additional features like printing the base buildrequires. Stano's work Modified: trunk/devtools/devtools/bin/y2makeall Modified: trunk/devtools/devtools/bin/y2makeall URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/bin/y2makeall?rev=55426&r1=55425&r2=55426&view=diff ============================================================================== --- trunk/devtools/devtools/bin/y2makeall (original) +++ trunk/devtools/devtools/bin/y2makeall Wed Feb 11 15:56:58 2009 @@ -14,7 +14,7 @@ use Getopt::Long; use File::Basename; use IPC::Open2; - +use Data::Dumper; # # Configuration variables. # @@ -41,6 +41,12 @@ "packagemanager-test" ); +if ( $ENV{'Y2MAKEALL_EXCLUDE'} ) +{ + push @exclude_list, split(/ /, $ENV{'Y2MAKEALL_EXCLUDE'}); + print Dumper(@exclude_list); +} + # Personal favourites - those directories will be processed first (in this order). # This is what most YCP package maintainers will want to change in their personal # ~/.yast2/y2makeallrc file to get their personal packages processed first. @@ -56,6 +62,14 @@ "packager" ); +if ( $ENV{'Y2MAKEALL_FAVOURITES'} ) +{ + print "favoritos"; + @ycp_favourites = split(/ /, $ENV{'Y2MAKEALL_FAVOURITES'}); + Dumper(@ycp_favourites); + +} + # Dependencies (from all other YaST2 packages) that are deliberately ignored. # This is necessary to break up dependency cycles which otherwise would make # bootstrapping impossible. @@ -124,6 +138,7 @@ my %relevant_rpms; my %pkg_provides; my %pkg_requires; +my %pkg_buildrequires; my %provided_by; my %base_rpms; my @build_order; @@ -159,6 +174,7 @@ my $no_sudo = 0; my $dump_build_order = 0; my $dump_dependencies = 0; + my $dump_builddependencies = 0; my $ignore_libzypp = 0; my $build_libzypp = 0; my $enable_icecream = 0; @@ -169,6 +185,7 @@ "no-sudo" => \$no_sudo, "dump-build-order" => \$dump_build_order, "dump-dependencies" => \$dump_dependencies, + "dump-builddependencies"=> \$dump_builddependencies, "dry-run" => \$dry_run, "ignore-libzypp" => \$ignore_libzypp, "build-libzypp" => \$build_libzypp, @@ -177,6 +194,7 @@ "icecream" => \$enable_icecream, "icecream-prefix=s" => \$icecream_prefix, "jobs=i" => \$jobs, + "rcfile=s" => \$user_config_file, "verbose" => \$verbose, "debug" => \$debug, "silent" => \$silent, @@ -282,6 +300,12 @@ exit; } + if ( $dump_builddependencies ) + { + dump_builddependencies(); + exit; + } + if ( $dump_build_order ) { dump_build_order(); @@ -367,6 +391,7 @@ { read_all_dependencies(); expand_provides(); + %pkg_buildrequires = %pkg_requires; kick_irrelevant_requires(); tsort_dependencies(); } @@ -618,6 +643,26 @@ } } +#----------------------------------------------------------------------------- + +# Dump all build depencencies to stdout. + +sub dump_builddependencies() +{ + my $rpm; + + foreach $rpm ( sort( keys( %pkg_buildrequires ) ) ) + { + my $req = $pkg_buildrequires{ $rpm }; + my $this_pkg_requires; + + foreach $this_pkg_requires ( sort( keys( %$req ) ) ) + { + log_always( "$rpm", $this_pkg_requires ); + } + } +} + #----------------------------------------------------------------------------- @@ -740,6 +785,7 @@ { my $old_requires = $pkg_requires{ $pkg }; my %new_requires; + my %new_buildrequires; my $req; foreach $req ( keys %$old_requires ) @@ -758,11 +804,13 @@ else { log_debug( "Kicking irrelevant dependency \"$pkg requires $req\"" ); + $new_buildrequires{ $req } = 1; } } } $pkg_requires{ $pkg } = \%new_requires; + $pkg_buildrequires{ $pkg } = \%new_buildrequires; } } @@ -1408,6 +1456,7 @@ --dump-build-order only dump the build order to stdout and log --dump-dependencies only dump package dependencies to stdout and log + --dump-builddependencies only dump package dependencies outside of YaST to stdout and log --dry-run do not build anything, only print what would be done --ignore-libzypp do not complain if multiple versions of libzypp are installed @@ -1415,6 +1464,7 @@ --icecream-prefix <prefix> use <prefix> instead of /opt/icecream --jobs Specifies the number of jobs to run simultaneously (default 8) + --rcfile <rcfile> use alternative location for reading y2makeallrc file -v (--verbose) verbose output -d (--debug) debug output (even more verbose) -s (--silent) turn verbosity down -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
dmacvicar@svn.opensuse.org