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
February 2007
- 1 participants
- 918 discussions
Hello community,
here is the log from the commit of package pmtools
checked in at Mon Feb 26 19:04:46 CET 2007.
--------
--- pmtools/pmtools.changes 2006-12-11 17:16:56.000000000 +0100
+++ /mounts/work_src_done/STABLE/pmtools/pmtools.changes 2007-02-26 16:04:34.831568000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 16:06:29 CET 2007 - jdelvare(a)suse.de
+
+- updated dmidecode from version 2.8 to 2.9
+
+-------------------------------------------------------------------
Old:
----
dmidecode-2.8.tar.bz2
New:
----
dmidecode-2.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pmtools.spec ++++++
--- /var/tmp/diff_new_pack.d30152/_old 2007-02-26 19:04:40.000000000 +0100
+++ /var/tmp/diff_new_pack.d30152/_new 2007-02-26 19:04:40.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package pmtools (Version 20061026)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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.
#
@@ -13,7 +13,7 @@
Name: pmtools
URL: http://www.intel.com/technology/iapc/acpi/downloads.htm
Version: 20061026
-Release: 1
+Release: 8
%define acpica acpica-unix-20060912
License: GNU General Public License (GPL)
Group: Development/Tools/Other
@@ -25,7 +25,7 @@
Patch3: pmtools-override-CFLAGS.diff
Patch4: pmtools-move-includes.diff
Patch5: madt.diff
-Source2: dmidecode-2.8.tar.bz2
+Source2: dmidecode-2.9.tar.bz2
Source3: %{acpica}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 ia64 x86_64
@@ -50,11 +50,7 @@
%build
make all CFLAGS="$RPM_OPT_FLAGS"
-%ifarch ia64
-make -C dmidecode* CFLAGS="$RPM_OPT_FLAGS -DALIGNMENT_WORKAROUND"
-%else
make -C dmidecode* CFLAGS="$RPM_OPT_FLAGS"
-%endif
make -C %{acpica}/compiler CFLAGS="$RPM_OPT_FLAGS"
make -C %{acpica}/tools/acpisrc CFLAGS="$RPM_OPT_FLAGS"
make -C %{acpica}/tools/acpixtract CFLAGS="$RPM_OPT_FLAGS"
@@ -72,7 +68,11 @@
# there is a new acpixtract written in C. Still provide the old one as .pl
install -m 755 acpidump/acpixtract %{buildroot}/usr/bin/acpixtract.pl
install -dm 755 %{buildroot}/%{_mandir}/man8
+%ifarch ia64
+for i in dmidecode ; do
+%else
for i in dmidecode vpddecode ownership biosdecode ; do
+%endif
install -Dm 755 dmidecode*/$i %{buildroot}/usr/sbin/
install -Dm 644 dmidecode*/man/$i.8 %{buildroot}/%{_mandir}/man8/
done
@@ -91,7 +91,9 @@
%doc %{_docdir}/%{name}
/%{_mandir}/man8/*
-%changelog -n pmtools
+%changelog
+* Mon Feb 26 2007 - jdelvare(a)suse.de
+- updated dmidecode from version 2.8 to 2.9
* Mon Dec 11 2006 - trenn(a)suse.de
- updated to pmtools 20061006.
- Added ExclusiveArch statement for x86_64 i386 ia64 architectures
++++++ dmidecode-2.8.tar.bz2 -> dmidecode-2.9.tar.bz2 ++++++
++++ 1917 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package mutt
checked in at Mon Feb 26 19:04:33 CET 2007.
--------
--- mutt/mutt.changes 2006-11-16 12:32:41.000000000 +0100
+++ /mounts/work_src_done/STABLE/mutt/mutt.changes 2007-02-26 15:35:27.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 15:10:11 CET 2007 - stbinner(a)suse.de
+
+- fix build by including icon and .desktop into package
+
+-------------------------------------------------------------------
Old:
----
mutt.spec-9.3
New:
----
mutt.desktop
mutt.png
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mutt.spec ++++++
--- /var/tmp/diff_new_pack.O28396/_old 2007-02-26 19:04:11.000000000 +0100
+++ /var/tmp/diff_new_pack.O28396/_new 2007-02-26 19:04:11.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package mutt (Version 1.5.13)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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.
#
@@ -12,7 +12,7 @@
Name: mutt
#!BuildIgnore: sendmail
-BuildRequires: cyrus-sasl-devel cyrus-sasl-gssapi desktop-data-SuSE docbook-xsl-stylesheets docbook_4 glibc-i18ndata gpgme gpgme-devel ispell krb5 krb5-devel libcom_err libgcrypt libgpg-error libgpg-error-devel libidn libidn-devel libxml2 libxslt lynx openssl-devel postfix sgml-skel update-desktop-files xli
+BuildRequires: cyrus-sasl-devel cyrus-sasl-gssapi docbook-xsl-stylesheets docbook_4 glibc-i18ndata gpgme-devel ispell krb5-devel libcom_err libgcrypt libgpg-error-devel libidn-devel libxml2 libxslt lynx openssl-devel postfix sgml-skel update-desktop-files xli
License: GNU General Public License (GPL)
Group: Productivity/Networking/Email/Clients
URL: http://www.mutt.org
@@ -24,13 +24,15 @@
#Requires: desktop-data-SuSE
Autoreqprov: on
Version: 1.5.13
-Release: 27
+Release: 48
Summary: Mail Program
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# ftp://ftp.mutt.org/mutt/devel/
Source0: %name-%version.tar.bz2
Source1: Signature_conversion
Source2: README.alternates
+Source3: mutt.png
+Source4: mutt.desktop
Patch: %name-%version.dif
# http://www.spinnaker.de/mutt/compressed/
Patch1: patch-%version.rr.compressed.1.bz2
@@ -125,8 +127,11 @@
rm -f $RPM_BUILD_ROOT/usr/bin/{flea,muttbug}
rm -f $RPM_BUILD_ROOT/etc/Muttrc.dist
rm -f $RPM_BUILD_ROOT/etc/mime.types.dist
-%suse_update_desktop_file -i mutt ConsoleOnly Email
-rm -f $RPM_BUILD_ROOT/usr/share/pixmaps/email.png
+mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
+install -m 644 %{SOURCE3} $RPM_BUILD_ROOT/usr/share/pixmaps/
+mkdir -p $RPM_BUILD_ROOT/usr/share/applications
+install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/usr/share/applications/
+%suse_update_desktop_file mutt
%clean
rm -rf $RPM_BUILD_ROOT
@@ -142,6 +147,7 @@
/usr/bin/smime_keys
/usr/bin/Signature_conversion
/usr/share/applications/*.desktop
+/usr/share/pixmaps/mutt.png
%_mandir/man1/mutt.1.gz
%_mandir/man1/mutt_dotlock.1.gz
%_mandir/man5/mmdf_mutt.5.gz
@@ -150,7 +156,9 @@
/usr/share/mutt
%config(noreplace) /etc/Muttrc
-%changelog -n mutt
+%changelog
+* Mon Feb 26 2007 - stbinner(a)suse.de
+- fix build by including icon and .desktop into package
* Thu Nov 16 2006 - werner(a)suse.de
- Make sidebar fix smarter by not breaking new status (bug #221599)
* Thu Nov 09 2006 - werner(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libeigen
checked in at Mon Feb 26 19:04:04 CET 2007.
--------
--- libeigen/libeigen.changes 2007-02-09 11:36:57.000000000 +0100
+++ /mounts/work_src_done/STABLE/libeigen/libeigen.changes 2007-02-26 16:38:46.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 26 16:38:21 CET 2007 - dmueller(a)suse.de
+
+- update to 1.0.4:
+ * improved vector handling, new matrix operations
+
+-------------------------------------------------------------------
Old:
----
eigen-1.0.3.tar.bz2
New:
----
eigen-1.0.4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libeigen.spec ++++++
--- /var/tmp/diff_new_pack.u26261/_old 2007-02-26 19:03:51.000000000 +0100
+++ /var/tmp/diff_new_pack.u26261/_new 2007-02-26 19:03:51.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package libeigen (Version 1.0.3)
+# spec file for package libeigen (Version 1.0.4)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,7 +17,7 @@
Summary: lightweight linear algebra C++ template library
BuildRoot: %{_tmppath}/%{name}-%{version}-build
URL: http://eigen.tuxfamily.org/
-Version: 1.0.3
+Version: 1.0.4
Release: 1
Source: eigen-%{version}.tar.bz2
@@ -53,6 +53,9 @@
%doc README LICENSE TODO
/usr/include/eigen
-%changelog -n libeigen
+%changelog
+* Mon Feb 26 2007 - dmueller(a)suse.de
+- update to 1.0.4:
+ * improved vector handling, new matrix operations
* Fri Feb 09 2007 - dmueller(a)suse.de
- Initial package (1.0.3)
++++++ eigen-1.0.3.tar.bz2 -> eigen-1.0.4.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/CMakeLists.txt new/eigen/CMakeLists.txt
--- old/eigen/CMakeLists.txt 2007-02-02 22:17:39.000000000 +0100
+++ new/eigen/CMakeLists.txt 2007-02-05 09:18:20.000000000 +0100
@@ -15,10 +15,5 @@
include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
add_subdirectory(src)
-
-if(EXISTS ${CMAKE_SOURCE_DIR}/gmm)
- add_subdirectory(gmm)
-endif(EXISTS ${CMAKE_SOURCE_DIR}/gmm)
-
add_subdirectory(tests)
add_subdirectory(examples)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/Doxyfile new/eigen/Doxyfile
--- old/eigen/Doxyfile 2007-02-03 17:58:26.000000000 +0100
+++ new/eigen/Doxyfile 2007-02-26 10:43:46.000000000 +0100
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = Eigen
-PROJECT_NUMBER = 1.0.3
+PROJECT_NUMBER = 1.0.4
OUTPUT_DIRECTORY = ./
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
@@ -37,7 +37,8 @@
ALIASES = \
"ludecomp_remark=If you perform other \
operations that use a LU decomposition, it's better for performance to \
-compute the LU decomposition once and then do the computations from it." \
+compute the LU decomposition once and then do the computations from it. \
+See class LUDecomposition and class LUDecompositionX." \
"return_by_value=This method returns an object by value, \
which is inefficient." \
"perf_use=For better performance, use "
@@ -54,7 +55,7 @@
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = YES
+HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = YES
HIDE_IN_BODY_DOCS = NO
@@ -259,7 +260,7 @@
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
+TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
@@ -277,6 +278,6 @@
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
+# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/eigen.patch new/eigen/eigen.patch
--- old/eigen/eigen.patch 2007-01-30 10:17:45.000000000 +0100
+++ new/eigen/eigen.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-diff -Naur -x .svn eigen.bk/CMakeLists.txt eigen/CMakeLists.txt
---- eigen.bk/CMakeLists.txt 2007-01-28 20:11:41.000000000 +0200
-+++ eigen/CMakeLists.txt 2007-01-29 17:56:00.000000000 +0200
-@@ -15,5 +15,6 @@
- include_directories( ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
-
- add_subdirectory(src)
-+add_subdirectory(gmm)
- add_subdirectory(tests)
- add_subdirectory(examples)
-diff -Naur -x .svn eigen.bk/gmm/CMakeLists.txt eigen/gmm/CMakeLists.txt
---- eigen.bk/gmm/CMakeLists.txt 1970-01-01 02:00:00.000000000 +0200
-+++ eigen/gmm/CMakeLists.txt 2007-01-29 18:21:36.000000000 +0200
-@@ -0,0 +1,10 @@
-+# the following are directories where stuff will be installed to
-+set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
-+
-+FILE(GLOB gmm_header_SRCS "*.h")
-+
-+install(FILES
-+ ${gmm_header_SRCS}
-+ DESTINATION ${INCLUDE_INSTALL_DIR}/gmm
-+ )
-+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/README new/eigen/README
--- old/eigen/README 2007-02-03 17:49:59.000000000 +0100
+++ new/eigen/README 2007-02-26 10:27:26.000000000 +0100
@@ -1,4 +1,4 @@
-Eigen version 1.0.3 February 3, 2007
+Eigen version 1.0.4 February 26, 2007
*** WHAT IS EIGEN ************************************************************
@@ -33,6 +33,8 @@
Contributors:
Casper Boemann <cbr(a)boemann.dk>
project co-founder, initial code contributions
+David Faure <faure(a)kde.org>
+ Portability fixes
Franz Keferboeck <franz.keferboeck(a)gmail.com>
contributions in matrixbase.h
Carsten Niehaus <cniehaus(a)gmx.de>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/linearsolver.h new/eigen/src/linearsolver.h
--- old/eigen/src/linearsolver.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/linearsolver.h 2007-02-26 10:49:16.000000000 +0100
@@ -158,9 +158,7 @@
}
};
-EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(LinearSolver)
-
-/** @ingroup dynamicsize
+/** \ingroup dynamicsize
*
* \ingroup solving
*
@@ -275,7 +273,8 @@
}
};
-EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(LinearSolverX)
+EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(LinearSolver);
+EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(LinearSolverX);
} // namespace Eigen
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/ludecompositionbase.h new/eigen/src/ludecompositionbase.h
--- old/eigen/src/ludecompositionbase.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/ludecompositionbase.h 2007-02-26 11:26:18.000000000 +0100
@@ -37,6 +37,8 @@
/** \ingroup internalbases
*
+ * \ingroup ludecomp
+ *
* \brief internal base class
*
* This class template is only internally used in Eigen.
@@ -139,7 +141,26 @@
* \returns true if A is invertible, false otherwise.
*
*/
- bool computeInverse( MatrixType * result );
+ bool computeInverse( MatrixType * result ) const;
+
+ /**
+ * This methods returns the inverse matrix of A, where A
+ * is the matrix of which *this is the LU decomposition. If A is
+ * non-invertible, the returned value is undefined.
+ *
+ * This method calls computeInverse(), so the same remarks as for
+ * computeInverse() apply here.
+ *
+ * \return_by_value
+ *
+ * \sa computeInverse()
+ */
+ MatrixType inverse() const
+ {
+ MatrixType m( m_LU.size() );
+ computeInverse( &m );
+ return m;
+ }
/**
* Returns the member m_LU, which stores the matrices L and U.
@@ -148,7 +169,6 @@
MatrixType & LU() { return m_LU; }
const MatrixType & LU() const { return m_LU; }
-
/**
* Returns the member m_P, which stores the permutation P.
* See member m_P and the class's comment.
@@ -539,7 +559,7 @@
typename VectorType,
typename IntVecType>
bool LUDecompositionBase<T, MatrixType, VectorType, IntVecType>
- ::computeInverse( MatrixType * result )
+ ::computeInverse( MatrixType * result ) const
{
assert( result->size() == dim() );
if( ! isInvertible() ) return false;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/ludecomposition.h new/eigen/src/ludecomposition.h
--- old/eigen/src/ludecomposition.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/ludecomposition.h 2007-02-26 10:49:16.000000000 +0100
@@ -44,6 +44,8 @@
/** \ingroup fixedsize
*
+ * \ingroup ludecomp
+ *
* \brief LU decomposition of a fixed-size matrix
*
* The template parameter T is the type of the entries of the matrix to be
@@ -85,21 +87,19 @@
/** Performs the LU Decomposition of mat. Use this constructor. */
LUDecomposition( const Matrix<T, Size> & mat ) { perform( mat ); }
- /** Default constructor. Does nothing. Never use this constructor.
- * It is only public for internal reasons (namely: friendship is
- * not transitive. Well, probably that could
- * be fixed somehow).
+protected:
+ /** Default constructor. Does nothing. \internal
*/
LUDecomposition() {}
};
-EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(LUDecomposition)
-
template<typename T> class MatrixX;
template<typename T> class VectorX;
/** \ingroup dynamicsize
*
+ * \ingroup ludecomp
+ *
* \brief LU decomposition of a dynamic-size matrix
*
* The template parameter T is the type of the entries of the matrix to be
@@ -130,15 +130,14 @@
/** Performs the LU Decomposition of mat. Use this constructor. */
LUDecompositionX( const MatrixX<T> & mat ) { perform( mat ); }
- /** Default constructor. Does nothing. Never use this constructor.
- * It is only public for internal reasons (namely: friendship is
- * not transitive. Well, probably that could
- * be fixed somehow).
+protected:
+ /** Default constructor. Does nothing. \internal
*/
LUDecompositionX() {}
};
-EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(LUDecompositionX)
+EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(LUDecomposition);
+EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(LUDecompositionX);
} // namespace Eigen
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/Mainpage.dox new/eigen/src/Mainpage.dox
--- old/eigen/src/Mainpage.dox 2007-02-03 17:49:59.000000000 +0100
+++ new/eigen/src/Mainpage.dox 2007-02-26 10:55:21.000000000 +0100
@@ -4,8 +4,9 @@
<a href="#overview">Overview</a><br/>
<a href="#license">License</a><br/>
<a href="#features">Features</a><br/>
-<a href="#kde">Relation to KDE</a><br/>
+<a href="#news">News</a><br/>
<a href="#download">Download</a><br/>
+<a href="#kde">Relation to KDE</a><br/>
<a href="#examples">Examples</a><br/>
<a href="#applications">Applications using Eigen</a><br/>
<a href="#authors">Authors</a><br/>
@@ -31,6 +32,8 @@
Eigen is distributed under the GPL, but with an <a href="#exception">exception allowing any software to use it</a>. Thus, to the question
"Can my own project use Eigen?", the answer is a definite <b>yes</b>.
+This is similar to the LGPL in spirit. The reason why we don't use the LGPL is that it doesn't make sense for a pure template library like Eigen, where all the code is in headers.
+
<a name="features"></a>
<h2>Features</h2>
@@ -67,6 +70,21 @@
<li>Uses standard asserts, controlled as usual by NDEBUG. To achieve optimal performance, turn them off by defining NDEBUG, e.g.</li> <pre align="center">g++ -O3 -DNDEBUG myprogram.cpp</pre>
</ul>
+<a name="news"></a>
+<h2>News</h2>
+
+If you want to stay informed of Eigen news and releases, please subscribe to our <a href="#mailinglist">mailing list</a>. You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
+
+
+<a name="download"></a>
+<h2>Download</h2>
+The source code of the latest release is here: <a href="http://download.tuxfamily.org/eigen/eigen-1.0.4.tar.gz">eigen-1.0.4.tar.gz</a><br/>
+
+Alternatively, you can checkout the development tree by anonymous svn, by doing:
+<pre>svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/eigen</pre>
+or view it online at this address:
+<a href="http://websvn.kde.org/trunk/kdesupport/eigen/">http://websvn.kde.org/trunk/kdesupport/eigen/</a>
+
<a name="kde"></a>
<h2>Relation to KDE</h2>
@@ -82,15 +100,6 @@
Although Eigen itself doesn't have any dependency, the unit-tests and the example program require Qt 4.
-<a name="download"></a>
-<h2>Download</h2>
-The source code of the latest release is here: <a href="http://download.tuxfamily.org/eigen/eigen-1.0.3.tar.gz">eigen-1.0.3.tar.gz</a><br/>
-
-Alternatively, you can checkout the development tree by anonymous svn, by doing:
-<pre>svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/eigen</pre>
-or view it online at this address:
-<a href="http://websvn.kde.org/trunk/kdesupport/eigen/">http://websvn.kde.org/trunk/kdesupport/eigen/</a>
-
<a name="examples"></a>
<h2>Examples</h2>
In <a href="http://websvn.kde.org/trunk/kdesupport/eigen/examples/qt/">examples/qt</a> is an example program demonstrating how Eigen's <a href="group__projective.html">projective-geometry</a> features can help writing OpenGL apps. See also <a href="http://bjacob.livejournal.com/2055.html">this blog entry</a>.
@@ -98,8 +107,12 @@
<a name="applications"></a>
<h2>Applications using Eigen</h2>
-Currently, we know of one popular application using Eigen: <a href="http://edu.kde.org/kalzium">Kalzium</a>, as of
-the current development version that'll ship with KDE4 in 2007. Eigen already allowed to add <a href="http://bjacob.livejournal.com/1762.html">some cool stuff</a> to Kalzium.
+<ul>
+ <li> <a href="http://edu.kde.org/kalzium">Kalzium</a>, as of
+ the current development version that'll ship with KDE 4 in 2007. Eigen already allowed to add <a href="http://bjacob.livejournal.com/1762.html">some cool stuff</a> to Kalzium.</li>
+ <li> <a href="http://www.koffice.org/kspread/">KSpread</a>, as of
+ the current development version that'll ship with KOffice 2 in 2007. Eigen seems to cover well KSpread's linear algebra needs.</li>
+</ul>
Please tell us if you know of other interesting projects using Eigen!
@@ -111,6 +124,7 @@
<b>Contributors:</b>
<ul>
<li>Casper Boemann (cbr at boemann dk) : project co-founder, initial development</li>
+ <li>David Faure (faure at kde dot org) : portability fixes</li>
<li>Franz Keferboeck (franz keferboeck at gmail com) : contributions in matrixbase.h</li>
<li>Carsten Niehaus (cniehaus at gmx de) : helped with QTestLib, Doxygen, CMake</li>
<li>Inge Wallin (inge at lysator liu se) : project co-founder, initial development</li>
@@ -134,6 +148,8 @@
To subscribe, send a mail with subject "subscribe" to eigen-request at lists tuxfamily org.<br/>
To unsubscribe, send a mail with subject "unsubscribe" to eigen-request at lists tuxfamily org.<br/>
+You can also browse the <a href="http://listengine.tuxfamily.org/lists.tuxfamily.org/eigen/">archive</a>.
+
<a name="exception"></a>
<h2>Exception to the GPL</h2>
Eigen is licensed under the GNU GPL, version 2 or later, plus the following exception, which is replicated into each of the source files of Eigen:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/matrixbase.h new/eigen/src/matrixbase.h
--- old/eigen/src/matrixbase.h 2007-02-03 17:42:04.000000000 +0100
+++ new/eigen/src/matrixbase.h 2007-02-26 09:44:05.000000000 +0100
@@ -33,6 +33,7 @@
#define EIGEN_MATRIXBASE_H
#include "util.h"
+#undef _T
namespace Eigen
{
@@ -1049,7 +1050,7 @@
* non-invertible, the returned value is undefined.
*
* This method calls computeInverse(), so the same remarks as for
- * computeInverse() apply here.
+ * computeInverse() apply here. \ludecomp_remark
*
* \return_by_value
*
@@ -1919,7 +1920,7 @@
{
resize(3);
T _cos = cos( angle ), _sin = sin( angle );
- T one_minus_cos = static_cast<T>( 1 - _cos );
+ T one_minus_cos = static_cast<T>(1) - _cos;
T coord_times_one_minus_cos = axis.x() * one_minus_cos;
(*this)( 0, 0 ) = axis.x() * coord_times_one_minus_cos + _cos;
T coord_times_coord_times_one_minus_cos = axis.y()
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/matrix.h new/eigen/src/matrix.h
--- old/eigen/src/matrix.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/matrix.h 2007-02-26 10:49:16.000000000 +0100
@@ -192,21 +192,27 @@
assert( unused_size == Size );
}
+ /** \internal \latexonly */
Matrix & operator = ( const Matrix & other )
{ return Base::operator = ( other ); }
+ /** \internal \latexonly */
Matrix & operator += ( const Matrix & other )
{ return Base::operator += ( other ); }
+ /** \internal \latexonly */
Matrix & operator -= ( const Matrix & other )
{ return Base::operator -= ( other ); }
+ /** \internal \latexonly */
Matrix& operator *=( const T & factor )
{ return Base::operator *= ( factor ); }
+ /** \internal \latexonly */
Matrix& operator /=( const T & factor )
{ return Base::operator /= ( factor ); }
+ /** \internal \latexonly */
Matrix& operator *=( const Matrix & other )
{ return Base::operator *= ( other ); }
@@ -219,8 +225,6 @@
};
-EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(Matrix)
-
/** \ingroup dynamicsize
*
* \ingroup matrices
@@ -341,21 +345,27 @@
~MatrixX()
{ delete[] m_array; }
+ /** \internal \latexonly */
MatrixX & operator = ( const MatrixX & other )
{ return Base::operator = ( other ); }
+ /** \internal \latexonly */
MatrixX & operator += ( const MatrixX & other )
{ return Base::operator += ( other ); }
+ /** \internal \latexonly */
MatrixX & operator -= ( const MatrixX & other )
{ return Base::operator -= ( other ); }
+ /** \internal \latexonly */
MatrixX& operator *=( const T & factor )
{ return Base::operator *= ( factor ); }
+ /** \internal \latexonly */
MatrixX& operator /=( const T & factor )
{ return Base::operator /= ( factor ); }
+ /** \internal \latexonly */
MatrixX& operator *=( const MatrixX & other )
{ return Base::operator *= ( other ); }
@@ -381,13 +391,13 @@
private:
- /** \internal
+ /** \internal \latexonly
* @returns the matrix size (number of rows)
*/
int _size() const
{ return m_size; }
- /** \internal
+ /** \internal \latexonly
* Returns true. A MatrixX has dynamic size.
*/
static bool _hasDynamicSize()
@@ -414,7 +424,8 @@
m_size = size;
}
-EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(MatrixX)
+EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(Matrix);
+EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(MatrixX);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/projective.h new/eigen/src/projective.h
--- old/eigen/src/projective.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/projective.h 2007-02-26 10:49:16.000000000 +0100
@@ -544,7 +544,6 @@
}
}
-
template< typename T, int Size >
void MatrixP<T, Size>::resetLastRow()
{
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/util.h new/eigen/src/util.h
--- old/eigen/src/util.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/util.h 2007-02-26 10:37:53.000000000 +0100
@@ -36,6 +36,12 @@
#include <iostream>
#include <cassert>
+#ifdef __GNUC__
+# if __GNUC__>=4
+# define EIGEN_WITH_GCC_4_OR_LATER
+# endif
+#endif
+
namespace Eigen
{
@@ -58,8 +64,16 @@
* random values between -1.0 and 1.0 */
template<typename T> void pickRandom( std::complex<T> & x )
{
+#ifdef EIGEN_WITH_GCC_4_OR_LATER
pickRandom( x.real() );
pickRandom( x.imag() );
+#else // workaround by David Faure for MacOS 10.3 and GCC 3.3, commit 630812
+ T r = x.real();
+ T i = x.imag();
+ pickRandom( r );
+ pickRandom( i );
+ x = std::complex<T>(r,i);
+#endif
}
template<typename T> inline T epsilon() { return static_cast<T>(0); }
@@ -165,6 +179,7 @@
/** @defgroup dynamicsize Dynamic-size classes*/
/** @defgroup solving Solving systems of equations*/
/** @defgroup regression Linear regression analysis*/
+/** @defgroup ludecomp LU Decomposition*/
/** @defgroup projective Projective geometry*/
/** @defgroup internalbases Internal stuff*/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/vectorbase.h new/eigen/src/vectorbase.h
--- old/eigen/src/vectorbase.h 2007-02-03 17:38:22.000000000 +0100
+++ new/eigen/src/vectorbase.h 2007-02-08 08:40:55.000000000 +0100
@@ -286,7 +286,7 @@
/**
* Normalizes *this, that is, divides *this by norm().
*
- * \sa norm()
+ * \sa norm(), normalized()
*/
Derived & normalize()
{
@@ -295,6 +295,36 @@
}
/**
+ * Returns a normalized copy of *this. In other words,
+ * returns (*this) / norm().
+ *
+ * \return_by_value
+ *
+ * \sa normalize()
+ */
+ Derived normalized()
+ {
+ Derived ret( *static_cast<Derived *>(this) );
+ return(ret.normalize());
+ }
+
+ /**
+ * Loads into *this a unit vector that is orthogonal to \a other.
+ *
+ * The size of \a other must be at least 2.
+ * *this gets resized to have the same size, if it has dynamic size.
+ *
+ * If the size is exactly 2, then other points toward the left, \ie
+ * other.x() = -y() and other.y() = x(). For dimensions at least 3, it
+ * is of course impossible to speak of "pointing toward the left".
+ *
+ * @returns a reference to *this.
+ *
+ * \sa ortho(), MatrixBase::loadOrthoBasis()
+ */
+ Derived & loadOrtho( const Derived & other );
+
+ /**
* Constructs a unit vector that is orthogonal to *this,
* and stores it into *res.
*
@@ -303,9 +333,27 @@
*
* @returns a reference to *res.
*
- * \sa MatrixBase::loadOrthoBasis()
+ * \deprecated use loadOrtho() or ortho() instead.
+ *
+ * \sa loadOrtho(), ortho(), MatrixBase::loadOrthoBasis()
*/
- Derived & makeOrthoVector( Derived * res ) const;
+ Derived & makeOrthoVector( Derived * res ) const
+ {
+ return res->loadOrtho( *static_cast<const Derived*>(this) );
+ }
+
+ /**
+ * Returns a unit vector that is orthogonal to *this.
+ *
+ * \return_by_value \perf_use loadOrtho() instead.
+ *
+ * \sa loadOrtho(), makeOrthoVectorMatrixBase::loadOrthoBasis()
+ */
+ Derived ortho() const
+ {
+ Derived res( size() );
+ return res.loadOrtho( *static_cast<const Derived*>(this) );
+ }
/**
* Sets all coords of *this to zero.
@@ -741,33 +789,33 @@
}
template<typename T, typename Derived>
-Derived & VectorBase<T, Derived>::makeOrthoVector( Derived * res ) const
+Derived & VectorBase<T, Derived>::loadOrtho( const Derived & other )
{
- assert( size() >= 2 );
- res->resize( size() );
+ assert( other.size() >= 2 );
+ resize( other.size() );
if( size() == 2 )
{
- res->x() = Util::conj( y() );
- res->y() = - Util::conj( x() );
- res->normalize();
+ x() = - Util::conj( other.y() );
+ y() = Util::conj( other.x() );
+ normalize();
}
else
{
/* Let us compute the crossed product of *this with a vector
that is not too close to being colinear to *this.
*/
-
+
/* unless the x and y coords are both close to zero, we can
- * simply take ( -_vy, _vx, 0 ) and normalize it.
+ * simply take ( -y, x, 0 ) and normalize it.
*/
- if( ! Util::isNegligible( x(), z() )
- || ! Util::isNegligible( y(), z() ) )
+ if( ! Util::isNegligible( other.x(), other.z() )
+ || ! Util::isNegligible( other.y(), other.z() ) )
{
- T nm = sqrt( x()*Util::conj(x()) + y()*Util::conj(y()) );
- res->loadZero();
- res->x() = - Util::conj(y()) / nm;
- res->y() = Util::conj(x()) / nm;
+ T nm = sqrt( Util::abs2( other.x() ) + Util::abs2( other.y() ) );
+ x() = - Util::conj(other.y()) / nm;
+ y() = Util::conj(other.x()) / nm;
+ z() = static_cast<T>(0);
}
/* if both x and y are close to zero, then the vector is close
* to the z-axis, so it's far from colinear to the x-axis for instance.
@@ -775,13 +823,14 @@
*/
else
{
- T nm = sqrt( y()*Util::conj(y()) + z()*Util::conj(z()) );
- res->loadZero();
- res->y() = - Util::conj(z()) / nm;
- res->z() = Util::conj(y()) / nm;
+ T nm = sqrt( Util::abs2( other.y() ) + Util::abs2( other.z() ) );
+ x() = static_cast<T>(0);
+ y() = - Util::conj(other.z()) / nm;
+ z() = Util::conj(other.y()) / nm;
}
+ for( int i = 3; i < size(); i++ ) (*this)(i) = static_cast<T>(0);
}
- return *res;
+ return *static_cast<Derived*>(this);
}
/**
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/src/vector.h new/eigen/src/vector.h
--- old/eigen/src/vector.h 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/src/vector.h 2007-02-26 10:49:16.000000000 +0100
@@ -219,8 +219,6 @@
T m_array[Size];
};
-EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(Vector)
-
/** \ingroup dynamicsize
*
* \ingroup vectors
@@ -378,7 +376,8 @@
m_size = size;
}
-EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(VectorX)
+EIGEN_MAKE_FIXEDSIZE_TYPEDEFS(Vector);
+EIGEN_MAKE_DYNAMICSIZE_TYPEDEFS(VectorX);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/tests/euclidean.cpp new/eigen/tests/euclidean.cpp
--- old/eigen/tests/euclidean.cpp 2007-01-28 17:26:47.000000000 +0100
+++ new/eigen/tests/euclidean.cpp 2007-02-06 11:13:45.000000000 +0100
@@ -40,10 +40,19 @@
do v1.loadRandom(); while( v1.norm() == static_cast<T>(0) );
v2.loadRandom();
QVERIFY( test_isApprox( Util::conj( dot( v1, v2 ) ), dot( v2, v1 ) ) );
+ v1.loadRandom();
+ v3 = v1.ortho();
+ QVERIFY( test_isNegligible( dot( v1, v3 ), static_cast<T>(1) ) );
+ QVERIFY( test_isApprox( v3.norm(), static_cast<T>(1) ) );
+ QVERIFY( test_isApprox( ( v1 + v3).norm2(), v1.norm2() + v3.norm2() ) );
v1.makeOrthoVector( & v3 );
QVERIFY( test_isNegligible( dot( v1, v3 ), static_cast<T>(1) ) );
QVERIFY( test_isApprox( v3.norm(), static_cast<T>(1) ) );
QVERIFY( test_isApprox( ( v1 + v3).norm2(), v1.norm2() + v3.norm2() ) );
+ v3.loadOrtho( v1 );
+ QVERIFY( test_isNegligible( dot( v1, v3 ), static_cast<T>(1) ) );
+ QVERIFY( test_isApprox( v3.norm(), static_cast<T>(1) ) );
+ QVERIFY( test_isApprox( ( v1 + v3).norm2(), v1.norm2() + v3.norm2() ) );
m1.loadOrthoBasis(v1);
QVERIFY( compareVectors( v1, m1.column(0), strType ) );
for( i = 0; i < Size; i++ )
@@ -57,6 +66,9 @@
m2 = m1 * m1.adjoint();
m3.loadIdentity();
QVERIFY( compareMatrices( m2, m3, strType ) );
+ v1.loadRandomUnit();
+ v2 = v1.normalized();
+ QVERIFY( compareVectors( v1, v2, strType ) );
}
template< typename T, typename MatrixType, typename VectorType >
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/eigen/TODO new/eigen/TODO
--- old/eigen/TODO 2007-01-28 17:26:48.000000000 +0100
+++ new/eigen/TODO 2007-02-05 19:15:40.000000000 +0100
@@ -11,6 +11,4 @@
- make sure that people without Qt4 can compile at least the examples that
don't use Qt4.
- make a pkgconfig file (suggested by jbrefort)
-- sparse matrices and solver (bensch is working on it)
-- evaluate a more sophisticated error-reporting system (only if doable without
- permanent overhead).
\ No newline at end of file
+- evaluate throwing exceptions when __EXCEPTIONS is defined
\ No newline at end of file
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 klamav
checked in at Mon Feb 26 19:03:40 CET 2007.
--------
--- KDE/klamav/klamav.changes 2007-02-26 09:54:40.000000000 +0100
+++ /mounts/work_src_done/STABLE/klamav/klamav.changes 2007-02-26 16:41:16.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 16:41:05 CET 2007 - dmueller(a)suse.de
+
+- add patch for crash during update checking
+
+-------------------------------------------------------------------
New:
----
khtml-restrict.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ klamav.spec ++++++
--- /var/tmp/diff_new_pack.N25010/_old 2007-02-26 19:03:28.000000000 +0100
+++ /var/tmp/diff_new_pack.N25010/_new 2007-02-26 19:03:28.000000000 +0100
@@ -18,10 +18,11 @@
Summary: Frontend for clamav
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Version: 0.41
-Release: 1
+Release: 2
Source0: klamav-%{version}-source.tar.bz2
Patch: FIXME.diff
Patch1: remove-faulty-comment.diff
+Patch2: khtml-restrict.diff
%description
A KDE front-end for the Clam AntiVirus antivirus toolkit.
@@ -36,6 +37,7 @@
%setup -q -n "klamav-%{version}-source/klamav-%{version}"
%patch
%patch1
+%patch2
. /etc/opt/kde3/common_options
%build
@@ -74,6 +76,8 @@
%changelog
* Mon Feb 26 2007 - dmueller(a)suse.de
+- add patch for crash during update checking
+* Mon Feb 26 2007 - dmueller(a)suse.de
- update to 0.41:
* no upstream changelog available
* build against clamav 0.9x
++++++ khtml-restrict.diff ++++++
--- src/update.cpp
+++ src/update.cpp
@@ -82,14 +82,18 @@
{
filelist->hide();
-
+ filelist->setJScriptEnabled(false);
+ filelist->setJavaEnabled(false);
+ filelist->setAutoloadImages(false);
+ filelist->setDNDEnabled(false);
+ filelist->setPluginsEnabled(false);
}
KlamavUpdate::~KlamavUpdate()
{
kdDebug() << "deleting" << endl;
- delete filelist;
+ //delete filelist;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 yup
checked in at Mon Feb 26 19:03:38 CET 2007.
--------
--- yup/yup.changes 2006-12-12 23:38:09.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yup/yup.changes 2007-02-26 16:46:37.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 16:46:23 CET 2007 - meissner(a)suse.de
+
+- do not use permissions, just set umask 077 before fillup.
+
+-------------------------------------------------------------------
Old:
----
yup.permissions
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yup.spec ++++++
--- /var/tmp/diff_new_pack.H24583/_old 2007-02-26 19:03:22.000000000 +0100
+++ /var/tmp/diff_new_pack.H24583/_new 2007-02-26 19:03:22.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yup (Version 47)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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.
#
@@ -21,13 +21,12 @@
BuildArch: noarch
%endif
Version: 47
-Release: 13
+Release: 20
Summary: "Yum Update Proxy" for SLE 10 Maintenance
Source0: yup.sh
Source1: yup.sysconfig
Source2: yup.1.pod
Source3: COPYING.GPL
-Source4: yup.permissions
%if 0%{suse_version} < 1010
Source10: %{curl_name}-%{curl_version}.tar.bz2
Patch2: %{curl_name}-%{curl_version}-lfs.patch
@@ -113,7 +112,6 @@
$RPM_BUILD_ROOT/var/adm/fillup-templates
install -c -m 755 %{S:0} $RPM_BUILD_ROOT/usr/sbin/yup
install -c -m 600 %{S:1} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.yup
-install -c -m 644 %{S:4} $RPM_BUILD_ROOT/etc/permissions.d/yup
install -c -m 644 yup.1 $RPM_BUILD_ROOT/usr/share/man/man1/yup.1
%if 0%{suse_version} < 1010
sed -i -e "s,/usr/bin/curl,/usr/bin/curl-yup,g" $RPM_BUILD_ROOT/usr/sbin/yup
@@ -129,7 +127,6 @@
%defattr(-,root,root)
%attr(700, root, root) /usr/sbin/yup
/usr/share/man/man1/yup.1.gz
-%attr(600, root, root) /etc/permissions.d/yup
%attr(644, root, root)/usr/share/man/man1/yup.1*
/var/adm/fillup-templates/sysconfig.yup
# %doc USEDFORBUILD.bz2
@@ -141,12 +138,15 @@
%endif
%post
+umask 077
%{fillup_and_insserv -i -n yup}
%clean
rm -rf $RPM_BUILD_ROOT
-%changelog -n yup
+%changelog
+* Mon Feb 26 2007 - meissner(a)suse.de
+- do not use permissions, just set umask 077 before fillup.
* Tue Dec 05 2006 - mge(a)suse.de
- add /etc/permissions.d/yup
* Wed Nov 29 2006 - mge(a)suse.de
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kconfigeditor
checked in at Mon Feb 26 19:03:22 CET 2007.
--------
--- KDE/kconfigeditor/kconfigeditor.changes 2006-09-05 09:07:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/kconfigeditor/kconfigeditor.changes 2007-02-26 16:02:33.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 16:02:18 CET 2007 - stbinner(a)suse.de
+
+- fix build by including application icon into package
+
+-------------------------------------------------------------------
New:
----
kconfigeditor.png
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kconfigeditor.spec ++++++
--- /var/tmp/diff_new_pack.z23847/_old 2007-02-26 19:03:14.000000000 +0100
+++ /var/tmp/diff_new_pack.z23847/_new 2007-02-26 19:03:14.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kconfigeditor (Version 0.9.5)
#
-# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2007 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.
#
@@ -11,17 +11,18 @@
# norootforbuild
Name: kconfigeditor
-BuildRequires: desktop-data-SuSE gconf2-devel gtk2-devel kdelibs3-devel
+BuildRequires: gconf2-devel gtk2-devel kdelibs3-devel
%if %suse_version < 1000
BuildRequires: popt-devel
%endif
-License: LGPL
+License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/GUI/KDE
Summary: KDE Configuration Editor for Administrators
Version: 0.9.5
-Release: 33
+Release: 75
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source0: %name-%version.tar.bz2
+Source1: kconfigeditor.png
Patch0: kconfigeditor.diff
Patch1: kde32.diff
Patch2: FIXME.diff
@@ -56,6 +57,8 @@
%install
. /etc/opt/kde3/common_options
make DESTDIR=${RPM_BUILD_ROOT} install
+mkdir -p $RPM_BUILD_ROOT/opt/kde3/share/icons/hicolor/32x32/apps
+install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/opt/kde3/share/icons/hicolor/32x32/apps/
%if %suse_version < 1010
%suse_update_desktop_file %name System SystemSetup
%else
@@ -70,9 +73,12 @@
%doc README
/opt/kde3/bin/kconfigeditor
/opt/kde3/share/applications/kde/kconfigeditor.desktop
+/opt/kde3/share/icons/hicolor/32x32/apps/kconfigeditor.png
/opt/kde3/share/apps/kconfigeditor
-%changelog -n kconfigeditor
+%changelog
+* Mon Feb 26 2007 - stbinner(a)suse.de
+- fix build by including application icon into package
* Tue Sep 05 2006 - aj(a)suse.de
- Cleanup BuildRequires.
* Thu Jun 01 2006 - stbinner(a)suse.de
++++++ kconfigeditor.diff ++++++
--- /var/tmp/diff_new_pack.z23847/_old 2007-02-26 19:03:14.000000000 +0100
+++ /var/tmp/diff_new_pack.z23847/_new 2007-02-26 19:03:14.000000000 +0100
@@ -8,7 +8,7 @@
+Type=Application
+GenericName=Configuration editor for KDE and Gnome
+Terminal=0
-+Icon=package_settings
++Icon=kconfigeditor
+X-DCOP-ServiceType=Multi
+Categories=Qt;KDE;System;DesktopSettings
+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-sudo
checked in at Mon Feb 26 19:03:15 CET 2007.
--------
--- yast2-sudo/yast2-sudo.changes 2007-01-05 13:29:06.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-sudo/yast2-sudo.changes 2007-02-26 15:29:59.490249000 +0100
@@ -1,0 +2,14 @@
+Mon Feb 26 15:07:28 CET 2007 - kmachalkova(a)suse.cz
+
+- Added syntax checking of created file (#227397)
+- Save /etc/sudoers as 0440 (FaTE #300934)
+- Check if entered command is a valid path or alias (#227397)
+- Enable going back to revisit the configuration if the file
+ cannot be saved (due to syntax errors)
+- Correct handling of deleting command aliases
+- Correct handling of Cancel button in command and host popup
+- Adjusted some dialog layouts (#245284)
+- Changed some strings
+- 2.15.1
+
+-------------------------------------------------------------------
Old:
----
yast2-sudo-2.15.0.tar.bz2
New:
----
yast2-sudo-2.15.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-sudo.spec ++++++
--- /var/tmp/diff_new_pack.M23449/_old 2007-02-26 19:03:07.000000000 +0100
+++ /var/tmp/diff_new_pack.M23449/_new 2007-02-26 19:03:07.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-sudo (Version 2.15.0)
+# spec file for package yast2-sudo (Version 2.15.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-sudo
-Version: 2.15.0
+Version: 2.15.1
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-sudo-2.15.0.tar.bz2
+Source0: yast2-sudo-2.15.1.tar.bz2
prefix: /usr
Requires: yast2 yast2-users
#ycp::PathComponents
@@ -38,7 +38,7 @@
Katarina Machalkova <kmachalkova(a)suse.cz>
%prep
-%setup -n yast2-sudo-2.15.0
+%setup -n yast2-sudo-2.15.1
%build
%{prefix}/bin/y2tool y2autoconf
@@ -72,7 +72,18 @@
/usr/lib/YaST2/servers_non_y2/ag_etc_sudoers
%doc %{prefix}/share/doc/packages/yast2-sudo
-%changelog -n yast2-sudo
+%changelog
+* Mon Feb 26 2007 - kmachalkova(a)suse.cz
+- Added syntax checking of created file (#227397)
+- Save /etc/sudoers as 0440 (FaTE #300934)
+- Check if entered command is a valid path or alias (#227397)
+- Enable going back to revisit the configuration if the file
+ cannot be saved (due to syntax errors)
+- Correct handling of deleting command aliases
+- Correct handling of Cancel button in command and host popup
+- Adjusted some dialog layouts (#245284)
+- Changed some strings
+- 2.15.1
* Fri Jan 05 2007 - kmachalkova(a)suse.cz
- Do not remove 'targetpw' and 'ALL ALL=ALL' rule from /etc/sudoers
since it makes kdesu defunct (#223719)
++++++ yast2-sudo-2.15.0.tar.bz2 -> yast2-sudo-2.15.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/agents/ag_etc_sudoers new/yast2-sudo-2.15.1/agents/ag_etc_sudoers
--- old/yast2-sudo-2.15.0/agents/ag_etc_sudoers 2006-10-18 17:31:34.000000000 +0200
+++ new/yast2-sudo-2.15.1/agents/ag_etc_sudoers 2007-02-26 13:44:09.000000000 +0100
@@ -113,13 +113,19 @@
close(OUTFILE);
- #system("visudo -c -f $filename.YaST2.new") or return y2error()
+ #try syntax checking - non-zero return value of system() means failure
+ my $status = system ("visudo", "-c", "-q", "-f", "$filename.YaST2.new");
+ if ($status != 0){
+ return y2error("Syntax error in $filename.YaST2.new"), 0;
+ }
if (-f $filename) {
rename $filename, "$filename.YaST2.save" or return y2error("Error creating backup: $!"), 0;
}
rename "$filename.YaST2.new", $filename or return y2error("Error moving temp file: $!"), 0;
- chmod(0640,$filename);
+
+ #Save /etc/sudoers with 0440 access rights - FaTE #300934
+ chmod(0440,$filename);
return 1;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/configure new/yast2-sudo-2.15.1/configure
--- old/yast2-sudo-2.15.0/configure 2007-01-05 13:06:09.000000000 +0100
+++ new/yast2-sudo-2.15.1/configure 2007-02-26 15:10:13.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for yast2-sudo 2.15.0.
+# Generated by GNU Autoconf 2.60 for yast2-sudo 2.15.1.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -559,8 +559,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-sudo'
PACKAGE_TARNAME='yast2-sudo'
-PACKAGE_VERSION='2.15.0'
-PACKAGE_STRING='yast2-sudo 2.15.0'
+PACKAGE_VERSION='2.15.1'
+PACKAGE_STRING='yast2-sudo 2.15.1'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1181,7 +1181,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-sudo 2.15.0 to adapt to many kinds of systems.
+\`configure' configures yast2-sudo 2.15.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1252,7 +1252,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-sudo 2.15.0:";;
+ short | recursive ) echo "Configuration of yast2-sudo 2.15.1:";;
esac
cat <<\_ACEOF
@@ -1330,7 +1330,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-sudo configure 2.15.0
+yast2-sudo configure 2.15.1
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1344,7 +1344,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-sudo $as_me 2.15.0, which was
+It was created by yast2-sudo $as_me 2.15.1, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2145,7 +2145,7 @@
# Define the identity of the package.
PACKAGE='yast2-sudo'
- VERSION='2.15.0'
+ VERSION='2.15.1'
cat >>confdefs.h <<_ACEOF
@@ -2372,7 +2372,7 @@
-VERSION="2.15.0"
+VERSION="2.15.1"
RPMNAME="yast2-sudo"
MAINTAINER="Katarina Machalkova <kmachalkova(a)suse.cz>"
@@ -3258,7 +3258,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-sudo $as_me 2.15.0, which was
+This file was extended by yast2-sudo $as_me 2.15.1, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3301,7 +3301,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-yast2-sudo config.status 2.15.0
+yast2-sudo config.status 2.15.1
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/configure.in new/yast2-sudo-2.15.1/configure.in
--- old/yast2-sudo-2.15.0/configure.in 2007-01-05 13:06:05.000000000 +0100
+++ new/yast2-sudo-2.15.1/configure.in 2007-02-26 15:10:07.000000000 +0100
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-sudo, 2.15.0, http://bugs.opensuse.org/, yast2-sudo)
+AC_INIT(yast2-sudo, 2.15.1, http://bugs.opensuse.org/, yast2-sudo)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.15.0"
+VERSION="2.15.1"
RPMNAME="yast2-sudo"
MAINTAINER="Katarina Machalkova <kmachalkova(a)suse.cz>"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/src/complex.ycp new/yast2-sudo-2.15.1/src/complex.ycp
--- old/yast2-sudo-2.15.0/src/complex.ycp 2006-08-23 10:08:56.000000000 +0200
+++ new/yast2-sudo-2.15.1/src/complex.ycp 2007-02-26 15:28:07.000000000 +0100
@@ -34,24 +34,24 @@
import "Label";
import "Popup";
import "Wizard";
-import "Wizard_hw";
import "Confirm";
import "Sudo";
import "Report";
import "Address";
import "Netmask";
+import "FileUtils";
include "sudo/helps.ycp";
-global string current_alias_name = "";
-global integer current_spec_idx = -1;
-global string initial_screen = "user_specs";
+string current_alias_name = "";
+integer current_spec_idx = -1;
+string initial_screen = "user_specs";
boolean ValidateHost(string hostname) {
string netmask = "";
- if ( find(hostname,"/") != -1 ) {
+ if ( findfirstof(hostname,"/") != nil ) {
list <string> tmp = splitstring(hostname,"/");
hostname = tmp[0]:"";
netmask = tmp[1]:"";
@@ -77,7 +77,12 @@
UI::OpenDialog(`opt(`decorated), `VBox(
`Frame(
_("Add New Host to the Alias"),
- `TextEntry(`id("host_name"),_("Hostname or Network"), new_host)
+ `VBox(
+ `HSpacing(40),
+ `VSpacing(0.5),
+ `TextEntry(`id("host_name"),_("Hostname or Network"), new_host),
+ `VSpacing(0.5)
+ )
),
`HBox(
`PushButton(`id(`ok), Label::OKButton()),
@@ -89,7 +94,7 @@
any ret = nil;
while (true) {
ret = UI::UserInput();
- if (ret == `ok) {
+ if (ret == `ok) {
new_host = (string) UI::QueryWidget(`id("host_name"), `Value);
if( !ValidateHost(new_host)) {
@@ -98,54 +103,77 @@
}
break;
} else if (ret == `cancel) {
-// new_host = ("");
+ new_host="";
break;
- }
- }
+ }
+ }
UI::CloseDialog();
return (new_host) ;
}
+boolean ValidateCommand(string cmd){
+ if(FileUtils::Exists(cmd) || haskey(Sudo::GetCmndAliases(), cmd) )
+ return true;
+ else {
+ Popup::Error(sformat(_("File, directory or command alias '%1' does not exist."), cmd));
+ return false;
+ }
+}
+
string AddCommandDialog(string c, string p) {
string new_command = c + p;
UI::OpenDialog(`opt(`decorated), `VBox(
- `Frame(
- _("Add new command with optional parameters"),
- `VBox(
- `HBox(
- `TextEntry(`id("cmd"),_("Command"),c),
- `VBox (
- `VSpacing(1.1),
- `PushButton(`id("browse_c"),_("Browse"))
- )
+ `Frame(
+ _("Add new command with optional parameters"),
+ `VBox(
+ `VSpacing(0.5),
+ `VBox(
+ `HBox(
+ `MinWidth(40,`Left(`TextEntry(`id("cmd"), _("Command"), c))),
+ `VBox(
+ `VSpacing(1.1),
+ `PushButton(`id("browse_c"),_("Browse"))
+ )
+ ),
+ `Left(`TextEntry(`id("params"),_("Parameters (optional)"), p))
),
- `TextEntry(`id("params"),_("Parameters (optional)"), p)
+ `VSpacing(0.5)
)
),
- `HBox(
+ `VSpacing(0.5),
+ `HBox(
`PushButton(`id(`ok), Label::OKButton()),
- `HSpacing(1),
+ `HSpacing(1),
`PushButton(`id(`cancel), Label::CancelButton())
- )
- ));
+ )
+ ));
any ret = nil;
while (true) {
- ret = UI::UserInput();
+ ret = UI::UserInput();
if (ret == `ok) {
string cmd = (string) UI::QueryWidget(`id("cmd"), `Value);
string params = (string) UI::QueryWidget(`id("params"), `Value);
+
+ if (!ValidateCommand(cmd)){
+ UI::SetFocus(`id("cmd"));
+ continue;
+ }
+
new_command = cmd + " " + params;
break;
- } else if (ret == `cancel) {
+
+ } else if (ret == `cancel) {
+ new_command = "";
break;
- } else if (ret == "browse_c") {
+
+ } else if (ret == "browse_c") {
string new_cmd = UI::AskForExistingFile("/", "*", "Choose a command");
UI::ChangeWidget(`id("cmd"),`Value, new_cmd);
- }
+ }
- }
+ }
UI::CloseDialog();
return new_command;
}
@@ -191,6 +219,10 @@
symbol WriteDialog() {
Wizard::RestoreHelp(HELPS["write"]:"");
boolean ret = Sudo::Write();
+
+ //yes-no popup - an error occured when saving the configuration
+ if ( !ret && Popup::YesNo(_("Saving sudoers configuration failed. Change the settings?")) )
+ return `back;
return ret ? `next : `abort;
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/src/dialog-cmnd.ycp new/yast2-sudo-2.15.1/src/dialog-cmnd.ycp
--- old/yast2-sudo-2.15.0/src/dialog-cmnd.ycp 2006-08-23 11:31:13.000000000 +0200
+++ new/yast2-sudo-2.15.1/src/dialog-cmnd.ycp 2007-02-26 14:46:22.000000000 +0100
@@ -93,7 +93,7 @@
}else if(ret == "add_command"){
string new_member = AddCommandDialog("","");
- if(!contains(alias_members, new_member)) {
+ if(new_member != "" && !contains(alias_members, new_member)) {
alias_members = add(alias_members, new_member);
RedrawCmndAlias("",alias_members);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/src/dialog-spec.ycp new/yast2-sudo-2.15.1/src/dialog-spec.ycp
--- old/yast2-sudo-2.15.0/src/dialog-spec.ycp 2006-10-18 16:58:24.000000000 +0200
+++ new/yast2-sudo-2.15.1/src/dialog-spec.ycp 2007-02-26 14:47:51.000000000 +0100
@@ -123,7 +123,7 @@
} else if (ret == "command_add") {
string new_command = AddCommandDialog("","");
- if(!contains(commands, new_command)) {
+ if(new_command != "" && !contains(commands, new_command)) {
commands = add(commands, new_command);
RedrawCmndTable(commands);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/src/dialogs.ycp new/yast2-sudo-2.15.1/src/dialogs.ycp
--- old/yast2-sudo-2.15.0/src/dialogs.ycp 2007-01-05 11:06:14.000000000 +0100
+++ new/yast2-sudo-2.15.1/src/dialogs.ycp 2007-02-26 14:18:09.000000000 +0100
@@ -40,7 +40,7 @@
include "sudo/complex.ycp";
-string sudo_caption = _("Sudo Configuration ");
+string sudo_caption = _("Sudo Configuration");
symbol HandleUserSpecs(string key, map event) {
any ret = event["ID"]:nil;
@@ -230,7 +230,7 @@
}
if (confirm_delete) {
- Sudo::RemoveUserAlias(current_alias_name);
+ Sudo::RemoveCmndAlias(current_alias_name);
UI::ChangeWidget(`id("table_command_aliases"), `Items, filter(term tmp, items, {
return tmp[0]:nil != `id(current_alias_name);
} ));
@@ -313,7 +313,7 @@
`PushButton(`id("delete_spec")," " + Label::DeleteButton() + " ")
)
),
- "caption" : sudo_caption + ":" + _("User Specification"),
+ "caption" : sudo_caption + ": " + _("Rules for sudo"),
"tree_item_label" : _("User Specification"),
"widget_names" : ["UserSpecifications"],
],
@@ -333,7 +333,7 @@
)
),
- "caption" : sudo_caption + ":" + _("User Aliases"),
+ "caption" : sudo_caption + ": " + _("User Aliases"),
"tree_item_label" : _("User Aliases"),
"widget_names" : ["UserAliases"],
] ,
@@ -353,7 +353,7 @@
)
),
- "caption" : sudo_caption + ":" + _("RunAs Aliases"),
+ "caption" : sudo_caption + ": " + _("RunAs Aliases"),
"tree_item_label" : _("RunAs Aliases"),
"widget_names" : ["RunAsAliases"],
],
@@ -373,7 +373,7 @@
)
),
- "caption" : sudo_caption + ":" + _("Host Aliases"),
+ "caption" : sudo_caption + ": " + _("Host Aliases"),
"tree_item_label" : _("Host Aliases"),
"widget_names" : ["HostAliases"],
],
@@ -393,7 +393,7 @@
)
),
- "caption" : sudo_caption + ":" + _("Command Aliases"),
+ "caption" : sudo_caption + ": " + _("Command Aliases"),
"tree_item_label" : _("Command Aliases"),
"widget_names" : ["CommandAliases"],
],
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/src/Sudo.ycp new/yast2-sudo-2.15.1/src/Sudo.ycp
--- old/yast2-sudo-2.15.0/src/Sudo.ycp 2007-01-05 12:53:18.000000000 +0100
+++ new/yast2-sudo-2.15.1/src/Sudo.ycp 2007-02-26 15:03:06.000000000 +0100
@@ -70,6 +70,7 @@
map <string, list<string> > runas_aliases = $[];
list <list <string> > defaults = [];
list < map <string, any> > user_specs = [];
+list <string> deleted_specs = [];
global list <string> all_users = [];
boolean ReadSudoSettings() {
@@ -258,20 +259,27 @@
//Restore defaults
settings["Defaults"] = defaults;
- //Rest
- foreach (map <string, any> m, user_specs,{
+ //Rest
+ foreach(map <string, any> m, user_specs,{
string user = (string) m["user"]:"";
string host = (string) m["host"]:"";
string comment = (string) m["comment"]:"";
string rest = (string) m["run_as"]:"" + " " + (( (boolean) m["no_passwd"]:false) ? "NOPASSWD: " : "") + mergestring((list <string>)m["commands"]:[],",");
- settings[user] = add(settings[user]:[],[comment, host, rest]);
+ if( !contains(settings[user]:[], [comment, host, rest]) )
+ settings[user] = add(settings[user]:[],[comment, host, rest]);
+ });
+
+ foreach(string key, list <list <string> > value, settings, {
+ if ( deleted_specs != [] && contains(deleted_specs, key)){
+ settings = remove(settings, key);
+ }
});
y2milestone("Writing sudo settings %1", settings);
if (SCR::Write(.sudo, settings))
- return (SCR::Write(.sudo, nil));
+ return SCR::Write(.sudo, nil);
else return false;
}
return true;
@@ -282,6 +290,11 @@
}
global void RemoveUserSpec(integer i) {
+ map <string, any> m = user_specs[i]: $[];
+ string key = m["user"]:"";
+ y2milestone("Deleting %1 from user specifications", key);
+
+ deleted_specs = add(deleted_specs, key);
user_specs = remove(user_specs,i);
}
@@ -514,6 +527,8 @@
integer sl = 500;
+ boolean ret = true;
+
// We do not set help text here, because it was set outside
Progress::New(caption, " ", steps, [
/* Progress stage 1/1 */
@@ -533,13 +548,16 @@
if(PollAbort()) return false;
Progress::NextStage();
/* Error message */
- if(!WriteSudoSettings()) Report::Error (_("Cannot write settings."));
+ if(!WriteSudoSettings()) {
+ Report::Error (_("Cannot write settings."));
+ ret = false;
+ }
sleep(sl);
Progress::NextStage();
sleep(sl);
- return true;
+ return ret;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-sudo-2.15.0/VERSION new/yast2-sudo-2.15.1/VERSION
--- old/yast2-sudo-2.15.0/VERSION 2007-01-05 13:00:50.000000000 +0100
+++ new/yast2-sudo-2.15.1/VERSION 2007-02-26 15:10:01.000000000 +0100
@@ -1 +1 @@
-2.15.0
+2.15.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 gnome-terminal
checked in at Mon Feb 26 19:03:06 CET 2007.
--------
--- GNOME/gnome-terminal/gnome-terminal.changes 2007-01-17 18:25:03.000000000 +0100
+++ /mounts/work_src_done/STABLE/gnome-terminal/gnome-terminal.changes 2007-02-26 13:26:33.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 26 13:26:29 CET 2007 - sbrabec(a)suse.cz
+
+- Fixed invalid window resize (#211443).
+
+-------------------------------------------------------------------
New:
----
gnome-terminal-tab_resize_fix_r2082.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-terminal.spec ++++++
--- /var/tmp/diff_new_pack.y22441/_old 2007-02-26 19:02:55.000000000 +0100
+++ /var/tmp/diff_new_pack.y22441/_new 2007-02-26 19:02:55.000000000 +0100
@@ -16,7 +16,7 @@
Group: System/X11/Terminals
Obsoletes: gnome-core
Version: 2.16.1
-Release: 37
+Release: 41
Summary: The GNOME 2.x Desktop Terminal
Source: %{name}-%{version}.tar.bz2
URL: http://www.gnome.org
@@ -26,6 +26,7 @@
Patch2: gnome-terminal-force-terminal-draw.patch
Patch4: gnome-terminal-desktop.patch
Patch5: %{name}-uninited-vars.patch
+Patch6: gnome-terminal-tab_resize_fix_r2082.patch
Autoreqprov: on
%gconf_schemas_prereq
@@ -42,6 +43,7 @@
%patch2 -p1
%patch4 -p1
%patch5
+%patch6
%build
autoreconf -f -i
@@ -89,7 +91,9 @@
%{_datadir}/pixmaps/gnome-terminal.png
%{_libdir}/bonobo/servers/gnome-terminal.server
-%changelog -n gnome-terminal
+%changelog
+* Mon Feb 26 2007 - sbrabec(a)suse.cz
+- Fixed invalid window resize (#211443).
* Wed Jan 17 2007 - sbrabec(a)suse.cz
- Removed obsolete scrollkeeper directory (#230786).
* Tue Dec 19 2006 - sbrabec(a)suse.cz
++++++ gnome-terminal-tab_resize_fix_r2082.patch ++++++
https://bugzilla.novell.com/show_bug.cgi?id=211443
================================================================================
Index: src/terminal-window.c
===================================================================
--- src/terminal-window.c (revision 2081)
+++ src/terminal-window.c (revision 2082)
@@ -1613,8 +1613,22 @@
if (window->priv->active_term == screen)
return;
+ /* Workaround to remove gtknotebook's feature of computing its size based on
+ * all pages. When the widget is hidden, its size will not be taken into
+ * account.
+ */
+ if (window->priv->active_term)
+ {
+ GtkWidget *old_widget;
+ old_widget = terminal_screen_get_widget (window->priv->active_term);
+ gtk_widget_hide (old_widget);
+ }
+
widget = terminal_screen_get_widget (screen);
+ /* Make sure that the widget is no longer hidden due to the workaround */
+ gtk_widget_show (widget);
+
profile = terminal_screen_get_profile (screen);
if (!GTK_WIDGET_REALIZED (widget))
@@ -1705,11 +1719,7 @@
TerminalScreen *screen;
GtkWidget *menu_item;
int old_grid_width, old_grid_height;
- GtkWidget *old_widget;
-
- old_widget = NULL;
- old_grid_width = -1;
- old_grid_height = -1;
+ GtkWidget *old_widget, *new_widget;
if (window->priv->active_term == NULL)
return;
@@ -1725,17 +1735,13 @@
screen = TERMINAL_SCREEN (page_widget);
g_assert (screen);
+
+ /* This is so that we maintain the same grid */
+ new_widget = terminal_screen_get_widget (screen);
+ terminal_widget_set_size (new_widget, old_grid_width, old_grid_height);
terminal_window_set_active (window, screen);
- /* This is so we maintain the same grid moving among tabs with
- * different fonts.
- */
-#ifdef DEBUG_GEOMETRY
- g_fprintf (stderr,"setting size in switch_page handler\n");
-#endif
- terminal_window_set_size_force_grid (window, screen, TRUE, old_grid_width, old_grid_height);
-
update_tab_sensitivity (window);
menu_item = screen_get_menuitem (screen);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-nfs-server
checked in at Mon Feb 26 19:03:01 CET 2007.
--------
--- yast2-nfs-server/yast2-nfs-server.changes 2007-02-26 10:12:49.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-nfs-server/yast2-nfs-server.changes 2007-02-26 16:56:24.000000000 +0100
@@ -1,0 +2,28 @@
+Mon Feb 26 16:52:08 CET 2007 - pchakravarthi(a)novell.com
+
+- Fixed #242545: settings were not visible.
+- Do not ignore changes when an item is deleted and readded (#243466).
+- Do not continue with no directory entered (#243034).
+- Fixed "Unable to start idmapd please check the domain settings"
+ (/etc/sysconfig/nfs was not flushed, #242565).
+- 2.15.1
+
+-------------------------------------------------------------------
+Mon Feb 26 15:17:11 CET 2007 - pchakravarthi(a)novell.com
+
+- Added a perl module ag_idmapd_conf for configuring entries in
+ /etc/idmapd.conf
+- Added two scr agents - etc_idmapd_conf.scr and cfg_nfs.scr, the
+ former making use of ag_idmapd_conf and the later to configure
+ entries in /etc/sysconfig/nfs
+- Modified Makefile.am in agents directory to reflect above.
+- Modified NfsServer.ycp, ui.ycp and routines.ycp to make use of
+ all above and adding ui pieces to make the module NFSv4 aware.
+- Modified the *.out files in testsuite/tests/ to reflect changes
+ made above.
+- modified .spec.in file to add 'Requires' for limal-nfs-server
+ package and to include names of additional agent files.
+- Relevant FATE ID : #300609
+- merged all this from SLE10-SP1 (mvidner).
+
+-------------------------------------------------------------------
Old:
----
yast2-nfs-server-2.15.0.tar.bz2
New:
----
yast2-nfs-server-2.15.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-nfs-server.spec ++++++
--- /var/tmp/diff_new_pack.I22530/_old 2007-02-26 19:02:56.000000000 +0100
+++ /var/tmp/diff_new_pack.I22530/_new 2007-02-26 19:02:56.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-nfs-server (Version 2.15.0)
+# spec file for package yast2-nfs-server (Version 2.15.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,16 +11,18 @@
# norootforbuild
Name: yast2-nfs-server
-Version: 2.15.0
+Version: 2.15.1
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-nfs-server-2.15.0.tar.bz2
+Source0: yast2-nfs-server-2.15.1.tar.bz2
prefix: /usr
BuildRequires: perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite
Requires: yast2 >= 2.11.11
Requires: yast2-packager
+Requires: limal-nfs-server
+Requires: limal-nfs-server-perl
Provides: yast2-config-nfs-server yast2-config-nfs-server-devel
Obsoletes: yast2-config-nfs-server yast2-config-nfs-server-devel
Provides: yast2-trans-nfs-server
@@ -42,7 +44,7 @@
Martin Vidner <mvidner(a)suse.cz>
%prep
-%setup -n yast2-nfs-server-2.15.0
+%setup -n yast2-nfs-server-2.15.1
%build
%{prefix}/bin/y2tool y2autoconf
@@ -76,11 +78,36 @@
/usr/share/YaST2/modules/NfsServer.ybc
%{prefix}/share/applications/YaST2/nfs_server.desktop
/usr/share/YaST2/scrconf/etc_exports.scr
+/usr/share/YaST2/scrconf/etc_idmapd_conf.scr
+/usr/share/YaST2/scrconf/cfg_nfs.scr
/usr/lib/YaST2/servers_non_y2/ag_exports
+/usr/lib/YaST2/servers_non_y2/ag_idmapd_conf
%doc %{prefix}/share/doc/packages/yast2-nfs-server
/usr/share/YaST2/schema/autoyast/rnc/nfs_server.rnc
%changelog
+* Mon Feb 26 2007 - pchakravarthi(a)novell.com
+- Fixed #242545: settings were not visible.
+- Do not ignore changes when an item is deleted and readded (#243466).
+- Do not continue with no directory entered (#243034).
+- Fixed "Unable to start idmapd please check the domain settings"
+ (/etc/sysconfig/nfs was not flushed, #242565).
+- 2.15.1
+* Mon Feb 26 2007 - pchakravarthi(a)novell.com
+- Added a perl module ag_idmapd_conf for configuring entries in
+ /etc/idmapd.conf
+- Added two scr agents - etc_idmapd_conf.scr and cfg_nfs.scr, the
+ former making use of ag_idmapd_conf and the later to configure
+ entries in /etc/sysconfig/nfs
+- Modified Makefile.am in agents directory to reflect above.
+- Modified NfsServer.ycp, ui.ycp and routines.ycp to make use of
+ all above and adding ui pieces to make the module NFSv4 aware.
+- Modified the *.out files in testsuite/tests/ to reflect changes
+ made above.
+- modified .spec.in file to add 'Requires' for limal-nfs-server
+ package and to include names of additional agent files.
+- Relevant FATE ID : #300609
+- merged all this from SLE10-SP1 (mvidner).
* Mon Feb 26 2007 - mvidner(a)suse.cz
- Added no_subtree_check to the default options to reflect a change in
nfs-utils-1.1.0 (#233709).
++++++ yast2-nfs-server-2.15.0.tar.bz2 -> yast2-nfs-server-2.15.1.tar.bz2 ++++++
++++ 1648 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-nfs-server-2.15.0/agents/ag_idmapd_conf new/yast2-nfs-server-2.15.1/agents/ag_idmapd_conf
--- old/yast2-nfs-server-2.15.0/agents/ag_idmapd_conf 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/agents/ag_idmapd_conf 2007-02-26 15:14:11.000000000 +0100
@@ -0,0 +1,164 @@
+#!/usr/bin/perl -w
+#
+# $Id: $
+#
+# Agent for modifying /etc/idmapd.conf parameters.
+#
+# using limal-nfs-server swig interface, see:
+# http://svn.suse.de/svn/limal/limal-head/limal-nfs-server/
+#
+
+use strict;
+use ycp;
+use Errno qw(ENOENT);
+use LIMAL::NfsServer;
+use LIMAL;
+
+my $filename="";
+my $conf = new LIMAL::NfsServer::KNfsIdmapdConf();
+my @idmapdentry = ();
+my $entryName="";
+
+# read the conf file
+
+sub parse_file()
+{
+ eval {
+ $conf->load($filename);
+ };
+ if($@)
+ {
+ return $@;
+ }
+ return undef;
+}
+
+
+# verify and tell if there are errors in the conf file
+sub checked_write_file ()
+{
+ eval
+ {
+ my $res = $conf->verifyConf();
+ my @msg = "";
+
+ if ($res->size() > 0)
+ {
+ y2error("Check failed !!");
+ for(my $i = 0; $i < $res->size(); $i++)
+ {
+ push(@msg, $res->getitem($i));
+ y2error($res->getitem($i));
+ }
+ die "Error in Idmapd Entries ".join(": ",@msg. "\n");
+ }
+ };
+ return 0 if ($@);
+
+ eval
+ {
+ $conf->save($filename,"");
+ };
+ return 0 if ($@);
+
+ return 1;
+
+}
+
+
+sub set_entry ()
+{
+ eval
+ {
+ $conf->setEntry($idmapdentry[0],$idmapdentry[1]);
+ if ($@)
+ {
+ y2error("Unable to set entry!");
+ }
+ };
+ return 0 if ($@);
+
+ return 1;
+}
+
+
+sub get_value ()
+{
+ my $value = "";
+ eval
+ {
+ $value = $conf->getValueFor($entryName);
+ };
+ return undef if ($@);
+
+ return $value;
+}
+
+
+#
+# MAIN program
+#
+
+$filename="/etc/idmapd.conf";
+
+while ( <STDIN> )
+{
+ my ($command, $path, $argument) = ycp::ParseCommand ($_);
+
+ if ($command eq "Write")
+ {
+ parse_file();
+ my $result = "true";
+ if ($path eq "." && ref ($argument) eq "ARRAY")
+ {
+ @idmapdentry = @{$argument};
+ $result = set_entry() ? "true" : "false";
+ if( $@)
+ {
+ y2error ("$@");
+ }
+
+ $result = checked_write_file()? "true":"false";
+ }
+ else
+ {
+ y2error ("Wrong path $path or argument: ", ref ($argument));
+ $result = "false";
+ }
+
+ ycp::Return ($result);
+ }
+ elsif ($command eq "Read")
+ {
+ parse_file();
+ my $value = "";
+ if ($path eq ".")
+ {
+ $entryName = $argument;
+ $value = get_value();
+ }
+ if ($@)
+ {
+ y2error ("$@");
+ }
+ else
+ {
+ y2error ("Wrong path $path");
+ }
+ ycp::Return ($value);
+
+ }
+
+ elsif ($command eq "result")
+ {
+ exit;
+ }
+
+ # Unknown command
+ else
+ {
+ y2error ("Unknown instruction $command or argument: ", ref ($argument));
+ ycp::Return (undef);
+ }
+
+}
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-nfs-server-2.15.0/agents/cfg_nfs.scr new/yast2-nfs-server-2.15.1/agents/cfg_nfs.scr
--- old/yast2-nfs-server-2.15.0/agents/cfg_nfs.scr 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/agents/cfg_nfs.scr 2007-02-26 15:14:11.000000000 +0100
@@ -0,0 +1,11 @@
+/**
+ * File: cfg_nfs.scr
+ * Summary: Agent for reading/writing /etc/sysconfig/nfs
+ * Access: read / write
+ *
+ */
+.sysconfig.nfs
+
+`ag_ini(
+ `SysConfigFile("/etc/sysconfig/nfs")
+)
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-nfs-server-2.15.0/agents/etc_idmapd_conf.scr new/yast2-nfs-server-2.15.1/agents/etc_idmapd_conf.scr
--- old/yast2-nfs-server-2.15.0/agents/etc_idmapd_conf.scr 1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/agents/etc_idmapd_conf.scr 2007-02-26 15:14:10.000000000 +0100
@@ -0,0 +1,43 @@
+/**
+ * File:
+ * etc_idmapdconf.scr
+ * Summary:
+ * SCR Agent for reading/writing /etc/idmapd.conf
+ * Access:
+ * Currently only write
+ * Authors:
+ * Chakravarthi P <pchakravarthi(a)novell.com>
+ * See:
+ * anyagent
+ * libscr
+ * man idmapd.conf
+ * Example:
+ * Partial /etc/idmapd.conf:
+ *
+ * [General]
+ *
+ * Verbosity=0
+ * Pipefs-Directory=/var/lib/nfs/rpc_pipefs
+ * Domain=abc.com
+ *
+ * [<Another Section>]
+ * <name>=<value>
+ *
+ **
+ * Read(.etc.idmapd_conf, "Domain")
+ * (abc.com)
+ *
+ * Read(.etc.idmapd_conf, "Verbosity")
+ * (0)
+ *
+ * Write(.etc.idmapd_conf, $["Domain", "doodahh"])
+ * (false)
+ *
+ * Write(.etc.idmapd_conf, $["Verbosity", "4"])
+ * (true)
+ *
+ *
+ */
+.etc.idmapd_conf
+
+`ag_idmapd_conf ()
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-nfs-server-2.15.0/agents/Makefile.am new/yast2-nfs-server-2.15.1/agents/Makefile.am
--- old/yast2-nfs-server-2.15.0/agents/Makefile.am 2005-05-18 16:25:32.000000000 +0200
+++ new/yast2-nfs-server-2.15.1/agents/Makefile.am 2007-02-26 16:36:29.000000000 +0100
@@ -1,11 +1,14 @@
#
# Makefile.am for nfs-server/agents
#
-# $Id: Makefile.am 4227 2002-08-05 14:11:16Z mvidner $
+# $Id: Makefile.am 36506 2007-02-26 15:36:26Z mvidner $
#
-agent_SCRIPTS = ag_exports
+agent_SCRIPTS = ag_exports\
+ ag_idmapd_conf
-scrconf_DATA = etc_exports.scr
+scrconf_DATA = etc_exports.scr\
+ etc_idmapd_conf.scr\
+ cfg_nfs.scr
EXTRA_DIST = $(agent_SCRIPTS) $(scrconf_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-nfs-server-2.15.0/configure.in new/yast2-nfs-server-2.15.1/configure.in
--- old/yast2-nfs-server-2.15.0/configure.in 2007-02-26 10:19:30.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/configure.in 2007-02-26 16:57:56.000000000 +0100
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.14.0 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-nfs-server, 2.15.0, http://bugs.opensuse.org/, yast2-nfs-server)
+AC_INIT(yast2-nfs-server, 2.15.1, http://bugs.opensuse.org/, yast2-nfs-server)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -17,7 +17,7 @@
AM_INIT_AUTOMAKE(tar-ustar) dnl searches for some needed programs
dnl Important YaST2 variables
-VERSION="2.15.0"
+VERSION="2.15.1"
RPMNAME="yast2-nfs-server"
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-nfs-server-2.15.0/src/NfsServer.ycp new/yast2-nfs-server-2.15.1/src/NfsServer.ycp
--- old/yast2-nfs-server-2.15.0/src/NfsServer.ycp 2006-10-13 15:01:31.000000000 +0200
+++ new/yast2-nfs-server-2.15.1/src/NfsServer.ycp 2007-02-26 16:36:29.000000000 +0100
@@ -11,7 +11,7 @@
* Authors:
* Martin Vidner <mvidner(a)suse.cz>
*
- * $Id: NfsServer.ycp 33404 2006-10-13 13:01:27Z mvidner $
+ * $Id: NfsServer.ycp 36506 2007-02-26 15:36:26Z mvidner $
*
*/
@@ -25,6 +25,7 @@
import "Summary";
import "SuSEFirewall";
import "Wizard";
+ import "Popup";
/* default value of settings modified */
@@ -65,6 +66,25 @@
/**
+ * Enable nfsv4
+ */
+ global boolean enable_nfsv4 = (SCR::Read(.sysconfig.nfs.NFS4_SUPPORT)=="yes");
+
+
+ /**
+ * GSS Security ?
+ */
+ global boolean nfs_security = (SCR::Read(.sysconfig.nfs.NFS_SECURITY_GSS)=="yes");
+
+
+ /**
+ * Domain name to be used for nfsv4 (idmapd.conf)
+ */
+ global string domain = "";
+
+
+
+ /**
* Should the server be started?
* New since 9.0: Exports are independent of this setting.
*/
@@ -140,11 +160,8 @@
*/
global define boolean Read () ``{
start = Service::Enabled("nfsserver");
- y2milestone ("enabled: %1", start);
exports = (list<map<string,any> >) SCR::Read (.etc.exports);
- y2milestone ("exports: %1", exports);
have_nfslock = (boolean) SCR::Read (.init.scripts.exists, "nfslock");
- y2milestone ("have_nfslock: %1", have_nfslock);
boolean progress_orig = Progress::set (false);
SuSEFirewall::Read ();
@@ -225,6 +242,29 @@
Progress::Finish ();
return false;
}
+ if(enable_nfsv4)
+ {
+ SCR::Write(.sysconfig.nfs.NFS4_SUPPORT,"yes");
+ SCR::Write(.sysconfig.nfs,nil);
+ }
+ else
+ {
+ SCR::Write(.sysconfig.nfs.NFS4_SUPPORT,"no");
+ }
+
+ if(nfs_security)
+ {
+ SCR::Write(.sysconfig.nfs.NFS_SECURITY_GSS,"yes");
+ }
+ else
+ {
+ SCR::Write(.sysconfig.nfs.NFS_SECURITY_GSS,"no");
+ }
+
+ if( !( SCR::Write(.etc.idmapd_conf,["Domain",(string)domain]) ) )
+ {
+ Popup::Message(_("Unable to write to idmapd.conf."));
+ }
Progress::NextStage ();
@@ -270,6 +310,69 @@
ok = false;
}
+ if (enable_nfsv4)
+ {
+ if (Service::Status("idmapd") == 3 )
+ {
+ if (! Service::Start("idmapd"))
+ {
+ Report::Error(_("Unable to start idmapd. Please check your domain setting."));
+ ok = false;
+ }
+ }
+ if (Service::Status("idmapd")== 0)
+ {
+ if (! Service::Restart("idmapd"))
+ {
+ Report::Error(_("Unable to restart idmapd"));
+ ok = false;
+ }
+ }
+ }
+ else
+ {
+ if (Service::Status("idmapd") == 3)
+ {
+ if(!Service::Stop("idmapd"))
+ {
+ Report::Error(_("Unable to stop idmapd"));
+ ok = false;
+ }
+ }
+ }
+
+ if (nfs_security)
+ {
+ if (Service::Status("svcgssd") == 3 )
+ {
+ if (! Service::Start("svcgssd"))
+ {
+ Report::Error(_("Unable to start svcgssd. Please ensure your kerberos and gssapi (nfs-utils) set up is fine."));
+ ok = false;
+ }
+ }
+ if(Service::Status("svcgssd")== 0)
+ {
+ if (! Service::Restart("svcgssd"))
+ {
+ Report::Error(_("'svcgssd' is already running. Unable to restart it."));
+ ok = false;
+ }
+ }
+ }
+ else
+ {
+ if (Service::Status("svcgssd") == 0)
+ {
+ if(!Service::Stop("svcgssd"))
+ {
+ Report::Error(_("'svcgssd' is running. Unable to stop it."));
+ ok = false;
+ }
+ }
+
+ }
+
if (!write_only)
{
if (Service::Status("portmap") != 0 )
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-nfs-server-2.15.0/src/routines.ycp new/yast2-nfs-server-2.15.1/src/routines.ycp
--- old/yast2-nfs-server-2.15.0/src/routines.ycp 2006-10-13 15:01:32.000000000 +0200
+++ new/yast2-nfs-server-2.15.1/src/routines.ycp 2007-02-26 16:36:29.000000000 +0100
@@ -13,7 +13,7 @@
* Dan Vesely <dan(a)suse.cz>
* Martin Vidner <mvidner(a)suse.cz>
*
- * $Id: routines.ycp 33404 2006-10-13 13:01:27Z mvidner $
+ * $Id: routines.ycp 36506 2007-02-26 15:36:26Z mvidner $
*
* Network NFS routines
*
@@ -21,6 +21,7 @@
{
textdomain "nfs_server";
+ import "NfsServer";
import "Popup";
import "Report";
@@ -75,6 +76,195 @@
return (list<string>) (flt[0, "allowed"]:nil);
}
+
+ /**
+ * Find out whether client representations are related
+ * @param clntexpr1 first client representation to which check is being made
+ * @param clntexpr2 another client representatio against which the check is done
+ * @return 1, if clntexpr1 is contained in clntexpr2 and -1, if otherway round,
+ * and 0 if they are independent
+ * @example 1.2.3.4 (is contained in) 1.*.3.4,
+ *.abc.com (contains)xyz.abc.com and xyz.* and abc.com are independent
+ *
+ * FIXME This is not too intelligent. Ideally a while loop with matching '*' is required.
+ * 1) Doesn't look default name domain.
+ * 2) Doesn't know how to deal with *.abc.* ; only single '*' please :(
+ */
+ define integer ClientRelated (string clntexpr1, string clntexpr2) ``{
+
+ integer pos = findfirstof (clntexpr2,"*");
+ integer len = size (clntexpr2);
+
+ clntexpr2 = tolower (clntexpr2);
+ clntexpr1 = tolower (clntexpr1);
+
+ if (pos == nil)
+ {
+ pos = findfirstof (clntexpr1,"*");
+ if (pos == nil)
+ return 0; // FIXME We must continue investigating with name/ip resolution
+ // Both expressions not having *, doesn't mean they are not
+ // related.
+ return -1*ClientRelated (clntexpr2, clntexpr1);
+ }
+
+ if (clntexpr2 == "*")
+ return 1;
+ if (clntexpr1 == clntexpr2)
+ return 1;
+
+ if (pos == len - 1) // expressions of type abc.xyz.*
+ {
+ string check = substring (clntexpr2, 0, pos);
+ integer matchpos = findfirstof (clntexpr1, check);
+ if (matchpos == 0)
+ return 1;
+
+ } else if (pos == 0) { // expressions of type *.abc.xyz
+
+ string check = substring (clntexpr2, 1);
+ integer matchpos = findfirstof (clntexpr1, check);
+ string right = substring (clntexpr1,matchpos);
+ if (check == right)
+ return 1;
+
+ } else {
+ // expressions of type abc.*.xyz
+ string checkleft = substring (clntexpr2, 0, pos);
+ integer matchpos = findfirstof (clntexpr1, checkleft);
+ if (matchpos == 0)
+ {
+ string checkright = substring (clntexpr2, pos+1);
+ integer matchpos = findfirstof (clntexpr1, checkright);
+ string right = substring (clntexpr1, matchpos);
+
+ if (checkright == right)
+ return 1;
+ }
+ }
+
+ return 0;
+ }
+
+
+ /**
+ * nfs-utils-1.0.1 gives a warning
+ * if neither of sync, async is specified.
+ *
+ * no_subtree_check:
+ * http://nfs.sourceforge.net/#faq_c7
+ * nfs-utils-1.1.0, will switch the default from subtree_check
+ * to no_subtree_check (#233709)
+ */
+ const string default_options = "ro,root_squash,sync,no_subtree_check";
+
+ /**
+ * Give out appropriate default options
+ * @param nfsv4 Is nfsv4 enabled ?
+ * @param exports list of exports
+ * @param client some string representation of the client (*, *.domain, ip address)
+ * @return a comma separated default options string, that is most appropriate
+ */
+ define string GetDefaultOpts (boolean nfsv4, list<map> exports, string client) ``{
+
+ boolean withfsid = false;
+
+ if (!nfsv4)
+ return default_options;
+
+ foreach (map<string, any> entry, (list<map<string,any> >) exports, {
+ foreach (string hostops, entry["allowed"]:["()"], {
+ integer pos = findfirstof(hostops, "(");
+ string opts = "";
+ string clientexpr = "";
+ if (pos != nil) {
+ opts = substring(hostops, pos+1);
+ clientexpr = substring(hostops, 0, pos);
+
+ pos = findfirstof(opts, ")");
+ if (pos != nil)
+ opts = substring(opts, 0, pos);
+ }
+ if (ClientRelated (client, clientexpr)!=0)
+ {
+ if (issubstring (opts, "fsid=0")) {
+ withfsid = true;
+ break;
+ }
+ }
+ });
+ if (withfsid)
+ break;
+ });
+
+ if (withfsid)
+ return default_options;
+ else
+ return "fsid=0," + default_options;
+ }
+
+
+ /**
+ * Report the first error that is encountered while checking for Unique NFSv4
+ * psuedofilesystem root.
+ * @param exports list of exports
+ * @param expath the exported filesystem path
+ * @param client string representing a client (*, *.domain, ip address etc)
+ * @param eopts comma separated string of export options
+ * @return the first error encountered or nil
+ */
+ define string CheckUniqueRootForClient (list<map> exports, string expath,
+ string client, string eopts) ``{
+ string exportpath = "";
+ string errorstring = nil;
+ integer clientrelation = 0;
+
+ if (!issubstring(eopts,"fsid=0")) // Then no need to check for conflict.
+ return nil;
+
+ foreach (map<string, any> entry, (list<map<string,any> >)exports, {
+ exportpath = entry["mountpoint"]:"";
+ foreach (string hostops, entry["allowed"]:["()"], {
+ string opts = "";
+ string clientexpr = "";
+ integer pos = findfirstof (hostops,"(");
+ if (pos != nil) {
+ opts = substring(hostops, pos+1);
+ clientexpr = substring(hostops, 0, pos);
+
+ pos = findfirstof(opts, ")");
+ if (pos != nil)
+ opts = substring(opts, 0, pos);
+ }
+ clientrelation = ClientRelated (client, clientexpr);
+ if (clientrelation != 0)
+ {
+ if (issubstring (opts, "fsid=0")) {
+ if (exportpath != expath) { // Aww ! Two different roots
+ if (clientrelation == 1) {
+ errorstring =
+ sformat(_("%3 and %4 are both exported with the option fsid=0
+for the same client '%1' (contained in '%2')"), client, clientexpr, expath, exportpath);
+ } else {
+ errorstring =
+ sformat(_("%3 and %4 are both exported with the option fsid=0
+for the same client '%1' (contained in '%2')"), clientexpr, client, expath, exportpath);
+ }
+ break;
+ }
+
+ }
+ }
+ });
+ if (errorstring != nil)
+ break;
+ });
+
+ return errorstring;
+
+ }
+
+
/**
* @param exports list of exports
* @return a ui table list of mountpoints, id'ed by themselves
@@ -86,14 +276,80 @@
});
}
+
+ /**
+ * @param clients list of "host(opts)" strings
+ * @return a string that has comma-separated list of bind target paths.
+ */
+ define string getbindpaths (map entry) ``{
+
+ string exportpath = entry["mountpoint"]:"";
+ list<string> clients = entry["allowed"]:["()"];
+ string bindpaths = "";
+ list <string> paths = [];
+ foreach (string hostopts, clients, {
+ integer pos = findfirstof(hostopts, "(");
+ string opts = substring(hostopts, pos+1);
+ string clientexpr = substring(hostopts, 0, pos);
+ string bindpath = "";
+
+ pos = findfirstof(opts, ")");
+ if (pos != nil)
+ opts = substring(opts, 0, pos);
+ if (opts == ""){
+ y2error ("Your /etc/exports file has errors. The export path %1 has no export options specified.", exportpath);
+ }
+ pos = search (opts,"bind=");
+ if (pos != nil){
+ bindpath = substring (opts, pos+5);
+ pos = findfirstof (bindpath, ",");
+ if (pos != nil){
+ bindpath = substring (bindpath, 0, pos);
+ }
+ }
+ if (bindpath != "")
+ paths = prepend (paths, bindpath);
+ });
+ if (size(paths) != 0)
+ bindpaths = mergestring (paths, ",");
+
+
+ return bindpaths;
+ }
+
+
/**
* @param exports list of exports
- * @return a SelectionBox for the mountpoints, `id(`exportsbox)
+ * @return a ui table list of mountpoints and the corresponding
+ * bindmount targets, if any.
+ */
+ define list<term> ExportsRows(list<map> exports) ``{
+ return maplist(map entry, exports, ``{
+ string exportpath = entry["mountpoint"]:"";
+ string bindpaths = getbindpaths (entry);
+ return `item(`id(exportpath), exportpath+" ", bindpaths);
+ });
+ }
+
+
+ /**
+ * @param exports list of exports
+ * @return a SelectionBox for the mountpoints, `id(`exportsbox) containing
+ * list of exported directory paths.
+ * If nfsv4 is enabled return a table of 2 colums, first being the
+ * export path and the second one having bindmount targets as specified
+ * by in the export entries in /etc/exports
*/
define term ExportsSelBox(list<map> exports) ``{
- return `SelectionBox(`id(`exportsbox), `opt(`notify),
- // selection box label
- _("Dire&ctories"), ExportsItems(exports));
+ if (NfsServer::enable_nfsv4) {
+ return `Table(`id(`exptable), `opt(`notify,`immediate),
+ `header("Directories","Bindmount Targets"),
+ ExportsRows(exports));
+ } else {
+ return `SelectionBox(`id(`exportsbox), `opt(`notify),
+ // selection box label
+ _("Dire&ctories"), ExportsItems(exports));
+ }
}
/**
@@ -116,6 +372,7 @@
return false;
}
+
/**
* Check for the validity of export options:
* [A-Za-z0-9=/.,_-]*
@@ -134,6 +391,7 @@
return true;
}
+
/**
* Check for the validity of export options: only those listed in
* exports(5) are accepted.
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-nfs-server-2.15.0/src/ui.ycp new/yast2-nfs-server-2.15.1/src/ui.ycp
--- old/yast2-nfs-server-2.15.0/src/ui.ycp 2007-02-26 09:49:29.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/src/ui.ycp 2007-02-26 16:36:29.000000000 +0100
@@ -13,7 +13,7 @@
* Dan Vesely (dan(a)suse.cz)
* Martin Vidner <mvidner(a)suse.cz>
*
- * $Id: ui.ycp 36472 2007-02-26 08:49:27Z mvidner $
+ * $Id: ui.ycp 36506 2007-02-26 15:36:26Z mvidner $
*
* Network NFS server dialogs
*
@@ -79,30 +79,37 @@
any ret = nil;
do {
ret = UI::UserInput();
-
mountpoint = (string) UI::QueryWidget(`id(`mpent), `Value);
+
if (ret == `ok)
{
- list allowed = FindAllowed(exports, mountpoint);
- if (allowed != nil) {
- // error popup message
- Popup::Message(_("The exports table already
-contains this directory."));
+ if (mountpoint == nil || mountpoint == "")
+ {
+ Popup::Message(_("Please enter a non-empty export path. Eg: /exports"));
ret = nil;
}
- else if (!spaces_allowed && findfirstof (mountpoint, " \t") != nil)
+ else
{
- Popup::Message(sformat (
-// message popup; %1, %2 are package names
+ list allowed = FindAllowed(exports, mountpoint);
+ if (allowed != nil)
+ {
+ // error popup message
+ Popup::Message(_("The exports table already contains this directory."));
+ ret = nil;
+ }
+ else if (!spaces_allowed && findfirstof (mountpoint, " \t") != nil)
+ {
+ Popup::Message(sformat (
+ // message popup; %1, %2 are package names
_("The user mode NFS server (%1) cannot export directories
with spaces in their names.
Use the kernel-based server (%2) to do that."), "nfs-server", "nfs-utils"));
- ret = nil;
- }
- else if (SCR::Read (.target.size, mountpoint) < 0 && !Mode::config ()) {
+ ret = nil;
+ }
+ else if (SCR::Read (.target.size, mountpoint) < 0 && !Mode::config ()) {
// the dir does not exist
- ret = Popup::YesNo(_("The directory does not exist.
-Create it?")) ? `ok : nil;
+ ret = Popup::YesNo(_("The directory does not exist. Create it?")) ? `ok : nil;
+ }
}
}
else if (ret == `browse)
@@ -118,6 +125,10 @@
if (size (dir) > 0)
{
+ integer len = size (dir);
+ // remove the trailing "/"
+ if (dir != "/" && (substring (dir,len-1,1) == "/"))
+ dir = substring (dir,0,len-1);
UI::ChangeWidget (`id (`mpent), `Value, dir);
}
@@ -142,25 +153,21 @@
boolean use_star_for_anonymous = false;
/**
- * nfs-utils-1.0.1 gives a warning
- * if neither of sync, async is specified.
- *
- * no_subtree_check:
- * http://nfs.sourceforge.net/#faq_c7
- * nfs-utils-1.1.0, will switch the default from subtree_check
- * to no_subtree_check (#233709)
- */
- string default_options = "ro,root_squash,sync,no_subtree_check";
-
- /**
* Ask user for an entry for the allowed hosts list.
+ * @param exports the current UI version of the exports list
+ * @param expath the exported filesystem for which this is done
* @param hosts hosts default value
* @param opts options default value
* @param allowed current list, to check for duplicates
* @return [newhosts, newopts] or nil if cancelled. Options without parentheses.
*/
- define list<string> GetAllowedHosts(string hosts, string opts, list<string> allowed) ``{
+ define list<string> GetAllowedHosts(list<map> exports, string expath ,string hosts, string opts,
+ list<string> allowed, boolean fromedit) ``{
Wizard::SetScreenShotName ("nfs-server-2b-hosts");
+ string error = nil;
+ map event = nil;
+ boolean hostchanged = false;
+ boolean optchanged = false;
if (hosts == nil) hosts = "";
if (opts == nil) opts = "";
@@ -178,9 +185,9 @@
// make at least the default options fit
`HSpacing (30),
// text entry label
- `TextEntry(`id(`hostsent), _("&Host Wild Card"), hosts),
+ `TextEntry(`id(`hostsent),`opt(`notify), _("&Host Wild Card"), hosts),
// text entry label
- `TextEntry(`id(`optsent), _("O&ptions"), opts),
+ `TextEntry(`id(`optsent),`opt(`notify), _("O&ptions"),opts),
`VSpacing(0.2),
// ok pushbutton: confirm the dialog
`HBox(`PushButton(`id(`ok), `opt(`default, `key_F10), Label::OKButton()),
@@ -192,7 +199,17 @@
UI::SetFocus (`id (`hostsent));
any ret = nil;
do {
- ret = UI::UserInput();
+ event = UI::WaitForEvent();
+ ret = event["ID"]:nil;
+
+ if (ret == `hostsent)
+ {
+ hosts = (string) UI::QueryWidget(`id(`hostsent), `Value);
+ UI::ChangeWidget(`id(`hostsent), `Value, hosts);
+ if (!hostchanged)
+ hostchanged = true;
+ continue;
+ }
hosts = (string) UI::QueryWidget(`id(`hostsent), `Value);
if (use_star_for_anonymous && hosts == "")
@@ -205,12 +222,46 @@
hosts = "";
UI::ChangeWidget (`id(`hostsent), `Value, hosts);
}
- opts = (string) UI::QueryWidget(`id(`optsent), `Value);
- opts = deletechars (opts, " ()");
- UI::ChangeWidget (`id(`optsent), `Value, opts);
+
+ if (ret == `optsent)
+ {
+ // check to see if user has changed options entry in the dialogue
+ // thrown due to a "Add Hosts" (as opposed to editing existing ones).
+ // If yes, suggest the user with a suitable default option set.
+ if (hostchanged && !fromedit)
+ {
+ if (!optchanged)
+ {
+ hosts = (string) UI::QueryWidget (`id(`hostsent),`Value);
+ opts = GetDefaultOpts(NfsServer::enable_nfsv4, exports,hosts);
+ UI::ChangeWidget (`id(`optsent),`Value,opts);
+ optchanged = true;
+ }
+ }
+ }
+
if (ret == `ok &&
(!CheckNoSpaces(hosts) || !CheckExportOptions(opts)))
ret = nil;
+ if (ret == `ok && !NfsServer::enable_nfsv4)
+ {
+ if (issubstring (opts,"fsid=0")) {
+ Popup::Message(_("'fsid=0'is not a valid option unless
+NFSv4 is enabled (previous page)"));
+ ret = nil;
+ }
+ }
+
+ if (ret == `ok && NfsServer::enable_nfsv4)
+ {
+ error = CheckUniqueRootForClient (exports,expath,hosts,opts);
+ if (error != nil)
+ {
+ Popup::Message(error);
+ ret = nil;
+ }
+ }
+
if (ret == `ok && contains(allowed_names, hosts)) {
// error popup message
Popup::Message(_("Options for this wild card
@@ -219,11 +270,22 @@
}
} while (ret != `ok && ret != `cancel);
+ opts = (string) UI::QueryWidget (`id(`optsent),`Value);
UI::CloseDialog();
+
+ if (opts == "")
+ {
+ opts = GetDefaultOpts(NfsServer::enable_nfsv4, exports,hosts);
+ }
+
+ opts = deletechars (opts, " ()");
+
Wizard::RestoreScreenShotName ();
if (ret == `ok)
+ {
return [ hosts, opts ];
+ }
return nil;
}
@@ -236,6 +298,15 @@
Wizard::SetScreenShotName ("nfs-server-1-start");
boolean start_nfs_server = NfsServer::start;
+ string domain = (string) SCR::Read(.etc.idmapd_conf,"Domain");
+ if (domain == nil)
+ {
+ Popup::Message(_("Unable to read /etc/idmapd.conf file. Defaulting the domain to 'localdomain'"));
+ domain = "localdomain";
+ }
+
+ boolean enable_nfsv4 = NfsServer::enable_nfsv4;
+ boolean nfs_security = NfsServer::nfs_security;
boolean changed = false;
@@ -258,6 +329,15 @@
help_text = help_text + fw_cwm_widget["help"]:"";
+ help_text = help_text +
+_("<P>If the server needs to handle NFSv4 clients, enable the option <B>Enable NFSv4</B>,
+and fillin the NFSv4 domain name in the text entry, for id mapping daemon to use. Please leave
+it as localdomain or refer to man page for idmapd and idmapd.conf if you are not sure.</P>");
+
+ help_text = help_text +
+_("<P>If the server and client must authenticate using GSS library, please enable the <B>Enable GSS Security</B>
+checkbox. For being able to use GSS API, currently you need to have kerberos and gssapi (nfs-utils > 1.0.7) on your system</P>");
+
/* The end of the definitions */
term nfs_contents =
@@ -268,7 +348,7 @@
// radio button label
`VBox(`Left(`RadioButton(`id(`servyes), `opt (`notify), _("&Start"), start_nfs_server)),
//radio button label
- `Left(`RadioButton(`id(`servno), `opt (`notify), _("&Do Not Start"), !start_nfs_server)))),
+ `Left(`RadioButton(`id(`servno), `opt (`notify), _("Do &Not Start"), !start_nfs_server)))),
`VSpacing(0.2)));
term fw_contents =
// frame label
@@ -277,10 +357,33 @@
fw_cwm_widget["custom_widget"]:`Empty (),
`VSpacing(0.2)));
- term contents = `HVSquash (`VBox (
+ term nfsv4_contents =
+ `Frame (_("Enable NFSv4"),
+ `VBox(
+ `VSpacing(0.2),
+ `Left(`CheckBox(`id(`enable_nfsv4),`opt(`notify),_("Enable NFS&v4"), enable_nfsv4)),
+ `VSpacing(0.2),
+ `TextEntry (`id(`domain),_("Enter NFSv4 do&main name:"), domain),
+ `VSpacing(0.2)
+ )
+ );
+
+
+ term sec_contents =
+ `Left(`CheckBox(`id(`nfs_security),`opt(`notify),_("Enable &GSS Security"),nfs_security));
+
+
+ term contents = `HVSquash (
+ `VBox (
nfs_contents,
`VSpacing (1),
- fw_contents));
+ fw_contents,
+ `VSpacing (1),
+ nfsv4_contents,
+ `VSpacing (1),
+ sec_contents
+ )
+ );
// dialog title
Wizard::SetContents(_("NFS Server Configuration"),
@@ -289,6 +392,15 @@
// initialize the widget (set the current value)
CWMFirewallInterfaces::OpenFirewallInit (fw_cwm_widget, "");
+ if (enable_nfsv4)
+ {
+ UI::ChangeWidget(`id(`domain),`Enabled, true);
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`domain),`Enabled, false);
+ }
+
map event = nil;
any ret = nil;
do {
@@ -304,8 +416,27 @@
Wizard::SetFocusToNextButton();
}
- event = UI::WaitForEvent ();
+ event = UI::WaitForEvent ();
ret = event["ID"]:nil;
+ if (ret == `enable_nfsv4)
+ {
+ enable_nfsv4 = (UI::QueryWidget(`id(`enable_nfsv4),`Value)==true);
+ NfsServer::enable_nfsv4 = enable_nfsv4;
+ if (enable_nfsv4)
+ {
+ UI::ChangeWidget(`id(`domain),`Enabled, true);
+ }
+ else
+ {
+ UI::ChangeWidget(`id(`domain),`Enabled, false);
+ }
+ }
+
+ if (ret == `nfs_security)
+ {
+ nfs_security = (UI::QueryWidget(`id(`nfs_security),`Value)==true);
+ NfsServer::nfs_security = nfs_security;
+ }
if (ret == `cancel)
{
ret = `abort;
@@ -328,7 +459,7 @@
// grab current settings, store them to SuSEFirewall::
CWMFirewallInterfaces::OpenFirewallStore (fw_cwm_widget, "", event);
NfsServer::start = start_nfs_server;
-
+ NfsServer::domain = (string) UI::QueryWidget(`id(`domain),`Value);
if (!start_nfs_server)
{
return `finish;
@@ -346,13 +477,13 @@
define symbol ExportsDialog () ``{
Wizard::SetScreenShotName ("nfs-server-2-exports");
- // Help, part 1 of 4
+ // Help, part 1 of 5
string help_text = _("<P>The upper box contains all the directories to export.
If a directory is selected, the lower box shows the hosts allowed to
mount this directory.</P>
");
- // Help, part 2 of 4
+ // Help, part 2 of 5
help_text = help_text + _("<P><b>Host Wild Card</b> sets which hosts can access the selected directory.
It can be a single host, groups, wild cards, or
IP networks.</P>
@@ -361,45 +492,58 @@
// #91175
if (use_star_for_anonymous)
{
- // Help, part 3 of 4, variant for kernel space server
+ // Help, part 3 of 5, variant for kernel space server
help_text = help_text + _("<p>Enter an asterisk (<tt>*</tt>) to specify all hosts.</p>");
}
else
{
- // Help, part 3 of 4, variant for user space server
+ // Help, part 3 of 5, variant for user space server
help_text = help_text + _("<p>Leave the field empty to specify all hosts.</p>");
}
- // Help, part 4 of 4
+ if (NfsServer::enable_nfsv4)
+ {
+ // Help, part 4 of 5, caution about fsid=0 in case NFSv4 is enabled.
+ help_text = help_text + _("<p>The NFSv4 option is enabled in the previous page. Make sure that only one exported filesystem is marked with fsid=0 option for a particular client.</p>");
+
+ help_text = help_text + _("<p>In case of multiple exports to a NFSv4 client, there is a need to bind the exported paths (not with fsid=0) to the one with fsid=0. To do this, simply add another export option, bind=/target/path where /target/path amounts to some directory existing below the fsid=0 - exported tree.</p>");
+ }
+
+ // Help, part 5 of 5
help_text = help_text + _("<P>Refer to <tt>man exports</tt> for more information.</P>
");
list<map<string,any> > exports = NfsServer::exports;
- term contents =
- `VBox(
- `ReplacePoint(`id(`exportsrep), ExportsSelBox(exports)),
- // push button label
- `HBox(`PushButton(`id(`mpnewbut), `opt (`key_F3), _("Add &Directory")),
+ term contents = `VBox();
+
+ contents = add (contents,`ReplacePoint(`id(`exportsrep), ExportsSelBox(exports)));
+
+ // push button label
+ contents = add (contents, `HBox(`PushButton(`id(`mpnewbut), `opt (`key_F3), _("Add &Directory")),
// push button label
`PushButton(`id(`mpeditbut), `opt (`key_F4), _("&Edit")),
// push button label
- `PushButton(`id(`mpdelbut), `opt (`key_F5), _("De&lete"))),
+ `PushButton(`id(`mpdelbut), `opt (`key_F5), _("De&lete")))
+ );
// push button label
- `VBox(`Left(`Label(`id(`allowedlab), `opt(`hstretch), "")),
+ contents = add (contents, `VBox(`Left(`Label(`id(`allowedlab), `opt(`hstretch), "")),
`Table(`id(`allowedtab), `opt(`notify, `immediate),
// table header
`header(_("Host Wild Card")+" ",
// table header
_("Options")+" "),
- [])),
+ []))
+ );
// push button label
- `HBox(`PushButton(`id(`alwnewbut), _("Add &Host")),
+
+ contents = add (contents, `HBox(`PushButton(`id(`alwnewbut), _("Add &Host")),
// push button label
`PushButton(`id(`alweditbut), _("Ed&it")),
// push button label
`PushButton(`id(`alwdelbut), _("Dele&te")))
- );
+ );
+
Wizard::SetContentsButtons (
// dialog title
@@ -407,16 +551,27 @@
contents, help_text,
Label::BackButton (), Label::FinishButton());
+ map event = nil;
any ret = nil;
any simulated = nil; // simulated user input
string oldmp = nil;
// preselect an item - convenience, button enabling
if (size (exports) > 0)
{
- UI::ChangeWidget (`id (`exportsbox), `CurrentItem, exports[0,"mountpoint"]:"");
+ if (NfsServer::enable_nfsv4){
+ UI::ChangeWidget (`id (`exptable), `CurrentItem, exports[0,"mountpoint"]:"");
+ } else
+ UI::ChangeWidget (`id (`exportsbox), `CurrentItem, exports[0,"mountpoint"]:"");
}
do {
- string mountpoint = (string) UI::QueryWidget (`id (`exportsbox), `CurrentItem);
+
+ string mountpoint = "";
+ if (NfsServer::enable_nfsv4) {
+ mountpoint = (string) UI::QueryWidget (`id (`exptable), `CurrentItem);
+ }
+ else
+ mountpoint = (string) UI::QueryWidget (`id (`exportsbox), `CurrentItem);
+
boolean anymp = mountpoint != nil;
UI::ChangeWidget (`id (`mpeditbut), `Enabled, anymp);
@@ -445,7 +600,8 @@
// used for `alweditbut afted `mpnewbut
if (simulated == nil)
{
- ret = UI::UserInput();
+ event = UI::WaitForEvent();
+ ret = event["ID"]:nil;
if (ret == `cancel)
{
ret = `abort;
@@ -466,18 +622,28 @@
list default_allowed = [
sformat ("%1(%2)",
use_star_for_anonymous? "*":"",
- default_options)
+ GetDefaultOpts(NfsServer::enable_nfsv4, exports,"*")
+ )
];
exports = add(exports, $[ "mountpoint" : mountpoint,
"allowed" : default_allowed ]);
UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
- UI::ChangeWidget(`id(`exportsbox), `CurrentItem, mountpoint);
+ if (NfsServer::enable_nfsv4)
+ UI::ChangeWidget(`id(`exptable), `CurrentItem, mountpoint);
+ else
+ UI::ChangeWidget(`id(`exportsbox), `CurrentItem, mountpoint);
simulated = `alweditbut;
}
}
else if (ret == `mpeditbut)
{
- string mp = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+ string mp = nil;
+
+ if (NfsServer::enable_nfsv4)
+ mp = (string) UI::QueryWidget(`id(`exptable), `CurrentItem);
+ else
+ mp = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+
if (mp != nil) {
string mountpoint = GetDirectory(mp,
(list<map>) filter(map ent, exports, ``{
@@ -491,44 +657,77 @@
return add(ent, "mountpoint", mountpoint);
return ent;
});
+
UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
- UI::ChangeWidget(`id(`exportsbox), `CurrentItem, mountpoint);
+
+ if (NfsServer::enable_nfsv4)
+ UI::ChangeWidget(`id(`exptable), `CurrentItem, mountpoint);
+ else
+ UI::ChangeWidget(`id(`exportsbox), `CurrentItem, mountpoint);
}
}
}
else if (ret == `mpdelbut)
{
- string mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
- if (mountpoint != nil)
+ string mountpoint = nil;
+
+ if (NfsServer::enable_nfsv4)
+ mountpoint = (string) UI::QueryWidget(`id(`exptable), `CurrentItem);
+ else
+ mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+
+ if (mountpoint != nil) {
exports = filter(map<string,any> entry, exports,
``(entry["mountpoint"]:"" != mountpoint));
+ }
UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
if (size (exports) > 0)
{
- UI::ChangeWidget (`id (`exportsbox), `CurrentItem,
+ if (NfsServer::enable_nfsv4)
+ UI::ChangeWidget(`id(`exptable), `CurrentItem,
+ exports[0,"mountpoint"]:"");
+ else
+ UI::ChangeWidget (`id (`exportsbox), `CurrentItem,
exports[0,"mountpoint"]:"");
}
}
else if (ret == `alwnewbut)
{
- string mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+ string mountpoint = nil;
+
+ if (NfsServer::enable_nfsv4)
+ mountpoint = (string) UI::QueryWidget(`id(`exptable), `CurrentItem);
+ else
+ mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+
if (mountpoint != nil) {
list<string> allowed = FindAllowed(exports, mountpoint);
- list<string> hostopt = GetAllowedHosts(nil, nil, allowed);
+ list<string> hostopt = GetAllowedHosts(exports, mountpoint, nil, nil, allowed, false);
if (hostopt != nil) {
allowed = add(allowed, hostopt[0]:"" + "(" + hostopt[1]:"" + ")");
exports = ReplaceInExports(exports, mountpoint, allowed);
UI::ChangeWidget(`id(`allowedtab), `Items,
AllowedTableItems(allowed));
+ if (NfsServer::enable_nfsv4)
+ {
+ UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
+ UI::ChangeWidget(`id(`exptable), `CurrentItem, mountpoint);
+ }
}
}
}
else if (ret == `alweditbut)
{
- string mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+ string mountpoint = nil;
+
+ if (NfsServer::enable_nfsv4)
+ mountpoint = (string) UI::QueryWidget(`id(`exptable), `CurrentItem);
+ else
+ mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+
if (mountpoint != nil) {
list<string> allowed = FindAllowed(exports, mountpoint);
string hosts = "";
@@ -542,19 +741,30 @@
}
allowed = remove (allowed, alw_no);
}
- list<string> hostopt = GetAllowedHosts(hosts, opts, allowed);
+ list<string> hostopt = GetAllowedHosts(exports, mountpoint, hosts, opts, allowed, true);
if (hostopt != nil) {
allowed = add(allowed, hostopt[0]:"" + "(" + hostopt[1]:"" + ")");
exports = ReplaceInExports(exports, mountpoint, allowed);
UI::ChangeWidget(`id(`allowedtab), `Items,
AllowedTableItems(allowed));
+ if (NfsServer::enable_nfsv4)
+ {
+ UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
+ UI::ChangeWidget(`id(`exptable), `CurrentItem, mountpoint);
+ }
}
}
}
else if (ret == `alwdelbut)
{
- string mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+ string mountpoint = nil;
+
+ if (NfsServer::enable_nfsv4)
+ mountpoint = (string) UI::QueryWidget(`id(`exptable), `CurrentItem);
+ else
+ mountpoint = (string) UI::QueryWidget(`id(`exportsbox), `CurrentItem);
+
if (mountpoint != nil) {
list<string> allowed = FindAllowed(exports, mountpoint);
integer alwno = (integer) UI::QueryWidget(`id(`allowedtab), `CurrentItem);
@@ -568,6 +778,11 @@
UI::ChangeWidget(`id(`allowedtab), `Items,
AllowedTableItems(allowed));
+ if (NfsServer::enable_nfsv4)
+ {
+ UI::ReplaceWidget(`id(`exportsrep), ExportsSelBox(exports));
+ UI::ChangeWidget(`id(`exptable), `CurrentItem, mountpoint);
+ }
}
}
}
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-nfs-server-2.15.0/testsuite/tests/readwrite2.out new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite2.out
--- old/yast2-nfs-server-2.15.0/testsuite/tests/readwrite2.out 2006-01-16 15:29:47.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite2.out 2007-02-26 15:14:15.000000000 +0100
@@ -1,3 +1,5 @@
+Read .sysconfig.nfs.NFS4_SUPPORT nil
+Read .sysconfig.nfs.NFS_SECURITY_GSS nil
Dump
Dump Read - services are running
Dump
@@ -20,6 +22,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "nfsserver" true
Execute .target.bash "/etc/init.d/nfsserver stop" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
@@ -56,6 +61,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
@@ -72,6 +80,12 @@
Read .init.scripts.exists "nfsserver" true
Read .init.scripts.runlevel "nfsserver" $["nfsserver":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]]]
Read .init.scripts.comment "nfsserver" $["nfsserver":$[], "portmap":$[]]
+Read .init.scripts.exists "idmapd" true
+Execute .target.bash "/etc/init.d/idmapd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd stop" $["TERM":"raw"] 0
Read .init.scripts.exists "portmap" true
Execute .target.bash "/etc/init.d/portmap status" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
@@ -103,6 +117,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "nfsserver" true
Execute .target.bash "/etc/init.d/nfsserver stop" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
@@ -138,6 +155,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
@@ -156,6 +176,12 @@
Read .init.scripts.runlevel "nfsserver" $["nfsserver":$["start":[], "stop":[]], "portmap":$["start":[], "stop":[]]]
Read .init.scripts.comment "nfsserver" $["nfsserver":$[], "portmap":$[]]
Execute .target.bash_output "/sbin/insserv -d /etc/init.d/nfsserver" $["exit":0, "stderr":"", "stdout":""]
+Read .init.scripts.exists "idmapd" true
+Execute .target.bash "/etc/init.d/idmapd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd stop" $["TERM":"raw"] 0
Read .init.scripts.exists "portmap" true
Execute .target.bash "/etc/init.d/portmap status" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
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-nfs-server-2.15.0/testsuite/tests/readwrite.out new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite.out
--- old/yast2-nfs-server-2.15.0/testsuite/tests/readwrite.out 2006-01-16 15:29:34.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite.out 2007-02-26 15:14:14.000000000 +0100
@@ -1,3 +1,5 @@
+Read .sysconfig.nfs.NFS4_SUPPORT nil
+Read .sysconfig.nfs.NFS_SECURITY_GSS nil
Dump Read
Read .init.scripts.exists "nfsserver" true
Read .init.scripts.runlevel "nfsserver" $["nfslock":$["start":["3", "5"], "stop":["3", "5"]], "nfsserver":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]]]
@@ -16,6 +18,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
@@ -31,6 +36,12 @@
Read .init.scripts.exists "nfsserver" true
Read .init.scripts.runlevel "nfsserver" $["nfslock":$["start":["3", "5"], "stop":["3", "5"]], "nfsserver":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]]]
Read .init.scripts.comment "nfsserver" $["nfslock":$[], "nfsserver":$[], "portmap":$[]]
+Read .init.scripts.exists "idmapd" true
+Execute .target.bash "/etc/init.d/idmapd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd stop" $["TERM":"raw"] 0
Read .init.scripts.exists "portmap" true
Execute .target.bash "/etc/init.d/portmap status" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
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-nfs-server-2.15.0/testsuite/tests/readwrite-unfsd.out new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite-unfsd.out
--- old/yast2-nfs-server-2.15.0/testsuite/tests/readwrite-unfsd.out 2006-01-16 15:29:08.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/testsuite/tests/readwrite-unfsd.out 2007-02-26 15:14:14.000000000 +0100
@@ -1,3 +1,5 @@
+Read .sysconfig.nfs.NFS4_SUPPORT nil
+Read .sysconfig.nfs.NFS_SECURITY_GSS nil
Dump Read
Read .init.scripts.exists "nfsserver" true
Read .init.scripts.runlevel "nfsserver" $["network":$["start":["3", "5"], "stop":["3", "5"]], "networkmanager":$["start":[], "stop":[]], "nfsserver":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]]]
@@ -16,6 +18,9 @@
Read .target.dir "/pub" nil
Execute .target.mkdir "/pub" true
Write .etc.exports [$["allowed":["proj*.local.domain(rw)"], "mountpoint":"/projects"], $["allowed":["*.local.domain(ro)", "@trusted(rw)"], "mountpoint":"/usr"], $["allowed":["(ro,insecure,all_squash)"], "mountpoint":"/pub"]] true
+Write .sysconfig.nfs.NFS4_SUPPORT "no" true
+Write .sysconfig.nfs.NFS_SECURITY_GSS "no" true
+Write .etc.idmapd_conf ["Domain", ""] true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
Read .init.scripts.exists "portmap" true
@@ -26,6 +31,12 @@
Read .init.scripts.exists "nfsserver" true
Read .init.scripts.runlevel "nfsserver" $["network":$["start":["3", "5"], "stop":["3", "5"]], "networkmanager":$["start":[], "stop":[]], "nfsserver":$["start":["3", "5"], "stop":["3", "5"]], "portmap":$["start":["3", "5"], "stop":["3", "5"]]]
Read .init.scripts.comment "nfsserver" $["nfsserver":$[], "portmap":$[]]
+Read .init.scripts.exists "idmapd" true
+Execute .target.bash "/etc/init.d/idmapd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd status" $["TERM":"raw"] 0
+Read .init.scripts.exists "svcgssd" true
+Execute .target.bash "/etc/init.d/svcgssd stop" $["TERM":"raw"] 0
Read .init.scripts.exists "portmap" true
Execute .target.bash "/etc/init.d/portmap status" $["TERM":"raw"] 0
Read .init.scripts.exists "nfsserver" true
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-nfs-server-2.15.0/VERSION new/yast2-nfs-server-2.15.1/VERSION
--- old/yast2-nfs-server-2.15.0/VERSION 2007-02-26 10:12:34.000000000 +0100
+++ new/yast2-nfs-server-2.15.1/VERSION 2007-02-26 16:55:15.000000000 +0100
@@ -1 +1 @@
-2.15.0
+2.15.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 yast2-iscsi-client
checked in at Mon Feb 26 19:02:49 CET 2007.
--------
--- yast2-iscsi-client/yast2-iscsi-client.changes 2007-02-14 19:08:49.000000000 +0100
+++ /mounts/work_src_done/NOARCH/yast2-iscsi-client/yast2-iscsi-client.changes 2007-02-26 16:07:22.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 26 16:08:07 CET 2007 - mzugec(a)suse.cz
+
+- parsing initiatorname.iscsi file fixed (#244767)
+- 2.14.5
+
+-------------------------------------------------------------------
Old:
----
yast2-iscsi-client-2.14.4.tar.bz2
New:
----
yast2-iscsi-client-2.14.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-iscsi-client.spec ++++++
--- /var/tmp/diff_new_pack.Q21192/_old 2007-02-26 19:02:44.000000000 +0100
+++ /var/tmp/diff_new_pack.Q21192/_new 2007-02-26 19:02:44.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-iscsi-client (Version 2.14.4)
+# spec file for package yast2-iscsi-client (Version 2.14.5)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -11,12 +11,12 @@
# norootforbuild
Name: yast2-iscsi-client
-Version: 2.14.4
+Version: 2.14.5
Release: 1
License: GNU General Public License (GPL)
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-iscsi-client-2.14.4.tar.bz2
+Source0: yast2-iscsi-client-2.14.5.tar.bz2
prefix: /usr
BuildRequires: docbook-xsl-stylesheets doxygen libxslt perl-XML-Writer popt-devel sgml-skel update-desktop-files yast2 yast2-devtools yast2-packagemanager-devel yast2-perl-bindings yast2-testsuite
Requires: yast2
@@ -29,7 +29,7 @@
%prep
-%setup -n yast2-iscsi-client-2.14.4
+%setup -n yast2-iscsi-client-2.14.5
%build
%{prefix}/bin/y2tool y2autoconf
@@ -64,7 +64,10 @@
/usr/share/YaST2/scrconf/iscsid.scr
%doc %{prefix}/share/doc/packages/yast2-iscsi-client
-%changelog -n yast2-iscsi-client
+%changelog
+* Mon Feb 26 2007 - mzugec(a)suse.cz
+- parsing initiatorname.iscsi file fixed (#244767)
+- 2.14.5
* Wed Feb 14 2007 - mzugec(a)suse.de
- lost chars from user input caused by #245476 (#244388)
- InitiatorName is not saved when exiting dialog (#244385)
++++++ yast2-iscsi-client-2.14.4.tar.bz2 -> yast2-iscsi-client-2.14.5.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-iscsi-client-2.14.4/src/IscsiClient.ycp new/yast2-iscsi-client-2.14.5/src/IscsiClient.ycp
--- old/yast2-iscsi-client-2.14.4/src/IscsiClient.ycp 2007-02-14 19:05:09.000000000 +0100
+++ new/yast2-iscsi-client-2.14.5/src/IscsiClient.ycp 2007-02-26 14:39:09.000000000 +0100
@@ -4,7 +4,7 @@
* Summary: IscsiClient settings, input and output functions
* Authors: Michal Zugec <mzugec(a)suse.cz>
*
- * $Id: IscsiClient.ycp 35883 2007-02-06 09:51:05Z mzugec $
+ * $Id: IscsiClient.ycp 36488 2007-02-26 13:37:03Z mzugec $
*
* Representation of the configuration of iscsi-client.
* Input and output routines.
@@ -284,7 +284,7 @@
ret = (boolean)SCR::Write (.target.string, file, sformat("InitiatorName=%1", initiatorname));
SCR::Execute (.target.bash, "chmod 0600 $FILE" ,$["FILE":file]);
} else {
- string initiatorname=((map<string, any>)SCR::Execute(.target.bash_output, sformat("cat %1 | cut -d'=' -f2 | tr -d '\n'", file)))["stdout"]:"";
+ string initiatorname=((map<string, any>)SCR::Execute(.target.bash_output, sformat("grep -v '^#' %1 | cut -d'=' -f2 | tr -d '\n'", file)))["stdout"]:"";
if (size(name_from_bios)>0 && name_from_bios!=initiatorname){
Popup::Warning( _("InitiatorName from iBFT and from /etc/iscsi/initiatorname.iscsi are differ.\nOld initiatorname will be replaced by value from iBFT and create a backup.\nIf you want to use different initiatorname change it in BIOS.") );
y2milestone("replacing old name %1 by name %2 from iBFT", initiatorname, name_from_bios);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-iscsi-client-2.14.4/src/widgets.ycp new/yast2-iscsi-client-2.14.5/src/widgets.ycp
--- old/yast2-iscsi-client-2.14.4/src/widgets.ycp 2007-02-14 19:05:09.000000000 +0100
+++ new/yast2-iscsi-client-2.14.5/src/widgets.ycp 2007-02-26 14:38:11.000000000 +0100
@@ -173,7 +173,7 @@
}
void initInitName(string key){
- initiatorname = ((map<string, any>)SCR::Execute(.target.bash_output, "cat /etc/iscsi/initiatorname.iscsi|grep InitiatorName|cut -d'=' -f2|tr -d '\n'"))["stdout"]:"";
+ initiatorname = ((map<string, any>)SCR::Execute(.target.bash_output, "grep -v '^#' /etc/iscsi/initiatorname.iscsi|grep InitiatorName|cut -d'=' -f2|tr -d '\n'"))["stdout"]:"";
y2milestone("initiatorname %1", initiatorname);
UI::ChangeWidget(`initiator_name, `Value, initiatorname);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/yast2-iscsi-client-2.14.4/VERSION new/yast2-iscsi-client-2.14.5/VERSION
--- old/yast2-iscsi-client-2.14.4/VERSION 2007-02-14 19:05:09.000000000 +0100
+++ new/yast2-iscsi-client-2.14.5/VERSION 2007-02-26 16:07:53.000000000 +0100
@@ -1 +1 @@
-2.14.4
+2.14.5
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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