Hello community, here is the log from the commit of package preload for openSUSE:Factory checked in at Tue Nov 2 14:07:22 CET 2010. -------- --- preload/preload.changes 2010-06-29 16:15:10.000000000 +0200 +++ /mounts/work_src_done/STABLE/preload/preload.changes 2010-10-29 15:23:49.000000000 +0200 @@ -1,0 +2,5 @@ +Fri Oct 29 13:22:53 UTC 2010 - coolo@novell.com + +- work on perl warnings and remove -s 3 from stap, it's buggy atm + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- fixfactory.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ preload.spec ++++++ --- /var/tmp/diff_new_pack.CQWaE2/_old 2010-11-02 14:06:36.000000000 +0100 +++ /var/tmp/diff_new_pack.CQWaE2/_new 2010-11-02 14:06:36.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package preload (Version 1.1) +# spec file for package preload (Version 1.2) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,8 +19,8 @@ Name: preload -Version: 1.1 -Release: 14 +Version: 1.2 +Release: 1 Summary: Preloads Files into System Cache for Faster Booting License: GPLv2+ Group: System/Boot @@ -29,7 +29,6 @@ Source1: %name-rpmlintrc Source2: preamble Source6: bootfaster.diff -Patch0: fixfactory.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: e2fsprogs-devel gcc-c++ update-desktop-files PreReq: %fillup_prereq %insserv_prereq @@ -56,7 +55,6 @@ %prep %setup -n preload -%patch0 -p1 mkdir obj %build @@ -72,7 +70,7 @@ kernels=`cd /usr/lib/debug/lib/modules && ls -1d *-$flavor ` cp -r source obj/$flavor make -C /usr/src/linux-obj/%_target_cpu/$flavor modules M=$PWD/obj/$flavor - stap -s 3 -p 4 -DMAXSTRINGSIZE=300 -DMAXSKIPPED=2000 -r $kernels -m preloadtrace obj/$flavor/preloadtrace.stp + stap -p 4 -DMAXSTRINGSIZE=300 -DMAXSKIPPED=2000 -r $kernels -m preloadtrace obj/$flavor/preloadtrace.stp mv preloadtrace.ko obj/$flavor done ++++++ preload.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/preload/.gitignore new/preload/.gitignore --- old/preload/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/preload/.gitignore 2010-10-29 15:21:06.000000000 +0200 @@ -0,0 +1,5 @@ +preload +preload-client +print-bmap +stap/preloadtrace.ko +waitforidle diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/preload/init.startpreload new/preload/init.startpreload --- old/preload/init.startpreload 2009-05-06 13:41:33.000000000 +0200 +++ new/preload/init.startpreload 2010-10-29 15:21:06.000000000 +0200 @@ -30,14 +30,14 @@ ;; esac done - if test "$preload" = 1; then - cmd=staprun + if test "$preload" = 1 -a -e /usr/bin/staprun; then + cmd=/usr/bin/staprun case "$preloadlog" in /dev/null) cmd= ;; /dev/tty*) - cmd="staprun -b 40" + cmd="/usr/bin/staprun -b 40" ;; esac if test -n "$cmd"; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/preload/prepare_preload new/preload/prepare_preload --- old/preload/prepare_preload 2010-06-22 12:11:20.000000000 +0200 +++ new/preload/prepare_preload 2010-10-29 15:21:06.000000000 +0200 @@ -1,6 +1,10 @@ -#! /usr/bin/perl +#! /usr/bin/perl -w +use warnings FATAL => 'all'; use strict; + +#use Carp::Always; +#$SIG{__DIE__} = sub { Carp::confess( @_ ) }; use File::stat; use File::Copy; use Fcntl ':mode'; @@ -61,6 +65,7 @@ sub make_abs($$) { my ($pwd, $f) = @_; + return undef unless ($f && $pwd); return $f if ($f =~ m,^/,); if ($f eq '..') { $pwd =~ s,/[^/]+/*$,,; @@ -190,9 +195,9 @@ $fname = make_abs($pwds{$pid}, $args->[0]); } - next if ($fname =~ m,^/proc/, || $fname =~ m,^/sys/, || $fname =~ m,^/dev/,); - next if (grep(/^$syscall$/, ("mkdir", "chown32", "chown", "unlink", "chmod", "mknod", "statfs", "rename", "rmdir", "link", "getcwd", "creat","close", "fork"))); - next if ($command eq "preload"); + return if (!$fname || $fname =~ m,^/proc/, || $fname =~ m,^/sys/, || $fname =~ m,^/dev/,); + return if (grep(/^$syscall$/, ("mkdir", "chown32", "chown", "unlink", "chmod", "mknod", "statfs", "rename", "rmdir", "link", "getcwd", "creat","close", "fork"))); + return if ($command eq "preload"); if ($syscall eq 'open' || $syscall eq 'failedopen') { add_command($time, $pid, "stat", $fname); @@ -221,17 +226,19 @@ } my $file = make_abs($dir, $args->[2]); $fds{$pid}->{$args->[0]} = $file; - add_command($time, $pid, "open", $file); + add_command($time, $pid, "open", $file) if $file; } return 0; } +sub get_process_tree($); + sub get_process_tree($) { my $pid = shift; - if (!$pid) { return "" }; + if (!$pid || !defined $commandnames{$pid}) { return "" }; if (!defined $ppids{$pid}) { return $commandnames{$pid}; } - my $parent = get_process_tree($ppids{$pid}); + my $parent = get_process_tree($ppids{$pid}) || ''; if ($parent =~ m,/$commandnames{$pid}$, || $parent eq $commandnames{$pid} || !$commandnames{$pid}) { return $parent; } return $parent . "/" . $commandnames{$pid}; } @@ -264,7 +271,7 @@ my $line = $_; my @split = split(/ /, $line); next if (@split < 4); - + my $time = shift @split; $time =~ s,\.,,; $time = int($time); @@ -272,7 +279,8 @@ my $command = shift @split; my $syscall = shift @split; my $args = []; - while (my $rest = shift @split) { push(@$args, $rest); } + my $rest = shift @split; + while (defined $rest) { push(@$args, $rest); $rest = shift @split; } if ($lasttime != 0 && abs($time - $lasttime) > 20000) { @@ -283,10 +291,10 @@ $filelists{$process}->{starttime} = $time; } } - $lasttime = $time; - if (parse_command($time, $command, $pid, $syscall, $args)) { - last; - } + $lasttime = $time; + if (parse_command($time, $command, $pid, $syscall, $args)) { + last; + } } my @pids = keys %filelists; foreach my $pid (@pids) { @@ -399,8 +407,8 @@ my ($last_file, $last_ofs, $last_len, $last_idx) = ('', 0, 0, -1); my @commands = []; -my %order2cmd = {}; -my %cmd2order = {}; +my %order2cmd = (); +my %cmd2order = (); my $command_index = 0; sub add_ordered_command($$) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/preload/stap/preloadtrace.stp new/preload/stap/preloadtrace.stp --- old/preload/stap/preloadtrace.stp 2009-08-13 08:56:09.000000000 +0200 +++ new/preload/stap/preloadtrace.stp 2010-10-29 15:21:06.000000000 +0200 @@ -99,11 +99,7 @@ println(process_indent() . sprintf("fchdir %d", $fd )) } -%( arch == "x86_64" %? -probe syscall.mmap.return { -%: -probe syscall.mmap2.return { -%) +probe kernel.function("sys_mmap_pgoff").return { # print(process_indent() . " mmap " . sprintf("%d", $fd) . "\n") if ($fd >= 0 && $fd < 66000 && readfrom[pid(), $fd] == 1 && fdstoignore[pid(), $fd] != 1 ) { println(process_indent() . sprintf("read %d", $fd)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/preload/waitforidle.cpp new/preload/waitforidle.cpp --- old/preload/waitforidle.cpp 2009-04-16 20:22:13.000000000 +0200 +++ new/preload/waitforidle.cpp 2010-10-29 15:21:06.000000000 +0200 @@ -99,8 +99,9 @@ DEBUG( cerr << "high io " << diff << endl ); idlefor = 0; continue; - } else + } else { DEBUG( cerr << "io is fine: " << diff << endl ); + } DEBUG( cerr << "idle for " << idlefor << " seconds\n" ); if ( ++idlefor > 2 ) break; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org