Hello community,

here is the log from the commit of package yast2-storage for openSUSE:Factory 
checked in at 2013-07-07 22:28:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage (Old)
 and      /work/SRC/openSUSE:Factory/.yast2-storage.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "yast2-storage"

Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage/yast2-storage.changes      
2013-07-03 10:28:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-storage.new/yast2-storage.changes 
2013-07-07 22:28:41.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Jul  4 15:44:32 CEST 2013 - f...@suse.de
+
+- version 2.24.6
+- when encrypted LVM and EFI is used, propose two unencrypted
+  partitions, one vfat at /boot/efi, one ext4 at /boot (bnc#808017)
+
+-------------------------------------------------------------------

Old:
----
  yast2-storage-2.24.5.tar.bz2

New:
----
  yast2-storage-2.24.6.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.NtUA74/_old  2013-07-07 22:28:42.000000000 +0200
+++ /var/tmp/diff_new_pack.NtUA74/_new  2013-07-07 22:28:42.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           yast2-storage
-Version:        2.24.5
+Version:        2.24.6
 Release:        0
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build

++++++ yast2-storage-2.24.5.tar.bz2 -> yast2-storage-2.24.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-storage-2.24.5/VERSION 
new/yast2-storage-2.24.6/VERSION
--- old/yast2-storage-2.24.5/VERSION    2013-07-01 12:44:06.000000000 +0200
+++ new/yast2-storage-2.24.6/VERSION    2013-07-04 15:55:57.000000000 +0200
@@ -1 +1 @@
-2.24.5
+2.24.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-storage-2.24.5/configure 
new/yast2-storage-2.24.6/configure
--- old/yast2-storage-2.24.5/configure  2013-07-02 12:08:47.000000000 +0200
+++ new/yast2-storage-2.24.6/configure  2013-07-04 15:56:14.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for yast2-storage 2.24.5.
+# Generated by GNU Autoconf 2.69 for yast2-storage 2.24.6.
 #
 # Report bugs to <http://bugs.opensuse.org/>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='yast2-storage'
 PACKAGE_TARNAME='yast2-storage'
-PACKAGE_VERSION='2.24.5'
-PACKAGE_STRING='yast2-storage 2.24.5'
+PACKAGE_VERSION='2.24.6'
+PACKAGE_STRING='yast2-storage 2.24.6'
 PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
 PACKAGE_URL=''
 
@@ -1380,7 +1380,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures yast2-storage 2.24.5 to adapt to many kinds of systems.
+\`configure' configures yast2-storage 2.24.6 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1451,7 +1451,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of yast2-storage 2.24.5:";;
+     short | recursive ) echo "Configuration of yast2-storage 2.24.6:";;
    esac
   cat <<\_ACEOF
 
@@ -1569,7 +1569,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-yast2-storage configure 2.24.5
+yast2-storage configure 2.24.6
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2022,7 +2022,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by yast2-storage $as_me 2.24.5, which was
+It was created by yast2-storage $as_me 2.24.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2961,7 +2961,7 @@
 
 # Define the identity of the package.
  PACKAGE='yast2-storage'
- VERSION='2.24.5'
+ VERSION='2.24.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3084,7 +3084,7 @@
 
 
 
-VERSION="2.24.5"
+VERSION="2.24.6"
 RPMNAME="yast2-storage"
 MAINTAINER="Arvin Schnell <aschn...@suse.de>"
 
@@ -16825,7 +16825,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by yast2-storage $as_me 2.24.5, which was
+This file was extended by yast2-storage $as_me 2.24.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16891,7 +16891,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-yast2-storage config.status 2.24.5
+yast2-storage config.status 2.24.6
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-storage-2.24.5/configure.in 
new/yast2-storage-2.24.6/configure.in
--- old/yast2-storage-2.24.5/configure.in       2013-07-02 12:08:37.000000000 
+0200
+++ new/yast2-storage-2.24.6/configure.in       2013-07-04 15:56:04.000000000 
+0200
@@ -3,7 +3,7 @@
 dnl -- This file is generated by y2autoconf 2.24.1 - DO NOT EDIT! --
 dnl    (edit configure.in.in instead)
 
-AC_INIT(yast2-storage, 2.24.5, http://bugs.opensuse.org/, yast2-storage)
+AC_INIT(yast2-storage, 2.24.6, http://bugs.opensuse.org/, yast2-storage)
 dnl Check for presence of file 'RPMNAME'
 AC_CONFIG_SRCDIR([RPMNAME])
 
@@ -18,7 +18,7 @@
 AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
 
 dnl Important YaST2 variables
-VERSION="2.24.5"
+VERSION="2.24.6"
 RPMNAME="yast2-storage"
 MAINTAINER="Arvin Schnell <aschn...@suse.de>"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/include/auto_part_create.ycp 
new/yast2-storage-2.24.6/storage/src/include/auto_part_create.ycp
--- old/yast2-storage-2.24.5/storage/src/include/auto_part_create.ycp   
2013-03-14 18:06:37.000000000 +0100
+++ new/yast2-storage-2.24.6/storage/src/include/auto_part_create.ycp   
2013-07-03 14:20:54.000000000 +0200
@@ -23,7 +23,7 @@
  * Module:             auto_part_create.ycp
  *
  * Authors:            Andreas Schwab (sch...@suse.de)
- *                     Klaus K�mpf (kkae...@suse.de)
+ *                     Klaus Kämpf (kkae...@suse.de)
  *
  * Purpose:            This module creates the neccessary partitions
  *                     in the targetMap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/include/auto_part_functions.ycp 
new/yast2-storage-2.24.6/storage/src/include/auto_part_functions.ycp
--- old/yast2-storage-2.24.5/storage/src/include/auto_part_functions.ycp        
2013-01-22 12:12:36.000000000 +0100
+++ new/yast2-storage-2.24.6/storage/src/include/auto_part_functions.ycp        
2013-07-03 14:20:54.000000000 +0200
@@ -23,7 +23,7 @@
  * Module:             auto_part_functions.ycp
  *
  * Authors:            Andreas Schwab (sch...@suse.de)
- *                     Klaus K�mpf (kkae...@suse.de)
+ *                     Klaus Kämpf (kkae...@suse.de)
  *
  * Purpose:            This module define functions of general use
  *                     to the automatic partitioner
@@ -175,8 +175,8 @@
     //
 define boolean is_ntfs_partition( map partition ) ``{
        return ( partition["fsid"]:-1 == 0x07 ||        // HPFS/NTFS
-                partition["fsid"]:-1 == 0x86 ||        // NTFS-Datentr�ger
-                partition["fsid"]:-1 == 0x87 );        // NTFS-Datentr�ger
+                partition["fsid"]:-1 == 0x86 ||        // NTFS-Datenträger
+                partition["fsid"]:-1 == 0x87 );        // NTFS-Datenträger
     }
 
     
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/include/auto_part_prepare.ycp 
new/yast2-storage-2.24.6/storage/src/include/auto_part_prepare.ycp
--- old/yast2-storage-2.24.5/storage/src/include/auto_part_prepare.ycp  
2013-03-14 18:06:37.000000000 +0100
+++ new/yast2-storage-2.24.6/storage/src/include/auto_part_prepare.ycp  
2013-07-03 14:20:54.000000000 +0200
@@ -23,7 +23,7 @@
  * Module:             auto_part_prepare.ycp
  *
  * Authors:            Andreas Schwab (sch...@suse.de)
- *                     Klaus K�mpf (kkae...@suse.de)
+ *                     Klaus Kämpf (kkae...@suse.de)
  *
  * Purpose:            This module preparse the raw targetMap to
  *                     cover the whole disk, including unpartitioned
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/include/auto_part_ui.ycp 
new/yast2-storage-2.24.6/storage/src/include/auto_part_ui.ycp
--- old/yast2-storage-2.24.5/storage/src/include/auto_part_ui.ycp       
2013-01-22 12:12:36.000000000 +0100
+++ new/yast2-storage-2.24.6/storage/src/include/auto_part_ui.ycp       
2013-07-03 14:20:54.000000000 +0200
@@ -23,7 +23,7 @@
  * Module:             auto_part_ui.ycp
  *
  * Authors:            Andreas Schwab (sch...@suse.de)
- *                     Klaus K�mpf (kkae...@suse.de)
+ *                     Klaus Kämpf (kkae...@suse.de)
  *
  * Purpose:            This module contains the user interface
  *                     definitions for the automatic partitioner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/modules/Partitions.ycp 
new/yast2-storage-2.24.6/storage/src/modules/Partitions.ycp
--- old/yast2-storage-2.24.5/storage/src/modules/Partitions.ycp 2013-07-01 
13:23:32.000000000 +0200
+++ new/yast2-storage-2.24.6/storage/src/modules/Partitions.ycp 2013-07-03 
17:45:57.000000000 +0200
@@ -209,6 +209,8 @@
        boot_size_k = $[ `proposed : 400 * 1024,
                         `minimal : 90 * 1024,
                         `maximal : 750 * 1024 ];
