summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-sysadm/attachments/20110106/cface7f3')
-rw-r--r--zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment-0001.html345
-rw-r--r--zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment.html345
2 files changed, 690 insertions, 0 deletions
diff --git a/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment-0001.html b/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment-0001.html
new file mode 100644
index 000000000..f2e21cdbe
--- /dev/null
+++ b/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment-0001.html
@@ -0,0 +1,345 @@
+<!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>[217] remove Mandriva_upload_pre.pm as it seems to be obsolete and not used</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>217</dd>
+<dt>Author</dt> <dd>boklm</dd>
+<dt>Date</dt> <dd>2011-01-06 03:11:28 +0100 (Thu, 06 Jan 2011)</dd>
+</dl>
+
+<h3>Log Message</h3>
+<pre>remove Mandriva_upload_pre.pm as it seems to be obsolete and not used</pre>
+
+<h3>Removed Paths</h3>
+<ul>
+<li><a href="#build_systemmdvyouricoretrunklibYouriRepositoryMandriva_upload_prepm">build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm</a></li>
+</ul>
+
+</div>
+<div id="patch"><pre>
+<a id="build_systemmdvyouricoretrunklibYouriRepositoryMandriva_upload_prepm">Deleted: build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm</a>
+===================================================================
+--- build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm 2011-01-06 01:08:18 UTC (rev 216)
++++ build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm 2011-01-06 02:11:28 UTC (rev 217)
+@@ -1,276 +0,0 @@
+-# $Id: /local/youri/soft/trunk/lib/Youri/Upload/Action/RSS.pm 857 2006-01-29T10:15:43.298856Z guillaume $
+-package Youri::Repository::Mandriva_upload_pre;
+-
+-=head1 NAME
+-
+-Youri::Repository::PLF - PLF repository implementation
+-
+-=head1 DESCRIPTION
+-
+-This module implements PLF repository.
+-
+-=cut
+-
+-use warnings;
+-use strict;
+-use Carp;
+-use Memoize;
+-use File::Find 'find';
+-use base qw/Youri::Repository/;
+-use SVN::Client;
+-use constant {
+- PACKAGE_CLASS =&gt; 'Youri::Package::URPM',
+- PACKAGE_CHARSET =&gt; 'utf8'
+-};
+-
+-memoize('_get_section');
+-
+-my @pkgsections = qw/core nonfree tainted/;
+-
+-sub _init {
+- my $self = shift;
+- my %options = (
+- module =&gt; 'SPECS', # CVS module
+- noarch =&gt; 'i586', # noarch packages policy
+- svn =&gt; '',
+- upload_root =&gt; '',
+- @_
+- );
+-
+- $self-&gt;{_module} = $options{module};
+- $self-&gt;{_noarch} = $options{noarch};
+- $self-&gt;{_svn} = $options{svn};
+- $self-&gt;{_upload_root} = $options{upload_root};
+-
+- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
+- $year+=1900;
+- my $hostname = `hostname`;
+- my ($host) = $hostname =~ /([^.]*)/;
+- $self-&gt;{group_dir} = sprintf &quot;$ENV{SUDO_USER}.$host.$$.$year%02d%02d%02d%02d%02d&quot;, $mon, $mday, $hour, $min, $sec;
+-}
+-
+-sub get_package_class {
+- return PACKAGE_CLASS;
+-}
+-
+-sub package_in_svn {
+- my ($self, $srpm_name) = @_;
+- my $ctx = new SVN::Client(
+- auth =&gt; [SVN::Client::get_simple_provider(),
+- SVN::Client::get_simple_prompt_provider(\&amp;simple_prompt,2),
+- SVN::Client::get_username_provider()]
+- );
+-
+- my $svn_entry = $ctx-&gt;ls(&quot;$self-&gt;{_svn}/&quot;, 'HEAD', 0);
+- foreach (keys %{$svn_entry}) {
+- if ($srpm_name eq $_) {
+- print &quot;Package $_ is in the SVN\n&quot;;
+- return 1
+- }
+- }
+-}
+-
+-sub get_svn_url {
+- my ($self) = @_;
+- $self-&gt;{_svn}
+-}
+-
+-sub get_revisions {
+- my ($self, $package, $target, $define, $filter) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- print &quot;Looking for package $package revisions for $target\n&quot;
+- if $self-&gt;{_verbose} &gt; 0;
+-
+- my $arch = $define-&gt;{arch} || $package-&gt;get_arch;
+- if ($arch eq 'src') {
+- $arch = 'SRPMS'
+- } else {
+- $arch .= '/media'
+- }
+- my @packages;
+- foreach my $dir (@pkgsections) {
+- print &quot;Looking into $self-&gt;{_install_root}/$target/$arch/$dir/release\n&quot;;
+- push @packages,
+- map { $self-&gt;get_package_class()-&gt;new(file =&gt; $_) }
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/$arch/$dir/release&quot; ,
+- $self-&gt;get_package_class()-&gt;get_pattern($package-&gt;get_name(),undef, undef, $arch)
+- );
+- }
+-
+- @packages = grep { $filter-&gt;($_) } @packages if $filter;
+-
+- return
+- sort { $b-&gt;compare($a) } # sort by revision order
+- @packages;
+-}
+-
+-sub get_package_charset {
+- return PACKAGE_CHARSET;
+-}
+-
+-sub get_upload_dir {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- my $arch = $package-&gt;get_arch();
+- my $section = $self-&gt;_get_section($package, $target, $define);
+- my $media_path = $section eq 'main' ? $target : $target =~ /^cooker/ ? &quot;contrib&quot; : &quot;$target/contrib&quot;;
+- my $arch_path = $arch eq 'src' ? 'SRPMS' : 'RPMS';
+- my $force = $target =~ /_force/ ? 'force' : '';
+- $self-&gt;{_upload_root} . &quot;/$media_path/$force/$arch_path/&quot;
+-}
+-
+-sub get_arch {
+- my ($self, $package, $target, $define) = @_;
+- my $arch = $package-&gt;get_arch();
+- if ($arch eq 'noarch') {
+- $arch = $self-&gt;{_noarch}
+- }
+- $arch
+-}
+-
+-sub get_install_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- return $self-&gt;_get_path($package, $target, $define);
+-}
+-
+-sub get_archive_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- return $self-&gt;_get_path($package, $target, $define);
+-}
+-
+-sub _get_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $arch = $package-&gt;get_arch;
+- if ($arch eq 'src') {
+- $arch = 'SRPMS'
+- } else {
+- $arch .= '/media'
+- }
+- my $section = $self-&gt;_get_section($package, $target, $define);
+-
+- return &quot;$target/$arch/$section/release/&quot;;
+-}
+-
+-
+-sub get_version_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $section = $self-&gt;_get_section($package, $target, $define);
+-
+- return &quot;$self-&gt;{_module}/$section/release/&quot;;
+-}
+-
+-=head2 get_replaced_packages($package, $target, $define)
+-
+-Overrides parent method to add libified packages.
+-
+-=cut
+-
+-sub get_replaced_packages {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+-
+- my @replaced_packages =
+- $self-&gt;SUPER::get_replaced_packages($package, $target, $define);
+-
+- # mandriva lib policy:
+- # library package names change with revision, making mandatory to
+- # duplicate older revisions search with a custom pattern
+- my $name = $package-&gt;get_name();
+- if ($name =~ /^(lib\w+[a-zA-Z_])[\d_\.]+([-\w]*)$/) {
+- push(@replaced_packages,
+- grep { $package-&gt;compare($_) &gt; 0 }
+- map { PACKAGE_CLASS-&gt;new(file =&gt; $_) }
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- $self-&gt;get_install_path($package, $target, $define),
+- PACKAGE_CLASS-&gt;get_pattern(
+- $1 . '[\d_\.]+' . $2, # custom name pattern
+- undef,
+- undef,
+- $package-&gt;get_arch()
+- ),
+- )
+- );
+- }
+-
+- return @replaced_packages;
+-
+-}
+-
+-sub _get_section {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $section;
+-
+- # try to find section automatically
+- my $arch = $package-&gt;get_arch();
+- $arch = $self-&gt;{_noarch} if $arch eq 'noarch';
+-
+- my $source_pattern = PACKAGE_CLASS-&gt;get_pattern(
+- $package-&gt;get_canonical_name(),
+- undef,
+- undef,
+- 'src'
+- );
+-
+- my $binary_pattern = PACKAGE_CLASS-&gt;get_pattern(
+- $package-&gt;get_name(),
+- undef,
+- undef,
+- $arch
+- );
+-
+- # for each potential section, try to match
+- # a suitable source patten in source directory
+- # a suitable binary patten in binary directory
+- foreach my $dir (@pkgsections) {
+- next unless
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/SRPMS/$dir/release&quot;,
+- $source_pattern
+- ) || $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/$arch/media/$dir/release&quot;,
+- $binary_pattern
+- );
+- print &quot;Section is $dir\n&quot;;
+- $section = $dir;
+- last;
+- }
+-
+- # use defined section if not found
+- $section = $define-&gt;{section} unless $section;
+-
+- $section || 'core'
+-}
+-
+-sub get_upload_newer_revisions {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- my $arch = $package-&gt;get_arch();
+- my $pattern = $self-&gt;get_package_class()-&gt;get_pattern($package-&gt;get_name(), undef, undef, $arch);
+- print &quot;Looking for package $package revisions for $target in $self-&gt;{_upload_root} (pattern $pattern)\n&quot;;
+- my @packages;
+- foreach my $dir ('cooker', 'contrib') {
+- find(sub { return if ! /^$pattern/; print &quot;Find $_\n&quot;; push @packages, $File::Find::name if $package-&gt;compare($self-&gt;get_package_class()-&gt;new(file =&gt; $File::Find::name)) &lt;= 0 }, &quot;$self-&gt;{_upload_root}/$dir&quot;);
+- }
+- return
+- @packages;
+-}
+-
+-=head1 COPYRIGHT AND LICENSE
+-
+-Copyright (C) 2002-2006, 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/20110106/cface7f3/attachment.html b/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment.html
new file mode 100644
index 000000000..f2e21cdbe
--- /dev/null
+++ b/zarb-ml/mageia-sysadm/attachments/20110106/cface7f3/attachment.html
@@ -0,0 +1,345 @@
+<!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>[217] remove Mandriva_upload_pre.pm as it seems to be obsolete and not used</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>217</dd>
+<dt>Author</dt> <dd>boklm</dd>
+<dt>Date</dt> <dd>2011-01-06 03:11:28 +0100 (Thu, 06 Jan 2011)</dd>
+</dl>
+
+<h3>Log Message</h3>
+<pre>remove Mandriva_upload_pre.pm as it seems to be obsolete and not used</pre>
+
+<h3>Removed Paths</h3>
+<ul>
+<li><a href="#build_systemmdvyouricoretrunklibYouriRepositoryMandriva_upload_prepm">build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm</a></li>
+</ul>
+
+</div>
+<div id="patch"><pre>
+<a id="build_systemmdvyouricoretrunklibYouriRepositoryMandriva_upload_prepm">Deleted: build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm</a>
+===================================================================
+--- build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm 2011-01-06 01:08:18 UTC (rev 216)
++++ build_system/mdv-youri-core/trunk/lib/Youri/Repository/Mandriva_upload_pre.pm 2011-01-06 02:11:28 UTC (rev 217)
+@@ -1,276 +0,0 @@
+-# $Id: /local/youri/soft/trunk/lib/Youri/Upload/Action/RSS.pm 857 2006-01-29T10:15:43.298856Z guillaume $
+-package Youri::Repository::Mandriva_upload_pre;
+-
+-=head1 NAME
+-
+-Youri::Repository::PLF - PLF repository implementation
+-
+-=head1 DESCRIPTION
+-
+-This module implements PLF repository.
+-
+-=cut
+-
+-use warnings;
+-use strict;
+-use Carp;
+-use Memoize;
+-use File::Find 'find';
+-use base qw/Youri::Repository/;
+-use SVN::Client;
+-use constant {
+- PACKAGE_CLASS =&gt; 'Youri::Package::URPM',
+- PACKAGE_CHARSET =&gt; 'utf8'
+-};
+-
+-memoize('_get_section');
+-
+-my @pkgsections = qw/core nonfree tainted/;
+-
+-sub _init {
+- my $self = shift;
+- my %options = (
+- module =&gt; 'SPECS', # CVS module
+- noarch =&gt; 'i586', # noarch packages policy
+- svn =&gt; '',
+- upload_root =&gt; '',
+- @_
+- );
+-
+- $self-&gt;{_module} = $options{module};
+- $self-&gt;{_noarch} = $options{noarch};
+- $self-&gt;{_svn} = $options{svn};
+- $self-&gt;{_upload_root} = $options{upload_root};
+-
+- my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
+- $year+=1900;
+- my $hostname = `hostname`;
+- my ($host) = $hostname =~ /([^.]*)/;
+- $self-&gt;{group_dir} = sprintf &quot;$ENV{SUDO_USER}.$host.$$.$year%02d%02d%02d%02d%02d&quot;, $mon, $mday, $hour, $min, $sec;
+-}
+-
+-sub get_package_class {
+- return PACKAGE_CLASS;
+-}
+-
+-sub package_in_svn {
+- my ($self, $srpm_name) = @_;
+- my $ctx = new SVN::Client(
+- auth =&gt; [SVN::Client::get_simple_provider(),
+- SVN::Client::get_simple_prompt_provider(\&amp;simple_prompt,2),
+- SVN::Client::get_username_provider()]
+- );
+-
+- my $svn_entry = $ctx-&gt;ls(&quot;$self-&gt;{_svn}/&quot;, 'HEAD', 0);
+- foreach (keys %{$svn_entry}) {
+- if ($srpm_name eq $_) {
+- print &quot;Package $_ is in the SVN\n&quot;;
+- return 1
+- }
+- }
+-}
+-
+-sub get_svn_url {
+- my ($self) = @_;
+- $self-&gt;{_svn}
+-}
+-
+-sub get_revisions {
+- my ($self, $package, $target, $define, $filter) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- print &quot;Looking for package $package revisions for $target\n&quot;
+- if $self-&gt;{_verbose} &gt; 0;
+-
+- my $arch = $define-&gt;{arch} || $package-&gt;get_arch;
+- if ($arch eq 'src') {
+- $arch = 'SRPMS'
+- } else {
+- $arch .= '/media'
+- }
+- my @packages;
+- foreach my $dir (@pkgsections) {
+- print &quot;Looking into $self-&gt;{_install_root}/$target/$arch/$dir/release\n&quot;;
+- push @packages,
+- map { $self-&gt;get_package_class()-&gt;new(file =&gt; $_) }
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/$arch/$dir/release&quot; ,
+- $self-&gt;get_package_class()-&gt;get_pattern($package-&gt;get_name(),undef, undef, $arch)
+- );
+- }
+-
+- @packages = grep { $filter-&gt;($_) } @packages if $filter;
+-
+- return
+- sort { $b-&gt;compare($a) } # sort by revision order
+- @packages;
+-}
+-
+-sub get_package_charset {
+- return PACKAGE_CHARSET;
+-}
+-
+-sub get_upload_dir {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- my $arch = $package-&gt;get_arch();
+- my $section = $self-&gt;_get_section($package, $target, $define);
+- my $media_path = $section eq 'main' ? $target : $target =~ /^cooker/ ? &quot;contrib&quot; : &quot;$target/contrib&quot;;
+- my $arch_path = $arch eq 'src' ? 'SRPMS' : 'RPMS';
+- my $force = $target =~ /_force/ ? 'force' : '';
+- $self-&gt;{_upload_root} . &quot;/$media_path/$force/$arch_path/&quot;
+-}
+-
+-sub get_arch {
+- my ($self, $package, $target, $define) = @_;
+- my $arch = $package-&gt;get_arch();
+- if ($arch eq 'noarch') {
+- $arch = $self-&gt;{_noarch}
+- }
+- $arch
+-}
+-
+-sub get_install_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- return $self-&gt;_get_path($package, $target, $define);
+-}
+-
+-sub get_archive_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- return $self-&gt;_get_path($package, $target, $define);
+-}
+-
+-sub _get_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $arch = $package-&gt;get_arch;
+- if ($arch eq 'src') {
+- $arch = 'SRPMS'
+- } else {
+- $arch .= '/media'
+- }
+- my $section = $self-&gt;_get_section($package, $target, $define);
+-
+- return &quot;$target/$arch/$section/release/&quot;;
+-}
+-
+-
+-sub get_version_path {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $section = $self-&gt;_get_section($package, $target, $define);
+-
+- return &quot;$self-&gt;{_module}/$section/release/&quot;;
+-}
+-
+-=head2 get_replaced_packages($package, $target, $define)
+-
+-Overrides parent method to add libified packages.
+-
+-=cut
+-
+-sub get_replaced_packages {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+-
+- my @replaced_packages =
+- $self-&gt;SUPER::get_replaced_packages($package, $target, $define);
+-
+- # mandriva lib policy:
+- # library package names change with revision, making mandatory to
+- # duplicate older revisions search with a custom pattern
+- my $name = $package-&gt;get_name();
+- if ($name =~ /^(lib\w+[a-zA-Z_])[\d_\.]+([-\w]*)$/) {
+- push(@replaced_packages,
+- grep { $package-&gt;compare($_) &gt; 0 }
+- map { PACKAGE_CLASS-&gt;new(file =&gt; $_) }
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- $self-&gt;get_install_path($package, $target, $define),
+- PACKAGE_CLASS-&gt;get_pattern(
+- $1 . '[\d_\.]+' . $2, # custom name pattern
+- undef,
+- undef,
+- $package-&gt;get_arch()
+- ),
+- )
+- );
+- }
+-
+- return @replaced_packages;
+-
+-}
+-
+-sub _get_section {
+- my ($self, $package, $target, $define) = @_;
+-
+- my $section;
+-
+- # try to find section automatically
+- my $arch = $package-&gt;get_arch();
+- $arch = $self-&gt;{_noarch} if $arch eq 'noarch';
+-
+- my $source_pattern = PACKAGE_CLASS-&gt;get_pattern(
+- $package-&gt;get_canonical_name(),
+- undef,
+- undef,
+- 'src'
+- );
+-
+- my $binary_pattern = PACKAGE_CLASS-&gt;get_pattern(
+- $package-&gt;get_name(),
+- undef,
+- undef,
+- $arch
+- );
+-
+- # for each potential section, try to match
+- # a suitable source patten in source directory
+- # a suitable binary patten in binary directory
+- foreach my $dir (@pkgsections) {
+- next unless
+- $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/SRPMS/$dir/release&quot;,
+- $source_pattern
+- ) || $self-&gt;get_files(
+- $self-&gt;{_install_root},
+- &quot;$target/$arch/media/$dir/release&quot;,
+- $binary_pattern
+- );
+- print &quot;Section is $dir\n&quot;;
+- $section = $dir;
+- last;
+- }
+-
+- # use defined section if not found
+- $section = $define-&gt;{section} unless $section;
+-
+- $section || 'core'
+-}
+-
+-sub get_upload_newer_revisions {
+- my ($self, $package, $target, $define) = @_;
+- croak &quot;Not a class method&quot; unless ref $self;
+- my $arch = $package-&gt;get_arch();
+- my $pattern = $self-&gt;get_package_class()-&gt;get_pattern($package-&gt;get_name(), undef, undef, $arch);
+- print &quot;Looking for package $package revisions for $target in $self-&gt;{_upload_root} (pattern $pattern)\n&quot;;
+- my @packages;
+- foreach my $dir ('cooker', 'contrib') {
+- find(sub { return if ! /^$pattern/; print &quot;Find $_\n&quot;; push @packages, $File::Find::name if $package-&gt;compare($self-&gt;get_package_class()-&gt;new(file =&gt; $File::Find::name)) &lt;= 0 }, &quot;$self-&gt;{_upload_root}/$dir&quot;);
+- }
+- return
+- @packages;
+-}
+-
+-=head1 COPYRIGHT AND LICENSE
+-
+-Copyright (C) 2002-2006, 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