diff options
author | Nicolas Vigier <boklm@mageia.org> | 2013-04-14 13:46:12 +0000 |
---|---|---|
committer | Nicolas Vigier <boklm@mageia.org> | 2013-04-14 13:46:12 +0000 |
commit | 1be510f9529cb082f802408b472a77d074b394c0 (patch) | |
tree | b175f9d5fcb107576dabc768e7bd04d4a3e491a0 /zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea | |
parent | fa5098cf210b23ab4f419913e28af7b1b07dafb2 (diff) | |
download | archives-master.tar archives-master.tar.gz archives-master.tar.bz2 archives-master.tar.xz archives-master.zip |
Diffstat (limited to 'zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea')
-rw-r--r-- | zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment-0001.html | 156 | ||||
-rw-r--r-- | zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment.html | 156 |
2 files changed, 312 insertions, 0 deletions
diff --git a/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment-0001.html b/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment-0001.html new file mode 100644 index 000000000..fd24dde22 --- /dev/null +++ b/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment-0001.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" +"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<title>[338] Ugly code rejecting submit when buildrequires are missing</title> +</head> +<body> + +<style type="text/css"><!-- +#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; } +#msg dl.meta dt { float: left; width: 6em; font-weight: bold; } +#msg dt:after { content:':';} +#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; } +#msg dl a { font-weight: bold} +#msg dl a:link { color:#fc3; } +#msg dl a:active { color:#ff0; } +#msg dl a:visited { color:#cc6; } +h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; } +#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; } +#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; } +#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; } +#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; } +#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; } +#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } +#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; } +#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; } +#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; } +#logmsg pre { background: #eee; padding: 1em; } +#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;} +#logmsg dl { margin: 0; } +#logmsg dt { font-weight: bold; } +#logmsg dd { margin: 0; padding: 0 0 0.5em 0; } +#logmsg dd:before { content:'\00bb';} +#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; } +#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; } +#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; } +#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; } +#logmsg table th.Corner { text-align: left; } +#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; } +#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; } +#patch { width: 100%; } +--></style> +<div id="msg"> +<dl class="meta"> +<dt>Revision</dt> <dd>338</dd> +<dt>Author</dt> <dd>pterjan</dd> +<dt>Date</dt> <dd>2011-01-22 15:49:03 +0100 (Sat, 22 Jan 2011)</dd> +</dl> + +<h3>Log Message</h3> +<pre>Ugly code rejecting submit when buildrequires are missing</pre> + +<h3>Added Paths</h3> +<ul> +<li><a href="#build_systemmdvyourisubmittrunklibYouriSubmitCheckDepspm">build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm</a></li> +</ul> + +</div> +<div id="patch"><pre> +<a id="build_systemmdvyourisubmittrunklibYouriSubmitCheckDepspm">Added: build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm</a> +=================================================================== +--- build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm (rev 0) ++++ build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm 2011-01-22 14:49:03 UTC (rev 338) +@@ -0,0 +1,87 @@ ++package Youri::Submit::Check::Deps; ++ ++=head1 NAME ++ ++Youri::Submit::Check::Deps - Check dependencies ++ ++=head1 DESCRIPTION ++ ++This check plugin rejects packages with unresolved dependencies. ++ ++=cut ++ ++use warnings; ++use strict; ++use Carp; ++use Youri::Media::URPM; ++use base qw/Youri::Submit::Check/; ++ ++sub resolvedep { ++ my ($media, @requires) = @_; ++ ++ my @errors; ++ my $index = sub { ++ my ($package) = @_; ++ ++ my @provides = $package->get_provides(); ++ ++ @requires = grep { ++ my $require = $_; ++ my $notfound = 1; ++ foreach my $provide (@provides) { ++ next unless $provide->[Youri::Package::DEPENDENCY_NAME] eq $require->[Youri::Package::DEPENDENCY_NAME]; ++ if ($require->[Youri::Package::DEPENDENCY_RANGE]) { ++ next unless $package->check_ranges_compatibility($provide->[Youri::Package::DEPENDENCY_RANGE], $require->[Youri::Package::DEPENDENCY_RANGE]); ++ } ++ $notfound = 0; ++ } ++ ++ if ($notfound && $require->[Youri::Package::DEPENDENCY_NAME] =~ m|/|) { ++ foreach my $file ($package->get_files()) { ++ next unless $file eq $require->[Youri::Package::DEPENDENCY_NAME]; ++ $notfound = 0; ++ last; ++ } ++ } ++ $notfound; ++ } @requires; ++ }; ++ $media->traverse_headers($index); ++ foreach my $require (@requires) { ++ push (@errors, "Unresolved dep on " . $require->[Youri::Package::DEPENDENCY_NAME]); ++ } ++ return @errors; ++} ++ ++sub run { ++ my ($self, $package, $repository, $target, $define) = @_; ++ croak "Not a class method" unless ref $self; ++ ++ # FIXME Define some Youri::Media with allowed_deps in the config and ++ # match target + section to a media ++ my $section = $repository->_get_section($package, $target, $define); ++ return unless $target eq "cauldron" && $section eq 'core/release'; ++ ++ my @requires = $package->get_requires(); ++ ++ my $path = $repository->get_install_root() . "/" . $target; ++ # FIXME we need dependencies on all archs except for ExclusiveArch ++ my $arch = 'i586'; ++# foreach my $arch ($repository->get_extra_arches()) { ++ my $media = new Youri::Media::URPM(name => "core.".$arch, ++ type => "binary", ++ hdlist => "$path/$arch/media/$section/media_info/hdlist.cz"); ++ return resolvedep($media, @requires); ++# } ++ ++} ++ ++=head1 COPYRIGHT AND LICENSE ++ ++Copyright (C) 2011, YOURI project ++ ++This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. ++ ++=cut ++ ++1; + +</pre></div> + +</body> +</html>
\ No newline at end of file diff --git a/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment.html b/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment.html new file mode 100644 index 000000000..fd24dde22 --- /dev/null +++ b/zarb-ml/mageia-sysadm/attachments/20110122/3f04e3ea/attachment.html @@ -0,0 +1,156 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" +"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<title>[338] Ugly code rejecting submit when buildrequires are missing</title> +</head> +<body> + +<style type="text/css"><!-- +#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; } +#msg dl.meta dt { float: left; width: 6em; font-weight: bold; } +#msg dt:after { content:':';} +#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; } +#msg dl a { font-weight: bold} +#msg dl a:link { color:#fc3; } +#msg dl a:active { color:#ff0; } +#msg dl a:visited { color:#cc6; } +h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; } +#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; } +#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; } +#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; } +#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; } +#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; } +#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } +#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; } +#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; } +#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; } +#logmsg pre { background: #eee; padding: 1em; } +#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;} +#logmsg dl { margin: 0; } +#logmsg dt { font-weight: bold; } +#logmsg dd { margin: 0; padding: 0 0 0.5em 0; } +#logmsg dd:before { content:'\00bb';} +#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; } +#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; } +#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; } +#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; } +#logmsg table th.Corner { text-align: left; } +#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; } +#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; } +#patch { width: 100%; } +--></style> +<div id="msg"> +<dl class="meta"> +<dt>Revision</dt> <dd>338</dd> +<dt>Author</dt> <dd>pterjan</dd> +<dt>Date</dt> <dd>2011-01-22 15:49:03 +0100 (Sat, 22 Jan 2011)</dd> +</dl> + +<h3>Log Message</h3> +<pre>Ugly code rejecting submit when buildrequires are missing</pre> + +<h3>Added Paths</h3> +<ul> +<li><a href="#build_systemmdvyourisubmittrunklibYouriSubmitCheckDepspm">build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm</a></li> +</ul> + +</div> +<div id="patch"><pre> +<a id="build_systemmdvyourisubmittrunklibYouriSubmitCheckDepspm">Added: build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm</a> +=================================================================== +--- build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm (rev 0) ++++ build_system/mdv-youri-submit/trunk/lib/Youri/Submit/Check/Deps.pm 2011-01-22 14:49:03 UTC (rev 338) +@@ -0,0 +1,87 @@ ++package Youri::Submit::Check::Deps; ++ ++=head1 NAME ++ ++Youri::Submit::Check::Deps - Check dependencies ++ ++=head1 DESCRIPTION ++ ++This check plugin rejects packages with unresolved dependencies. ++ ++=cut ++ ++use warnings; ++use strict; ++use Carp; ++use Youri::Media::URPM; ++use base qw/Youri::Submit::Check/; ++ ++sub resolvedep { ++ my ($media, @requires) = @_; ++ ++ my @errors; ++ my $index = sub { ++ my ($package) = @_; ++ ++ my @provides = $package->get_provides(); ++ ++ @requires = grep { ++ my $require = $_; ++ my $notfound = 1; ++ foreach my $provide (@provides) { ++ next unless $provide->[Youri::Package::DEPENDENCY_NAME] eq $require->[Youri::Package::DEPENDENCY_NAME]; ++ if ($require->[Youri::Package::DEPENDENCY_RANGE]) { ++ next unless $package->check_ranges_compatibility($provide->[Youri::Package::DEPENDENCY_RANGE], $require->[Youri::Package::DEPENDENCY_RANGE]); ++ } ++ $notfound = 0; ++ } ++ ++ if ($notfound && $require->[Youri::Package::DEPENDENCY_NAME] =~ m|/|) { ++ foreach my $file ($package->get_files()) { ++ next unless $file eq $require->[Youri::Package::DEPENDENCY_NAME]; ++ $notfound = 0; ++ last; ++ } ++ } ++ $notfound; ++ } @requires; ++ }; ++ $media->traverse_headers($index); ++ foreach my $require (@requires) { ++ push (@errors, "Unresolved dep on " . $require->[Youri::Package::DEPENDENCY_NAME]); ++ } ++ return @errors; ++} ++ ++sub run { ++ my ($self, $package, $repository, $target, $define) = @_; ++ croak "Not a class method" unless ref $self; ++ ++ # FIXME Define some Youri::Media with allowed_deps in the config and ++ # match target + section to a media ++ my $section = $repository->_get_section($package, $target, $define); ++ return unless $target eq "cauldron" && $section eq 'core/release'; ++ ++ my @requires = $package->get_requires(); ++ ++ my $path = $repository->get_install_root() . "/" . $target; ++ # FIXME we need dependencies on all archs except for ExclusiveArch ++ my $arch = 'i586'; ++# foreach my $arch ($repository->get_extra_arches()) { ++ my $media = new Youri::Media::URPM(name => "core.".$arch, ++ type => "binary", ++ hdlist => "$path/$arch/media/$section/media_info/hdlist.cz"); ++ return resolvedep($media, @requires); ++# } ++ ++} ++ ++=head1 COPYRIGHT AND LICENSE ++ ++Copyright (C) 2011, YOURI project ++ ++This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. ++ ++=cut ++ ++1; + +</pre></div> + +</body> +</html>
\ No newline at end of file |