Hello community, here is the log from the commit of package kiwi-instsource-plugins-openSUSE-12-1 for openSUSE:Factory checked in at 2012-08-27 16:04:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2012-03-11 20:04:33.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kiwi-instsource-plugins-openSUSE-12-1.new/kiwi-instsource-plugins-openSUSE-12-1.changes 2012-08-27 16:04:33.000000000 +0200 @@ -1,0 +2,6 @@ +Mon Aug 27 13:19:05 UTC 2012 - coolo@suse.com + +- add special hack for promo dvds so the kiwi live cds boot from + product DVDs + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kiwi-instsource-plugins-openSUSE-12-1.diff ++++++ --- /var/tmp/diff_new_pack.GMjksA/_old 2012-08-27 16:04:36.000000000 +0200 +++ /var/tmp/diff_new_pack.GMjksA/_new 2012-08-27 16:04:36.000000000 +0200 @@ -1,7 +1,7 @@ Index: KIWILiveTreePlugin.pm =================================================================== ---- KIWILiveTreePlugin.pm.orig 2012-03-05 13:56:09.045673886 +0100 -+++ KIWILiveTreePlugin.pm 2012-03-05 13:56:10.640598808 +0100 +--- KIWILiveTreePlugin.pm.orig ++++ KIWILiveTreePlugin.pm @@ -109,16 +109,6 @@ sub new } # /constructor @@ -59,8 +59,8 @@ } Index: KIWIDescrPlugin.pm =================================================================== ---- KIWIDescrPlugin.pm.orig 2012-03-05 13:56:09.045673886 +0100 -+++ KIWIDescrPlugin.pm 2012-03-10 15:14:03.808988785 +0100 +--- KIWIDescrPlugin.pm.orig ++++ KIWIDescrPlugin.pm @@ -230,6 +230,25 @@ sub executeDir return 1; } @@ -87,3 +87,171 @@ if($this->{m_compress} =~ m{yes}i) { foreach my $pfile(glob("$targetdir/packages*")) { +Index: KIWIPromoDVDPlugin.ini +=================================================================== +--- /dev/null ++++ KIWIPromoDVDPlugin.ini +@@ -0,0 +1,5 @@ ++[base] ++name = KIWIPromoDVDPlugin ++order = 7 ++defaultenable = 1 ++ +Index: KIWIPromoDVDPlugin.pm +=================================================================== +--- /dev/null ++++ KIWIPromoDVDPlugin.pm +@@ -0,0 +1,153 @@ ++################################################################ ++# 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 : KIWIPromoDVDPlugin.pm ++#---------------- ++# PROJECT : OpenSUSE Build-Service ++# COPYRIGHT : (c) 2012 SUSE LINUX Products GmbH, Germany ++# : ++# AUTHOR : Stephan Kulow <coolo@suse.de> ++# : ++# BELONGS TO : Operating System images ++# : ++# DESCRIPTION : Module patching mini iso builds ++# : ++# STATUS : Development ++#---------------- ++ ++package KIWIPromoDVDPlugin; ++ ++use strict; ++ ++use base "KIWIBasePlugin"; ++use Data::Dumper; ++use Config::IniFiles; ++use File::Find; ++use File::Basename; ++ ++ ++sub new ++{ ++ # ... ++ # Create a new KIWIPromoDVDPlugin 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 $ismini = $this->collect()->productData()->getVar("FLAVOR"); ++ if(not defined($ismini)) { ++ $this->logMsg("W", "FLAVOR not set?"); ++ return $retval; ++ } ++ if($ismini !~ m{dvd-promo}i) { ++ return $retval; ++ } ++ ++ my $medium = $this->collect()->productData()->getVar("MEDIUM_NAME"); ++ my $name = $this->{m_basesubdir}->{$cd} ) =~ s{.*/(.*)/*$}{$1}; ++ my $cd; ++ find( sub { if (m/initrd.liv/) { $cd = $File::Find::name; } }, $this->handler()->collect()->basedir()); ++ if (!$cd) { ++ $this->logMsg("E", "initrd.liv not found\n"); ++ exit(1); ++ } ++ $this->logMsg("I", "$cd $medium $name"); ++ my $dname = dirname($cd); ++ $this->logMsg("I", "$dname"); ++ system("mkdir -p boot/grub; echo $medium > boot/grub/mbrid"); ++ system("echo boot/grub/mbrid | cpio --create --format=newc --quiet | gzip -9 -f >> $cd"); ++ $this->logMsg("I", "updated $cd"); ++ ++ return $retval; ++} ++ ++1; ++ -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org