summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--man/C/urpmi.addmedia.84
-rw-r--r--urpm/args.pm3
-rwxr-xr-xurpmi.addmedia33
3 files changed, 28 insertions, 12 deletions
diff --git a/man/C/urpmi.addmedia.8 b/man/C/urpmi.addmedia.8
index 24d66929..377cb820 100644
--- a/man/C/urpmi.addmedia.8
+++ b/man/C/urpmi.addmedia.8
@@ -113,6 +113,10 @@ and so it does not need to be updated by \fBurpmi.update\fP.
.IP "\fB\--norebuild\fP"
Don't try to rebuild the hdlist files from the RPMs if the original hdlist wasn't
readable or was corrupted.
+.IP "\fB\--raw\fP"
+Add the new media in the urpmi configuration file, but don't update it nor
+proceed to any download. The media, to be usable, will need to be updated with
+\fBurpmi.update\fP.
.IP "\fB\-c\fP"
Clean headers cache directory in /var/cache/urpmi/headers.
.IP "\fB\-h\fP"
diff --git a/urpm/args.pm b/urpm/args.pm
index ffd1c426..9cbc8073 100644
--- a/urpm/args.pm
+++ b/urpm/args.pm
@@ -251,7 +251,7 @@ my %options_spec = (
'force-key' => \$options{forcekey},
'limit-rate=s' => \$options{limit_rate},
'no-md5sum' => \$options{nomd5sum},
- 'noa|d' => \my $dummy, # default, keeped for compatibility
+ 'noa|d' => \my $dummy, #- default, kept for compatibility
'q|quiet' => sub { --$options{verbose} },
'v|verbose' => sub { ++$options{verbose} },
'norebuild!' => sub { $urpm->{options}{norebuild} = $_[1]; $options{force} = 0 },
@@ -269,6 +269,7 @@ my %options_spec = (
virtual => \$options{virtual},
'q|quiet' => sub { --$options{verbose} },
'v|verbose' => sub { ++$options{verbose} },
+ raw => \$options{raw},
'<>' => sub {
push @::cmdline, $_[0];
},
diff --git a/urpmi.addmedia b/urpmi.addmedia
index df54a7a6..e4bc7ffc 100755
--- a/urpmi.addmedia
+++ b/urpmi.addmedia
@@ -68,6 +68,7 @@ and [options] are from
only file:// protocol is allowed.
") . N(" --no-md5sum - disable MD5SUM file checking.
") . N(" --norebuild - don't try to rebuild hdlist if not readable.
+") . N(" --raw - add the media in config, but don't update it.
") . N(" -c - clean headers cache directory.
") . N(" -f - force generation of hdlist files.
") . N(" -q - quiet mode.
@@ -134,19 +135,27 @@ sub main {
$options{probe_with} || $with eq "with" or usage N("`with' missing for network media\n");
}
- $urpm->add_medium($name, $url, $relative_hdlist, virtual => $options{virtual}, update => $options{update});
+ $urpm->add_medium(
+ $name, $url, $relative_hdlist,
+ virtual => $options{virtual},
+ update => $options{update},
+ no_reload_config => $options{raw},
+ );
urpm::download::copy_cmd_line_proxy($name);
- $urpm->update_media(%options, callback => \&urpm::download::sync_logger);
-
- #- check creation of media (during update has been successfull)
- my ($medium) = grep { $_->{name} eq $name } @{$urpm->{media}};
- $medium or die N("unable to create medium \"%s\"\n", $name);
- if ($medium->{modified}) {
- print STDERR N("unable to update medium \"%s\"\n", $name);
- #- remove quietly the failing media.
- $urpm->{log} = sub {};
- $urpm->remove_selected_media;
+ if ($options{raw}) {
+ $urpm->write_config();
+ } else {
$urpm->update_media(%options, callback => \&urpm::download::sync_logger);
+ #- check creation of media
+ my ($medium) = grep { $_->{name} eq $name } @{$urpm->{media}};
+ $medium or die N("unable to create medium \"%s\"\n", $name);
+ if ($medium->{modified}) {
+ print STDERR N("unable to update medium \"%s\"\n", $name);
+ #- remove quietly the failing media.
+ $urpm->{log} = sub {};
+ $urpm->remove_selected_media;
+ $urpm->update_media(%options, callback => \&urpm::download::sync_logger);
+ }
}
}
@@ -155,3 +164,5 @@ sub main {
}
main();
+
+=for vim:ts=8:sts=4:sw=4