Hello community, here is the log from the commit of package kiwi-instsource-plugins-openSUSE-12-1 for openSUSE:12.3 checked in at 2013-02-25 17:09:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3/kiwi-instsource-plugins-openSUSE-12-1 (Old) and /work/SRC/openSUSE:12.3/.kiwi-instsource-plugins-openSUSE-12-1.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi-instsource-plugins-openSUSE-12-1", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:12.3/kiwi-instsource-plugins-openSUSE-12-1/kiwi-instsource-plugins-openSUSE-12-1.changes 2013-02-05 21:25:32.000000000 +0100 +++ /work/SRC/openSUSE:12.3/.kiwi-instsource-plugins-openSUSE-12-1.new/kiwi-instsource-plugins-openSUSE-12-1.changes 2013-02-25 18:57:49.000000000 +0100 @@ -1,0 +2,5 @@ +Mon Feb 25 15:58:42 UTC 2013 - co...@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.2b4xt7/_old 2013-02-25 18:57:50.000000000 +0100 +++ /var/tmp/diff_new_pack.2b4xt7/_new 2013-02-25 18:57:50.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.2b4xt7/_old 2013-02-25 18:57:50.000000000 +0100 +++ /var/tmp/diff_new_pack.2b4xt7/_new 2013-02-25 18:57:50.000000000 +0100 @@ -251,3 +251,165 @@ + +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,147 @@ ++################################################################ ++# 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 <co...@suse.de> ++# : ++# 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->handler()->collect()->basedir(); ++ $dir .= "/".$this->{m_handler}->mediaName(); ++ $dir .= "/".$this->{m_requireddirs}->[0]; ++ $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; ++ -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org