+       if( EfiBoot())
+           boot_size_k[`proposed] = 150 * 1024;
 
        if (Arch::ia64())
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yast2-storage-2.24.5/storage/src/modules/Storage.ycp 
new/yast2-storage-2.24.6/storage/src/modules/Storage.ycp
--- old/yast2-storage-2.24.5/storage/src/modules/Storage.ycp    2013-06-27 
11:34:14.000000000 +0200
+++ new/yast2-storage-2.24.6/storage/src/modules/Storage.ycp    2013-07-03 
14:20:54.000000000 +0200
@@ -29,16 +29,16 @@
  * to * access and modify the partitioning settings.
  *
  * Todo: Translate
- * Diese Modul enth�lt alle Informationen die f�r die Partitionierung der
+ * Diese Modul enthält alle Informationen die für die Partitionierung der
  * Festplatten erforderlich sind. Diese Informationen bestehen aus der
  * Beschreibung, der vor der Partitionierung vorhandenen Platteneinstellungen,
- * und der Art und Weise wie diese ver�ndert werden soll.
- * Alle n�tigen Zugriffsfunktionen auf diese Datenstruktur sind ebenfalls in
+ * und der Art und Weise wie diese verändert werden soll.
+ * Alle nötigen Zugriffsfunktionen auf diese Datenstruktur sind ebenfalls in
  * diesem Modul enthalten. Der Zugriff auf die Speicherung der
- * Partitionseinstellungen l�uft also nur �ber dieses Modul.
- * Der Zugriff und die R�ckgabe von Teilen der Partitionsdatenstruktur
+ * Partitionseinstellungen läuft also nur über dieses Modul.
+ * Der Zugriff und die Rückgabe von Teilen der Partitionsdatenstruktur
  * wurde versucht "intelligent" zu gestallten und ist im einzelen bei den
- * entspechenden Funktionen n�her erkl�rt.
+ * entspechenden Funktionen näher erklärt.
  *
  * $Id$
  */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/modules/StorageProposal.ycp 
new/yast2-storage-2.24.6/storage/src/modules/StorageProposal.ycp
--- old/yast2-storage-2.24.5/storage/src/modules/StorageProposal.ycp    
2013-03-14 18:06:38.000000000 +0100
+++ new/yast2-storage-2.24.6/storage/src/modules/StorageProposal.ycp    
2013-07-04 15:55:57.000000000 +0200
@@ -637,19 +637,24 @@
     }
 
 
-map do_vm_disk_conf( map disk, map boot, string vmkey, string key )
+map do_vm_disk_conf( map disk, map boot, map boot2, string vmkey, string key )
     {
     string dev = disk["device"]:"";
-    y2milestone( "do_vm_disk_conf dev %1 vmkey %2 key %3 boot %4", 
-                 dev, vmkey, key, boot );
+    y2milestone( "do_vm_disk_conf dev %1 vmkey %2 key %3 boot %4 boot2:%5", 
+                 dev, vmkey, key, boot, boot2 );
     y2milestone( "do_vm_disk_conf parts %1", disk["partitions"]:[] );
-    map conf = $[ "partitions" : [ $[ "id" : 0x8E ] ] ];
+    map conf = $[];
     if( size(boot)>0 )
        conf["partitions"] = add( conf["partitions"]:[], boot );
+    if( size(boot2)>0 )
+       conf["partitions"] = add( conf["partitions"]:[], boot2 );
+    if( isempty(vmkey) )
+       conf["partitions"] = add( conf["partitions"]:[], $[ "id" : 
Partitions::fsid_lvm ] );
+    y2milestone( "do_vm_disk_conf conf %1", conf );
     map ret = $[];
     ret["ok"] = false;
 
-    integer fsid = conf["partitions",0,"id"]:0;
+    integer fsid = Partitions::fsid_lvm;
     if( Storage::IsPartitionable( disk ))
        {
        y2milestone( "do_vm_disk_conf processing disk %1", dev );
@@ -672,76 +677,36 @@
                });
            y2milestone( "do_vm_disk_conf gap %1", gap["gap"]:[] );
            }
-       boolean ok = size(boot)==0;
-       if( !ok )
-           {
-           integer gstart = -1;
-           map bo = find( map p, (list<map>)tc["partitions"]:[], 
-                          ``(p["mount"]:""==boot["mount"]:"") );
-           y2milestone( "do_vm_disk_conf boot %1", bo );
+       boolean ok = true;
+       integer count = 0;
+       list<map> smallp = (list<map>)filter( map p,  
(list<map>)tc["partitions"]:[],
+                                             
``(p["id"]:0!=Partitions::fsid_lvm) );
+       y2milestone( "do_vm_disk_conf smallp %1", smallp );
+       foreach( map bo, smallp,
+           ``{
+           y2milestone( "do_vm_disk_conf bo %1", bo );
            integer cyl_num = bo["cylinders"]:1;
-           y2milestone( "do_vm_disk_conf boot cyl %1", cyl_num );
+           boolean found = false;
            gap["gap"] = maplist( map g, gap["gap"]:[],
                ``{
-               if( !g["exists"]:false && !ok && g["cylinders"]:0>=cyl_num &&
-                   ((g["extended"]:false && size(gap["ext_pnr"]:[])>1)||
-                    (!g["extended"]:false && size(gap["free_pnr"]:[])>1)))
+               if( !g["exists"]:false && g["cylinders"]:0>=cyl_num &&
+                   ((g["extended"]:false && size(gap["ext_pnr"]:[])>0)||
+                    (!g["extended"]:false && size(gap["free_pnr"]:[])>0)))
                    {
-                   ok = true;
-                   gstart = g["start"]:-1;
+                   found = true;
                    string key = g["extended"]:false ? "ext_pnr" : "free_pnr";
-                   g["added"] = [ [ 1, gap[key,0]:0, cyl_num ] ];
+                   g["added"] = add( g["added"]:[], [ count, gap[key,0]:0, 
cyl_num ] );
                    g["cylinders"] = g["cylinders"]:0-cyl_num;
                    gap[key] = remove( gap[key]:[], 0 );
-                   if( g["cylinders"]:0 > 1 )
-                       {
-                       integer vg_size = GetControlCfg()["vm_want"]:(15*1024);
-                       // get only limited amount of the gap so that there is 
free
-                       // space left (fate #303594)
-                       y2milestone ("do_vm_disk_conf maximum volume group size 
from control file: %1", vg_size);
-                       integer add_cylinders = g["cylinders"]:0;  // whole 
partition as default
-                       if (vg_size != nil && vg_size > 0 && 
GetControlCfg()["vm_keep_unpartitioned_region"]:false)
-                       {
-                           integer cyl_size = g["size"]:0 / g["cylinders"]:0;
-                           add_cylinders = (vg_size * 1024 * 1024) / cyl_size;
-                           if (add_cylinders > g["cylinders"]:0)
-                               add_cylinders = g["cylinders"]:0;
-                       }
-                       g["added"] = add( g["added"]:[],
-                                         [ 0, gap[key,0]:0, add_cylinders ] );
-                       y2milestone ("do_vm_disk_conf added new partition: %1", 
g);
-                       g["cylinders"] = 0; // do not use the rest of the gap, 
if not set to zero, it is used, don't know why
-                       gap[key] = remove( gap[key]:[], 0 );
-                       }
                    }
                return( g );
                });
-           if( !ok )
-               {
-               gap["gap"] = maplist( map g, gap["gap"]:[],
-                   ``{
-                   if( !g["exists"]:false && !ok && g["cylinders"]:0>=cyl_num 
&&
-                       ((g["extended"]:false && size(gap["ext_pnr"]:[])>0)||
-                        (!g["extended"]:false && size(gap["free_pnr"]:[])>0)))
-                       {
-                       ok = true;
-                       gstart = g["start"]:-1;
-                       string key = g["extended"]:false ? "ext_pnr" : 
"free_pnr";
-                       g["added"] = [ [ 1, gap[key,0]:0, cyl_num ] ];
-                       g["cylinders"] = g["cylinders"]:0-cyl_num;
-                       gap[key] = remove( gap[key]:[], 0 );
-                       }
-                   return( g );
-                   });
-               }
-           if( ok && size(vmkey)>0 )
-               {
-               gap["gap"] = filter( map g, gap["gap"]:[], 
-                                    ``(g["start"]:0==gstart));
-               }
-           y2milestone( "do_vm_disk_conf gap %1", gap["gap"]:[] );
-           }
-       else if( size(vmkey)>0 )
+           if( !found )
+               ok = false;
+           count = count+1;
+           });
+       y2milestone( "do_vm_disk_conf ok:%1 gap %2", ok, gap["gap"]:[] );
+       if( !isempty(vmkey) )
            gap = $[];
        map sol = $[];
        sol["solution"] = gap;
@@ -812,7 +777,7 @@
                    if( acur!=nil )
                        {
                        g["resize"] = acur["end"]:0;
-                       g["fsid"] = fsid;
+                       g["fsid"] = Partitions::fsid_lvm;
                        }
                    }
                return( g );
@@ -827,38 +792,39 @@
                return( a["cylinders"]:0>b["cylinders"]:0 );
                });
            y2milestone( "do_vm_disk_conf sorted gap %1", gap["gap"]:[] );
+           integer vg_size = GetControlCfg()["vm_want"]:(15*1024);
+           boolean keep_unpart = 
GetControlCfg()["vm_keep_unpartitioned_region"]:false;
            gap["gap"] = maplist( map g, gap["gap"]:[],
                ``{
                if( !g["exists"]:false && g["cylinders"]:0>0 &&
                    ((g["extended"]:false && size(gap["ext_pnr"]:[])>0)||
                     (!g["extended"]:false && size(gap["free_pnr"]:[])>0)))
                    {
+                   integer cyl_num = g["cylinders"]:0;  // whole partition as 
default
+                   if( vg_size != nil && vg_size > 0 && keep_unpart )
+                       {
+                       // get only limited amount of the gap so that there is 
free
+                       // space left (fate #303594)
+                       y2milestone ("do_vm_disk_conf maximum volume group size 
from control file: %1", vg_size);
+                       integer cyl_size = g["size"]:0 / g["cylinders"]:0;
+                       cyl_num = (vg_size * 1024 * 1024) / cyl_size;
+                       if (cyl_num > g["cylinders"]:0)
+                           cyl_num = g["cylinders"]:0;
+                       }
                    string key = g["extended"]:false ? "ext_pnr" : "free_pnr";
-                   // get only limited amount of the gap so that there is free
-                   // space left (fate #303594)
-                   integer vg_size = GetControlCfg()["vm_want"]:(15*1024);
-                   y2milestone ("do_vm_disk_conf maximum volume group size 
from control file: %1", vg_size);
-                   integer add_cylinders = g["cylinders"]:0; // whole 
partition as default
-                   if (vg_size != nil && vg_size > 0 && 
GetControlCfg()["vm_keep_unpartitioned_region"]:false)
-                   {
-                       integer cyl_size = g["size"]:0 / g["cylinders"]:0;
-                       add_cylinders = (vg_size * 1024 * 1024) / cyl_size;
-                       if (add_cylinders > g["cylinders"]:0)
-                           add_cylinders = g["cylinders"]:0;
-                   }
                    g["added"] = add( g["added"]:[], 
-                                     [ 0, gap[key,0]:0, add_cylinders ]);
+                                     [ size(conf["partitions"]:[])-1, 
gap[key,0]:0, cyl_num ]);
                    y2milestone ("do_vm_disk_conf added new partition: %1", g);
-                   g["cylinders"] = 0; // otherwise it get another chunk - 
don't know why :-(
                    gap[key] = remove( gap[key]:[], 0 );
                    }
                return( g );
                });
+           y2milestone( "do_vm_disk_conf gap %1", gap );
            gap["gap"] = maplist( map g, gap["gap"]:[],
                ``{
-               if( g["exists"]:false && fsid!=0 && g["fsid"]:0!=fsid )
+               if( g["exists"]:false && g["fsid"]:0!=Partitions::fsid_lvm )
                    {
-                   g["fsid"] = fsid;
+                   g["fsid"] = Partitions::fsid_lvm;
                    }
                return( g );
                });
@@ -870,7 +836,6 @@
     y2milestone( "do_vm_disk_conf ret %1", ret["ok"]:false );
     if( ret["ok"]:false )
        {
-       y2milestone( "do_vm_disk_conf weight %1", ret["weight"]:-2 );
        y2milestone( "do_vm_disk_conf parts %1", ret["disk","partitions"]:[] );
        }
     return( ret );
@@ -2660,6 +2625,44 @@
     return( ret );
     }
 
+list<map> can_rboot_reuse( string disk, string label, boolean boot,
+                           integer max_prim, list<map> partitions )
+    {
+    list<map> ret = [];
+    y2milestone( "can_rboot_reuse boot:%1", boot );
+    if( boot )
+       {
+       y2milestone( "can_rboot_reuse disk:%1 max_prim:%2 label:%3 part:%4", 
+                    disk, max_prim, label, partitions );
+       list<map> pl = [];
+       pl = filter( map p, partitions, 
+                    ``(!p["delete"]:false &&
+                       p["size_k"]:0*1024 >= 
+                           Partitions::MinimalBootsize()));
+       map boot = find( map p, pl,
+                        ``(p["fsid"]:0 == Partitions::fsid_native && 
+                           p["size_k"]:0*1024 <= Partitions::MaximalBootsize() 
&&
+                           FileSystems::IsSupported(p["used_fs"]:`unknown)));
+       if( boot != nil )
+           {
+           ret = maplist( map p, partitions,
+                          ``{
+                          if( !p["delete"]:false && 
+                              p["device"]:""==boot["device"]:"" &&
+                              Storage::CanEdit(p,false) )
+                              {
+                              p = Storage::SetVolOptions( p, "/boot",
+                                                          
Partitions::DefaultFs(), 
+                                                          "", "", "" );
+                              }
+                          return( p );
+                          });
+           }
+       y2milestone( "can_rboot_reuse ret:%1", ret );
+       }
+    return( ret );
+    }
+
 list<map> can_home_reuse( integer min, integer max,
                          list<map> partitions )
     {
@@ -3890,6 +3893,14 @@
        {
        boot["primary"] = true;
        }
+    map boot2 = $[];
+    if( GetProposalEncrypt() && Partitions::EfiBoot() )
+       {
+        boot2 = $[ "mount" : "/boot",
+                   "size" : 400 * 1024 * 1024,
+                  "fsys" : Partitions::DefaultFs(),
+                  "id" : Partitions::fsid_native ];
+       }
     list<string> ddev = get_disk_try_list( target, true );
     string sol_disk = "";
     map<string,boolean> valid = $[];
@@ -4016,10 +4027,22 @@
            boolean have_boot = size(p)>0;
            if( have_boot )
                disk["partitions"] = p;
+           if( !isempty(boot2) )
+               {
+               p = can_rboot_reuse( s, disk["label"]:"msdos", true,
+                                    disk["max_primary"]:4,
+                                    disk["partitions"]:[] );
+               if( size(p)>0 )
+                   {
+                   disk["partitions"] = p;
+                   boot2 = $[];
+                   }
+               }
            string vg = vg_key;
            if( size(vg)>0 && did_remove_vg( disk["partitions"]:[], key ))
                vg = "";
-           map ps = do_vm_disk_conf( disk, have_boot?($[]):boot, vg, key );
+           map ps = do_vm_disk_conf( disk, have_boot?($[]):boot, boot2,
+                                     vg, key );
            if( ps["ok"]:false )
                {
                integer mb = get_vm_sol( ps );
@@ -4149,6 +4172,14 @@
        {
        boot["primary"] = true;
        }
+    map boot2 = $[];
+    if( GetProposalEncrypt() && Partitions::EfiBoot() )
+       {
+        boot2 = $[ "mount" : "/boot",
+                   "size" : Partitions::ProposedBootsize(),
+                  "fsys" : Partitions::DefaultFs(),
+                  "id" : Partitions::fsid_native ];
+       }
     map conf = $[ "partitions" : [] ];
     list<map> p = can_boot_reuse( ddev, disk["label"]:"msdos", true,
                                  disk["max_primary"]:4,
@@ -4157,7 +4188,18 @@
     boolean have_boot = size(p)>0;
     if( have_boot )
        disk["partitions"] = p;
-    map ps = do_vm_disk_conf( disk, have_boot?($[]):boot, "", key );
+    if( !isempty(boot2) )
+       {
+       p = can_rboot_reuse( ddev, disk["label"]:"msdos", true,
+                            disk["max_primary"]:4,
+                            disk["partitions"]:[] );
+       if( size(p)>0 )
+           {
+           disk["partitions"] = p;
+           boot2 = $[];
+           }
+       }
+    map ps = do_vm_disk_conf( disk, have_boot?($[]):boot, boot2, "", key );
     ret["ok"] = ps["ok"]:false;
     if( ret["ok"]:false )
        {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/testsuite/tests/empty-efi1.out 
new/yast2-storage-2.24.6/storage/src/testsuite/tests/empty-efi1.out
--- old/yast2-storage-2.24.5/storage/src/testsuite/tests/empty-efi1.out 
2013-07-01 13:23:32.000000000 +0200
+++ new/yast2-storage-2.24.6/storage/src/testsuite/tests/empty-efi1.out 
2013-07-04 14:20:59.000000000 +0200
@@ -1,4 +1,4 @@
 Dump   Proposal:
-Dump   Create boot volume /dev/sda1 (400.06 MB) with vfat
+Dump   Create boot volume /dev/sda1 (156.88 MB) with vfat
 Dump   Create swap volume /dev/sda2 (517.72 MB)
-Dump   Create root volume /dev/sda3 (297.19 GB) with ext4
+Dump   Create root volume /dev/sda3 (297.43 GB) with ext4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yast2-storage-2.24.5/storage/src/testsuite/tests/empty-efi2.out 
new/yast2-storage-2.24.6/storage/src/testsuite/tests/empty-efi2.out
--- old/yast2-storage-2.24.5/storage/src/testsuite/tests/empty-efi2.out 
2013-07-01 13:23:32.000000000 +0200
+++ new/yast2-storage-2.24.6/storage/src/testsuite/tests/empty-efi2.out 
2013-07-04 14:20:59.000000000 +0200
@@ -1,5 +1,5 @@
 Dump   Proposal:
-Dump   Create boot volume /dev/sda1 (400.06 MB) with vfat
+Dump   Create boot volume /dev/sda1 (156.88 MB) with vfat
 Dump   Create swap volume /dev/sda2 (2.01 GB)
 Dump   Create root volume /dev/sda3 (20.00 GB) with ext4
-Dump   Create volume /dev/sda4 (275.69 GB) for /home with ext4
+Dump   Create volume /dev/sda4 (275.93 GB) for /home with ext4

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to