Hello community,
here is the log from the commit of package kiwi-instsource-plugins-openSUSE-12-1 for openSUSE:Factory checked in at 2013-02-26 15:15:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi-instsource-plugins-openSUSE-12-1 (Old)
and /work/SRC/openSUSE:Factory/.kiwi-instsource-plugins-openSUSE-12-1.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi-instsource-plugins-openSUSE-12-1", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi-instsource-plugins-openSUSE-12-1/kiwi-instsource-plugins-openSUSE-12-1.changes 2013-02-07 10:27:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kiwi-instsource-plugins-openSUSE-12-1.new/kiwi-instsource-plugins-openSUSE-12-1.changes 2013-02-26 15:15:20.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Feb 25 20:34:37 UTC 2013 - coolo@suse.com
+
+- patch repo url into the uefi grub cfg (bnc#805234)
+
+-------------------------------------------------------------------
+Mon Feb 25 15:58:42 UTC 2013 - coolo@suse.com
+
+- add another plugin which creates boot/x86_64/efi for EFI media
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi-instsource-plugins-openSUSE-12-1.spec ++++++
--- /var/tmp/diff_new_pack.m6nWPa/_old 2013-02-26 15:15:22.000000000 +0100
+++ /var/tmp/diff_new_pack.m6nWPa/_new 2013-02-26 15:15:22.000000000 +0100
@@ -32,6 +32,8 @@
%endif
Requires: inst-source-utils >= 2011.5.5
Requires: kiwi-instsource
+Requires: mkdosfs
+Requires: mtools
Requires: openSUSE-EULAs
Requires: package-translations
Supplements: kiwi-instsource
++++++ kiwi-instsource-plugins-openSUSE-12-1.diff ++++++
--- /var/tmp/diff_new_pack.m6nWPa/_old 2013-02-26 15:15:22.000000000 +0100
+++ /var/tmp/diff_new_pack.m6nWPa/_new 2013-02-26 15:15:22.000000000 +0100
@@ -251,3 +251,204 @@
+
+1;
+
+Index: KIWIFinishEFIPlugin.ini
+===================================================================
+--- /dev/null
++++ KIWIFinishEFIPlugin.ini
+@@ -0,0 +1,5 @@
++[base]
++name = KIWIFinishEFIPlugin
++order = 10
++defaultenable = 1
++
+Index: KIWIFinishEFIPlugin.pm
+===================================================================
+--- /dev/null
++++ KIWIFinishEFIPlugin.pm
+@@ -0,0 +1,144 @@
++################################################################
++# Copyright (c) 2012 SUSE
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License version 2 as
++# published by the Free Software Foundation.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program (see the file LICENSE); if not, write to the
++# Free Software Foundation, Inc.,
++# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
++#
++################################################################
++
++#================
++# FILE : KIWIFinishEFIPlugin.pm
++#----------------
++# PROJECT : OpenSUSE Build-Service
++# COPYRIGHT : (c) 2012 SUSE LINUX Products GmbH, Germany
++# :
++# AUTHOR : Stephan Kulow
++# :
++# BELONGS TO : Operating System images
++# :
++# DESCRIPTION : Module patching mini iso builds
++# :
++# STATUS : Development
++#----------------
++
++package KIWIFinishEFIPlugin;
++
++use strict;
++
++use base "KIWIBasePlugin";
++use Data::Dumper;
++use Config::IniFiles;
++use File::Find;
++use File::Basename;
++use KIWIQX qw (qxx);
++
++
++sub new
++{
++ # ...
++ # Create a new KIWIFinishEFIPlugin object
++ # ---
++ my $class = shift;
++ my $handler = shift;
++ my $config = shift;
++
++ my $this = new KIWIBasePlugin($handler);
++ bless ($this, $class);
++
++ $config =~ m{(.*)/([^/]+)$};
++ my $configpath = $1;
++ my $configfile = $2;
++ if(not defined($configpath) or not defined($configfile)) {
++ $this->logMsg("E", "wrong parameters in plugin initialisation\n");
++ return undef;
++ }
++
++ ## now gather all necessary information from the inifile:
++ #===
++ # Issue: why duplicate code here? Why not put it into the base class?
++ # Answer: Each plugin may have different options. Some only need a target filename,
++ # whilst some others may need much more. I don't want to specify a complicated framework
++ # for the plugin, it shall just be a simple straightforward way to get information
++ # into the plugin. The idea is that the people who decide on the metadata write
++ # the plugin, and therefore damn well know what it needs and what not.
++ # I'm definitely not bothering PMs with Yet Another File Specification (tm)
++ #---
++
++ ## plugin content:
++ #-----------------
++ #[base]
++ #name = KIWIEulaPlugin
++ #order = 3
++ #defaultenable = 1
++ #
++ #[target]
++ #targetfile = content
++ #targetdir = $PRODUCT_DIR
++ #media = (list of numbers XOR "all")
++ #
++ my $ini = new Config::IniFiles( -file => "$configpath/$configfile" );
++ my $name = $ini->val('base', 'name'); # scalar value
++ my $order = $ini->val('base', 'order'); # scalar value
++ my $enable = $ini->val('base', 'defaultenable'); # scalar value
++
++ # if any of those isn't set, complain!
++ if(not defined($name)
++ or not defined($order)
++ or not defined($enable)
++ ) {
++ $this->logMsg("E", "Plugin ini file <$config> seems broken!\n");
++ return undef;
++ }
++
++ $this->name($name);
++ $this->order($order);
++ if($enable != 0) {
++ $this->ready(1);
++ }
++ return $this;
++}
++# /constructor
++
++# returns: number of patched gfxboot files
++sub execute
++{
++ my $this = shift;
++ if(not ref($this)) {
++ return undef;
++ }
++ my $retval = 0;
++ # sanity check:
++ if($this->{m_ready} == 0) {
++ return $retval;
++ }
++ my $cd = 1;
++
++ my %type;
++ %type = %{$this->collect()->{m_xml}->getImageTypeAndAttributes_legacy()};
++ my $firmware = $type{firmware};
++ if ($firmware eq "efi" || $firmware eq "uefi") {
++ my $dir = $this->collect()->basesubdirs()->{$cd};
++
++ my $efi = "$dir/boot/x86_64/efi";
++ $this->logMsg("I", "creating $efi");
++ qxx("dd if=/dev/zero of=$efi bs=1M count=4");
++ qxx("/usr/sbin/mkdosfs -n 'BOOT' $efi");
++ qxx("mcopy -Do -s -i $efi $dir/EFI ::");
++ }
++
++ return $retval;
++}
++
++1;
++
+Index: KIWIMiniIsoPlugin.pm
+===================================================================
+--- KIWIMiniIsoPlugin.pm.orig
++++ KIWIMiniIsoPlugin.pm
+@@ -41,6 +41,7 @@ use Data::Dumper;
+ use Config::IniFiles;
+ use File::Find;
+
++use KIWIQX qw (qxx);
+
+ sub new
+ {
+@@ -225,6 +226,29 @@ sub execute
+ close(F);
+ $retval++;
+ }
++
++ my $grubcfg = $this->collect()->basesubdirs()->{1} . "/EFI/BOOT/grub.cfg";
++ if ( -f $grubcfg ) {
++ $this->logMsg("I", "editing <$grubcfg>");
++ open(IN, $grubcfg) || die "oops";
++ open(OUT, ">", "$grubcfg.new") || die "can't open output";
++ while( <IN> ) {
++ my $line = $_;
++ chomp $line;
++ $this->logMsg("I", "-$line");
++ $line =~ s,(linuxefi /boot/x86_64/loader/linux),$1 install=$repoloc,;
++ $this->logMsg("I", "+$line");
++ print OUT "$line\n";
++ }
++ close(OUT);
++ close(IN);
++ qxx("diff -u $grubcfg $grubcfg.new");
++ rename("$grubcfg.new", $grubcfg);
++ } else {
++ $this->logMsg("I", "no grub.cfg at <$grubcfg>");
++ }
++
++
+ return $retval;
+ }
+
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org