openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- 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
September 2006
- 1 participants
- 1262 discussions
Hello community,
here is the log from the commit of package moodle
checked in at Fri Sep 29 01:23:59 CEST 2006.
--------
--- moodle/moodle.changes 2006-08-31 20:40:20.000000000 +0200
+++ /mounts/work_src_done/NOARCH/moodle/moodle.changes 2006-09-28 18:57:20.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Sep 28 18:50:39 CEST 2006 - lrupp(a)suse.de
+
+- update to 1.6.2
+ * many security fixes in filehandling (upload, backup)
+ * bugfixe in localisation packages
+ * fixes in Lesson module
+ * sessiontimeout setting works now
+- added plugins for adding and deleting users via LDAP
+
+-------------------------------------------------------------------
Old:
----
moodle-1.6.1.tar.bz2
moodle-editor_lang_de.patch
moodle-spellchecker_lang_de.patch
New:
----
moodle-1.6.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ moodle.spec ++++++
--- /var/tmp/diff_new_pack.9OVmH6/_old 2006-09-29 01:23:40.000000000 +0200
+++ /var/tmp/diff_new_pack.9OVmH6/_new 2006-09-29 01:23:40.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package moodle (Version 1.6.1)
+# spec file for package moodle (Version 1.6.2)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,18 +11,17 @@
Name: moodle
Summary: A Course Management System
-Url: http://moodle.org/
+URL: http://moodle.org/
License: LGPL
Group: Productivity/Networking/Web/Utilities
Autoreqprov: no
-Version: 1.6.1
+Version: 1.6.2
Release: 1
-Source: moodle-1.6.1.tar.bz2
+Source: moodle-1.6.2.tar.bz2
Source2: cron-moodle
Source3: moodle_include.conf
Source4: moodle.config.dummy
Source5: moodle-config.php
-Source6: get_sources.sh
Source10: moodle-oss.tar.bz2
Source110: af_utf8.zip
Source111: ar_utf8.zip
@@ -73,8 +72,6 @@
Source156: uk_utf8.zip
Source157: vi_utf8.zip
Source158: zh_cn_utf8.zip
-Patch1: moodle-spellchecker_lang_de.patch
-Patch2: moodle-editor_lang_de.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%if %sles_version == 9
@@ -315,9 +312,6 @@
%files de
%defattr (-,root,root,-)
%{moodlerootdir}/lang/de*
-%{moodlerootdir}/lib/editor/plugins/SpellChecker/lang/de.js
-%{moodlerootdir}/lib/editor/lang/de.js
-%{moodlerootdir}/lib/editor/lang/de.php
%package el
Summary: Moodle language pack for Greek
Group: Productivity/Networking/Web/Utilities
@@ -1241,8 +1235,6 @@
# ---------------------------------------------------------------------------
%prep
%setup -q -n %{name} -a10
-%patch1
-%patch2
# cleanup unnecessary files
find $RPM_BUILD_DIR/%{name} -name \*.bak -exec rm {} \;
find $RPM_BUILD_DIR/%{name} -name \*.exe -exec rm {} \;
@@ -1333,7 +1325,6 @@
perl -pi -e "s#MOODLEDATADIR#%{moodledatadir}#g" $RPM_BUILD_ROOT/%{moodleconfigdir}/moodle-config.php
perl -pi -e "s#MOODLEURL#%{moodleurl}#g" $RPM_BUILD_ROOT/%{moodleconfigdir}/moodle-config.php
# documentation
-install -m 754 -o root -g root %{SOURCE6} $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/get_sources.sh
%{__mv} $RPM_BUILD_ROOT/%{moodlerootdir}/README* $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
%{__mv} $RPM_BUILD_ROOT/%{moodlerootdir}/doc/COPYRIGHT.txt $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
%{__mv} $RPM_BUILD_ROOT/%{moodlerootdir}/doc/install.html $RPM_BUILD_ROOT/%{_defaultdocdir}/%{name}/
@@ -1356,14 +1347,14 @@
# ---------------------------------------------------------------------------
%clean
-[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
+rm -rf $RPM_BUILD_ROOT;
# ---------------------------------------------------------------------------
%files
%defattr(-,wwwrun,root,-)
+%doc %{_defaultdocdir}/%{name}/*
%dir %{_defaultdocdir}/%{name}
%dir %attr(0775,wwwrun,www) %{moodledatadir}
-%doc %{_defaultdocdir}/%{name}/*
%attr(0775,wwwrun,www) %{moodledatadir}/*
%dir %{moodlerootdir}
%dir %{moodlerootdir}/lang
@@ -1376,9 +1367,14 @@
%{moodlerootdir}/lib
%{moodlerootdir}/login
%{moodlerootdir}/doc
-%exclude %{moodlerootdir}/lib/editor/plugins/SpellChecker/lang/de.js
-%exclude %{moodlerootdir}/lib/editor/lang/de.*
%changelog -n moodle
+* Thu Sep 28 2006 - lrupp(a)suse.de
+- update to 1.6.2
+ * many security fixes in filehandling (upload, backup)
+ * bugfixe in localisation packages
+ * fixes in Lesson module
+ * sessiontimeout setting works now
+- added plugins for adding and deleting users via LDAP
* Thu Aug 31 2006 - lrupp(a)suse.de
- initial package (1.6.1)
++++++ af_utf8.zip ++++++
Binary files moodle/af_utf8.zip and /mounts/work_src_done/NOARCH/moodle/af_utf8.zip differ
++++++ ar_utf8.zip ++++++
Binary files moodle/ar_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ar_utf8.zip differ
++++++ be_utf8.zip ++++++
Binary files moodle/be_utf8.zip and /mounts/work_src_done/NOARCH/moodle/be_utf8.zip differ
++++++ bg_utf8.zip ++++++
Binary files moodle/bg_utf8.zip and /mounts/work_src_done/NOARCH/moodle/bg_utf8.zip differ
++++++ ca_utf8.zip ++++++
Binary files moodle/ca_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ca_utf8.zip differ
++++++ cs_utf8.zip ++++++
Binary files moodle/cs_utf8.zip and /mounts/work_src_done/NOARCH/moodle/cs_utf8.zip differ
++++++ de_utf8.zip ++++++
Binary files moodle/de_utf8.zip and /mounts/work_src_done/NOARCH/moodle/de_utf8.zip differ
++++++ el_utf8.zip ++++++
Binary files moodle/el_utf8.zip and /mounts/work_src_done/NOARCH/moodle/el_utf8.zip differ
++++++ es_utf8.zip ++++++
Binary files moodle/es_utf8.zip and /mounts/work_src_done/NOARCH/moodle/es_utf8.zip differ
++++++ eu_utf8.zip ++++++
Binary files moodle/eu_utf8.zip and /mounts/work_src_done/NOARCH/moodle/eu_utf8.zip differ
++++++ fi_utf8.zip ++++++
Binary files moodle/fi_utf8.zip and /mounts/work_src_done/NOARCH/moodle/fi_utf8.zip differ
++++++ fr_utf8.zip ++++++
Binary files moodle/fr_utf8.zip and /mounts/work_src_done/NOARCH/moodle/fr_utf8.zip differ
++++++ ga_utf8.zip ++++++
Binary files moodle/ga_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ga_utf8.zip differ
++++++ gl_utf8.zip ++++++
Binary files moodle/gl_utf8.zip and /mounts/work_src_done/NOARCH/moodle/gl_utf8.zip differ
++++++ hu_utf8.zip ++++++
Binary files moodle/hu_utf8.zip and /mounts/work_src_done/NOARCH/moodle/hu_utf8.zip differ
++++++ it_utf8.zip ++++++
Binary files moodle/it_utf8.zip and /mounts/work_src_done/NOARCH/moodle/it_utf8.zip differ
++++++ ja_utf8.zip ++++++
Binary files moodle/ja_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ja_utf8.zip differ
++++++ ko_utf8.zip ++++++
Binary files moodle/ko_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ko_utf8.zip differ
++++++ moodle-1.6.1.tar.bz2 -> moodle-1.6.2.tar.bz2 ++++++
moodle/moodle-1.6.1.tar.bz2 /mounts/work_src_done/NOARCH/moodle/moodle-1.6.2.tar.bz2 differ: char 11, line 1
++++++ moodle-oss.tar.bz2 ++++++
++++ 2388 lines of diff (skipped)
++++++ nl_utf8.zip ++++++
Binary files moodle/nl_utf8.zip and /mounts/work_src_done/NOARCH/moodle/nl_utf8.zip differ
++++++ no_utf8.zip ++++++
Binary files moodle/no_utf8.zip and /mounts/work_src_done/NOARCH/moodle/no_utf8.zip differ
++++++ pl_utf8.zip ++++++
Binary files moodle/pl_utf8.zip and /mounts/work_src_done/NOARCH/moodle/pl_utf8.zip differ
++++++ pt_utf8.zip ++++++
Binary files moodle/pt_utf8.zip and /mounts/work_src_done/NOARCH/moodle/pt_utf8.zip differ
++++++ ru_utf8.zip ++++++
Binary files moodle/ru_utf8.zip and /mounts/work_src_done/NOARCH/moodle/ru_utf8.zip differ
++++++ sk_utf8.zip ++++++
Binary files moodle/sk_utf8.zip and /mounts/work_src_done/NOARCH/moodle/sk_utf8.zip differ
++++++ sl_utf8.zip ++++++
Binary files moodle/sl_utf8.zip and /mounts/work_src_done/NOARCH/moodle/sl_utf8.zip differ
++++++ sq_utf8.zip ++++++
Binary files moodle/sq_utf8.zip and /mounts/work_src_done/NOARCH/moodle/sq_utf8.zip differ
++++++ sv_utf8.zip ++++++
Binary files moodle/sv_utf8.zip and /mounts/work_src_done/NOARCH/moodle/sv_utf8.zip differ
++++++ th_utf8.zip ++++++
Binary files moodle/th_utf8.zip and /mounts/work_src_done/NOARCH/moodle/th_utf8.zip differ
++++++ tl_utf8.zip ++++++
Binary files moodle/tl_utf8.zip and /mounts/work_src_done/NOARCH/moodle/tl_utf8.zip differ
++++++ tr_utf8.zip ++++++
Binary files moodle/tr_utf8.zip and /mounts/work_src_done/NOARCH/moodle/tr_utf8.zip differ
++++++ vi_utf8.zip ++++++
Binary files moodle/vi_utf8.zip and /mounts/work_src_done/NOARCH/moodle/vi_utf8.zip differ
++++++ zh_cn_utf8.zip ++++++
Binary files moodle/zh_cn_utf8.zip and /mounts/work_src_done/NOARCH/moodle/zh_cn_utf8.zip differ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libzypp
checked in at Fri Sep 29 01:10:18 CEST 2006.
--------
--- libzypp/libzypp.changes 2006-09-27 15:01:56.000000000 +0200
+++ /mounts/work_src_done/STABLE/libzypp/libzypp.changes 2006-09-29 00:50:12.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Sep 29 00:31:33 CEST 2006 - ma(a)suse.de
+
+- Enabled sending of ScriptResolvableReport.
+- Changed ScriptResolvableReport::start to send local path
+ of script to be executed.
+- revision 4190
+- version 2.2.1
+
+-------------------------------------------------------------------
Old:
----
zypp-2.2.0.tar.bz2
New:
----
zypp-2.2.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.JW6Xxw/_old 2006-09-29 01:10:02.000000000 +0200
+++ /var/tmp/diff_new_pack.JW6Xxw/_new 2006-09-29 01:10:02.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libzypp (Version 2.2.0)
+# spec file for package libzypp (Version 2.2.1)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,9 +17,9 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Autoreqprov: on
Summary: Package, Patch, Pattern, and Product Management
-Version: 2.2.0
+Version: 2.2.1
Release: 1
-Source: zypp-2.2.0.tar.bz2
+Source: zypp-2.2.1.tar.bz2
Prefix: /usr
Provides: yast2-packagemanager
Obsoletes: yast2-packagemanager
@@ -62,7 +62,7 @@
Ladislav Slezak <lslezak(a)suse.cz>
%prep
-%setup -q -n zypp-2.2.0
+%setup -q -n zypp-2.2.1
%build
mv configure.ac x
@@ -105,6 +105,12 @@
%{_libdir}/pkgconfig/libzypp.pc
%changelog -n libzypp
+* Fri Sep 29 2006 - ma(a)suse.de
+- Enabled sending of ScriptResolvableReport.
+- Changed ScriptResolvableReport::start to send local path
+ of script to be executed.
+- revision 4190
+- version 2.2.1
* Wed Sep 27 2006 - ma(a)suse.de
- Added ScriptResolvableReport. Callbacks triggered on script
execution during commit. (F100233)
++++++ zypp-2.2.0.tar.bz2 -> zypp-2.2.1.tar.bz2 ++++++
libzypp/zypp-2.2.0.tar.bz2 /mounts/work_src_done/STABLE/libzypp/zypp-2.2.1.tar.bz2 differ: char 11, line 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 xen
checked in at Fri Sep 29 01:05:10 CEST 2006.
--------
--- arch/i386/xen/xen.changes 2006-09-27 00:02:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/xen/xen.changes 2006-09-28 19:19:36.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Sep 28 11:18:17 MDT 2006 - ccoffing(a)novell.com
+
+- Only "eval" disks once in domUloader, to match current Xen.
+
+-------------------------------------------------------------------
+Wed Sep 27 10:47:16 MDT 2006 - ccoffing(a)novell.com
+
+- Switch to xen-3.0.3-testing tree; changeset 11633.
+- Update (but disable) paravirtualized framebuffer patches.
+
+-------------------------------------------------------------------
Old:
----
vfb-backend.diff
vfb-frontend.diff
vfb-viewer.diff
vncfb-makefile.diff
vncfb.diff
xen-shutdown-wait.diff
xen-unstable-src.tar.bz2
New:
----
xen-3.0.3-testing-src.tar.bz2
xen-pvfb-2.patch
xen-pvfb-3.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.hUEHod/_old 2006-09-29 01:04:15.000000000 +0200
+++ /var/tmp/diff_new_pack.hUEHod/_new 2006-09-29 01:04:15.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package xen (Version 3.0.3_11623)
+# spec file for package xen (Version 3.0.3_11633)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -14,18 +14,18 @@
BuildRequires: LibVNCServer SDL-devel autoconf automake bin86 dev86 glibc-devel-32bit gtk2-devel latex2html libjpeg-devel libreiserfs-devel openssl openssl-devel python-devel te_ams te_latex tetex transfig
%define xvers 3.0
%define xvermaj 3
-%define changeset 11623
+%define changeset 11633
%define with_pygrub 1
-%define with_vfb 1
-%define xen_build_dir xen-unstable
-Version: 3.0.3_11623
+%define with_pvfb 0
+%define xen_build_dir xen-3.0.3-testing
+Version: 3.0.3_11633
Release: 1
License: GPL
Group: System/Kernel
Autoreqprov: on
PreReq: %insserv_prereq %fillup_prereq
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
-Source: xen-unstable-src.tar.bz2
+Source: xen-3.0.3-testing-src.tar.bz2
Source2: README.SuSE
Source3: boot.xen
Source4: boot.local.xenU
@@ -64,18 +64,14 @@
Patch22: xen-hvm-rep-movs.diff
Patch23: xen-lowmem-emergency-pool.diff
Patch24: xen-console.diff
-Patch26: xen-shutdown-wait.diff
Patch27: block-losetup-retry.diff
Patch28: block-sync.diff
Patch29: xen-blktap.diff
Patch30: xen-io-register-context.diff
Patch31: xen-removable.diff
## Upstream (or upstream soon):
-Patch100: vncfb.diff
-Patch101: vfb-frontend.diff
-Patch102: vfb-backend.diff
-Patch103: vncfb-makefile.diff
-Patch104: vfb-viewer.diff
+Patch100: xen-pvfb-2.patch
+Patch101: xen-pvfb-3.patch
## Patches for bug 184175:
Patch106: xen-no-incdec-writable-pte-prediction.patch
Patch107: xen-no-pgt-score.patch
@@ -406,12 +402,9 @@
%prep
%setup -q -n %xen_build_dir
# Apply upstream patches first...
-%if %{?with_vfb}0
+%if %{?with_pvfb}0
%patch100 -p1
%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
%endif
## need to forward-port
#%patch106 -p1
@@ -445,7 +438,6 @@
%patch22 -p1
%patch23 -p1
%patch24 -p1
-%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
@@ -513,9 +505,9 @@
%ifarch x86_64
mkdir -p $RPM_BUILD_ROOT/usr/lib/xen/bin/
ln -s %{_libdir}/xen/bin/qemu-dm $RPM_BUILD_ROOT/usr/lib/xen/bin/qemu-dm
-%if %{?with_vfb}0
-ln -s %{_libdir}/xen/bin/sdlfb $RPM_BUILD_ROOT/usr/lib/xen/bin/sdlfb
-ln -s %{_libdir}/xen/bin/vncfb $RPM_BUILD_ROOT/usr/lib/xen/bin/vncfb
+%if %{?with_pvfb}0
+ln -s %{_libdir}/xen/bin/xen-sdlfb $RPM_BUILD_ROOT/usr/lib/xen/bin/xen-sdlfb
+ln -s %{_libdir}/xen/bin/xen-vncfb $RPM_BUILD_ROOT/usr/lib/xen/bin/xen-vncfb
%endif
%endif
# docs
@@ -633,9 +625,9 @@
%dir /usr/lib/xen/boot
%{_libdir}/libblktap.so*
%{_libdir}/xen/bin/readnotes
-%if %{?with_vfb}0
-%{_libdir}/xen/bin/sdlfb
-%{_libdir}/xen/bin/vncfb
+%if %{?with_pvfb}0
+%{_libdir}/xen/bin/xen-sdlfb
+%{_libdir}/xen/bin/xen-vncfb
%endif
#%{_libdir}/xen/bin/xc_kexec
%{_libdir}/xen/bin/xc_restore
@@ -691,9 +683,9 @@
%{_libdir}/xen/bin/qemu-dm
%ifarch x86_64
/usr/lib/xen/bin/qemu-dm
-%if %{?with_vfb}0
-/usr/lib/xen/bin/sdlfb
-/usr/lib/xen/bin/vncfb
+%if %{?with_pvfb}0
+/usr/lib/xen/bin/xen-sdlfb
+/usr/lib/xen/bin/xen-vncfb
%endif
%endif
/usr/lib/xen/boot/hvmloader
@@ -749,6 +741,11 @@
%{insserv_cleanup}
%changelog -n xen
+* Thu Sep 28 2006 - ccoffing(a)novell.com
+- Only "eval" disks once in domUloader, to match current Xen.
+* Wed Sep 27 2006 - ccoffing(a)novell.com
+- Switch to xen-3.0.3-testing tree; changeset 11633.
+- Update (but disable) paravirtualized framebuffer patches.
* Tue Sep 26 2006 - ccoffing(a)novell.com
- Update to xen-unstable changeset 11623.
- Fix domUloader typo introduced in last update.
++++++ domUloader.py ++++++
++++ 892 lines (skipped)
++++ between domUloader.py
++++ and /mounts/work_src_done/STABLE/xen/domUloader.py
++++++ xen-pvfb-2.patch ++++++
++++ 1122 lines (skipped)
++++++ xen-pvfb-3.patch ++++++
Index: xen-unstable/tools/python/xen/xend/image.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xend/image.py
+++ xen-unstable/tools/python/xen/xend/image.py
@@ -20,8 +20,10 @@
import os, string
import re
import math
+import signal
import xen.lowlevel.xc
+import xen.util.auxbin
from xen.xend import sxp
from xen.xend.XendError import VmError
from xen.xend.XendLogging import log
@@ -205,6 +207,68 @@ class LinuxImageHandler(ImageHandler):
ramdisk = self.ramdisk,
features = self.vm.getFeatures())
+ def configure(self, imageConfig, deviceConfig):
+ ImageHandler.configure(self, imageConfig, deviceConfig)
+
+ self.pid = 0
+ log.info("configuring linux guest")
+
+ # set up the graphics bits.
+ # FIXME: this is much like what we do for HVM, should it be
+ # for all image types now?
+ self.display = sxp.child_value(imageConfig, 'display')
+ self.xauthority = sxp.child_value(imageConfig, 'xauthority')
+ self.vncconsole = sxp.child_value(imageConfig, 'vncconsole')
+ self.vnc = sxp.child_value(imageConfig, 'vnc')
+ self.sdl = sxp.child_value(imageConfig, 'sdl')
+ if self.vnc:
+ self.vncdisplay = sxp.child_value(imageConfig, 'vncdisplay',
+ int(self.vm.getDomid()))
+ self.vncunused = sxp.child_value(imageConfig, 'vncunused')
+ self.vnclisten = sxp.child_value(imageConfig, 'vnclisten')
+ if self.vnc or self.sdl:
+ log.info("setting use_graphics")
+ self.vm.writeDom("console/use_graphics", "1")
+ else:
+ self.vm.writeDom("console/use_graphics", "0")
+
+ def createDeviceModel(self):
+ if self.pid:
+ return
+ # Execute device model (for us, it's just the fb frontend)
+ if not self.vnc and not self.sdl:
+ return
+
+ if self.vnc:
+ args = [xen.util.auxbin.pathTo("xen-vncfb")]
+ if self.vncunused:
+ args += ['--unused']
+ elif self.vncdisplay:
+ args += [ "--vncport", "%d" %(5900 + self.vncdisplay,) ]
+ if self.vnclisten:
+ args += [ "--listen", self.vnclisten ]
+ if self.vncconsole:
+ args += [ "--vncviewer" ]
+ elif self.sdl:
+ args = [xen.util.auxbin.pathTo("xen-sdlfb")]
+ args = args + [ "--domid", "%d" % self.vm.getDomid(),
+ "--title", self.vm.info['name'] ]
+ env = dict(os.environ)
+ if self.display:
+ env['DISPLAY'] = self.display
+ if self.xauthority:
+ env['XAUTHORITY'] = self.xauthority
+ log.info("spawning video: %s", args)
+ self.pid = os.spawnve(os.P_NOWAIT, args[0], args, env)
+ log.info("device model pid: %d", self.pid)
+
+ def destroy(self):
+ if not self.pid:
+ return
+ os.kill(self.pid, signal.SIGKILL)
+ os.waitpid(self.pid, 0)
+ self.pid = 0
+
class PPC_LinuxImageHandler(LinuxImageHandler):
ostype = "linux"
@@ -382,7 +446,6 @@ class HVMImageHandler(ImageHandler):
def destroy(self):
self.unregister_shutdown_watch();
- import signal
if not self.pid:
return
os.kill(self.pid, signal.SIGKILL)
Index: xen-unstable/tools/python/xen/xm/create.py
===================================================================
--- xen-unstable.orig/tools/python/xen/xm/create.py
+++ xen-unstable/tools/python/xen/xm/create.py
@@ -481,6 +481,8 @@ def configure_image(vals):
if vals.builder == 'hvm':
configure_hvm(config_image, vals)
+
+ configure_graphics(config_image, vals)
return config_image
@@ -627,14 +629,21 @@ def configure_vifs(config_devs, vals):
map(f, d.keys())
config_devs.append(['device', config_vif])
+def configure_graphics(config_image, vals):
+ """Create the config for graphic consoles.
+ """
+ args = [ 'vnc', 'vncdisplay', 'vncconsole', 'vncunused',
+ 'sdl', 'display', 'xauthority' ]
+ for a in args:
+ if (vals.__dict__[a]):
+ config_image.append([a, vals.__dict__[a]])
def configure_hvm(config_image, vals):
"""Create the config for HVM devices.
"""
args = [ 'device_model', 'pae', 'vcpus', 'boot', 'fda', 'fdb',
'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
- 'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'sdl', 'display',
- 'acpi', 'apic', 'xauthority', 'usb', 'usbdevice' ]
+ 'acpi', 'apic', 'usb', 'usbdevice' ]
for a in args:
if (vals.__dict__[a]):
config_image.append([a, vals.__dict__[a]])
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 mkinitrd
checked in at Fri Sep 29 01:04:07 CEST 2006.
--------
--- mkinitrd/mkinitrd.changes 2006-09-26 15:40:11.000000000 +0200
+++ /mounts/work_src_done/STABLE/mkinitrd/mkinitrd.changes 2006-09-28 14:34:25.000000000 +0200
@@ -1,0 +2,7 @@
+Thu Sep 28 13:38:03 CEST 2006 - hare(a)suse.de
+
+- Fix detection of LVM devices (208417)
+- Do not include md modules if not required.
+- Don't print annoying 'File descriptor XX left open' messages
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkinitrd.spec ++++++
--- /var/tmp/diff_new_pack.NiWyLz/_old 2006-09-29 01:03:27.000000000 +0200
+++ /var/tmp/diff_new_pack.NiWyLz/_new 2006-09-29 01:03:27.000000000 +0200
@@ -18,7 +18,7 @@
# bootsplash required only if creating splash initrd's.
Autoreqprov: on
Version: 1.2
-Release: 125
+Release: 126
Summary: Creates an Initial RAM Disk Image for Preloading Modules
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: mkinitrd
@@ -87,6 +87,10 @@
%doc %{_mandir}/man8/mkinitrd.8.gz
%changelog -n mkinitrd
+* Thu Sep 28 2006 - hare(a)suse.de
+- Fix detection of LVM devices (208417)
+- Do not include md modules if not required.
+- Don't print annoying 'File descriptor XX left open' messages
* Tue Sep 26 2006 - seife(a)suse.de
- Update userspace suspend support.
- Protect calls to hwinfo and kpartx (206423)
++++++ mkinitrd ++++++
--- mkinitrd/mkinitrd 2006-09-26 15:40:08.000000000 +0200
+++ /mounts/work_src_done/STABLE/mkinitrd/mkinitrd 2006-09-28 14:34:22.000000000 +0200
@@ -23,7 +23,7 @@
# This file is kept in the following CVS repository:
#
# $Source: /suse/yast2/cvsroot/mkinitrd/mkinitrd,v $
-# $Revision: 1.335 $
+# $Revision: 1.338 $
usage() {
cat<<EOF
@@ -3058,23 +3058,31 @@
major=$(devmajor $rootdevn)
minor=$(devminor $rootdevn)
# Check whether we are using EVMS
- region=$(echo "q:r" | evms -s | grep -B 2 "Minor: $minor" | sed -n 's@Region Name: \(.\)@\1@p')
- if [ "$region" ] ; then
- volume=$(echo "q:v,r=$region" | evms -s | sed -n 's@Volume Name: \(.*\)@\1@p')
- root_evms=1
- realrootdev=$volume
+ if [ -x /sbin/evms ] ; then
+ region=$(echo "q:r" | evms -s | grep -B 2 "Minor: $minor" | sed -n 's@Region Name: \(.\)@\1@p')
+ if [ "$region" ] ; then
+ volume=$(echo "q:v,r=$region" | evms -s | sed -n 's@Volume Name: \(.*\)@\1@p')
+ if [ -f "$volume" ] ; then
+ root_evms=1
+ realrootdev=$volume
+ fi
+ fi
+ else
+ root_evms=
fi
# Check whether we are using LVM2
- if [ -z "$root_evms" ] ; then
- vg_root=$(lvs --noheadings -o vg_name,lv_kernel_major,lv_kernel_minor | sed -n "s/ \(.*\) *$major *$minor/\1/p")
+ if [ -z "$root_evms" ] && [ -x /sbin/lvs ] ; then
+ vg_root=$(lvs --noheadings -o vg_name,lv_kernel_major,lv_kernel_minor 2> /dev/null | sed -n "s/ \(.*\) *$major *$minor/\1/p")
if [ "$vg_root" ] ; then
root_lvm2=1
fi
+ else
+ root_lvm2=
fi
if [ "$root_lvm2" ] ; then
# Check for LVM2 on top of md
md_list=
- pv_list=$(vgs --noheadings --options devices $vg_root | sed -n "s@ \(/dev/.*\)([0-9]*)@\1@p")
+ pv_list=$(vgs --noheadings --options devices $vg_root 2> /dev/null | sed -n "s@ \(/dev/.*\)([0-9]*)@\1@p")
for dev in $pv_list ; do
case $dev in
/dev/dm-*)
@@ -3082,10 +3090,12 @@
root_mpath=1
;;
*)
- mdconf=$(mdadm -Db $dev)
- md_dev=${dev##/dev/}
- md_list="$md_dev $md_list"
- eval md_conf_${md_dev}=\"$mdconf\"
+ mdconf=$(mdadm -Db $dev 2> /dev/null)
+ if [ -n "$mdconf" ] ; then
+ md_dev=${dev##/dev/}
+ md_list="$md_dev $md_list"
+ eval md_conf_${md_dev}=\"$mdconf\"
+ fi
;;
esac
done
@@ -3093,16 +3103,18 @@
unset mdconf
fi
fi
- if [ "$root_md" ] ; then
+ if [ "$root_md" ] && [ -x /sbin/mdadm ] ; then
minor=$(devminor $rootdevn)
# get md configuration
- mdconf=$(mdadm -Db $rootdev | sed -n "s@/dev/md[0-9]*@/dev/md$minor@p")
+ mdconf=$(mdadm -Db $rootdev 2> /dev/null | sed -n "s@/dev/md[0-9]*@/dev/md$minor@p")
md_dev=${rootdev##/dev/}
md_list="$md_dev"
eval md_conf_${md_dev}=\"$mdconf\"
unset minor
unset md_dev
unset mdconf
+ else
+ root_md=
fi
fi
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kdebindings3
checked in at Fri Sep 29 00:58:57 CEST 2006.
--------
--- KDE/kdebindings3/kdebindings3-java.changes 2006-09-01 01:29:34.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdebindings3/kdebindings3-java.changes 2006-09-29 00:56:51.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Sep 28 12:36:52 CEST 2006 - dmueller(a)suse.de
+
+- fix build of python and java bindings
+
+------------------------------------------------------------------
kdebindings3-javascript.changes: same change
kdebindings3-python.changes: same change
kdebindings3.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebindings3-java.spec ++++++
--- /var/tmp/diff_new_pack.HVefor/_old 2006-09-29 00:58:33.000000000 +0200
+++ /var/tmp/diff_new_pack.HVefor/_new 2006-09-29 00:58:33.000000000 +0200
@@ -24,7 +24,7 @@
Summary: Java Bindings for KDE
Provides: kdebindings3:/opt/kde3/lib/java
Version: 3.5.4
-Release: 4
+Release: 8
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`)
Url: http://www.kde.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -265,6 +265,8 @@
%endif
%changelog -n kdebindings3-java
+* Thu Sep 28 2006 - dmueller(a)suse.de
+- fix build of python and java bindings
* Thu Aug 31 2006 - stbinner(a)suse.de
- build with qscintilla-devel also on old distros in build service
* Wed Aug 23 2006 - stbinner(a)suse.de
++++++ kdebindings3-javascript.spec ++++++
--- /var/tmp/diff_new_pack.HVefor/_old 2006-09-29 00:58:33.000000000 +0200
+++ /var/tmp/diff_new_pack.HVefor/_new 2006-09-29 00:58:33.000000000 +0200
@@ -24,7 +24,7 @@
Summary: JavaScript Bindings and Interpreter for KDE
Provides: kdebindings
Version: 3.5.4
-Release: 4
+Release: 8
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`)
Url: http://www.kde.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -272,6 +272,8 @@
%endif
%changelog -n kdebindings3-javascript
+* Thu Sep 28 2006 - dmueller(a)suse.de
+- fix build of python and java bindings
* Thu Aug 31 2006 - stbinner(a)suse.de
- build with qscintilla-devel also on old distros in build service
* Wed Aug 23 2006 - stbinner(a)suse.de
++++++ kdebindings3-python.spec ++++++
--- /var/tmp/diff_new_pack.HVefor/_old 2006-09-29 00:58:33.000000000 +0200
+++ /var/tmp/diff_new_pack.HVefor/_new 2006-09-29 00:58:33.000000000 +0200
@@ -24,7 +24,7 @@
Summary: Python Bindings for KDE
Provides: sip PyKDE
Version: 3.5.4
-Release: 4
+Release: 7
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`) python-qt = %{version}
Url: http://www.kde.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -265,6 +265,8 @@
%endif
%changelog -n kdebindings3-python
+* Thu Sep 28 2006 - dmueller(a)suse.de
+- fix build of python and java bindings
* Thu Aug 31 2006 - stbinner(a)suse.de
- build with qscintilla-devel also on old distros in build service
* Wed Aug 23 2006 - stbinner(a)suse.de
++++++ kdebindings3.spec ++++++
--- /var/tmp/diff_new_pack.HVefor/_old 2006-09-29 00:58:33.000000000 +0200
+++ /var/tmp/diff_new_pack.HVefor/_new 2006-09-29 00:58:33.000000000 +0200
@@ -24,7 +24,7 @@
Summary: Bindings for Qt and KDE Libraries
Provides: kdebindings
Version: 3.5.4
-Release: 4
+Release: 8
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3`)
Url: http://www.kde.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -279,6 +279,8 @@
%endif
%changelog -n kdebindings3
+* Thu Sep 28 2006 - dmueller(a)suse.de
+- fix build of python and java bindings
* Thu Aug 31 2006 - stbinner(a)suse.de
- build with qscintilla-devel also on old distros in build service
* Wed Aug 23 2006 - stbinner(a)suse.de
++++++ 3_5_BRANCH.diff ++++++
++++ 1054 lines (skipped)
++++ between KDE/kdebindings3/3_5_BRANCH.diff
++++ and /mounts/work_src_done/STABLE/kdebindings3/3_5_BRANCH.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 dia
checked in at Fri Sep 29 00:56:48 CEST 2006.
--------
--- GNOME/dia/dia.changes 2006-08-16 11:59:32.000000000 +0200
+++ /mounts/work_src_done/STABLE/dia/dia.changes 2006-09-29 00:40:18.000000000 +0200
@@ -1,0 +2,12 @@
+Fri Sep 29 00:37:39 CEST 2006 - jhargadon(a)suse.de
+
+- update to version 0.95
+- Update of Gane/Sarson sheets
+- Fix of configure check for xgettext
+- Fix of font placement in xfig import
+- Three security holes in the XFig importer fixed after review
+- Made children of objects not be magnetic to their parents.
+- new or improved plugins written in Python
+- many bug fixes
+
+-------------------------------------------------------------------
Old:
----
dia-0.94.tar.bz2
New:
----
dia-0.95.tar.bz2
dia-64bit-clean.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dia.spec ++++++
--- /var/tmp/diff_new_pack.oK4Wwa/_old 2006-09-29 00:53:00.000000000 +0200
+++ /var/tmp/diff_new_pack.oK4Wwa/_new 2006-09-29 00:53:00.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package dia (Version 0.94)
+# spec file for package dia (Version 0.95)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,15 +11,15 @@
# norootforbuild
Name: dia
-BuildRequires: docbook-toys gcc-c++ gnome-patch-translation gnutls-devel intltool libglade2-devel libgnomeprintui-devel libgnomeui-devel libwnck-devel libxslt-devel mDNSResponder-devel perl-XML-Parser python-devel python-gtk-devel sgml-skel update-desktop-files
+BuildRequires: docbook-toys docbook-xsl-stylesheets gcc-c++ gnome-patch-translation gnutls-devel intltool libglade2-devel libgnomeprintui-devel libgnomeui-devel libwnck-devel libxslt-devel mDNSResponder-devel perl-XML-Parser python-devel python-gtk-devel sgml-skel update-desktop-files
%define prefix /opt/gnome
License: GPL
Group: Productivity/Graphics/Other
Requires: ghostscript-fonts-std python-gtk python-numeric
Autoreqprov: on
Summary: A Diagram Creation Program
-Version: 0.94
-Release: 49
+Version: 0.95
+Release: 1
Source: ftp://ftp.gnome.org/pub/GNOME/stable/sources/dia/dia-%{version}.tar.bz2
Source1: font-test-japanese.dia
Source2: font-test-czech.dia
@@ -35,6 +35,7 @@
Patch10: dia-xfig.patch
Patch11: dia-cve-2006-2480.patch
Patch12: dia-cve-2006-2453.patch
+Patch13: dia-64bit-clean.patch
URL: http://www.gnome.org/projects/dia/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -60,30 +61,28 @@
%prep
%setup
-gnome-patch-translation-prepare
+#gnome-patch-translation-prepare
%patch -p1
%patch3
-%patch4
+#%patch4
%patch5 -p1
-%patch6
-%patch7
+#%patch6
+#%patch7
%patch8
-%patch9
+#%patch9
cd plug-ins/xfig
-%patch10
+#%patch10
cd ../..
%patch11
%patch12
+%patch13
# Work around gettext bug #186174
LANG=en_US.UTF-8 msgconv po/ko.po -o po/ko.po.new
mv po/ko.po.new po/ko.po
-gnome-patch-translation-update
+#gnome-patch-translation-update
cp $RPM_SOURCE_DIR/font-test*dia .
%build
-rename no nb po/no.*
-sed "s/\(ALL_LINGUAS.*\) no /\1 nb /" configure.in > configure.in.tmp && \
- mv configure.in.tmp configure.in
autoconf
export CFLAGS="$RPM_OPT_FLAGS"
export CPPFLAGS="$(pkg-config --cflags cairo)"
@@ -121,6 +120,15 @@
%prefix/share/pixmaps/*
%changelog -n dia
+* Fri Sep 29 2006 - jhargadon(a)suse.de
+- update to version 0.95
+- Update of Gane/Sarson sheets
+- Fix of configure check for xgettext
+- Fix of font placement in xfig import
+- Three security holes in the XFig importer fixed after review
+- Made children of objects not be magnetic to their parents.
+- new or improved plugins written in Python
+- many bug fixes
* Wed Aug 16 2006 - cthiel(a)suse.de
- buildrequire python-gtk-devel instead of python-gtk
* Fri Aug 11 2006 - cthiel(a)suse.de
++++++ dia-0.92.2-callbrowser.diff ++++++
--- /var/tmp/diff_new_pack.oK4Wwa/_old 2006-09-29 00:53:00.000000000 +0200
+++ /var/tmp/diff_new_pack.oK4Wwa/_new 2006-09-29 00:53:00.000000000 +0200
@@ -1,12 +1,20 @@
-diff -ur dia-0.92.orig/app/commands.c dia-0.92/app/commands.c
---- dia-0.92.orig/app/commands.c 2003-09-03 00:06:29.000000000 +0200
-+++ dia-0.92/app/commands.c 2003-10-27 16:17:56.000000000 +0100
-@@ -514,7 +514,7 @@
+--- dia-0.95/app/commands.c
++++ dia-0.95/app/commands.c
+@@ -575,7 +575,7 @@
ShellExecuteA (0, "open", helpindex, NULL, helpdir, SW_SHOWNORMAL);
#else
command = getenv("BROWSER");
-- command = g_strdup_printf("%s 'file://%s' &", command ? command : "netscape", helpindex);
+- command = g_strdup_printf("%s 'file://%s' &", command ? command : "gnome-open", helpindex);
+ command = g_strdup_printf("%s 'file://%s' &", command ? command : "call-browser", helpindex);
system(command);
g_free(command);
#endif
+@@ -593,7 +593,7 @@
+ ShellExecuteA (0, "open", link, NULL, NULL, SW_SHOWNORMAL);
+ #else
+ gchar *command = getenv("BROWSER");
+- command = g_strdup_printf("%s '%s' &", command ? command : "gnome-open", link);
++ command = g_strdup_printf("%s '%s' &", command ? command : "call-browser", link);
+ system(command);
+ g_free(command);
+ #endif
++++++ dia-0.94.tar.bz2 -> dia-0.95.tar.bz2 ++++++
++++ 649259 lines of diff (skipped)
++++++ dia-64bit-clean.patch ++++++
--- app/load_save.c
+++ app/load_save.c
@@ -910,7 +910,7 @@
_umask = umask(0); umask(_umask);
mode = 0666 & ~_umask;
ret = fchmod(fildes,mode);
- file = fdopen(fildes,"wb");
+ file = (FILE *)fdopen(fildes,"wb");
/* Now write the data in the temporary file name. */
--- app/paginate_psprint.c
+++ app/paginate_psprint.c
@@ -371,7 +371,7 @@
#ifdef G_OS_WIN32
file = win32_printer_open (printcmd);
#else
- file = popen(printcmd, "w");
+ file = (FILE *)popen(printcmd, "w");
#endif
is_pipe = TRUE;
} else {
++++++ dia-cve-2006-2453.patch ++++++
--- /var/tmp/diff_new_pack.oK4Wwa/_old 2006-09-29 00:53:12.000000000 +0200
+++ /var/tmp/diff_new_pack.oK4Wwa/_new 2006-09-29 00:53:12.000000000 +0200
@@ -1,6 +1,6 @@
--- app/app_procs.c
+++ app/app_procs.c
-@@ -897,22 +897,22 @@
+@@ -1298,22 +1298,22 @@
g_print(_("The original author of Dia was:\n\n"));
for (i = 0; i < NUMBER_OF_ORIG_AUTHORS; i++) {
@@ -27,89 +27,9 @@
}
exit(0);
---- app/display.c
-+++ app/display.c
-@@ -968,7 +968,6 @@
- Diagram *dia;
- GtkWidget *dialog, *button;
- gchar *fname;
-- gchar *msg;
-
- dia = ddisp->diagram;
-
-@@ -981,18 +980,14 @@
- fname = dia->filename;
- if (!fname)
- fname = _("<unnamed>");
-- msg = g_strdup_printf (
-- _("The diagram '%s'\n"
-- "has not been saved. Save changes now?"),
-- fname);
-
- dialog = gtk_message_dialog_new(GTK_WINDOW (ddisp->shell),
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_NONE, /* no standard buttons */
-- msg,
-- NULL);
-- g_free (msg);
-+ _("The diagram '%s'\n"
-+ "has not been saved. Save changes now?"),
-+ fname);
- gtk_window_set_title (GTK_WINDOW(dialog), _("Close Diagram"));
-
- button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
---- app/filedlg.c
-+++ app/filedlg.c
-@@ -251,7 +251,6 @@
-
- if (stat(filename, &stat_struct) == 0) {
- GtkWidget *dialog = NULL;
-- char buffer[300];
- char *utf8filename = NULL;
- if (!g_utf8_validate(filename, -1, NULL)) {
- utf8filename = g_filename_to_utf8(filename, -1, NULL, NULL, NULL);
-@@ -261,15 +260,12 @@
- }
- if (utf8filename == NULL) utf8filename = g_strdup(filename);
-
-- g_snprintf(buffer, 300,
-- _("The file '%s' already exists.\n"
-- "Do you want to overwrite it?"), utf8filename);
-- g_free(utf8filename);
--
- dialog = gtk_message_dialog_new (GTK_WINDOW(fs),
- GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_YES_NO,
-- buffer);
-+ _("The file '%s' already exists.\n"
-+ "Do you want to overwrite it?"), utf8filename);
-+ g_free(utf8filename);
- gtk_window_set_title (GTK_WINDOW (dialog), _("File already exists"));
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
-
-@@ -442,16 +438,13 @@
-
- if (stat(filename, &statbuf) == 0) {
- GtkWidget *dialog = NULL;
-- char buffer[300];
-
-- g_snprintf(buffer, 300,
-- _("The file '%s' already exists.\n"
-- "Do you want to overwrite it?"), filename);
- dialog = gtk_message_dialog_new (GTK_WINDOW(fs),
- GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_YES_NO,
-- buffer);
-+ _("The file '%s' already exists.\n"
-+ "Do you want to overwrite it?"), filename);
- gtk_window_set_title (GTK_WINDOW (dialog), _("File already exists"));
- gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
-
--- app/load_save.c
+++ app/load_save.c
-@@ -199,7 +199,7 @@
+@@ -200,7 +200,7 @@
g_hash_table_foreach(unknown_hash,
GHFuncUnknownObjects,
unknown_str);
@@ -118,20 +38,9 @@
}
g_hash_table_destroy(unknown_hash);
g_string_free(unknown_str, TRUE);
---- app/sheets.c
-+++ app/sheets.c
-@@ -338,7 +338,7 @@
- gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap, mask, 1.0);
- gdk_pixbuf_unref(pixbuf);
- } else {
-- g_warning (error->message);
-+ g_warning ("%s", error->message);
- g_error_free (error);
- }
- }
--- plug-ins/python/diamodule.c
+++ plug-ins/python/diamodule.c
-@@ -377,11 +377,11 @@
+@@ -393,11 +393,11 @@
return NULL;
if (0 == type)
@@ -146,17 +55,6 @@
Py_INCREF(Py_None);
return Py_None;
---- plug-ins/python/pydia-error.c
-+++ plug-ins/python/pydia-error.c
-@@ -98,7 +98,7 @@
- if (self->str)
- g_string_append (self->str, s);
-
-- g_print (s);
-+ g_print ("%s", s);
-
- Py_INCREF(Py_None);
- return Py_None;
--- plug-ins/wmf/wmf.cpp
+++ plug-ins/wmf/wmf.cpp
@@ -223,7 +223,7 @@
@@ -170,7 +68,7 @@
}
--- plug-ins/xfig/xfig-export.c
+++ plug-ins/xfig/xfig-export.c
-@@ -263,7 +263,7 @@
+@@ -264,7 +264,7 @@
figWarn(XfigRenderer *renderer, int warning)
{
if (renderer->warnings[warning]) {
++++++ dia_bugfixes.diff ++++++
--- /var/tmp/diff_new_pack.oK4Wwa/_old 2006-09-29 00:53:12.000000000 +0200
+++ /var/tmp/diff_new_pack.oK4Wwa/_new 2006-09-29 00:53:12.000000000 +0200
@@ -1,22 +1,30 @@
---- dia-0.94/app/app_procs.c
-+++ dia-0.94/app/app_procs.c
-@@ -99,6 +99,7 @@
- const char *size);
+--- dia-0.95/app/app_procs.c
++++ dia-0.95/app/app_procs.c
+@@ -111,6 +111,7 @@
+ char *show_layers);
static void create_user_dirs(void);
+static void create_user_files(void);
static PluginInitResult internal_plugin_init(PluginInfo *info);
static void process_opts(int argc, char **argv,
- #ifdef HAVE_POPT
-@@ -393,6 +394,7 @@
- char *size = NULL;
+ #if USE_GOPTION
+@@ -557,6 +558,7 @@
+ DDisplay *ddisp = NULL;
+ Diagram *diagram = NULL;
+ gboolean made_conversions = FALSE;
++ gchar *rcf;
+
+ if (export_file_format) {
+ char *export_file_name = NULL;
+@@ -662,6 +664,7 @@
+ static char *show_layers = NULL;
gboolean made_conversions = FALSE;
GSList *files = NULL;
+ gchar *rcf;
- #ifdef HAVE_POPT
- poptContext poptCtx = NULL;
-@@ -517,14 +519,17 @@
+ gchar *export_format_string =
+ /* Translators: The argument is a list of options, not to be translated */
+@@ -862,8 +865,6 @@
gdk_rgb_init();
@@ -25,18 +33,19 @@
if (!nosplash) {
app_splash_init("");
}
- }
+@@ -871,6 +872,11 @@
- create_user_dirs();
-+ create_user_files();
+ if (dia_is_interactive)
+ create_user_dirs();
++ create_user_files();
+
-+ rcf = dia_config_filename("diagtkrc");
-+ gtk_rc_parse(rcf);
-+ g_free(rcf);
++ rcf = dia_config_filename("diagtkrc");
++ gtk_rc_parse(rcf);
++ g_free(rcf);
/* Init cursors: */
if (dia_is_interactive) {
-@@ -703,6 +708,25 @@
+@@ -1055,6 +1061,25 @@
return TRUE;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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
checked in at Thu Sep 28 20:46:56 CEST 2006.
--------
--- yast2-storage/yast2-storage.changes 2006-09-21 19:11:49.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2006-09-28 16:42:00.000000000 +0200
@@ -1,0 +2,18 @@
+Thu Sep 28 16:40:05 CEST 2006 - fehr(a)suse.de
+
+- add more general fix for bug #202346
+- version 2.14.7
+
+-------------------------------------------------------------------
+Tue Sep 26 19:05:21 CEST 2006 - fehr(a)suse.de
+
+- fix bug handling resize of partitions with inconsistent windows
+ fs (#207878)
+
+-------------------------------------------------------------------
+Mon Sep 25 12:37:03 CEST 2006 - fehr(a)suse.de
+
+- add also driver module ot INITRDMODULES (#206432)
+- fix crash while detetcting dmraid devices (#207410)
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-2.14.6.tar.bz2
New:
----
yast2-storage-2.14.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.7publD/_old 2006-09-28 20:46:25.000000000 +0200
+++ /var/tmp/diff_new_pack.7publD/_new 2006-09-28 20:46:25.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-storage (Version 2.14.6)
+# spec file for package yast2-storage (Version 2.14.7)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-storage
-Version: 2.14.6
+Version: 2.14.7
Release: 1
License: GPL
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-storage-2.14.6.tar.bz2
+Source0: yast2-storage-2.14.7.tar.bz2
prefix: /usr
BuildRequires: blocxx-devel docbook-xsl-stylesheets doxygen evms gcc-c++ libxcrypt-devel libxslt openssl-devel perl-XML-Writer sablot sgml-skel swig update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-installation yast2-perl-bindings yast2-testsuite
Requires: yast2 parted yast2-installation yast2-storage-lib yast2-perl-bindings
@@ -40,7 +40,7 @@
%prep
-%setup -n yast2-storage-2.14.6
+%setup -n yast2-storage-2.14.7
%build
%{prefix}/bin/y2tool y2autoconf
@@ -165,6 +165,15 @@
%doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description
%changelog -n yast2-storage
+* Thu Sep 28 2006 - fehr(a)suse.de
+- add more general fix for bug #202346
+- version 2.14.7
+* Tue Sep 26 2006 - fehr(a)suse.de
+- fix bug handling resize of partitions with inconsistent windows
+ fs (#207878)
+* Mon Sep 25 2006 - fehr(a)suse.de
+- add also driver module ot INITRDMODULES (#206432)
+- fix crash while detetcting dmraid devices (#207410)
* Thu Sep 21 2006 - fehr(a)suse.de
- fix problem propagating mkfs options to libstorage
- add dir_index option for ext3 formats (feature #301236)
++++++ yast2-storage-2.14.6.tar.bz2 -> yast2-storage-2.14.7.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/VERSION new/yast2-storage-2.14.7/VERSION
--- old/yast2-storage-2.14.6/VERSION 2006-09-21 18:52:56.000000000 +0200
+++ new/yast2-storage-2.14.7/VERSION 2006-09-28 16:41:47.000000000 +0200
@@ -1 +1 @@
-2.14.6
+2.14.7
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Dasd.cc new/yast2-storage-2.14.7/libstorage/src/Dasd.cc
--- old/yast2-storage-2.14.6/libstorage/src/Dasd.cc 2006-09-05 16:43:29.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Dasd.cc 2006-09-26 18:50:00.000000000 +0200
@@ -441,7 +441,7 @@
++i;
}
l.push_front( new commitAction( DECREASE, staticType(),
- dasdfmtText(false), true, true ));
+ dasdfmtText(false), this, true ));
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Disk.cc new/yast2-storage-2.14.7/libstorage/src/Disk.cc
--- old/yast2-storage-2.14.6/libstorage/src/Disk.cc 2006-09-14 16:08:11.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Disk.cc 2006-09-26 18:41:44.000000000 +0200
@@ -1684,7 +1684,7 @@
++i;
}
l.push_front( new commitAction( DECREASE, staticType(),
- setDiskLabelText(false), true, true ));
+ setDiskLabelText(false), this, true ));
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Dm.cc new/yast2-storage-2.14.7/libstorage/src/Dm.cc
--- old/yast2-storage-2.14.6/libstorage/src/Dm.cc 2006-09-21 18:49:43.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Dm.cc 2006-09-28 15:11:34.000000000 +0200
@@ -244,12 +244,15 @@
{
Regex r(dev);
mit = pe_map.begin();
- while( mit!=pe_map.end() && !r.match( mit->first ))
+ while( mit!=pe_map.end() && !r.match( mit->first ) &&
+ !pec()->addedPv(mit->first) )
++mit;
}
else
{
mit = pe_map.find( dev );
+ if( mit != pe_map.end() && pec()->addedPv(mit->first) )
+ mit = pe_map.end();
}
ret = mit != pe_map.end();
if( ret )
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/DmPart.cc new/yast2-storage-2.14.7/libstorage/src/DmPart.cc
--- old/yast2-storage-2.14.6/libstorage/src/DmPart.cc 2006-08-30 16:51:50.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/DmPart.cc 2006-09-26 18:53:33.000000000 +0200
@@ -102,7 +102,7 @@
{
if( s==l.size() && Partition::toChangeId( *p ) )
l.push_back( new commitAction( INCREASE, cont->staticType(),
- setTypeText(false), false ));
+ setTypeText(false), this, false ));
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/DmPartCo.cc new/yast2-storage-2.14.7/libstorage/src/DmPartCo.cc
--- old/yast2-storage-2.14.6/libstorage/src/DmPartCo.cc 2006-09-05 18:02:48.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/DmPartCo.cc 2006-09-26 18:52:20.000000000 +0200
@@ -23,7 +23,7 @@
y2debug( "constructing DmPart co %s", name.c_str() );
dev = name;
nm = undevName(name);
- num_part = pe_size = num_pe = free_pe = 0;
+ num_part = num_pe = free_pe = 0;
active = valid = del_ptable = false;
disk = NULL;
init( ppart );
@@ -237,7 +237,12 @@
{
mnr = Dm::dmNumber( nm );
ppart.getSize( "dm-"+decString(mnr), size_k );
- pe_size = size_k;
+ y2mil( "mnr:" << mnr << " nm:" << nm );
+ y2mil( "pe_size:" << pe_size << " size_k:" << size_k );
+ if( size_k>0 )
+ pe_size = size_k;
+ else
+ y2war( "size_k zero for dm minor " << mnr );
num_pe = 1;
createDisk( ppart );
if( disk->numPartitions()>0 )
@@ -703,7 +708,7 @@
string txt = deleted() ? removeText(false) :
setDiskLabelText(false);
l.push_front( new commitAction( DECREASE, staticType(),
- txt, true, true ));
+ txt, this, true ));
}
y2mil( "l:" << l );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/EvmsCo.cc new/yast2-storage-2.14.7/libstorage/src/EvmsCo.cc
--- old/yast2-storage-2.14.6/libstorage/src/EvmsCo.cc 2006-09-14 18:37:48.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/EvmsCo.cc 2006-09-28 16:33:57.000000000 +0200
@@ -391,7 +391,7 @@
else
{
Evms * l = dynamic_cast<Evms *>(v);
- unsigned long new_le = (newSize+pe_size-1)/pe_size;
+ unsigned long new_le = sizeToLe(newSize);
if( l->stripes()>1 )
new_le = ((new_le+l->stripes()-1)/l->stripes())*l->stripes();
newSize = new_le*pe_size;
@@ -636,7 +636,7 @@
{
//cout << "Resized:" << *i << endl;
map<string,unsigned long> pe_map = i->getPeMap();
- long size_diff = i->getLe() - (i->origSizeK()+pe_size-1)/pe_size;
+ long size_diff = i->getLe() - sizeToLe(i->origSizeK());
if( size_diff>0 )
{
if( addLvPeDistribution( size_diff, i->stripes(), pv, pv_add,
@@ -882,12 +882,12 @@
if( deleted() )
{
l.push_back( new commitAction( DECREASE, staticType(),
- removeCoText(false), true, true ));
+ removeCoText(false), this, true ));
}
else if( created() )
{
l.push_front( new commitAction( INCREASE, staticType(),
- createCoText(false), true, true ));
+ createCoText(false), this, true ));
}
else
{
@@ -896,13 +896,13 @@
++i )
l.push_back( new commitAction( INCREASE, staticType(),
extendCoText(false,i->device),
- true, true ));
+ this, true ));
if( !pv_remove.empty() )
for( list<Pv>::const_iterator i=pv_remove.begin();
i!=pv_remove.end(); ++i )
l.push_back( new commitAction( DECREASE, staticType(),
reduceCoText(false,i->device),
- false, true ));
+ this, false ));
}
}
@@ -1425,10 +1425,12 @@
y2mil( "co:" << *this );
if( !pv_add.empty() )
{
+ y2err( "still added:" << pv_add );
pv_add.clear();
ret = EVMS_PV_STILL_ADDED;
}
checkConsistency();
+ checkCreateConstraints();
}
}
y2milestone( "ret:%d", ret );
@@ -1495,6 +1497,8 @@
}
++d;
}
+ if( devs.size()>0 )
+ checkCreateConstraints();
y2milestone( "ret:%d", ret );
return( ret );
}
@@ -1621,7 +1625,7 @@
FsCapabilities caps;
bool remount = false;
unsigned long new_le = l->getLe();
- unsigned long old_le = (v->origSizeK()+pe_size-1)/pe_size;
+ unsigned long old_le = sizeToLe(v->origSizeK());
getStorage()->getFsCapabilities( l->getFs(), caps );
if( !silent && old_le!=new_le )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/LvmVg.cc new/yast2-storage-2.14.7/libstorage/src/LvmVg.cc
--- old/yast2-storage-2.14.6/libstorage/src/LvmVg.cc 2006-09-14 18:35:07.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/LvmVg.cc 2006-09-28 16:35:29.000000000 +0200
@@ -265,7 +265,7 @@
if( i!=p.end() )
ret = LVM_LV_DUPLICATE_NAME;
}
- unsigned long num_le = (sizeK + pe_size - 1)/pe_size;
+ unsigned long num_le = sizeToLe(sizeK);
if( stripe>1 )
num_le = ((num_le+stripe-1)/stripe)*stripe;
if( ret==0 && free_pe<num_le )
@@ -302,7 +302,7 @@
else
{
LvmLv * l = dynamic_cast<LvmLv *>(v);
- unsigned long new_le = (newSize+pe_size-1)/pe_size;
+ unsigned long new_le = sizeToLe(newSize);
if( l->stripes()>1 )
new_le = ((new_le+l->stripes()-1)/l->stripes())*l->stripes();
newSize = new_le*pe_size;
@@ -608,7 +608,7 @@
{
//cout << "Resized:" << *i << endl;
map<string,unsigned long> pe_map = i->getPeMap();
- long size_diff = i->getLe() - (i->origSizeK()+pe_size-1)/pe_size;
+ long size_diff = i->getLe() - sizeToLe(i->origSizeK());
if( size_diff>0 )
{
if( addLvPeDistribution( size_diff, i->stripes(), pv, pv_add,
@@ -767,12 +767,12 @@
if( deleted() )
{
l.push_back( new commitAction( DECREASE, staticType(),
- removeVgText(false), true, true ));
+ removeVgText(false), this, true ));
}
else if( created() )
{
l.push_front( new commitAction( INCREASE, staticType(),
- createVgText(false), true, true ));
+ createVgText(false), this, true ));
}
else
{
@@ -781,13 +781,13 @@
++i )
l.push_back( new commitAction( INCREASE, staticType(),
extendVgText(false,i->device),
- true, true ));
+ this, true ));
if( !pv_remove.empty() )
for( list<Pv>::const_iterator i=pv_remove.begin();
i!=pv_remove.end(); ++i )
l.push_back( new commitAction( DECREASE, staticType(),
reduceVgText(false,i->device),
- false, true ));
+ this, false ));
}
}
@@ -968,10 +968,12 @@
getVgData( name() );
if( !pv_add.empty() )
{
+ y2err( "still added:" << pv_add );
pv_add.clear();
ret = LVM_PV_STILL_ADDED;
}
checkConsistency();
+ checkCreateConstraints();
}
}
y2milestone( "ret:%d", ret );
@@ -1053,6 +1055,8 @@
}
++d;
}
+ if( devs.size()>0 )
+ checkCreateConstraints();
y2mil( "this:" << *this );
y2milestone( "ret:%d", ret );
return( ret );
@@ -1201,7 +1205,7 @@
FsCapabilities caps;
bool remount = false;
unsigned long new_le = l->getLe();
- unsigned long old_le = (v->origSizeK()+pe_size-1)/pe_size;
+ unsigned long old_le = sizeToLe(v->origSizeK());
getStorage()->getFsCapabilities( l->getFs(), caps );
if( !silent && old_le!=new_le )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Partition.cc new/yast2-storage-2.14.7/libstorage/src/Partition.cc
--- old/yast2-storage-2.14.6/libstorage/src/Partition.cc 2006-08-30 16:46:36.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Partition.cc 2006-09-26 18:53:01.000000000 +0200
@@ -524,7 +524,7 @@
if( change_id )
{
l.push_back( new commitAction( INCREASE, cont->staticType(),
- setTypeText(false), false ));
+ setTypeText(false), this, false ));
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/PeContainer.cc new/yast2-storage-2.14.7/libstorage/src/PeContainer.cc
--- old/yast2-storage-2.14.6/libstorage/src/PeContainer.cc 2006-09-14 18:40:32.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/PeContainer.cc 2006-09-28 16:36:40.000000000 +0200
@@ -4,6 +4,7 @@
#include <iostream>
#include <sstream>
+#include <utility>
#include "y2storage/PeContainer.h"
#include "y2storage/AppUtil.h"
@@ -311,6 +312,100 @@
return( ret );
}
+unsigned long PeContainer::sizeToLe( unsigned long long sizeK ) const
+ {
+ if( pe_size>0 )
+ {
+ sizeK += pe_size-1;
+ sizeK /= pe_size;
+ }
+ return( sizeK );
+ }
+
+bool PeContainer::addedPv( const string& dev ) const
+ {
+ bool ret = find( pv_add.begin(), pv_add.end(), dev )!=pv_add.end();
+ y2mil( "dev:" << dev << " ret:" << ret );
+ return( ret );
+ }
+
+bool PeContainer::checkCreateConstraints()
+ {
+ y2mil( "peContainer:" << *this )
+ int ret = false;
+ unsigned long increase = 0;
+ unsigned long current = 0;
+ typedef pair<unsigned long,Dm*> tpair;
+ list< tpair > li;
+ VolPair lp=volPair();
+ VolIterator i=lp.begin();
+ if( pv_add.size()>0 )
+ y2war( "should not happen pv_add:" << pv_add )
+ if( pv_remove.size()>0 )
+ y2war( "should not happen pv_rem:" << pv_remove )
+ while( i!=lp.end() )
+ {
+ unsigned long long tmp;
+ if( i->deleted() || i->needShrink() )
+ y2war( "should not happen vol:" << *i )
+ else if( i->created() || i->extendSize()>0 )
+ {
+ tmp = sizeToLe(i->created() ? i->sizeK() : i->extendSize());
+ if( !i->created() )
+ current += sizeToLe( i->origSizeK() );
+ li.push_back( make_pair(tmp,static_cast<Dm*>(&(*i))) );
+ increase += tmp;
+ y2mil( "inc:" << tmp << " sum:" << increase );
+ y2mil( "vol:" << *i )
+ }
+ else
+ current += sizeToLe( i->sizeK() );
+ ++i;
+ }
+ y2mil( "increase:" << increase << " current:" << current << " num_pe:" << num_pe );
+ if( increase+current>num_pe )
+ {
+ unsigned long diff = increase+current - num_pe;
+ y2mil( "too much:" << diff );
+ if( diff<=5 || diff<=pv.size()*2 )
+ {
+ list<unsigned long> l;
+ y2mil( "li:" << li );
+ li.sort();
+ y2mil( "li:" << li );
+ for( list<tpair>::const_iterator i=li.begin(); i!=li.end(); ++i )
+ {
+ unsigned long tmp = (diff * i->first + i->first/2) / increase;
+ l.push_back(tmp);
+ diff -= tmp;
+ increase -= i->first;
+ }
+ y2mil( "l:" << l );
+ list<unsigned long>::const_iterator di = l.begin();
+ for( list<tpair>::const_iterator i=li.begin(); i!=li.end(); ++i )
+ {
+ if( *di > 0 )
+ {
+ y2mil( "modified vol:" << *i->second );
+ map<string,unsigned long> pe_map = i->second->getPeMap();
+ ret = remLvPeDistribution( *di, pe_map, pv, pv_add );
+ i->second->setLe( i->second->getLe()-*di );
+ i->second->setPeMap( pe_map );
+ if( i->second->created() )
+ i->second->calcSize();
+ else
+ i->second->setResizedSize( i->second->getLe()*pe_size );
+ y2mil( "modified vol:" << *i->second );
+ }
+ ++di;
+ }
+ }
+ ret = true;
+ }
+ y2milestone( "ret:%d", ret );
+ return( ret );
+ }
+
void PeContainer::addPv( const Pv* p )
{
list<Pv>::iterator i = find( pv.begin(), pv.end(), *p );
@@ -343,6 +438,7 @@
void
PeContainer::init()
{
+ y2mil( "init:" << nm );
mjr = Dm::dmMajor();
num_pe = free_pe = 0;
pe_size = 1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/PeContainer.h new/yast2-storage-2.14.7/libstorage/src/PeContainer.h
--- old/yast2-storage-2.14.6/libstorage/src/PeContainer.h 2006-09-14 18:30:46.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/PeContainer.h 2006-09-28 16:36:52.000000000 +0200
@@ -23,6 +23,8 @@
unsigned long peFree() const { return free_pe; }
unsigned numPv() const { return pv.size(); }
friend std::ostream& operator<< (std::ostream&, const PeContainer& );
+ bool addedPv( const string& dev ) const;
+ unsigned long sizeToLe( unsigned long long sizeK ) const;
int setPeSize( long long unsigned, bool lvm1 );
void unuseDev();
@@ -65,6 +67,7 @@
unsigned long leByLvRemove() const;
int tryUnusePe( const string& dev, std::list<Pv>& pl, std::list<Pv>& pladd,
std::list<Pv>& plrem, unsigned long& removed_pe );
+ bool checkCreateConstraints();
static int addLvPeDistribution( unsigned long le, unsigned stripe,
std::list<Pv>& pl, std::list<Pv>& pladd,
std::map<string,unsigned long>& pe_map );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/ProcPart.cc new/yast2-storage-2.14.7/libstorage/src/ProcPart.cc
--- old/yast2-storage-2.14.6/libstorage/src/ProcPart.cc 2006-02-07 12:57:14.000000000 +0100
+++ new/yast2-storage-2.14.7/libstorage/src/ProcPart.cc 2006-09-25 14:19:03.000000000 +0200
@@ -53,6 +53,7 @@
extractNthWord( 2, (*this)[i->second] ) >> SizeK;
ret = true;
}
+ y2mil( "dev:" << Dev << " ret:" << ret << " Size:" << (ret?SizeK:0) );
return( ret );
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Storage.cc new/yast2-storage-2.14.7/libstorage/src/Storage.cc
--- old/yast2-storage-2.14.6/libstorage/src/Storage.cc 2006-09-14 16:00:29.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Storage.cc 2006-09-26 18:57:42.000000000 +0200
@@ -196,7 +196,7 @@
void Storage::detectObjects()
{
- ProcPart ppart;
+ ProcPart* ppart = new ProcPart;
if( EvmsCo::canDoEvms() )
{
char * file = "/etc/evms.conf";
@@ -206,18 +206,20 @@
}
EvmsCo::activate(true);
}
- detectDisks( ppart );
+ detectDisks( *ppart );
if( instsys() )
{
MdCo::activate( true );
LvmVg::activate( true );
DmraidCo::activate( true );
+ delete ppart;
+ ppart = new ProcPart;
}
detectMds();
detectLvmVgs();
detectEvms();
- detectDmraid( ppart );
- detectDm( ppart );
+ detectDmraid( *ppart );
+ detectDm( *ppart );
LvmVgPair p = lvgPair();
y2mil( "p length:" << p.length() );
@@ -238,7 +240,7 @@
else
{
fstab = new EtcFstab( "/etc", isRootMounted() );
- detectLoops( ppart );
+ detectLoops( *ppart );
detectFsData( vBegin(), vEnd() );
}
EvmsCoIterator e = findEvmsCo( "" );
@@ -254,6 +256,7 @@
rm.execute( "mdadm --stop /dev/" + extractNthWord(0, *c.getLine(i)) );
}
}
+ delete ppart;
}
void Storage::deleteClist( CCont& co )
@@ -1804,6 +1807,34 @@
}
int
+Storage::changeDescText( const string& device, const string& txt )
+ {
+ int ret = 0;
+ assertInit();
+ y2milestone( "device:%s txt:%s", device.c_str(), txt.c_str() );
+ VolIterator vol;
+ ContIterator cont;
+ if( readonly )
+ {
+ ret = STORAGE_CHANGE_READONLY;
+ }
+ else if( findVolume( device, cont, vol ) )
+ {
+ ret = vol->setDescText( txt );
+ }
+ else
+ {
+ ret = STORAGE_VOLUME_NOT_FOUND;
+ }
+ if( ret==0 )
+ {
+ ret = checkCache();
+ }
+ y2milestone( "ret:%d", ret );
+ return( ret );
+ }
+
+int
Storage::changeMountPoint( const string& device, const string& mount )
{
int ret = 0;
@@ -3395,6 +3426,12 @@
if( mark_destructive && (*i)->destructive )
txt += "<font color=red>";
txt += (*i)->descr;
+ const Volume *v = (*i)->vol();
+ if( v && !v->getDescText().empty() )
+ {
+ txt += ". ";
+ txt += v->getDescText();
+ }
if( mark_destructive && (*i)->destructive )
txt += "</font>";
ret.push_back( txt );
@@ -3610,7 +3647,7 @@
{
bool cont = (*ac)->container;
CType type = (*ac)->type;
- Container *co = cont ? (*ac)->co() :
+ Container *co = cont ? const_cast<Container*>((*ac)->co()) :
const_cast<Container*>((*ac)->vol()->getContainer());
if( !evms_activate && *pt==INCREASE &&
(type==DISK||type==MD||(cont&&type==EVMS)) )
@@ -3641,7 +3678,7 @@
}
else
{
- ret = co->commitChanges( *pt, (*ac)->vol() );
+ ret = co->commitChanges( *pt, const_cast<Volume*>((*ac)->vol()) );
}
if( ret!=0 )
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Storage.h new/yast2-storage-2.14.7/libstorage/src/Storage.h
--- old/yast2-storage-2.14.6/libstorage/src/Storage.h 2006-09-14 16:00:38.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Storage.h 2006-09-26 18:30:32.000000000 +0200
@@ -305,6 +305,7 @@
storage::FsType fs );
int changeLabelVolume( const string& device, const string& label );
int changeMkfsOptVolume( const string& device, const string& opts );
+ int changeDescText( const string& device, const string& txt );
int changeMountPoint( const string& device, const string& mount );
int getMountPoint( const string& device, string& mount );
int changeMountBy( const string& device, storage::MountByType mby );
@@ -1640,8 +1641,11 @@
s << "stage:" << a.stage
<< " type:" << a.type
<< " cont:" << a.container
- << " dest:" << a.destructive
- << " name:" << (a.container?a.co()->name():a.vol()->name());
+ << " dest:" << a.destructive;
+ if( a.container && a.co() )
+ s << " name:" << a.co()->name();
+ else if( a.vol() )
+ s << " name:" << a.vol()->name();
if( !a.descr.empty() )
s << " desc:" << a.descr;
return( s );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/StorageInterface.h new/yast2-storage-2.14.7/libstorage/src/StorageInterface.h
--- old/yast2-storage-2.14.6/libstorage/src/StorageInterface.h 2006-09-06 19:15:04.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/StorageInterface.h 2006-09-26 11:45:53.000000000 +0200
@@ -249,6 +249,7 @@
string label;
string mkfs_options;
string loop;
+ string dtxt;
EncryptType encryption;
string crypt_pwd;
FsType fs;
@@ -1201,6 +1202,16 @@
#endif
/**
+ * Sets the value of description text.
+ * This text will be returned together with the txt returned by getCommitActions
+ *
+ * @param device name of volume, e.g. /dev/hda1
+ * @param txt description text for this partition
+ * @return zero if all is ok, a negative number to indicate an error
+ */
+ virtual int changeDescText( const string& device, const string& txt ) = 0;
+
+ /**
* Adds the specified entry to /etc/fstab
*
* @param device name of volume, e.g. /dev/hda1
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/StorageTypes.h new/yast2-storage-2.14.7/libstorage/src/StorageTypes.h
--- old/yast2-storage-2.14.6/libstorage/src/StorageTypes.h 2006-08-14 19:17:07.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/StorageTypes.h 2006-09-26 18:48:56.000000000 +0200
@@ -30,10 +30,14 @@
struct commitAction
{
- commitAction( CommitStage s, CType t, const string& d, bool destr=false,
- bool cont=false )
- { stage=s; type=t; descr=d; destructive=destr; container=cont;
- u.co=NULL; u.vol=NULL; }
+ commitAction( CommitStage s, CType t, const string& d, const Volume* v,
+ bool destr=false )
+ { stage=s; type=t; descr=d; destructive=destr; container=false;
+ u.vol=v; }
+ commitAction( CommitStage s, CType t, const string& d, const Container* co,
+ bool destr=false )
+ { stage=s; type=t; descr=d; destructive=destr; container=true;
+ u.co=co; }
commitAction( CommitStage s, CType t, Volume* v )
{ stage=s; type=t; destructive=false; container=false; u.vol=v; }
commitAction( CommitStage s, CType t, Container* c )
@@ -45,11 +49,11 @@
bool container;
union
{
- Volume* vol;
- Container* co;
+ const Volume* vol;
+ const Container* co;
} u;
- Container* co() const { return( container?u.co:NULL ); }
- Volume* vol() const { return( container?NULL:u.vol ); }
+ const Container* co() const { return( container?u.co:NULL ); }
+ const Volume* vol() const { return( container?NULL:u.vol ); }
bool operator==( const commitAction& rhs ) const
{ return( stage==rhs.stage && type==rhs.type ); }
bool operator<( const commitAction& rhs ) const
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Volume.cc new/yast2-storage-2.14.7/libstorage/src/Volume.cc
--- old/yast2-storage-2.14.6/libstorage/src/Volume.cc 2006-09-06 19:15:39.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Volume.cc 2006-09-26 18:40:34.000000000 +0200
@@ -1750,42 +1750,42 @@
if( deleted() )
{
l.push_back( new commitAction( DECREASE, cont->type(),
- removeText(false), true ));
+ removeText(false), this, true ));
}
else if( needShrink() )
{
l.push_back( new commitAction( DECREASE, cont->type(),
- resizeText(false), true ));
+ resizeText(false), this, true ));
}
else if( created() )
{
l.push_back( new commitAction( INCREASE, cont->type(),
- createText(false), false ));
+ createText(false), this, false ));
}
else if( needExtend() )
{
l.push_back( new commitAction( INCREASE, cont->type(),
- resizeText(false), true ));
+ resizeText(false), this, true ));
}
else if( format )
{
l.push_back( new commitAction( FORMAT, cont->type(),
- formatText(false), true ));
+ formatText(false), this, true ));
}
else if( mp != orig_mp )
{
l.push_back( new commitAction( MOUNT, cont->type(),
- mountText(false), false ));
+ mountText(false), this, false ));
}
else if( label != orig_label )
{
l.push_back( new commitAction( MOUNT, cont->type(),
- labelText(false), false ));
+ labelText(false), this, false ));
}
else if( needFstabUpdate() )
{
l.push_back( new commitAction( MOUNT, cont->type(),
- fstabUpdateText(), false ));
+ fstabUpdateText(), this, false ));
}
}
@@ -2099,6 +2099,7 @@
info.format = format;
info.create = create;
info.mkfs_options = mkfs_opt;
+ info.dtxt = dtxt;
info.loop = loop_dev;
info.is_mounted = is_mounted;
info.ignore_fs = ignore_fs;
@@ -2252,6 +2253,10 @@
{
s << " mkfsopt:" << v.mkfs_opt;
}
+ if( v.dtxt.length()>0 )
+ {
+ s << " dtxt:" << v.dtxt;
+ }
if( v.alt_names.begin() != v.alt_names.end() )
{
s << " alt_names:" << v.alt_names;
@@ -2363,6 +2368,8 @@
ret += " orig_fstopt:" + orig_fstab_opt + "-->" + rhs.orig_fstab_opt;
if( mkfs_opt!=rhs.mkfs_opt )
ret += " mkfsopt:" + mkfs_opt + "-->" + rhs.mkfs_opt;
+ if( dtxt!=rhs.dtxt )
+ ret += " dtxt:" + dtxt + "-->" + rhs.dtxt;
if( is_loop!=rhs.is_loop )
{
if( rhs.is_loop )
@@ -2406,6 +2413,7 @@
fs==rhs.fs && mount_by==rhs.mount_by &&
uuid==rhs.uuid && label==rhs.label && mp==rhs.mp &&
fstab_opt==rhs.fstab_opt && mkfs_opt==rhs.mkfs_opt &&
+ dtxt==rhs.dtxt &&
is_loop==rhs.is_loop && loop_active==rhs.loop_active &&
is_mounted==rhs.is_mounted && encryption==rhs.encryption &&
loop_dev==rhs.loop_dev && fstab_loop_dev==rhs.fstab_loop_dev &&
@@ -2441,6 +2449,7 @@
fstab_opt = rhs.fstab_opt;
orig_fstab_opt = rhs.orig_fstab_opt;
mkfs_opt = rhs.mkfs_opt;
+ dtxt = rhs.dtxt;
is_loop = rhs.is_loop;
loop_active = rhs.loop_active;
is_mounted = rhs.is_mounted;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/libstorage/src/Volume.h new/yast2-storage-2.14.7/libstorage/src/Volume.h
--- old/yast2-storage-2.14.6/libstorage/src/Volume.h 2006-09-06 18:50:41.000000000 +0200
+++ new/yast2-storage-2.14.7/libstorage/src/Volume.h 2006-09-28 15:21:30.000000000 +0200
@@ -80,7 +80,7 @@
bool needRemount() const;
bool needShrink() const { return(size_k<orig_size_k); }
bool needExtend() const { return(size_k>orig_size_k); }
- long long extendSize() const { return(orig_size_k-size_k);}
+ long long extendSize() const { return(size_k-orig_size_k);}
storage::FsType getFs() const { return fs; }
void setFs( storage::FsType val ) { detected_fs=fs=val; }
void setUuid( const string& id ) { uuid=id; }
@@ -94,6 +94,8 @@
encryption!=orig_encryption) ); }
const string& getMkfsOption() const { return mkfs_opt; }
int setMkfsOption( const string& val ) { mkfs_opt=val; return 0; }
+ const string& getDescText() const { return dtxt; }
+ int setDescText( const string& val ) { dtxt=val; return 0; }
const std::list<string>& altNames() const { return( alt_names ); }
unsigned nr() const { return num; }
unsigned long long sizeK() const { return size_k; }
@@ -235,6 +237,7 @@
unsigned long long size_k;
unsigned long long orig_size_k;
string dev;
+ string dtxt;
unsigned long mnr;
unsigned long mjr;
storage::usedBy uby;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/storage/src/include/do_proposal_flexible.ycp new/yast2-storage-2.14.7/storage/src/include/do_proposal_flexible.ycp
--- old/yast2-storage-2.14.6/storage/src/include/do_proposal_flexible.ycp 2006-09-21 13:11:58.000000000 +0200
+++ new/yast2-storage-2.14.7/storage/src/include/do_proposal_flexible.ycp 2006-09-26 19:06:38.000000000 +0200
@@ -14,7 +14,7 @@
*
*************************************************************
- $Id: do_proposal_flexible.ycp 33024 2006-09-21 11:13:35Z fehr $
+ $Id: do_proposal_flexible.ycp 33142 2006-09-26 17:06:33Z fehr $
*/
{
@@ -1597,15 +1597,15 @@
if( Partitions::IsDosWinNtPartition( fsid ) )
{
win = p["winfo"]:$[];
- y2milestone( "win=%1", win );
- if( win != nil && p["size_k"]:0 > 1024*1024 )
+ y2milestone( "try_resize_windows win=%1", win );
+ if( win != nil && win["ok"]:false && p["size_k"]:0 > 1024*1024 )
{
p["winfo"] = win;
p["resize"] = true;
p["region",1] = (win["new_size"]:0 + cyl_size - 1) / cyl_size;
p["win_max_length"] =
(win["max_win_size"]:0 + cyl_size - 1) / cyl_size;
- y2milestone( "win part %1", p );
+ y2milestone( "try_resize_windows win part %1", p );
}
}
return( p );
@@ -2476,12 +2476,18 @@
return( ret );
}
-boolean usable_for_win_resize( map p )
+boolean usable_for_win_resize( map p, boolean assert_cons_fs )
{
boolean ret = Partitions::IsDosWinNtPartition( p["fsid"]:0 ) &&
- size(p["winfo"]:$[])>0 &&
p["size_k"]:0 > 1024*1024 &&
!p["resize"]:false && !p["delete"]:false;
+ if( ret )
+ {
+ if( assert_cons_fs )
+ ret = p["winfo","ok"]:false;
+ else
+ ret = size(p["winfo"]:$[])>0;
+ }
return( ret );
}
@@ -2640,7 +2646,11 @@
``{
if( !contains( Partitions::do_not_delete,
p["fsid"]:0 ))
+ {
+ if( usable_for_win_resize(p,false) )
+ p["dtxt"] = _("Resize impossible due to inconsistent fs. Try checking fs under Windows.");
p["delete"] = true;
+ }
return( p );
});
});
@@ -2677,7 +2687,7 @@
valid = listmap( string s, ddev,
``{
if( find( map p, target[s,"partitions"]:[],
- ``(usable_for_win_resize(p))) != nil )
+ ``(usable_for_win_resize(p,true))) != nil )
return( $[s:true] );
else
return( $[s:false] );
@@ -2685,7 +2695,7 @@
foreach( string s, filter( string d, ddev, ``(valid[d]:false)),
``{
list<map> pl = filter( map p, target[s,"partitions"]:[],
- ``(usable_for_win_resize(p)));
+ ``(usable_for_win_resize(p,true)));
if( size(pl)>0 )
{
pl = sort( map a, map b, pl,
@@ -2693,7 +2703,7 @@
target[s,"partitions"] =
maplist( map p, target[s,"partitions"]:[],
``{
- if( usable_for_win_resize(p) &&
+ if( usable_for_win_resize(p,true) &&
p["device"]:""==pl[0,"device"]:"" )
{
integer cs = target[s,"cyl_size"]:1;
@@ -2863,15 +2873,16 @@
string max_disk = "";
foreach( string s, list mb, size_mb,
``{
- if( (!Storage::ProposalHome() || mb[1]:0>0) &&
+ if( (!Storage::ProposalHome() || mb[1]:0>0 || mode==`resize ) &&
mb[1]:0+mb[0]:0 > max_mb )
{
max_mb = mb[1]:0+mb[0]:0;
max_disk = s;
}
});
+ y2milestone( "max_mb %1 size_mb %2", max_mb, size_mb );
if( max_mb>0 && size_mb[max_disk,0]:0 > 2*1024 &&
- ( !Storage::ProposalHome() || size_mb[max_disk,1]:0 > 1*1024) )
+ ( !Storage::ProposalHome() || size_mb[max_disk,1]:0 > 1*1024 ))
{
sol_disk = max_disk;
}
@@ -2889,6 +2900,21 @@
mode = `desparate;
else if( mode == `desparate )
mode = `end;
+ if( mode == `desparate && size(sol_disk)==0 )
+ {
+ max_mb = 0;
+ foreach( string s, list mb, size_mb,
+ ``{
+ if( mb[1]:0+mb[0]:0 > max_mb &&
+ size_mb[max_disk,0]:0 > 2*1024 )
+ {
+ max_mb = mb[1]:0+mb[0]:0;
+ sol_disk = s;
+ }
+ });
+ y2milestone( "get_inst_proposal mode %1 sol_disk %2",
+ mode, sol_disk );
+ }
}
}
y2milestone( "get_inst_proposal sol_disk %1", sol_disk );
@@ -3395,6 +3421,7 @@
if( mode == `desparate )
{
ddev = get_disk_try_list( target, false );
+ valid = listmap( string s, ddev, ``($[s:true]));
target = prepare_part_lists( ddev, target );
foreach( string s, ddev,
``{
@@ -3405,7 +3432,11 @@
``{
if( !contains( Partitions::do_not_delete,
p["fsid"]:0 ))
+ {
+ if( usable_for_win_resize(p,false) )
+ p["dtxt"] = _("Resize impossible due to inconsistent fs. Try checking fs under Windows.");
p["delete"] = true;
+ }
return( p );
});
});
@@ -3433,7 +3464,7 @@
valid = listmap( string s, ddev,
``{
if( find( map p, target[s,"partitions"]:[],
- ``(usable_for_win_resize(p))) != nil )
+ ``(usable_for_win_resize(p,true))) != nil )
return( $[s:true] );
else
return( $[s:false] );
@@ -3441,7 +3472,7 @@
foreach( string s, filter( string d, ddev, ``(valid[d]:false)),
``{
list<map> pl = filter( map p, target[s,"partitions"]:[],
- ``(usable_for_win_resize(p)));
+ ``(usable_for_win_resize(p,true)));
if( size(pl)>0 )
{
pl = sort( map a, map b, pl,
@@ -3449,7 +3480,7 @@
target[s,"partitions"] =
maplist( map p, target[s,"partitions"]:[],
``{
- if( usable_for_win_resize(p) &&
+ if( usable_for_win_resize(p,true) &&
p["device"]:""==pl[0,"device"]:"" )
{
integer cs = target[s,"cyl_size"]:1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/storage/src/inst_custom_part.ycp new/yast2-storage-2.14.7/storage/src/inst_custom_part.ycp
--- old/yast2-storage-2.14.6/storage/src/inst_custom_part.ycp 2006-09-20 12:26:33.000000000 +0200
+++ new/yast2-storage-2.14.7/storage/src/inst_custom_part.ycp 2006-09-26 19:06:38.000000000 +0200
@@ -26,7 +26,7 @@
*
*************************************************************
- $Id: inst_custom_part.ycp 33002 2006-09-20 10:28:09Z fehr $
+ $Id: inst_custom_part.ycp 33142 2006-09-26 17:06:33Z fehr $
*/
{
@@ -1614,7 +1614,7 @@
if( !swap && !cur_val["format"]:false )
{
df = Storage::GetFreeSpace( device, 0, cur_val["used_fs"]:`none, true );
- if( size(df)==0 )
+ if( size(df)==0 || !df["ok"]:false )
{
y2error( "failed GetFreeSpace %1 fs:%2", device,
cur_val["used_fs"]:`none );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/storage/src/modules/FileSystems.ycp new/yast2-storage-2.14.7/storage/src/modules/FileSystems.ycp
--- old/yast2-storage-2.14.6/storage/src/modules/FileSystems.ycp 2006-09-21 13:11:58.000000000 +0200
+++ new/yast2-storage-2.14.7/storage/src/modules/FileSystems.ycp 2006-09-26 18:17:47.000000000 +0200
@@ -7,7 +7,7 @@
* These module contains the supported filesystems and their settings.
*
*
- * $Id: FileSystems.ycp 33024 2006-09-21 11:13:35Z fehr $
+ * $Id: FileSystems.ycp 33141 2006-09-26 16:17:44Z fehr $
*/
{
module "FileSystems";
@@ -1350,7 +1350,7 @@
ret["opt_dir_index"] = $[ "option_str":"-O dir_index",
"option_value":true ];
}
- if( Arch::s390() && contains( [`ext2, `ext3, `xfs, `reiser], fsys ) )
+ if( Arch::s390() && contains( [`ext2, `ext3], fsys ) )
{
ret["opt_blocksize"] = $[ "option_str":"-b",
"option_value":"4096" ];
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.14.6/storage/src/modules/Storage.ycp new/yast2-storage-2.14.7/storage/src/modules/Storage.ycp
--- old/yast2-storage-2.14.6/storage/src/modules/Storage.ycp 2006-09-21 13:11:58.000000000 +0200
+++ new/yast2-storage-2.14.7/storage/src/modules/Storage.ycp 2006-09-26 19:08:23.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 33024 2006-09-21 11:13:35Z fehr $
+ * $Id: Storage.ycp 33143 2006-09-26 17:08:22Z fehr $
*/
{
@@ -567,7 +567,7 @@
global define map GetFreeSpace( string device, integer testsize,
symbol used_fs, boolean verbose )
``{
- if( Mode::test () )
+ if( Mode::test() )
{
integer wf = tointeger(tofloat(testsize) * 0.6);
integer wu = tointeger(tofloat(testsize) * 0.4);
@@ -586,20 +586,17 @@
df_free, used, win_disk,
used_fs==`ntfs );
- if( r )
- {
- resize_free = resize_free * 1024; // Byte
- df_free = df_free * 1024; // Byte
- used = used * 1024; // Byte
- }
+ resize_free = resize_free * 1024; // Byte
+ df_free = df_free * 1024; // Byte
+ used = used * 1024; // Byte
if( used_fs == `ntfs && !r && verbose )
{
string cmd = sformat("ntfsresize -f -i %1", device );
- y2milestone( "Executing cmd:%1", cmd );
+ y2milestone( "GetFreeSpace Executing cmd:%1", cmd );
map bcall = (map) SCR::Execute( .target.bash_output, cmd,
$[ "LC_MESSAGES" :"POSIX"] );
- y2milestone( "Executing ret:%1", bcall );
+ y2milestone( "GetFreeSpace Executing ret:%1", bcall );
string tmp = _("Resize Not Possible:") + "\n\n";
tmp = tmp + bcall["stdout"]:"" + bcall["stderr"]:"";
Popup::Error( tmp );
@@ -610,46 +607,49 @@
integer min_linux_size = 0;
integer add_free = df_free - resize_free;
- if( resize_free < 300000000 )
+ y2milestone( "GetFreeSpace resize_free %1 add_free %2",
+ resize_free, add_free );
+
+ if( resize_free < 300*1024*1024 || !r )
{
linux_size = 0;
min_linux_size = 0;
}
- else if( resize_free < 600000000 )
+ else if( resize_free < 600*1024*1024 )
{
linux_size = resize_free;
- if( add_free < 75000000 )
+ if( add_free < 75*1024*1024 )
{
- linux_size = linux_size - 75000000 + add_free;
+ linux_size = linux_size - 75*1024*1024 + add_free;
}
min_linux_size = linux_size;
}
- else if ( resize_free < 1000000000 )
+ else if ( resize_free < 1024*1024*1024 )
{
linux_size = resize_free;
- if( add_free < 200000000 )
+ if( add_free < 200*1024*1024 )
{
- linux_size = linux_size - 200000000 + add_free;
+ linux_size = linux_size - 200*1024*1024 + add_free;
}
- min_linux_size = 300000000;
+ min_linux_size = 300*1024*1024;
}
- else if ( resize_free < 2000000000 )
+ else if ( resize_free < 2*1024*1024*1024 )
{
linux_size = resize_free;
- if( add_free < 300000000 )
+ if( add_free < 300*1024*1024 )
{
- linux_size = linux_size - 300000000 + add_free;
+ linux_size = linux_size - 300*1024*1024 + add_free;
}
- min_linux_size = 500000000;
+ min_linux_size = 500*1024*1024;
}
- else if ( resize_free < 3000000000 )
+ else if ( resize_free < 3*1024*1024*1024 )
{
linux_size = resize_free;
- if( add_free < 800000000 )
+ if( add_free < 800*1024*1024 )
{
- linux_size = linux_size - 800000000 + add_free;
+ linux_size = linux_size - 800*1024*1024 + add_free;
}
- min_linux_size = 500000000;
+ min_linux_size = 500*1024*1024;
}
else
{
@@ -658,7 +658,7 @@
{
linux_size = linux_size - resize_free/3 + add_free;
}
- min_linux_size = 500000000;
+ min_linux_size = 500*1024*1024;
}
integer new_size = used + add_free + resize_free - linux_size;
@@ -671,7 +671,8 @@
"max_win_size":used + resize_free + add_free - min_linux_size,
"ntfs" : (used_fs == `ntfs),
"new_size":new_size ];
- y2milestone( "GetFreeSpace ret %1", ret );
+ ret["ok"] = r;
+ y2milestone( "GetFreeSpace %1 ret %2", device, ret );
return( ret );
};
@@ -687,7 +688,7 @@
contains( [ `ntfs, `vfat ], p["used_fs"]:`none ))
{
p["winfo"] = GetFreeSpace( p["device"]:"", 0,
- p["used_fs"]:`none, false );
+ p["used_fs"]:`none, false );
y2milestone( "AddWinInfo %1", p );
}
return( p );
@@ -958,6 +959,14 @@
opts = substring( opts, pos );
}
});
+ if( !found )
+ {
+ pos = findfirstnotof( opts, " \t" );
+ if( pos>0 )
+ opts = substring( opts, pos );
+ else
+ opts = "";
+ }
y2milestone( "convertStringToFsOptionMap opts:%1 ret:%2", opts, ret );
}
y2milestone( "convertStringToFsOptionMap ret:%1", ret );
@@ -1081,6 +1090,9 @@
if( haskey( p, "fs_options" ))
p = remove( p, "fs_options" );
}
+ tmp = LibStorage::VolumeInfo::swig_dtxt_get(vinfo);
+ if( size(tmp)>0 )
+ p["dtxt"] = tmp;
tmp = LibStorage::VolumeInfo::swig_uuid_get(vinfo);
if( size(tmp)>0 )
p["uuid"] = tmp;
@@ -2213,6 +2225,12 @@
return( ret==0 );
}
+integer ChangeDescText( string dev, string txt )
+ {
+ integer ret = LibStorage::StorageInterface::changeDescText( sint, dev, txt );
+ return( ret );
+ }
+
global boolean ChangeVolumeProperties( map part )
{
integer ret = 0;
@@ -2318,6 +2336,11 @@
changed = true;
SetCrypt( dev, part["enc_type"]:`none!=`none, part["format"]:false );
}
+ if( ret==0 && part["dtxt"]:"" != curr["dtxt"]:"" )
+ {
+ changed = true;
+ ret = ChangeDescText( dev, part["dtxt"]:"" );
+ }
if( ret==0 &&
((part["resize"]:false && part["region",1]:0 != curr["region",1]:0) ||
(part["resize"]:false != curr["resize"]:false)) )
@@ -3226,7 +3249,12 @@
{
dps = sort( map a, map b, dps, ``(a["nr"]:0>b["nr"]:0));
}
- foreach( map p, dps, ``{DeleteDevice( k, p["device"]:"" );});
+ foreach( map p, dps,
+ ``{
+ if( size(p["dtxt"]:"")>0 )
+ ChangeDescText( p["device"]:"", p["dtxt"]:"" );
+ DeleteDevice( k, p["device"]:"" );
+ });
if( target[k,"delete"]:false )
{
if( target[k,"type"]:`CT_UNKNOWN==`CT_LVM )
@@ -5179,6 +5207,15 @@
}
});
}
+ if( size(disk["driver"]:"")>0 )
+ {
+ string m = disk["driver"]:"";
+ y2milestone( "adding driver modules %1", m );
+ if( !contains( initrdmodules, m ))
+ {
+ initrdmodules = add( initrdmodules, m );
+ }
+ }
SCR::UnmountAgent (.proc.modules);
map lmod = (map) SCR::Read(.proc.modules);
y2milestone( "GetRootInitrdModules lmod:%1", lmod );
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 sumf
checked in at Thu Sep 28 20:45:46 CEST 2006.
--------
--- sumf/sumf.changes 2006-08-11 12:30:58.000000000 +0200
+++ /mounts/work_src_done/STABLE/sumf/sumf.changes 2006-09-28 16:13:28.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 28 14:32:19 CEST 2006 - hschaa(a)suse.de
+
+- update to 0.2.3
+ * added new dialog for backup management
+
+-------------------------------------------------------------------
Old:
----
sumf-0.2.1.tar.bz2
New:
----
sumf-0.2.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sumf.spec ++++++
--- /var/tmp/diff_new_pack.GhmoDa/_old 2006-09-28 20:45:16.000000000 +0200
+++ /var/tmp/diff_new_pack.GhmoDa/_new 2006-09-28 20:45:17.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package sumf (Version 0.2.1)
+# spec file for package sumf (Version 0.2.3)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -14,8 +14,8 @@
BuildRequires: intltool kscpm perl-XML-Parser qt3-devel scpm-devel update-desktop-files
URL: http://forge.novell.com/modules/xfmod/project/?scpm
Summary: SCPM Universal Management Front-End
-Version: 0.2.1
-Release: 20
+Version: 0.2.3
+Release: 1
Group: System/Management
License: GPL
Source: sumf-%{version}.tar.bz2
@@ -61,6 +61,9 @@
test "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
%changelog -n sumf
+* Thu Sep 28 2006 - hschaa(a)suse.de
+- update to 0.2.3
+ * added new dialog for backup management
* Fri Aug 11 2006 - jg(a)suse.de
- disabled unmaintaned Ukrainian translations
- fixed some missing Asian translation strings (bug 179143)
++++++ sumf-0.2.1.tar.bz2 -> sumf-0.2.3.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/ChangeLog new/sumf-0.2.3/ChangeLog
--- old/sumf-0.2.1/ChangeLog 2006-06-02 16:22:04.000000000 +0200
+++ new/sumf-0.2.3/ChangeLog 2006-09-28 14:24:44.000000000 +0200
@@ -1,3 +1,6 @@
+0.2.3
+ - added new dialog for managing backups
+
current
- disabled unmaintaned Ukrainian translations
- fixed some missing Asian translation strings (bug 179143)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/configure.ac new/sumf-0.2.3/configure.ac
--- old/sumf-0.2.1/configure.ac 2006-06-02 16:18:46.000000000 +0200
+++ new/sumf-0.2.3/configure.ac 2006-09-28 15:09:59.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT(sumf, 0.2.1)
+AC_INIT(sumf, 0.2.3)
AM_INIT_AUTOMAKE
AC_CANONICAL_BUILD
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/Makefile.am new/sumf-0.2.3/src/Makefile.am
--- old/sumf-0.2.1/src/Makefile.am 2006-01-23 18:03:19.000000000 +0100
+++ new/sumf-0.2.3/src/Makefile.am 2006-09-28 13:49:00.000000000 +0200
@@ -18,19 +18,29 @@
main_window_impl.moc.cpp \
switch_window_impl.moc.cpp \
details_window_impl.moc.cpp \
- edit_window_impl.moc.cpp
+ edit_window_impl.moc.cpp \
+ backups_window.moc.cpp \
+ backups_window_impl.moc.cpp \
+ selectbackup_window.moc.cpp \
+ selectbackup_window_impl.moc.cpp \
+ diff_window_impl.moc.cpp
all_METASOURCES = main_window.cpp \
switch_window.cpp \
details_window.cpp \
edit_window.cpp \
progress_window.cpp \
- diff_window.cpp
+ diff_window.cpp \
+ backups_window.cpp \
+ selectbackup_window.cpp
all_IMPLEMENTATIONS = main_window_impl.cpp \
switch_window_impl.cpp \
details_window_impl.cpp \
- edit_window_impl.cpp
+ edit_window_impl.cpp \
+ backups_window_impl.cpp \
+ selectbackup_window_impl.cpp \
+ diff_window_impl.cpp
bin_PROGRAMS = sumf
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/backups_window.ui new/sumf-0.2.3/src/backups_window.ui
--- old/sumf-0.2.1/src/backups_window.ui 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/backups_window.ui 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,413 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>BackupsWindow</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>BackupsWindow</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>740</width>
+ <height>628</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Manage backups</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frame7</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>lblLabelActiveProfile</cstring>
+ </property>
+ <property name="font">
+ <font>
+ <bold>1</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Active profile:</string>
+ </property>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>lblActiveProfile</cstring>
+ </property>
+ <property name="font">
+ <font>
+ <bold>1</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>lblInfo</cstring>
+ </property>
+ <property name="text">
+ <string>Please select all resources you want to have backed up, restored or removed</string>
+ </property>
+ </widget>
+ <widget class="QGroupBox">
+ <property name="name">
+ <cstring>frmResourceBackups</cstring>
+ </property>
+ <property name="title">
+ <string>Resources</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frmQuickSearch</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QLabel">
+ <property name="name">
+ <cstring>lblSearch</cstring>
+ </property>
+ <property name="text">
+ <string>Quick search:</string>
+ </property>
+ </widget>
+ <widget class="QLineEdit">
+ <property name="name">
+ <cstring>txtQuickSearch</cstring>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdClearQuickSearch</cstring>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="pixmap">
+ <pixmap>image0</pixmap>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frmResourceList</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Resource</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Type</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property name="text">
+ <string>Backup</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>listResources</cstring>
+ </property>
+ <property name="selectionMode">
+ <enum>Single</enum>
+ </property>
+ <property name="allColumnsShowFocus">
+ <bool>true</bool>
+ </property>
+ <property name="showSortIndicator">
+ <bool>false</bool>
+ </property>
+ <property name="rootIsDecorated">
+ <bool>false</bool>
+ </property>
+ <property name="resizeMode">
+ <enum>NoColumn</enum>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frame8</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdSelectBackup</cstring>
+ </property>
+ <property name="text">
+ <string>Select backup version</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdShowDiff</cstring>
+ </property>
+ <property name="text">
+ <string>Show Changes</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer3_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>410</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frmButtons</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdBackup</cstring>
+ </property>
+ <property name="text">
+ <string>Backup</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdRestore</cstring>
+ </property>
+ <property name="text">
+ <string>Restore</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdRemoveBackup</cstring>
+ </property>
+ <property name="text">
+ <string>Remove</string>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdClose</cstring>
+ </property>
+ <property name="text">
+ <string>Close</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<images>
+ <image name="image0">
+ <data format="PNG" length="293">89504e470d0a1a0a0000000d49484452000000100000001008060000001ff3ff61000000ec49444154388db591316e84301045df20c4012005c92190d8bd0072c519b881cfc3692890e8a94cc11122377b019a491322d6311151942f596246ffcd7c1bf8a3e4a47fbbc8bfc49aaf805e3cb73402bf8fe308c0b66d006459f6f49de739755d03908470dff7ccf38c3186b66d71ceb1ae2bce39dab6c518c3300cf1d8d65ab5d66ad7757a54acdeaf20fbe6a6699e263e1e0f9665f9b6a9aa2a8aa2609a2680bb005a9665ec31f1dea3aa5fb588b07bbdf700f754551189ffcd23bcd7a1371111098d217c84426ff269880e39c26729d3835154557f0262bd24309c26395334975e9c22226fbfdaf62ffa0038017fdc8ddc35150000000049454e44ae426082</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>cmdBackup</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>backup()</slot>
+ </connection>
+ <connection>
+ <sender>cmdRestore</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>restore()</slot>
+ </connection>
+ <connection>
+ <sender>cmdClose</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>close()</slot>
+ </connection>
+ <connection>
+ <sender>cmdSelectBackup</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>selectBackup()</slot>
+ </connection>
+ <connection>
+ <sender>cmdShowDiff</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>showDiff()</slot>
+ </connection>
+ <connection>
+ <sender>listResources</sender>
+ <signal>doubleClicked(QListViewItem*)</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>selectBackup()</slot>
+ </connection>
+ <connection>
+ <sender>cmdRemoveBackup</sender>
+ <signal>clicked()</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>remove()</slot>
+ </connection>
+ <connection>
+ <sender>txtQuickSearch</sender>
+ <signal>textChanged(const QString&)</signal>
+ <receiver>BackupsWindow</receiver>
+ <slot>quickSearch(const QString&)</slot>
+ </connection>
+ <connection>
+ <sender>cmdClearQuickSearch</sender>
+ <signal>clicked()</signal>
+ <receiver>txtQuickSearch</receiver>
+ <slot>clear()</slot>
+ </connection>
+</connections>
+<slots>
+ <slot>showDiff()</slot>
+ <slot>restore()</slot>
+ <slot>quickSearch(const QString &text)</slot>
+ <slot>clearQuickSearch()</slot>
+ <slot>selectBackup()</slot>
+ <slot>backup()</slot>
+ <slot>remove()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/backups_window_impl.cpp new/sumf-0.2.3/src/backups_window_impl.cpp
--- old/sumf-0.2.1/src/backups_window_impl.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/backups_window_impl.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,227 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: backups_window_impl.cpp
+ * Description: allows managing backups of resources
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#include "backups_window_impl.h"
+#include "sexi.h"
+#include "i18n.h"
+#include <qlineedit.h>
+#include <qmessagebox.h>
+#include <qfiledialog.h>
+#include <qlistview.h>
+#include <qdatetime.h>
+#include <qpushbutton.h>
+#include "selectbackup_window_impl.h"
+#include "diff_window_impl.h"
+
+using namespace std;
+
+BackupsWindow_impl::BackupsWindow_impl( QWidget* parent , const char* name , bool modal , WFlags fl )
+ : BackupsWindow(parent, name, modal, fl)
+{
+ // set profile
+ scpm_status_t scpm_status = sexi->GetStatus();
+ m_profile = scpm_status.active_profile;
+ lblActiveProfile->setText(scpm_status.active_profile);
+
+ // load available backups
+ FillListResources();
+}
+
+void BackupsWindow_impl::FillListResources()
+{
+ listResources->clear();
+
+ BWCheckListItem* item=NULL;
+ // get a list of resources with the appropriate number of available backups
+ vector<SEXI::backup_resource_t > resources = sexi->ListBackupResources(m_profile);
+ QDateTime dt;
+
+ // insert all resources in the listview
+ for(unsigned int i=0; i<resources.size(); i++)
+ {
+ item = new BWCheckListItem(listResources, 0, QCheckListItem::CheckBox);
+ item->setText(0, resources[i].name);
+ item->setText(1, resources[i].type);
+ if (resources[i].versions.size() > 0)
+ {
+ dt.setTime_t(resources[i].versions[0].first);
+ item->act_version = resources[i].versions[0];
+ }
+ item->setText(2, resources[i].versions.size() > 0 ? dt.toString(Qt::LocalDate) : "-");
+ item->br = resources[i];
+ }
+
+ // perhaps there was a quick-search active?
+ if (!txtQuickSearch->text().isEmpty())
+ this->quickSearch(txtQuickSearch->text());
+}
+
+void BackupsWindow_impl::backup()
+{
+ QListViewItemIterator it( listResources );
+ vector<pair<string, string> > resources2backup;
+ BWCheckListItem* bli = NULL;
+
+ // get all selected resources
+ while ( it.current() ) {
+ if (it.current()->rtti() == BWCheckListItem::RTTI)
+ bli = (BWCheckListItem*)it.current();
+ // only restore checked resources
+ if ( bli->isOn() )
+ {
+ pair<string, string> p(bli->br.type, bli->br.name);
+ resources2backup.push_back(p);
+ }
+ ++it;
+ }
+
+ if (resources2backup.size() == 0)
+ QMessageBox::information(this, gt("manage backups"), gt("please select all resources you want to have backed up"));
+ else
+ {
+ // backup
+ sexi->AddBackupResources(resources2backup, m_profile);
+ // reaload available backups
+ this->FillListResources();
+ }
+}
+
+void BackupsWindow_impl::restore()
+{
+ QListViewItemIterator it( listResources );
+ vector<pair<string, string> > resources2restore;
+ vector<string> versions;
+ BWCheckListItem* bli = NULL;
+
+ // get all selected resources
+ while ( it.current() ) {
+ if (it.current()->rtti() == BWCheckListItem::RTTI)
+ bli = (BWCheckListItem*)it.current();
+ // only restore checked resources
+ if ( bli->isOn() )
+ if (bli->br.versions.size() > 0)
+ {
+ pair<string, string> p(bli->br.type, bli->br.name);
+ resources2restore.push_back(p);
+ versions.push_back(bli->act_version.second);
+ }
+ ++it;
+ }
+ if (resources2restore.size() == 0)
+ QMessageBox::information(this, gt("manage backups"), gt("please select all resources you want to have restored"));
+ else
+ {
+ // restore...
+ sexi->RestoreBackupResources(resources2restore, versions, m_profile);
+ // reload available backups
+ this->FillListResources();
+ }
+}
+
+void BackupsWindow_impl::quickSearch(const QString& text)
+{
+ // hide all items not matching the search string
+ QListViewItemIterator it( listResources );
+ while ( it.current() ) {
+ it.current()->setVisible( it.current()->text(0).find(text)>-1 );
+ ++it;
+ }
+}
+
+void BackupsWindow_impl::selectBackup()
+{
+ QListViewItem* lvi = listResources->currentItem ();
+ BWCheckListItem* cli = NULL;
+ // is it one of the backup items?
+ if (lvi)
+ if (lvi->rtti() == BWCheckListItem::RTTI)
+ {
+ // yes, it is, so lets get the backup-relevant infos
+ cli = (BWCheckListItem*)lvi;
+ if (cli->br.versions.size() > 0)
+ {
+ // show the selection-dialog
+ SelectBackupWindow_impl sbw(&(cli->br));
+ if (sbw.result() == 0)
+ sbw.exec();
+
+ // get the resulting backup-version
+ pair<time_t, string> p;
+ if (sbw.GetSelectedBackup(p))
+ {
+ // and set it in the list
+ cli->act_version=p;
+ QDateTime dt;
+ dt.setTime_t(p.first);
+ cli->setText(2, dt.toString(Qt::LocalDate));
+ }
+ }
+ else
+ {
+ QMessageBox::information(this, gt("manage backups"), gt("the selected resource does not have any backups"));
+ }
+ }
+}
+
+void BackupsWindow_impl::showDiff()
+{
+ QListViewItem* lvi = listResources->currentItem ();
+ BWCheckListItem* cli = NULL;
+ // is it one of the backup items?
+ if (lvi)
+ if (lvi->rtti() == BWCheckListItem::RTTI)
+ {
+ // yes, it is, so lets get the backup-relevant infos
+ cli = (BWCheckListItem*)lvi;
+ if (cli->br.versions.size() > 0)
+ {
+ DiffWindow_impl df(cli->br.name, cli->br.type, true, cli->act_version.second );
+ if (df.result() == 0)
+ df.exec();
+ }
+ else
+ {
+ QMessageBox::information(this, gt("manage backups"), gt("the selected resource does not have any backups"));
+ }
+ }
+
+}
+
+void BackupsWindow_impl::remove()
+{
+ QListViewItemIterator it( listResources );
+ vector<pair<string, string> > resources2remove;
+ vector<string> versions;
+ BWCheckListItem* bli = NULL;
+
+ // get all selected resources
+ while ( it.current() ) {
+ if (it.current()->rtti() == BWCheckListItem::RTTI)
+ bli = (BWCheckListItem*)it.current();
+ // only restore checked resources
+ if ( bli->isOn() )
+ if (bli->br.versions.size() > 0)
+ {
+ pair<string, string> p(bli->br.type, bli->br.name);
+ resources2remove.push_back(p);
+ versions.push_back(bli->act_version.second);
+ }
+ ++it;
+ }
+ if (resources2remove.size() == 0)
+ QMessageBox::information(this, gt("manage backups"), gt("please select all resources you want to have removed"));
+ else
+ {
+ // remove...
+ sexi->RemoveBackupResources(resources2remove, versions, m_profile);
+ // reload available backups
+ this->FillListResources();
+ }
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/backups_window_impl.h new/sumf-0.2.3/src/backups_window_impl.h
--- old/sumf-0.2.1/src/backups_window_impl.h 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/backups_window_impl.h 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,53 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: details_window_impl.h
+ * Description: Allows managment of backups
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#ifndef BACKUPSWINDOW_IMPL_H
+#define BACKUPSWINDOW_IMPL_H
+
+#include "backups_window.h"
+#include "sexi.h"
+#include <scpm_types.h>
+#include <qlistview.h>
+
+class BWCheckListItem : public QCheckListItem
+{
+ public:
+ static const int RTTI = 1000;
+ SEXI::backup_resource_t br;
+ pair<time_t, string> act_version;
+
+ BWCheckListItem(QListView * parent, const QString & text, Type tt = RadioButtonController )
+ : QCheckListItem(parent, text, tt) {}
+ virtual int rtti() const {return RTTI;}
+
+};
+
+class BackupsWindow_impl : public BackupsWindow
+{
+ Q_OBJECT
+
+public:
+ BackupsWindow_impl( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+
+public slots:
+ void backup();
+ void restore();
+ void quickSearch(const QString &text);
+ void selectBackup();
+ void showDiff();
+ void remove();
+
+private:
+ void FillListResources();
+
+ std::string m_profile;
+};
+
+#endif // BACKUPSWINDOW_H
Binary files old/sumf-0.2.1/src/clear_left.png and new/sumf-0.2.3/src/clear_left.png differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/details_window_impl.cpp new/sumf-0.2.3/src/details_window_impl.cpp
--- old/sumf-0.2.1/src/details_window_impl.cpp 2005-08-30 17:13:56.000000000 +0200
+++ new/sumf-0.2.3/src/details_window_impl.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -10,7 +10,7 @@
***/
#include "details_window_impl.h"
-#include "diff_window.h"
+#include "diff_window_impl.h"
#include "i18n.h"
#include <qlistview.h>
#include <qlabel.h>
@@ -86,12 +86,8 @@
{
QListViewItem *item = listResources->selectedItem();
if (!item) return;
- std::stringstream ss;
- sexi->ShowChanges( ss, item->text(2), item->text(1), false);
- DiffWindow df;
- df.labelResource->setText( item->text(1) + " (" + item->text(2) + ")" );
- char buf[255];
- while (ss.getline(buf, 254)) df.textChanges->append( buf );
+
+ DiffWindow_impl df(item->text(1), item->text(2), false, "");
df.exec();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/diff_window_impl.cpp new/sumf-0.2.3/src/diff_window_impl.cpp
--- old/sumf-0.2.1/src/diff_window_impl.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/diff_window_impl.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,23 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: backups_window_impl.cpp
+ * Description: Show Diff
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#include "diff_window_impl.h"
+#include "sexi.h"
+#include <sstream>
+DiffWindow_impl::DiffWindow_impl( string res_name, string res_type, bool backup, string version, QWidget* parent, const char* name, bool modal, WFlags fl )
+ : DiffWindow( parent, name, modal, fl )
+{
+ std::stringstream ss;
+ sexi->ShowChanges( ss, res_type, res_name, backup, version);
+ labelResource->setText( res_name + " (" + res_type + ")" );
+ char buf[255];
+ while (ss.getline(buf, 254)) textChanges->append( buf );
+}
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/diff_window_impl.h new/sumf-0.2.3/src/diff_window_impl.h
--- old/sumf-0.2.1/src/diff_window_impl.h 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/diff_window_impl.h 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,33 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: diff_window_impl.h
+ * Description: Show Diff
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#ifndef DIFFWINDOW_IMPL_H
+#define DIFFWINDOW_IMPL_H
+
+#include <qvariant.h>
+#include <qdialog.h>
+#include <diff_window.h>
+#include <string>
+#include <qlabel.h>
+
+using namespace std;
+
+class DiffWindow_impl : public DiffWindow
+{
+ Q_OBJECT
+
+public:
+ DiffWindow_impl( string name, string type, bool backup, string version, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+
+protected:
+protected slots:
+};
+
+#endif // DIFFWINDOW_IMPL_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/edit_window.cpp new/sumf-0.2.3/src/edit_window.cpp
--- old/sumf-0.2.1/src/edit_window.cpp 2005-08-17 19:31:03.000000000 +0200
+++ new/sumf-0.2.3/src/edit_window.cpp 2006-09-28 10:51:14.000000000 +0200
@@ -1,12 +1,13 @@
/****************************************************************************
** Form implementation generated from reading ui file 'edit_window.ui'
**
-** Created: Wed Aug 17 19:27:23 2005
-** by: The User Interface Compiler ($Id: edit_window.cpp,v 1.2 2005/08/17 17:31:03 gleissner Exp $)
+** Created: Mon Jun 12 14:52:44 2006
+** by: The User Interface Compiler ($Id: edit_window.cpp,v 1.3 2006/09/28 08:51:14 gleissner Exp $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/
+#include "i18n.h" // PCH include
#include "edit_window.h"
#include <qvariant.h>
@@ -145,28 +146,28 @@
*/
void EditWindow::languageChange()
{
- setCaption( tr( "Edit profile" ) );
- groupBox6->setTitle( tr( "Switch scripts" ) );
- textLabel3->setText( tr( "Prestart" ) );
- textLabel4->setText( tr( "Poststart" ) );
- textLabel5->setText( tr( "Prestop" ) );
- textLabel6->setText( tr( "Poststop" ) );
- buttonBrowserPrestart->setText( tr( "..." ) );
- buttonBrowserPoststart->setText( tr( "..." ) );
- buttonBrowserPoststop->setText( tr( "..." ) );
- buttonBrowserPrestop->setText( tr( "..." ) );
- buttonClearPrestart->setText( tr( "clear" ) );
- buttonClearPoststart->setText( tr( "clear" ) );
- buttonClearPrestop->setText( tr( "clear" ) );
- buttonClearPoststop->setText( tr( "clear" ) );
- groupBox5->setTitle( tr( "Profile settings" ) );
- textLabel1->setText( tr( "Name" ) );
- textLabel2->setText( tr( "Description" ) );
+ setCaption( gt( "Edit profile" ) );
+ groupBox6->setTitle( gt( "Switch scripts" ) );
+ textLabel3->setText( gt( "Prestart" ) );
+ textLabel4->setText( gt( "Poststart" ) );
+ textLabel5->setText( gt( "Prestop" ) );
+ textLabel6->setText( gt( "Poststop" ) );
+ buttonBrowserPrestart->setText( gt( "..." ) );
+ buttonBrowserPoststart->setText( gt( "..." ) );
+ buttonBrowserPoststop->setText( gt( "..." ) );
+ buttonBrowserPrestop->setText( gt( "..." ) );
+ buttonClearPrestart->setText( gt( "clear" ) );
+ buttonClearPoststart->setText( gt( "clear" ) );
+ buttonClearPrestop->setText( gt( "clear" ) );
+ buttonClearPoststop->setText( gt( "clear" ) );
+ groupBox5->setTitle( gt( "Profile settings" ) );
+ textLabel1->setText( gt( "Name" ) );
+ textLabel2->setText( gt( "Description" ) );
lineEditDescription->setText( QString::null );
- buttonCancel->setText( tr( "&Cancel" ) );
- buttonCancel->setAccel( QKeySequence( tr( "Alt+C" ) ) );
- buttonOK->setText( tr( "&OK" ) );
- buttonOK->setAccel( QKeySequence( tr( "Alt+O" ) ) );
+ buttonCancel->setText( gt( "&Cancel" ) );
+ buttonCancel->setAccel( QKeySequence( gt( "Alt+C" ) ) );
+ buttonOK->setText( gt( "&OK" ) );
+ buttonOK->setAccel( QKeySequence( gt( "Alt+O" ) ) );
}
void EditWindow::SaveAndClose()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/edit_window_impl.cpp new/sumf-0.2.3/src/edit_window_impl.cpp
--- old/sumf-0.2.1/src/edit_window_impl.cpp 2005-08-30 19:15:40.000000000 +0200
+++ new/sumf-0.2.3/src/edit_window_impl.cpp 2006-09-28 10:51:14.000000000 +0200
@@ -22,11 +22,11 @@
{
lineEditName->setText( profile );
try {
- lineEditDescription->setText( QString::fromUtf8(sexi->GetDescription( profile ).c_str()) );
- lineEditPrestart->setText( QString::fromUtf8(sexi->GetScript( profile, SEXI::PRESTART ).c_str()) );
- lineEditPrestop->setText( QString::fromUtf8(sexi->GetScript( profile, SEXI::PRESTOP ).c_str()) );
- lineEditPoststart->setText( QString::fromUtf8(sexi->GetScript( profile, SEXI::POSTSTART ).c_str()) );
- lineEditPoststop->setText( QString::fromUtf8(sexi->GetScript( profile, SEXI::POSTSTOP ).c_str()) );
+ lineEditDescription->setText( QString::fromUtf8(sexi->GetDescription( std::string(profile.utf8()) ).c_str()) );
+ lineEditPrestart->setText( QString::fromUtf8(sexi->GetScript( std::string(profile.utf8()), SEXI::PRESTART ).c_str()) );
+ lineEditPrestop->setText( QString::fromUtf8(sexi->GetScript( std::string(profile.utf8()), SEXI::PRESTOP ).c_str()) );
+ lineEditPoststart->setText( QString::fromUtf8(sexi->GetScript( std::string(profile.utf8()), SEXI::POSTSTART ).c_str()) );
+ lineEditPoststop->setText( QString::fromUtf8(sexi->GetScript( std::string(profile.utf8()), SEXI::POSTSTOP ).c_str()) );
setResult(0);
}
catch( SEXI::op_failed &e ) {
@@ -37,13 +37,13 @@
void EditWindow_impl::SaveAndClose()
{
- sexi->SetDescription( current_name, std::string(lineEditDescription->text().utf8()) );
- sexi->SetScript( current_name, std::string(lineEditPrestart->text().utf8()), SEXI::PRESTART );
- sexi->SetScript( current_name, std::string(lineEditPrestop->text().utf8()), SEXI::PRESTOP );
- sexi->SetScript( current_name, std::string(lineEditPoststart->text().utf8()), SEXI::POSTSTART );
- sexi->SetScript( current_name, std::string(lineEditPoststop->text().utf8()), SEXI::POSTSTOP );
+ sexi->SetDescription( std::string(current_name.utf8()), std::string(lineEditDescription->text().utf8()) );
+ sexi->SetScript( std::string(current_name.utf8()), std::string(lineEditPrestart->text().utf8()), SEXI::PRESTART );
+ sexi->SetScript( std::string(current_name.utf8()), std::string(lineEditPrestop->text().utf8()), SEXI::PRESTOP );
+ sexi->SetScript( std::string(current_name.utf8()), std::string(lineEditPoststart->text().utf8()), SEXI::POSTSTART );
+ sexi->SetScript( std::string(current_name.utf8()), std::string(lineEditPoststop->text().utf8()), SEXI::POSTSTOP );
if (lineEditName->text() != current_name)
- sexi->RenameProfile( current_name, std::string(lineEditName->text().utf8()) );
+ sexi->RenameProfile( std::string( current_name.utf8()), std::string(lineEditName->text().utf8()) );
accept();
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/main.cpp new/sumf-0.2.3/src/main.cpp
--- old/sumf-0.2.1/src/main.cpp 2006-06-02 16:18:46.000000000 +0200
+++ new/sumf-0.2.3/src/main.cpp 2006-09-28 10:51:14.000000000 +0200
@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-/* $Id: main.cpp,v 1.12 2006/06/02 14:18:46 gleissner Exp $ */
+/* $Id: main.cpp,v 1.13 2006/09/28 08:51:14 gleissner Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
@@ -57,8 +57,9 @@
// translations for Qt
QTranslator qt( 0 );
- qt.load( QString( "qt_" ) + QTextCodec::locale(), "." );
- app.installTranslator( &qt );
+ qt.load( QString( "qt_" ) + QTextCodec::locale(), "/usr/lib/qt3/translations" );
+ qDebug( "Loading translations %s path %s\n", QTextCodec::locale(), qInstallPathTranslations() );
+ app.installTranslator( &qt );
// translations for application strings
setlocale( LC_ALL, "" );
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/main_window.ui new/sumf-0.2.3/src/main_window.ui
--- old/sumf-0.2.1/src/main_window.ui 2005-08-17 19:31:03.000000000 +0200
+++ new/sumf-0.2.3/src/main_window.ui 2006-09-28 13:49:00.000000000 +0200
@@ -88,6 +88,7 @@
<action name="menuProfileEdit"/>
<action name="menuProfileRemove"/>
<action name="menuProfileSwitch"/>
+ <action name="menuManageBackups"/>
<separator/>
<action name="menuQuit"/>
</item>
@@ -348,6 +349,20 @@
<string>Always show Switch Window</string>
</property>
</action>
+ <action>
+ <property name="name">
+ <cstring>menuManageBackups</cstring>
+ </property>
+ <property name="text">
+ <string>Manage Backups</string>
+ </property>
+ <property name="menuText">
+ <string>Manage Backups</string>
+ </property>
+ <property name="accel">
+ <string>Ctrl+B</string>
+ </property>
+ </action>
</actions>
<connections>
<connection>
@@ -440,6 +455,12 @@
<receiver>MainWindow</receiver>
<slot>profileSwitch()</slot>
</connection>
+ <connection>
+ <sender>menuManageBackups</sender>
+ <signal>activated()</signal>
+ <receiver>MainWindow</receiver>
+ <slot>manageBackups()</slot>
+ </connection>
</connections>
<slots>
<slot>fileExit()</slot>
@@ -457,6 +478,7 @@
<slot>runYaST()</slot>
<slot>toggleAutoClose(bool)</slot>
<slot>toggleShowAlways(bool)</slot>
+ <slot>manageBackups()</slot>
</slots>
<layoutdefaults spacing="6" margin="11"/>
</UI>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/main_window_impl.cpp new/sumf-0.2.3/src/main_window_impl.cpp
--- old/sumf-0.2.1/src/main_window_impl.cpp 2006-05-29 17:46:11.000000000 +0200
+++ new/sumf-0.2.3/src/main_window_impl.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -20,6 +20,7 @@
#include "edit_window_impl.h"
#include "sexi.h"
#include "i18n.h"
+#include "backups_window_impl.h"
MainWindow_impl::MainWindow_impl( bool so, QWidget* parent, const char* name, WFlags fl )
: MainWindow( parent, name, fl )
@@ -212,6 +213,12 @@
{
try {
scpm_status_t scpm_status = sexi->GetStatus();
+ // detemine which profile should be selected
+ string profile;
+ QListViewItem *item = listProfiles->selectedItem();
+ if (item)
+ profile = std::string(item->text(1).utf8());
+
listProfiles->clear();
if (scpm_status.locked) {
listProfiles->setEnabled( false );
@@ -225,7 +232,10 @@
profiles[i] == scpm_status.active_profile ? "->" : "",
QString::fromUtf8(profiles[i].c_str()),
QString::fromUtf8(sexi->GetDescription( profiles[i] ).c_str()) );
+ if (profiles[i]==profile || (profile.empty() && profiles[i] == scpm_status.active_profile))
+ listProfiles->setSelected(elem, true);
}
+
statusBar()->clear();
}
catch( SEXI::op_failed &e ) {
@@ -261,3 +271,10 @@
{
always_show_switch = on;
}
+
+void MainWindow_impl::manageBackups()
+{
+ BackupsWindow_impl bw;
+ if (bw.result() == 0)
+ bw.exec();
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/main_window_impl.h new/sumf-0.2.3/src/main_window_impl.h
--- old/sumf-0.2.1/src/main_window_impl.h 2006-01-23 18:05:06.000000000 +0100
+++ new/sumf-0.2.3/src/main_window_impl.h 2006-09-28 13:49:00.000000000 +0200
@@ -46,6 +46,7 @@
void reloadList();
void toggleAutoClose(bool);
void toggleShowAlways(bool);
+ void manageBackups();
protected:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/selectbackup_window.ui new/sumf-0.2.3/src/selectbackup_window.ui
--- old/sumf-0.2.1/src/selectbackup_window.ui 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/selectbackup_window.ui 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,100 @@
+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
+<class>SelectBackupWindow</class>
+<widget class="QDialog">
+ <property name="name">
+ <cstring>SelectBackupWindow</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>266</width>
+ <height>252</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>Select backup version</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="QListView">
+ <column>
+ <property name="text">
+ <string>Backup</string>
+ </property>
+ <property name="clickable">
+ <bool>true</bool>
+ </property>
+ <property name="resizable">
+ <bool>true</bool>
+ </property>
+ </column>
+ <property name="name">
+ <cstring>listBackups</cstring>
+ </property>
+ </widget>
+ <widget class="QFrame">
+ <property name="name">
+ <cstring>frame3</cstring>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Raised</enum>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdOK</cstring>
+ </property>
+ <property name="text">
+ <string>ok</string>
+ </property>
+ </widget>
+ <widget class="QPushButton">
+ <property name="name">
+ <cstring>cmdCancel</cstring>
+ </property>
+ <property name="text">
+ <string>cancel</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<connections>
+ <connection>
+ <sender>cmdCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>SelectBackupWindow</receiver>
+ <slot>cancel()</slot>
+ </connection>
+ <connection>
+ <sender>cmdOK</sender>
+ <signal>clicked()</signal>
+ <receiver>SelectBackupWindow</receiver>
+ <slot>ok()</slot>
+ </connection>
+ <connection>
+ <sender>listBackups</sender>
+ <signal>doubleClicked(QListViewItem*)</signal>
+ <receiver>SelectBackupWindow</receiver>
+ <slot>ok()</slot>
+ </connection>
+</connections>
+<slots>
+ <slot>cancel()</slot>
+ <slot>ok()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/selectbackup_window_impl.cpp new/sumf-0.2.3/src/selectbackup_window_impl.cpp
--- old/sumf-0.2.1/src/selectbackup_window_impl.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/selectbackup_window_impl.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,61 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: selectbackup_window_impl.cpp
+ * Description: shows available backups for a resource
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#include "selectbackup_window_impl.h"
+#include "sexi.h"
+#include "i18n.h"
+#include <qdatetime.h>
+#include <qlistview.h>
+
+using namespace std;
+
+SelectBackupWindow_impl::SelectBackupWindow_impl( const SEXI::backup_resource_t* br, QWidget* parent , const char* name, bool modal, WFlags fl )
+ : SelectBackupWindow(parent, name, modal, fl)
+{
+ SBListViewItem* item=NULL;
+ QDateTime dt;
+
+ if (br)
+ for (unsigned int i=0; i < br->versions.size(); i++)
+ {
+ item = new SBListViewItem(listBackups, item);
+ dt.setTime_t(br->versions[i].first);
+ item->setText(0, dt.toString(Qt::LocalDate));
+ item->version=br->versions[i];
+ }
+
+ canceled = false;
+}
+
+bool SelectBackupWindow_impl::GetSelectedBackup(pair<time_t, string> &p)
+{
+ QListViewItem* lvi = listBackups->currentItem();
+ SBListViewItem* sbi = NULL;
+ if (lvi && !canceled)
+ if(lvi->rtti() == SBListViewItem::RTTI)
+ {
+ sbi = (SBListViewItem*) lvi;
+ p = sbi->version;
+ return true;
+ }
+ return false;
+}
+
+void SelectBackupWindow_impl::cancel()
+{
+ canceled=true;
+ this->close();
+}
+
+void SelectBackupWindow_impl::ok()
+{
+ canceled=false;
+ this->close();
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/selectbackup_window_impl.h new/sumf-0.2.3/src/selectbackup_window_impl.h
--- old/sumf-0.2.1/src/selectbackup_window_impl.h 1970-01-01 01:00:00.000000000 +0100
+++ new/sumf-0.2.3/src/selectbackup_window_impl.h 2006-09-28 13:49:00.000000000 +0200
@@ -0,0 +1,45 @@
+/****
+ *
+ * Project: SCPM Unversal Management Frontend
+ * File: selectbackup_window_impl.h
+ * Description: shows available backups for a resource
+ * Author: Helmut Schaa (hschaa(a)suse.de)
+ *
+ * Copyright 2005 SUSE LINUX Products GmbH
+ *
+ ***/
+#ifndef SELECTBACKUPWINDOW_IMPL_H
+#define SELECTBACKUPWINDOW_IMPL_H
+
+#include "selectbackup_window.h"
+#include "sexi.h"
+#include <scpm_types.h>
+#include <qlistview.h>
+
+class SBListViewItem : public QListViewItem
+{
+ public:
+ static const int RTTI = 1001;
+ pair<time_t, string> version;
+
+ SBListViewItem(QListView * parent, QListViewItem* lvi) : QListViewItem(parent, lvi) {}
+ virtual int rtti() const {return RTTI;}
+
+};
+
+
+class SelectBackupWindow_impl : public SelectBackupWindow
+{
+ Q_OBJECT
+
+public:
+ SelectBackupWindow_impl(const SEXI::backup_resource_t * br, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
+ bool GetSelectedBackup(pair<time_t, string> &p);
+public slots:
+ void cancel();
+ void ok();
+private:
+ bool canceled;
+};
+
+#endif // SELECTBACKUPWINDOW_IMPL_H
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/sexi.cpp new/sumf-0.2.3/src/sexi.cpp
--- old/sumf-0.2.1/src/sexi.cpp 2006-04-03 16:25:21.000000000 +0200
+++ new/sumf-0.2.3/src/sexi.cpp 2006-09-28 13:49:00.000000000 +0200
@@ -12,6 +12,7 @@
#include <qpushbutton.h>
#include <qmessagebox.h>
#include "sexi.h"
+#include <algorithm>
#define scpmerror QMessageBox::critical( 0, gettext( "Error" ), QString::fromUtf8(scpm_error) )
@@ -22,6 +23,7 @@
switch_info = NULL;
progress_win = pw;
scpm = new SCPM(scpm_flag_hash, msgstream, barstream );
+ scdb = SCDB::GetHandle();
}
SEXI::~SEXI( )
@@ -160,23 +162,93 @@
ProgressExec( SEXEC::RECOVER, (rollback) ? "yes" : "no" );
}
-void SEXI::ShowChanges( std::stringstream &output, const std::string &type, const std::string &name, bool backup )
+void SEXI::ShowChanges( std::stringstream &output, const std::string &type, const std::string &name, bool backup, std::string version )
{
- if (!scpm->ShowChanges( output, type, name, backup ) ) scpm_error;
+ if (!scpm->ShowChanges( output, type, name, backup, version ) ) scpm_error;
}
-bool SEXI::ProgressExec( SEXEC::scpm_command_e cmd, std::string arg1, std::string arg2 )
+std::vector<SEXI::backup_resource_t> SEXI::ListBackupResources(const std::string &profile)
+{
+ std::vector<backup_info_t> backups;
+ std::vector<backup_resource_t> ret;
+ std::vector<std::string> types;
+ std::vector<std::string> resources;
+
+ // get list of all available resources
+ types=scdb->ResourceGetTypes();
+ for (unsigned int typeidx=0; typeidx<types.size(); typeidx++)
+ {
+ backup_resource_t br;
+ br.type = types[typeidx];
+ resources = scdb->ResourceGetNames(types[typeidx]);
+ for (unsigned int residx=0; residx<resources.size(); residx++)
+ {
+ br.name = resources[residx];
+ ret.push_back(br);
+ }
+ }
+
+ // get number of available backups per resource
+ scpm->ListBackups( profile, &backups);
+ for(unsigned int i = 0; i < backups.size(); i++)
+ {
+ for(unsigned int j=0; j < ret.size(); j++)
+ {
+ if (backups[i].name == ret[j].name && backups[i].type==ret[j].type)
+ {
+ ret[j].versions = backups[i].versions;
+ sort(ret[j].versions.begin(), ret[j].versions.end(), greater< pair<time_t, string> >() );
+ break;
+ }
+ }
+ }
+ return ret;
+}
+
+bool SEXI::RestoreBackupResources(const std::vector<std::pair<std::string, std::string> > &res, const std::vector<std::string> &versions, std::string &profile)
+{
+ ProgressExec(SEXEC::RESTOREBACKUP, profile, "", &res, &versions);
+}
+
+bool SEXI::AddBackupResources(const std::vector<std::pair<std::string, std::string> > &res, std::string &profile)
+{
+ ProgressExec(SEXEC::ADDBACKUP, profile, "", &res);
+}
+
+bool SEXI::RemoveBackupResources(const std::vector<std::pair<std::string, std::string> > &res, const std::vector<std::string> &versions, std::string &profile)
+{
+ ProgressExec(SEXEC::REMOVEBACKUP, profile, "", &res, &versions);
+}
+
+bool SEXI::ProgressExec( SEXEC::scpm_command_e cmd, std::string arg1, std::string arg2, const vector<pair<string, string> >* res, const vector<string> * ver )
{
SEXEC se( scpm, success, *switch_info );
progress_win->buttonClose->setEnabled( false );
- se.SetCommand( cmd, arg1, arg2 );
- ProgressWriter p( progress_win->progressBar, progress_win->textProgress, msgstream, barstream );
+ se.SetCommand( cmd, arg1, arg2, res, ver );
+// ProgressWriter p( progress_win->progressBar, progress_win->textProgress, msgstream, barstream );
progress_win->show();
- p.start();
+// p.start();
se.start();
- while (se.running()) { qApp->processEvents(); usleep(1000); };
- p.terminateWriter();
- p.wait();
+ char buf[255];
+
+ while (se.running())
+ {
+ // print status messages
+ if ( msgstream.get(buf,255,'\0') ) {
+ progress_win->textProgress->insert(QObject::tr(buf));
+ }
+ msgstream.clear();
+ // show progress
+ while ( barstream.get() != EOF ) {
+ progress_win->progressBar->setProgress( progress_win->progressBar->progress()+1 );
+ }
+ barstream.clear();
+ // let events be processed
+ qApp->processEvents();
+ usleep(1000);
+ };
+// p.terminateWriter();
+// p.wait();
se.wait();
progress_win->buttonClose->setEnabled( true );
if (!auto_close) progress_win->exec();
@@ -191,11 +263,13 @@
cmd = NONE;
}
-void SEXEC::SetCommand( scpm_command_e command, std::string &arg1, std::string &arg2 )
+void SEXEC::SetCommand( scpm_command_e command, std::string &arg1, std::string &arg2, const vector<pair<string, string> >* res, const vector<string> * ver )
{
cmd = command;
argument1 = arg1;
argument2 = arg2;
+ if (res) resources = *res;
+ if (ver) versions = *ver;
}
void SEXEC::run( )
@@ -230,6 +304,15 @@
case RECOVER:
success = scpm->Recover( (argument1 == "yes") ? true : false );
break;
+ case RESTOREBACKUP:
+ success = scpm->RestoreBackup(resources, versions, argument1);
+ break;
+ case ADDBACKUP:
+ success = scpm->AddBackup(resources, argument1);
+ break;
+ case REMOVEBACKUP:
+ success = scpm->RemoveBackup(resources, versions, argument1);
+ break;
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/sexi.h new/sumf-0.2.3/src/sexi.h
--- old/sumf-0.2.1/src/sexi.h 2006-04-03 16:25:21.000000000 +0200
+++ new/sumf-0.2.3/src/sexi.h 2006-09-28 13:49:00.000000000 +0200
@@ -12,6 +12,7 @@
#define SEXI_H
#include <scpm.h>
+#include <scdb.h>
#include <string>
#include <vector>
#include <qtextedit.h>
@@ -32,11 +33,14 @@
SWITCH,
SAVE,
ENABLE,
- RECOVER
+ RECOVER,
+ ADDBACKUP,
+ RESTOREBACKUP,
+ REMOVEBACKUP
};
SEXEC(SCPM *s, bool &succ, switch_info_t &si);
- void SetCommand( scpm_command_e command, std::string &arg1, std::string &arg2 );
+ void SetCommand( scpm_command_e command, std::string &arg1, std::string &arg2, const vector<pair<string, string> > *resources=NULL, const vector<string> *versions=NULL );
void run( );
private:
@@ -46,6 +50,8 @@
bool &success;
std::string argument1;
std::string argument2;
+ vector<pair<string,string> > resources;
+ vector<string> versions;
};
class SEXI
@@ -68,6 +74,12 @@
POSTSTART,
POSTSTOP
};
+
+ typedef struct backup_resource_t {
+ std::string name;
+ std::string type;
+ vector<pair<time_t, string> > versions;
+ };
static SEXI *GetHandle() { return handle; };
@@ -91,13 +103,19 @@
void Disable( );
void Recover( bool rollback );
void ShowChanges( std::stringstream &output, const std::string &type,
- const std::string &name, bool backup=false );
- bool ProgressExec( SEXEC::scpm_command_e cmd, std::string arg1="", std::string arg2="" );
+ const std::string &name, bool backup=false, std::string version="" );
+ bool ProgressExec( SEXEC::scpm_command_e cmd, std::string arg1="", std::string arg2="" , const vector<pair<string, string> > *resources=NULL, const vector<string> *versions=NULL );
+
void Reinit( );
+ std::vector<backup_resource_t> ListBackupResources(const std::string &profile);
+ bool RestoreBackupResources(const std::vector<std::pair<std::string, std::string> > &res, const std::vector<std::string> &versions, std::string &profile);
+ bool AddBackupResources(const std::vector<std::pair<std::string, std::string> > &res, std::string &profile);
+ bool RemoveBackupResources(const std::vector<std::pair<std::string, std::string> > &res, const std::vector<std::string> &versions, std::string &profile);
private:
ProgressWindow *progress_win;
SCPM *scpm;
+ SCDB *scdb;
std::stringstream msgstream;
std::stringstream barstream;
bool success;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/sumf-0.2.1/src/switch_window_impl.cpp new/sumf-0.2.3/src/switch_window_impl.cpp
--- old/sumf-0.2.1/src/switch_window_impl.cpp 2005-08-30 17:13:56.000000000 +0200
+++ new/sumf-0.2.3/src/switch_window_impl.cpp 2006-09-28 10:51:14.000000000 +0200
@@ -21,13 +21,13 @@
: SwitchWindow( parent, name, modal, fl )
{
try {
- labelActive->setText( sexi->GetActiveProfile() );
+ labelActive->setText( QString::fromUtf8( sexi->GetActiveProfile().c_str() ) );
}
catch( SEXI::op_failed &e ) {
// very unlikely
labelActive->setText( gt("unknown") );
}
- labelDestination->setText( sexi->switch_info->profile_name );
+ labelDestination->setText( QString::fromUtf8( sexi->switch_info->profile_name.c_str() ) );
if (sexi->switch_info->profile_modified)
ParseGroups( sexi->switch_info->modified_resources );
QListViewItem *elem = listResources->firstChild();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 struts
checked in at Thu Sep 28 20:45:11 CEST 2006.
--------
--- struts/struts.changes 2006-05-24 12:13:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/struts/struts.changes 2006-09-28 18:35:54.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Sep 28 18:34:52 CEST 2006 - skh(a)suse.de
+
+- add xalan-j2 to BuildRequires and xalan-j2-serializer.jar to
+ build classpath
+- don't use icecream
+- use source="1.4" and target="1.4" for build with java 1.5
+
+-------------------------------------------------------------------
New:
----
struts-java14compat.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ struts.spec ++++++
--- /var/tmp/diff_new_pack.BHl4Xk/_old 2006-09-28 20:44:33.000000000 +0200
+++ /var/tmp/diff_new_pack.BHl4Xk/_new 2006-09-28 20:44:33.000000000 +0200
@@ -9,9 +9,10 @@
#
# norootforbuild
+# icecream 0
Name: struts
-BuildRequires: ant-apache-oro ant-apache-regexp ant-trax antlr jakarta-commons-fileupload jakarta-commons-lang jakarta-commons-validator java2-devel-packages servletapi4
+BuildRequires: ant-apache-oro ant-apache-regexp ant-trax antlr jakarta-commons-fileupload jakarta-commons-lang jakarta-commons-validator java2-devel-packages servletapi4 xalan-j2
%define name struts
%define full_name jakarta-%{name}
%define version 1.2.4
@@ -26,7 +27,7 @@
%define jdkmajorver 1.4
%define legacyver 1.0
Version: 1.2.4
-Release: 23
+Release: 29
Summary: Web application framework
License: Apache
Group: Development/Libraries/Java
@@ -42,6 +43,7 @@
Patch2: %{name}-bug-38374-backport-from-1.2.9.patch
Patch3: %{name}-bug-38534-backport-from-1.2.9.patch
Patch4: %{name}-bug-38749-backport-from-1.2.9.patch
+Patch5: %{name}-java14compat.patch
URL: http://jakarta.apache.org/struts/
Requires: servlet
Recommends: jdbc-stdext
@@ -125,6 +127,7 @@
%patch2
%patch3
%patch4
+%patch5
cp %{SOURCE4} src/share/org/apache/struts/action/
cp %{SOURCE5} src/test/org/apache/struts/mock/
cp %{SOURCE6} src/test/org/apache/struts/util/
@@ -147,7 +150,7 @@
# build struts
mkdir lib
export CLASSPATH=$(build-classpath xml-commons-apis jaxp_parser_impl \
-jaxp_transform_impl servlet antlr commons-digester-rss oro)
+jaxp_transform_impl servlet antlr commons-digester-rss oro xalan-j2-serializer)
#jaxp_transform_impl jdbc-stdext servlet)
#ant -Djdbc20ext.jar=$(find-jar jdbc-stdext) \
ant -Djdbc20ext.jar=/usr/lib/java/jre/lib/rt.jar \
@@ -275,6 +278,11 @@
%{tomcat5ctxdir}/%{name}-*.xml
%changelog -n struts
+* Thu Sep 28 2006 - skh(a)suse.de
+- add xalan-j2 to BuildRequires and xalan-j2-serializer.jar to
+ build classpath
+- don't use icecream
+- use source="1.4" and target="1.4" for build with java 1.5
* Wed May 24 2006 - dbornkessel(a)suse.de
- changed hard requirement on jdbc-stdext to 'Recommends', as it is not available on some platforms (s390[x])
Bug 177909
++++++ struts-java14compat.patch ++++++
diff -Naur ../jakarta-struts-1.2.4-src.orig/build-tests.xml ./build-tests.xml
--- ../jakarta-struts-1.2.4-src.orig/build-tests.xml 2004-09-13 02:36:09.000000000 +0200
+++ ./build-tests.xml 2006-09-28 18:06:56.000000000 +0200
@@ -165,7 +165,9 @@
destdir="${out.test.dir}/classes"
debug="${compile.debug}"
optimize="${compile.optimize}"
- deprecation="${compile.deprecation}">
+ deprecation="${compile.deprecation}"
+ source="1.4"
+ target="1.4">
<classpath refid="compile.classpath"/>
</javac>
diff -Naur ../jakarta-struts-1.2.4-src.orig/build-webapp.xml ./build-webapp.xml
--- ../jakarta-struts-1.2.4-src.orig/build-webapp.xml 2004-09-13 02:35:58.000000000 +0200
+++ ./build-webapp.xml 2006-09-28 18:07:24.000000000 +0200
@@ -293,7 +293,9 @@
destdir="${webapp.target}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath"/>
</javac>
<copy todir="${webapp.target}/WEB-INF/classes">
diff -Naur ../jakarta-struts-1.2.4-src.orig/build.xml ./build.xml
--- ../jakarta-struts-1.2.4-src.orig/build.xml 2004-09-13 02:36:07.000000000 +0200
+++ ./build.xml 2006-09-28 18:07:43.000000000 +0200
@@ -305,7 +305,9 @@
destdir="${build.home}/library/classes"
debug="${compile.debug}"
optimize="${compile.optimize}"
- deprecation="${compile.deprecation}">
+ deprecation="${compile.deprecation}"
+ source="1.4"
+ target="1.4">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/library/classes">
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/artimus/WEB-INF/build.xml ./contrib/artimus/WEB-INF/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/artimus/WEB-INF/build.xml 2004-09-13 02:36:07.000000000 +0200
+++ ./contrib/artimus/WEB-INF/build.xml 2006-09-28 18:28:45.000000000 +0200
@@ -35,7 +35,7 @@
<target name="compile" depends="prepare,conf">
<!-- Remove jikes if you must use javac instead -->
<property name="build.compiler" value="jikes"/>
- <javac srcdir="src" destdir="classes">
+ <javac srcdir="src" destdir="classes" source="1.4" target="1.4">
<classpath refid="project.class.path"/>
</javac>
</target>
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/scaffold/build.xml ./contrib/scaffold/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/scaffold/build.xml 2004-09-13 02:36:21.000000000 +0200
+++ ./contrib/scaffold/build.xml 2006-09-28 18:08:40.000000000 +0200
@@ -74,7 +74,7 @@
todir="classes"/>
<!-- Remove "jikes" value if you must use javac instead -->
<!-- property name="build.compiler" value="jikes"/ -->
- <javac srcdir="src" destdir="classes">
+ <javac srcdir="src" destdir="classes" source="1.4" target="1.4">
<classpath refid="${compile.classpath}"/>
</javac>
</target>
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/struts-chain/build.xml ./contrib/struts-chain/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/struts-chain/build.xml 2004-09-13 02:35:56.000000000 +0200
+++ ./contrib/struts-chain/build.xml 2006-09-28 18:13:16.000000000 +0200
@@ -139,7 +139,9 @@
destdir="${build.home}/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath" />
</javac>
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build-tests.xml ./contrib/struts-el/build-tests.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build-tests.xml 2004-09-13 02:36:15.000000000 +0200
+++ ./contrib/struts-el/build-tests.xml 2006-09-28 18:19:25.000000000 +0200
@@ -161,7 +161,9 @@
destdir="${out.test.dir}/classes"
debug="${compile.debug}"
optimize="${compile.optimize}"
- deprecation="${compile.deprecation}">
+ deprecation="${compile.deprecation}"
+ source="1.4"
+ target="1.4">
<classpath refid="compile.classpath"/>
</javac>
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build-webapp.xml ./contrib/struts-el/build-webapp.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build-webapp.xml 2004-09-13 02:35:56.000000000 +0200
+++ ./contrib/struts-el/build-webapp.xml 2006-09-28 18:18:56.000000000 +0200
@@ -309,7 +309,9 @@
destdir="${webapp.target}/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath"/>
</javac>
<copy todir="${webapp.target}/WEB-INF/classes">
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build.xml ./contrib/struts-el/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/struts-el/build.xml 2004-09-13 02:35:55.000000000 +0200
+++ ./contrib/struts-el/build.xml 2006-09-28 18:20:41.000000000 +0200
@@ -231,7 +231,8 @@
description="Compile Struts-EL library files">
<javac srcdir="${src.share.dir}" destdir="${build.home}/library/classes"
debug="${compile.debug}" optimize="${compile.optimize}"
- deprecation="${compile.deprecation}">
+ deprecation="${compile.deprecation}"
+ source="1.4" target="1.4">
<classpath refid="compile.classpath"/>
</javac>
<copy todir="${build.home}/library">
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/struts-faces/build.xml ./contrib/struts-faces/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/struts-faces/build.xml 2004-09-13 02:36:10.000000000 +0200
+++ ./contrib/struts-faces/build.xml 2006-09-28 18:14:43.000000000 +0200
@@ -191,7 +191,9 @@
destdir="${build.home}/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath" />
</javac>
@@ -376,7 +378,9 @@
destdir="${build.home}/webapps/example/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath" />
</javac>
@@ -533,7 +537,9 @@
destdir="${build.home}/webapps/example2/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath" />
</javac>
@@ -685,7 +691,9 @@
destdir="${build.home}/webapps/systest/WEB-INF/classes"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="classpath" />
</javac>
@@ -736,7 +744,9 @@
destdir="${build.home}/sysclient"
debug="${compile.debug}"
deprecation="${compile.deprecation}"
- optimize="${compile.optimize}">
+ optimize="${compile.optimize}"
+ source="1.4"
+ target="1.4">
<classpath refid="sysclient.classpath"/>
</javac>
diff -Naur ../jakarta-struts-1.2.4-src.orig/contrib/tag-doc/build.xml ./contrib/tag-doc/build.xml
--- ../jakarta-struts-1.2.4-src.orig/contrib/tag-doc/build.xml 2004-09-13 02:36:02.000000000 +0200
+++ ./contrib/tag-doc/build.xml 2006-09-28 18:28:01.000000000 +0200
@@ -33,7 +33,7 @@
<target name="compile" depends="init">
<javac srcdir="${java.dir}"
- destdir="${classes.dir}" >
+ destdir="${classes.dir}" source="1.4" target="1.4">
<classpath refid="compile.classpath"/>
</javac>
</target>
diff -Naur ../jakarta-struts-1.2.4-src.orig/web/blank/WEB-INF/src/build.xml ./web/blank/WEB-INF/src/build.xml
--- ../jakarta-struts-1.2.4-src.orig/web/blank/WEB-INF/src/build.xml 2004-09-13 02:35:55.000000000 +0200
+++ ./web/blank/WEB-INF/src/build.xml 2006-09-28 18:29:17.000000000 +0200
@@ -52,7 +52,7 @@
<!-- Normal build of application -->
<target name="compile" depends="prepare,resources">
- <javac srcdir="src" destdir="classes">
+ <javac srcdir="src" destdir="classes" source="1.4" target="1.4">
<classpath refid="compile.classpath"/>
</javac>
</target>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 scpm
checked in at Thu Sep 28 20:45:02 CEST 2006.
--------
--- scpm/scpm.changes 2006-08-11 10:12:15.000000000 +0200
+++ /mounts/work_src_done/STABLE/scpm/scpm.changes 2006-09-28 13:16:10.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Sep 28 13:15:42 CEST 2006 - jg(a)suse.de
+
+- update to 1.1.4:
+ * added possibility to restore any backup of a resource,
+ not only the latest
+ * various backup related fixes
+
+-------------------------------------------------------------------
Old:
----
scpm-1.1.4pre1.tar.bz2
New:
----
scpm-1.1.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scpm.spec ++++++
--- /var/tmp/diff_new_pack.WSMY6k/_old 2006-09-28 20:44:19.000000000 +0200
+++ /var/tmp/diff_new_pack.WSMY6k/_new 2006-09-28 20:44:19.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package scpm (Version 1.1.4pre1)
+# spec file for package scpm (Version 1.1.4)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -13,7 +13,7 @@
Name: scpm
BuildRequires: doxygen gcc-c++ graphviz libjpeg-devel libpng-devel mhash-devel
Summary: System Configuration Profile Management
-Version: 1.1.4pre1
+Version: 1.1.4
Release: 1
Group: System/Base
License: GPL
@@ -122,6 +122,11 @@
test "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT
%changelog -n scpm
+* Thu Sep 28 2006 - jg(a)suse.de
+- update to 1.1.4:
+ * added possibility to restore any backup of a resource,
+ not only the latest
+ * various backup related fixes
* Fri Aug 11 2006 - jg(a)suse.de
- update to 1.1.4pre1:
* fixed requires of boot.scpm
++++++ scpm-1.1.4pre1.tar.bz2 -> scpm-1.1.4.tar.bz2 ++++++
++++ 1830 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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