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 2008
- 1 participants
- 1828 discussions
Hello community,
here is the log from the commit of package yast2-tv
checked in at Fri Sep 26 15:21:22 CEST 2008.
--------
--- yast2-tv/yast2-tv.changes 2008-06-19 08:45:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-tv/yast2-tv.changes 2008-09-26 15:09:30.903888000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 26 15:04:45 CEST 2008 - lslezak(a)suse.cz
+
+- fixed Gnome desktop detection (bnc#418685)
+- updated the TV card DB (kernel-2.6.27-rc6-7)
+- 2.17.1
+
+-------------------------------------------------------------------
Old:
----
yast2-tv-2.17.0.tar.bz2
New:
----
yast2-tv-2.17.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-tv.spec ++++++
--- /var/tmp/diff_new_pack.x20393/_old 2008-09-26 15:20:40.000000000 +0200
+++ /var/tmp/diff_new_pack.x20393/_new 2008-09-26 15:20:40.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package yast2-tv (Version 2.17.0)
+# spec file for package yast2-tv (Version 2.17.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -12,12 +19,12 @@
Name: yast2-tv
-Version: 2.17.0
+Version: 2.17.1
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-tv-2.17.0.tar.bz2
+Source0: yast2-tv-2.17.1.tar.bz2
Prefix: /usr
BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
%ifnarch s390 s390x
@@ -47,7 +54,7 @@
Jan Holesovsky <kendy(a)suse.cz>
%prep
-%setup -n yast2-tv-2.17.0
+%setup -n yast2-tv-2.17.1
%build
%{prefix}/bin/y2tool y2autoconf
@@ -81,6 +88,10 @@
/usr/share/YaST2/data/*.ycp
%doc %{prefix}/share/doc/packages/yast2-tv
%changelog
+* Fri Sep 26 2008 lslezak(a)suse.cz
+- fixed Gnome desktop detection (bnc#418685)
+- updated the TV card DB (kernel-2.6.27-rc6-7)
+- 2.17.1
* Thu Jun 19 2008 lslezak(a)suse.cz
- added "Hauppauge WinTV Nova-DT" to the DVB card DB (bnc#398320)
- build the tuner database also for cx88xx driver (bnc#397804)
++++++ yast2-tv-2.17.0.tar.bz2 -> yast2-tv-2.17.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/configure new/yast2-tv-2.17.1/configure
--- old/yast2-tv-2.17.0/configure 2008-06-19 08:41:26.000000000 +0200
+++ new/yast2-tv-2.17.1/configure 2008-09-26 15:08:41.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-tv 2.17.0.
+# Generated by GNU Autoconf 2.61 for yast2-tv 2.17.1.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-tv'
PACKAGE_TARNAME='yast2-tv'
-PACKAGE_VERSION='2.17.0'
-PACKAGE_STRING='yast2-tv 2.17.0'
+PACKAGE_VERSION='2.17.1'
+PACKAGE_STRING='yast2-tv 2.17.1'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-tv 2.17.0 to adapt to many kinds of systems.
+\`configure' configures yast2-tv 2.17.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-tv 2.17.0:";;
+ short | recursive ) echo "Configuration of yast2-tv 2.17.1:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-tv configure 2.17.0
+yast2-tv configure 2.17.1
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-tv $as_me 2.17.0, which was
+It was created by yast2-tv $as_me 2.17.1, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-tv'
- VERSION='2.17.0'
+ VERSION='2.17.1'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.0"
+VERSION="2.17.1"
RPMNAME="yast2-tv"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-tv $as_me 2.17.0, which was
+This file was extended by yast2-tv $as_me 2.17.1, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-tv config.status 2.17.0
+yast2-tv config.status 2.17.1
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/configure.in new/yast2-tv-2.17.1/configure.in
--- old/yast2-tv-2.17.0/configure.in 2008-06-19 08:41:21.000000000 +0200
+++ new/yast2-tv-2.17.1/configure.in 2008-09-26 15:08:36.000000000 +0200
@@ -1,9 +1,9 @@
dnl configure.in for yast2-tv
dnl
-dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.17.3 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-tv, 2.17.0, http://bugs.opensuse.org/, yast2-tv)
+AC_INIT(yast2-tv, 2.17.1, http://bugs.opensuse.org/, yast2-tv)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.0"
+VERSION="2.17.1"
RPMNAME="yast2-tv"
MAINTAINER="Ladislav Slezak <lslezak(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/data/CARDLIST.bttv new/yast2-tv-2.17.1/data/CARDLIST.bttv
--- old/yast2-tv-2.17.0/data/CARDLIST.bttv 2008-04-25 13:37:01.000000000 +0200
+++ new/yast2-tv-2.17.1/data/CARDLIST.bttv 2008-07-13 23:51:29.000000000 +0200
@@ -148,3 +148,5 @@
147 -> VoodooTV 200 (USA) [121a:3000]
148 -> DViCO FusionHDTV 2 [dbc0:d200]
149 -> Typhoon TV-Tuner PCI (50684)
+150 -> Geovision GV-600 [008a:763c]
+151 -> Kozumi KTV-01C
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/data/CARDLIST.cx88 new/yast2-tv-2.17.1/data/CARDLIST.cx88
--- old/yast2-tv-2.17.0/data/CARDLIST.cx88 2008-04-25 13:37:01.000000000 +0200
+++ new/yast2-tv-2.17.1/data/CARDLIST.cx88 2008-07-13 23:51:29.000000000 +0200
@@ -57,3 +57,12 @@
56 -> Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder [0070:9600,0070:9601,0070:9602]
57 -> ADS Tech Instant Video PCI [1421:0390]
58 -> Pinnacle PCTV HD 800i [11bd:0051]
+ 59 -> DViCO FusionHDTV 5 PCI nano [18ac:d530]
+ 60 -> Pinnacle Hybrid PCTV [12ab:1788]
+ 61 -> Winfast TV2000 XP Global [107d:6f18]
+ 62 -> PowerColor RA330 [14f1:ea3d]
+ 63 -> Geniatech X8000-MT DVBT [14f1:8852]
+ 64 -> DViCO FusionHDTV DVB-T PRO [18ac:db30]
+ 65 -> DViCO FusionHDTV 7 Gold [18ac:d610]
+ 66 -> Prolink Pixelview MPEG 8000GT [1554:4935]
+ 67 -> Kworld PlusTV HD PCI 120 (ATSC 120) [17de:08c1]
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/data/CARDLIST.saa7134 new/yast2-tv-2.17.1/data/CARDLIST.saa7134
--- old/yast2-tv-2.17.0/data/CARDLIST.saa7134 2008-04-25 13:37:01.000000000 +0200
+++ new/yast2-tv-2.17.1/data/CARDLIST.saa7134 2008-09-25 05:02:06.000000000 +0200
@@ -25,8 +25,8 @@
24 -> KNC One TV-Station DVR [1894:a006]
25 -> ASUS TV-FM 7133 [1043:4843]
26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b]
- 27 -> Manli MuchTV M-TV002/Behold TV 403 FM
- 28 -> Manli MuchTV M-TV001/Behold TV 401
+ 27 -> Manli MuchTV M-TV002
+ 28 -> Manli MuchTV M-TV001
29 -> Nagase Sangyo TransGear 3000TV [1461:050c]
30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) [1019:4cb4]
31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) [1019:4cb5]
@@ -37,7 +37,7 @@
36 -> UPMOST PURPLE TV [12ab:0800]
37 -> Items MuchTV Plus / IT-005
38 -> Terratec Cinergy 200 TV [153b:1152]
- 39 -> LifeView FlyTV Platinum Mini [5168:0212,4e42:0212]
+ 39 -> LifeView FlyTV Platinum Mini [5168:0212,4e42:0212,5169:1502]
40 -> Compro VideoMate TV PVR/FM [185b:c100]
41 -> Compro VideoMate TV Gold+ [185b:c100]
42 -> Sabrent SBT-TVFM (saa7130)
@@ -128,6 +128,20 @@
127 -> Beholder BeholdTV 507 FM/RDS / BeholdTV 509 FM [0000:5071,0000:507B,5ace:5070,5ace:5090]
128 -> Beholder BeholdTV Columbus TVFM [0000:5201]
129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
-130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
+130 -> Beholder BeholdTV M6 [5ace:6190]
131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
132 -> Genius TVGO AM11MCE
+133 -> NXP Snake DVB-S reference design
+134 -> Medion/Creatix CTX953 Hybrid [16be:0010]
+135 -> MSI TV@nywhere A/D v1.1 [1462:8625]
+136 -> AVerMedia Cardbus TV/Radio (E506R) [1461:f436]
+137 -> AVerMedia Hybrid TV/Radio (A16D) [1461:f936]
+138 -> Avermedia M115 [1461:a836]
+139 -> Compro VideoMate T750 [185b:c900]
+140 -> Avermedia DVB-S Pro A700 [1461:a7a1]
+141 -> Avermedia DVB-S Hybrid+FM A700 [1461:a7a2]
+142 -> Beholder BeholdTV H6 [5ace:6290]
+143 -> Beholder BeholdTV M63 [5ace:6191]
+144 -> Beholder BeholdTV M6 Extra [5ace:6193]
+145 -> AVerMedia MiniPCI DVB-T Hybrid M103 [1461:f636]
+146 -> ASUSTeK P7131 Analog
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/src/Tv.ycp new/yast2-tv-2.17.1/src/Tv.ycp
--- old/yast2-tv-2.17.0/src/Tv.ycp 2008-05-19 14:29:52.000000000 +0200
+++ new/yast2-tv-2.17.1/src/Tv.ycp 2008-09-26 15:08:24.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Data for configuration of tv, input and output functions.
* Authors: Jan Holesovsky <kendy(a)suse.cz>
*
- * $Id: Tv.ycp 47668 2008-05-19 12:29:51Z lslezak $
+ * $Id: Tv.ycp 51587 2008-09-26 13:08:22Z lslezak $
*
* Representation of the configuration of TV cards.
* Input and output routines.
@@ -3588,10 +3588,10 @@
y2milestone("Detected TV card: %1, Radio card: %2", tv, radio);
- if (Package::Installed("kdelibs3") || Package::Installed("kdelibs4"))
- tv_app = "kdetv";
- else if (Package::Installed ("gnome-panel"))
+ if (Package::Installed ("gnome-panel"))
tv_app = "motv";
+ else if (Package::Installed("kdelibs3") || Package::Installed("kdelibs4"))
+ tv_app = "kdetv";
boolean tv_app_installed = Package::Installed (tv_app);
boolean radio_app_installed = Package::Installed ("kradio");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-tv-2.17.0/VERSION new/yast2-tv-2.17.1/VERSION
--- old/yast2-tv-2.17.0/VERSION 2008-06-19 08:16:16.000000000 +0200
+++ new/yast2-tv-2.17.1/VERSION 2008-09-26 15:06:38.000000000 +0200
@@ -1 +1 @@
-2.17.0
+2.17.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 s390-tools
checked in at Fri Sep 26 15:20:31 CEST 2008.
--------
--- arch/s390/s390-tools/s390-tools.changes 2008-09-24 17:32:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/s390-tools/s390-tools.changes 2008-09-26 14:50:46.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 26 15:07:01 CEST 2008 - jjolly(a)suse.de
+
+- Patched zipl/boot link to set build-id to none
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ s390-tools.spec ++++++
--- /var/tmp/diff_new_pack.v17021/_old 2008-09-26 15:20:00.000000000 +0200
+++ /var/tmp/diff_new_pack.v17021/_new 2008-09-26 15:20:00.000000000 +0200
@@ -22,7 +22,7 @@
Url: http://www10.software.ibm.com/developerworks/opensource/linux390
Summary: S/390 tools like zipl and dasdfmt
Version: 1.8.0
-Release: 4
+Release: 5
PreReq: %insserv_prereq %fillup_prereq
License: GPL v2 or later
Provides: s390utils:/sbin/dasdfmt
@@ -250,6 +250,8 @@
/usr/lib/%{snmp}/agents/osasnmpd
%changelog
+* Fri Sep 26 2008 jjolly(a)suse.de
+- Patched zipl/boot link to set build-id to none
* Wed Sep 24 2008 jjolly(a)suse.de
- Updated to 1.8.0 v4 of the tarball
- Added the blktrace_api.h as it doesn't exist in
++++++ s390-tools-180-v3-link_fail.patch ++++++
--- /var/tmp/diff_new_pack.v17021/_old 2008-09-26 15:20:01.000000000 +0200
+++ /var/tmp/diff_new_pack.v17021/_new 2008-09-26 15:20:01.000000000 +0200
@@ -1,11 +1,13 @@
--- zipl/boot/Makefile
+++ zipl/boot/Makefile
-@@ -36,7 +36,7 @@
- $(CC) $(LDFLAGS) -o $@ $$SFLAGS $<
+@@ -32,8 +32,8 @@
+ 2) SFLAGS="-nostdlib -Wl,-Ttext,0x2000";; \
+ 3) SFLAGS="-nostdlib -Wl,-Ttext,0xA000";; \
+ esac; \
+- echo "$(CC) $(LDFLAGS) -o $@ $$SFLAGS $<"; \
+- $(CC) $(LDFLAGS) -o $@ $$SFLAGS $<
++ echo "$(CC) $(LDFLAGS) -Wl,--build-id=none -o $@ $$SFLAGS $<"; \
++ $(CC) $(LDFLAGS) -Wl,--build-id=none -o $@ $$SFLAGS $<
%.bin: %.exec
-- $(OBJCOPY) -O binary $< $@
-+ $(OBJCOPY) -R .note.gnu.build-id -O binary $< $@
-
- %.h: %.bin
- @( echo "const char boot_data_"$(basename $<)"[] = {";\
+ $(OBJCOPY) -O binary $< $@
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 nut
checked in at Fri Sep 26 15:20:02 CEST 2008.
--------
--- nut/nut.changes 2008-05-28 18:09:57.000000000 +0200
+++ /mounts/work_src_done/STABLE/nut/nut.changes 2008-09-26 14:59:23.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 26 14:58:20 CEST 2008 - sbrabec(a)suse.cz
+
+- Fixed PreReq, useradd must be installed for %pre (bnc#429557).
+- Sync permissions in scriptlets and file list.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nut.spec ++++++
--- /var/tmp/diff_new_pack.x12627/_old 2008-09-26 15:17:32.000000000 +0200
+++ /var/tmp/diff_new_pack.x12627/_new 2008-09-26 15:17:32.000000000 +0200
@@ -2,9 +2,16 @@
# spec file for package nut (Version 2.2.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -21,7 +28,7 @@
Conflicts: apcupsd
Summary: Network UPS Tools Core (Unbreakable Power Supply Monitoring)
Version: 2.2.2
-Release: 9
+Release: 63
Url: http://www.networkupstools.org/
Source: %{name}-%{version}.tar.bz2
Source1: upsd.init
@@ -39,7 +46,7 @@
Patch11: nut-intptr.patch
Patch12: nut-hal.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-PreReq: /bin/chown
+PreReq: pwdutils /bin/chown
Requires: nut-package = %{version}
%define apache_serverroot %(%{_sbindir}/apxs2 -q datadir 2>/dev/null || %{_sbindir}/apxs -q PREFIX)
%define CGIPATH %{apache_serverroot}/cgi-bin
@@ -530,7 +537,7 @@
%post
# Be sure that all files are owned by a dedicated user.
-bin/chown -R %{USER}:root %{STATEPATH}
+bin/chown -R %{USER}:%{GROUP} %{STATEPATH}
%post -n libupsclient1 -p /sbin/ldconfig
@@ -657,6 +664,9 @@
%doc %{_mandir}/man3/*.*
%changelog
+* Fri Sep 26 2008 sbrabec(a)suse.cz
+- Fixed PreReq, useradd must be installed for %%pre (bnc#429557).
+- Sync permissions in scriptlets and file list.
* Wed May 28 2008 sbrabec(a)suse.cz
- nut-cgi: Fixed and documented URLs (bnc#354388#c10).
- README.SUSE: Fixed name of the most common USB HID driver.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 rpmlint
checked in at Fri Sep 26 15:19:48 CEST 2008.
--------
--- rpmlint/rpmlint.changes 2008-08-21 00:30:52.000000000 +0200
+++ /mounts/work_src_done/STABLE/rpmlint/rpmlint.changes 2008-09-04 02:43:43.000000000 +0200
@@ -1,0 +2,5 @@
+Wed Sep 3 13:58:22 CEST 2008 - dmueller(a)suse.de
+
+- add description for useless-explicit-requires (bnc#405887)
+
+-------------------------------------------------------------------
New:
----
subprocess-support.diff
useless-requires-doc.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.v13211/_old 2008-09-26 15:17:42.000000000 +0200
+++ /var/tmp/diff_new_pack.v13211/_new 2008-09-26 15:17:42.000000000 +0200
@@ -22,7 +22,7 @@
BuildRequires: rpm-python
Summary: Rpm correctness checker
Version: 0.83
-Release: 29
+Release: 40
Source0: %{name}-%{version}.tar.bz2
Source1: config
Source1001: config.in
@@ -102,6 +102,8 @@
Patch66: suse-no-python-base.diff
Patch67: suse-required-lsb-tags.diff
Patch68: more-verbose-lsb-check.diff
+Patch69: useless-requires-doc.diff
+Patch70: subprocess-support.diff
%py_requires
%description
@@ -173,6 +175,8 @@
%patch66
%patch67
%patch68
+%patch69
+%patch70
cp -p %{SOURCE1} .
cp -p %{SOURCE2} .
cp -p %{SOURCE3} .
@@ -192,7 +196,8 @@
%install
make install DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT/etc/bash_completion.d/rpmlint{,.sh}
+# the provided bash-completion does not work and only prints bash errors
+rm -rf $RPM_BUILD_ROOT/etc/bash_completion.d
mv $RPM_BUILD_ROOT/etc/rpmlint/config $RPM_BUILD_ROOT/usr/share/rpmlint/config
head -n 8 $RPM_BUILD_ROOT/usr/share/rpmlint/config > $RPM_BUILD_ROOT/etc/rpmlint/config
# make sure that the package is sane
@@ -208,10 +213,11 @@
%{_prefix}/share/rpmlint
%config(noreplace) /etc/rpmlint/config
%dir /etc/rpmlint
-/etc/bash_completion.d/rpmlint.sh
/usr/share/man/man1/rpmlint.1.gz
%changelog
+* Wed Sep 03 2008 dmueller(a)suse.de
+- add description for useless-explicit-requires (bnc#405887)
* Thu Aug 21 2008 dmueller(a)suse.de
- rediff patch
* Mon Aug 18 2008 schwab(a)suse.de
++++++ LibraryPolicyCheck.py ++++++
--- rpmlint/LibraryPolicyCheck.py 2008-07-25 04:49:34.000000000 +0200
+++ /mounts/work_src_done/STABLE/rpmlint/LibraryPolicyCheck.py 2008-09-17 00:41:13.000000000 +0200
@@ -38,7 +38,6 @@
"libauthpgsql0",
"libauthpipe0",
"libauthuserdb0",
- "libbluetooth2",
"libcairo2",
"libcairomm-1_0-1",
"libcap1",
++++++ subprocess-support.diff ++++++
--- Pkg.py
+++ Pkg.py
@@ -13,13 +13,18 @@ import rpm
import os.path
import stat
import commands
-import popen2
import re
import string
import tempfile
import types
import sys
+# popen2 is deprecated with 2.6 and newer
+if sys.version_info[0] > 2 or sys.version_info[1] >= 4:
+ import subprocess
+else:
+ import popen2
+
from Filter import printWarning
RPMFILE_CONFIG=(1 << 0)
@@ -93,13 +98,23 @@ def substitute_shell_vars(val, script):
def getstatusoutput(cmd, stdoutonly=0):
'''A version of commands.getstatusoutput() which can take cmd as a
sequence, thus making it potentially more secure. See popen2.'''
- if stdoutonly:
- proc = popen2.Popen3(cmd)
+ if sys.version_info[0] > 2 or sys.version_info[1] >= 4:
+ if stdoutonly:
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, close_fds=True)
+ else:
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, close_fds=True)
+
+ text = proc.stdout.read()
+ sts = proc.wait()
else:
- proc = popen2.Popen4(cmd)
- proc.tochild.close()
- text = proc.fromchild.read()
- sts = proc.wait()
+ if stdoutonly:
+ proc = popen2.Popen3(cmd)
+ else:
+ proc = popen2.Popen4(cmd)
+ proc.tochild.close()
+ text = proc.fromchild.read()
+ sts = proc.wait()
+
if sts is None: sts = 0
if text[-1:] == '\n': text = text[:-1]
return sts, text
++++++ useless-requires-doc.diff ++++++
--- TagsCheck.py
+++ TagsCheck.py
@@ -933,6 +933,10 @@ explicit Requires: tags.''',
'''This package provides 2 times the same capacity. It should only provide it
once.''',
+'useless-explicit-requires',
+'''This package requires 2 times the same capacity. It should only require it
+once.''',
+
'unversioned-explicit-self-provides',
'''This package provides it's own name explicitely, which might break
upgrade path. self-provides are autogenerated. Remove the provide.''',
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 Fri Sep 26 15:17:17 CEST 2008.
--------
--- yast2-storage/yast2-storage.changes 2008-09-23 17:49:29.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2008-09-26 13:49:49.062306000 +0200
@@ -1,0 +2,10 @@
+Fri Sep 26 13:16:42 CEST 2008 - kmachalkova(a)suse.cz
+
+- Suggest to format newly created partition by default (bnc#427604)
+- Propose reasonable mountpoints according to selected filesystem
+ (bnc#425741)
+- Correctly save filesystem ID (bnc#425744)
+- Few look&feel improvements
+- 2.17.33
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-2.17.32.tar.bz2
New:
----
yast2-storage-2.17.33.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.i11053/_old 2008-09-26 15:16:56.000000000 +0200
+++ /var/tmp/diff_new_pack.i11053/_new 2008-09-26 15:16:56.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-storage (Version 2.17.32)
+# spec file for package yast2-storage (Version 2.17.33)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-storage
-Version: 2.17.32
+Version: 2.17.33
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-storage-2.17.32.tar.bz2
+Source0: yast2-storage-2.17.33.tar.bz2
Prefix: /usr
BuildRequires: blocxx-devel boost-devel docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt openssl-devel perl-XML-Writer sablot sgml-skel swig update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-perl-bindings yast2-testsuite
Requires: parted yast2-storage-lib = %version yast2-perl-bindings mdadm lvm2 dmraid multipath-tools kpartx cryptsetup
@@ -58,7 +58,7 @@
Arvin Schnell <aschnell(a)suse.de>
%prep
-%setup -n yast2-storage-2.17.32
+%setup -n yast2-storage-2.17.33
%build
%{prefix}/bin/y2tool y2autoconf
@@ -182,6 +182,13 @@
%doc %{prefix}/share/doc/packages/yast2-storage/libstorage
%doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description
%changelog
+* Fri Sep 26 2008 kmachalkova(a)suse.cz
+- Suggest to format newly created partition by default (bnc#427604)
+- Propose reasonable mountpoints according to selected filesystem
+ (bnc#425741)
+- Correctly save filesystem ID (bnc#425744)
+- Few look&feel improvements
+- 2.17.33
* Tue Sep 23 2008 kmachalkova(a)suse.cz
- Use rpcbind as default portmapper in inst-sys. If not there, try
portmap instead (bnc#427428)
++++++ yast2-storage-2.17.32.tar.bz2 -> yast2-storage-2.17.33.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.32/storage/src/include/ep-dialogs.ycp new/yast2-storage-2.17.33/storage/src/include/ep-dialogs.ycp
--- old/yast2-storage-2.17.32/storage/src/include/ep-dialogs.ycp 2008-09-23 18:14:09.000000000 +0200
+++ new/yast2-storage-2.17.33/storage/src/include/ep-dialogs.ycp 2008-09-26 13:35:15.000000000 +0200
@@ -25,46 +25,85 @@
symbol MiniWorkflowStepFormatMount(map<string, any> &orig_data)
{
map<string, any> data = orig_data;
-
y2milestone("MiniWorkflowStepFormatMount data:%1", data);
+ //retrieve all filesystems
+ map<symbol, map<symbol, any> > all_filesystems = FileSystems::GetAllFileSystems( true, true);
+
+ list <string> ProposeMountpoints( symbol used_fs, string current_mp )
+ {
+ map <symbol, any> fs_data = all_filesystems[used_fs]: $[];
+
+ //not much choice for swap partitions :)
+ if( used_fs == `swap )
+ {
+ return fs_data[ `mountpoints ]:[];
+ }
+ //otherwise, ask notUsedMountPoint, it will filter out
+ //mountpoint already in use + add current mountpoint
+ else
+ {
+ list <string> not_used = notUsedMountpoints( Storage::GetTargetMap(), fs_data[ `mountpoints]:[]);
+ return ( list <string> ) union( [current_mp], not_used );
+ }
+ }
+
+
boolean do_format = data["format"]:false;
+ symbol used_fs = data["used_fs"]:`unknown;
boolean crypt_fs = data["enc_type"]:`none != `none;
string mount = data["mount"]:"";
boolean do_mount = mount != "";
+ /* MiniWorkflowStepPartitionSize data:
+ $["create":true,
+ "cyl_size":8225280,
+ "device":"/dev/sda1",
+ "disk_device":"/dev/sda",
+ "new":true,
+ "slots":$[`primary:[1, 65]],
+ "type":`primary]
+ */
+
+ //Supply some reasonable defaults for newly created partitions
+ //and mark it for formatting, too
if (data["new"]:false && !data["formatmount_proposed"]:false)
{
data["formatmount_proposed"] = true;
- string mount_point_proposal = GetMountPointProposal(Storage::GetTargetMap(), []);
+ //propose new mountpoint and filesystem
+ string mount_point_proposal = SingleMountPointProposal( );
+ used_fs = Partitions::DefaultFs();
- symbol used_fs = Partitions::DefaultFs();
+ //special case for boot partition
if (mount_point_proposal == Partitions::BootMount())
used_fs = Partitions::DefaultBootFs();
- // TODO
data["format"] = true;
data["fsid"] = Partitions::fsid_native;
+ data["used_fs"] = used_fs;
+
+ //set globals
+ do_format = true;
mount = mount_point_proposal;
do_mount = mount != "";
- data["used_fs"] = used_fs;
}
+
term tmp1 = `Empty();
if (contains([`primary, `extended, `logical], data["type"]:`none))
- tmp1 = `VBox(`id(`do_not_format_attachment), FsidComboBox(data, FileSystems::GetAllFileSystems(true, true)));
-
- list mountpoints = nil;
- if (mountpoints == nil)
- mountpoints = [ "/", "/usr", Partitions::BootMount(), "/var", "/home", "/opt" ];
+ {
+ tmp1 = `VBox(`id(`do_not_format_attachment),
+ FsidComboBox(data, FileSystems::GetAllFileSystems(true, true))
+ );
+ }
- if (mount != "" && !contains(mountpoints, mount))
- mountpoints = union([mount], mountpoints);
+ list mountpoints = ProposeMountpoints( used_fs, mount );
term contents = `HVSquash(`VStackFrames(
- `Frame(_("Format"),
+ `Frame(_("Formatting Options"),
`RadioButtonGroup(`id(`format),
+ `MarginBox(2.0, 0.5,
`VBox(
`LeftRadioButtonWithAttachment(`id(`do_format), `opt(`notify),
_("Format the partition"),
@@ -76,10 +115,12 @@
_("Do not format the partition"),
tmp1)
)
+ )
)
),
- `Frame(_("Mount"),
+ `Frame(_("Mounting Options"),
`RadioButtonGroup(`id(`mount),
+ `MarginBox(2.0, 0.5,
`VBox(
`LeftRadioButtonWithAttachment(`id(`do_mount), `opt(`notify),
_("Mount partition"),
@@ -95,6 +136,7 @@
`LeftRadioButton(`id(`do_not_mount), `opt(`notify),
_("Do not mount partition"))
)
+ )
)
)
)
@@ -120,15 +162,34 @@
switch (widget)
{
+ //user has chosen different filesystem
case `fs:
- symbol used_fs = (symbol) UI::QueryWidget(`id(`fs), `Value);
+ {
+ used_fs = (symbol) UI::QueryWidget(`id(`fs), `Value);
+
+ //retrieve info about fs user has selected
+ map used_fs_data = all_filesystems[used_fs]:$[];
+ y2milestone("Selected filesystem details %1", used_fs_data);
+
if (used_fs != data["used_fs"]:`none)
{
+ //set file system type
data["used_fs"] = used_fs;
data = filter(string key, any value, data, { return key != "fs_options"; });
+
+ //set file system ID (and update the File System ID widget
+ //that is - FsidComboBox)
+ data["fsid"] = used_fs_data[`fsid]: Partitions::fsid_native;
+ UI::ChangeWidget( `id(`fsid_point), `Value, used_fs_data[`fsid_item]:"");
+
+ //suggest some nice mountpoints if user wants to mount this partition
+ if (do_mount)
+ {
+ UI::ChangeWidget(`id(`mount_point), `Items, ProposeMountpoints( used_fs, mount ));
+ }
}
break;
-
+ }
case `crypt_fs:
MiniWorkflow::SetLastStep(UI::QueryWidget(`id(`crypt_fs), `Value) != true);
break;
@@ -170,10 +231,14 @@
break;
case `do_mount:
+ do_mount = true;
UI::ChangeWidget(`id(`do_mount_attachment), `Enabled, true);
+ //propose mountpoints
+ UI::ChangeWidget(`id(`mount_point), `Items, ProposeMountpoints( used_fs, mount ));
break;
case `do_not_mount:
+ do_mount = false;
UI::ChangeWidget(`id(`do_mount_attachment), `Enabled, false);
break;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.32/storage/src/include/ep-hd-dialogs.ycp new/yast2-storage-2.17.33/storage/src/include/ep-hd-dialogs.ycp
--- old/yast2-storage-2.17.32/storage/src/include/ep-hd-dialogs.ycp 2008-09-02 17:54:58.000000000 +0200
+++ new/yast2-storage-2.17.33/storage/src/include/ep-hd-dialogs.ycp 2008-09-26 13:35:30.000000000 +0200
@@ -40,8 +40,9 @@
tmp = add(tmp, `LeftRadioButton(`id(`logical), _("&Logical Partition"), type == `logical));
// heading for a frame in a dialog
- term contents = `HVSquash(`Frame(_("Partition Type"),
- `RadioButtonGroup(`id(`partition_type), tmp)));
+ term contents = `HVSquash(
+ `Frame(_("New Partition Type"),
+ `MarginBox(2.0, 0.5, `RadioButtonGroup(`id(`partition_type), tmp))));
MiniWorkflow::SetContents(Greasemonkey::Transform(contents), MiniWorkflowStepPartitionTypeHelptext());
MiniWorkflow::SetLastStep(false);
@@ -107,19 +108,21 @@
term contents = `HVSquash(
// frame heading
- `Frame(_("Size"),
+ `Frame(_("New Partition Size"),
`RadioButtonGroup(`id(`size),
+ `MarginBox(2.0, 0.5,
`VBox(
`LeftRadioButton(`id(`max_size), `opt(`notify),
// radio button text, %1 is replaced by size
sformat(_("Maximum Size (%1)"), Storage::KByteToHumanString(max_size_k))),
// radio button text
- `LeftRadioButtonWithAttachment(`id(`manual_size), `opt(`notify), _("Manual Size"),
+ `LeftRadioButtonWithAttachment(`id(`manual_size), `opt(`notify), _("Custom Size"),
`VBox(`id(`manual_size_attachment),
- `MinWidth(15, `InputField(`id(`size_input), `opt(`shrinkable), _("Size")))
+ `MinWidth(15, `InputField(`id(`size_input), `opt(`shrinkable), _("Size (e.g. 9.0 MB or 9.0 GB)")))
)
)
)
+ )
)));
MiniWorkflow::SetContents(Greasemonkey::Transform(contents), MiniWorkflowStepPartitionSizeHelptext());
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.32/storage/src/include/partition_defines.ycp new/yast2-storage-2.17.33/storage/src/include/partition_defines.ycp
--- old/yast2-storage-2.17.32/storage/src/include/partition_defines.ycp 2008-08-14 16:59:33.000000000 +0200
+++ new/yast2-storage-2.17.33/storage/src/include/partition_defines.ycp 2008-09-25 20:07:13.000000000 +0200
@@ -12,7 +12,7 @@
* mike <mike(a)suse.de>
*
*
- * $Id: partition_defines.ycp 49683 2008-08-05 09:28:37Z aschnell $
+ * $Id: partition_defines.ycp 51555 2008-09-25 17:41:28Z kmachalkova $
*
*/
@@ -215,35 +215,18 @@
/**
- * Make a proposal for a Mountpoint
- * @parm targetMap all targets
- * @return string next mountpoint
+ * Make a proposal for a single mountpoint
+ * (first free on the list in installation,
+ * empty string otherwise)
**/
-define string GetMountPointProposal( map<string,map> targetMap,
- list not_supported_mount_points )
- ``{
- list<string> base = FileSystems::SuggestMPoints();
- base = filter( string mount_point, base,
- ``( !contains( not_supported_mount_points, mount_point )));
- list free_list = filter( string point, base,
- ``{
- boolean found = false;
-
- foreach(string dev, map disk, targetMap,
- ``{
- map parti = (map) find(map part, disk["partitions"]:[],
- ``( part["mount"]:"" == point ));
- if (parti != nil)
- {
- found = true;
- }
- });
-
- return( !found );
- });
-
- return( Mode::normal()?"":(free_list[0]:"") );
- };
-
-
+define string SingleMountPointProposal( )
+``{
+ if ( Mode::normal() )
+ return "";
+ else
+ {
+ list free_list = notUsedMountpoints( Storage::GetTargetMap(), FileSystems::SuggestMPoints() ); // = filter( string point, base,
+ return free_list[0]:"";
+ }
+ }
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-storage-2.17.32/VERSION new/yast2-storage-2.17.33/VERSION
--- old/yast2-storage-2.17.32/VERSION 2008-09-23 14:28:34.000000000 +0200
+++ new/yast2-storage-2.17.33/VERSION 2008-09-26 13:55:28.000000000 +0200
@@ -1 +1 @@
-2.17.32
+2.17.33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-security
checked in at Fri Sep 26 15:16:59 CEST 2008.
--------
--- yast2-security/yast2-security.changes 2008-09-17 09:36:17.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-security/yast2-security.changes 2008-09-26 10:10:04.588291000 +0200
@@ -1,0 +2,12 @@
+Fri Sep 26 10:02:20 CEST 2008 - lslezak(a)suse.cz
+
+- fixed the Security Overview dialog in ncurses mode (use a table
+ widget instead of richtext) (bnc#429965)
+- 2.17.4
+
+-------------------------------------------------------------------
+Tue Sep 23 13:16:26 CEST 2008 - jsrain(a)suse.cz
+
+- fixed incorrect tags in helps (bnc #429063)
+
+-------------------------------------------------------------------
Old:
----
yast2-security-2.17.3.tar.bz2
New:
----
yast2-security-2.17.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-security.spec ++++++
--- /var/tmp/diff_new_pack.Jr9214/_old 2008-09-26 15:16:35.000000000 +0200
+++ /var/tmp/diff_new_pack.Jr9214/_new 2008-09-26 15:16:35.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-security (Version 2.17.3)
+# spec file for package yast2-security (Version 2.17.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-security
-Version: 2.17.3
+Version: 2.17.4
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-security-2.17.3.tar.bz2
+Source0: yast2-security-2.17.4.tar.bz2
Prefix: /usr
BuildRequires: doxygen perl-XML-Writer pkg-config update-desktop-files yast2-devtools yast2-pam yast2-testsuite
# new Pam.ycp API
@@ -49,7 +49,7 @@
Jiri Suchomel <jsuchome(a)suse.cz>
%prep
-%setup -n yast2-security-2.17.3
+%setup -n yast2-security-2.17.4
%build
%{prefix}/bin/y2tool y2autoconf
@@ -83,6 +83,12 @@
/usr/share/YaST2/schema/autoyast/rnc/security.rnc
%doc %{prefix}/share/doc/packages/yast2-security
%changelog
+* Fri Sep 26 2008 lslezak(a)suse.cz
+- fixed the Security Overview dialog in ncurses mode (use a table
+ widget instead of richtext) (bnc#429965)
+- 2.17.4
+* Tue Sep 23 2008 jsrain(a)suse.cz
+- fixed incorrect tags in helps (bnc #429063)
* Tue Sep 16 2008 lslezak(a)suse.cz
- check enabled services in runlevel 3 and 5, activate changes
in Security::Write() (bnc#425864)
++++++ yast2-security-2.17.3.tar.bz2 -> yast2-security-2.17.4.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-security-2.17.3/configure new/yast2-security-2.17.4/configure
--- old/yast2-security-2.17.3/configure 2008-09-17 09:29:49.000000000 +0200
+++ new/yast2-security-2.17.4/configure 2008-09-26 10:08:31.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-security 2.17.3.
+# Generated by GNU Autoconf 2.61 for yast2-security 2.17.4.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-security'
PACKAGE_TARNAME='yast2-security'
-PACKAGE_VERSION='2.17.3'
-PACKAGE_STRING='yast2-security 2.17.3'
+PACKAGE_VERSION='2.17.4'
+PACKAGE_STRING='yast2-security 2.17.4'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-security 2.17.3 to adapt to many kinds of systems.
+\`configure' configures yast2-security 2.17.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-security 2.17.3:";;
+ short | recursive ) echo "Configuration of yast2-security 2.17.4:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-security configure 2.17.3
+yast2-security configure 2.17.4
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-security $as_me 2.17.3, which was
+It was created by yast2-security $as_me 2.17.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-security'
- VERSION='2.17.3'
+ VERSION='2.17.4'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.3"
+VERSION="2.17.4"
RPMNAME="yast2-security"
MAINTAINER="Jiri Suchomel <jsuchome(a)suse.cz>"
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-security $as_me 2.17.3, which was
+This file was extended by yast2-security $as_me 2.17.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-security config.status 2.17.3
+yast2-security config.status 2.17.4
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-security-2.17.3/configure.in new/yast2-security-2.17.4/configure.in
--- old/yast2-security-2.17.3/configure.in 2008-09-17 09:29:44.000000000 +0200
+++ new/yast2-security-2.17.4/configure.in 2008-09-26 10:08:25.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.3 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-security, 2.17.3, http://bugs.opensuse.org/, yast2-security)
+AC_INIT(yast2-security, 2.17.4, http://bugs.opensuse.org/, yast2-security)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.3"
+VERSION="2.17.4"
RPMNAME="yast2-security"
MAINTAINER="Jiri Suchomel <jsuchome(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-security-2.17.3/src/dialogs.ycp new/yast2-security-2.17.4/src/dialogs.ycp
--- old/yast2-security-2.17.3/src/dialogs.ycp 2008-09-16 19:01:22.000000000 +0200
+++ new/yast2-security-2.17.4/src/dialogs.ycp 2008-09-26 10:06:30.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Dialogs definitions
* Authors: Michal Svec <msvec(a)suse.cz>
*
- * $Id: dialogs.ycp 51199 2008-09-16 17:01:23Z lslezak $
+ * $Id: dialogs.ycp 51560 2008-09-26 08:06:27Z lslezak $
*/
{
@@ -25,7 +25,7 @@
"RUNLEVEL5_MANDATORY_SERVICES", "RUNLEVEL3_EXTRA_SERVICES", "RUNLEVEL5_EXTRA_SERVICES" ];
-string SecurityStatus(string option)
+string SecurityStatus(string option, boolean plaintext)
{
string ret = "";
@@ -51,6 +51,11 @@
return _("Unknown");
}
+ if (plaintext)
+ {
+ return ret;
+ }
+
ret = sformat("<A HREF=\"%1\">%2</A>", option, ret);
return ret;
@@ -74,23 +79,29 @@
"IP_TCP_SYNCOOKIES" : _("Enable TCP syncookies"),
"IP_FORWARD" : _("Disable IPv4 forwarding"),
"IPV6_FORWARD" : _("Disable IPv6 forwarding"),
- "RUNLEVEL3_MANDATORY_SERVICES" : _("Enable basic system services in runlevel 3 (multiuser with network)"),
- "RUNLEVEL5_MANDATORY_SERVICES" : _("Enable basic system services in runlevel 5 (multiuser with network and graphical login)"),
+ "RUNLEVEL3_MANDATORY_SERVICES" : _("Enable basic system services in runlevel 3\n (multiuser with network)"),
+ "RUNLEVEL5_MANDATORY_SERVICES" : _("Enable basic system services in runlevel 5\n (multiuser with network and graphical login)"),
"RUNLEVEL3_EXTRA_SERVICES" : _("Enable extra services in runlevel 3"),
"RUNLEVEL5_EXTRA_SERVICES" : _("Enable extra services in runlevel 5"),
];
-string OverviewText()
+any OverviewText(symbol type)
{
- // open a table
- string ret = sformat("<TABLE><TR> <TD><BIG><B>%1</B></BIG></TD>
+ string ret = "";
+ list<term> ret_table = [];
+
+ if (type == `richtext)
+ {
+ // open a table
+ ret = sformat("<TABLE><TR> <TD><BIG><B>%1</B></BIG></TD>
<TD ALIGN=center><BIG><B> %2 </B></BIG></TD>
<TD ALIGN=center><BIG><B> %3 </B></BIG></TD>
<TD></TD>
</TR> <TR></TR>",
- // table header
- _("Security Setting"), _("Status"), _("Security Status"));
+ // table header
+ _("Security Setting"), _("Status"), _("Security Status"));
+ }
list<map> security_mapping = [
$[
@@ -186,21 +197,42 @@
string id = setting["id"]:"";
- // add one line for each security setting
- ret = ret + sformat("<TR><TD>%1 </TD><TD ALIGN=center>%2</TD><TD ALIGN=center> %3</TD><TD>%4</TD></TR>",
- label_mapping[id]:"",
- SecurityStatus(id),
- setting["is_secure"]:false ?
- "<SUP><FONT COLOR=green SIZE=20>✔</FONT></SUP>" : "<FONT COLOR=red SIZE=20><SUP>✘</SUP></FONT>",
- haskey(help_mapping, id) ? sformat("<A HREF=\"help_%1\">%2</A> ", id, _("Help")) : ""
- );
+ if (type == `table)
+ {
+ ret_table = add(ret_table, `item(`id(id), label_mapping[id]:"", SecurityStatus(id, true),
+ setting["is_secure"]:false ? "✔" : "✘"));
+ }
+ else if (type == `richtext)
+ {
+ // add one line for each security setting
+ ret = ret + sformat("<TR><TD>%1 </TD><TD ALIGN=center>%2</TD><TD ALIGN=center> %3</TD><TD>%4</TD></TR>",
+ label_mapping[id]:"",
+ SecurityStatus(id, false),
+ setting["is_secure"]:false ?
+ "<SUP><FONT COLOR=green SIZE=20>✔</FONT></SUP>" : "<FONT COLOR=red SIZE=20><SUP>✘</SUP></FONT>",
+ haskey(help_mapping, id) ? sformat("<A HREF=\"help_%1\">%2</A> <BR>", id, _("Help")) : ""
+ );
+ }
}
);
- // close the table
- ret = ret + "</TABLE>";
+ if (type == `table)
+ {
+ y2milestone("Overview table: %1", ret_table);
+ return ret_table;
+ }
+ else if (type == `richtext)
+ {
+ // close the table
+ ret = ret + "</TABLE>";
+
+ y2milestone("Overview text: %1", ret);
+ return ret;
+ }
- return ret;
+ y2error("Unknown type: %1", type);
+
+ return nil;;
}
// mapping for "Enable" and "Disable" links
@@ -237,7 +269,7 @@
string help = help_mapping[help_id]:"";
// add the warning if the option is unknown
- if (SecurityStatus(help_id) == _("Unknown"))
+ if (SecurityStatus(help_id, true) == _("Unknown"))
{
help = help + HELPS["unknown_status"]:"";
}
@@ -286,8 +318,31 @@
/* Overview dialog caption */
string caption = _("Security Overview");
string help = HELPS["overview"]:"";
+ boolean textmode = UI::GetDisplayInfo()["TextMode"]:false;
- term contents = `RichText(`id(`rtext), OverviewText());
+ // table header
+ term tabheader = `header(_("Security Setting"), _("Status"), `Center(_("Security Status")));
+
+ term contents = textmode ?
+ `Table(`id(`table), tabheader, OverviewText(`table)) :
+ `RichText(`id(`rtext), OverviewText(`richtext));
+
+ if (textmode)
+ {
+ // add a button box below the table
+ contents = `VBox(
+ contents,
+ `VSpacing(1),
+ `HBox(
+ // push button label
+ `PushButton(`id(`change), _("Change &Status")),
+ `HSpacing(2),
+ // push button label
+ `PushButton(`id(`descr), _("&Description"))
+ ),
+ `VSpacing(1)
+ );
+ }
Wizard::SetContentsButtons(caption, contents, help,
Label::BackButton(), Label::OKButton());
@@ -323,8 +378,14 @@
break;
}
// user clicked a link in the richtext
- else if (is(ret, string) && haskey(Security::Settings, ret))
+ else if ((is(ret, string) && haskey(Security::Settings, ret)) || ret == `change)
{
+ if (ret == `change)
+ {
+ // query the table in textmode
+ ret = (string)UI::QueryWidget(`id(`table), `CurrentItem);
+ }
+
y2milestone("Clicked %1 link", ret);
string current_value = Security::Settings[(string)ret]:"";
@@ -339,7 +400,16 @@
// the config has been changed
Security::SetModified();
- UI::ChangeWidget(`id(`rtext), `Value, OverviewText());
+ if (textmode)
+ {
+ UI::ChangeWidget(`id(`table), `Items, OverviewText(`table));
+ UI::ChangeWidget(`id(`table), `CurrentItem, ret);
+ UI::SetFocus(`id(`table));
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`rtext), `Value, OverviewText(`richtext));
+ }
}
else if (haskey(link_config_mapping, ret))
{
@@ -365,6 +435,18 @@
{
eval(link_update_mapping[ret]:nil);
}
+
+ // update the overview
+ if (textmode)
+ {
+ UI::ChangeWidget(`id(`table), `Items, OverviewText(`table));
+ UI::ChangeWidget(`id(`table), `CurrentItem, ret);
+ UI::SetFocus(`id(`table));
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`rtext), `Value, OverviewText(`richtext));
+ }
}
}
}
@@ -373,12 +455,20 @@
y2error("Unknown action for link %1", ret);
}
}
- else if (is(ret, string) && regexpmatch((string)ret, "^help_"))
+ else if ((is(ret, string) && regexpmatch((string)ret, "^help_")) || ret == `descr)
{
- string help_id = regexpsub((string)ret, "^help_(.*)", "\\1");
+ string help_id = textmode ?
+ (string)UI::QueryWidget(`id(`table), `CurrentItem)
+ : regexpsub((string)ret, "^help_(.*)", "\\1");
y2milestone("Clicked help link: %1", help_id);
DisplayHelpPopup(help_id);
+
+ // switch the focus back to the table in textmode UI
+ if (textmode)
+ {
+ UI::SetFocus(`id(`table));
+ }
}
else {
y2error("Unexpected return code: %1", ret);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-security-2.17.3/src/helps.ycp new/yast2-security-2.17.4/src/helps.ycp
--- old/yast2-security-2.17.3/src/helps.ycp 2008-09-16 17:34:38.000000000 +0200
+++ new/yast2-security-2.17.4/src/helps.ycp 2008-09-24 08:54:30.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Helps definition
* Authors: Michal Svec <msvec(a)suse.cz>
*
- * $Id: helps.ycp 51197 2008-09-16 15:34:40Z lslezak $
+ * $Id: helps.ycp 51398 2008-09-23 11:16:56Z jsrain $
*
* This file contains all helps for the security module screens.
* They are in one huge map called HELPS.
@@ -265,9 +265,9 @@
"IP_TCP_SYNCOOKIES" : _("<P>A system can be overwhelmed with numerous connection attempts so that the system runs out of memory, leading to a Denial of Service (DoS) vulnerability.</P><P>The use of syncookies is a method that can help in such situations, but in configurations with a very large number of legitimate connection attempts from one source the <EM>Enabled</EM> setting can bring problems with denied TCP connections under high load.</P><P>Still, for most environments, the syncookies are the first line of defense against SYN flood DoS attacks, so the secure setting is <EM>Enabled</EM>.</P>"),
- "IP_FORWARD" : _("<P>IP forwarding means to pass on network packets that have been received, but that are not destined for one of the system's configured network interfaces, e.g. network interface addresses.</P><P>If a system forwards network traffic on ISO/OSI layer 3, it is called a router. If you do not need that routing functionality, then disable this option.</P>") + _("</P>This setting applies to <EM>IPV4</EM> only.</P>"),
+ "IP_FORWARD" : _("<P>IP forwarding means to pass on network packets that have been received, but that are not destined for one of the system's configured network interfaces, e.g. network interface addresses.</P><P>If a system forwards network traffic on ISO/OSI layer 3, it is called a router. If you do not need that routing functionality, then disable this option.</P>") + _("<P>This setting applies to <EM>IPv4</EM> only.</P>"),
- "IPV6_FORWARD" : _("<P>IP forwarding means to pass on network packets that have been received, but that are not destined for one of the system's configured network interfaces, eg network interface addresses.</P><P>If a system forwards network traffic on ISO/OSI layer 3, it is called a router. If you do not need that routing functionality, then disable this option.</P>") + _("</P>This setting applies to <EM>IPV6</EM> only.</P>"),
+ "IPV6_FORWARD" : _("<P>IP forwarding means to pass on network packets that have been received, but that are not destined for one of the system's configured network interfaces, eg network interface addresses.</P><P>If a system forwards network traffic on ISO/OSI layer 3, it is called a router. If you do not need that routing functionality, then disable this option.</P>") + _("<P>This setting applies to <EM>IPv6</EM> only.</P>"),
"ENABLE_SYSRQ": _("<P>Magic SysRq Keys enable some control over the system even if it crashes (e.g. during kernel debugging) or if the system does not respond.</P>"),
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-security-2.17.3/VERSION new/yast2-security-2.17.4/VERSION
--- old/yast2-security-2.17.3/VERSION 2008-09-17 09:23:08.000000000 +0200
+++ new/yast2-security-2.17.4/VERSION 2008-09-26 10:01:21.000000000 +0200
@@ -1 +1 @@
-2.17.3
+2.17.4
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-printer
checked in at Fri Sep 26 15:16:47 CEST 2008.
--------
--- yast2-printer/yast2-printer.changes 2008-09-25 17:58:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-printer/yast2-printer.changes 2008-09-26 12:59:54.215779000 +0200
@@ -1,0 +2,11 @@
+Fri Sep 26 12:34:22 CEST 2008 - jsmeix(a)suse.de
+
+- In the "Share Printers" dialog it is now no longer possible
+ to "Add" the same network interface several times
+ (even with different settings for "publishing").
+- Using Popup::ErrorDetails wherever possible to provide
+ the actual system stderr message via [Details]
+ (see Novell/Suse Bugzilla bnc#429397).
+- 2.17.17
+
+-------------------------------------------------------------------
Old:
----
yast2-printer-2.17.16.tar.bz2
New:
----
yast2-printer-2.17.17.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-printer.spec ++++++
--- /var/tmp/diff_new_pack.LW8321/_old 2008-09-26 15:16:11.000000000 +0200
+++ /var/tmp/diff_new_pack.LW8321/_new 2008-09-26 15:16:11.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-printer (Version 2.17.16)
+# spec file for package yast2-printer (Version 2.17.17)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -20,12 +20,12 @@
Url: http://en.opensuse.org/YaST/Modules/Printer
Name: yast2-printer
-Version: 2.17.16
+Version: 2.17.17
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-printer-2.17.16.tar.bz2
+Source0: yast2-printer-2.17.17.tar.bz2
Prefix: /usr
BuildRequires: cups-devel update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-testsuite
Recommends: netcat
@@ -64,7 +64,7 @@
Michal Zugec <mzugec(a)suse.cz>
%prep
-%setup -n yast2-printer-2.17.16
+%setup -n yast2-printer-2.17.17
%build
%{prefix}/bin/y2tool y2autoconf
@@ -119,6 +119,14 @@
%exclude %{prefix}/share/doc/packages/yast2-printer/COPYING
%exclude %{prefix}/share/doc/packages/yast2-printer/README
%changelog
+* Fri Sep 26 2008 jsmeix(a)suse.de
+- In the "Share Printers" dialog it is now no longer possible
+ to "Add" the same network interface several times
+ (even with different settings for "publishing").
+- Using Popup::ErrorDetails wherever possible to provide
+ the actual system stderr message via [Details]
+ (see Novell/Suse Bugzilla bnc#429397).
+- 2.17.17
* Thu Sep 25 2008 jsmeix(a)suse.de
- First usable version of the "Share Printers" dialog.
Curently it is not yet implemented to share via
++++++ yast2-printer-2.17.16.tar.bz2 -> yast2-printer-2.17.17.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/configure new/yast2-printer-2.17.17/configure
--- old/yast2-printer-2.17.16/configure 2008-09-25 17:50:47.000000000 +0200
+++ new/yast2-printer-2.17.17/configure 2008-09-26 12:55:31.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-printer 2.17.16.
+# Generated by GNU Autoconf 2.61 for yast2-printer 2.17.17.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-printer'
PACKAGE_TARNAME='yast2-printer'
-PACKAGE_VERSION='2.17.16'
-PACKAGE_STRING='yast2-printer 2.17.16'
+PACKAGE_VERSION='2.17.17'
+PACKAGE_STRING='yast2-printer 2.17.17'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-printer 2.17.16 to adapt to many kinds of systems.
+\`configure' configures yast2-printer 2.17.17 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-printer 2.17.16:";;
+ short | recursive ) echo "Configuration of yast2-printer 2.17.17:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-printer configure 2.17.16
+yast2-printer configure 2.17.17
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-printer $as_me 2.17.16, which was
+It was created by yast2-printer $as_me 2.17.17, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-printer'
- VERSION='2.17.16'
+ VERSION='2.17.17'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.16"
+VERSION="2.17.17"
RPMNAME="yast2-printer"
MAINTAINER="Michal Zugec <mzugec(a)novell.com>"
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-printer $as_me 2.17.16, which was
+This file was extended by yast2-printer $as_me 2.17.17, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-printer config.status 2.17.16
+yast2-printer config.status 2.17.17
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/configure.in new/yast2-printer-2.17.17/configure.in
--- old/yast2-printer-2.17.16/configure.in 2008-09-25 17:50:43.000000000 +0200
+++ new/yast2-printer-2.17.17/configure.in 2008-09-26 12:55:27.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-printer, 2.17.16, http://bugs.opensuse.org/, yast2-printer)
+AC_INIT(yast2-printer, 2.17.17, http://bugs.opensuse.org/, yast2-printer)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.16"
+VERSION="2.17.17"
RPMNAME="yast2-printer"
MAINTAINER="Michal Zugec <mzugec(a)novell.com>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/basicadd.ycp new/yast2-printer-2.17.17/src/basicadd.ycp
--- old/yast2-printer-2.17.16/src/basicadd.ycp 2008-09-24 17:20:29.000000000 +0200
+++ new/yast2-printer-2.17.17/src/basicadd.ycp 2008-09-26 12:28:04.000000000 +0200
@@ -340,6 +340,13 @@
driver_filter_string = "^" + driver_filter_string;
}
}
+ if( "" == driver_filter_string )
+ { // Set a fallback driver_filter_string to avoid that the full list
+ // of thousands of PPDs is shown automatically because
+ // it can take a very long time until the user can proceed:
+ driver_filter_input_text = "Generic";
+ driver_filter_string = "^generic";
+ }
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
`TextEntry( `id(`driver_filter_input),
// Caption for a printer driver selection:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/basicmodify.ycp new/yast2-printer-2.17.17/src/basicmodify.ycp
--- old/yast2-printer-2.17.16/src/basicmodify.ycp 2008-09-24 17:20:29.000000000 +0200
+++ new/yast2-printer-2.17.17/src/basicmodify.ycp 2008-09-26 12:27:37.000000000 +0200
@@ -663,6 +663,13 @@
driver_filter_string = filterchars( tolower( model ), Printer::lower_alnum_chars );
}
}
+ if( "" == driver_filter_string )
+ { // Set a fallback driver_filter_string to avoid that the full list
+ // of thousands of PPDs is shown automatically because
+ // it can take a very long time until the user can proceed:
+ driver_filter_input_text = "Generic";
+ driver_filter_string = "^generic";
+ }
UI::ReplaceWidget( `id(`driver_filter_input_replace_point),
`TextEntry( `id(`driver_filter_input),
// Caption for a printer driver selection:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/overview.ycp new/yast2-printer-2.17.17/src/overview.ycp
--- old/yast2-printer-2.17.16/src/overview.ycp 2008-09-24 17:20:29.000000000 +0200
+++ new/yast2-printer-2.17.17/src/overview.ycp 2008-09-26 12:09:30.000000000 +0200
@@ -33,7 +33,6 @@
import "Label";
import "Popup";
-import "Report";
import "Wizard";
import "Wizard_hw";
import "Confirm";
@@ -348,10 +347,11 @@
}
// Remove the 'ServerName' entry in /etc/cups/client.conf:
if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir + "cups_client_only none" ) )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to remove the 'ServerName' entry in /etc/cups/client.conf")
+ { Popup::ErrorDetails( // Popup::ErrorDetails message.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to remove the 'ServerName' entry in /etc/cups/client.conf"),
+ Printerlib::result["stderr"]:""
);
return nil;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/Printerlib.ycp new/yast2-printer-2.17.17/src/Printerlib.ycp
--- old/yast2-printer-2.17.16/src/Printerlib.ycp 2008-09-24 17:20:29.000000000 +0200
+++ new/yast2-printer-2.17.17/src/Printerlib.ycp 2008-09-26 10:25:11.000000000 +0200
@@ -108,19 +108,30 @@
);
return false;
}
- // Wait one minute for a new started cupsd is necessary because
+ // Sleep one second in any case so that the new started cupsd can become ready to operate:
+ sleep( 1000 );
+ // Wait half a minute for a new started cupsd is necessary because
// when a client-only config is switched to a "get Browsing info" config
// the BrowseInterval in cupsd.conf on remote CUPS servers is by default 30 seconds
// so that the local cupsd should listen at least 31 seconds to get Browsing info
// before e.g. the Overview dialog can be shown with the right current queues.
- // Additionally during first start after system installation the cupsd parses
- // all the (usually thousands) of installed PPDs to generate
- // the list of available drivers (what "lpinfo -l -m" shows).
- Popup::TimedMessage( _("Started the CUPS daemon.\nWaiting one minute so that it is ready to operate..."),
- 60
+ Popup::TimedMessage( _("Started the CUPS daemon.\nWaiting half a minute so that it is ready to operate..."),
+ 30
);
local_cupsd_accessible = ExecuteBashCommand( local_cupsd_accessible_commandline );
if( ! local_cupsd_accessible )
+ { // It can take up to a few minutes when a cupsd is started
+ // for the very first time (e.g. on a new installed system)
+ // until the cupsd is actually ready to operate.
+ // E.g. because parsing of thousands of PPDs may need much time.
+ // Therefore enforce waiting one minute now.
+ // (Plain busy message without title.)
+ Popup::ShowFeedback( "", _("The CUPS daemon in not yet accessible.\nWaiting one minute so that it is ready to operate...") );
+ sleep( 60000 );
+ Popup::ClearFeedback();
+ }
+ local_cupsd_accessible = ExecuteBashCommand( local_cupsd_accessible_commandline );
+ if( ! local_cupsd_accessible )
{ Popup::Error( // Popup::Error message:
_("No local running CUPS daemon is accessible.")
);
@@ -155,13 +166,17 @@
);
return false;
}
- // Wait 40 seconds for a restarted cupsd is necessary because
+ // Sleep two seconds in any case so that the re-started cupsd can become ready to operate.
+ // It may need one second for some cleanup before finishing
+ // and one second to become ready to operate after starting.
+ sleep( 2000 );
+ // Wait half a minute for a restarted cupsd is necessary because
// when a "no Browsing info" config is switched to a "get Browsing info" config
// the BrowseInterval in cupsd.conf on remote CUPS servers is by default 30 seconds
// so that the local cupsd should listen at least 31 seconds to get Browsing info
// before e.g. the Overview dialog can be shown with the right current queues.
- Popup::TimedMessage( _("Restarted the CUPS daemon.\nWaiting 40 seconds so that it is ready to operate..."),
- 40
+ Popup::TimedMessage( _("Restarted the CUPS daemon.\nWaiting half a minute so that it is ready to operate..."),
+ 30
);
local_cupsd_accessible = ExecuteBashCommand( local_cupsd_accessible_commandline );
if( ! local_cupsd_accessible )
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/Printer.ycp new/yast2-printer-2.17.17/src/Printer.ycp
--- old/yast2-printer-2.17.16/src/Printer.ycp 2008-09-25 13:55:31.000000000 +0200
+++ new/yast2-printer-2.17.17/src/Printer.ycp 2008-09-26 12:09:23.000000000 +0200
@@ -36,7 +36,6 @@
textdomain "printer";
import "Progress";
-import "Report";
import "Summary";
import "Message";
import "Popup";
@@ -290,11 +289,12 @@
else
{ Popup::ClearFeedback();
}
- Report::Error( // Message of a Report::Error.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to create PPD database.")
- );
+ Popup::ErrorDetails( // Popup::ErrorDetails message.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to create PPD database."),
+ Printerlib::result["stderr"]:""
+ );
return false;
}
if( -1 == SCR::Read( .target.size, database_filename ) )
@@ -305,12 +305,12 @@
{ Popup::ClearFeedback();
}
y2milestone( "Error: %1: file does not exist.", database_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("File %1 does not exist."),
- database_filename
- )
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("File %1 does not exist."),
+ database_filename
+ )
);
return false;
}
@@ -323,12 +323,12 @@
{ Popup::ClearFeedback();
}
y2milestone( "Error: Failed to read %1", database_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to read %1."),
- database_filename
- )
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to read %1."),
+ database_filename
+ )
);
ppds = [];
return false;
@@ -410,13 +410,14 @@
else
{ Popup::ClearFeedback();
}
- Report::Error( // Message of a Report::Error.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- // Do not confuse this error with the case when no printer was autodetected.
- // The latter results no error.
- _("Failed to detect printers automatically.")
- );
+ Popup::ErrorDetails( // Popup::ErrorDetails message.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ // Do not confuse this error with the case when no printer was autodetected.
+ // The latter results no error.
+ _("Failed to detect printers automatically."),
+ Printerlib::result["stderr"]:""
+ );
return false;
}
if( -1 == SCR::Read( .target.size, autodetected_printers_filename ) )
@@ -427,12 +428,12 @@
{ Popup::ClearFeedback();
}
y2milestone( "Error: %1: file does not exist.", autodetected_printers_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("File %1 does not exist."),
- autodetected_printers_filename
- )
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("File %1 does not exist."),
+ autodetected_printers_filename
+ )
);
return false;
}
@@ -445,13 +446,13 @@
{ Popup::ClearFeedback();
}
y2milestone( "Error: Failed to read %1", autodetected_printers_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to read %1."),
- autodetected_printers_filename
- )
- );
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to read %1."),
+ autodetected_printers_filename
+ )
+ );
connections = [];
return false;
}
@@ -494,36 +495,37 @@
{ // To be safe invalidate selected_queues_index in any case:
selected_queues_index = -1;
if( ! Printerlib::ExecuteBashCommand( autodetect_queues_commandline ) )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- // Do not confuse this error with the case when no queue was detected
- // (e.g. simply because there is no queue). This results no error.
- _("Failed to detect print queues.")
- );
+ { Popup::ErrorDetails( // Popup::ErrorDetails message.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ // Do not confuse this error with the case when no queue was detected
+ // (e.g. simply because there is no queue). This results no error.
+ _("Failed to detect print queues."),
+ Printerlib::result["stderr"]:""
+ );
return false;
}
if( -1 == SCR::Read( .target.size, autodetected_queues_filename ) )
{ y2milestone( "Error: %1: file does not exist.", autodetected_queues_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("File %1 does not exist."),
- autodetected_queues_filename
- )
- );
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("File %1 does not exist."),
+ autodetected_queues_filename
+ )
+ );
return false;
}
queues = (list< map< string, string > >)SCR::Read( .target.ycp, autodetected_queues_filename );
if( nil == queues )
{ y2milestone( "Error: Failed to read %1", autodetected_queues_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to read %1."),
- autodetected_queues_filename
- )
- );
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to read %1."),
+ autodetected_queues_filename
+ )
+ );
queues = [];
return false;
}
@@ -551,38 +553,39 @@
}
string commandline = determine_printer_driver_options_commandline + queue_name;
if( ! Printerlib::ExecuteBashCommand( commandline ) )
- { Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the queue name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- // Do not confuse this error with the case when no queue was detected
- // (e.g. simply because there is no queue). This results no error.
- _("Failed to determine driver options for queue %1."),
- queue_name
- )
- );
+ { Popup::ErrorDetails( sformat( // Popup::ErrorDetails message where %1 will be replaced by the queue name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ // Do not confuse this error with the case when no queue was detected
+ // (e.g. simply because there is no queue). This results no error.
+ _("Failed to determine driver options for queue %1."),
+ queue_name
+ ),
+ Printerlib::result["stderr"]:""
+ );
return false;
}
if( -1 == SCR::Read( .target.size, driver_options_filename ) )
{ y2milestone( "Error: %1: file does not exist.", driver_options_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("File %1 does not exist."),
- driver_options_filename
- )
- );
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("File %1 does not exist."),
+ driver_options_filename
+ )
+ );
return false;
}
driver_options = (list< map< string, any > >)SCR::Read( .target.ycp, driver_options_filename );
if( nil == driver_options )
{ y2milestone( "Error: Failed to read %1", driver_options_filename );
- Report::Error( sformat( // Message of a Report::Error where %1 will be replaced by the file name.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- _("Failed to read %1."),
- driver_options_filename
- )
- );
+ Popup::Error( sformat( // Message of a Popup::Error where %1 will be replaced by the file name.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ _("Failed to read %1."),
+ driver_options_filename
+ )
+ );
driver_options = [];
return false;
}
@@ -745,13 +748,13 @@
{ // Invalidate selected_queues_index to be safe:
selected_queues_index = -1;
if( ! AutodetectQueues() )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because this error does not happen on a normal system
- // (i.e. a system which is not totally broken or totally messed up).
- // Do not confuse this error with the case when no queue was detected
- // (e.g. simply because there is no queue). This results no error.
- _("Cannot show print queues (failed to detect print queues).")
- );
+ { Popup::Error( // Message of a Popup::Error.
+ // Only a simple message because this error does not happen on a normal system
+ // (i.e. a system which is not totally broken or totally messed up).
+ // Do not confuse this error with the case when no queue was detected
+ // (e.g. simply because there is no queue). This results no error.
+ _("Cannot show print queues (failed to detect print queues).")
+ );
// Return an empty list:
return [];
}
@@ -856,11 +859,11 @@
);
// AutodetectPrinters overwrites the existing connections list:
if( ! AutodetectPrinters() )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because before the function AutodetectPrinters
- // was called and this function would have shown more specific messages.
- _("Failed to autodetect printers.")
- );
+ { Popup::Error( // Message of a Popup::Error.
+ // Only a simple message because before the function AutodetectPrinters
+ // was called and this function would have shown more specific messages.
+ _("Failed to autodetect printers.")
+ );
// Return only the existing connection wizard connections which is usally an empty list:
return connection_wizard_connections;
}
@@ -1091,11 +1094,11 @@
{ // Create the driver database only if the ppds list is empty:
if( size( ppds ) < 1 )
{ if( ! CreateDatabase() )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because before the function CreateDatabase
- // was called and this function would have shown more specific messages.
- _("Failed to create the printer driver database.")
- );
+ { Popup::Error( // Message of a Popup::Error.
+ // Only a simple message because before the function CreateDatabase
+ // was called and this function would have shown more specific messages.
+ _("Failed to create the printer driver database.")
+ );
// Return an empty list:
return [];
}
@@ -1571,11 +1574,11 @@
{ // Run DetermineDriverOptions if the driver_options list is empty:
if( size( driver_options ) < 1 )
{ if( ! DetermineDriverOptions( "" ) )
- { Report::Error( // Message of a Report::Error.
- // Only a simple message because this is only a fallback case
- // which should not happen at all:
- _("Failed to determine the driver options.")
- );
+ { Popup::Error( // Message of a Popup::Error.
+ // Only a simple message because this is only a fallback case
+ // which should not happen at all:
+ _("Failed to determine the driver options.")
+ );
// Return at least a list with only a fallback string so that the user is informed:
return [ _("No driver options available") ];
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/src/sharing.ycp new/yast2-printer-2.17.17/src/sharing.ycp
--- old/yast2-printer-2.17.16/src/sharing.ycp 2008-09-25 17:40:13.000000000 +0200
+++ new/yast2-printer-2.17.17/src/sharing.ycp 2008-09-26 11:53:42.000000000 +0200
@@ -301,22 +301,48 @@
y2milestone( "publish_to_local_network_check_box value: '%1'", publish_to_local_network );
interface_table_items = (list<term>)UI::QueryWidget( `interface_table, `Items );
y2milestone( "interface_table_items: %1", interface_table_items );
- // Keep deny_remote_access.
- // Ignore if other settings may have been changed
- // because whatever Allow and BrowseAddress stuff is meaningless
- // if remote access is denied at all:
- if( deny_remote_access && initial_deny_remote_access )
- { // Nothing has changed:
- return true;
+ string allow_values = "";
+ string browse_address_values = "";
+ foreach( term interface_table_item,
+ interface_table_items,
+ { string interface_name = interface_table_item[1]:"";
+ string is_published = interface_table_item[2]:"";
+ if( "" != interface_name )
+ { allow_values = "@IF(" + interface_name + ") " + allow_values;
+ // Add the inferface nameto browse_address_values
+ // only if remote access is allowed for this interface:
+ if( "yes" == is_published )
+ { browse_address_values = "@IF(" + interface_name + ") " + browse_address_values ;
+ }
+ }
+ }
+ );
+ if( allow_local_network_access )
+ { allow_values = "@LOCAL " + allow_values;
+ // Add "@LOCAL" to browse_address_values
+ // only if remote access is allowed for "@LOCAL":
+ if( publish_to_local_network )
+ { browse_address_values = "@LOCAL " + browse_address_values;
+ }
}
- // Switch to deny_remote_access:
+ y2milestone( "allow_values: %1", allow_values );
+ y2milestone( "browse_address_values: %1", browse_address_values );
+ // Any kind of deny_remote_access:
// Ignore if other settings may have been changed too
// because whatever Allow and BrowseAddress stuff is meaningless
// if remote access is denied at all:
- // When both the deny_remote_access_radio_button and the allow_remote_access_radio_button are un-checked,
- // assume the user wants deny_remote_access (via '! allow_remote_access') because this is the safe setting:
- if( deny_remote_access || ! allow_remote_access )
- { sharing_has_changed = true;
+ // When both the deny_remote_access_radio_button and the allow_remote_access_radio_button
+ // are un-checked, assume the user wants deny_remote_access (via '! allow_remote_access')
+ // because this is the safe setting (even when allow_values is not empty):
+ if( deny_remote_access
+ || ! allow_remote_access
+ || "" == allow_values
+ )
+ { if( initial_deny_remote_access )
+ { // Nothing has changed:
+ return true;
+ }
+ sharing_has_changed = true;
// It leads to inconsistencies if only Only set 'Listen localhost' would be set
// but Allow and BrowseAddress enties would be kept because when there are
// BrowseAddress enties, it must listen on matching remote interfaces
@@ -337,6 +363,11 @@
);
return false;
}
+ // Do not change the global "Browsing On/Off" entry in cupsd.conf
+ // because "Browsing Off" disables also receiving
+ // of remote queue information from remote CUPS servers
+ // which might be needed by the "Print Via Network" dialog.
+ // Instead remove only the "BrowseAddress" entries in cupsd.conf:
if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir + "modify_cupsd_conf BrowseAddress none" ) )
{ Popup::ErrorDetails( // Popup::ErrorDetails message.
// Do not change or translate "BrowseAddress", it is a system settings name.
@@ -391,30 +422,8 @@
{ // Nothing has changed:
return true;
}
- string allow_values = "";
- string browse_address_values = "";
- foreach( term interface_table_item,
- interface_table_items,
- { string interface_name = interface_table_item[1]:"";
- string is_published = interface_table_item[2]:"";
- if( "" != interface_name )
- { allow_values = "@IF(" + interface_name + ") " + allow_values;
- // Add the inferface nameto browse_address_values
- // only if remote access is allowed for this interface:
- if( "yes" == is_published )
- { browse_address_values = "@IF(" + interface_name + ") " + browse_address_values ;
- }
- }
- }
- );
- if( allow_local_network_access )
- { allow_values = "@LOCAL " + allow_values;
- // Add "@LOCAL" to browse_address_values
- // only if remote access is allowed for "@LOCAL":
- if( publish_to_local_network )
- { browse_address_values = "@LOCAL " + browse_address_values;
- }
- }
+ // When allow_values is empty, it is a deny_remote_access case, see above.
+ // Therefore allow_values is non-empty here:
if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir
+ "modify_cupsd_conf Allow '"
+ allow_values
@@ -426,27 +435,39 @@
// Do not change or translate "Allow", it is a system settings name.
_("Failed to set 'Allow' entries '%1' in /etc/cups/cupsd.conf"),
allow_values
- ),
+ ),
Printerlib::result["stderr"]:""
);
return false;
}
- if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir
- + "modify_cupsd_conf BrowseAddress '"
- + browse_address_values
- + "'"
- )
- )
- { Popup::ErrorDetails( sformat( // Popup::ErrorDetails message
- // where %1 will be replaced by one or more system settings values.
- // // Do not change or translate "BrowseAddress", it is a system settings name.
- _("Failed to set 'BrowseAddress' entries '%1' in /etc/cups/cupsd.conf"),
- browse_address_values
- ),
- Printerlib::result["stderr"]:""
- );
- return false;
+ if( "" != browse_address_values )
+ { if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir
+ + "modify_cupsd_conf BrowseAddress '"
+ + browse_address_values
+ + "'"
+ )
+ )
+ { Popup::ErrorDetails( sformat( // Popup::ErrorDetails message
+ // where %1 will be replaced by one or more system settings values.
+ // Do not change or translate "BrowseAddress", it is a system settings name.
+ _("Failed to set 'BrowseAddress' entries '%1' in /etc/cups/cupsd.conf"),
+ browse_address_values
+ ),
+ Printerlib::result["stderr"]:""
+ );
+ return false;
+ }
+ // Having "BrowseAddress" entries requires "Browsing On",
+ // otherwise browsing information would not be sent at all:
+ if( ! Printerlib::ExecuteBashCommand( Printerlib::yast_bin_dir + "modify_cupsd_conf Browsing On" ) )
+ { Popup::ErrorDetails( // Popup::ErrorDetails message:
+ _("Failed to set 'Browsing On' in /etc/cups/cupsd.conf"),
+ Printerlib::result["stderr"]:""
+ );
+ return false;
+ }
}
+ // Only if all the above was successfully set, Listen is set too:
// Currently 'Listen *:631' is simply set for any kind of remote access
// because the Listen directive supports only network addresses as value.
// Neither 'Listen @LOCAL' nor 'Listen @IF(name)' is supported.
@@ -732,17 +753,45 @@
map ret = nil;
map< string, string > interface_map = nil;
case `add_interface :
+ current_item = (integer)UI::QueryWidget( `interface_table, `CurrentItem );
interface_map = showInterfacePopup( "", false );
- if( interface_map != nil )
- { interface_table_items = (list<term>)UI::QueryWidget( `interface_table, `Items );
- interface_table_items = add( interface_table_items,
- `item( `id(size(interface_table_items)),
- interface_map["interface_name"]:"",
- interface_map["is_published"]:""
- )
- );
+ boolean is_in_table = false;
+ if( interface_map != nil)
+ { interface_table_items = [];
+ foreach( term interface_table_item,
+ (list<term>)UI::QueryWidget( `interface_table, `Items),
+ { if( interface_map["interface_name"]:"new" != interface_table_item[1]:"old" )
+ { interface_table_items = add( interface_table_items,
+ `item( `id(size(interface_table_items)),
+ interface_table_item[1]:"",
+ interface_table_item[2]:""
+ )
+ );
+ }
+ else
+ { is_in_table = true;
+ y2milestone( "Changing interface_table_item %1 with interface_map %2", interface_table_item, interface_map );
+ interface_table_items = add( interface_table_items,
+ `item( `id(size(interface_table_items)),
+ interface_map["interface_name"]:"",
+ interface_map["is_published"]:""
+ )
+ );
+ }
+ }
+ );
+ if( ! is_in_table )
+ { y2milestone( "Adding interface_map %1", interface_map );
+ interface_table_items = add( interface_table_items,
+ `item( `id(size(interface_table_items)),
+ interface_map["interface_name"]:"",
+ interface_map["is_published"]:""
+ )
+ );
+ current_item = size(interface_table_items) - 1;
+ }
UI::ChangeWidget( `interface_table, `Items, interface_table_items );
- UI::ChangeWidget( `interface_table, `CurrentItem, size(interface_table_items) - 1 );
+ UI::ChangeWidget( `interface_table, `CurrentItem, current_item );
}
break;
case `edit_interface :
@@ -764,7 +813,7 @@
);
}
else
- { y2milestone( "Changing interface_table_item %1", interface_table_item );
+ { y2milestone( "Changing interface_table_item %1 with interface_map %2", interface_table_item, interface_map );
interface_table_items = add( interface_table_items,
`item( `id(size(interface_table_items)),
interface_map["interface_name"]:"",
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-printer-2.17.16/VERSION new/yast2-printer-2.17.17/VERSION
--- old/yast2-printer-2.17.16/VERSION 2008-09-25 17:48:15.000000000 +0200
+++ new/yast2-printer-2.17.17/VERSION 2008-09-26 12:33:51.000000000 +0200
@@ -1 +1 @@
-2.17.16
+2.17.17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-power-management
checked in at Fri Sep 26 15:16:27 CEST 2008.
--------
--- yast2-power-management/yast2-power-management.changes 2008-08-28 11:33:56.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-power-management/yast2-power-management.changes 2008-09-26 12:42:08.732347000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 26 10:59:29 CEST 2008 - jsrain(a)suse.cz
+
+- removed superfluous include of unexistent file (bnc #429541)
+- 2.17.2
+
+-------------------------------------------------------------------
Old:
----
yast2-power-management-2.17.1.tar.bz2
New:
----
yast2-power-management-2.17.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-power-management.spec ++++++
--- /var/tmp/diff_new_pack.mg7969/_old 2008-09-26 15:16:06.000000000 +0200
+++ /var/tmp/diff_new_pack.mg7969/_new 2008-09-26 15:16:06.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-power-management (Version 2.17.1)
+# spec file for package yast2-power-management (Version 2.17.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-power-management
-Version: 2.17.1
+Version: 2.17.2
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-power-management-2.17.1.tar.bz2
+Source0: yast2-power-management-2.17.2.tar.bz2
Prefix: /usr
BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
Requires: gettext
@@ -43,7 +43,7 @@
Jiri Srain <jsrain(a)suse.cz>
%prep
-%setup -n yast2-power-management-2.17.1
+%setup -n yast2-power-management-2.17.2
%build
%{prefix}/bin/y2tool y2autoconf
@@ -77,8 +77,10 @@
/usr/share/YaST2/scrconf/*
/usr/share/YaST2/schema/autoyast/rnc/power-management.rnc
%doc %{prefix}/share/doc/packages/yast2-power-management
-
%changelog
+* Fri Sep 26 2008 jsrain(a)suse.cz
+- removed superfluous include of unexistent file (bnc #429541)
+- 2.17.2
* Thu Aug 28 2008 jsrain(a)suse.cz
- updated the scope to only select profiles
- 2.17.1
++++++ yast2-power-management-2.17.1.tar.bz2 -> yast2-power-management-2.17.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-power-management-2.17.1/configure new/yast2-power-management-2.17.2/configure
--- old/yast2-power-management-2.17.1/configure 2008-08-28 11:33:38.000000000 +0200
+++ new/yast2-power-management-2.17.2/configure 2008-09-26 12:41:52.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for yast2-power-management 2.17.1.
+# Generated by GNU Autoconf 2.61 for yast2-power-management 2.17.2.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-power-management'
PACKAGE_TARNAME='yast2-power-management'
-PACKAGE_VERSION='2.17.1'
-PACKAGE_STRING='yast2-power-management 2.17.1'
+PACKAGE_VERSION='2.17.2'
+PACKAGE_STRING='yast2-power-management 2.17.2'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1197,7 +1197,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-power-management 2.17.1 to adapt to many kinds of systems.
+\`configure' configures yast2-power-management 2.17.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1268,7 +1268,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-power-management 2.17.1:";;
+ short | recursive ) echo "Configuration of yast2-power-management 2.17.2:";;
esac
cat <<\_ACEOF
@@ -1346,7 +1346,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-power-management configure 2.17.1
+yast2-power-management configure 2.17.2
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1360,7 +1360,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-power-management $as_me 2.17.1, which was
+It was created by yast2-power-management $as_me 2.17.2, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2181,7 +2181,7 @@
# Define the identity of the package.
PACKAGE='yast2-power-management'
- VERSION='2.17.1'
+ VERSION='2.17.2'
cat >>confdefs.h <<_ACEOF
@@ -2409,7 +2409,7 @@
-VERSION="2.17.1"
+VERSION="2.17.2"
RPMNAME="yast2-power-management"
MAINTAINER="Jiri Srain <jsrain(a)suse.cz>"
@@ -3304,7 +3304,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-power-management $as_me 2.17.1, which was
+This file was extended by yast2-power-management $as_me 2.17.2, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3347,7 +3347,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-power-management config.status 2.17.1
+yast2-power-management config.status 2.17.2
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-power-management-2.17.1/configure.in new/yast2-power-management-2.17.2/configure.in
--- old/yast2-power-management-2.17.1/configure.in 2008-08-28 11:33:31.000000000 +0200
+++ new/yast2-power-management-2.17.2/configure.in 2008-09-26 12:41:46.000000000 +0200
@@ -1,9 +1,9 @@
dnl configure.in for yast2-power-management
dnl
-dnl -- This file is generated by y2autoconf 2.16.7 - DO NOT EDIT! --
+dnl -- This file is generated by y2autoconf 2.17.6 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-power-management, 2.17.1, http://bugs.opensuse.org/, yast2-power-management)
+AC_INIT(yast2-power-management, 2.17.2, http://bugs.opensuse.org/, yast2-power-management)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.1"
+VERSION="2.17.2"
RPMNAME="yast2-power-management"
MAINTAINER="Jiri Srain <jsrain(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-power-management-2.17.1/power-management.pot new/yast2-power-management-2.17.2/power-management.pot
--- old/yast2-power-management-2.17.1/power-management.pot 2008-08-22 12:58:01.000000000 +0200
+++ new/yast2-power-management-2.17.2/power-management.pot 2008-09-25 13:09:17.000000000 +0200
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-08-22 12:58+0200\n"
+"POT-Creation-Date: 2008-09-25 13:09+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -72,10 +72,7 @@
msgstr ""
#. Progress stage 1/3
-#: src/PowerManagement.ycp:289
-msgid "Write profiles"
-msgstr ""
-
+#. _("Write profiles"),
#. Progress stage 2/3
#: src/PowerManagement.ycp:291
msgid "Write general settings"
@@ -87,10 +84,7 @@
msgstr ""
#. Progress step 1/3
-#: src/PowerManagement.ycp:296
-msgid "Writing profiles..."
-msgstr ""
-
+#. _("Writing profiles..."),
#. Progress step 2/3
#: src/PowerManagement.ycp:298
msgid "Writing general settings..."
@@ -102,11 +96,6 @@
msgstr ""
#. Error message
-#: src/PowerManagement.ycp:352
-msgid "Cannot write power saving profiles."
-msgstr ""
-
-#. Error message
#: src/PowerManagement.ycp:378
msgid "Cannot write general settings."
msgstr ""
@@ -121,130 +110,113 @@
msgstr ""
#. summary text, %1 is scheme name
-#: src/PowerManagement.ycp:455 src/commandline.ycp:78
+#: src/PowerManagement.ycp:455 src/commandline.ycp:80
#, ycp-format
msgid "Selected Profile: %1"
msgstr ""
-#. cmdline output, %1 is scheme name
-#: src/commandline.ycp:44
-#, ycp-format
-msgid "Profile Name: %1"
-msgstr ""
-
-#. cmdline output, %1 is scheme description
-#: src/commandline.ycp:47
-#, ycp-format
-msgid "Profile Description: %1"
-msgstr ""
-
#. header for commandline output
-#: src/commandline.ycp:66
+#: src/commandline.ycp:68
msgid "Power Saving Profiles:\n"
msgstr ""
-#: src/commandline.ycp:69
+#: src/commandline.ycp:71
msgid "Default Profile"
msgstr ""
#. cmdline about power saving schemes, %1 is list of schemes,
-#: src/commandline.ycp:86
+#: src/commandline.ycp:88
#, ycp-format
msgid "Available Profiles: %1"
msgstr ""
#. error report
-#: src/commandline.ycp:116
+#: src/commandline.ycp:118
msgid "Specified profile not found."
msgstr ""
#. error report
-#: src/commandline.ycp:135
+#: src/commandline.ycp:137
msgid "Operation with the profile not specified."
msgstr ""
#. error report
-#: src/commandline.ycp:141
+#: src/commandline.ycp:143
msgid "Profile name not specified."
msgstr ""
#. command line help text for power management module
-#: src/commandline.ycp:201
+#: src/commandline.ycp:203
msgid "Power management configuration module"
msgstr ""
#. command line help text for an action
-#: src/commandline.ycp:209
+#: src/commandline.ycp:211
msgid "Display current settings"
msgstr ""
#. command line help text for an action
-#: src/commandline.ycp:214
+#: src/commandline.ycp:216
msgid "Set general settings"
msgstr ""
-#. command line help text for an action
-#: src/commandline.ycp:219
-msgid "Set options of a profile"
-msgstr ""
-
#. command line help text for an option
-#: src/commandline.ycp:227
+#: src/commandline.ycp:231
msgid "Display only specified profile"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:231
+#: src/commandline.ycp:235
msgid "Display only profile selected for being used"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:235
+#: src/commandline.ycp:239
msgid "Profile to be used"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:240
+#: src/commandline.ycp:244
msgid "The profile name"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:245
+#: src/commandline.ycp:249
msgid "Add a new profile"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:249
+#: src/commandline.ycp:253
msgid "Edit an existing profile"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:253
+#: src/commandline.ycp:257
msgid "Remove an existing profile"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:257
+#: src/commandline.ycp:261
msgid "The description of the profile"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:262
+#: src/commandline.ycp:266
msgid "The profile to clone"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:267
+#: src/commandline.ycp:271
msgid "Option of a profile to modify"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:272
+#: src/commandline.ycp:276
msgid "Value of the specified option to set"
msgstr ""
#. command line help text for an option
-#: src/commandline.ycp:277
+#: src/commandline.ycp:281
msgid "New name of the profile to rename"
msgstr ""
@@ -294,28 +266,20 @@
"Abort the save procedure by pressing <b>Abort</b>.</p>"
msgstr ""
-#. Main dialog help 1/5
+#. Main dialog help 1/2
#: src/helps.ycp:38
msgid ""
"<p><b><big>Energy Saving Profiles</big></b><br>\n"
"Use <b>Selected Profile</b> to adjust the energy saving profile to use.</p>"
msgstr ""
-#. Main dialog help 2/5
+#. Main dialog help 2/2
#: src/helps.ycp:42
msgid "<p>Below the selected profile, its description is displayed.</p>"
msgstr ""
-#. Main dialog help 3/5
-#: src/helps.ycp:45
-msgid ""
-"<p><b><big>Adjusting Energy Saving Profiles</big></b><br>\n"
-"To adjust energy saving profiles, delete existing ones, or create new ones,\n"
-"use <b>Edit Profiles</b>.</p>"
-msgstr ""
-
#. Schemes list dialog 1/3
-#: src/helps.ycp:52
+#: src/helps.ycp:55
msgid ""
"<p><b><big>Profile Setup</big></b><br>\n"
"Here, adjust the energy saving Profiles. To modify a profile, select\n"
@@ -323,7 +287,7 @@
msgstr ""
#. Schemes list dialog 2/3
-#: src/helps.ycp:57
+#: src/helps.ycp:60
msgid ""
"<p>To add a new profile, select a profile to clone then click\n"
"<b>Add</b>. To delete an existing profile, select it and click \n"
@@ -331,14 +295,14 @@
msgstr ""
#. Profiles list dialog 3/3
-#: src/helps.ycp:62
+#: src/helps.ycp:65
msgid ""
"<p>In the main dialog, assign profiles to use when you \n"
"work on battery or AC power.</p>"
msgstr ""
#. Profile editation dialog 1 help 1/6
-#: src/helps.ycp:66
+#: src/helps.ycp:69
msgid ""
"<p><big><b>Profile Setup</b></big>\n"
"Configure the settings of the profile. Enter its name in <b>Profile Name</b>\n"
@@ -346,7 +310,7 @@
msgstr ""
#. Profile editation dialog 2 help 1/2
-#: src/helps.ycp:75
+#: src/helps.ycp:78
msgid ""
"<p><b><big>Hard Disk Settings</big></b><br>\n"
"Use <b>Standby Policy</b> to adjust the power saving policy of the hard disks.\n"
@@ -358,7 +322,7 @@
msgstr ""
#. Profile editation dialog 2 help 2/2
-#: src/helps.ycp:84
+#: src/helps.ycp:87
msgid ""
"<p><b><big>Cooling Policy</big></b><br>\n"
"Use the cooling policy <b>Status</b> to adjust the active or passive cooling policy.\n"
@@ -379,7 +343,7 @@
#. fallback scheme description, displayed in a rich text
#. but without HTML tags!!!
#. fallback scheme description, table entre
-#: src/widgets.ycp:52 src/widgets.ycp:144
+#: src/widgets.ycp:52 src/widgets.ycp:146
msgid "No profile description available"
msgstr ""
@@ -402,112 +366,107 @@
msgid "&AC Powered"
msgstr ""
-#. push button
-#: src/widgets.ycp:114
-msgid "Ed&it Profiles"
-msgstr ""
-
#. popup message
-#: src/widgets.ycp:183 src/widgets.ycp:206
+#: src/widgets.ycp:185 src/widgets.ycp:208
msgid "No profile selected."
msgstr ""
#. popup message
-#: src/widgets.ycp:191
+#: src/widgets.ycp:193
msgid ""
"The selected profile cannot be modified.\n"
"Add a new one instead."
msgstr ""
#. table header
-#: src/widgets.ycp:252
+#: src/widgets.ycp:254
msgid "Profile Name"
msgstr ""
#. table header
-#: src/widgets.ycp:254
+#: src/widgets.ycp:256
msgid "Profile Description"
msgstr ""
#. popup message
-#: src/widgets.ycp:301
+#: src/widgets.ycp:303
msgid "Profile name must be set."
msgstr ""
#. popup message
-#: src/widgets.ycp:312
+#: src/widgets.ycp:314
msgid "The specified profile name is not unique."
msgstr ""
#. pop-up message
-#: src/widgets.ycp:319
+#: src/widgets.ycp:321
msgid "The profile name must not be longer than 32 characters."
msgstr ""
#. text entry
-#: src/widgets.ycp:366
+#: src/widgets.ycp:368
msgid "S&cheme Name"
msgstr ""
#. text entry
-#: src/widgets.ycp:410
+#: src/widgets.ycp:412
msgid "Profile &Description"
msgstr ""
#. frame,
-#: src/widgets.ycp:449
+#: src/widgets.ycp:451
msgid "SATA Power Management"
msgstr ""
#. combo box
-#: src/widgets.ycp:454
+#: src/widgets.ycp:456
msgid "Aggressive Link Power Management"
msgstr ""
#. combo box item
-#: src/widgets.ycp:458 src/widgets.ycp:535
+#: src/widgets.ycp:460 src/widgets.ycp:537
msgid "Maximum Power Saving"
msgstr ""
#. combo box item
-#: src/widgets.ycp:461
+#: src/widgets.ycp:463
msgid "Medium Power Saving"
msgstr ""
#. combo box item
-#: src/widgets.ycp:464 src/widgets.ycp:538
+#: src/widgets.ycp:466 src/widgets.ycp:540
msgid "Maximum Performance"
msgstr ""
#. frame,
-#: src/widgets.ycp:526
+#: src/widgets.ycp:528
msgid "CPU Power Management"
msgstr ""
#. combo box
-#: src/widgets.ycp:531
+#: src/widgets.ycp:533
msgid "CPU Frequency Governor"
msgstr ""
#. combo box item
-#: src/widgets.ycp:541
+#: src/widgets.ycp:543
msgid "On Demand"
msgstr ""
#. combo box item
-#: src/widgets.ycp:544
+#: src/widgets.ycp:546
msgid "User Space"
msgstr ""
-#: src/widgets.ycp:547
+#: src/widgets.ycp:549
msgid "Load Checking Interval"
msgstr ""
-#: src/widgets.ycp:549
+#: src/widgets.ycp:551
msgid "Lower frequency by (percent)"
msgstr ""
-#: src/widgets.ycp:551
+#: src/widgets.ycp:553
msgid "Balance Load between CPU Cores"
msgstr ""
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-power-management-2.17.1/src/commandline.ycp new/yast2-power-management-2.17.2/src/commandline.ycp
--- old/yast2-power-management-2.17.1/src/commandline.ycp 2008-08-28 11:23:16.000000000 +0200
+++ new/yast2-power-management-2.17.2/src/commandline.ycp 2008-09-26 12:25:37.000000000 +0200
@@ -4,7 +4,7 @@
* Summary: Command-line interface
* Authors: Jiri Srain <jsrain(a)suse.cz>
*
- * $Id: commandline.ycp 50426 2008-08-28 09:23:16Z jsrain $
+ * $Id: commandline.ycp 51572 2008-09-26 10:25:36Z jsrain $
*
*/
@@ -15,9 +15,6 @@
textdomain "power-management";
-include "power-management/misc.ycp";
-
-
/**
* Handler for command line interface
* @param options map options from the command line
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-power-management-2.17.1/VERSION new/yast2-power-management-2.17.2/VERSION
--- old/yast2-power-management-2.17.1/VERSION 2008-08-28 11:23:59.000000000 +0200
+++ new/yast2-power-management-2.17.2/VERSION 2008-09-26 12:18:38.000000000 +0200
@@ -1 +1 @@
-2.17.1
+2.17.2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-core
checked in at Fri Sep 26 15:15:57 CEST 2008.
--------
--- yast2-core/yast2-core.changes 2008-09-25 12:27:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-core/yast2-core.changes 2008-09-26 12:54:20.896445000 +0200
@@ -1,0 +2,7 @@
+Fri Sep 26 12:17:35 CEST 2008 - visnov(a)suse.cz
+
+- allow clients to return exit code (bnc #350740)
+- clean up documentation in liby2
+- 2.17.14
+
+-------------------------------------------------------------------
Old:
----
yast2-core-2.17.13.tar.bz2
New:
----
yast2-core-2.17.14.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-core.spec ++++++
--- /var/tmp/diff_new_pack.OA6442/_old 2008-09-26 15:15:18.000000000 +0200
+++ /var/tmp/diff_new_pack.OA6442/_new 2008-09-26 15:15:18.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-core (Version 2.17.13)
+# spec file for package yast2-core (Version 2.17.14)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-core
-Version: 2.17.13
+Version: 2.17.14
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-core-2.17.13.tar.bz2
+Source0: yast2-core-2.17.14.tar.bz2
Prefix: /usr
# obviously
BuildRequires: gcc-c++
@@ -95,7 +95,7 @@
Stanislav Visnovsky <visnov(a)suse.cz>
%prep
-%setup -n yast2-core-2.17.13
+%setup -n yast2-core-2.17.14
%build
%{prefix}/bin/y2tool y2autoconf
@@ -178,6 +178,10 @@
%doc %{_datadir}/doc/yastdoc
/usr/share/YaST2/data/devtools/bin/generateYCPWrappers
%changelog
+* Fri Sep 26 2008 visnov(a)suse.cz
+- allow clients to return exit code (bnc #350740)
+- clean up documentation in liby2
+- 2.17.14
* Thu Sep 25 2008 visnov(a)suse.cz
- support SCR::RegisterAgent and SCR::UnregisterAgent in chroot
(bnc #425472)
++++++ yast2-core-2.17.13.tar.bz2 -> yast2-core-2.17.14.tar.bz2 ++++++
++++ 1873 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/autodocs/Makefile.am new/yast2-core-2.17.14/autodocs/Makefile.am
--- old/yast2-core-2.17.13/autodocs/Makefile.am 2007-11-26 12:48:41.000000000 +0100
+++ new/yast2-core-2.17.14/autodocs/Makefile.am 2008-09-26 10:31:02.000000000 +0200
@@ -13,5 +13,6 @@
index.html: $(wildcard $(top_srcdir)/*/*.cc $(top_srcdir)/*/*/*.cc)
${YDOXYGEN} PROJECT_NAME=@RPMNAME@ \
- INPUT=..
+ INPUT=.. \
+ EXCLUDE=../liby2util-r/testsuite
# TODO: create libzypp.tag and use it (elsewhere)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/configure.in new/yast2-core-2.17.14/configure.in
--- old/yast2-core-2.17.13/configure.in 2008-09-17 15:50:58.000000000 +0200
+++ new/yast2-core-2.17.14/configure.in 2008-09-26 09:17:05.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.17.6 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-core, 2.17.12, http://bugs.opensuse.org/, yast2-core)
+AC_INIT(yast2-core, 2.17.13, http://bugs.opensuse.org/, yast2-core)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.17.12"
+VERSION="2.17.13"
RPMNAME="yast2-core"
MAINTAINER="Martin Vidner <mvidner(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/configure.in.in new/yast2-core-2.17.14/configure.in.in
--- old/yast2-core-2.17.13/configure.in.in 2008-08-19 13:20:25.000000000 +0200
+++ new/yast2-core-2.17.14/configure.in.in 2008-09-26 11:57:46.000000000 +0200
@@ -130,8 +130,6 @@
## and generate the output
AC_CONFIG_FILES([
- liby2/doc/Y2-access.html
- liby2/doc/Y2-components.html
scr/doc/SCR.html
scr/doc/intro_to_scr.html
])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/componentbroker.txt new/yast2-core-2.17.14/liby2/doc/componentbroker.txt
--- old/yast2-core-2.17.13/liby2/doc/componentbroker.txt 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/componentbroker.txt 1970-01-01 01:00:00.000000000 +0100
@@ -1,38 +0,0 @@
-How the component broker works
-
-
-liby2 is the library which does all the stuff
-
-in Y2ProgramComponent.cc the server/client is started
-(launchExternalProgram) by connecting pipes for stdin/stdout
-and starting the program via fork/execve.
-
-The program is searched via pathsearch.cc and must reside
-in a sub-directory "clients" or "servers".
-The $HOME directory is a special case, as a sub-dir $HOME/.yast2
-must exists.
-
-Every program starts via main() genericfrontend.cc
-
-The main() function parses argv and starts
-the client (Y2ComponentBroker::createClient) and the
-server (Y2ComponentBroker::createServer) for the component
-
-
-Expressions are 'commands' to the server and sent via
-"...Component::evaluate (const YCPValue& command)"
-
-evaluate() starts the 'real' component if it is not already
-running.
-
-For the serial and remote components, evaluate()
-passes the command via "sendToExternal(command)".
-
-The it waits for the answer via "receiveFromExternal()"
-
--> the protocol between WFM and the component is synchronous.
- For every sendToExternal there is a corresponding receiveFromExternal.
-
--> doActualWork() is used for client components
-
--> result() is used to finish server components
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Makefile.am new/yast2-core-2.17.14/liby2/doc/Makefile.am
--- old/yast2-core-2.17.13/liby2/doc/Makefile.am 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Makefile.am 1970-01-01 01:00:00.000000000 +0100
@@ -1,15 +0,0 @@
-#
-# Makefile.am for core/liby2/doc
-#
-
-
-
-htmldir = $(docdir)/liby2
-
-html_DATA = \
- Y2-access.html Y2-components.html \
- Y2-overview.html \
- componentbroker.txt \
- README.componentsearch
-
-EXTRA_DIST = $(html_DATA)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/README.componentsearch new/yast2-core-2.17.14/liby2/doc/README.componentsearch
--- old/yast2-core-2.17.13/liby2/doc/README.componentsearch 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/README.componentsearch 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-I implemented and checked in a new strategy Y2 looks for its components .
-It scans in a sequential manner in
-
-level path
- 0 /floppy
- 1 /y2update
- 2 HOME --> means: $HOME/.yast2/
- 3 /usr/local/lib/YaST2
- 4 /usr/lib/YaST2
- 5 /lib/YaST2
- 6 /var/lib/YaST2
- 7 YASTHOME
-
-Lower leves are preferred. The search applies for scripts, config files
-and binaries.
-
-Now you can put an updated component on a floppy disk and that component
-will be used preferrably.
-
-You can update _each_ component, even cat, stdio and logger.
-
-Only the generic frontend main function, the ComponentBroker and the
-ComponentCreators contained in bignfat can't be replaced. They
-must at least be able to find the first component on floppy.
-
-Executable components are searched for in the above mentioned manner,
-the paths being extended with one of the following directories:
-
-.../servers/: Y2 servers like compiled programs using liby2
-.../servers_non_y2: NonY2 servers like shell scripts and such like
-.../clients: Y2 clients like compiled programs using liby2
-.../clients_non_y2: NonY2 clients like shell scripts and such like
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Y2-access.html new/yast2-core-2.17.14/liby2/doc/Y2-access.html
--- old/yast2-core-2.17.13/liby2/doc/Y2-access.html 2008-09-17 15:52:00.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Y2-access.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-YaST2: How to access hardware and configuration files
-
-There are a number of different ways to access configuration files,
-the output of external programms and the hardware from within YCP
-scripts.
-
-<ul>
- <li>Write an <b>SCR agent</b> in YCP using the <b>anyagent</b> component.
- <li>Write an <b>SCR agent</b>, either in C++ or in shell</li>
- <li>Use the WFM builtin <b><tt>Shell()</tt></b> to call a shell
- script</li>
- <li>Use the WFM builtins <b><tt>ReadString()</tt> and <tt>WriteString()</tt></b>
- to read and write Ascii files directly</li>
- <li>Write a </b>client component</b> in C++ that calls an external program and
- parses its output. Use the liby2 class <tt>ExternalProgramm</tt> for
- this.
- </li>
- <li>Write a arbitrary <b>server component</b> in C++ and implement there the functionality
- you need.</li>
-</ul>
-
-
-All methods have advantages and disadvantages. The upper list is
-ordered in the direction in which you have to decide. For example if
-something can be done with the <tt>anyagent</tt>, you should do it
-this way. If not, try to write an agent in C++ or in shell. The
-advantage of agents is, that they are very independent of the
-configuration module(s) that use them. It is much more easy to reuse
-an agent than a code sequence of a module.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Y2-access.html.in new/yast2-core-2.17.14/liby2/doc/Y2-access.html.in
--- old/yast2-core-2.17.13/liby2/doc/Y2-access.html.in 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Y2-access.html.in 1970-01-01 01:00:00.000000000 +0100
@@ -1,29 +0,0 @@
-YaST2: How to access hardware and configuration files
-
-There are a number of different ways to access configuration files,
-the output of external programms and the hardware from within YCP
-scripts.
-
-<ul>
- <li>Write an <b>SCR agent</b> in YCP using the <b>anyagent</b> component.
- <li>Write an <b>SCR agent</b>, either in C++ or in shell</li>
- <li>Use the WFM builtin <b><tt>Shell()</tt></b> to call a shell
- script</li>
- <li>Use the WFM builtins <b><tt>ReadString()</tt> and <tt>WriteString()</tt></b>
- to read and write Ascii files directly</li>
- <li>Write a </b>client component</b> in C++ that calls an external program and
- parses its output. Use the liby2 class <tt>ExternalProgramm</tt> for
- this.
- </li>
- <li>Write a arbitrary <b>server component</b> in C++ and implement there the functionality
- you need.</li>
-</ul>
-
-
-All methods have advantages and disadvantages. The upper list is
-ordered in the direction in which you have to decide. For example if
-something can be done with the <tt>anyagent</tt>, you should do it
-this way. If not, try to write an agent in C++ or in shell. The
-advantage of agents is, that they are very independent of the
-configuration module(s) that use them. It is much more easy to reuse
-an agent than a code sequence of a module.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Y2-components.html new/yast2-core-2.17.14/liby2/doc/Y2-components.html
--- old/yast2-core-2.17.13/liby2/doc/Y2-components.html 2008-09-17 15:52:00.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Y2-components.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,184 +0,0 @@
-Y2 reference: The YaST2 Component Architecture
-
-Author: Mathias Kettner <a href="mailto:kettner@suse.de">kettner(a)suse.de</a>
-
-<h2>Design principles</h2>
-
-<p>The YaST2 component model is the foundation of the
-YaST2 architecture. It is important to understand at least
-the basic ideas in order to be able to write new Y2 components.
-It's based upon the following design principles:
-
-<p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
-<table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
-<ul>
-
-<p><li><i>YaST2 should be easily extensable. One should be able
-to exchange or add functionality independent
-of all other parts.</i>This leads to a modular architecture.
-The interchangable parts are called 'components'.</li>
-
-<p><li><i>It should be possible, that a component can be added
-or exchanged merely through the fact, that a file has been
-added or exchanged.</i> This allows you to put configuration
-modules for a software into the same package as that software.
-For example you could write a configuration module for
-sendmail and put it into the sendmail package. As long as
-the sendmail package is installed, its YaST2 configuration
-module is available.</li>
-
-<p><li><i>Despite the need for Y2 to be modular in concept,
-during execution time this should not lead to high communication
-overhead or large need in memory usage or the number of
-concurrently running processes.</i></li>
-
-<p><li><i>The inter-component communication should be human
-readable, at least in debugging situations.</i></li>
-
-<p><li><i>The inter-component communication should be network
-transparent.</i></li>
-
-<p><li><i>It should be easy to write a component. Component implementing
-should not be restricted to a certain programming language.</i>
-
-</ul>
-</td></tr></table>
-</td></tr></table>
-
-<h2>Communication</h2>
-
-<p>All components speak a common language and act according to
-defined protocol. Both the language and the protocol are
-called <i>YCP (YaST2 communication protocol)</i>. One protocol
-step consists of one of the partners sending exactly one
-<a href="../libycp/YCP-datatypes.html">YCP value</a>
- to the other and the other receiving that value. In the
-next step, the component that just was receiving, is now sending and
-vice versa. The only exception is, that one of that partners
-may terminate the session and send a last <i>result</i> message
-after which - of course - the partner won't send another value.
-
-<h2>Clients and Servers</h2>
-
-<p>There are two different kinds of components: server components and
-client components, which differ in how the control flows.
-
-<p>A <i>server</i> component is one that - once it's initialized -
-just waits for jobs to do. Another component can send a <i>request</i>
-and thus pass the control to the server. That does what is neccessary
-in order to do handle the request and returns an
-<i>answer</i>. Prominent examples for server components are the user
-interfaces. In YaST2 they play a <i>passive</i> role. They just wait
-for a command like "Show me this dialog, wait for the next user
-input and return me that input". A server component can also use
-the service of another server component. For example the <i>SCR
-(System configuration repository)</i> makes use of servers called
-<i>agents</i>, which realize subtrees of the SCR tree.
-
-<p>A <i>client</i> component is one that controls the flow. It may
-contain something like an "event loop". In order to do its
-work, it can use the services of other server components. Client
-components are sometimes called <i>modules</i>. Examples for
-modules are the single steps of the YaST2 "Installation
-Wizard" or the program that calls <tt>rpm</tt> to install
-packages. Other examples could be a module that configures the network
-setup of a workstation or one, that just sets the IP-number and the
-hostname of that workstation.
-
-<p>Modules can be hiearchically structured
-and hand over control to other modules that acomplish sub tasks and
-are called <i>submodules</i> in this context. An example is the
-structure of the YaST2 installer. The installation itself is
-a module. For each of the wizard window steps, it calls a submodule.
-
-<h2>How components are realized</h2>
-<p>There are quite a number of ways how you can implement a component.
-A component can be:
-<p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
-<table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
-<ul>
-
-<li>An executable program (ELF, /bin/sh, or whatsoever)</li>
-<li>A C++ class using <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>
-and <tt><a href="../liby2/autodocs/intro.html">liby2</a></tt></li>
-<li>A YCP script executed by the <i>Workflowmanager</i></li>
-<li>Youself typing some YCP code at a terminal</li>
-
-</ul>
-</td></tr></table>
-</td></tr></table>
-
-<p>Don't laugh over the last possibility! For debugging this is sometimes
-very helpful. You can simulate <i>any</i> component by typing to a terminal.
-
-<h3>Executable programs</h3>
-
-<p>A component that exists as <i>executable program</i> is realized by
-a process that is created when the component is needed. If a component
-needs the services of an external program component, it launches a
-seperate process and starts a communication via two unix pipes, one in
-each direction.
-
-<p>The data flowing through these pipes is YCP Ascii
-representation. Each communication side needs a parser to analyse the
-data and a YCP syntax generater to write data to the pipe. Both can be
-found in the <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>,
-which can only used from C++ programs.
-
-<p>But the production of YCP code
-can in many cases very easily be done be printing to stdout, for
-example with <tt>echo</tt> (shell) or <tt>printf</tt> (C).
-
-<p>The parsing of YCP code is as bit more tricky. But in many cases you
-don't need a full featured parser, because you know beforehand what structure
-the value have that you get. This especially holds for client components,
-because they can decide, how the output from the server should look like.
-
-<h3>C++ class using libycp and liby2</h3>
-<p>If you anyway decide to write your component in C++,
-it's by far the most conveniant way to use the functionality
-of libycp and liby2, whose only purpose is excactly to support
-component implementation.
-
-<p>What you have to do is to subclass at least two classes:
-<tt><a href="../liby2/autodocs/Y2ComponentCreator.html">Y2ComponentCreator</a></tt> and
-<tt><a href="../liby2/autodocs/Y2Component.html">Y2Component</a></tt> and
-
-<p>Depending on whether you want to implement a server or a client component
-you have to override different methods. Many examples can be found within the liby2
-itself.
-
-<p>One big advantage of writing a component in C++ is, that
-you can very easily create three external appearances of the component:
-<ul>
-<li>A selfcontained executable program</li>
-<li>A shared library plugin to load during runtime</li>
-<li>A static library that can be linked together with other components</li>
-</ul>
-
-<p>The YaST2 installer makes usage of the third variant only. All required components
-are linked together to <tt>y2base</tt>, which is statically linked against liby2 and
-libycp. The memory usage is reduced as well as the required disk space. Furthermore
-no creating and parsing of Ascii streams between the components is required. Protocol
-steps are simple function calls. Even for very large data structures, only one pointer
-has to be passed.
-
-<h3>A YCP script executed by the <i>Workflowmanager</i></h3>
-<p>If you have installed YaST2, you will find some files ending in <tt>.ycp</tt>
-lying around in <tt>/lib/YaST2/clients</tt>. These are YCP scripts implementing
-client components (modules). YCP is not only a protocol, it is also a full features
-programming language, which is in this case used to implement components. This is
-very conveniant as the language can directly operate on the protocol values and
-has some other nice features.
-
-<p>The client scripts are executed by the <i>Workflowmanager</i>, which is an
-extension to the core YCP language. It implements a couple of builtin functions
-that allow communication the the system and with other
-components. Here is a
-<a href="../y2wfm/YCP-builtins-wfm.html">of builtins.</a>.
-
-<h3>Youself typing YCP code at a terminal</h3>
-<p>You can be a component yourself :-). Just tell another component to communicate
-via stdio and speak with it. For example you can launch the component <tt>ycp</tt> by
-typing <tt>y2ycp stdio</tt>. Now you can enter YCP expressions and get the evaluation
-as answer.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Y2-components.html.in new/yast2-core-2.17.14/liby2/doc/Y2-components.html.in
--- old/yast2-core-2.17.13/liby2/doc/Y2-components.html.in 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Y2-components.html.in 1970-01-01 01:00:00.000000000 +0100
@@ -1,184 +0,0 @@
-Y2 reference: The YaST2 Component Architecture
-
-Author: Mathias Kettner <a href="mailto:kettner@suse.de">kettner(a)suse.de</a>
-
-<h2>Design principles</h2>
-
-<p>The YaST2 component model is the foundation of the
-YaST2 architecture. It is important to understand at least
-the basic ideas in order to be able to write new Y2 components.
-It's based upon the following design principles:
-
-<p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
-<table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
-<ul>
-
-<p><li><i>YaST2 should be easily extensable. One should be able
-to exchange or add functionality independent
-of all other parts.</i>This leads to a modular architecture.
-The interchangable parts are called 'components'.</li>
-
-<p><li><i>It should be possible, that a component can be added
-or exchanged merely through the fact, that a file has been
-added or exchanged.</i> This allows you to put configuration
-modules for a software into the same package as that software.
-For example you could write a configuration module for
-sendmail and put it into the sendmail package. As long as
-the sendmail package is installed, its YaST2 configuration
-module is available.</li>
-
-<p><li><i>Despite the need for Y2 to be modular in concept,
-during execution time this should not lead to high communication
-overhead or large need in memory usage or the number of
-concurrently running processes.</i></li>
-
-<p><li><i>The inter-component communication should be human
-readable, at least in debugging situations.</i></li>
-
-<p><li><i>The inter-component communication should be network
-transparent.</i></li>
-
-<p><li><i>It should be easy to write a component. Component implementing
-should not be restricted to a certain programming language.</i>
-
-</ul>
-</td></tr></table>
-</td></tr></table>
-
-<h2>Communication</h2>
-
-<p>All components speak a common language and act according to
-defined protocol. Both the language and the protocol are
-called <i>YCP (YaST2 communication protocol)</i>. One protocol
-step consists of one of the partners sending exactly one
-<a href="../libycp/YCP-datatypes.html">YCP value</a>
- to the other and the other receiving that value. In the
-next step, the component that just was receiving, is now sending and
-vice versa. The only exception is, that one of that partners
-may terminate the session and send a last <i>result</i> message
-after which - of course - the partner won't send another value.
-
-<h2>Clients and Servers</h2>
-
-<p>There are two different kinds of components: server components and
-client components, which differ in how the control flows.
-
-<p>A <i>server</i> component is one that - once it's initialized -
-just waits for jobs to do. Another component can send a <i>request</i>
-and thus pass the control to the server. That does what is neccessary
-in order to do handle the request and returns an
-<i>answer</i>. Prominent examples for server components are the user
-interfaces. In YaST2 they play a <i>passive</i> role. They just wait
-for a command like "Show me this dialog, wait for the next user
-input and return me that input". A server component can also use
-the service of another server component. For example the <i>SCR
-(System configuration repository)</i> makes use of servers called
-<i>agents</i>, which realize subtrees of the SCR tree.
-
-<p>A <i>client</i> component is one that controls the flow. It may
-contain something like an "event loop". In order to do its
-work, it can use the services of other server components. Client
-components are sometimes called <i>modules</i>. Examples for
-modules are the single steps of the YaST2 "Installation
-Wizard" or the program that calls <tt>rpm</tt> to install
-packages. Other examples could be a module that configures the network
-setup of a workstation or one, that just sets the IP-number and the
-hostname of that workstation.
-
-<p>Modules can be hiearchically structured
-and hand over control to other modules that acomplish sub tasks and
-are called <i>submodules</i> in this context. An example is the
-structure of the YaST2 installer. The installation itself is
-a module. For each of the wizard window steps, it calls a submodule.
-
-<h2>How components are realized</h2>
-<p>There are quite a number of ways how you can implement a component.
-A component can be:
-<p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
-<table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
-<ul>
-
-<li>An executable program (ELF, /bin/sh, or whatsoever)</li>
-<li>A C++ class using <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>
-and <tt><a href="../liby2/autodocs/intro.html">liby2</a></tt></li>
-<li>A YCP script executed by the <i>Workflowmanager</i></li>
-<li>Youself typing some YCP code at a terminal</li>
-
-</ul>
-</td></tr></table>
-</td></tr></table>
-
-<p>Don't laugh over the last possibility! For debugging this is sometimes
-very helpful. You can simulate <i>any</i> component by typing to a terminal.
-
-<h3>Executable programs</h3>
-
-<p>A component that exists as <i>executable program</i> is realized by
-a process that is created when the component is needed. If a component
-needs the services of an external program component, it launches a
-seperate process and starts a communication via two unix pipes, one in
-each direction.
-
-<p>The data flowing through these pipes is YCP Ascii
-representation. Each communication side needs a parser to analyse the
-data and a YCP syntax generater to write data to the pipe. Both can be
-found in the <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>,
-which can only used from C++ programs.
-
-<p>But the production of YCP code
-can in many cases very easily be done be printing to stdout, for
-example with <tt>echo</tt> (shell) or <tt>printf</tt> (C).
-
-<p>The parsing of YCP code is as bit more tricky. But in many cases you
-don't need a full featured parser, because you know beforehand what structure
-the value have that you get. This especially holds for client components,
-because they can decide, how the output from the server should look like.
-
-<h3>C++ class using libycp and liby2</h3>
-<p>If you anyway decide to write your component in C++,
-it's by far the most conveniant way to use the functionality
-of libycp and liby2, whose only purpose is excactly to support
-component implementation.
-
-<p>What you have to do is to subclass at least two classes:
-<tt><a href="../liby2/autodocs/Y2ComponentCreator.html">Y2ComponentCreator</a></tt> and
-<tt><a href="../liby2/autodocs/Y2Component.html">Y2Component</a></tt> and
-
-<p>Depending on whether you want to implement a server or a client component
-you have to override different methods. Many examples can be found within the liby2
-itself.
-
-<p>One big advantage of writing a component in C++ is, that
-you can very easily create three external appearances of the component:
-<ul>
-<li>A selfcontained executable program</li>
-<li>A shared library plugin to load during runtime</li>
-<li>A static library that can be linked together with other components</li>
-</ul>
-
-<p>The YaST2 installer makes usage of the third variant only. All required components
-are linked together to <tt>y2base</tt>, which is statically linked against liby2 and
-libycp. The memory usage is reduced as well as the required disk space. Furthermore
-no creating and parsing of Ascii streams between the components is required. Protocol
-steps are simple function calls. Even for very large data structures, only one pointer
-has to be passed.
-
-<h3>A YCP script executed by the <i>Workflowmanager</i></h3>
-<p>If you have installed YaST2, you will find some files ending in <tt>.ycp</tt>
-lying around in <tt>/lib/YaST2/clients</tt>. These are YCP scripts implementing
-client components (modules). YCP is not only a protocol, it is also a full features
-programming language, which is in this case used to implement components. This is
-very conveniant as the language can directly operate on the protocol values and
-has some other nice features.
-
-<p>The client scripts are executed by the <i>Workflowmanager</i>, which is an
-extension to the core YCP language. It implements a couple of builtin functions
-that allow communication the the system and with other
-components. Here is a
-<a href="../y2wfm/YCP-builtins-wfm.html">of builtins.</a>.
-
-<h3>Youself typing YCP code at a terminal</h3>
-<p>You can be a component yourself :-). Just tell another component to communicate
-via stdio and speak with it. For example you can launch the component <tt>ycp</tt> by
-typing <tt>y2ycp stdio</tt>. Now you can enter YCP expressions and get the evaluation
-as answer.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/doc/Y2-overview.html new/yast2-core-2.17.14/liby2/doc/Y2-overview.html
--- old/yast2-core-2.17.13/liby2/doc/Y2-overview.html 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/doc/Y2-overview.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,197 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-<head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=ISO-8859-1">
- <title>YCP inside</title>
- <style type="text/css"><!-- h3.fn,span.fn { margin-left: 1cm; text-indent: -1cm; }
- a:link { color: #004faf; text-decoration: none }
- a:visited { color: #004fb4; text-decoration: none }body { background:
- white; color: black; } -->
- </style></head>
-
-<!--body bgcolor="#ffffff" text=#4c9900 -->
-<body bgcolor="#ffffff" text=#3b7700 >
-
-<h1 align=center>YCP Inside</h1>
-
-<table text=#FFCC99 align=center cellpadding=2 cellspacing=2 width=95% >
-<tr>Have a look at these links if you want to code YCP C++ agent or you
-want to improve the ycp groundwork.</tr>
-</table>
-<p>
-<font color="#418200">
-<table align=center cellpadding=2 cellspacing=2 width=95% >
-
-
- <tr aaa=center>
- <th bgcolor=#62af30 width=33%>
- <font color="White">The Language</font>
- </th>
- </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="../libycp/YCP-quoting.html"> Quoting </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >Explains the usage of backquotes in YCP</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="../libycp/changes.html"> YCP Grammer Changes </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >Recently (12/2000) implemented changes in the YCP grammer</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
- <tr aaa=center>
- <th bgcolor=#62af30 width=33%>
- <font color="White">Components</font>
- </th>
- </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="Y2-components.html"> Component Architecture </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >Learn about the design principles, the communication and client
- and server architecture</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="componentbroker.txt"> Component Broker </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >How does the Component broker work </td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="README.componentsearch"> Component Search </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >Where YaST2 looks for Components </td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
- <tr aaa=center>
- <th bgcolor=#62af30 width=33%>
- <font color="White">Serial</font>
- </th>
- </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="README.serial"> Serial Communication </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >A README how to communicate with YaST2
- components via serial line </td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
- <tr aaa=center>
- <th bgcolor=#62af30 width=33%>
- <font color="White">liby2</font>
- </th>
- </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="autodocs/intro.html"> Liby2 Introduction </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >An Introduction of the YaST2 component architecture</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 >
- <a href="autodocs/heir.html"> Liby2 Class Hierarchy </a></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >The class hierarchy of liby2
- components via serial line </td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 >
- <a href="autodocs/index.html"> Liby2 Class Index </a></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >The class index of liby2</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
- <tr aaa=center>
- <th bgcolor=#62af30 width=33%>
- <font color="White">libycp</font>
- </th>
- </tr>
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 ><b>
- <a href="../libycp/autodocs/intro.html"> Libycp Introduction </a></b></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >An Introduction of the YaST2 component architecture</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 >
- <a href="../libycp/autodocs/heir.html"> Libycp Class Hierarchy </a></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >The class hierarchy of liby2
- components via serial line </td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
- <!-- ************************************************************** -->
-
- <tr aaa=center>
- <td bgcolor=#f0f0f0 >
- <a href="../libycp/autodocs/index.html"> Libycp Class </a></td>
- <td width=0></td>
- <td bgcolor=#f0f0f0 >The class index of liby2</td>
- </tr>
-
- <tr><td height=10></td> </tr>
-
-
-</table>
-</font>
-<p>
-
-
-<p><address><hr><div align="center">
-<table width="100%" cellspacing="0" border="0"><tr>
-<td><a href="http://www.suse.de">www.suse.de</a><td>
-<td align="right"><div align="right">YaST2 Version 7.1</div>
-</table></div></address></body></html>
-
-
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/Makefile.am new/yast2-core-2.17.14/liby2/Makefile.am
--- old/yast2-core-2.17.13/liby2/Makefile.am 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/Makefile.am 2008-09-26 11:47:34.000000000 +0200
@@ -2,4 +2,4 @@
# Makefile.am for core/liby2
#
-SUBDIRS = src doc
+SUBDIRS = src
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/src/genericfrontend.cc new/yast2-core-2.17.14/liby2/src/genericfrontend.cc
--- old/yast2-core-2.17.13/liby2/src/genericfrontend.cc 2008-06-13 15:52:11.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/src/genericfrontend.cc 2008-09-26 11:00:11.000000000 +0200
@@ -14,17 +14,45 @@
Authors: Mathias Kettner <kettner(a)suse.de>
Arvin Schnell <arvin(a)suse.de>
+ Stanislav Visnovsky <visnov(a)suse.cz>
Maintainer: Arvin Schnell <arvin(a)suse.de>
/-*/
-/*
- * main function common to all Y2 components
- */
-
#ifndef _GNU_SOURCE
#define _GNU_SOURCE // needed for vasprintf below
#endif
+/**
+ * \file
+ * Generic \ref main function handler for all YaST2 appliations.
+ */
+
+/**
+ * \mainpage YaST2 Core System Documentation
+ *
+ * This is the main page of the YaST2 Core documentation. Some of the general topics are covered by the
+ * following pages:
+ *
+ * - Component architecture
+ * - \ref components
+ * - \ref componentbroker
+ * - \ref componentsearch
+ * - Handling of error codes: \ref exitcodes
+ */
+
+/**
+ * \page exitcodes YaST2 Exit Codes
+ *
+ * All applications using liby2 library share a common \ref main function. The function handles the exit codes in the following way.
+ *
+ * The exit codes are described in \ref exitcodes.h header file. A special handling is applied to the value returned from the client.
+ * - If a value is \ref YCPNull or \ref YCPVoid, exitcode \ref YAST_OK will be used.
+ * - If the value is \ref YCPBoolean, \ref YAST_OK will be returned for true, \ref YAST_CLIENTRESULT for false.
+ * - If the value is \ref YCPInteger, the value will be added to \ref YAST_CLIENTRESULT and the resulting
+ * integer will be the process exitcode.
+ * - If the value is \ref YCPSymbol, for names defined by \ref ycp_error_exit_symbols \ref YAST_CLIENTRESULT
+ * will be returned, otherwise \ref YAST_OK.
+ */
#include <stdarg.h>
#include <unistd.h>
#include <signal.h>
@@ -44,12 +72,21 @@
#include <YCP.h>
#include <ycp/Parser.h>
#include <ycp/pathsearch.h>
+#include "exitcodes.h"
+
+/// number of symbols that are handled as error codes
+#define MAX_YCP_ERROR_EXIT_SYMBOLS 2
+
+/// symbol names that are handled as error codes when returned by the client
+const char* ycp_error_exit_symbols[MAX_YCP_ERROR_EXIT_SYMBOLS] = {
+ "abort",
+ "cancel"
+};
using std::string;
ExecutionEnvironment ee;
-static const int YCP_ERROR = 16;
-
+/// fallback name of the program
static const char *progname = "genericfrontend";
static void print_usage ();
@@ -262,7 +299,7 @@
if (!argv[arg]) {
print_usage ();
- exit (1);
+ exit (YAST_FEWARGUMENTS);
}
client_name = argv[arg];
@@ -299,13 +336,13 @@
if (option.isNull())
{
print_error ("Client option -s: Couldn't parse valid YCP value from stdin");
- exit (5);
+ exit (YAST_OPTIONERROR);
}
if (!option->isList())
{
print_error ("Client option -s: Parsed YCP value is NOT a YCPList");
- exit (5);
+ exit (YAST_OPTIONERROR);
}
arglist = option->asList(); // the option read _IS_ arglist
@@ -387,13 +424,13 @@
{
fprintf(stderr, "No server module given\n");
print_usage ();
- exit (5);
+ exit (YAST_OPTIONERROR);
}
// now create server
if (!argv[arg]) {
print_usage ();
- exit (1);
+ exit (YAST_FEWARGUMENTS);
}
server_name = argv[arg];
@@ -477,7 +514,7 @@
if (!argv[0])
{
fprintf (stderr, "Missing argv[0]. It is a NULL pointer.");
- exit (5);
+ exit (YAST_OPTIONERROR);
}
progname = basename (argv[0]); // get program name
@@ -501,12 +538,12 @@
if (argc < 2) {
fprintf (stderr, "\nToo few arguments");
print_usage();
- exit (1);
+ exit (YAST_FEWARGUMENTS);
}
if (!strcmp (argv[1], "-h") || !strcmp (argv[1], "--help")) {
print_help ();
- exit (0);
+ exit (YAST_OK);
}
// client _AND_ server must be given
@@ -591,7 +628,7 @@
if (pos == NULL)
{
print_error ("Option %s argument must be in format namespace=component", argv[arg-1]);
- exit (5);
+ exit (YAST_OPTIONERROR);
}
*pos = 0;
Y2ComponentBroker::registerNamespaceException (argv[arg], pos+1);
@@ -689,12 +726,12 @@
fprintf (stderr, " %s\n", i->c_str());
print_usage ();
- exit (5);
+ exit (YAST_OPTIONERROR);
}
if (dynamic_cast<Y2ErrorComponent *>(client))
{
print_error ("Error while creating client module %s", client_name);
- exit (5);
+ exit (YAST_OPTIONERROR);
}
@@ -729,10 +766,30 @@
// might be useful in tracking segmentation faults
y2milestone ("Finished YaST2 component '%s'", progname);
- if( !result.isNull () && result->isBoolean() )
- exit( result->asBoolean()->value() ? 0 : YCP_ERROR );
+ if( result.isNull () )
+ exit (YAST_OK);
- exit (EXIT_SUCCESS);
+ y2milestone( "Exiting with client return value '%s'", result->toString ().c_str ());
+
+ if( result->isBoolean () )
+ {
+ exit( result->asBoolean()->value() ? YAST_OK : YAST_CLIENTRESULT );
+ }
+
+ if( result->isInteger () )
+ exit( YAST_CLIENTRESULT + result->asInteger ()->value () );
+
+ // if it is one of error symbols, return it as error
+ if( result->isSymbol () )
+ {
+ string symbol = result->asSymbol()->symbol();
+ for( int i = 0 ; i < MAX_YCP_ERROR_EXIT_SYMBOLS; i++ )
+ if( symbol == ycp_error_exit_symbols[i] )
+ exit( YAST_CLIENTRESULT );
+ }
+
+ // all other values
+ exit (YAST_OK);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/src/include/y2/exitcodes.h new/yast2-core-2.17.14/liby2/src/include/y2/exitcodes.h
--- old/yast2-core-2.17.13/liby2/src/include/y2/exitcodes.h 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-core-2.17.14/liby2/src/include/y2/exitcodes.h 2008-09-26 08:48:16.000000000 +0200
@@ -0,0 +1,31 @@
+/*---------------------------------------------------------------------\
+| |
+| __ __ ____ _____ ____ |
+| \ \ / /_ _/ ___|_ _|___ \ |
+| \ V / _` \___ \ | | __) | |
+| | | (_| |___) || | / __/ |
+| |_|\__,_|____/ |_| |_____| |
+| |
+| core system |
+| (C) SuSE GmbH |
+\----------------------------------------------------------------------/
+
+ File: exitcodes.h
+
+ Author: Stanislav Visnovsky <visnov(a)suse.cz>
+ Maintainer: Stanislav Visnovsky <visnov(a)suse.cz>
+
+/-*/
+// -*- c++ -*-
+
+#ifndef exitcodes_h
+#define exitcodes_h
+
+enum error_codes {
+ YAST_OK = 0, // process finished without errors
+ YAST_FEWARGUMENTS = 1, // too few arguments for the commandline
+ YAST_OPTIONERROR = 5, // error in provided arguments
+ YAST_CLIENTRESULT = 16 // client (YCP) returned special result, this is used as offset (or as generic error)
+};
+
+#endif // exitcodes_h
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/src/include/y2/Makefile.am new/yast2-core-2.17.14/liby2/src/include/y2/Makefile.am
--- old/yast2-core-2.17.13/liby2/src/include/y2/Makefile.am 2007-10-23 15:50:05.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/src/include/y2/Makefile.am 2008-09-26 12:09:32.000000000 +0200
@@ -14,7 +14,8 @@
Y2SerialComponent.h Y2StdioComponent.h \
Y2PluginComponent.h Y2CCPlugin.h \
Y2Namespace.h \
- Y2Function.h SymbolEntry.h
+ Y2Function.h SymbolEntry.h \
+ exitcodes.h
#<INSTALL-HEADER-TARGET>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/src/include/y2/Y2ComponentBroker.h new/yast2-core-2.17.14/liby2/src/include/y2/Y2ComponentBroker.h
--- old/yast2-core-2.17.13/liby2/src/include/y2/Y2ComponentBroker.h 2008-05-05 20:43:38.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/src/include/y2/Y2ComponentBroker.h 2008-09-26 10:52:41.000000000 +0200
@@ -34,6 +34,41 @@
class Y2Component;
/**
+ * \page componentbroker YaST2 Component Broker
+ * \author Matthias Kettner
+ * \todo clean up and update
+ *
+ * <h2>How the component broker works</h2>
+ *
+ * liby2 is the library which does all the stuff
+ *
+ * in \ref Y2ProgramComponent.cc the server/client is started
+ * (\ref launchExternalProgram) by connecting pipes for stdin/stdout
+ * and starting the program via fork/execve.
+ *
+ * The program is searched via \ref pathsearch.cc and must reside
+ * in a sub-directory "clients" or "servers".
+ * The $HOME directory is a special case, as a sub-dir $HOME/.yast2
+ * must exists.
+ *
+ * Every program starts via \ref main() \ref genericfrontend.cc
+ *
+ * The \ref main() function parses argv and starts
+ * the client (\ref Y2ComponentBroker::createClient) and the
+ * server (\ref Y2ComponentBroker::createServer) for the component
+ *
+ * Expressions are 'commands' to the server and sent via
+ * "...Component::evaluate (const YCPValue& command)"
+ *
+ * evaluate() starts the 'real' component if it is not already
+ * running.
+ *
+ * \ref doActualWork() is used for client components
+ *
+ * \ref result() is used to finish server components
+ */
+
+/**
* @short Looks for and creates YaST2 components
* This class has no instances and only static methods.
* There are two reasons for this:
@@ -50,6 +85,8 @@
* exist. During global constructor call time (before main), the
* constructors of the @ref ComponentCreator classes <i>register</i>
* themselves to the component broker.
+ *
+ * For more details, see \page componentbroker
*/
class Y2ComponentBroker
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/liby2/src/include/y2/Y2Component.h new/yast2-core-2.17.14/liby2/src/include/y2/Y2Component.h
--- old/yast2-core-2.17.13/liby2/src/include/y2/Y2Component.h 2007-06-25 11:19:13.000000000 +0200
+++ new/yast2-core-2.17.14/liby2/src/include/y2/Y2Component.h 2008-09-26 10:54:37.000000000 +0200
@@ -33,8 +33,199 @@
class YCPList;
/**
+ * \page components YaST2 Component Architecture
+ *
+ * \author Mathias Kettner
+ *
+ * \todo This is partially obsolete!
+ *
+ * <h2>Design principles</h2>
+ *
+ * <p>The YaST2 component model is the foundation of the
+ * YaST2 architecture. It is important to understand at least
+ * the basic ideas in order to be able to write new Y2 components.
+ * It's based upon the following design principles:
+ *
+ * <p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
+ * <table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
+ * <ul>
+ *
+ * <p><li><i>YaST2 should be easily extensable. One should be able
+ * to exchange or add functionality independent
+ * of all other parts.</i>This leads to a modular architecture.
+ * The interchangable parts are called 'components'.</li>
+ *
+ * <p><li><i>It should be possible, that a component can be added
+ * or exchanged merely through the fact, that a file has been
+ * added or exchanged.</i> This allows you to put configuration
+ * modules for a software into the same package as that software.
+ * For example you could write a configuration module for
+ * sendmail and put it into the sendmail package. As long as
+ * the sendmail package is installed, its YaST2 configuration
+ * module is available.</li>
+ *
+ * <p><li><i>Despite the need for Y2 to be modular in concept,
+ * during execution time this should not lead to high communication
+ * overhead or large need in memory usage or the number of
+ * concurrently running processes.</i></li>
+ *
+ * <p><li><i>The inter-component communication should be human
+ * readable, at least in debugging situations.</i></li>
+ *
+ * <p><li><i>The inter-component communication should be network
+ * transparent.</i></li>
+ *
+ * <p><li><i>It should be easy to write a component. Component implementing
+ * should not be restricted to a certain programming language.</i>
+ *
+ * </ul>
+ * </td></tr></table>
+ * </td></tr></table>
+ *
+ * <h2>Communication</h2>
+ *
+ * <p>All components speak a common language and act according to
+ * defined protocol. Both the language and the protocol are
+ * called <i>YCP (YaST2 communication protocol)</i>. One protocol
+ * step consists of one of the partners sending exactly one
+ * <a href="../libycp/YCP-datatypes.html">YCP value</a>
+ * to the other and the other receiving that value. In the
+ * next step, the component that just was receiving, is now sending and
+ * vice versa. The only exception is, that one of that partners
+ * may terminate the session and send a last <i>result</i> message
+ * after which - of course - the partner won't send another value.
+ *
+ * <h2>Clients and Servers</h2>
+ *
+ * <p>There are two different kinds of components: server components and
+ * client components, which differ in how the control flows.
+ *
+ * <p>A <i>server</i> component is one that - once it's initialized -
+ * just waits for jobs to do. Another component can send a <i>request</i>
+ * and thus pass the control to the server. That does what is neccessary
+ * in order to do handle the request and returns an
+ * <i>answer</i>. Prominent examples for server components are the user
+ * interfaces. In YaST2 they play a <i>passive</i> role. They just wait
+ * for a command like "Show me this dialog, wait for the next user
+ * input and return me that input". A server component can also use
+ * the service of another server component. For example the <i>SCR
+ * (System configuration repository)</i> makes use of servers called
+ * <i>agents</i>, which realize subtrees of the SCR tree.
+ *
+ * <p>A <i>client</i> component is one that controls the flow. It may
+ * contain something like an "event loop". In order to do its
+ * work, it can use the services of other server components. Client
+ * components are sometimes called <i>modules</i>. Examples for
+ * modules are the single steps of the YaST2 "Installation
+ * Wizard" or the program that calls <tt>rpm</tt> to install
+ * packages. Other examples could be a module that configures the network
+ * setup of a workstation or one, that just sets the IP-number and the
+ * hostname of that workstation.
+ *
+ * <p>Modules can be hiearchically structured
+ * and hand over control to other modules that acomplish sub tasks and
+ * are called <i>submodules</i> in this context. An example is the
+ * structure of the YaST2 installer. The installation itself is
+ * a module. For each of the wizard window steps, it calls a submodule.
+ *
+ * <h2>How components are realized</h2>
+ * <p>There are quite a number of ways how you can implement a component.
+ * A component can be:
+ * <p><table cellspacing=0 BGCOLOR="#f96500" width="100%"><tr><td>
+ * <table width="100%" bgcolor="#ffc080" cellpadding=10><TR><TD>
+ * <ul>
+ *
+ * <li>An executable program (ELF, /bin/sh, or whatsoever)</li>
+ * <li>A C++ class using <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>
+ * and <tt><a href="../liby2/autodocs/intro.html">liby2</a></tt></li>
+ * <li>A YCP script executed by the <i>Workflowmanager</i></li>
+ * <li>Youself typing some YCP code at a terminal</li>
+ *
+ * </ul>
+ * </td></tr></table>
+ * </td></tr></table>
+ *
+ * <p>Don't laugh over the last possibility! For debugging this is sometimes
+ * very helpful. You can simulate <i>any</i> component by typing to a terminal.
+ *
+ * <h3>Executable programs</h3>
+ *
+ * <p>A component that exists as <i>executable program</i> is realized by
+ * a process that is created when the component is needed. If a component
+ * needs the services of an external program component, it launches a
+ * seperate process and starts a communication via two unix pipes, one in
+ * each direction.
+ *
+ * <p>The data flowing through these pipes is YCP Ascii
+ * representation. Each communication side needs a parser to analyse the
+ * data and a YCP syntax generater to write data to the pipe. Both can be
+ * found in the <tt><a href="../libycp/autodocs/intro.html">libycp</a></tt>,
+ * which can only used from C++ programs.
+ *
+ * <p>But the production of YCP code
+ * can in many cases very easily be done be printing to stdout, for
+ * example with <tt>echo</tt> (shell) or <tt>printf</tt> (C).
+ *
+ * <p>The parsing of YCP code is as bit more tricky. But in many cases you
+ * don't need a full featured parser, because you know beforehand what structure
+ * the value have that you get. This especially holds for client components,
+ * because they can decide, how the output from the server should look like.
+ *
+ * <h3>C++ class using libycp and liby2</h3>
+ * <p>If you anyway decide to write your component in C++,
+ * it's by far the most conveniant way to use the functionality
+ * of libycp and liby2, whose only purpose is excactly to support
+ * component implementation.
+ *
+ * <p>What you have to do is to subclass at least two classes:
+ * <tt><a href="../liby2/autodocs/Y2ComponentCreator.html">Y2ComponentCreator</a></tt> and
+ * <tt><a href="../liby2/autodocs/Y2Component.html">Y2Component</a></tt> and
+ *
+ * <p>Depending on whether you want to implement a server or a client component
+ * you have to override different methods. Many examples can be found within the liby2
+ * itself.
+ *
+ * <p>One big advantage of writing a component in C++ is, that
+ * you can very easily create three external appearances of the component:
+ * <ul>
+ * <li>A selfcontained executable program</li>
+ * <li>A shared library plugin to load during runtime</li>
+ * <li>A static library that can be linked together with other components</li>
+ * </ul>
+ *
+ * <p>The YaST2 installer makes usage of the third variant only. All required components
+ * are linked together to <tt>y2base</tt>, which is statically linked against liby2 and
+ * libycp. The memory usage is reduced as well as the required disk space. Furthermore
+ * no creating and parsing of Ascii streams between the components is required. Protocol
+ * steps are simple function calls. Even for very large data structures, only one pointer
+ * has to be passed.
+ *
+ * <h3>A YCP script executed by the <i>Workflowmanager</i></h3>
+ * <p>If you have installed YaST2, you will find some files ending in <tt>.ycp</tt>
+ * lying around in <tt>/lib/YaST2/clients</tt>. These are YCP scripts implementing
+ * client components (modules). YCP is not only a protocol, it is also a full features
+ * programming language, which is in this case used to implement components. This is
+ * very conveniant as the language can directly operate on the protocol values and
+ * has some other nice features.
+ *
+ * <p>The client scripts are executed by the <i>Workflowmanager</i>, which is an
+ * extension to the core YCP language. It implements a couple of builtin functions
+ * that allow communication the the system and with other
+ * components. Here is a
+ * <a href="../y2wfm/YCP-builtins-wfm.html">of builtins.</a>.
+ *
+ * <h3>Youself typing YCP code at a terminal</h3>
+ * <p>You can be a component yourself :-). Just tell another component to communicate
+ * via stdio and speak with it. For example you can launch the component <tt>ycp</tt> by
+ * typing <tt>y2ycp stdio</tt>. Now you can enter YCP expressions and get the evaluation
+ * as answer.
+ */
+
+/**
* @short Communication handle to a YaST2 component.
- * @see Y2ComponentBroker.
+ * @see componentbroker
+ * @see Y2ComponentBroker
+ *
* YaST2 is a network oriented client/server architecture.
* Currently there exist five differnt types of components:
* userinterfaces, modules, the workflowmanagers, the
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/yast2-core-2.17.13/VERSION new/yast2-core-2.17.14/VERSION
--- old/yast2-core-2.17.13/VERSION 2008-09-25 12:21:33.000000000 +0200
+++ new/yast2-core-2.17.14/VERSION 2008-09-26 12:19:00.000000000 +0200
@@ -1 +1 @@
-2.17.13
+2.17.14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 xorg-x11-driver-video
checked in at Fri Sep 26 15:15:07 CEST 2008.
--------
--- xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-09-24 13:23:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/xorg-x11-driver-video/xorg-x11-driver-video.changes 2008-09-26 11:48:00.769564784 +0200
@@ -1,0 +2,14 @@
+Fri Sep 26 11:47:29 CEST 2008 - sndirsch(a)suse.de
+
+- xf86-video-intel-vbe_noinit.diff
+ * Remove VBE initialization from Intel driver. It's no longer
+ necessary to initialize VBE as this driver no longer calls
+ into VBE. (Egbert Eich)
+
+-------------------------------------------------------------------
+Fri Sep 26 09:29:25 CEST 2008 - sndirsch(a)suse.de
+
+- xf86-video-intel 2.4.97.0_2.5-branch_8408995
+ * Intel-2008-Q3-RC2 release
+
+-------------------------------------------------------------------
Old:
----
xf86-video-intel-2.4.97.0_2.5-branch_043b6e7.tar.bz2
New:
----
xf86-video-intel-2.4.97.0_2.5-branch_8408995.tar.bz2
xf86-video-intel-vbe_noinit.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xorg-x11-driver-video.spec ++++++
--- /var/tmp/diff_new_pack.xK2880/_old 2008-09-26 15:14:47.000000000 +0200
+++ /var/tmp/diff_new_pack.xK2880/_new 2008-09-26 15:14:47.000000000 +0200
@@ -22,7 +22,7 @@
BuildRequires: Mesa-devel libdrm-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk
Url: http://xorg.freedesktop.org/
Version: 7.4
-Release: 4
+Release: 5
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@@ -67,7 +67,7 @@
Source42: xf86-video-voodoo-1.2.0.tar.bz2
Source43: xf86-video-impact-0.2.0.tar.bz2
Source44: HALlib-4.1.tar.gz
-Source45: xf86-video-intel-2.4.97.0_2.5-branch_043b6e7.tar.bz2
+Source45: xf86-video-intel-2.4.97.0_2.5-branch_8408995.tar.bz2
Source46: xf86-video-ati-6.9.0.tar.bz2
Source48: xf86-video-mga-1.9.100.tar.bz2
Source50: xf86-video-xgi-1.5.0.tar.bz2
@@ -94,6 +94,7 @@
Patch51: xf86-video-s3virge.diff
Patch53: xf86-video-ati-renderaccel-fix.diff
Patch54: xf86-video-vesa_verbose.diff
+Patch55: xf86-video-intel-vbe_noinit.diff
Patch100: xf86-video-ati-6.6.3-r128-xvideo.patch
Patch101: xf86-video-ati-6.6.3-compile-cfb.patch
Patch102: xf86-video-ati-6.6.3-if0.patch
@@ -143,6 +144,7 @@
pushd xf86-video-intel-*
#%patch -p0
%patch1
+%patch55 -p1
popd
pushd xf86-video-nv-*
%patch3 -p0
@@ -276,6 +278,14 @@
/var/lib/hardware/ids/20.%{name}
%changelog
+* Fri Sep 26 2008 sndirsch(a)suse.de
+- xf86-video-intel-vbe_noinit.diff
+ * Remove VBE initialization from Intel driver. It's no longer
+ necessary to initialize VBE as this driver no longer calls
+ into VBE. (Egbert Eich)
+* Fri Sep 26 2008 sndirsch(a)suse.de
+- xf86-video-intel 2.4.97.0_2.5-branch_8408995
+ * Intel-2008-Q3-RC2 release
* Wed Sep 24 2008 sndirsch(a)suse.de
- xf86-video-intel 2.4.97.0_2.5-branch_043b6e7
* Intel-2008-Q3-RC1 release
++++++ xf86-video-intel-2.4.97.0_2.5-branch_043b6e7.tar.bz2 -> xf86-video-intel-2.4.97.0_2.5-branch_8408995.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i830_crt.c new/xf86-video-intel-2.4.97.0/src/i830_crt.c
--- old/xf86-video-intel-2.4.97.0/src/i830_crt.c 2008-09-24 13:13:05.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i830_crt.c 2008-09-26 09:23:05.000000000 +0200
@@ -410,6 +410,49 @@
}
#endif
+static xf86MonPtr
+i830_get_edid(xf86OutputPtr output, int gpio_reg, char *gpio_str)
+{
+ I830OutputPrivatePtr intel_output = output->driver_private;
+ xf86MonPtr edid_mon = NULL;
+
+ /* Set up the DDC bus. */
+ if (gpio_reg != GPIOA)
+ I830I2CInit(output->scrn, &intel_output->pDDCBus, gpio_reg, gpio_str);
+
+ edid_mon = xf86OutputGetEDID (output, intel_output->pDDCBus);
+
+ if (!edid_mon || DIGITAL(edid_mon->features.input_type)) {
+ xf86DestroyI2CBusRec(intel_output->pDDCBus, TRUE, TRUE);
+ if (edid_mon) {
+ xfree(edid_mon);
+ edid_mon = NULL;
+ }
+ }
+ return edid_mon;
+}
+
+static DisplayModePtr
+i830_crt_get_modes (xf86OutputPtr output)
+{
+ DisplayModePtr modes;
+ xf86MonPtr edid_mon = NULL;
+
+ /* Try to probe normal CRT port, and also digital port for output
+ in DVI-I mode. */
+ if ((edid_mon = i830_get_edid(output, GPIOA, "CRTDDC_A")))
+ goto found;
+ if ((edid_mon = i830_get_edid(output, GPIOD, "CRTDDC_D")))
+ goto found;
+ if ((edid_mon = i830_get_edid(output, GPIOE, "CRTDDC_E")))
+ goto found;
+found:
+ xf86OutputSetEDID (output, edid_mon);
+
+ modes = xf86OutputGetEDIDModes (output);
+ return modes;
+}
+
static const xf86OutputFuncsRec i830_crt_output_funcs = {
.dpms = i830_crt_dpms,
.save = i830_crt_save,
@@ -420,7 +463,7 @@
.mode_set = i830_crt_mode_set,
.commit = i830_output_commit,
.detect = i830_crt_detect,
- .get_modes = i830_ddc_get_modes,
+ .get_modes = i830_crt_get_modes,
.destroy = i830_crt_destroy,
#ifdef RANDR_GET_CRTC_INTERFACE
.get_crtc = i830_crt_get_crtc,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i830_hdmi.c new/xf86-video-intel-2.4.97.0/src/i830_hdmi.c
--- old/xf86-video-intel-2.4.97.0/src/i830_hdmi.c 2008-09-24 13:13:05.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i830_hdmi.c 2008-09-26 09:22:13.000000000 +0200
@@ -139,6 +139,8 @@
struct i830_hdmi_priv *dev_priv = intel_output->dev_priv;
I830Ptr pI830 = I830PTR(pScrn);
uint32_t temp, bit;
+ xf86OutputStatus status;
+ xf86MonPtr edid_mon;
/* For G4X, PEG_BAND_GAP_DATA 3:0 must first be written 0xd.
* Failure to do so will result in spurious interrupts being
@@ -171,9 +173,15 @@
}
if ((INREG(PORT_HOTPLUG_STAT) & bit) != 0)
- return XF86OutputStatusConnected;
+ status = XF86OutputStatusConnected;
else
return XF86OutputStatusDisconnected;
+
+ edid_mon = xf86OutputGetEDID (output, intel_output->pDDCBus);
+ if (!edid_mon || !DIGITAL(edid_mon->features.input_type))
+ status = XF86OutputStatusDisconnected;
+ xfree(edid_mon);
+ return status;
}
static void
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i830_memory.c new/xf86-video-intel-2.4.97.0/src/i830_memory.c
--- old/xf86-video-intel-2.4.97.0/src/i830_memory.c 2008-09-24 13:13:05.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i830_memory.c 2008-09-26 09:22:13.000000000 +0200
@@ -158,6 +158,29 @@
}
static Bool
+i830_check_display_stride(ScrnInfoPtr pScrn, int stride, Bool tiling)
+{
+ I830Ptr pI830 = I830PTR(pScrn);
+ int limit = KB(32);
+
+ /* 8xx spec has always 8K limit, but tests show larger limit in
+ non-tiling mode, which makes large monitor work. */
+ if ((IS_845G(pI830) || IS_I85X(pI830)) && tiling)
+ limit = KB(8);
+
+ if (IS_I915(pI830) && tiling)
+ limit = KB(8);
+
+ if (IS_I965G(pI830) && tiling)
+ limit = KB(16);
+
+ if (stride <= limit)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static Bool
i830_bind_memory(ScrnInfoPtr pScrn, i830_memory *mem)
{
I830Ptr pI830 = I830PTR(pScrn);
@@ -1200,6 +1223,12 @@
else
tiling = pI830->tiling;
+ if (!i830_check_display_stride(pScrn, pitch, tiling)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Front buffer stride %d kB "
+ "exceed display limit\n", pitch/1024);
+ return NULL;
+ }
+
/* Attempt to allocate it tiled first if we have page flipping on. */
if (tiling && IsTileable(pScrn, pitch)) {
/* XXX: probably not the case on 965 */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i830_quirks.c new/xf86-video-intel-2.4.97.0/src/i830_quirks.c
--- old/xf86-video-intel-2.4.97.0/src/i830_quirks.c 2008-09-24 13:13:05.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i830_quirks.c 2008-09-26 09:22:13.000000000 +0200
@@ -229,6 +229,9 @@
{ PCI_CHIP_I965_GM, 0xa0a0, SUBSYS_ANY, quirk_ignore_lvds },
{ PCI_CHIP_I965_GM, 0x8086, 0x1999, quirk_ignore_lvds },
+ /* Cappuccino SlimPRO SP625F, bz #11368 */
+ { PCI_CHIP_I855_GM, 0x8086, 0x3582, quirk_ignore_lvds },
+
/* Apple Mac mini has no lvds, but macbook pro does */
{ PCI_CHIP_I945_GM, 0x8086, 0x7270, quirk_mac_mini },
@@ -278,6 +281,8 @@
/* Samsung Q45 has no TV output */
{ PCI_CHIP_I965_GM, 0x144d, 0xc510, quirk_ignore_tv },
+ /* HP Compaq nx6110 has no TV output */
+ { PCI_CHIP_I915_GM, 0x103c, 0x099c, quirk_ignore_tv },
/* HP Compaq 6730s has no TV output */
{ PCI_CHIP_GM45_GM, 0x103c, 0x30e8, quirk_ignore_tv },
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i830_video.c new/xf86-video-intel-2.4.97.0/src/i830_video.c
--- old/xf86-video-intel-2.4.97.0/src/i830_video.c 2008-09-24 13:13:05.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i830_video.c 2008-09-26 09:22:13.000000000 +0200
@@ -2245,12 +2245,16 @@
pI830->entityPrivate->XvInUse = i830_crtc_pipe (pPriv->current_crtc);;
}
- /* Clamp dst width & height to 7x of src (overlay limit) */
- if(drw_w > (src_w * 7))
- drw_w = src_w * 7;
+ if (!pPriv->textured) {
+ /* If dst width and height are less than 1/8th the src size, the
+ * src/dst scale factor becomes larger than 8 and doesn't fit in
+ * the scale register. */
+ if(src_w >= (drw_w * 8))
+ drw_w = src_w/7;
- if(drw_h > (src_h * 7))
- drw_h = src_h * 7;
+ if(src_h >= (drw_h * 8))
+ drw_h = src_h/7;
+ }
/* Clip */
x1 = src_x;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/xf86-video-intel-2.4.97.0/src/i965_render.c new/xf86-video-intel-2.4.97.0/src/i965_render.c
--- old/xf86-video-intel-2.4.97.0/src/i965_render.c 2008-09-24 13:13:06.000000000 +0200
+++ new/xf86-video-intel-2.4.97.0/src/i965_render.c 2008-09-26 09:22:13.000000000 +0200
@@ -1450,7 +1450,7 @@
render_state->card_state_offset = pI830->gen4_render_state_mem->offset;
- if (pI830->gen4_render_state_mem->bo) {
+ if (pI830->use_drm_mode) {
ret = dri_bo_map(pI830->gen4_render_state_mem->bo, 1);
if (ret) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
@@ -1474,7 +1474,7 @@
{
I830Ptr pI830 = I830PTR(pScrn);
- if (pI830->gen4_render_state_mem->bo) {
+ if (pI830->use_drm_mode) {
dri_bo_unmap(pI830->gen4_render_state_mem->bo);
dri_bo_unreference(pI830->gen4_render_state_mem->bo);
}
++++++ xf86-video-intel-vbe_noinit.diff ++++++
diff --git a/doltcompile b/doltcompile
diff --git a/src/i830_bios.c b/src/i830_bios.c
index ff49025..b084634 100644
--- a/src/i830_bios.c
+++ b/src/i830_bios.c
@@ -179,7 +179,7 @@ i830_bios_init(ScrnInfoPtr pScrn)
struct bdb_header *bdb;
int vbt_off, bdb_off;
unsigned char *bios;
- vbeInfoPtr pVbe;
+ xf86Int10InfoPtr pInt10;
pointer pVBEModule = NULL;
bios = xalloc(INTEL_VBIOS_SIZE);
@@ -191,12 +191,13 @@ i830_bios_init(ScrnInfoPtr pScrn)
return FALSE;
xf86LoaderReqSymLists(I810vbeSymbols, NULL);
- pVbe = VBEInit(NULL, pI830->pEnt->index);
- if (pVbe != NULL) {
- memcpy(bios, xf86int10Addr(pVbe->pInt10,
- pVbe->pInt10->BIOSseg << 4),
+ pInt10 = xf86InitInt10(pI830->pEnt->index);
+
+ if (pInt10 != NULL) {
+ memcpy(bios, xf86int10Addr(pInt10,
+ pInt10->BIOSseg << 4),
INTEL_VBIOS_SIZE);
- vbeFree (pVbe);
+ xf86FreeInt10(pInt10);
} else {
#if XSERVER_LIBPCIACCESS
pci_device_read_rom (pI830->PciInfo, bios);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 2ce8942..12d7a2e 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -191,7 +191,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "dixstruct.h"
#include "xf86xv.h"
#include <X11/extensions/Xv.h>
-#include "vbe.h"
#include "shadow.h"
#include "i830.h"
#include "i830_display.h"
@@ -437,9 +436,6 @@ I830DetectMemory(ScrnInfoPtr pScrn)
uint16_t gmch_ctrl;
int memsize = 0, gtt_size;
int range;
-#if 0
- VbeInfoBlock *vbeInfo;
-#endif
#if XSERVER_LIBPCIACCESS
struct pci_device *bridge = intel_host_bridge ();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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