openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2009
- 2 participants
- 999 discussions
Hello community,
here is the log from the commit of package taglib-extras for openSUSE:Factory
checked in at Sat Jul 25 18:53:24 CEST 2009.
--------
--- KDE/taglib-extras/taglib-extras.changes 2009-06-13 10:10:10.000000000 +0200
+++ taglib-extras/taglib-extras.changes 2009-07-25 11:35:58.000000000 +0200
@@ -1,0 +2,5 @@
+Sat Jul 25 11:29:53 CEST 2009 - beineri(a)opensuse.org
+
+- update to 0.1.5: fix 64-bit field file-handling crash
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
taglib-extras-0.1.4.tar.bz2
New:
----
taglib-extras-0.1.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ taglib-extras.spec ++++++
--- /var/tmp/diff_new_pack.mqGtQm/_old 2009-07-25 18:53:12.000000000 +0200
+++ /var/tmp/diff_new_pack.mqGtQm/_new 2009-07-25 18:53:12.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package taglib-extras (Version 0.1.4)
+# spec file for package taglib-extras (Version 0.1.5)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -24,7 +24,7 @@
License: LGPL v2.1 or later
Group: Development/Libraries/C and C++
Summary: Extra plugins for TagLib
-Version: 0.1.4
+Version: 0.1.5
Release: 1
Source0: taglib-extras-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ taglib-extras-0.1.4.tar.bz2 -> taglib-extras-0.1.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/taglib-extras-0.1.4/ChangeLog new/taglib-extras-0.1.5/ChangeLog
--- old/taglib-extras-0.1.4/ChangeLog 2009-06-12 17:23:15.000000000 +0200
+++ new/taglib-extras-0.1.5/ChangeLog 2009-07-24 18:34:41.000000000 +0200
@@ -2,6 +2,10 @@
================
(C) 2009 Jeff Mitchell and the Amarok authors
+VERSION 0.1.5:
+ BUGFIXES:
+ * Fix mp4 file-handling crash. Fix in upstream TagLib. (BR 198730)
+
VERSION 0.1.4:
BUGFIXES:
* Fix possible mp4 file-handling crash. Fix in upstream TagLib. Thanks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/taglib-extras-0.1.4/taglib-extras/mp4/mp4atom.cpp new/taglib-extras-0.1.5/taglib-extras/mp4/mp4atom.cpp
--- old/taglib-extras-0.1.4/taglib-extras/mp4/mp4atom.cpp 2009-03-22 18:07:16.000000000 +0100
+++ new/taglib-extras-0.1.5/taglib-extras/mp4/mp4atom.cpp 2009-07-24 18:34:41.000000000 +0200
@@ -41,10 +41,17 @@
length = header.mid(0, 4).toUInt();
if (length == 1) {
- debug("MP4: 64-bit atoms are not supported");
- length = 0;
- file->seek(0, File::End);
- return;
+ long long longLength = file->readBlock(8).toLongLong();
+ if (longLength >= 8 && longLength <= 0xFFFFFFFF) {
+ // The atom has a 64-bit length, but it's actually a 32-bit value
+ length = (long)longLength;
+ }
+ else {
+ debug("MP4: 64-bit atoms are not supported");
+ length = 0;
+ file->seek(0, File::End);
+ return;
+ }
}
if (length < 8) {
debug("MP4: Invalid atom size");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/taglib-extras-0.1.4/taglib-extras/mp4/mp4tag.cpp new/taglib-extras-0.1.5/taglib-extras/mp4/mp4tag.cpp
--- old/taglib-extras-0.1.4/taglib-extras/mp4/mp4tag.cpp 2009-04-29 17:56:41.000000000 +0200
+++ new/taglib-extras-0.1.5/taglib-extras/mp4/mp4tag.cpp 2009-07-24 18:34:41.000000000 +0200
@@ -23,9 +23,9 @@
* http://www.mozilla.org/MPL/ *
***************************************************************************/
+#include "mp4atom.h"
#include "mp4tag.h"
#include "tdebug.h"
-#include "mp4atom.h"
#include <tstring.h>
using namespace TagLib;
@@ -308,9 +308,20 @@
{
for(unsigned int i = 0; i < path.size() - ignore; i++) {
d->file->seek(path[i]->offset);
- long size = d->file->readBlock(4).toUInt() + delta;
- d->file->seek(path[i]->offset);
- d->file->writeBlock(ByteVector::fromUInt(size));
+ long size = d->file->readBlock(4).toUInt();
+ // 64-bit
+ if (size == 1) {
+ d->file->seek(4, File::Current); // Skip name
+ long long longSize = d->file->readBlock(8).toLongLong();
+ // Seek the offset of the 64-bit size
+ d->file->seek(path[i]->offset + 8);
+ d->file->writeBlock(ByteVector::fromLongLong(longSize + delta));
+ }
+ // 32-bit
+ else {
+ d->file->seek(path[i]->offset);
+ d->file->writeBlock(ByteVector::fromUInt(size + delta));
+ }
}
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package subversion for openSUSE:Factory
checked in at Sat Jul 25 18:52:56 CEST 2009.
--------
--- subversion/subversion.changes 2009-07-06 19:22:01.000000000 +0200
+++ subversion/subversion.changes 2009-07-24 17:52:58.000000000 +0200
@@ -1,0 +2,19 @@
+Fri Jul 24 17:51:56 CEST 2009 - dmueller(a)suse.de
+
+- fix typo in dav svn default configuration (bnc#517143)
+
+-------------------------------------------------------------------
+Tue Jul 21 22:02:50 CEST 2009 - stsp(a)elego.de
+
+- Don't run regression tests on OpenSUSE Factory. It takes too
+ long which causes problems for the build service because the
+ subversion package is being rebuilt often.
+
+-------------------------------------------------------------------
+Sat Jul 18 01:31:27 CEST 2009 - stsp(a)elego.de
+
+- To help us figure out why the test suite sometimes hangs on the
+ build service, add a patch which allows logging to stdout
+ and stderr, instead of logging to tests.log, during make check.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
subversion-make-check-log-to-stdout.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ subversion.spec ++++++
--- /var/tmp/diff_new_pack.FgpVwK/_old 2009-07-25 18:52:05.000000000 +0200
+++ /var/tmp/diff_new_pack.FgpVwK/_new 2009-07-25 18:52:05.000000000 +0200
@@ -42,7 +42,7 @@
Name: subversion
Version: 1.6.3
-Release: 1
+Release: 2
# in-tree SWIG version to use for the build:
%define swig_version 1.3.36
%define sqlite_version 3.6.14.2
@@ -152,6 +152,7 @@
Patch34: subversion.allowed-neon.patch
Patch35: subversion.java14.patch
Patch36: subversion-ctypes-remove_shebang.patch
+Patch37: subversion-make-check-log-to-stdout.patch
#
%if %with_ruby
%if %{!?rb_arch:1}0
@@ -336,6 +337,7 @@
%patch34 -p0
%patch35 -p1
%patch36 -p0
+%patch37 -p0
%if 0%{?sles_version} == 9
%__grep -rwl '/usr/bin/python' . | xargs %__sed -i 's|/usr/bin/python|%{_usr}/bin/python2.5|g'
%__grep -rwl '/usr/bin/env python' . | xargs %__sed -i 's|/usr/bin/env python|%{_usr}/bin/python2.5|g'
@@ -622,20 +624,23 @@
fi
%check
+# Don't run regression tests on Factory, they take too long to complete.
+# This check needs to be bumped with every release:
+%if 0%{?suse_version} <= 1110
%if 0%{?sles_version} == 9
export PATH="$PWD/BUILDPATH:$PATH"
-%endif
+%endif # sles_version == 9
# During "make check", auth-test loads DSOs at runtime and can't find
# them if we don't set up LD_LIBRARY_PATH as below.
export LD_LIBRARY_PATH="$PWD/subversion/libsvn_auth_kwallet/.libs:$PWD/subversion/libsvn_auth_gnome_keyring/.libs:$LD_LIBRARY_PATH"
# run test over ra_local (file://)
for fstype in fsfs bdb; do
-%__make check CLEANUP=true FS_TYPE=$fstype || cat tests.log
+%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype
done
# run tests over ra_svn (svn://)
$PWD/subversion/svnserve/svnserve --listen-host 127.0.0.1 --pid-file $PWD/svnserve.pid -d -r $PWD/subversion/tests/cmdline
for fstype in fsfs bdb; do
-%__make check CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1 || cat tests.log
+%__make check LOG_TO_STDOUT=true CLEANUP=true FS_TYPE=$fstype BASE_URL=svn://127.0.0.1
done
kill `cat $PWD/svnserve.pid`
%if %with_java
@@ -646,6 +651,7 @@
%if %with_ruby
%__make check-swig-rb
%endif # with_ruby
+%endif # suse_version <= 1110
%clean
%__rm -rf "%{buildroot}"
++++++ subversion-make-check-log-to-stdout.patch ++++++
Index: Makefile.in
===================================================================
--- Makefile.in (revision 38431)
+++ Makefile.in (working copy)
@@ -416,7 +416,10 @@ check: bin $(TEST_DEPS) @BDB_TEST_DEPS@
if test "$(PARALLEL)" != ""; then \
flags="--parallel $$flags"; \
fi; \
- $(PYTHON) $(top_srcdir)/build/run_tests.py \
+ if test "$(LOG_TO_STDOUT)" != ""; then \
+ flags="--log-to-stdout $$flags"; \
+ fi; \
+ $(PYTHON) $(top_srcdir)/build/run_tests.py \
--config-file $(top_srcdir)/subversion/tests/tests.conf \
$$flags \
'$(abs_srcdir)' '$(abs_builddir)' $(TESTS); \
Index: build/run_tests.py
===================================================================
--- build/run_tests.py (revision 38431)
+++ build/run_tests.py (working copy)
@@ -36,7 +36,9 @@ class TestHarness:
'''Construct a TestHarness instance.
ABS_SRCDIR and ABS_BUILDDIR are the source and build directories.
- LOGFILE is the name of the log file.
+ LOGFILE is the name of the log file. If LOGFILE is None, let tests
+ print their output to stdout and stderr, and don't print a summary
+ at the end (since there's no log file to analyze).
BASE_URL is the base url for DAV tests.
FS_TYPE is the FS type for repository creation.
HTTP_LIBRARY is the HTTP library for DAV-based communications.
@@ -71,6 +73,10 @@ class TestHarness:
failed = 0
for cnt, prog in enumerate(list):
failed = self._run_test(prog, cnt, len(list)) or failed
+
+ if self.log is None:
+ return failed
+
self._open_log('r')
log_lines = self.log.readlines()
# Print summaries from least interesting to most interesting.
@@ -110,8 +116,9 @@ class TestHarness:
def _open_log(self, mode):
'Open the log file with the required MODE.'
- self._close_log()
- self.log = open(self.logfile, mode)
+ if self.logfile:
+ self._close_log()
+ self.log = open(self.logfile, mode)
def _close_log(self):
'Close the log file.'
@@ -129,11 +136,14 @@ class TestHarness:
return arg
progdir, progbase = os.path.split(prog)
- # Using write here because we don't want even a trailing space
- sys.stdout.write('Running all tests in %s [%d/%d]...' % (
- progbase, test_nr + 1, total_tests))
- self.log.write('START: %s\n' % progbase)
- self.log.flush()
+ if self.log:
+ # Using write here because we don't want even a trailing space
+ sys.stdout.write('Running all tests in %s [%d/%d]...' % (
+ progbase, test_nr + 1, total_tests))
+ self.log.write('START: %s\n' % progbase)
+ self.log.flush()
+ else:
+ print('START: %s' % progbase)
if progbase[-3:] == '.py':
progname = sys.executable
@@ -191,13 +201,16 @@ class TestHarness:
# output any failure info.
if failed == 1:
print('FAILURE')
- elif failed:
+ elif failed and self.log:
self.log.write('FAIL: %s: Unknown test failure see tests.log.\n\n' % progbase)
self.log.flush()
print('FAILURE')
else:
print('success')
- self.log.write('END: %s\n\n' % progbase)
+ if self.log:
+ self.log.write('END: %s\n\n' % progbase)
+ else:
+ print('END: %s\n' % progbase)
return failed
def _run_prog(self, progname, arglist):
@@ -210,20 +223,24 @@ class TestHarness:
os.close(stdout)
os.close(stderr)
- sys.stdout.flush()
- sys.stderr.flush()
- self.log.flush()
- old_stdout = os.dup(1)
- old_stderr = os.dup(2)
+ if self.log:
+ sys.stdout.flush()
+ sys.stderr.flush()
+ self.log.flush()
+ old_stdout = os.dup(1)
+ old_stderr = os.dup(2)
try:
- os.dup2(self.log.fileno(), 1)
- os.dup2(self.log.fileno(), 2)
+ if self.log:
+ os.dup2(self.log.fileno(), 1)
+ os.dup2(self.log.fileno(), 2)
rv = os.spawnv(os.P_WAIT, progname, arglist)
except:
- restore_streams(old_stdout, old_stderr)
+ if self.log:
+ restore_streams(old_stdout, old_stderr)
raise
else:
- restore_streams(old_stdout, old_stderr)
+ if self.log:
+ restore_streams(old_stdout, old_stderr)
return rv
@@ -233,7 +250,8 @@ def main():
['url=', 'fs-type=', 'verbose', 'cleanup',
'http-library=', 'server-minor-version=',
'fsfs-packing', 'fsfs-sharding=',
- 'enable-sasl', 'parallel', 'config-file='])
+ 'enable-sasl', 'parallel', 'config-file=',
+ 'log-to-stdout'])
except getopt.GetoptError:
args = []
@@ -243,8 +261,9 @@ def main():
base_url, fs_type, verbose, cleanup, enable_sasl, http_library, \
server_minor_version, fsfs_sharding, fsfs_packing, parallel, \
- config_file = \
- None, None, None, None, None, None, None, None, None, None, None
+ config_file, log_to_stdout = \
+ None, None, None, None, None, None, None, None, None, None, None, \
+ None
for opt, val in opts:
if opt in ['-u', '--url']:
base_url = val
@@ -268,11 +287,17 @@ def main():
parallel = 1
elif opt in ['--config-file']:
config_file = val
+ elif opt in ['--log-to-stdout']:
+ log_to_stdout = 1
else:
raise getopt.GetoptError
- th = TestHarness(args[0], args[1],
- os.path.abspath('tests.log'),
+ if log_to_stdout:
+ logfile = None
+ else:
+ logfile = os.path.abspath('tests.log')
+
+ th = TestHarness(args[0], args[1], logfile,
base_url, fs_type, http_library, server_minor_version,
verbose, cleanup, enable_sasl, parallel, config_file,
fsfs_sharding, fsfs_packing)
++++++ subversion.conf ++++++
--- /var/tmp/diff_new_pack.FgpVwK/_old 2009-07-25 18:52:06.000000000 +0200
+++ /var/tmp/diff_new_pack.FgpVwK/_new 2009-07-25 18:52:06.000000000 +0200
@@ -73,7 +73,7 @@
# #
# <Location />
# DAV svn
-# SVNParent /srv/svn/repositories/
+# SVNParentPath /srv/svn/repositories/
# SVNListParentPath on
# AuthType Basic
# AuthName "subversion repository"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-storage for openSUSE:Factory
checked in at Sat Jul 25 18:51:39 CEST 2009.
--------
--- yast2-storage/yast2-storage.changes 2009-07-23 13:20:31.000000000 +0200
+++ yast2-storage/yast2-storage.changes 2009-07-23 17:41:48.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Jul 23 17:15:51 CEST 2009 - aschnell(a)suse.de
+
+- allow user to ignore some consistency checks respecting manual
+ partition setup during installation (fate #305149)
+
+-------------------------------------------------------------------
@@ -8,0 +15,6 @@
+-------------------------------------------------------------------
+Thu Jul 23 13:14:59 CEST 2009 - aschnell(a)suse.de
+
+- added minimal experimental btrfs support, esp. filesystems over
+ multiple devices are not supported (fate #306587)
+
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.nZrHy3/_old 2009-07-25 18:51:15.000000000 +0200
+++ /var/tmp/diff_new_pack.nZrHy3/_new 2009-07-25 18:51:15.000000000 +0200
@@ -20,7 +20,7 @@
Name: yast2-storage
Version: 2.18.16
-Release: 1
+Release: 2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: yast2-storage-2.18.16.tar.bz2
Prefix: /usr
++++++ yast2-storage-2.18.16.tar.bz2 ++++++
++++ 5672 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/include/custom_part_check_generated.ycp new/yast2-storage-2.18.16/storage/src/include/custom_part_check_generated.ycp
--- old/yast2-storage-2.18.16/storage/src/include/custom_part_check_generated.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/include/custom_part_check_generated.ycp 2009-07-23 18:39:59.000000000 +0200
@@ -72,15 +72,16 @@
boolean fat_system_boot = false;
string raid_type = "";
- foreach( string disk, map diskinfo, targetMap,
- ``{
+ foreach (string disk, map diskinfo, targetMap, {
+
list<map> part_info = diskinfo["partitions"]:[];
integer cyl_size = diskinfo["cyl_size"]:1000000;
if (contains([ `CT_DISK, `CT_DMRAID, `CT_DMMULTIPATH ], diskinfo["type"]:`CT_UNKNOWN))
diskless = false;
- foreach( map part, part_info, ``{
+ foreach (map part, part_info, {
+
// All valid partitions ...
integer fsid = part["fsid"]:0;
string mountpoint = part["mount"]:"";
@@ -195,48 +196,57 @@
y2milestone("root_dmraid:%1 root_raid %2 boot_raid %3 raid_type:%4",
root_dmraid, root_raid, boot_raid, raid_type);
- boolean retval = true;
+ boolean ok = true;
if (( !root_found && installation ) || show_all_popups )
{
// popup text
- Popup::Error(_("
-YaST2 needs a root partition to install.
-Assign the root mount point \"/\" to a partition.
-"));
-
- retval = false;
- }
+ string message = _("You have not assigned a root partition for
+installation. This does not work. Assign the root mount point \"/\" to a
+partition.
+Really use this setup?
+");
+ if (!Popup::YesNo(message))
+ ok = false;
+ }
if( fat_system_mount || show_all_popups )
{
// popup text
- Popup::Error(_("You tried to mount a fat partition to
-one of the following mount points: / /usr /home /opt /var.
-Use a Linux file system, such as ext3 or reiserfs, for these mount points.
-"));
+ string message = _("You tried to mount a fat partition to one of
+the following mount points: / /usr /home /opt /var. This will very likely
+cause problems. Use a Linux file system, such as ext3, ext4 or reiserfs, for
+these mount points.
- retval = false;
+Really use this setup?
+");
+
+ if (!Popup::YesNo(message))
+ ok = false;
}
if( fat_system_boot || show_all_popups )
{
// popup text
- Popup::Error(_("You tried to mount a fat partition to the mount point /boot.
-Use a Linux file system, such as ext2, ext3 or reiserfs, for this mount point.
-"));
+ string message = _("You tried to mount a fat partition to the
+mount point /boot. This will very likely cause problems. Use a Linux file
+system, such as ext3, ext4 or reiserfs, for this mount point.
- retval = false;
+Really use this setup?
+");
+
+ if (!Popup::YesNo(message))
+ ok = false;
}
if( (boot_found) && installation || show_all_popups )
{
if( boot_end >= Partitions::BootCyl() || show_all_popups )
{
- // popup text %1 is a number
- boolean ret = Popup::YesNo(sformat(_("Warning:
+ // popup text, %1 is a number
+ string message = sformat(_("Warning:
Your boot partition ends above cylinder %1.
Your BIOS does not seem able to boot
partitions above cylinder %1.
@@ -244,23 +254,24 @@
installation might not be directly bootable.
Really use this setup?
-"),Partitions::BootCyl(),Product::name));
+"), Partitions::BootCyl(), Product::name);
- if ( !ret ) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
-
if ( (boot_size_k < 12*1024 && boot_size_check) || show_all_popups )
{
- // popup text
- boolean ret = Popup::YesNo(_("Warning:
-Your boot partition is less than 12MB.
+ // popup text, %1 is a size
+ string message = sformat(_("Warning:
+Your boot partition is smaller than %1.
It is recommended to increase the size of /boot.
Really keep this size of boot partition?
-"));
+"), Storage::KByteToHumanStringOmitZeroes(12*1024));
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
}
@@ -268,7 +279,6 @@
if( (! boot_found && installation ) || show_all_popups )
{
-
// iSeries does not really need a boot partition
// a bootable binary will be written to a kernel slot in /proc
if ((Partitions::PrepBoot() && !Arch::board_iseries() && !diskless) || show_all_popups)
@@ -276,25 +286,24 @@
// popup text
// If the user chooses 'no' here, the system will not be able to
// boot from the hard drive!
- boolean ret = Popup::YesNo(_("Warning: There is no partition mounted as /boot.
+ string message = sformat(_("Warning: There is no partition mounted as /boot.
To boot from your hard disk, a small /boot partition
-(approx. 4MB) is required. Consider creating one.
+(approx. %1) is required. Consider creating one.
(Partitions assigned to /boot will automatically be changed to
type 0x41 PReP/CHRP).
Really use the setup without /boot partition?
-"));
-
- if (ret == false) retval = false;
+"), Storage::KByteToHumanStringOmitZeroes(4*1024));
+ if (!Popup::YesNo(message))
+ ok = false;
}
-
// no boot but root
if( (root_end >= Partitions::BootCyl() || show_all_popups) && AutoinstData::BootCylWarning )
{
// popup text
- boolean ret = Popup::YesNo(sformat(_("Warning: According to your setup, you intend to
+ string message = sformat(_("Warning: According to your setup, you intend to
boot your machine from the root partition (/), which, unfortunately,
has an end cylinder above %1. Your BIOS does not seem capable
of booting partitions beyond the %1 cylinder boundary,
@@ -302,11 +311,11 @@
directly bootable.
Really use this setup?
-"), Partitions::BootCyl(),Product::name));
+"), Partitions::BootCyl(), Product::name);
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
-
}
// iSeries has no problems with this configuration
@@ -316,46 +325,44 @@
AutoinstData::BootRaidWarning)
{
// popup text
- boolean ret = Popup::YesNo(sformat(
-_("Warning: With your current setup, your %1
+ string message = sformat(_("Warning: With your current setup, your %1
installation might not be directly bootable, because
your files below \"/boot\" are on a software RAID device.
The boot loader setup sometimes fails in this configuration.
Really use this setup?
-"),Product::name));
+"), Product::name);
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
// iSeries has no problems with this configuration
// an initrd will be created and you can boot from a kernel slot
- if( installation && !Arch::board_iseries () &&
- ((root_lvm && !boot_found) || show_all_popups ) &&
+ if (installation && !Arch::board_iseries() && ((root_lvm && !boot_found) || show_all_popups) &&
AutoinstData::BootLVMWarning )
{
// popup text
- boolean ret = Popup::YesNo(sformat(_("Warning: With your current setup, your %1 installation
+ string message = sformat(_("Warning: With your current setup, your %1 installation
will encounter problems when booting, because you have no \"boot\"
partition and your \"root\" partition is an LVM logical volume.
This does not work.
-
If you do not know exactly what you are doing, use a normal
partition for your files below /boot.
Really use this setup?
-"),Product::name));
+"), Product::name);
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
-
if( ((Partitions::EfiBoot() || Arch::ia64()) && installation && (!boot_found || boot_fs != `vfat)) ||
show_all_popups )
{
// popup text
- boolean ret = Popup::YesNo(sformat(_("Warning: With your current setup, your %2 installation
+ string message = sformat(_("Warning: With your current setup, your %2 installation
will encounter problems when booting, because you have no
FAT partition mounted onto %1.
@@ -365,15 +372,16 @@
FAT partition for your files below %1.
Really use this setup?
-"), Partitions::BootMount(),Product::name));
+"), Partitions::BootMount(), Product::name);
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
if( (root_dmraid && !boot_found) || show_all_popups )
{
// popup text
- boolean ret = Popup::YesNo(sformat(_("Warning: With your current setup, your %2 installation will
+ string message = sformat(_("Warning: With your current setup, your %2 installation will
encounter problems when booting, because you have no
separate %1 partition on your RAID disk.
@@ -383,44 +391,43 @@
partition for your files below %1.
Really use this setup?
-"), Partitions::BootMount(), Product::name));
+"), Partitions::BootMount(), Product::name);
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
if( ((Partitions::EfiBoot() || Arch::ia64()) && installation && boot_found && gpt_boot_ia64) ||
show_all_popups )
{
// popup text
- boolean ret = Popup::YesNo( ia64_gpt_text() + "\n\n" +
- _("Really use this setup ?") );
- if (ret == false) retval = false;
+ string message = ia64_gpt_text() + "\n" + _("Really use this setup?");
+
+ if (!Popup::YesNo(message))
+ ok = false;
}
if ( (!swap_found && Stage::initial() && root_fs!=`nfs) || show_all_popups )
{
// popup text
- boolean ret = Popup::YesNo(_("
+ string message = _("
You have not assigned a swap partition. There is nothing wrong with that, but
in most cases it is highly recommended to create and assign a swap partition.
Swap partitions on your system are listed in the main window with the
type \"Linux Swap\". An assigned swap partition has the mount point \"swap\".
You can assign more than one swap partition, if desired.
-
Really use the setup without swap partition?
-"));
+");
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
-
if( (partition_mounted_but_not_formated && installation) || show_all_popups )
{
// popup text
string message = _("
-WARNING:
-
You chose to install onto an existing partition that will not be
formatted. YaST2 cannot guarantee your installation will succeed,
particularly in any of the following cases:
@@ -442,12 +449,11 @@
Really keep the partition unformatted?
");
- boolean ret = Popup::YesNo( message);
-
- if (ret == false) retval = false;
+ if (!Popup::YesNo(message))
+ ok = false;
}
- return retval;
+ return ok;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/include/custom_part_lib.ycp new/yast2-storage-2.18.16/storage/src/include/custom_part_lib.ycp
--- old/yast2-storage-2.18.16/storage/src/include/custom_part_lib.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/include/custom_part_lib.ycp 2009-07-23 13:49:37.000000000 +0200
@@ -13,7 +13,7 @@
*
*************************************************************
*
- $Id: custom_part_lib.ycp 57661 2009-06-19 12:23:08Z aschnell $
+ $Id: custom_part_lib.ycp 58139 2009-07-23 11:49:39Z aschnell $
*
*/
@@ -638,6 +638,7 @@
`ext2 : [ "e2fsprogs" ],
`ext3 : [ "e2fsprogs" ],
`ext4 : [ "e2fsprogs" ],
+ `btrfs : [ "btrfsprogs" ],
`reiser : [ "reiserfs" ],
`vfat : [ "dosfstools" ],
`ntfs : [ "ntfsprogs" ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/include/ep-lib.ycp new/yast2-storage-2.18.16/storage/src/include/ep-lib.ycp
--- old/yast2-storage-2.18.16/storage/src/include/ep-lib.ycp 2009-07-23 13:17:42.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/include/ep-lib.ycp 2009-07-24 11:05:42.000000000 +0200
@@ -311,11 +311,11 @@
list <integer> bits = [];
list <string> labels = [];
- void AddSegment(integer bit, string label, integer size_k)
+ void AddSegment(float bit, string label, integer size_k)
{
// Guarantee some minimal share (1%) of total graph width to the segment.
// Prevents small partitions e.g. swaps from disappearing completely.
- bits = add(bits, bit < 1 ? 1 : bit);
+ bits = add(bits, Integer::Clamp(1000 * bit, 10, 1000));
labels = add(labels, label + "\n" + Storage::KByteToHumanString(size_k));
}
@@ -367,7 +367,7 @@
next_cyl = Region::Start( partitions[ i+1, "region" ]:[] );
}
- integer tmp = 100 * Region::Length(region) / disk["cyl_count"]:1;
+ float tmp = (float) Region::Length(region) / (float) disk["cyl_count"]:1;
y2debug("i:%1 this cyl:%2 end cyl:%3 next cyl:%4", i, ccyl, Region::End(region), next_cyl);
AddSegment(tmp, part["device"]:"", part["size_k"]:0);
@@ -378,7 +378,7 @@
if ( ( Region::End( region ) != next_cyl ) &&
( (Region::End( region) + 1) != next_cyl ) )
{
- integer tmp2 = 100*( next_cyl - Region::End(region))/disk["cyl_count"]:1;
+ float tmp2 = (float) (next_cyl - Region::End(region)) / (float) disk["cyl_count"]:1;
AddSegment(tmp2, emptyspace, ((next_cyl - Region::End(region)) * disk["cyl_size"]:1) / 1024);
}
@@ -399,11 +399,11 @@
foreach(map partition, partitions, {
integer size_k = partition["size_k"]:0;
disk_free_k = disk_free_k - size_k;
- AddSegment(100 * size_k / disk_size_k, partition["device"]:"", size_k);
+ AddSegment((float) size_k / (float) disk_size_k, partition["device"]:"", size_k);
});
if (disk_free_k > 0)
- AddSegment(100 * disk_free_k / disk_size_k, _("Unallocated Space"), disk_free_k);
+ AddSegment((float) disk_free_k / (float) disk_size_k, _("Unallocated Space"), disk_free_k);
}
break;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/inst_resize_dialog.ycp new/yast2-storage-2.18.16/storage/src/inst_resize_dialog.ycp
--- old/yast2-storage-2.18.16/storage/src/inst_resize_dialog.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/inst_resize_dialog.ycp 2009-07-23 16:59:19.000000000 +0200
@@ -175,7 +175,7 @@
boolean test_simple_ui = false; // set to "true" to test non-graphical version
// Unit for parition resizing - currently Megabytes
- string unit = _("MB");;
+ string unit = _("MB");
// Labels for bar graph. "%1" will be replace with a numeric value.
string bargraph_label_win_used = _("Windows\nUsed\n%1 ") + unit;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/inst_resize_ui.ycp new/yast2-storage-2.18.16/storage/src/inst_resize_ui.ycp
--- old/yast2-storage-2.18.16/storage/src/inst_resize_ui.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/inst_resize_ui.ycp 2009-07-23 17:05:29.000000000 +0200
@@ -7,7 +7,7 @@
* Purpose: UI for partition resizing
*
*
- * $Id: inst_resize_ui.ycp 57108 2009-05-08 12:38:30Z aschnell $
+ * $Id: inst_resize_ui.ycp 58141 2009-07-23 15:05:31Z aschnell $
*/
{
textdomain "storage";
@@ -555,7 +555,7 @@
boolean test_simple_ui = false; // set to "true" to test non-graphical version
// Unit for parition resizing - currently Megabytes
- string unit = _("MB");;
+ string unit = _("MB");
// Labels for bar graph. "%1" will be replace with a numeric value.
string bargraph_label_win_used = _("Windows\nUsed\n%1 ") + unit;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/modules/FileSystems.ycp new/yast2-storage-2.18.16/storage/src/modules/FileSystems.ycp
--- old/yast2-storage-2.18.16/storage/src/modules/FileSystems.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/modules/FileSystems.ycp 2009-07-24 15:39:32.000000000 +0200
@@ -2,12 +2,13 @@
* Module: FileSystems.ycp
*
* Authors: Johannes Buchhold (jbuch(a)suse.de)
+ * Arvin Schnell <aschnell(a)suse.de>
*
* Purpose:
* These module contains the supported filesystems and their settings.
*
*
- * $Id: FileSystems.ycp 57122 2009-05-12 08:38:43Z aschnell $
+ * $Id: FileSystems.ycp 58151 2009-07-24 13:39:35Z aschnell $
*/
{
module "FileSystems";
@@ -35,6 +36,7 @@
LibStorage::EXT2() : `ext2,
LibStorage::EXT3() : `ext3,
LibStorage::EXT4() : `ext4,
+ LibStorage::BTRFS() : `btrfs,
LibStorage::VFAT() : `vfat,
LibStorage::XFS() : `xfs,
LibStorage::JFS() : `jfs,
@@ -79,7 +81,7 @@
return( suggest_m_points );
}
- any lib_id = nil;
+ any sint = nil;
define list FstabOptionStrings =
[ "defaults",
@@ -147,6 +149,7 @@
`ext2 : true,
`ext3 : true,
`ext4 : true,
+ `btrfs : true,
`jfs : true,
`vfat : true,
`ntfs : true,
@@ -158,22 +161,7 @@
`lvm : true
];
- list<symbol> unsupportFs = [ `jfs ];
-
-
- map<symbol, map<string, any> > capabilities = $[
- `reiser : $[ ],
- `xfs : $[ ],
- `ext2 : $[ ],
- `ext3 : $[ ],
- `ext4 : $[ ],
- `jfs : $[ ],
- `hfs : $[ ],
- `vfat : $[ ],
- `ntfs : $[ ],
- `swap : $[ ],
- `unknown : $[ ]
- ];
+ list<symbol> unsupportFs = [ `jfs, `btrfs ];
global define list<map<symbol, any> > GetGeneralFstabOptions()
@@ -713,6 +701,21 @@
`fst_options : ext4_fst_options,
`options : ext4_options
],
+ `btrfs : $[
+ `name : "BtrFS",
+ `fsid : Partitions::fsid_native,
+ `real_fs : true,
+ `supports_format : true ,
+ `fsid_item : "0x83 Linux " ,
+ `fstype : "Linux native" ,
+ `crypt : true,
+ `mountpoints : SuggestMPoints(),
+ `mount_string : "btrfs",
+ `mount_option : "-t btrfs",
+ `needed_modules : [ "btrfs" ],
+ `fst_options : [],
+ `options : []
+ ],
`hfs : $[
`name : "MacHFS",
`fsid : Partitions::fsid_mac_hfs,
@@ -882,17 +885,13 @@
{
ret = swap_fst_options;
}
- y2milestone( "fsys %1", fsys );
- y2milestone( "ret %1", ret );
- return( ret );
+ y2milestone("fsys:%1 ret:%2", fsys, ret);
+ return ret;
};
-
-
- /* FileS build fss map with all supported filesystems ( list support ) */
-global define void FileSystems()
- ``{
+ global void FileSystems()
+ {
if( Arch::sparc64() || Arch::sparc32() )
{
support[`vfat] = false;
@@ -925,51 +924,10 @@
y2milestone( "support %1", support );
}
-global define void InitSlib( any sint )
+
+ global void InitSlib(any value)
{
- boolean bval = false;
- integer val = 0;
- lib_id = sint;
- foreach( symbol fs, map<string,any> cap, capabilities,
- ``{
- if( fs != `unknown )
- {
- integer id = fromSymbol( conv_fs, fs );
- any fsinfo = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
- boolean ret = LibStorage::StorageInterface::getFsCapabilities( sint, id, fsinfo );
- if( !ret )
- y2error( "InitSlib fs:%1 id:%2 ret:%3", fs, id, ret );
- else
- {
- cap = $[];
- bval = LibStorage::FsCapabilities::swig_isExtendable_get(fsinfo);
- if( bval )
- cap["extend"] = true;
- bval = LibStorage::FsCapabilities::swig_isReduceable_get(fsinfo);
- if( bval )
- cap["shrink"] = true;
- bval = LibStorage::FsCapabilities::swig_isExtendableWhileMounted_get(fsinfo);
- if( bval )
- cap["mount_extend"] = true;
- bval = LibStorage::FsCapabilities::swig_isReduceableWhileMounted_get(fsinfo);
- if( bval )
- cap["mount_shrink"] = true;
- bval = LibStorage::FsCapabilities::swig_supportsUuid_get(fsinfo);
- if( bval )
- cap["uuid"] = true;
- bval = LibStorage::FsCapabilities::swig_supportsLabel_get(fsinfo);
- if( bval )
- cap["label"] = true;
- bval = LibStorage::FsCapabilities::swig_labelWhileMounted_get(fsinfo);
- if( bval )
- cap["set_label_mount"] = true;
- if( cap["label"]:false )
- cap["label_length"] = LibStorage::FsCapabilities::swig_labelLength_get(fsinfo);
- cap["min_fs_k"] = LibStorage::FsCapabilities::swig_minimalFsSizeK_get(fsinfo);
- capabilities[fs] = cap;
- }
- }
- });
+ sint = value;
}
@@ -1083,108 +1041,113 @@
}
-global define integer MinFsSizeK( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- integer ret = cap["min_fs_k"]:0;
- y2milestone( "MinFsSizeK fsys:%1 ret:%2", fsys, ret );
- return( ret );
+ global integer MinFsSizeK(symbol fsys)
+ {
+ integer ret = 0;
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ ret = LibStorage::FsCapabilities::swig_minimalFsSizeK_get(caps);
+ y2milestone("MinFsSizeK fsys:%1 ret:%2", fsys, ret);
+ return ret;
}
-global define boolean MountUuid( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- boolean ret = cap["uuid"]:false;
- y2milestone( "MountUuid fsys:%1 ret:%2", fsys, ret );
- return( ret );
+
+ global boolean MountUuid(symbol fsys)
+ {
+ boolean ret = false;
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ ret = LibStorage::FsCapabilities::swig_supportsUuid_get(caps);
+ y2milestone("MountUuid fsys:%1 ret:%2", fsys, ret);
+ return ret;
}
-global define boolean MountLabel( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- boolean ret = cap["label"]:false;
- y2milestone( "MountLabel fsys:%1 ret:%2", fsys, ret );
- return( ret );
+
+ global boolean MountLabel(symbol fsys)
+ {
+ boolean ret = false;
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ ret = LibStorage::FsCapabilities::swig_supportsLabel_get(caps);
+ y2milestone("MountLabel fsys:%1 ret:%2", fsys, ret);
+ return ret;
}
-global define boolean ChangeLabelMounted( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- boolean ret = cap["set_label_mount"]:false;
- y2milestone( "ChangeLabelMounted fsys:%1 ret:%2", fsys, ret );
- return( ret );
+
+ global boolean ChangeLabelMounted(symbol fsys)
+ {
+ boolean ret = false;
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ ret = LibStorage::FsCapabilities::swig_labelWhileMounted_get(caps);
+ y2milestone("ChangeLabelMounted fsys:%1 ret:%2", fsys, ret);
+ return ret;
}
-global define integer LabelLength( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- integer ret = cap["label_length"]:16;
- y2milestone( "LabelLength fsys:%1 ret:%2", fsys, ret );
- return( ret );
+
+ global integer LabelLength(symbol fsys)
+ {
+ integer ret = 0;
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ ret = LibStorage::FsCapabilities::swig_labelLength_get(caps);
+ y2milestone("LabelLength fsys:%1 ret:%2", fsys, ret);
+ return ret;
}
-global define map IsResizable( symbol fsys )
- ``{
- map<string,any> cap = capabilities[`unknown]:$[];
- cap = capabilities[fsys]:cap;
- map ret = $[];
- ret["extend"] = cap["extend"]:false;
- ret["shrink"] = cap["shrink"]:false;
- ret["mount_extend"] = cap["mount_extend"]:false;
- ret["mount_shrink"] = cap["mount_shrink"]:false;
- y2milestone( "IsResizable fsys:%1 ret:%2", fsys, ret );
- return( ret );
- };
-global define symbol FsToSymbol( string type )
- ``{
- symbol return_value = `none;
- if( type == "ext2" )
- {
- return_value = `ext2;
- }
- else if( type == "ext3" )
- {
- return_value = `ext3;
- }
- else if( type == "ext4" )
- {
- return_value = `ext4;
- }
- else if( regexpmatch( type, "reiser.*" ) )
- {
- return_value = `reiser;
- }
- else if( type == "jfs" )
- {
- return_value = `jfs;
- }
- else if( type == "xfs" )
- {
- return_value = `xfs;
- }
- else if( type == "vfat" || regexpmatch( type, "fat.*" ))
- {
- return_value = `vfat;
- }
- else if( type == "ntfs" )
- {
- return_value = `ntfs;
- }
- else if( type == "hfs" )
- {
- return_value = `hfs;
- }
- else if( type == "swap" )
- {
- return_value = `swap;
- }
- return( return_value );
+ global map<string, boolean> IsResizable(symbol fsys)
+ {
+ map<string, boolean> ret = $[];
+ integer id = fromSymbol(conv_fs, fsys);
+ any caps = LibStorage::FsCapabilities::new("LibStorage::FsCapabilities");
+ if (LibStorage::StorageInterface::getFsCapabilities(sint, id, caps))
+ {
+ ret = $[
+ "extend" : LibStorage::FsCapabilities::swig_isExtendable_get(caps),
+ "shrink" : LibStorage::FsCapabilities::swig_isReduceable_get(caps),
+ "mount_extend" : LibStorage::FsCapabilities::swig_isExtendableWhileMounted_get(caps),
+ "mount_shrink" : LibStorage::FsCapabilities::swig_isReduceableWhileMounted_get(caps)
+ ];
+ }
+ y2milestone("IsResizable fsys:%1 ret:%2", fsys, ret);
+ return ret;
+ }
+
+
+ global symbol FsToSymbol(string type)
+ {
+ symbol ret = `none;
+
+ if (type == "ext2")
+ ret = `ext2;
+ else if (type == "ext3")
+ ret = `ext3;
+ else if (type == "ext4")
+ ret = `ext4;
+ else if (type == "btrfs")
+ ret = `btrfs;
+ else if (regexpmatch(type, "reiser.*"))
+ ret = `reiser;
+ else if (type == "jfs")
+ ret = `jfs;
+ else if (type == "xfs" )
+ ret = `xfs;
+ else if (type == "vfat" || regexpmatch(type, "fat.*"))
+ ret = `vfat;
+ else if (type == "ntfs")
+ ret = `ntfs;
+ else if (type == "hfs")
+ ret = `hfs;
+ else if (type == "swap")
+ ret = `swap;
+
+ return ret;
}
@@ -1305,15 +1268,14 @@
}
any dp = LibStorage::ContVolInfo::new("LibStorage::ContVolInfo");
string dev = part["device"]:"";
- LibStorage::StorageInterface::getContVolInfo( lib_id, dev, dp );
+ LibStorage::StorageInterface::getContVolInfo(sint, dev, dp);
integer t = LibStorage::ContVolInfo::swig_type_get(dp);
if( t == LibStorage::DISK() )
{
any infos = LibStorage::DiskInfo::new("LibStorage::DiskInfo");
string disk = LibStorage::ContVolInfo::swig_cname_get(dp);
y2milestone( "DefaultFstabOptions disk:%1", disk );
- integer r = LibStorage::StorageInterface::getDiskInfo( lib_id, disk,
- infos );
+ integer r = LibStorage::StorageInterface::getDiskInfo(sint, disk, infos);
if( r==0 )
{
if(LibStorage::DiskInfo::swig_iscsi_get(infos))
@@ -1429,47 +1391,41 @@
tostring(m["freq"]:0), tostring(m["passno"]:0) ] );
}
-global define boolean CanDoQuota( map part )
- ``{
- list quota_fs = [ `ext2, `ext3, `ext4, `reiser, `xfs ];
- return( contains( quota_fs, part["used_fs"]:`unknown ));
- }
-global define boolean HasQuota( map part )
- ``{
- boolean ret = false;
- list<string> opts = splitstring( part["fstopt"]:"", "," );
- integer i=0;
- while( !ret && i<size(opts) )
- {
- ret = opts[i]:""=="usrquota" || opts[i]:""=="grpquota" ||
- search(opts[i]:"","usrjquota=")==0 ||
- search(opts[i]:"","grpjquota=")==0;
- i = i+1;
- }
- return( ret );
+ global boolean CanDoQuota(map part)
+ {
+ const list<symbol> quota_fs = [ `ext2, `ext3, `ext4, `btrfs, `reiser, `xfs ];
+ return contains(quota_fs, part["used_fs"]:`unknown);
}
-global define string RemoveQuotaOpts( string fst_opts )
+ global boolean HasQuota(map part)
{
- list<string> opts = splitstring( fst_opts, "," );
- opts = filter( string o, opts,
- ``( o!="usrquota" && o!="grpquota" &&
- search(o,"usrjquota=")!=0 && search(o,"grpjquota=")!=0 &&
- search(o,"jqfmt=")!=0 ));
- return( mergestring( opts, "," ));
+ list<string> opts = splitstring(part["fstopt"]:"", ",");
+ return find(string opt, opts, {
+ return opt == "usrquota" || opt == "grpquota" || search(opt, "usrjquota=") == 0 ||
+ search(opt, "grpjquota=") == 0;
+ }) != nil;
}
-global define string AddQuotaOpts( map part, string fst_opts )
+ global string RemoveQuotaOpts(string fst_opts)
{
- string ret = RemoveQuotaOpts( fst_opts );
- list journal = [ `ext3, `ext4, `reiser ];
- if( contains( journal, part["used_fs"]:`unknown ))
- ret = ret + ",usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0";
- else
- ret = ret + ",usrquota,grpquota";
- return( ret );
+ list<string> opts = splitstring(fst_opts, ",");
+ opts = filter(string opt, opts, {
+ return opt != "usrquota" && opt != "grpquota" && search(opt, "usrjquota=") != 0 &&
+ search(opt, "grpjquota=") != 0 && search(opt, "jqfmt=") != 0;
+ });
+ return mergestring(opts, ",");
}
+ global string AddQuotaOpts(map part, string fst_opts)
+ {
+ const list<symbol> journal = [ `ext3, `ext4, `btrfs, `reiser ];
+ string ret = RemoveQuotaOpts(fst_opts);
+ if (contains(journal, part["used_fs"]:`unknown))
+ ret = ret + ",usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0";
+ else
+ ret = ret + ",usrquota,grpquota";
+ return ret;
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/modules/Partitions.ycp new/yast2-storage-2.18.16/storage/src/modules/Partitions.ycp
--- old/yast2-storage-2.18.16/storage/src/modules/Partitions.ycp 2009-06-24 12:52:52.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/modules/Partitions.ycp 2009-07-24 15:38:51.000000000 +0200
@@ -6,7 +6,7 @@
*
* Purpose: Provides information about partitions
*
- * $Id: Partitions.ycp 57257 2009-05-20 09:51:49Z aschnell $
+ * $Id: Partitions.ycp 58150 2009-07-24 13:38:53Z aschnell $
*/
{
module "Partitions";
@@ -18,6 +18,9 @@
import "Stage";
import "AsciiFile";
+ import "LibStorage";
+ import "LibStorage::StorageInterface";
+ import "LibStorage::DlabelCapabilities";
// The filesystem ids for the partitions
global const integer fsid_empty = 0;
@@ -87,6 +90,15 @@
symbol default_boot_fs = `unknown;
+ any sint = nil;
+
+
+ global void InitSlib(any value)
+ {
+ sint = value;
+ }
+
+
global boolean EfiBoot()
{
// TODO: move to libstorage
@@ -705,45 +717,39 @@
}
-map capabilities = $[ "msdos" : $[ "extended" : true,
- "max_primary" : 4 ],
- "gpt" : $[ "max_primary" : 16 ],
- "mac" : $[ "max_primary" : 16 ],
- "amiga" : $[ "max_primary" : 16 ],
- "sun" : $[ "max_primary" : 8 ],
- "bsd" : $[ "max_primary" : 8 ],
- "dasd" : $[ "max_primary" : 3 ]
- ];
-
-global define integer MaxPrimary( string label )
- ``{
- integer ret = capabilities[label,"max_primary"]:4;
- y2milestone( "MaxPrimary label:%1 ret:%2", label, ret );
- return( ret );
+ global integer MaxPrimary(string dlabel)
+ {
+ integer ret = 0;
+ any caps = LibStorage::DlabelCapabilities::new("LibStorage::DlabelCapabilities");
+ if (LibStorage::StorageInterface::getDlabelCapabilities(sint, dlabel, caps))
+ ret = LibStorage::DlabelCapabilities::swig_maxPrimary_get(caps);
+ y2milestone("MaxPrimary dlabel:%1 ret:%2", dlabel, ret);
+ return ret;
}
-global define integer MaxLogical( string device )
- ``{
- integer ret = 15;
- if( search( device, "/dev/hd" )==0 )
- {
- ret = 63;
- }
- else if( search( device, "/dev/rd/c" )==0 )
- {
- ret = 7;
- }
- y2milestone( "MaxLogical:%1 ret:%2", device, ret );
- return( ret );
+
+ global boolean HasExtended(string dlabel)
+ {
+ boolean ret = false;
+ any caps = LibStorage::DlabelCapabilities::new("LibStorage::DlabelCapabilities");
+ if (LibStorage::StorageInterface::getDlabelCapabilities(sint, dlabel, caps))
+ ret = LibStorage::DlabelCapabilities::swig_extendedPossible_get(caps);
+ y2milestone("HasExtended dlabel:%1 ret:%2", dlabel, ret);
+ return ret;
}
-global define boolean HasExtended( string label )
- ``{
- boolean ret = capabilities[label,"extended"]:false;
- y2milestone( "HasExtended label:%1 ret:%2", label, ret );
- return( ret );
+
+ global integer MaxLogical(string dlabel)
+ {
+ integer ret = 0;
+ any caps = LibStorage::DlabelCapabilities::new("LibStorage::DlabelCapabilities");
+ if (LibStorage::StorageInterface::getDlabelCapabilities(sint, dlabel, caps))
+ ret = LibStorage::DlabelCapabilities::swig_maxLogical_get(caps);
+ y2milestone("MaxLogical dlabel:%1 ret:%2", dlabel, ret);
+ return ret;
}
+
global define string RdonlyText( string disk, boolean expert_partitioner )
``{
string text = "";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-storage-2.18.16/storage/src/modules/Storage.ycp new/yast2-storage-2.18.16/storage/src/modules/Storage.ycp
--- old/yast2-storage-2.18.16/storage/src/modules/Storage.ycp 2009-07-23 13:17:42.000000000 +0200
+++ new/yast2-storage-2.18.16/storage/src/modules/Storage.ycp 2009-07-24 15:38:51.000000000 +0200
@@ -19,7 +19,7 @@
* wurde versucht "intelligent" zu gestallten und ist im einzelen bei den
* entspechenden Funktionen n�her erkl�rt.
*
- * $Id: Storage.ycp 58137 2009-07-23 11:16:13Z kmachalkova $
+ * $Id: Storage.ycp 58150 2009-07-24 13:38:53Z aschnell $
*/
{
module "Storage";
@@ -312,6 +312,7 @@
conts = getContainers();
y2milestone("InitLibstorage conts:%1", conts);
FileSystems::InitSlib(sint);
+ Partitions::InitSlib(sint);
return true;
}
@@ -3532,7 +3533,7 @@
y2milestone( "DetectHomeFs p:%1", p );
map ret = $[];
boolean home = false;
- list poss_fs = [ `ext2, `ext3, `ext4, `reiser, `xfs, `jfs ];
+ list poss_fs = [ `ext2, `ext3, `ext4, `btrfs, `reiser, `xfs, `jfs ];
if( !p["created"]:false && contains( poss_fs, p["detected_fs"]:`unknown ) &&
size(p["device"]:"")>0 )
{
@@ -4072,7 +4073,7 @@
list<map> l = (list<map>) filter( map p, disk["partitions"]:[],
``(!p["format"]:false &&
Partitions::IsLinuxPartition(p["fsid"]:0)) );
- l = filter(map p, l, ``(contains( [`xfs, `ext2, `ext3, `ext4, `jfs, `reiser],
+ l = filter(map p, l, ``(contains( [`xfs, `ext2, `ext3, `ext4, `btrfs, `jfs, `reiser],
p["used_fs"]:`unknown)));
l = filter(map p, l,
``(!FileSystems::IsSystemMp( p["mount"]:"", false )));
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libstorage for openSUSE:Factory
checked in at Sat Jul 25 18:50:50 CEST 2009.
--------
--- libstorage/libstorage.changes 2009-07-16 11:49:54.000000000 +0200
+++ libstorage/libstorage.changes 2009-07-24 16:45:08.000000000 +0200
@@ -1,0 +2,25 @@
+Fri Jul 24 16:23:46 CEST 2009 - aschnell(a)suse.de
+
+- work on extended block devt (fate #305584)
+- added extendedPossible to DiskInfo
+- 2.18.20
+
+-------------------------------------------------------------------
+Thu Jul 23 13:15:07 CEST 2009 - aschnell(a)suse.de
+
+- added minimal experimental btrfs support, esp. filesystems over
+ multiple devices are not supported (fate #306587)
+- 2.18.19
+
+-------------------------------------------------------------------
+Thu Jul 23 09:38:52 CEST 2009 - aschnell(a)suse.de
+
+- set ignore_fstab also for non NFS volumes not listed in
+ /etc/fstab (fate #305150)
+
+-------------------------------------------------------------------
+Fri Jul 17 12:27:17 CEST 2009 - aschnell(a)suse.de
+
+- run swapon with option --fixpgsz (requires util-linux 2.16)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
libstorage-2.18.18.tar.bz2
New:
----
libstorage-2.18.20.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libstorage.spec ++++++
--- /var/tmp/diff_new_pack.5fcbDW/_old 2009-07-25 18:50:06.000000000 +0200
+++ /var/tmp/diff_new_pack.5fcbDW/_new 2009-07-25 18:50:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libstorage (Version 2.18.18)
+# spec file for package libstorage (Version 2.18.20)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,7 +19,7 @@
Name: libstorage
-Version: 2.18.18
+Version: 2.18.20
Release: 1
License: GPL
Group: System/Libraries
@@ -28,7 +28,11 @@
Source1: libstorage-rpmlintrc
Prefix: /usr
BuildRequires: blocxx-devel boost-devel dejagnu doxygen gcc-c++ python-devel swig
-Requires: parted mdadm lvm2 dmraid multipath-tools cryptsetup kpartx
+Requires: parted mdadm device-mapper lvm2 dmraid multipath-tools cryptsetup
+Requires: coreutils udev util-linux >= 2.16 grep
+%ifarch s390 s390x
+Requires: s390-tools
+%endif
PreReq: %fillup_prereq
Obsoletes: yast2-storage-lib
Provides: yast2-storage-lib
++++++ libstorage-2.18.18.tar.bz2 -> libstorage-2.18.20.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/VERSION new/libstorage-2.18.20/VERSION
--- old/libstorage-2.18.18/VERSION 2009-07-16 10:54:55.000000000 +0200
+++ new/libstorage-2.18.20/VERSION 2009-07-24 16:23:34.000000000 +0200
@@ -1 +1 @@
-2.18.18
+2.18.20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/bindings/python/libstorage.py new/libstorage-2.18.20/bindings/python/libstorage.py
--- old/libstorage-2.18.18/bindings/python/libstorage.py 2009-06-16 13:01:39.000000000 +0200
+++ new/libstorage-2.18.20/bindings/python/libstorage.py 2009-07-24 16:20:02.000000000 +0200
@@ -81,6 +81,7 @@
EXT2 = _libstorage.EXT2
EXT3 = _libstorage.EXT3
EXT4 = _libstorage.EXT4
+BTRFS = _libstorage.BTRFS
VFAT = _libstorage.VFAT
XFS = _libstorage.XFS
JFS = _libstorage.JFS
@@ -269,12 +270,15 @@
__swig_setmethods__["udevId"] = _libstorage.DiskInfo_udevId_set
__swig_getmethods__["udevId"] = _libstorage.DiskInfo_udevId_get
if _newclass:udevId = _swig_property(_libstorage.DiskInfo_udevId_get, _libstorage.DiskInfo_udevId_set)
- __swig_setmethods__["maxLogical"] = _libstorage.DiskInfo_maxLogical_set
- __swig_getmethods__["maxLogical"] = _libstorage.DiskInfo_maxLogical_get
- if _newclass:maxLogical = _swig_property(_libstorage.DiskInfo_maxLogical_get, _libstorage.DiskInfo_maxLogical_set)
__swig_setmethods__["maxPrimary"] = _libstorage.DiskInfo_maxPrimary_set
__swig_getmethods__["maxPrimary"] = _libstorage.DiskInfo_maxPrimary_get
if _newclass:maxPrimary = _swig_property(_libstorage.DiskInfo_maxPrimary_get, _libstorage.DiskInfo_maxPrimary_set)
+ __swig_setmethods__["extendedPossible"] = _libstorage.DiskInfo_extendedPossible_set
+ __swig_getmethods__["extendedPossible"] = _libstorage.DiskInfo_extendedPossible_get
+ if _newclass:extendedPossible = _swig_property(_libstorage.DiskInfo_extendedPossible_get, _libstorage.DiskInfo_extendedPossible_set)
+ __swig_setmethods__["maxLogical"] = _libstorage.DiskInfo_maxLogical_set
+ __swig_getmethods__["maxLogical"] = _libstorage.DiskInfo_maxLogical_get
+ if _newclass:maxLogical = _swig_property(_libstorage.DiskInfo_maxLogical_get, _libstorage.DiskInfo_maxLogical_set)
__swig_setmethods__["initDisk"] = _libstorage.DiskInfo_initDisk_set
__swig_getmethods__["initDisk"] = _libstorage.DiskInfo_initDisk_get
if _newclass:initDisk = _swig_property(_libstorage.DiskInfo_initDisk_get, _libstorage.DiskInfo_initDisk_set)
@@ -434,6 +438,9 @@
__swig_setmethods__["usedByDevice"] = _libstorage.VolumeInfo_usedByDevice_set
__swig_getmethods__["usedByDevice"] = _libstorage.VolumeInfo_usedByDevice_get
if _newclass:usedByDevice = _swig_property(_libstorage.VolumeInfo_usedByDevice_get, _libstorage.VolumeInfo_usedByDevice_set)
+ __swig_setmethods__["ignore_fstab"] = _libstorage.VolumeInfo_ignore_fstab_set
+ __swig_getmethods__["ignore_fstab"] = _libstorage.VolumeInfo_ignore_fstab_get
+ if _newclass:ignore_fstab = _swig_property(_libstorage.VolumeInfo_ignore_fstab_get, _libstorage.VolumeInfo_ignore_fstab_set)
__swig_setmethods__["fstab_options"] = _libstorage.VolumeInfo_fstab_options_set
__swig_getmethods__["fstab_options"] = _libstorage.VolumeInfo_fstab_options_get
if _newclass:fstab_options = _swig_property(_libstorage.VolumeInfo_fstab_options_get, _libstorage.VolumeInfo_fstab_options_set)
@@ -1167,6 +1174,7 @@
def removePartition(*args): return _libstorage.StorageInterface_removePartition(*args)
def changePartitionId(*args): return _libstorage.StorageInterface_changePartitionId(*args)
def forgetChangePartitionId(*args): return _libstorage.StorageInterface_forgetChangePartitionId(*args)
+ def getPartitionName(*args): return _libstorage.StorageInterface_getPartitionName(*args)
def getUnusedPartitionSlots(*args): return _libstorage.StorageInterface_getUnusedPartitionSlots(*args)
def destroyPartitionTable(*args): return _libstorage.StorageInterface_destroyPartitionTable(*args)
def initializeDisk(*args): return _libstorage.StorageInterface_initializeDisk(*args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/doc/autodocs/Makefile.am new/libstorage-2.18.20/doc/autodocs/Makefile.am
--- old/libstorage-2.18.18/doc/autodocs/Makefile.am 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/doc/autodocs/Makefile.am 2009-07-21 16:29:32.000000000 +0200
@@ -4,7 +4,7 @@
htmldir = $(docdir)/autodocs
-html_DATA = index.html $(filter-out index.html, $(wildcard *.html *.png))
+html_DATA = index.html $(filter-out index.html, $(wildcard *.html *.css *.png *.gif))
index.html: $(srcdir)/../../storage/*.h
doxygen doxygen.conf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/doc/autodocs/Makefile.in new/libstorage-2.18.20/doc/autodocs/Makefile.in
--- old/libstorage-2.18.18/doc/autodocs/Makefile.in 2009-07-16 11:48:42.000000000 +0200
+++ new/libstorage-2.18.20/doc/autodocs/Makefile.in 2009-07-24 16:28:20.000000000 +0200
@@ -182,7 +182,7 @@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-html_DATA = index.html $(filter-out index.html, $(wildcard *.html *.png))
+html_DATA = index.html $(filter-out index.html, $(wildcard *.html *.css *.png *.gif))
CLEANFILES = $(html_DATA) doxygen.log installdox
EXTRA_DIST = doxygen.conf
all: all-am
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/examples/TestProbing.cc new/libstorage-2.18.20/examples/TestProbing.cc
--- old/libstorage-2.18.18/examples/TestProbing.cc 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/examples/TestProbing.cc 2009-07-24 16:21:39.000000000 +0200
@@ -56,6 +56,7 @@
case EXT2: cout << "EXT2"; break;
case EXT3: cout << "EXT3"; break;
case EXT4: cout << "EXT4"; break;
+ case BTRFS: cout << "BTRFS"; break;
case VFAT: cout << "VFAT"; break;
case XFS: cout << "XFS"; break;
case JFS: cout << "JFS"; break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/libstorage.spec.in new/libstorage-2.18.20/libstorage.spec.in
--- old/libstorage-2.18.18/libstorage.spec.in 2009-07-11 09:35:16.000000000 +0200
+++ new/libstorage-2.18.20/libstorage.spec.in 2009-07-21 16:29:32.000000000 +0200
@@ -16,7 +16,11 @@
BuildRequires: gcc-c++ boost-devel blocxx-devel doxygen dejagnu python-devel swig
-Requires: parted mdadm lvm2 dmraid multipath-tools cryptsetup kpartx
+Requires: parted mdadm device-mapper lvm2 dmraid multipath-tools cryptsetup
+Requires: coreutils udev util-linux >= 2.16 grep
+%ifarch s390 s390x
+Requires: s390-tools
+%endif
PreReq: %fillup_prereq
Obsoletes: yast2-storage-lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/Disk.cc new/libstorage-2.18.20/storage/Disk.cc
--- old/libstorage-2.18.18/storage/Disk.cc 2009-07-16 11:11:11.000000000 +0200
+++ new/libstorage-2.18.20/storage/Disk.cc 2009-07-24 16:14:46.000000000 +0200
@@ -254,50 +254,105 @@
return( ret );
}
-bool Disk::getSysfsInfo( const string& SysfsDir )
+
+ bool
+ Disk::getSysfsInfo(const string& sysfsdir, SysfsInfo& sysfsinfo)
{
- bool ret = true;
- sysfs_dir = SysfsDir;
- y2mil("sysfs_dir:" << sysfs_dir);
- string SysfsFile = sysfs_dir+"/range";
- if( access( SysfsFile.c_str(), R_OK )==0 )
+ bool ret = true;
+
+ string sysfsfile = sysfsdir + "/dev";
+ if (access(sysfsfile.c_str(), R_OK) == 0)
{
- ifstream File( SysfsFile.c_str() );
- classic(File);
- File >> range;
- if( range<=1 ) ret = false;
+ ifstream file(sysfsfile.c_str());
+ classic(file);
+ char c;
+ file >> sysfsinfo.mjr >> c >> sysfsinfo.mnr;
}
- else
+ else
{
- ret = false;
+ ret = false;
}
- SysfsFile = sysfs_dir+"/dev";
- if( access( SysfsFile.c_str(), R_OK )==0 )
+
+ sysfsfile = sysfsdir + "/device";
+ if (!readlink(sysfsfile, sysfsinfo.device))
{
- ifstream File( SysfsFile.c_str() );
- classic(File);
- char c;
- File >> mjr;
- File >> c;
- File >> mnr;
+ ret = false;
}
- else
+
+ sysfsfile = sysfsdir + "/range";
+ if (access(sysfsfile.c_str(), R_OK) == 0)
{
- ret = false;
+ ifstream file(sysfsfile.c_str());
+ classic(file);
+ file >> sysfsinfo.range;
}
- SysfsFile = sysfs_dir+"/device";
- string lname;
- if (access(SysfsFile.c_str(), R_OK) == 0 && readlink(SysfsFile, lname))
+ else
{
- if( lname.find( "/session" )!=string::npos )
- iscsi = true;
- y2mil("lname:" << lname);
+ ret = false;
}
- y2mil("Ret:" << ret << " Range:" << range << " Major:" << mjr << " Minor:" << mnr <<
- " iSCSI:" << iscsi);
- return( ret );
+
+ sysfsfile = sysfsdir + "/ext_range";
+ if (access(sysfsfile.c_str(), R_OK) == 0)
+ {
+ ifstream file(sysfsfile.c_str());
+ classic(file);
+ file >> sysfsinfo.range;
+ }
+
+ sysfsfile = sysfsdir + "/size";
+ if (access(sysfsfile.c_str(), R_OK) == 0)
+ {
+ ifstream file(sysfsfile.c_str());
+ classic(file);
+ file >> sysfsinfo.size;
+ }
+ else
+ {
+ ret = false;
+ }
+
+ y2mil("sysfsdir:" << sysfsdir << " ret:" << ret);
+
+ if (ret)
+ y2mil("mjr:" << sysfsinfo.mjr << " mnr:" << sysfsinfo.mnr << " device:" <<
+ sysfsinfo.device << " range:" << sysfsinfo.range << " size:" << sysfsinfo.size);
+
+ return ret;
}
+
+ bool
+ Disk::getSysfsInfo(const string& SysfsDir)
+ {
+ bool ret = true;
+ sysfs_dir = SysfsDir;
+ y2mil("sysfs_dir:" << sysfs_dir);
+
+ SysfsInfo sysfsinfo;
+ if (getSysfsInfo(sysfs_dir, sysfsinfo))
+ {
+ range = sysfsinfo.range;
+ if (range <= 1)
+ ret = false;
+
+ mjr = sysfsinfo.mjr;
+ mnr = sysfsinfo.mnr;
+
+ if (boost::contains(sysfsinfo.device, "/session"))
+ iscsi = true;
+ }
+ else
+ {
+ ret = false;
+ }
+
+ y2mil("ret:" << ret << " range:" << range << " major:" << mjr << " minor:" << mnr <<
+ " iscsi:" << iscsi);
+
+ return ret;
+ }
+
+
void Disk::getGeometry( const string& line, unsigned long& c, unsigned& h,
unsigned& s )
{
@@ -468,32 +523,27 @@
}
-void
-Disk::setLabelData( const string& disklabel )
+ void
+ Disk::setLabelData(const string& disklabel)
{
- y2mil("disklabel:" << disklabel);
- int i=0;
- while( !labels[i].name.empty() && labels[i].name!=disklabel )
- {
- i++;
+ y2mil("disklabel:" << disklabel);
+ DlabelCapabilities caps;
+ if (getDlabelCapabilities(disklabel, caps))
+ {
+ max_primary = min(caps.maxPrimary, (unsigned)(range - 1));
+ ext_possible = caps.extendedPossible;
+ max_logical = min(caps.maxLogical, (unsigned)(range - 1));
+ label = disklabel;
}
- if( labels[i].name.empty() )
+ else
{
- y2err("unknown disklabel " << disklabel);
- ext_possible = false;
- max_primary = 0;
- max_logical = 0;
- label = "unsupported";
- }
- else
- {
- ext_possible = labels[i].extended;
- max_primary = min(labels[i].primary,unsigned(range-1));
- max_logical = min(labels[i].logical,unsigned(range-1));
- label = labels[i].name;
+ max_primary = 0;
+ ext_possible = false;
+ max_logical = 0;
+ label = "unsupported";
}
- y2mil("name:" << label << " ext:" << ext_possible << " primary:" << max_logical <<
- " logical:" << max_logical);
+ y2mil("label:" << label << " max_primary:" << max_logical << " ext_possible:" <<
+ ext_possible << " max_logical:" << max_logical);
}
@@ -2582,8 +2632,9 @@
info.sectors = sectors();
info.cylSize = cylSizeB();
info.disklabel = labelName();
- info.maxLogical = maxLogical();
info.maxPrimary = maxPrimary();
+ info.extendedPossible = extendedPossible();
+ info.maxLogical = maxLogical();
info.initDisk = init_disk;
info.iscsi = iscsi;
info.udevPath = udev_path;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/Disk.h new/libstorage-2.18.20/storage/Disk.h
--- old/libstorage-2.18.18/storage/Disk.h 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/storage/Disk.h 2009-07-24 14:08:21.000000000 +0200
@@ -112,6 +112,17 @@
static bool getDlabelCapabilities(const string& dlabel,
storage::DlabelCapabilities& dlabelcapabilities);
+ struct SysfsInfo
+ {
+ unsigned long mjr;
+ unsigned long mnr;
+ string device;
+ unsigned long range;
+ unsigned long long size;
+ };
+
+ static bool getSysfsInfo(const string& sysfsdir, SysfsInfo& sysfsinfo);
+
protected:
// iterators over partitions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/Dm.cc new/libstorage-2.18.20/storage/Dm.cc
--- old/libstorage-2.18.18/storage/Dm.cc 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/storage/Dm.cc 2009-07-21 16:29:32.000000000 +0200
@@ -445,10 +445,10 @@
c.execute(DMSETUPBIN " version");
if( c.retcode()!=0 )
{
- c.execute("grep \"^dm[-_]mod[ \t]\" /proc/modules");
+ c.execute(GREPBIN " \"^dm[-_]mod[ \t]\" /proc/modules");
if( c.numLines()<=0 )
c.execute(MODPROBEBIN " dm-mod");
- c.execute("grep \"^dm[-_]snapshot[ \t]\" /proc/modules");
+ c.execute(GREPBIN " \"^dm[-_]snapshot[ \t]\" /proc/modules");
if( c.numLines()<=0 )
c.execute(MODPROBEBIN " dm-snapshot");
c.execute("/sbin/devmap_mknod.sh");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/Storage.cc new/libstorage-2.18.20/storage/Storage.cc
--- old/libstorage-2.18.18/storage/Storage.cc 2009-07-16 10:39:17.000000000 +0200
+++ new/libstorage-2.18.20/storage/Storage.cc 2009-07-24 13:51:33.000000000 +0200
@@ -276,7 +276,7 @@
if( instsys() )
{
- SystemCmd c( "grep ^md.*dm- /proc/mdstat" );
+ SystemCmd c(GREPBIN "^md.*dm- /proc/mdstat");
SystemCmd rm;
for( unsigned i=0; i<c.numLines(); i++ )
{
@@ -672,54 +672,29 @@
const map<string, list<string>> by_id = getUdevMap("/dev/disk/by-id");
list<DiskData> dl;
while( (Entry=readdir( Dir ))!=NULL )
- {
- if (strcmp(Entry->d_name, ".") == 0 || strcmp(Entry->d_name, "..") == 0)
- continue;
-
- int Range=0;
- unsigned long long Size = 0;
- string SysfsDir = string(SYSFSDIR "/") + Entry->d_name;
- string SysfsFile = SysfsDir + "/range";
- y2mil("autodetectDisks sysfsdir:" << SysfsDir);
- y2mil("autodetectDisks Range access:" << access(SysfsFile.c_str(), R_OK));
- if( access( SysfsFile.c_str(), R_OK )==0 )
- {
- ifstream File( SysfsFile.c_str() );
- classic(File);
- File >> Range;
- }
- SysfsFile = SysfsDir+"/size";
- if( access( SysfsFile.c_str(), R_OK )==0 )
- {
- ifstream File( SysfsFile.c_str() );
- classic(File);
- File >> Size;
- }
+ {
string dn = Entry->d_name;
- y2mil( "autodetectDisks Range:" << Range << " Size:" << Size );
- if( Range>1 && (Size>0||dn.find( "dasd" )==0) )
+
+ if (dn == "." || dn == "..")
+ continue;
+
+ Disk::SysfsInfo sysfsinfo;
+ if (!Disk::getSysfsInfo(SYSFSDIR "/" + dn, sysfsinfo))
+ continue;
+
+ if (sysfsinfo.range > 1 && (sysfsinfo.size > 0 || dn.find("dasd") == 0))
+ {
+ DiskData::DTyp t = (dn.find("dasd") == 0) ? DiskData::DASD : DiskData::DISK;
+ dl.push_back(DiskData(dn, t, sysfsinfo.size / 2));
+ }
+ else if (sysfsinfo.range == 1 && sysfsinfo.size > 0)
+ {
+ if (sysfsinfo.device.find( "/xen/vbd" ) != string::npos && isdigit(dn[dn.size() - 1]))
{
- DiskData::DTyp t = (dn.find( "dasd" )==0)?DiskData::DASD
- :DiskData::DISK;
- dl.push_back( DiskData( dn, t, Size/2 ) );
- }
- else if( Range==1 && Size>0 )
- {
- SysfsFile = SysfsDir+"/device";
- string devname;
- string lname;
- if (access(SysfsFile.c_str(), R_OK) == 0 && readlink(SysfsFile, lname))
- {
- devname.append(lname);
- y2mil( "devname:" << devname );
- }
- if( devname.find( "/xen/vbd" )!=string::npos &&
- isdigit(dn[dn.size()-1]) )
- {
- dl.push_back( DiskData( dn, DiskData::XEN, Size/2 ) );
- }
+ dl.push_back(DiskData(dn, DiskData::XEN, sysfsinfo.size / 2));
}
}
+ }
closedir( Dir );
y2mil( "dl: " << dl );
for( list<DiskData>::iterator i = dl.begin(); i!=dl.end(); ++i )
@@ -4511,6 +4486,9 @@
static FsCapabilitiesX ext4Caps (true, true, true, false, true, true,
true, 16, 32*1024);
+ static FsCapabilitiesX btrfsCaps (false, false, false, false, true, false,
+ false, 0, 32*1024);
+
static FsCapabilitiesX xfsCaps (true, true, false, false, true, true,
false, 12, 40*1024);
@@ -4553,6 +4531,10 @@
fscapabilities = ext4Caps;
return true;
+ case BTRFS:
+ fscapabilities = btrfsCaps;
+ return true;
+
case XFS:
fscapabilities = xfsCaps;
return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/StorageDefines.h new/libstorage-2.18.20/storage/StorageDefines.h
--- old/libstorage-2.18.18/storage/StorageDefines.h 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/storage/StorageDefines.h 2009-07-21 16:29:32.000000000 +0200
@@ -44,6 +44,8 @@
#define DDBIN "/bin/dd"
+#define GREPBIN "/usr/bin/grep"
+
#define DASDFMTBIN "/sbin/dasdfmt"
#define DASDVIEWBIN "/sbin/dasdview"
#define FDASDBIN "/sbin/fdasd"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/StorageInterface.h new/libstorage-2.18.20/storage/StorageInterface.h
--- old/libstorage-2.18.18/storage/StorageInterface.h 2009-07-16 10:48:08.000000000 +0200
+++ new/libstorage-2.18.20/storage/StorageInterface.h 2009-07-24 16:12:15.000000000 +0200
@@ -110,8 +110,8 @@
namespace storage
{
- enum FsType { FSUNKNOWN, REISERFS, EXT2, EXT3, EXT4, VFAT, XFS, JFS, HFS, NTFS, SWAP, HFSPLUS,
- NFS, FSNONE };
+ enum FsType { FSUNKNOWN, REISERFS, EXT2, EXT3, EXT4, BTRFS, VFAT, XFS, JFS, HFS, NTFS,
+ SWAP, HFSPLUS, NFS, FSNONE };
enum PartitionType { PRIMARY, EXTENDED, LOGICAL, PTYPE_ANY };
@@ -188,9 +188,9 @@
struct DlabelCapabilities
{
DlabelCapabilities() {}
- int maxPrimary;
+ unsigned maxPrimary;
bool extendedPossible;
- int maxLogical;
+ unsigned maxLogical;
unsigned long long maxSizeK;
};
@@ -223,8 +223,9 @@
string disklabel;
string udevPath;
string udevId;
- unsigned maxLogical;
unsigned maxPrimary;
+ bool extendedPossible;
+ unsigned maxLogical;
bool initDisk;
bool iscsi;
};
@@ -287,6 +288,7 @@
MountByType mount_by;
UsedByType usedByType;
string usedByDevice;
+ bool ignore_fstab;
string fstab_options;
string uuid;
string label;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/storage/Volume.cc new/libstorage-2.18.20/storage/Volume.cc
--- old/libstorage-2.18.18/storage/Volume.cc 2009-07-13 14:11:29.000000000 +0200
+++ new/libstorage-2.18.20/storage/Volume.cc 2009-07-23 12:58:26.000000000 +0200
@@ -120,8 +120,6 @@
mb = MOUNTBY_DEVICE;
if (cType() == NFSC && mb != MOUNTBY_DEVICE)
mb = MOUNTBY_DEVICE;
- if( mp=="swap" && mb==MOUNTBY_UUID )
- mb = MOUNTBY_DEVICE;
y2mil( "path:" << udevPath() << " id:" << udevId() );
if( (mb==MOUNTBY_PATH && udevPath().empty()) ||
(mb==MOUNTBY_ID && udevId().empty()) )
@@ -141,8 +139,6 @@
bool ret = true;
if ((cType() != DISK && cType() != DMRAID && cType() != DMMULTIPATH) && (mby == MOUNTBY_ID || mby == MOUNTBY_PATH))
ret = false;
- if (mp == "swap" && mby == MOUNTBY_UUID)
- ret = false;
if (cType() == NFSC && mby != MOUNTBY_DEVICE)
ret = false;
if( (mby==MOUNTBY_PATH && udevPath().empty()) ||
@@ -257,6 +253,12 @@
fstabData.setDevice( entry, device() );
}
}
+
+ if (!found && !mp.empty())
+ {
+ setIgnoreFstab(true);
+ }
+
if( !found && !mp.empty() )
{
found = fstabData.findMount( mp, entry );
@@ -440,6 +442,10 @@
{
fs = EXT4;
}
+ else if( i->second == "btrfs" )
+ {
+ fs = BTRFS;
+ }
else if( i->second == "vfat" )
{
fs = VFAT;
@@ -752,6 +758,9 @@
params = "-t ext4 -v";
progressbar = new Mke2fsProgressBar( cb );
break;
+ case BTRFS:
+ cmd = "/usr/bin/mkfs.btrfs";
+ break;
case REISERFS:
cmd = "/sbin/mkreiserfs";
params = "-f -f";
@@ -866,14 +875,14 @@
{
format = false;
detected_fs = fs;
- if( fs != SWAP && !cont->getStorage()->testmode() )
+ if (!cont->getStorage()->testmode())
{
FsType old=fs;
updateFsData();
if( fs != old )
ret = VOLUME_FORMAT_FS_UNDETECTED;
}
- else if( fs != SWAP )
+ else
{
uuid = "testmode-0123-4567-6666-98765432"+decString(fcount++);
}
@@ -2170,7 +2179,7 @@
}
else
{
- cmdline = SWAPONBIN " " + quote(mountDevice());
+ cmdline = SWAPONBIN " --fixpgsz " + quote(mountDevice());
if( cont->getStorage()->instsys() )
{
ProcMounts mountData( cont->getStorage() );
@@ -2715,6 +2724,7 @@
info.mount_by = mount_by;
info.usedByType = uby.type();
info.usedByDevice = uby.device();
+ info.ignore_fstab = ignore_fstab;
info.fstab_options = fstab_opt;
info.uuid = uuid;
info.label = label;
@@ -3121,9 +3131,9 @@
return( find( tmp_mount, end, mp )!=end );
}
-string Volume::fs_names[] = { "unknown", "reiserfs", "ext2", "ext3", "ext4", "vfat",
- "xfs", "jfs", "hfs", "ntfs", "swap", "hfsplus", "nfs",
- "none" };
+string Volume::fs_names[] = { "unknown", "reiserfs", "ext2", "ext3", "ext4", "btrfs",
+ "vfat", "xfs", "jfs", "hfs", "ntfs", "swap", "hfsplus",
+ "nfs", "none" };
string Volume::mb_names[] = { "device", "uuid", "label", "id", "path" };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libstorage-2.18.18/testsuite/format1.cc new/libstorage-2.18.20/testsuite/format1.cc
--- old/libstorage-2.18.18/testsuite/format1.cc 2009-06-16 12:57:48.000000000 +0200
+++ new/libstorage-2.18.20/testsuite/format1.cc 2009-07-24 16:22:44.000000000 +0200
@@ -40,6 +40,7 @@
case EXT2: cout << "EXT2"; break;
case EXT3: cout << "EXT3"; break;
case EXT4: cout << "EXT4"; break;
+ case BTRFS: cout << "BTRFS"; break;
case VFAT: cout << "VFAT"; break;
case XFS: cout << "XFS"; break;
case JFS: cout << "JFS"; break;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdebase4-runtime for openSUSE:Factory
checked in at Sat Jul 25 18:49:47 CEST 2009.
--------
--- KDE/kdebase4-runtime/kdebase4-runtime.changes 2009-07-21 22:23:10.000000000 +0200
+++ kdebase4-runtime/kdebase4-runtime.changes 2009-07-24 16:20:13.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 16:01:18 CEST 2009 - beineri(a)opensuse.org
+
+- desktoptheme/default/widgets/background.svgz -> branding-upstream
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebase4-runtime.spec ++++++
--- /var/tmp/diff_new_pack.m7taJo/_old 2009-07-25 18:49:31.000000000 +0200
+++ /var/tmp/diff_new_pack.m7taJo/_new 2009-07-25 18:49:31.000000000 +0200
@@ -37,7 +37,7 @@
Summary: The KDE Runtime Components
Url: http://www.kde.org/
Version: 4.2.98
-Release: 1
+Release: 2
Source0: kdebase-runtime-%version.tar.bz2
Source1: kde4-essential.menu
Source2: kde-settings.menu
@@ -155,6 +155,9 @@
%files branding-upstream
%defattr(-,root,root)
%doc COPYING
+%if %suse_version > 1100
+%_kde_share_dir/apps/desktoptheme/default/widgets/background.svgz
+%endif
%_kde_share_dir/apps/desktoptheme/default/widgets/branding.svgz
%files
@@ -264,6 +267,9 @@
%_kde_config_dir/emoticons.knsrc
%_kde_config_dir/icons.knsrc
%_kde_share_dir/apps/cmake
+%if %suse_version > 1100
+%exclude %_kde_share_dir/apps/desktoptheme/default/widgets/background.svgz
+%endif
%exclude %_kde_share_dir/apps/desktoptheme/default/widgets/branding.svgz
%_kde_share_dir/apps/desktoptheme
%_kde_share_dir/apps/drkonqi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdebase4-workspace for openSUSE:Factory
checked in at Sat Jul 25 18:49:14 CEST 2009.
--------
--- KDE/kdebase4-workspace/kdebase4-wallpapers.changes 2009-07-23 17:01:37.000000000 +0200
+++ kdebase4-workspace/kdebase4-wallpapers.changes 2009-07-25 18:48:08.683253000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 14:34:20 CEST 2009 - beineri(a)opensuse.org
+
+- recommend kde4-printer-applet
+
+-------------------------------------------------------------------
kdebase4-workspace.changes: same change
python-kdebase4.changes: same change
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebase4-wallpapers.spec ++++++
--- /var/tmp/diff_new_pack.T3elRB/_old 2009-07-25 18:48:24.000000000 +0200
+++ /var/tmp/diff_new_pack.T3elRB/_new 2009-07-25 18:48:24.000000000 +0200
@@ -30,7 +30,7 @@
Summary: KDE 4 Wallpapers
Url: http://www.kde.org/
Version: 4.2.98
-Release: 1
+Release: 2
Source0: kdebase-workspace-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
++++++ kdebase4-workspace.spec ++++++
--- /var/tmp/diff_new_pack.T3elRB/_old 2009-07-25 18:48:24.000000000 +0200
+++ /var/tmp/diff_new_pack.T3elRB/_new 2009-07-25 18:48:24.000000000 +0200
@@ -38,7 +38,7 @@
Summary: The KDE Workspace Components
Url: http://www.kde.org/
Version: 4.2.98
-Release: 1
+Release: 2
Source0: kdebase-workspace-%version.tar.bz2
Source1: rcksysguardd
Source2: titlebar_decor.png
@@ -93,7 +93,7 @@
%if %suse_version > 1110
Requires: %name-branding = 11.2
%endif
-Recommends: kdebase4-SuSE kwin plasma-addons plasmoid-quickaccess
+Recommends: kdebase4-SuSE kwin plasma-addons plasmoid-quickaccess kde4-printer-applet
%if %suse_version < 1100
Recommends: kdebase4-workspace-ksysguardd = %version
%else
++++++ python-kdebase4.spec ++++++
--- /var/tmp/diff_new_pack.T3elRB/_old 2009-07-25 18:48:24.000000000 +0200
+++ /var/tmp/diff_new_pack.T3elRB/_new 2009-07-25 18:48:24.000000000 +0200
@@ -33,7 +33,7 @@
Summary: Python bindings for KDE 4 desktop shell
Url: http://www.kde.org/
Version: 4.2.98
-Release: 1
+Release: 2
Source0: kdebase-workspace-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: python-kde4 = %{version}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdelibs4 for openSUSE:Factory
checked in at Sat Jul 25 18:47:56 CEST 2009.
--------
--- KDE/kdelibs4/kdelibs4.changes 2009-07-21 22:25:53.000000000 +0200
+++ kdelibs4/kdelibs4.changes 2009-07-24 14:31:24.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 14:31:03 CEST 2009 - llunak(a)novell.com
+
+- fix the OOM patch to not break 'ps ux'
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdelibs4.spec ++++++
--- /var/tmp/diff_new_pack.ChKq20/_old 2009-07-25 18:47:03.000000000 +0200
+++ /var/tmp/diff_new_pack.ChKq20/_new 2009-07-25 18:47:03.000000000 +0200
@@ -39,7 +39,7 @@
Summary: KDE Base Libraries
Url: http://www.kde.org
Version: 4.2.98
-Release: 1
+Release: 2
Requires: libstrigi0 >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`)
Requires: soprano >= %( echo `rpm -q --queryformat '%{VERSION}' libsoprano-devel`)
Recommends: strigi >= %( echo `rpm -q --queryformat '%{VERSION}' strigi-devel`)
++++++ oom-protect.diff ++++++
--- /var/tmp/diff_new_pack.ChKq20/_old 2009-07-25 18:47:03.000000000 +0200
+++ /var/tmp/diff_new_pack.ChKq20/_new 2009-07-25 18:47:03.000000000 +0200
@@ -1,7 +1,7 @@
Index: kinit/start_kdeinit.c
===================================================================
--- kinit/start_kdeinit.c (revision 0)
-+++ kinit/start_kdeinit.c (revision 1000474)
++++ kinit/start_kdeinit.c (revision 1001887)
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the KDE libraries
@@ -182,7 +182,7 @@
Index: kinit/start_kdeinit_wrapper.c
===================================================================
--- kinit/start_kdeinit_wrapper.c (revision 0)
-+++ kinit/start_kdeinit_wrapper.c (revision 1000474)
++++ kinit/start_kdeinit_wrapper.c (revision 1001887)
@@ -0,0 +1,96 @@
+/*
+ * This file is part of the KDE libraries
@@ -280,10 +280,52 @@
+ return 1;
+}
+#endif
+Index: kinit/proctitle.cpp
+===================================================================
+--- kinit/proctitle.cpp (revision 1000152)
++++ kinit/proctitle.cpp (revision 1001887)
+@@ -80,6 +80,7 @@
+
+ #if PF_ARGV_TYPE == PF_ARGV_WRITEABLE /* Only this mode uses LastArgv */
+ static char *LastArgv = NULL;
++static char *cleanUpTo = NULL;
+ #endif
+
+ /**
+@@ -114,6 +115,7 @@
+ LastArgv = argv[i] + strlen(argv[i]);
+ }
+ }
++ cleanUpTo = LastArgv;
+
+ for (i = 0; envp[i] != NULL; i++) {
+ /* must not overwrite XDG_SESSION_COOKIE */
+@@ -201,17 +203,15 @@
+ /* We can overwrite individual argv[] arguments. Semi-nice. */
+ snprintf(Argv[0], maxlen, "%s", statbuf);
+ p = &Argv[0][i];
+-
+- /* null terminate it, but don't clear the rest of the
+- memory that is usually used for environment variables. Some
++ /* Clear the rest used by arguments, but don't clear the memory
++ that is usually used for environment variables. Some
+ tools, like ConsoleKit must have access to the process'es initial
+ environment (more exact, the XDG_SESSION_COOKIE variable stored there).
+ If this code causes another side effect, we have to specifically
+ always append those variables to our environment. */
++ while (p < cleanUpTo)
++ *p++ = '\0';
+
+- if (p < LastArgv)
+- *p = '\0';
+-
+ Argv[1] = NULL;
+ # endif /* PF_ARGV_WRITEABLE */
+
Index: kinit/kinit.cpp
===================================================================
---- kinit/kinit.cpp (revision 1000153)
-+++ kinit/kinit.cpp (revision 1000474)
+--- kinit/kinit.cpp (revision 1000152)
++++ kinit/kinit.cpp (revision 1001887)
@@ -22,6 +22,7 @@
#define QT_NO_CAST_FROM_ASCII
@@ -386,8 +428,8 @@
}
Index: kinit/config-kdeinit.h.cmake
===================================================================
---- kinit/config-kdeinit.h.cmake (revision 1000153)
-+++ kinit/config-kdeinit.h.cmake (revision 1000474)
+--- kinit/config-kdeinit.h.cmake (revision 1000152)
++++ kinit/config-kdeinit.h.cmake (revision 1001887)
@@ -1,8 +1,10 @@
-// These are for proctitle.cpp:
@@ -402,8 +444,8 @@
+#cmakedefine KDEINIT_OOM_PROTECT 1
Index: kinit/CMakeLists.txt
===================================================================
---- kinit/CMakeLists.txt (revision 1000153)
-+++ kinit/CMakeLists.txt (revision 1000474)
+--- kinit/CMakeLists.txt (revision 1000152)
++++ kinit/CMakeLists.txt (revision 1001887)
@@ -17,8 +17,6 @@
check_include_files(unistd.h HAVE_UNISTD_H)
check_function_exists(pstat HAVE_PSTAT)
@@ -413,24 +455,25 @@
# used by 4 executables in this file
-@@ -149,7 +147,34 @@
+@@ -149,7 +147,35 @@
target_link_libraries( klauncher kdeinit_klauncher )
install(TARGETS klauncher DESTINATION ${LIBEXEC_INSTALL_DIR} )
+########### start_kdeinit ###############
-+
-+set(start_kdeinit_SRCS start_kdeinit.c)
-+kde4_add_executable(start_kdeinit ${start_kdeinit_SRCS})
-+if(KDE4_ENABLE_FPIE)
-+ macro_add_compile_flags(start_kdeinit ${KDE4_CXX_FPIE_FLAGS})
-+ macro_add_link_flags(start_kdeinit ${KDE4_PIE_LDFLAGS})
-+endif(KDE4_ENABLE_FPIE)
-+
-+set(start_kdeinit_wrapper_SRCS start_kdeinit_wrapper.c)
-+kde4_add_executable(start_kdeinit_wrapper ${start_kdeinit_wrapper_SRCS})
-+
-+install(TARGETS start_kdeinit DESTINATION ${LIBEXEC_INSTALL_DIR})
-+install(TARGETS start_kdeinit_wrapper DESTINATION ${LIBEXEC_INSTALL_DIR})
++if (NOT WIN32)
++ set(start_kdeinit_SRCS start_kdeinit.c)
++ kde4_add_executable(start_kdeinit ${start_kdeinit_SRCS})
++ if(KDE4_ENABLE_FPIE)
++ macro_add_compile_flags(start_kdeinit ${KDE4_CXX_FPIE_FLAGS})
++ macro_add_link_flags(start_kdeinit ${KDE4_PIE_LDFLAGS})
++ endif(KDE4_ENABLE_FPIE)
++
++ set(start_kdeinit_wrapper_SRCS start_kdeinit_wrapper.c)
++ kde4_add_executable(start_kdeinit_wrapper ${start_kdeinit_wrapper_SRCS})
++
++ install(TARGETS start_kdeinit DESTINATION ${LIBEXEC_INSTALL_DIR})
++ install(TARGETS start_kdeinit_wrapper DESTINATION ${LIBEXEC_INSTALL_DIR})
++endif (NOT WIN32)
+
+if (CMAKE_SYSTEM_NAME MATCHES Linux)
+ MESSAGE(STATUS "Using setuid root kdeinit wrapper in order to protect it from bad Linux OOM-killer")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mysql for openSUSE:Factory
checked in at Sat Jul 25 18:46:35 CEST 2009.
--------
--- mysql/mysql.changes 2009-06-23 19:34:24.000000000 +0200
+++ mysql/mysql.changes 2009-07-24 17:35:48.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 17:35:07 CEST 2009 - dmueller(a)suse.de
+
+- fix baselibs.conf (bnc#525065)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
minmem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mysql.spec ++++++
--- /var/tmp/diff_new_pack.qAL35v/_old 2009-07-25 18:46:18.000000000 +0200
+++ /var/tmp/diff_new_pack.qAL35v/_new 2009-07-25 18:46:18.000000000 +0200
@@ -27,7 +27,7 @@
Name: mysql
Summary: A True Multiuser, Multithreaded SQL Database Server
Version: 5.1.35
-Release: 1
+Release: 2
License: GPL v2 only
Group: Productivity/Databases/Servers
Url: http://www.mysql.com
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.qAL35v/_old 2009-07-25 18:46:19.000000000 +0200
+++ /var/tmp/diff_new_pack.qAL35v/_new 2009-07-25 18:46:19.000000000 +0200
@@ -1,2 +1,2 @@
-libmysqlclient15
-libmysqlclient_r15
+libmysqlclient16
+libmysqlclient_r16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-bootloader for openSUSE:Factory
checked in at Fri Jul 24 17:33:48 CEST 2009.
--------
--- yast2-bootloader/yast2-bootloader.changes 2009-07-22 13:49:55.000000000 +0200
+++ yast2-bootloader/yast2-bootloader.changes 2009-07-24 17:06:34.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Jul 24 14:54:16 CEST 2009 - juhliarik(a)suse.cz
+
+- added support for encrypted disk (fate#305633)
+- 2.18.10
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-bootloader-2.18.9.tar.bz2
New:
----
yast2-bootloader-2.18.10.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.ICcxf3/_old 2009-07-24 17:24:54.000000000 +0200
+++ /var/tmp/diff_new_pack.ICcxf3/_new 2009-07-24 17:24:54.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-bootloader (Version 2.18.9)
+# spec file for package yast2-bootloader (Version 2.18.10)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,10 +19,10 @@
Name: yast2-bootloader
-Version: 2.18.9
+Version: 2.18.10
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-bootloader-2.18.9.tar.bz2
+Source0: yast2-bootloader-2.18.10.tar.bz2
Prefix: /usr
Group: System/YaST
License: GPL v2 or later
@@ -61,7 +61,7 @@
This package contains the YaST2 component for bootloader configuration.
%prep
-%setup -n yast2-bootloader-2.18.9
+%setup -n yast2-bootloader-2.18.10
%build
%{prefix}/bin/y2tool y2autoconf
++++++ yast2-bootloader-2.18.9.tar.bz2 -> yast2-bootloader-2.18.10.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/VERSION new/yast2-bootloader-2.18.10/VERSION
--- old/yast2-bootloader-2.18.9/VERSION 2009-07-20 16:56:59.000000000 +0200
+++ new/yast2-bootloader-2.18.10/VERSION 2009-07-24 14:55:00.000000000 +0200
@@ -1 +1 @@
-2.18.9
+2.18.10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/clients/bootloader_proposal.ycp new/yast2-bootloader-2.18.10/src/clients/bootloader_proposal.ycp
--- old/yast2-bootloader-2.18.9/src/clients/bootloader_proposal.ycp 2009-07-09 12:42:20.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/clients/bootloader_proposal.ycp 2009-07-22 13:39:48.000000000 +0200
@@ -1,7 +1,7 @@
/**
* Module: bootloader_proposal.ycp
*
- * $Id: bootloader_proposal.ycp 57241 2009-05-18 15:46:56Z juhliarik $
+ * $Id: bootloader_proposal.ycp 58126 2009-07-22 11:39:44Z juhliarik $
*
* Author: Klaus Kaempf <kkaempf(a)suse.de>
*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/grub/misc.ycp new/yast2-bootloader-2.18.10/src/grub/misc.ycp
--- old/yast2-bootloader-2.18.9/src/grub/misc.ycp 2009-07-20 14:15:26.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/grub/misc.ycp 2009-07-22 13:39:48.000000000 +0200
@@ -12,7 +12,7 @@
* Jiri Srain <jsrain(a)suse.cz>
* Olaf Dabrunz <od(a)suse.de>
*
- * $Id: misc.ycp 57241 2009-05-18 15:46:56Z juhliarik $
+ * $Id: misc.ycp 58126 2009-07-22 11:39:44Z juhliarik $
*
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/modules/BootCommon.ycp new/yast2-bootloader-2.18.10/src/modules/BootCommon.ycp
--- old/yast2-bootloader-2.18.9/src/modules/BootCommon.ycp 2009-06-26 11:18:15.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/modules/BootCommon.ycp 2009-07-24 15:21:35.000000000 +0200
@@ -76,6 +76,11 @@
global integer cached_settings_base_data_change_time = nil;
+/** FATE#305633: Support installation with encrypted root file system
+ * Add root_luks to /etc/sysconfig/initrd
+ */
+
+global boolean add_luks_to_initrd = false;
/**
* device to save loader stage 1 to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/modules/BootGRUB.ycp new/yast2-bootloader-2.18.10/src/modules/BootGRUB.ycp
--- old/yast2-bootloader-2.18.9/src/modules/BootGRUB.ycp 2009-07-10 13:32:17.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/modules/BootGRUB.ycp 2009-07-22 13:39:48.000000000 +0200
@@ -15,7 +15,7 @@
* Olaf Dabrunz <od(a)suse.de>
* Philipp Thomas <pth(a)suse.de>
*
- * $Id: BootGRUB.ycp 57310 2009-05-25 14:24:53Z jreidinger $
+ * $Id: BootGRUB.ycp 58126 2009-07-22 11:39:44Z juhliarik $
*
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/modules/Bootloader.ycp new/yast2-bootloader-2.18.10/src/modules/Bootloader.ycp
--- old/yast2-bootloader-2.18.9/src/modules/Bootloader.ycp 2009-06-26 11:18:15.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/modules/Bootloader.ycp 2009-07-24 15:25:27.000000000 +0200
@@ -50,6 +50,7 @@
global define boolean Write ();
global define boolean FlagOnetimeBoot (string section);
+ boolean Write_root_luks_to_initrd();
// additional interfaces, mostly for other modules
global define void ReadOrProposeIfNeeded ();
@@ -282,6 +283,10 @@
y2milestone ("unfiltered target map: %1", (map<string,map>)Storage::GetTargetMap());
BootCommon::UpdateInstallationKernelParameters ();
blPropose ();
+
+ // FATE#305633: Support installation with encrypted root file system
+ // adding luks_root for all image sections
+ BootCommon::sections = BootCommon::CheckAdding_luks_root(BootCommon::sections);
BootCommon::was_proposed = true;
BootCommon::changed = true;
BootCommon::location_changed = true;
@@ -444,6 +449,10 @@
Progress::Title (titles[0]:"");
}
+ // update initrd conf file if it is necessary
+ // adding root_luks to /etc/sysconfig/initrd
+ Write_root_luks_to_initrd();
+
map<string,any> params_to_save = $[];
string new_vga = getKernelParam (getDefaultSection (), "vgamode");
@@ -623,6 +632,10 @@
Initrd::changed = true;
}
+ // update initrd conf file if it is necessary
+ // adding root_luks to /etc/sysconfig/initrd
+ Write_root_luks_to_initrd();
+
map<string,any> params_to_save = $[];
string new_vga = getKernelParam (getDefaultSection (), "vgamode");
@@ -1484,4 +1497,52 @@
return true;
}
+/** FATE#305633: Support installation with encrypted root file system
+ * Update conf file for initrd
+ *
+ *
+ */
+
+
+boolean Write_root_luks_to_initrd()
+{
+ if (!BootCommon::add_luks_to_initrd)
+ {
+ y2milestone("Skip adding root_luks to initrd conf file");
+ return false;
+ }
+ string conf_initrd = "/etc/sysconfig/initrd";
+ string tmp_content = "";
+ string content_luks_initrd = "root_luks=1\nluks=root\n";
+ string cmd = sformat("ls '%1' 2>/dev/null |tr -d '\n'", conf_initrd);
+ y2milestone("Checking existing initrd conf file via command %1", cmd);
+ map out = (map)SCR::Execute(.target.bash_output, cmd);
+ if (out["stdout"]:"" == conf_initrd)
+ {
+ tmp_content = (string) SCR::Read(.target.string, conf_initrd);
+ y2milestone("content of initrd conf file: %1", tmp_content);
+ if ((search(tmp_content, "root_luks=1") != nil) && (search(tmp_content, "luks=root") != nil))
+ {
+ y2milestone("skip adding: %1 to %2", content_luks_initrd, conf_initrd);
+ } else {
+ cmd = sformat("echo '%1' >> %2", content_luks_initrd, conf_initrd);
+ y2milestone("Adding root_luks via command %1", cmd);
+ out = (map)SCR::Execute(.target.bash_output, cmd);
+ y2error("%1",out);
+ if (out["exit"]:-1 == 0)
+ y2milestone("Adding root_luks to initrd conf file done successful");
+ else {
+ y2error("Adding root_luks to initrd failed");
+ return false;
+ }
+ }
+ } else {
+ integer last=findlastof(conf_initrd,"/");
+ string path_file = substring (conf_initrd, 0, last);
+ SCR::Execute(.target.mkdir, path_file);
+ SCR::Write(.target.string, conf_initrd, content_luks_initrd);
+ }
+ return true;
+}
+
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/routines/helps.ycp new/yast2-bootloader-2.18.10/src/routines/helps.ycp
--- old/yast2-bootloader-2.18.9/src/routines/helps.ycp 2009-07-20 14:39:57.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/routines/helps.ycp 2009-07-22 13:39:48.000000000 +0200
@@ -11,7 +11,7 @@
* Authors:
* Jiri Srain <jsrain(a)suse.cz>
*
- * $Id: helps.ycp 56563 2009-04-02 08:41:25Z jreidinger $
+ * $Id: helps.ycp 58126 2009-07-22 11:39:44Z juhliarik $
*
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-bootloader-2.18.9/src/routines/misc.ycp new/yast2-bootloader-2.18.10/src/routines/misc.ycp
--- old/yast2-bootloader-2.18.9/src/routines/misc.ycp 2009-04-28 16:39:08.000000000 +0200
+++ new/yast2-bootloader-2.18.10/src/routines/misc.ycp 2009-07-24 15:25:17.000000000 +0200
@@ -1712,7 +1712,167 @@
return ret;
}
+/** FATE#305633: Support installation with encrypted root file system
+ * Delete luks_root if it is necessary
+ *
+ * @param string section append
+ * @return string updated append
+ */
+string delete_luks_root (string append)
+{
+ string new_append = append;
+ if (search(append, "luks_root") != nil)
+ {
+ list <string> list_append = splitstring(append, " ");
+ list <string> list_new_append = [];
+ foreach(string item, list_append,
+ {
+ if (search(item, "luks_root") == nil)
+ list_new_append = add(list_new_append, item);
+ });
+ new_append = mergestring(list_new_append, " ");
+ }
+ return new_append;
+}
+
+/** FATE#305633: Support installation with encrypted root file system
+ * Function parse append string and delete or add luks_root devices
+ *
+ * @param string section append
+ * @param list <string> luks partitions
+ * @return string updated append
+ */
+
+string luks_append (string old_append, list <string> luks_partitions)
+{
+ string new_append = "";
+ list <string> list_new_append = [];
+ list <string> result_devices = [];
+ if (size(luks_partitions) == 0)
+ {
+ y2milestone("skip adding luks_root -> not encrypted partitions");
+ new_append = delete_luks_root(old_append);
+ return new_append;
+ }
+ if (search(old_append, "luks_root") == nil)
+ {
+ new_append = old_append + " luks_root=" + mergestring(luks_partitions, ",");
+ y2milestone("updated append: %1", new_append);
+ add_luks_to_initrd = true;
+ return new_append;
+ } else {
+ list <string> list_append = splitstring(old_append, " ");
+ string luks = "";
+ foreach(string item, list_append,
+ {
+ if (search(item, "luks_root") != nil)
+ luks = item;
+ else
+ list_new_append = add(list_new_append, item);
+ });
+ y2milestone("previous luks_root: %1", luks);
+ if (size(luks_partitions) > 0)
+ {
+ string new_luks_root = "luks_root=" + mergestring(luks_partitions,",");
+ y2milestone("new luks_root: %1", new_luks_root);
+ list_new_append = add(list_new_append, new_luks_root);
+ }
+
+ new_append = mergestring(list_new_append, " ");
+ }
+ y2milestone("updated append: %1", new_append);
+ add_luks_to_initrd = true;
+ return new_append;
+}
+
+/** FATE#305633: Support installation with encrypted root file system
+ * Update append of boot section from boot section
+ *
+ * @param map<string,any> boot section which should be udpated
+ * @param map<string,map> target map from storage
+ * @return string updated append (with luks_root or with deleted luks_root)
+ */
+
+string add_delete_luks_root (map<string,any> section, map<string,map> tm)
+{
+ string root_disk = "";
+ map p_dev = $[];
+ string old_append = section["append"]:"";
+ string new_append = "";
+ string s_root = section["root"]:"";
+ string s_disk = "";
+ list <string> luks_devices = [];
+ if (s_root != "")
+ {
+ // try to find disk of partition
+ p_dev = Storage::GetDiskPartition(s_root);
+ y2milestone("GetDiskPartition with root: %1 is: %2", s_root, p_dev);
+ s_disk = p_dev["disk"]:"";
+ y2milestone("Disk is: %1", s_disk);
+ map p_device = tm[s_disk]:$[];
+ // check if it is LVM disk
+ if (p_device["type"]:nil == `CT_LVM)
+ {
+ // add all physical partitions from LVM
+ list <string> lvm_partitions = (list <string>) p_device["devices_add"]:[];
+ y2milestone("physical partitions which create LVM: %1", lvm_partitions);
+ foreach(string p, lvm_partitions,
+ {
+ p_dev = Storage::GetDiskPartition(p);
+ s_disk = p_dev["disk"]:"";
+ map tmp_device = tm[s_disk]:$[];
+ foreach(map tmp_p, tmp_device["partitions"]:[],
+ {
+ if ((tmp_p["device"]:"" == p) && (tmp_p["enc_type"]:nil == `luks))
+ luks_devices = add(luks_devices, p);
+ });
+ });
+ y2milestone("luks_devices: %1", luks_devices);
+ new_append = luks_append(old_append, luks_devices);
+ return new_append;
+ } else {
+ y2milestone("skip adding luks_root -> \"root\" is not on LVM");
+ new_append = delete_luks_root(old_append);
+ return new_append;
+ }
+ } else {
+ y2milestone("skip adding luks_root -> \"root\" missing");
+ new_append = delete_luks_root(old_append);
+ return new_append;
+ }
+ y2error("skip adding luks_root -> unknown error");
+ new_append = delete_luks_root(old_append);
+ return new_append;
+}
+
+
+/** FATE#305633: Support installation with encrypted root file system
+ * Function check sections and add luks_root if it is necessary
+ *
+ * @param list of sections list <map <string any> >
+ * @return updated list of section list <map <string any> >
+ */
+
+global list<map<string,any> > CheckAdding_luks_root (list<map<string,any> > bl_sections)
+{
+ map<string,map> tm = (map<string,map>)Storage::GetTargetMap();
+ list<map<string,any> > update_bl_sections = [];
+ map <string, any> updated_section = $[];
+ foreach ( map <string, any> s, bl_sections,
+ {
+ if (s["type"]:nil == "image")
+ {
+ updated_section = s;
+ updated_section["append"] = add_delete_luks_root(s,tm);
+ update_bl_sections = add(update_bl_sections, updated_section);
+ } else {
+ update_bl_sections = add(update_bl_sections, s);
+ }
+ });
+
+ return update_bl_sections;
+}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libselinux for openSUSE:Factory
checked in at Fri Jul 24 17:24:33 CEST 2009.
--------
--- libselinux/libselinux.changes 2009-07-22 15:18:44.000000000 +0200
+++ libselinux/libselinux.changes 2009-07-24 17:11:02.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Jul 24 17:09:50 CEST 2009 - thomas(a)novell.com
+
+- updated selinux-ready script
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libselinux-bindings.spec ++++++
--- /var/tmp/diff_new_pack.ncZQmt/_old 2009-07-24 17:24:22.000000000 +0200
+++ /var/tmp/diff_new_pack.ncZQmt/_new 2009-07-24 17:24:22.000000000 +0200
@@ -23,7 +23,7 @@
Name: libselinux-bindings
Version: 2.0.80
-Release: 3
+Release: 4
Url: http://www.nsa.gov/selinux/
License: GPL v2 only ; Public Domain, Freeware
Group: System/Libraries
libselinux.spec: same change
++++++ selinux-ready ++++++
--- /var/tmp/diff_new_pack.ncZQmt/_old 2009-07-24 17:24:22.000000000 +0200
+++ /var/tmp/diff_new_pack.ncZQmt/_new 2009-07-24 17:24:22.000000000 +0200
@@ -22,7 +22,7 @@
check_filesystem()
{
FSPATH="/proc/filesystems"
- FSNAME="securityfs"
+ FSNAME="selinuxfs"
grep -w $FSNAME $FSPATH 1>&2 >/dev/null
@@ -37,11 +37,11 @@
check_boot()
{
- BPARAM="selinux=1"
+ BPARAM="security=selinux.*selinux=1.*enforcing=?" # XXX order not mandatory
printf "\tcheck_boot: Assuming GRUB as bootloader.\n"
- BLINE=$(grep -- $BPARAM /boot/grub/menu.lst 2>/dev/null) # XXX check for multiple lines in config
+ BLINE=$(grep -E $BPARAM /boot/grub/menu.lst 2>/dev/null) # XXX check for multiple lines in config
if [ $? == 0 ]; then
K=$(echo $BLINE | awk -F' ' '{print $2}')
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0