Hello community, here is the log from the commit of package mkdud for openSUSE:Factory checked in at 2016-02-16 09:18:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mkdud (Old) and /work/SRC/openSUSE:Factory/.mkdud.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mkdud" Changes: -------- --- /work/SRC/openSUSE:Factory/mkdud/mkdud.changes 2016-01-22 01:10:46.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.mkdud.new/mkdud.changes 2016-02-16 09:18:40.000000000 +0100 @@ -1,0 +2,6 @@ +Fri Feb 12 09:41:11 UTC 2016 - snw...@suse.com + +- add support for leap and tumbleweed +- 1.25 + +------------------------------------------------------------------- Old: ---- mkdud-1.24.tar.xz New: ---- mkdud-1.25.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mkdud.spec ++++++ --- /var/tmp/diff_new_pack.hu9kMg/_old 2016-02-16 09:18:40.000000000 +0100 +++ /var/tmp/diff_new_pack.hu9kMg/_new 2016-02-16 09:18:40.000000000 +0100 @@ -23,7 +23,7 @@ Summary: Create driver update from rpms License: GPL-3.0+ Group: Hardware/Other -Version: 1.24 +Version: 1.25 Release: 0 Source: %{name}-%{version}.tar.xz Url: https://github.com/wfeldt/mkdud ++++++ mkdud-1.24.tar.xz -> mkdud-1.25.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mkdud-1.24/VERSION new/mkdud-1.25/VERSION --- old/mkdud-1.24/VERSION 2016-01-21 09:46:54.000000000 +0100 +++ new/mkdud-1.25/VERSION 2016-02-12 10:38:22.000000000 +0100 @@ -1 +1 @@ -1.24 +1.25 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mkdud-1.24/changelog new/mkdud-1.25/changelog --- old/mkdud-1.24/changelog 2016-01-21 09:46:54.000000000 +0100 +++ new/mkdud-1.25/changelog 2016-02-12 10:38:22.000000000 +0100 @@ -1,3 +1,6 @@ +2016-02-11: 1.25 + - add support for leap and tumbleweed + 2016-01-20: 1.24 - Remove warning on yast replacement for versions supporting it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mkdud-1.24/mkdud new/mkdud-1.25/mkdud --- old/mkdud-1.24/mkdud 2016-01-21 09:46:54.000000000 +0100 +++ new/mkdud-1.25/mkdud 2016-02-12 10:38:22.000000000 +0100 @@ -160,13 +160,16 @@ # linuxrc versions in service packs my $servicepack; +$servicepack->{10}{0} = "2.0.46"; $servicepack->{10}{1} = "2.0.67"; $servicepack->{10}{2} = "2.0.79"; $servicepack->{10}{3} = "2.0.91"; $servicepack->{10}{4} = "2.0.97"; +$servicepack->{11}{0} = "3.3.34"; $servicepack->{11}{1} = "3.3.59"; $servicepack->{11}{2} = "3.3.81"; $servicepack->{11}{3} = "3.3.91"; +$servicepack->{11}{4} = "3.3.108"; GetOptions( 'create|c=s' => sub { $opt_create = 1; $dud = $_[1] }, @@ -272,8 +275,15 @@ if($need_dist) { die "Error: distribution arg is required; use --dist.\n" if !@opt_dist; my %d; - @d{map { /^sle([sd]?)(\d+)/i ? $1 eq "" ? ("sles$2", "sled$2") : "sle\L$1$2" : "\L$_" } @opt_dist} = (); + @dists = @opt_dist; + map { s/^(tumbleweed|tw).*/tw/g } @dists; + push @dists, "13.2" if grep { $_ eq "leap42.1" } @dists; + @d{map { /^sle([sd]?)(\d+)/i ? $1 eq "" ? ("sles$2", "sled$2") : "sle\L$1$2" : "\L$_" } @dists} = (); @dists = sort keys %d; + + for (@dists) { + die "unsupported dist \"$_\"\n" if !/^((leap)?\d+\.\d+|tw|sle[sd]\d+)$/; + } } # cleanup old driver update sources @@ -357,8 +367,8 @@ Note: if you don't set the architecture and mkdud can't find a hint in SOURCES either, an update for all supported architectures is created. - -d, --dist DIST Either an openSUSE version (e.g. 13.2) or SLE version - (e.g. sles12). + -d, --dist DIST Specify either an openSUSE, SLE, or Leap version or Tumbleweed. + (examples: 13.2, sle12, leap42.1, tw). Note that 'sle12' is a short hand for specifying both 'sles12' and 'sled12'. Note also that there are no separate names for service packs. @@ -366,8 +376,11 @@ below for a way to target specific service packs. Option can be repeated to specify several distribution targets. --condition SCRIPT Run SCRIPT and apply DUD only if SCRIPT has exit status 0. - If SCRIPT has the special name ServicePackN (N = 1, 2, ...), a - script that checks for service pack N is _generated_ and added. + If SCRIPT has the special name ServicePackN (N = 0, 1, 2, ...), + a script that checks for service pack N is _generated_ and added. + N = 0 refers to the main product (without service pack). + Note that for Tumbleweed you can pass the snapshot version as N + to limit the DUD to a specific snapshot. Option can be repeated to specify several conditions. -p, --prio NUM Set repository priority to NUM; lower NUM means higher priority (default: 50). @@ -1677,13 +1690,19 @@ my %p1; for (@$l) { - if(/^(\S+)-(sle([sd])(\d+)|\d+\.\d+)$/) { + if(/^(\S+)-(sle([sd])(\d+)|(leap)?(\d+\.\d+)|tw)$/) { if($3 eq 's') { push @{$p1{"SLES $4"}}, $1; } elsif($3 eq 'd') { push @{$p1{"SLED $4"}}, $1; } + elsif($5) { + push @{$p1{"openSUSE Leap $6"}}, $1; + } + elsif($2 eq "tw") { + push @{$p1{"openSUSE Tumbleweed"}}, $1; + } else { push @{$p1{"openSUSE $2"}}, $1; } @@ -2035,26 +2054,75 @@ my $dist = shift; my $sp = shift; - my $linuxrc; + my ($dist_name, $dist_ver, $dist_ver_sp, $dist_version_var); - if($dist !~ /^sle.*?(\d+)$/ || ($linuxrc = $servicepack->{$1}{$sp}) eq "") { - return ""; + if($dist =~ /^(sle.*?|leap)(\d+)$/) { + $dist_name = $1; + $dist_ver_sp = $dist_ver = $2; + $dist_version_var = 'VERSION'; + $dist_ver_sp .= "-SP$sp" if $sp; + } + elsif($dist eq 'tw') { + $dist_name = ""; + $dist_ver = $dist; + $dist_version_var = 'VERSION_ID'; + if($sp) { + $dist_ver_sp = $sp; + } + else { + return ""; + } + } + else { + $dist_name = ""; + $dist_ver_sp = $dist_ver = $dist; + $dist_version_var = 'VERSION_ID'; + $dist_ver_sp .= ".$sp" if $sp; } - my $c = <<'= = = = = = = ='; + # do we have to go via linuxrc version...? + + print "$dist_name $dist_ver\n"; + + if($dist_name =~ /^sle/ && $servicepack->{$dist_ver}) { + my $linuxrc = $servicepack->{$dist_ver}{$sp}; + return "" if !$linuxrc; + + my $c = <<'= = = = = = = ='; #! /bin/bash # script generated by mkdud <version> -while IFS="$IFS-" read pack ver xxx ; do +while IFS="$IFS[-" read pack ver xxx ; do [ "$pack" = linuxrc -a "$ver" = <linuxrc> ] && exit 0 done < /.packages.initrd exit 1 = = = = = = = = + $c =~ s#<version>#$VERSION#; + $c =~ s#<linuxrc>#$linuxrc#; + + return $c; + } + + # ... if not, check os-release + + my $c = <<'= = = = = = = ='; +#! /bin/bash + +# script generated by mkdud <version> + +[ -f /etc/os-release ] || exit 1 +. /etc/os-release +[ "$<dist_version_var>" = "<dist_ver_sp>" ] += = = = = = = = + + $dist_ver .= ".$sp" if $sp; + $c =~ s#<version>#$VERSION#; - $c =~ s#<linuxrc>#$linuxrc#; + $c =~ s#<dist_version_var>#$dist_version_var#; + $c =~ s#<dist_ver_sp>#$dist_ver_sp#; return $c; }