openSUSE Commits
Threads by month
- ----- 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
December 2006
- 1 participants
- 554 discussions
Hello community,
here is the log from the commit of package gzip
checked in at Fri Dec 15 18:09:12 CET 2006.
--------
--- gzip/gzip.changes 2006-12-12 10:11:12.000000000 +0100
+++ /mounts/work_src_done/STABLE/gzip/gzip.changes 2006-12-15 11:49:10.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Dec 15 11:48:41 CET 2006 - schwab(a)suse.de
+
+- Update to gzip 1.3.9.
+ * No major changes; only porting fixes.
+
+-------------------------------------------------------------------
Old:
----
gzip-1.3.8.tar.gz
New:
----
gzip-1.3.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gzip.spec ++++++
--- /var/tmp/diff_new_pack.4k6bGw/_old 2006-12-15 18:08:34.000000000 +0100
+++ /var/tmp/diff_new_pack.4k6bGw/_new 2006-12-15 18:08:34.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package gzip (Version 1.3.8)
+# spec file for package gzip (Version 1.3.9)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,7 +17,7 @@
Group: Productivity/Archiving/Compression
Autoreqprov: on
PreReq: %{install_info_prereq}
-Version: 1.3.8
+Version: 1.3.9
Release: 1
Summary: GNU Zip Compression Utilities
Source: %{name}-%{version}.tar.gz
@@ -111,6 +111,9 @@
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%changelog -n gzip
+* Fri Dec 15 2006 - schwab(a)suse.de
+- Update to gzip 1.3.9.
+ * No major changes; only porting fixes.
* Tue Dec 12 2006 - schwab(a)suse.de
- Update to gzip 1.3.8.
* Fix some gzip problems:
++++++ gzip-1.3.8.tar.gz -> gzip-1.3.9.tar.gz ++++++
++++ 24725 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 beagle
checked in at Fri Dec 15 18:08:22 CET 2006.
--------
--- GNOME/beagle/beagle.changes 2006-11-24 07:17:12.000000000 +0100
+++ /mounts/work_src_done/STABLE/beagle/beagle.changes 2006-12-14 23:24:17.000000000 +0100
@@ -1,0 +2,10 @@
+Thu Dec 14 23:18:55 CET 2006 - joeshaw(a)suse.de
+
+- Update to 0.2.14:
+ - Adds archive filter (bnc #130982)
+ - Adds progress notification during indexing. (fate #301218)
+ - Fixes many memory leaks, excess allocations, and
+ unnecessarily held references. (fate #301059, bnc #220793)
+ - Many bug fixes since 0.2.12.
+
+-------------------------------------------------------------------
libbeagle.changes: same change
Old:
----
autostart-beagle-search.desktop
autostart-beagled.desktop
beagle-0.2.12-fix-conditional-defines.patch
beagle-0.2.12-short-circuit-fix.patch
beagle-0.2.12.tar.gz
beagle-konqhistory-fd-leak.patch
build_libbeagle_only.diff
hu.po
system-search.png
New:
----
beagle-0.2.14-configure-gtk-doc-fix.patch
beagle-0.2.14.tar.gz
libbeagle-only.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ beagle.spec ++++++
--- /var/tmp/diff_new_pack.nQVOAS/_old 2006-12-15 18:07:48.000000000 +0100
+++ /var/tmp/diff_new_pack.nQVOAS/_new 2006-12-15 18:07:48.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package beagle (Version 0.2.12)
+# spec file for package beagle (Version 0.2.14)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,21 +17,15 @@
License: The Apache Software License, X11/MIT
Group: Productivity/Other
Autoreqprov: on
-Version: 0.2.12
-Release: 28
+Version: 0.2.14
+Release: 1
Summary: Desktop Search Application
URL: http://www.gnome.org/projects/beagle/
Source: %{name}-%{version}.tar.gz
-Source1: autostart-beagled.desktop
-Source2: autostart-beagle-search.desktop
-Source3: system-search.png
-Source4: hu.po
Patch1: %{name}-firefox-makefile.patch
Patch3: beagle-log-level-warn.patch
Patch4: beagle-terminal-lockdown.patch
-Patch5: beagle-konqhistory-fd-leak.patch
-Patch6: beagle-0.2.12-fix-conditional-defines.patch
-Patch7: beagle-0.2.12-short-circuit-fix.patch
+Patch5: beagle-0.2.14-configure-gtk-doc-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prereq: /usr/sbin/groupadd /usr/sbin/useradd
Requires: mono-core >= 1.1.13.5
@@ -305,11 +299,8 @@
%patch3
%patch4
%patch5
-%patch6
-%patch7
%build
-cp %SOURCE4 po/
intltoolize --copy --force --automake
libtoolize -f
aclocal -I .
@@ -329,7 +320,6 @@
--localstatedir=/var \
--disable-schemas-install \
--libexecdir=/usr/lib/beagle \
- --enable-gtk-doc \
--enable-epiphany-extension \
--enable-epiphany-extension-install \
--disable-libbeagle \
@@ -339,17 +329,7 @@
%install
make install DESTDIR=$RPM_BUILD_ROOT
%find_lang %{name}
-#install -d -m755 $RPM_BUILD_ROOT/opt/kde3/share/autostart
-#install -m644 %SOURCE1 $RPM_BUILD_ROOT/opt/kde3/share/autostart/beagled.desktop
-install -d -m755 $RPM_BUILD_ROOT/opt/gnome/share/gnome/autostart
-install -m644 %SOURCE1 $RPM_BUILD_ROOT/opt/gnome/share/gnome/autostart/beagled.desktop
-%if %suse_version <= 1010
-%if %sles_version < 10
-install -m644 %SOURCE2 $RPM_BUILD_ROOT/opt/gnome/share/gnome/autostart/beagle-search.desktop
-%endif
-%endif
install -d -m755 $RPM_BUILD_ROOT/usr/share/pixmaps
-install -m644 %SOURCE3 $RPM_BUILD_ROOT/usr/share/pixmaps
rm $RPM_BUILD_ROOT/opt/gnome/%{_lib}/epiphany/*/extensions/*.*a
rm $RPM_BUILD_ROOT%{prefix}/%{_lib}/beagle/*.*a
mkdir -p $RPM_BUILD_ROOT/var/cache/beagle/indexes
@@ -402,8 +382,6 @@
%{prefix}/%_lib/beagle/libbeagleglue*
%{prefix}/%_lib/beagle/Filters/*
%{prefix}/%_lib/pkgconfig/*.pc
-#%config /opt/kde3/share/autostart/beagled.desktop
-%config /opt/gnome/share/gnome/autostart/beagled.desktop
%{prefix}/share/beagle
%{prefix}/share/man/man1/*.1.gz
%{prefix}/share/man/man8/beagle-build-index.8.gz
@@ -414,6 +392,8 @@
%config %{sysconfdir}/beagle/crawl-applications
%config %{sysconfdir}/beagle/crawl-documentation
%{sysconfdir}/cron.daily/beagle-crawl-system
+%dir %{sysconfdir}/xdg/autostart
+%config %{sysconfdir}/xdg/autostart/beagled-autostart.desktop
%attr(-,beagleindex,beagleindex) /var/cache/beagle
%attr(-,beagleindex,beagleindex) /var/cache/beagle/indexes
%dir %{prefix}/%_lib/beagle
@@ -437,11 +417,8 @@
%{prefix}/%_lib/beagle/Settings.exe*
%{prefix}/%_lib/beagle/libbeagleuiglue*
%{prefix}/share/applications/*.desktop
-%if %suse_version <= 1010
-%if %sles_version < 10
-%config /opt/gnome/share/gnome/autostart/beagle-search.desktop
-%endif
-%endif
+%dir %{sysconfdir}/xdg/autostart
+%config %{sysconfdir}/xdg/autostart/beagle-search-autostart.desktop
%files -n beagle-evolution
%defattr(-, root, root)
@@ -458,6 +435,13 @@
%{prefix}/%_lib/beagle/Backends/ThunderbirdBackends.dll*
%changelog -n beagle
+* Thu Dec 14 2006 - joeshaw(a)suse.de
+- Update to 0.2.14:
+ - Adds archive filter (bnc #130982)
+ - Adds progress notification during indexing. (fate #301218)
+ - Fixes many memory leaks, excess allocations, and
+ unnecessarily held references. (fate #301059, bnc #220793)
+ - Many bug fixes since 0.2.12.
* Fri Nov 24 2006 - aj(a)suse.de
- Revert last change (#223511).
* Wed Nov 22 2006 - stbinner(a)suse.de
++++++ libbeagle.spec ++++++
--- /var/tmp/diff_new_pack.nQVOAS/_old 2006-12-15 18:07:48.000000000 +0100
+++ /var/tmp/diff_new_pack.nQVOAS/_new 2006-12-15 18:07:48.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package libbeagle (Version 0.2.12)
+# spec file for package libbeagle (Version 0.2.14)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -22,12 +22,12 @@
License: X11/MIT
Group: Development/Libraries/GNOME
Autoreqprov: on
-Version: 0.2.12
-Release: 23
+Version: 0.2.14
+Release: 1
Summary: Beagle C interface
Url: http://www.gnome.org/projects/beagle/
Source: beagle-%{version}.tar.gz
-Patch: build_libbeagle_only.diff
+Patch: libbeagle-only.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%py_requires
@@ -71,6 +71,7 @@
--localstatedir=/var \
--disable-schemas-install \
--libexecdir=/usr/lib/beagle \
+ --enable-gtk-doc \
--enable-python \
--disable-gui \
--disable-bludgeon \
@@ -103,6 +104,13 @@
%{prefix}/%_lib/pkgconfig/*.pc
%changelog -n libbeagle
+* Thu Dec 14 2006 - joeshaw(a)suse.de
+- Update to 0.2.14:
+ - Adds archive filter (bnc #130982)
+ - Adds progress notification during indexing. (fate #301218)
+ - Fixes many memory leaks, excess allocations, and
+ unnecessarily held references. (fate #301059, bnc #220793)
+ - Many bug fixes since 0.2.12.
* Fri Nov 24 2006 - aj(a)suse.de
- Revert last change (#223511).
* Wed Nov 22 2006 - stbinner(a)suse.de
++++++ beagle-0.2.14-configure-gtk-doc-fix.patch ++++++
Index: configure.in
===================================================================
RCS file: /cvs/gnome/beagle/configure.in,v
retrieving revision 1.279
diff -u -p -u -r1.279 configure.in
--- configure.in 14 Dec 2006 18:36:19 -0000 1.279
+++ configure.in 14 Dec 2006 21:02:08 -0000
@@ -447,12 +447,13 @@ else
fi
fi
-# If libbeagle is enabled, do the documentation check.
-if test "x$enable_libbeagle" == "xyes"; then
- GTK_DOC_CHECK(1.0)
-fi
-
AM_CONDITIONAL(ENABLE_LIBBEAGLE, test "x$enable_libbeagle" = "xyes")
+
+# Check for gtk-doc. We need to do this whether or not libbeagle is enabled
+# or else configure complains.
+# KEEP THE LEADING SPACE HERE - it's used to trick gnome-autogen.sh into
+# not running gtkdocize, which we don't need or want to run.
+ GTK_DOC_CHECK(1.0)
dnl ----------------------------------------------
AC_ARG_ENABLE([bludgeon],
++++++ beagle-0.2.12.tar.gz -> beagle-0.2.14.tar.gz ++++++
++++ 25934 lines of diff (skipped)
++++++ libbeagle-only.patch ++++++
++++ 637 lines (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 bash
checked in at Fri Dec 15 18:03:57 CET 2006.
--------
--- bash/bash.changes 2006-12-06 21:10:51.000000000 +0100
+++ /mounts/work_src_done/STABLE/bash/bash.changes 2006-12-14 13:10:39.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 13:10:30 CET 2006 - werner(a)suse.de
+
+- Update to bash 3.2 patch level 9
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bash.spec ++++++
--- /var/tmp/diff_new_pack.x4rv6b/_old 2006-12-15 18:02:55.000000000 +0100
+++ /var/tmp/diff_new_pack.x4rv6b/_new 2006-12-15 18:02:55.000000000 +0100
@@ -16,7 +16,7 @@
Requires: readline >= 5.2
Autoreqprov: on
Version: 3.2
-Release: 2
+Release: 5
%define bash_vers 3.2
%define rl_vers 5.2
Summary: The GNU Bourne-Again Shell
@@ -30,14 +30,14 @@
Patch1: bash-2.03-manual.patch
Patch2: bash-2.05a-security.patch
Patch3: bash-3.2-2.4.4.patch
-Patch5: bash-3.0-evalexp.patch
-Patch6: bash-3.0-warn-locale.patch
-Patch7: bash-3.0-nfs_redir.patch
-Patch8: bash-3.0-decl.patch
-Patch9: bash-3.1-random.patch
-Patch10: bash-3.1-extended_quote.patch
-Patch12: bash-3.2-printf.patch
-Patch13: bash-3.1-loadables.dif
+Patch4: bash-3.0-evalexp.patch
+Patch5: bash-3.0-warn-locale.patch
+Patch6: bash-3.0-nfs_redir.patch
+Patch7: bash-3.0-decl.patch
+Patch8: bash-3.1-random.patch
+Patch9: bash-3.1-extended_quote.patch
+Patch10: bash-3.2-printf.patch
+Patch11: bash-3.1-loadables.dif
Patch20: readline-%{rl_vers}.dif
Patch21: readline-4.3-input.dif
Patch22: readline-5.2-wrap.patch
@@ -64,7 +64,7 @@
Group: System/Libraries
Provides: bash:/lib/libreadline.so.5
Version: 5.2
-Release: 2
+Release: 5
Autoreqprov: on
%description -n readline
@@ -84,7 +84,7 @@
Group: Development/Libraries/C and C++
Provides: bash:/usr/lib/libreadline.a
Version: 5.2
-Release: 2
+Release: 5
Requires: readline = %{version}-%{release}, %{_libdir}/libncurses.so
Autoreqprov: on
@@ -110,16 +110,22 @@
%patch1 -p0 -b .manual
%patch2 -p0 -b .security
%patch3 -p0 -b .2.4.4
-%patch5 -p0 -b .evalexp
-%patch6 -p0 -b .warnlc
-%patch7 -p0 -b .nfs_redir
-%patch8 -p0 -b .decl
-%patch9 -p1 -b .random2
-%patch10 -p0 -b .extended_quote
-%patch12 -p0 -b .printf
-%patch13 -p0 -b .plugins
+%patch4 -p0 -b .evalexp
+%patch5 -p0 -b .warnlc
+%patch6 -p0 -b .nfs_redir
+%patch7 -p0 -b .decl
+%patch8 -p1 -b .random2
+%patch9 -p0 -b .extended_quote
+%patch10 -p0 -b .printf
+%patch11 -p0 -b .plugins
for p in ../readline-%{rl_vers}-patches/*; do
test -e $p || break
+ case "${p##*/}" in
+ readline52-001)
+ echo Patch ${p##*/} already part of bash32-006
+ continue
+ ;;
+ esac
echo Patch $p
patch -d lib/readline/ -s -p0 < $p
done
@@ -141,11 +147,13 @@
%patch20 -p0
%build
- LC_ALL=C
+ LANG=POSIX
+ LC_ALL=$LANG
+ unset LC_CTYPE
CPU=$(uname -m 2> /dev/null)
HOSTTYPE=${CPU}
MACHTYPE=${CPU}-suse-linux
- export LC_ALL POSIX HOSTTYPE MACHTYPE
+ export LANG LC_ALL HOSTTYPE MACHTYPE
cd ../readline-%{rl_vers}
%{?suse_update_config:%{suse_update_config -f support}}
CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -pipe -g"
@@ -318,6 +326,8 @@
%doc %{_mandir}/man3/readline.3.gz
%changelog -n bash
+* Thu Dec 14 2006 - werner(a)suse.de
+- Update to bash 3.2 patch level 9
* Wed Dec 06 2006 - schwab(a)suse.de
- Remove obsolete patches.
* Fri Nov 17 2006 - werner(a)suse.de
++++++ bash-3.2-patches.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.2-patches/bash32-006 new/bash-3.2-patches/bash32-006
--- old/bash-3.2-patches/bash32-006 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-3.2-patches/bash32-006 2006-12-12 21:38:00.000000000 +0100
@@ -0,0 +1,45 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-006
+
+Bug-Reported-by: ebb9(a)byu.net
+Bug-Reference-ID: <45540862.9030900(a)byu.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html
+ http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html
+
+Bug-Description:
+
+In some cases, code that is intended to be used in the presence of multibyte
+characters is called when no such characters are present, leading to incorrect
+display position calculations and incorrect redisplay.
+
+Patch:
+
+*** ../bash-3.2-patched/lib/readline/display.c Thu Sep 14 14:20:12 2006
+--- lib/readline/display.c Mon Nov 13 17:55:57 2006
+***************
+*** 2381,2384 ****
+--- 2409,2414 ----
+ if (end <= start)
+ return 0;
++ if (MB_CUR_MAX == 1 || rl_byte_oriented)
++ return (end - start);
+
+ memset (&ps, 0, sizeof (mbstate_t));
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- patchlevel.h Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.2-patches/bash32-007 new/bash-3.2-patches/bash32-007
--- old/bash-3.2-patches/bash32-007 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-3.2-patches/bash32-007 2006-12-12 21:25:00.000000000 +0100
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-007
+
+Bug-Reported-by: jidanni(a)jidanni.org
+Bug-Reference-ID: <E1Gkg12-00017D-Fm(a)jidanni.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00039.html
+
+Bug-Description:
+
+When removing the current or previous job from the jobs list, bash incorrectly
+resets the current job under some circumstances.
+
+Patch:
+
+*** ../bash-3.2-patched/jobs.c Sat Jul 29 16:40:48 2006
+--- jobs.c Fri Nov 24 14:50:01 2006
+***************
+*** 985,990 ****
+ if (temp == 0)
+ return;
+- if (job_index == js.j_current || job_index == js.j_previous)
+- reset_current ();
+
+ if ((dflags & DEL_NOBGPID) == 0)
+--- 985,988 ----
+***************
+*** 1029,1032 ****
+--- 1027,1033 ----
+ else if (jobs[js.j_firstj] == 0 || jobs[js.j_lastj] == 0)
+ reset_job_indices ();
++
++ if (job_index == js.j_current || job_index == js.j_previous)
++ reset_current ();
+ }
+
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- patchlevel.h Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.2-patches/bash32-008 new/bash-3.2-patches/bash32-008
--- old/bash-3.2-patches/bash32-008 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-3.2-patches/bash32-008 2006-12-12 21:37:00.000000000 +0100
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-008
+
+Bug-Reported-by: Linda Walsh <bash(a)tlinx.org>
+Bug-Reference-ID: <456041FD.8000605(a)tlinx.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00040.html
+
+Bug-Description:
+
+When checking pathnames from the command hash table (e.g., when the `checkhash'
+shell option is enabled), a bug causes bash to delete and re-lookup each
+command.
+
+Patch:
+
+*** ../bash-3.2-patched/findcmd.c Wed Aug 17 16:49:54 2005
+--- findcmd.c Fri Nov 24 10:48:37 2006
+***************
+*** 309,313 ****
+ {
+ st = file_status (hashed_file);
+! if ((st ^ (FS_EXISTS | FS_EXECABLE)) != 0)
+ {
+ phash_remove (pathname);
+--- 309,313 ----
+ {
+ st = file_status (hashed_file);
+! if ((st & (FS_EXISTS|FS_EXECABLE)) != (FS_EXISTS|FS_EXECABLE))
+ {
+ phash_remove (pathname);
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- patchlevel.h Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/bash-3.2-patches/bash32-009 new/bash-3.2-patches/bash32-009
--- old/bash-3.2-patches/bash32-009 1970-01-01 01:00:00.000000000 +0100
+++ new/bash-3.2-patches/bash32-009 2006-12-12 21:37:00.000000000 +0100
@@ -0,0 +1,61 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 3.2
+Patch-ID: bash32-009
+
+Bug-Reported-by: James.M.Botte(a)lowes.com
+Bug-Reference-ID: <BA9FF90F7E5B424998F98EDA9F1F94BE01FA9853(a)msexchdb01.lowes.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-12/msg00000.html
+
+Bug-Description:
+
+When using its built-in replacement for snprintf/asprintf, bash does not
+treat the %x, %X, and %o format specifiers as unsigned numbers.
+
+Patch:
+
+*** ../bash-3.2-patched/lib/sh/snprintf.c Mon Nov 13 08:58:52 2006
+--- lib/sh/snprintf.c Wed Dec 6 11:15:04 2006
+***************
+*** 669,673 ****
+
+ sd = d; /* signed for ' ' padding in base 10 */
+! flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
+ if (*p->pf == 'X')
+ flags |= FL_HEXUPPER;
+--- 674,679 ----
+
+ sd = d; /* signed for ' ' padding in base 10 */
+! flags = 0;
+! flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
+ if (*p->pf == 'X')
+ flags |= FL_HEXUPPER;
+***************
+*** 739,743 ****
+
+ sd = d; /* signed for ' ' padding in base 10 */
+! flags = (*p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
+ if (*p->pf == 'X')
+ flags |= FL_HEXUPPER;
+--- 745,749 ----
+
+ sd = d; /* signed for ' ' padding in base 10 */
+! flags = (*p->pf == 'x' || *p->pf == 'X' || *p->pf == 'o' || *p->pf == 'u' || *p->pf == 'U') ? FL_UNSIGNED : 0;
+ if (*p->pf == 'X')
+ flags |= FL_HEXUPPER;
+*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
+--- patchlevel.h Mon Oct 16 14:22:54 2006
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
++++++ bash-3.2.dif ++++++
--- /var/tmp/diff_new_pack.x4rv6b/_old 2006-12-15 18:02:58.000000000 +0100
+++ /var/tmp/diff_new_pack.x4rv6b/_new 2006-12-15 18:02:58.000000000 +0100
@@ -1,19 +1,18 @@
--- .pkgextract
+++ .pkgextract 2006-03-27 14:15:25.000000000 +0200
-@@ -0,0 +1,16 @@
+@@ -0,0 +1,14 @@
+tar Oxfj ../bash-3.2-patches.tar.bz2 | patch -p0 -s
+patch -p0 -s --suffix=".manual" < ../bash-2.03-manual.patch
+patch -p0 -s --suffix=".security" < ../bash-2.05a-security.patch
+patch -p0 -s --suffix=".2.4.4" < ../bash-3.2-2.4.4.patch
-+patch -p0 -s --suffix=".directory"< ../bash-3.1-directory.patch
+patch -p0 -s --suffix=".evalexp" < ../bash-3.0-evalexp.patch
+patch -p0 -s --suffix=".warnlc" < ../bash-3.0-warn-locale.patch
+patch -p0 -s --suffix=".nfs_redir"< ../bash-3.0-nfs_redir.patch
+patch -p0 -s --suffix=".decl" < ../bash-3.0-decl.patch
+patch -p1 -s --suffix=".random2" < ../bash-3.1-random.patch
+patch -p0 -s --suffix=".equote" < ../bash-3.1-extended_quote.patch
-+patch -p0 -s --suffix=".wcschr" < ../bash-3.2-wcschr.dif
-+patch -p0 -s --suffix=".loadable" < ../bash-3.1-loadables.dif
++patch -p0 -s --suffix=".printf" < ../bash-3.2-printf.patch
++patch -p0 -s --suffix=".plugins" < ../bash-3.1-loadables.dif
+patch -p0 -s --suffix=".zerotty" < ../readline-4.3-input.dif
+patch -p0 -s --suffix=".wrap" < ../readline-5.2-wrap.patch
+patch -p0 -s --suffix=".conf" < ../readline-5.2-conf.patch
++++++ readline-5.2-patches.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/readline-5.2-patches/readline52-001 new/readline-5.2-patches/readline52-001
--- old/readline-5.2-patches/readline52-001 1970-01-01 01:00:00.000000000 +0100
+++ new/readline-5.2-patches/readline52-001 2006-12-12 21:25:00.000000000 +0100
@@ -0,0 +1,30 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 5.2
+Patch-ID: readline52-001
+
+Bug-Reported-by: ebb9(a)byu.net
+Bug-Reference-ID: <45540862.9030900(a)byu.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00017.html
+ http://lists.gnu.org/archive/html/bug-bash/2006-11/msg00016.html
+
+Bug-Description:
+
+In some cases, code that is intended to be used in the presence of multibyte
+characters is called when no such characters are present, leading to incorrect
+display position calculations and incorrect redisplay.
+
+Patch:
+
+*** ../readline-5.2/display.c Thu Sep 14 14:20:12 2006
+--- display.c Mon Nov 13 17:55:57 2006
+***************
+*** 2381,2384 ****
+--- 2409,2414 ----
+ if (end <= start)
+ return 0;
++ if (MB_CUR_MAX == 1 || rl_byte_oriented)
++ return (end - start);
+
+ memset (&ps, 0, sizeof (mbstate_t));
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 diald
checked in at Thu Dec 14 18:08:31 CET 2006.
--------
--- diald/diald.changes 2006-01-25 21:35:28.000000000 +0100
+++ /mounts/work_src_done/STABLE/diald/diald.changes 2006-12-14 17:39:06.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 17:38:56 CET 2006 - prusnak(a)suse.cz
+
+- moved assignement out of the FD_SET macro (fd_set.diff)
+
+-------------------------------------------------------------------
New:
----
diald-1.0-fd_set.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ diald.spec ++++++
--- /var/tmp/diff_new_pack.vE3wNa/_old 2006-12-14 18:07:00.000000000 +0100
+++ /var/tmp/diff_new_pack.vE3wNa/_new 2006-12-14 18:07:00.000000000 +0100
@@ -5,7 +5,7 @@
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://bugs.opensuse.org
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
@@ -13,12 +13,12 @@
Name: diald
BuildRequires: pam-devel tcpd-devel
%define diald_top diald-top-2.1pl4
-License: BSD
+License: BSD License and BSD-like
Group: Hardware/Modem
Autoreqprov: on
Requires: iproute2
Version: 1.0
-Release: 364
+Release: 396
Summary: Automatic Dialer for PPP and SLIP
URL: http://diald.sourceforge.net/
Source0: %{name}-%{version}.tar.bz2
@@ -27,17 +27,18 @@
Patch0: %{name}-%{version}.diff
Patch1: %{name}-%{version}-type.diff
Patch2: %{diald_top}.diff
-Patch3: %name-1.0-uninit-unused.diff
-Patch4: %name-1.0-decl.diff
-Patch5: %name-CLK_TCK.diff
+Patch3: %{name}-%{version}-uninit-unused.diff
+Patch4: %{name}-%{version}-decl.diff
+Patch5: %{name}-CLK_TCK.diff
+Patch6: %{name}-%{version}-fd_set.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: sh-utils fileutils %insserv_prereq %fillup_prereq
%description
The demand dialing daemon for SLIP and PPP links. It supports demand
-dialed links with link timeouts and re-dialing.
+dialed links with link time-outs and redialing.
-Homepage: http://diald.sourceforge.net/
+Home page: http://diald.sourceforge.net/
FAQ: http://diald.sourceforge.net/FAQ/diald-faq.html
@@ -60,6 +61,7 @@
%patch2
%patch3 -p2
%patch4 -p2
+%patch6 -p2
%build
cd %{name}-%{version}
@@ -135,6 +137,8 @@
%config /etc/init.d/diald
%changelog -n diald
+* Thu Dec 14 2006 - prusnak(a)suse.cz
+- moved assignement out of the FD_SET macro (fd_set.diff)
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Fri Jan 20 2006 - schwab(a)suse.de
++++++ diald-1.0-fd_set.diff ++++++
--- diald/diald-top-2.1pl4/client/diald-top.c
+++ diald/diald-top-2.1pl4/client/diald-top.c
@@ -113,7 +113,8 @@
quit = 0;
FD_ZERO(&fd_ctl);
FD_SET(0, &fd_ctl);
- FD_SET(fd_yyin = fileno(yyin), &fd_ctl);
+ fd_yyin = fileno(yyin);
+ FD_SET(fd_yyin, &fd_ctl);
signal(SIGTERM, handlesig);
signal(SIGINT, handlesig);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 python-gammu
checked in at Thu Dec 14 18:06:51 CET 2006.
--------
--- python-gammu/python-gammu.changes 2006-10-18 01:19:47.000000000 +0200
+++ /mounts/work_src_done/STABLE/python-gammu/python-gammu.changes 2006-12-14 17:42:58.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Dec 14 17:42:53 CET 2006 - prusnak(a)suse.cz
+
+- update to 0.16
+ * Support for recent gammu versions
+
+-------------------------------------------------------------------
@@ -4 +10 @@
-- make it even start
+- make it even start
Old:
----
python-gammu-0.15.tar.bz2
python-gammu.dif
New:
----
python-gammu-0.16.tar.bz2
python-gammu.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-gammu.spec ++++++
--- /var/tmp/diff_new_pack.6rSe8j/_old 2006-12-14 18:06:25.000000000 +0100
+++ /var/tmp/diff_new_pack.6rSe8j/_new 2006-12-14 18:06:25.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package python-gammu (Version 0.15)
+# spec file for package python-gammu (Version 0.16)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,16 +12,16 @@
Name: python-gammu
BuildRequires: gammu-devel python-devel
-Version: 0.15
+Version: 0.16
Release: 1
Requires: python-gammu python-wxGTK
Autoreqprov: on
Group: Development/Libraries/Python
-License: GNU General Public License (GPL) - all versions
+License: GNU General Public License (GPL)
URL: http://www.cihar.com/gammu/python/
Summary: Python Module to Communicate with Mobile Phones
Source0: %{name}-%{version}.tar.bz2
-Patch: python-gammu.dif
+Patch0: %{name}.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%{py_requires}
@@ -37,7 +37,7 @@
%prep
%setup -q
-%patch
+%patch0
%build
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
@@ -54,6 +54,9 @@
%doc AUTHORS COPYING README NEWS
%changelog -n python-gammu
+* Thu Dec 14 2006 - prusnak(a)suse.cz
+- update to 0.16
+ * Support for recent gammu versions
* Wed Oct 18 2006 - ro(a)suse.de
- make it even start
* Tue Oct 17 2006 - ro(a)suse.de
++++++ python-gammu-0.15.tar.bz2 -> python-gammu-0.16.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/INSTALL new/python-gammu-0.16/INSTALL
--- old/python-gammu-0.15/INSTALL 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/INSTALL 2006-11-16 11:16:20.000000000 +0100
@@ -2,19 +2,22 @@
=========================
-UNIX systems
-------------
+UNIX systems - installation from sources
+----------------------------------------
-First you need Gammu installed as shared library and with header files. You
-can use either packages for your favourite distribution or do it by hand
-(replace XXX by current gammu version):
-
-> tar xfj gammu-XXX.tar.bz2
-> cd gammu-XXX
-> ./configure --prefix=/usr
-> make share
-> su
-# make installshared
+First you need Gammu installed as shared library and with header files.
+
+1. Download recent Gammu sources from <http://www.gammu.org/>.
+2. Unpack it:
+ > tar xfj gammu-XXX.tar.bz2
+3. Configure (you might want to tweak configure parameters):
+ > cd gammu-XXX
+ > ./configure --prefix=/usr
+4. Build as shared library:
+ > make share
+ > su
+5. Install as shared library:
+ # make installshared
For finding gammu libraries, pkg-config is used, so please install it also.
@@ -46,6 +49,6 @@
where static library you built before is placed and GAMMU_INC to
directory with sources (common subdirectory from gammu source tarball).
-Now you can layunch build of python-gammu module.
+Now you can launch build of python-gammu module.
Alternatively there will be prebuilt modules on python-gammu web site.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/Makefile new/python-gammu-0.16/Makefile
--- old/python-gammu-0.15/Makefile 1970-01-01 01:00:00.000000000 +0100
+++ new/python-gammu-0.16/Makefile 2006-09-21 08:46:57.000000000 +0200
@@ -0,0 +1,13 @@
+all: setup.py
+ python setup.py build
+
+clean: setup.py
+ python setup.py clean
+
+install: setup.py
+ python setup.py install
+
+dist: setup.py
+ python setup.py sdist --formats=gztar,bztar,zip
+
+.PHONY: all clean install dist
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/NEWS new/python-gammu-0.16/NEWS
--- old/python-gammu-0.15/NEWS 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/NEWS 2006-12-04 22:41:14.000000000 +0100
@@ -4,6 +4,11 @@
Major changes for each release are described here. Detailed changes between
two versions can be retrieved from GNU Arch.
+0.16
+==== (2006-12-04)
+
+* Support for recent gammu versions.
+
0.15
==== (2006-09-20)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/PKG-INFO new/python-gammu-0.16/PKG-INFO
--- old/python-gammu-0.15/PKG-INFO 2006-09-20 08:12:19.000000000 +0200
+++ new/python-gammu-0.16/PKG-INFO 2006-12-04 22:43:22.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: python-gammu
-Version: 0.15
+Version: 0.16
Summary: Gammu bindings
Home-page: http://cihar.com/gammu/python
Author: Michal Čihař
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/convertors/calendar.c new/python-gammu-0.16/convertors/calendar.c
--- old/python-gammu-0.15/convertors/calendar.c 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/convertors/calendar.c 2006-11-16 11:12:27.000000000 +0100
@@ -136,7 +136,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "START_DATETIME", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "START_DATETIME", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
case CAL_END_DATETIME:
@@ -156,7 +156,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "END_DATETIME", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "END_DATETIME", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
case CAL_TONE_ALARM_DATETIME:
@@ -165,7 +165,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "TONE_ALARM_DATETIME", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "TONE_ALARM_DATETIME", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
case CAL_SILENT_ALARM_DATETIME:
@@ -174,7 +174,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "SILENT_ALARM_DATETIME", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "SILENT_ALARM_DATETIME", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
case CAL_REPEAT_STARTDATE:
@@ -183,7 +183,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "REPEAT_STARTDATE", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "REPEAT_STARTDATE", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
case CAL_REPEAT_STOPDATE:
@@ -192,7 +192,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:O}", "Type", "REPEAT_STOPDATE", "Value", d);
+ f = Py_BuildValue("{s:s,s:O,s:i}", "Type", "REPEAT_STOPDATE", "Value", d, "AddError", (int)entry->Entries[i].AddError);
Py_DECREF(d);
break;
@@ -202,7 +202,25 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:u}", "Type", "TEXT", "Value", s);
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", "TEXT", "Value", s, "AddError", (int)entry->Entries[i].AddError);
+ free(s);
+ break;
+ case CAL_DESCRIPTION:
+ s = strGammuToPython(entry->Entries[i].Text);
+ if (s == NULL) {
+ Py_DECREF(v);
+ return NULL;
+ }
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", "DESCRIPTION", "Value", s, "AddError", (int)entry->Entries[i].AddError);
+ free(s);
+ break;
+ case CAL_LUID:
+ s = strGammuToPython(entry->Entries[i].Text);
+ if (s == NULL) {
+ Py_DECREF(v);
+ return NULL;
+ }
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", "LUID", "Value", s, "AddError", (int)entry->Entries[i].AddError);
free(s);
break;
case CAL_LOCATION:
@@ -211,7 +229,7 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:u}", "Type", "LOCATION", "Value", s);
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", "LOCATION", "Value", s, "AddError", (int)entry->Entries[i].AddError);
free(s);
break;
case CAL_PHONE:
@@ -220,30 +238,30 @@
Py_DECREF(v);
return NULL;
}
- f = Py_BuildValue("{s:s,s:u}", "Type", "PHONE", "Value", s);
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", "PHONE", "Value", s, "AddError", (int)entry->Entries[i].AddError);
free(s);
break;
case CAL_PRIVATE:
- f = Py_BuildValue("{s:s,s:i}", "Type", "PRIVATE", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "PRIVATE", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_CONTACTID:
- f = Py_BuildValue("{s:s,s:i}", "Type", "CONTACTID", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "CONTACTID", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_REPEAT_DAYOFWEEK:
- f = Py_BuildValue("{s:s,s:i}", "Type", "REPEAT_DAYOFWEEK", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "REPEAT_DAYOFWEEK", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_REPEAT_DAY:
- f = Py_BuildValue("{s:s,s:i}", "Type", "REPEAT_DAY", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "REPEAT_DAY", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_REPEAT_WEEKOFMONTH:
- f = Py_BuildValue("{s:s,s:i}", "Type", "REPEAT_WEEKOFMONTH", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "REPEAT_WEEKOFMONTH", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_REPEAT_MONTH:
- f = Py_BuildValue("{s:s,s:i}", "Type", "REPEAT_MONTH", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "REPEAT_MONTH", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
case CAL_REPEAT_FREQUENCY:
- f = Py_BuildValue("{s:s,s:i}", "Type", "REPEAT_FREQUENCY", "Value", entry->Entries[i].Number);
+ f = Py_BuildValue("{s:s,s:i,s:i}", "Type", "REPEAT_FREQUENCY", "Value", entry->Entries[i].Number, "AddError", (int)entry->Entries[i].AddError);
break;
}
@@ -358,6 +376,12 @@
} else if (strcmp("TEXT", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = CAL_TEXT;
+ } else if (strcmp("DESCRIPTION", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = CAL_DESCRIPTION;
+ } else if (strcmp("LUID", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = CAL_LUID;
} else if (strcmp("LOCATION", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = CAL_LOCATION;
@@ -410,6 +434,14 @@
if (entry->Entries[i].Date.Year == -1) return 0;
break;
}
+
+ /* Get AddError flag */
+ entry->Entries[i].AddError = GetIntFromDict(item, "AddError");
+ if (entry->Entries[i].AddError == INT_INVALID) {
+ entry->Entries[i].AddError = ERR_NONE;
+ PyErr_Clear();
+ }
+
} /* end for */
return 1;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/convertors/memory.c new/python-gammu-0.16/convertors/memory.c
--- old/python-gammu-0.15/convertors/memory.c 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/convertors/memory.c 2006-11-16 11:09:26.000000000 +0100
@@ -28,7 +28,7 @@
Py_DECREF(v); \
return NULL; \
} \
- f = Py_BuildValue("{s:s,s:u}", "Type", name, "Value", s); \
+ f = Py_BuildValue("{s:s,s:u,s:i}", "Type", name, "Value", s, "AddError", (int)entry->Entries[i].AddError); \
free(s);
#define convert_number(name) \
@@ -158,6 +158,9 @@
case PBK_Text_Custom4:
convert_text("Text_Custom4");
break;
+ case PBK_Text_LUID:
+ convert_text("Text_LUID");
+ break;
case PBK_Text_UserID:
convert_text("Text_UserID");
break;
@@ -279,6 +282,13 @@
PyErr_Clear();
}
+ /* Get AddError flag */
+ entry->Entries[i].AddError = GetIntFromDict(item, "AddError");
+ if (entry->Entries[i].AddError == INT_INVALID) {
+ entry->Entries[i].AddError = ERR_NONE;
+ PyErr_Clear();
+ }
+
if (strcmp("Number_General", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = PBK_Number_General;
@@ -369,6 +379,9 @@
} else if (strcmp("Text_Custom4", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = PBK_Text_Custom4;
+ } else if (strcmp("Text_LUID", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = PBK_Text_LUID;
} else if (strcmp("Text_UserID", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = PBK_Text_UserID;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/convertors/todo.c new/python-gammu-0.16/convertors/todo.c
--- old/python-gammu-0.15/convertors/todo.c 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/convertors/todo.c 2006-11-15 08:47:05.000000000 +0100
@@ -63,6 +63,7 @@
int i;
Py_UNICODE *s;
char *p;
+ char *t;
v = PyList_New(0);
if (v == NULL) return NULL;
@@ -106,6 +107,33 @@
f = Py_BuildValue("{s:s,s:u}", "Type", "TEXT", "Value", s);
free(s);
break;
+ case TODO_LOCATION:
+ s = strGammuToPython(entry->Entries[i].Text);
+ if (s == NULL) {
+ Py_DECREF(v);
+ return NULL;
+ }
+ f = Py_BuildValue("{s:s,s:u}", "Type", "LOCATION", "Value", s);
+ free(s);
+ break;
+ case TODO_DESCRIPTION:
+ s = strGammuToPython(entry->Entries[i].Text);
+ if (s == NULL) {
+ Py_DECREF(v);
+ return NULL;
+ }
+ f = Py_BuildValue("{s:s,s:u}", "Type", "DESCRIPTION", "Value", s);
+ free(s);
+ break;
+ case TODO_LUID:
+ s = strGammuToPython(entry->Entries[i].Text);
+ if (s == NULL) {
+ Py_DECREF(v);
+ return NULL;
+ }
+ f = Py_BuildValue("{s:s,s:u}", "Type", "LUID", "Value", s);
+ free(s);
+ break;
case TODO_COMPLETED:
f = Py_BuildValue("{s:s,s:i}", "Type", "COMPLETED", "Value", entry->Entries[i].Number);
break;
@@ -154,12 +182,21 @@
return NULL;
}
- r = Py_BuildValue("{s:i,s:s,s:O}",
+ t = CalendarTypeToString(entry->Type);
+ if (t == NULL) {
+ free(p);
+ Py_DECREF(v);
+ return NULL;
+ }
+
+ r = Py_BuildValue("{s:i,s:s,s:s,s:O}",
"Location", entry->Location,
+ "Type", t,
"Priority", p,
"Entries", v
);
free(p);
+ free(t);
Py_DECREF(v);
return r;
}
@@ -170,6 +207,7 @@
int len;
int i;
char *p;
+ char *t;
char *type;
char valuetype;
@@ -185,6 +223,11 @@
if (entry->Location == INT_INVALID) return 0;
}
+ t = GetCharFromDict(dict, "Type");
+ if (t == NULL) return 0;
+ entry->Type = StringToCalendarType(t);
+ if (entry->Type == 0) return 0;
+
p = GetCharFromDict(dict, "Priority");
if (p == NULL) return 0;
entry->Priority = StringToTodoPriority(p);
@@ -230,6 +273,15 @@
} else if (strcmp("SILENT_ALARM_DATETIME", type) == 0) {
valuetype = 'd';
entry->Entries[i].EntryType = TODO_SILENT_ALARM_DATETIME;
+ } else if (strcmp("LUID", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = TODO_LUID;
+ } else if (strcmp("LOCATION", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = TODO_LOCATION;
+ } else if (strcmp("DESCRIPTION", type) == 0) {
+ valuetype = 't';
+ entry->Entries[i].EntryType = TODO_DESCRIPTION;
} else if (strcmp("TEXT", type) == 0) {
valuetype = 't';
entry->Entries[i].EntryType = TODO_TEXT;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/convertors.h new/python-gammu-0.16/convertors.h
--- old/python-gammu-0.15/convertors.h 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/convertors.h 2006-11-15 08:43:07.000000000 +0100
@@ -260,6 +260,16 @@
int TodoFromPython(PyObject *dict, GSM_ToDoEntry *entry, int needs_location);
/**
+ * Convert calendar type to string.
+ */
+char *CalendarTypeToString(GSM_CalendarNoteType p);
+
+/**
+ * Convert string to calendar type.
+ */
+GSM_CalendarNoteType StringToCalendarType(const char *s);
+
+/**
* Converts Calendar to Python object.
*/
PyObject *CalendarToPython(const GSM_CalendarEntry *entry);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/errors.c new/python-gammu-0.16/errors.c
--- old/python-gammu-0.15/errors.c 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/errors.c 2006-11-16 11:01:22.000000000 +0100
@@ -175,6 +175,7 @@
if (id == NULL)\
return 0;\
PyDict_SetItemString(error_list, "" #x, id); \
+ PyDict_SetItem(errornumber_list, id, PyString_FromString("" #x)); \
Py_DECREF(id); \
/* End of macro */
@@ -182,12 +183,16 @@
int gammu_create_errors(PyObject *d) {
PyObject *help_text;
PyObject *error_list;
+ PyObject *errornumber_list;
PyObject *id;
/* Prepare dict for error codes */
error_list = PyDict_New();
if (error_list == NULL)
return 0;
+ errornumber_list = PyDict_New();
+ if (errornumber_list == NULL)
+ return 0;
GammuError = PyErr_NewException("gammu.GSMError", NULL, NULL);
if (GammuError == NULL)
@@ -254,5 +259,8 @@
PyDict_SetItemString(d, "Errors", error_list);
Py_DECREF(error_list);
+ PyDict_SetItemString(d, "ErrorNumbers", errornumber_list);
+ Py_DECREF(errornumber_list);
+
return 1;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/examples/bakup-convertor.py new/python-gammu-0.16/examples/bakup-convertor.py
--- old/python-gammu-0.15/examples/bakup-convertor.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-gammu-0.16/examples/bakup-convertor.py 2006-11-06 23:16:15.000000000 +0100
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+import gammu
+
+import sys
+if len(sys.argv) != 3:
+ print 'This requires two parameter with file names! First is input, second output.'
+ sys.exit(1)
+
+backup = gammu.ReadBackup(sys.argv[1])
+gammu.SaveBackup(sys.argv[2], backup)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/examples/batteryinfo.py new/python-gammu-0.16/examples/batteryinfo.py
--- old/python-gammu-0.15/examples/batteryinfo.py 1970-01-01 01:00:00.000000000 +0100
+++ new/python-gammu-0.16/examples/batteryinfo.py 2006-11-15 14:45:17.000000000 +0100
@@ -0,0 +1,15 @@
+#!/usr/bin/env python
+
+import gammu
+
+sm = gammu.StateMachine()
+sm.ReadConfig()
+sm.Init()
+
+import sys
+
+status = sm.GetBatteryCharge()
+
+for x in status:
+ if status[x] != -1:
+ print "%20s: %s" % (x, status[x])
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/gammu.c new/python-gammu-0.16/gammu.c
--- old/python-gammu-0.15/gammu.c 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/gammu.c 2006-11-23 21:32:44.000000000 +0100
@@ -209,8 +209,10 @@
if (sm == NULL) return;
sm->MessageReference = mr;
- if (status==0) {
+ if (status == 0) {
sm->SMSStatus = ERR_NONE;
+ } else if (status == 322) {
+ sm->SMSStatus = ERR_FULL;
} else {
sm->SMSStatus = ERR_UNKNOWN;
}
@@ -1658,13 +1660,23 @@
switch (bat.ChargeState) {
case GSM_BatteryPowered: buffer = "BatteryPowered"; break;
case GSM_BatteryConnected: buffer = "BatteryConnected"; break;
+ case GSM_BatteryCharging: buffer = "BatteryCharging"; break;
+ case GSM_BatteryFull: buffer = "BatteryFull"; break;
case GSM_BatteryNotConnected: buffer = "BatteryNotConnected"; break;
case GSM_PowerFault: buffer = "PowerFault"; break;
}
- return Py_BuildValue("{s:i,s:s}",
+ return Py_BuildValue("{s:i,s:s,s:i,s:i,s:i,s:i,s:i,s:i,s:i}",
"BatteryPercent", bat.BatteryPercent,
- "ChargeState", buffer);
+ "ChargeState", buffer,
+ "BatteryVoltage", bat.BatteryVoltage,
+ "ChargeVoltage", bat.ChargeVoltage,
+ "ChargeCurrent", bat.ChargeCurrent,
+ "PhoneCurrent", bat.PhoneCurrent,
+ "BatteryTemperature", bat.BatteryTemperature,
+ "PhoneTemperature", bat.PhoneTemperature,
+ "BatteryCapacity", bat.BatteryCapacity
+ );
}
/********************/
@@ -2618,7 +2630,7 @@
BEGIN_PHONE_COMM
GSM_ReadDevice(&(self->s), true);
END_PHONE_COMM
- if (self->SMSStatus == ERR_UNKNOWN || i == 100) {
+ if (self->SMSStatus == ERR_FULL || self->SMSStatus == ERR_UNKNOWN || i == 100) {
if (!checkError(&(self->s), self->SMSStatus, "SendSMS")) {
return NULL;
}
@@ -2666,7 +2678,7 @@
BEGIN_PHONE_COMM
GSM_ReadDevice(&(self->s),true);
END_PHONE_COMM
- if (self->SMSStatus == ERR_UNKNOWN || i == 100) {
+ if (self->SMSStatus == ERR_FULL || self->SMSStatus == ERR_UNKNOWN || i == 100) {
if (!checkError(&(self->s), self->SMSStatus, "SendSavedSMS")) {
return NULL;
}
@@ -3531,7 +3543,7 @@
if (!checkError(&(self->s), error, "GetToDoStatus")) return NULL;
- return Py_BuildValue("{s:i}", "Used", status.Used);
+ return Py_BuildValue("{s:i,s:i}", "Used", status.Used, "Free", status.Free);
}
/***********/
@@ -3796,7 +3808,7 @@
if (!checkError(&(self->s), error, "GetCalendarStatus")) return NULL;
- return Py_BuildValue("{s:i}", "Used", status.Used);
+ return Py_BuildValue("{s:i,s:i}", "Used", status.Used, "Free", status.Free);
}
/***************/
@@ -4585,7 +4597,12 @@
if (!checkError(&(self->s), error, "GetFileSystemStatus")) return NULL;
- return Py_BuildValue("{s:i,s:i}", "Used", Status.Used, "Free", Status.Free);
+ return Py_BuildValue("{s:i,s:i,s:i,s:i,s:i}",
+ "Used", Status.Used,
+ "Free", Status.Free,
+ "UsedImages", Status.UsedImages,
+ "UsedThemes", Status.UsedThemes,
+ "UsedSounds", Status.UsedSounds);
}
/**************/
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/python-gammu.spec new/python-gammu-0.16/python-gammu.spec
--- old/python-gammu-0.15/python-gammu.spec 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/python-gammu.spec 2006-12-04 22:35:37.000000000 +0100
@@ -1,5 +1,5 @@
%define name python-gammu
-%define version 0.15
+%define version 0.16
%define release 1
Summary: Python module to communicate with mobile phones
@@ -15,7 +15,7 @@
%endif
Packager: Michal Cihar <michal(a)cihar.com>
Vendor: Michal Cihar <michal(a)cihar.com>
-BuildRequires: gammu-devel >= 1.08.00
+BuildRequires: gammu-devel >= 1.08.16
Url: http://cihar.com/gammu/wammu
Buildroot: %{_tmppath}/%name-%version-root
%py_requires -d
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/python-gammu-0.15/setup.py new/python-gammu-0.16/setup.py
--- old/python-gammu-0.15/setup.py 2006-09-20 08:11:54.000000000 +0200
+++ new/python-gammu-0.16/setup.py 2006-11-15 10:20:12.000000000 +0100
@@ -29,7 +29,7 @@
# some defines
MAJOR_VERSION = 0
-MINOR_VERSION = 15
+MINOR_VERSION = 16
EXTRA_VERSION = None
if EXTRA_VERSION == None:
@@ -37,7 +37,7 @@
else:
VERSION = '%d.%d.%d' % (MAJOR_VERSION, MINOR_VERSION, EXTRA_VERSION)
-GAMMU_REQUIRED = (1,8,0)
+GAMMU_REQUIRED = (1,8,16)
PYTHON_REQUIRED = (2,3)
GAMMU_LIB = os.getenv('GAMMU_LIB')
++++++ python-gammu.diff ++++++
--- errors.c
+++ errors.c
@@ -163,12 +163,12 @@
}
#define CREATE_ERROR(x) \
- Py##x = PyErr_NewException("gammu." #x, GammuError, NULL);\
+ help_text = PyString_FromFormat("Exception corresponding to gammu error " #x ".\nVerbose error description: %s", print_error(x, NULL, 0)); \
+ exc_d = PyDict_New(); \
+ PyDict_SetItemString(exc_d, "__doc__", help_text); \
+ Py##x = PyErr_NewException("gammu." #x, GammuError, exc_d);\
if (Py##x == NULL)\
return 0;\
- help_text = PyString_FromFormat("Exception corresponding to gammu error " #x ".\nVerbose error description: %s", print_error(x, NULL, 0)); \
- PyObject_SetAttrString(Py##x, "__doc__", help_text); \
- Py_DECREF(help_text); \
PyDict_SetItemString(d, "" #x, Py##x); \
Py_DECREF(Py##x); \
id = PyInt_FromLong(x); \
@@ -185,6 +185,7 @@
PyObject *error_list;
PyObject *errornumber_list;
PyObject *id;
+ PyObject *exc_d;
/* Prepare dict for error codes */
error_list = PyDict_New();
@@ -194,12 +195,12 @@
if (errornumber_list == NULL)
return 0;
- GammuError = PyErr_NewException("gammu.GSMError", NULL, NULL);
+ exc_d = PyDict_New(); \
+ help_text = PyString_FromString("Generic class as parent for all gammu exceptions. This is never raised directly.");
+ PyDict_SetItemString(exc_d, "__doc__", help_text); \
+ GammuError = PyErr_NewException("gammu.GSMError", NULL, exc_d);
if (GammuError == NULL)
return 0;
- help_text = PyString_FromString("Generic class as parent for all gammu exceptions. This is never raised directly.");
- PyObject_SetAttrString(GammuError, "__doc__", help_text);
- Py_DECREF(help_text);
PyDict_SetItemString(d, "GSMError", GammuError);
Py_DECREF(GammuError);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 sysvinit
checked in at Thu Dec 14 18:05:57 CET 2006.
--------
--- sysvinit/sysvinit.changes 2006-08-22 15:51:06.000000000 +0200
+++ /mounts/work_src_done/STABLE/sysvinit/sysvinit.changes 2006-12-14 16:26:42.000000000 +0100
@@ -1,0 +2,8 @@
+Thu Dec 14 13:43:12 CET 2006 - werner(a)suse.de
+
+- New killproc 2.12 with new option -N better handling for NFS
+ based programs which is not to stat(2) the binary with -N
+- Make killall5 and pidof not to stat(2) binaries which are
+ loacted on NFS partitions (#224563)
+
+-------------------------------------------------------------------
Old:
----
killproc-2.11.dif
killproc-2.11.tar.bz2
New:
----
killproc-2.12.dif
killproc-2.12.tar.bz2
sysvinit-2.86-nfs4pidof.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysvinit.spec ++++++
--- /var/tmp/diff_new_pack.vnpGRH/_old 2006-12-14 18:05:47.000000000 +0100
+++ /var/tmp/diff_new_pack.vnpGRH/_new 2006-12-14 18:05:47.000000000 +0100
@@ -13,27 +13,28 @@
Name: sysvinit
%define MGVER 0.9.6s
%define PDVER 2.0.2
-%define KPVER 2.11
+%define KPVER 2.12
%define SCVER 1.08
%define SIVER 2.86
%define START 0.49
-License: GPL, Other License(s), see package
+License: GNU General Public License (GPL), Other License(s), see package
Group: System/Base
PreReq: coreutils
Autoreqprov: on
Version: 2.86
-Release: 28
+Release: 49
Summary: SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: sysvinit-2.86.tar.bz2
-Source2: killproc-2.11.tar.bz2
+Source2: killproc-2.12.tar.bz2
Source3: powerd-2.0.2.tar.bz2
Source4: showconsole-1.08.tar.bz2
Source5: startpar-0.49.tar.bz2
Source6: rc.powerd
Patch: sysvinit-2.86.dif
+Patch1: sysvinit-2.86-nfs4pidof.patch
Patch2: powerd-2.0.2.dif
-Patch3: killproc-2.11.dif
+Patch3: killproc-2.12.dif
Patch4: swsusp-for-sysvinit-2.86.diff
Patch5: sysvinit-2.86-sulogin.patch
Patch6: sysvinit-2.82-startstop.patch
@@ -68,6 +69,7 @@
%prep
%setup -q -b 2 -b 3 -b 4 -b 5
+%patch -P 1 -b .nfs4pidof
%patch -P 5 -b .sulogin
%patch -P 6 -b .ststdmn
%patch -P 7 -b .suse
@@ -285,6 +287,11 @@
%doc %{_mandir}/man8/startpar.8.gz
%changelog -n sysvinit
+* Thu Dec 14 2006 - werner(a)suse.de
+- New killproc 2.12 with new option -N better handling for NFS
+ based programs which is not to stat(2) the binary with -N
+- Make killall5 and pidof not to stat(2) binaries which are
+ loacted on NFS partitions (#224563)
* Tue Aug 22 2006 - werner(a)suse.de
- More on delayed utmp write: redo the write on telinit q (#148038)
* Mon Aug 21 2006 - werner(a)suse.de
@@ -504,7 +511,7 @@
- showconsole: check for environment variable NOTIOCGDEV
* Fri Jun 06 2003 - mfabian(a)suse.de
- also set the scroll region to the full window (ESC [ r) when
---noclear is not set.
+ --noclear is not set.
* Thu Jun 05 2003 - mfabian(a)suse.de
- if the option "--noclear" is not set, don't write a full reset
because this leaves the unicode mode again if the terminal was in
@@ -769,9 +776,9 @@
- New killproc-1.10
* startproc which is able to sleep
* better zombie handling
-- killproc doesn't ignore zombies
-- checkproc ignores zombies without `-z' by default
-- startproc checks zombie state of child while sleeping
+ - killproc doesn't ignore zombies
+ - checkproc ignores zombies without `-z' by default
+ - startproc checks zombie state of child while sleeping
* Tue Jul 06 1999 - werner(a)suse.de
- Fix pts problem of shutdown (dowall.c)
* Thu Jun 24 1999 - werner(a)suse.de
++++++ killproc-2.11.dif -> killproc-2.12.dif ++++++
--- sysvinit/killproc-2.11.dif 2006-06-09 17:22:10.000000000 +0200
+++ /mounts/work_src_done/STABLE/sysvinit/killproc-2.12.dif 2006-12-14 16:23:20.000000000 +0100
@@ -1,336 +1,4 @@
---- libinit.c
-+++ libinit.c 2006-06-09 17:03:21.000000000 +0200
-@@ -745,27 +745,53 @@
- if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
- (stat(exe_entry(tmp, d->d_name), &pid_st) == 0)) {
-
-- if ( pid_st.st_dev == full_st.st_dev
-- && pid_st.st_ino == full_st.st_ino
-- && pid_st.st_nlink == 1
-- )
-- {
-- do_list(pid,getsession(pid),false);
-- num++;
-- continue; /* Found */
-+ const char *name;
-+ char *realname;
-+ boolean found;
-+
-+ if (pid_st.st_dev != full_st.st_dev)
-+ continue; /* No processes below (kernel 2.2 and up) */
-+
-+ found = false;
-+ switch (pid_st.st_nlink) {
-+ case 1: /* One file on disk */
-+
-+ if (pid_st.st_ino == full_st.st_ino)
-+ found = true;
-+ break;
-+
-+ case 0: /* file was deleted or */
-+ default: /* has several hard links */
-+
-+ if (strlen(fullname) > MAXNAMLEN)
-+ continue;
-+
-+ if (readlink(exe_entry(tmp, d->d_name),clean_buf(entry),MAXNAMLEN) < 0)
-+ continue;
-+ name = handl_buf(entry);
-+
-+ if (strncmp(fullname, name, MAXNAMLEN) == 0) {
-+ found = true;
-+ break;
-+ }
-
-- } else if (
-- (readlink(exe_entry(tmp, d->d_name),clean_buf(entry),MAXNAMLEN) != -1)
-- && (strlen(fullname) <= MAXNAMLEN)
-- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
-- )
-- {
-+ if ((realname = realpath(fullname, NULL)) == (char*)0)
-+ continue;
-+
-+ if (strncmp(realname, name, MAXNAMLEN) == 0)
-+ found = true;
-+
-+ free(realname);
-+
-+ break;
-+ }
-+
-+ if (found) {
- do_list(pid,getsession(pid),false);
-- num++;
-- continue; /* Found */
-+ num++; /* Found */
- }
-
-- continue; /* No processes below (kernel 2.2) */
-+ continue; /* No processes below (kernel 2.2 and up) */
- }
-
- /*
-@@ -948,49 +974,69 @@
- len = xread(fp,ent,3);
- close(fp);
-
-- if (!len) {
-- free(swapname);
-- return 0;
-- }
-+ if (!len)
-+ goto out;
-
- thread = (strncmp(ent, "0 ", 2) == 0);
-
-- if ((flags & KTHREAD) && !thread) {
-- free(swapname);
-- return 0; /* Threads do not have any memory size in user space */
-- }
-+ if ((flags & KTHREAD) && !thread)
-+ goto out; /* Threads do not have any memory size in user space */
-
-- if (!(flags & KTHREAD) && thread) {
-- free(swapname);
-- return 0; /* Programs always show _memory_ size in user space */
-- }
-+ if (!(flags & KTHREAD) && thread)
-+ goto out; /* Programs always show _memory_ size in user space */
- }
-
- errno = 0;
- if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
- (stat(exe_entry(tmp, buf), &pid_st) == 0)) {
-
-- if ( pid_st.st_dev == full_st.st_dev
-- && pid_st.st_ino == full_st.st_ino
-- && pid_st.st_nlink == 1
-- )
-- {
-- do_list(pid,getsession(pid),ignore);
-- free(swapname);
-- return 0; /* Done */
-+ const char *name;
-+ char *realname;
-+ boolean found;
-
-- } else if (
-- (readlink(exe_entry(tmp, buf),clean_buf(entry),MAXNAMLEN) != -1)
-- && (strlen(fullname) <= MAXNAMLEN)
-- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
-- )
-- {
-- do_list(pid,getsession(pid),ignore);
-- free(swapname);
-- return 0; /* Done */
-+ if (pid_st.st_dev != full_st.st_dev)
-+ goto out;
-+
-+ found = false;
-+ switch (pid_st.st_nlink) {
-+ case 1: /* One file on disk */
-+
-+ if (pid_st.st_ino == full_st.st_ino)
-+ found = true;
-+ break;
-+
-+ case 0: /* file was deleted or */
-+ default: /* has several hard links */
-+
-+ if (strlen(fullname) > MAXNAMLEN)
-+ goto out;
-+
-+ if (readlink(exe_entry(tmp, buf),clean_buf(entry),MAXNAMLEN) < 0)
-+ goto out;
-+ name = handl_buf(entry);
-+
-+ if (strncmp(fullname, name, MAXNAMLEN) == 0) {
-+ found = true;
-+ break;
-+ }
-+
-+ if ((realname = realpath(fullname, NULL)) == (char*)0)
-+ goto out;
-+
-+ if (strncmp(realname, name, MAXNAMLEN) == 0)
-+ found = true;
-+
-+ free(realname);
-+
-+ break;
- }
-- return 0;
-+
-+ if (found)
-+ do_list(pid,getsession(pid),false);
-+
-+ goto out;
- }
-+
- if (errno && errno != ENOENT) {
- // int saveerr = errno;
- warn("Can not read %s: %s\n", tmp, strerror(errno));
-@@ -1008,15 +1054,12 @@
- close(fp);
-
- /* Seek for a script not for a binary */
-- if (!(scrpt = checkscripts(entry, root, len, buf))) {
-- free(swapname);
-- return 0; /* Nothing found */
-- }
-+ if (!(scrpt = checkscripts(entry, root, len, buf)))
-+ goto out; /* Nothing found */
-
- if (scrpt && strcmp(scrpt,fullname) == 0) {
- do_list(pid,getsession(pid),ignore);
-- free(swapname);
-- return 0; /* Done */
-+ goto out; /* Done */
- }
- }
-
-@@ -1026,29 +1069,25 @@
- len = xread(fp,entry,MAXNAMLEN);
- close(fp);
-
-- if (!len) {
-- free(swapname);
-- return 0;
-- }
-+ if (!len)
-+ goto out;
-
- comm = index(entry, ' ');
- state = index(++comm, ' ');
- *state++ = '\0';
-
-- if ( (flags & NZOMBIE) && state[0] == 'Z' ) {
-+ if ( (flags & NZOMBIE) && state[0] == 'Z' )
- /* This is a zombie, ignore it */
-- free(swapname);
-- return 0;
-- }
-+ goto out; /* This is a zombie, ignore it */
-
- if (strcmp(comm, swapname) == 0) {
- do_list(pid,getsession(pid),ignore);
-- free(swapname);
-- return 0; /* Done */
-+ goto out; /* Done */
- }
- }
--
-- free(swapname);
-+out:
-+ if (swapname)
-+ free(swapname);
- return 0; /* Nothing found */
- }
-
-@@ -1090,7 +1129,7 @@
- n = remember;
- l = (PROC*)0;
- for(p = remember; n; p = n) {
-- int skip = 0;
-+ boolean skip = false;
- l = p->prev;
- n = p->next;
-
-@@ -1110,11 +1149,12 @@
- char ent[3];
- int thread;
- ssize_t len;
-+
- len = xread(fp,ent,3);
- close(fp);
-
- if (!len)
-- continue;
-+ goto ignore; /* Bogus */
-
- thread = (strncmp(ent, "0 ", 2) == 0);
-
-@@ -1130,23 +1170,45 @@
- if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
- (stat(exe_entry(tmp, strpid), &pid_st) == 0)) {
-
-- if ( pid_st.st_dev == full_st.st_dev
-- && pid_st.st_ino == full_st.st_ino
-- && pid_st.st_nlink == 1
-- )
-- {
-- continue; /* Found */
-+ const char *name;
-+ char *realname;
-
-- } else if (
-- (readlink(exe_entry(tmp, strpid),clean_buf(entry),MAXNAMLEN) != -1)
-- && (strlen(fullname) <= MAXNAMLEN)
-- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
-- )
-- {
-- continue; /* Found */
-+ if (pid_st.st_dev != full_st.st_dev)
-+ goto ignore; /* Does not belong to rembered list */
-+
-+ switch (pid_st.st_nlink) {
-+ case 1: /* One file on disk */
-+
-+ if (pid_st.st_ino == full_st.st_ino)
-+ continue; /* Found */
-+ break;
-+
-+ case 0: /* file was deleted or */
-+ default: /* has several hard links */
-+
-+ if (strlen(fullname) > MAXNAMLEN)
-+ goto ignore; /* Bogus */
-+
-+ if (readlink(exe_entry(tmp, strpid),clean_buf(entry),MAXNAMLEN) < 0)
-+ goto ignore; /* Bogus */
-+ name = handl_buf(entry);
-+
-+ if (strncmp(fullname, name, MAXNAMLEN) == 0)
-+ continue; /* Found */
-+
-+ if ((realname = realpath(fullname, NULL)) == (char*)0)
-+ goto ignore; /* Bogus */
-+
-+ if (strncmp(realname, name, MAXNAMLEN) == 0) {
-+ free(realname);
-+ continue; /* Found */
-+ }
-+ free(realname);
-+
-+ break;
- }
-
-- skip = 1; /* No stat entry check needed */
-+ skip = true; /* No stat entry check needed */
- }
-
- if (!(flags & (KTHREAD|KSHORT)) && isscrpt &&
-@@ -1157,17 +1219,21 @@
- len = xread(fp,entry,MAXNAMLEN);
- close(fp);
-
-+ if (!len)
-+ goto ignore; /* Bogus */
-+
- /* Seek for a script not for a binary */
- if ((scrpt = checkscripts(entry, root, len, strpid))) {
- if (strcmp(scrpt,fullname) == 0)
- continue; /* Found */
-- skip = 1; /* No stat entry check needed */
-+ skip = true; /* No stat entry check needed */
- }
- }
-
- if (!skip && (fp = open(stat_entry(tmp, strpid),O_RDONLY,0)) != -1) {
- char *comm, *state;
- ssize_t len;
-+
- len = xread(fp,entry,MAXNAMLEN);
- close(fp);
-
+--- .touch
++++ .touch
+@@ -0,0 +1 @@
++This patch is empty
++++++ killproc-2.11.tar.bz2 -> killproc-2.12.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/Makefile new/killproc-2.12/Makefile
--- old/killproc-2.11/Makefile 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/Makefile 2006-12-14 17:18:31.000000000 +0100
@@ -12,7 +12,7 @@
PREFIX = /usr
DEBUG =
DESTDIR =
-VERSION = 2.11
+VERSION = 2.12
DATE = $(shell date +'%d%b%y' | tr '[:lower:]' '[:upper:]')
ifneq ($(INC),)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/checkproc.8 new/killproc-2.12/checkproc.8
--- old/killproc-2.11/checkproc.8 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/checkproc.8 2006-12-14 17:18:31.000000000 +0100
@@ -15,7 +15,7 @@
.SH SYNOPSIS
.\"
.B checkproc
-.RB [ "-v" "] [" "-L" "] [" "-k" "] [" -p
+.RB [ "-v" "] [" "-L" "] [" "-k" "] [" "-N" "] [" -p
.IR pid_file ]
.RB [ -i
.IR ingnore_file ]
@@ -25,7 +25,7 @@
.I /full/path/to/executable
.PP
.B checkproc
-.RB [ "-v" "] [" "-k" "] [" "-n" ]
+.RB [ "-v" "] [" "-k" "] [" "-n" "]"
.I name_of_kernel_thread
.PP
.B pidofproc
@@ -198,6 +198,26 @@
In this case not the executable with its full path name is required
but the name of the kernel thread.
.TP
+.B \-N
+With this option
+the location of the executable is checked about NFS
+file system and if true the
+.BR stat (2)
+system call is not applied on the
+.B exe
+symbolic link under
+.BR /proc (5).
+Otherwise
+.B checkproc
+or
+.B pidofproc
+could be locked if the corresponding NFS server
+is currently not online or available.
+This implies that the inode number check between the exectuable
+on the command line and the exectuable of the
+.B exec
+symbolic link will be skipped.
+.TP
.B \-q
This option is ignored.
.TP
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/checkproc.c new/killproc-2.12/checkproc.c
--- old/killproc-2.11/checkproc.c 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/checkproc.c 2006-12-14 17:18:31.000000000 +0100
@@ -56,7 +56,7 @@
posixa = getenv("_POSIX_OPTION_ORDER"); unsetenv("_POSIX_OPTION_ORDER");
posixb = getenv("POSIXLY_CORRECT"); unsetenv("POSIXLY_CORRECT");
opterr = 0;
- while ((c = getopt(argc, argv, "c:kp:nhqvzLi:")) != -1) {
+ while ((c = getopt(argc, argv, "c:kp:nNhqvzLi:")) != -1) {
switch (c) {
case 'c':
if (optarg && optarg[0] != '-' && !root) {
@@ -79,13 +79,16 @@
case 'n':
flags |= KTHREAD;
break;
+ case 'N':
+ init_nfs();
+ break;
case 'z':
flags &= ~NZOMBIE;
break;
case 'p': /* Changed from -f to -p to fit startproc and LSB */
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && !pid_file) {
- pid_file = strdup(optarg);
+ pid_file = xstrdup(optarg);
pid_forced = true;
} else
error(WRGSYNTAX, "Option -p requires pid file to read pid from\n");
@@ -93,7 +96,7 @@
case 'i':
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && optarg[0] != '-') {
- ignore_file = strdup(optarg);
+ ignore_file = xstrdup(optarg);
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
@@ -130,6 +133,8 @@
if (*fullname != '/')
flags |= KSHORT;
+ else if (check4nfs(fullname))
+ flags |= (KSHORT|KBASE);;
if (!pid_file) { /* the default pid file */
if (root) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/killproc-2.11.lsm new/killproc-2.12/killproc-2.11.lsm
--- old/killproc-2.11/killproc-2.11.lsm 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/killproc-2.11.lsm 1970-01-01 01:00:00.000000000 +0100
@@ -1,18 +0,0 @@
-Begin3
-Title: killproc and assorted tools for boot scripts
-Version: 2.11
-Entered-date: 08NOV05
-Description: Some useful programs for a replacment of the shell functions
- daemom and killproc found in the Linux System V init suite.
- killproc(8) for signaling or terminating, checkproc(8) for
- checking and startproc(8) for starting processes.
- Each program has its own manual page.
-Keywords: killproc, startproc, checkproc, process control
-Author: Werner Fink <werner(a)suse.de>
-Maintained-by: Werner Fink <werner(a)suse.de>
-Primary-site: sunsite.unc.edu /pub/Linux/system/daemons/init
- @UNKNOWN killproc-2.11.tar.gz
-Alternate-site: ftp.suse.com /pub/projects/init
-Platforms: Linux with System VR2 or higher boot scheme
-Copying-policy: GPL
-End
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/killproc-2.12.lsm new/killproc-2.12/killproc-2.12.lsm
--- old/killproc-2.11/killproc-2.12.lsm 1970-01-01 01:00:00.000000000 +0100
+++ new/killproc-2.12/killproc-2.12.lsm 2006-12-14 17:18:31.000000000 +0100
@@ -0,0 +1,18 @@
+Begin3
+Title: killproc and assorted tools for boot scripts
+Version: 2.12
+Entered-date: 14DEC06
+Description: Some useful programs for a replacment of the shell functions
+ daemom and killproc found in the Linux System V init suite.
+ killproc(8) for signaling or terminating, checkproc(8) for
+ checking and startproc(8) for starting processes.
+ Each program has its own manual page.
+Keywords: killproc, startproc, checkproc, process control
+Author: Werner Fink <werner(a)suse.de>
+Maintained-by: Werner Fink <werner(a)suse.de>
+Primary-site: sunsite.unc.edu /pub/Linux/system/daemons/init
+ @UNKNOWN killproc-2.12.tar.gz
+Alternate-site: ftp.suse.com /pub/projects/init
+Platforms: Linux with System VR2 or higher boot scheme
+Copying-policy: GPL
+End
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/killproc.8 new/killproc-2.12/killproc.8
--- old/killproc-2.11/killproc.8 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/killproc.8 2006-12-14 17:18:31.000000000 +0100
@@ -13,7 +13,7 @@
.SH SYNOPSIS
.\"
.B killproc
-.RB [ "-v" "] [" "-q" "] [" "-L" "] [" "-g" | "-G" "] [" "-p
+.RB [ "-v" "] [" "-q" "] [" "-L" "] [" "-g" | "-G" "] [" "-N" "] [" "-p
.IR pid_file ]
.RB [ -i
.IR ingnore_file ]
@@ -198,6 +198,24 @@
signaled. In this case not the executable with its
full path name is required but the name of the kernel
thread.
+.TP
+.B \-N
+With this option
+the location of the executable is checked about NFS
+file system and if true the
+.BR stat (2)
+system call is not applied on the
+.B exe
+symbolic link under
+.BR /proc (5).
+Otherwise
+.B killproc
+could be locked if the corresponding NFS server
+is currently not online or available.
+This implies that the inode number check between the exectuable
+on the command line and the exectuable of the
+.B exec
+symbolic link will be skipped.
.\"
.TP
.B \-SIG
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/killproc.c new/killproc-2.12/killproc.c
--- old/killproc-2.11/killproc.c 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/killproc.c 2006-12-14 17:18:31.000000000 +0100
@@ -89,7 +89,7 @@
posixa = getenv("_POSIX_OPTION_ORDER"); unsetenv("_POSIX_OPTION_ORDER");
posixb = getenv("POSIXLY_CORRECT"); unsetenv("POSIXLY_CORRECT");
opterr = 0;
- while ((c = getopt(argc, argv, "c:p:gGnhlvqt:Li:")) != -1) {
+ while ((c = getopt(argc, argv, "c:p:gGnNhlvqt:Li:")) != -1) {
switch (c) {
case 'c':
if (optarg && optarg[0] != '-' && !root) {
@@ -125,10 +125,13 @@
case 'n':
flags |= KTHREAD;
break;
+ case 'N':
+ init_nfs();
+ break;
case 'p': /* Changed from -f to -p to fit startproc and LSB */
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && !pid_file) {
- pid_file = strdup(optarg);
+ pid_file = xstrdup(optarg);
pid_forced = true;
} else
error(LSB_WRGSYN,"Option -p requires pid file to read pid from\n");
@@ -139,7 +142,7 @@
case 'i':
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && optarg[0] != '-') {
- ignore_file = strdup(optarg);
+ ignore_file = xstrdup(optarg);
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
@@ -178,6 +181,8 @@
if (*fullname != '/')
flags |= KSHORT;
+ else if (check4nfs(fullname))
+ flags |= (KSHORT|KBASE);
if (!pid_file) { /* the default pid file */
if (root) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/libinit.c new/killproc-2.12/libinit.c
--- old/killproc-2.11/libinit.c 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/libinit.c 2006-12-14 17:18:31.000000000 +0100
@@ -488,9 +488,7 @@
ptr = strcat(strcpy(ptr,root),script_exe);
script_exe = ptr;
} else {
- script_exe = strdup(script_exe);
- if (!script_exe)
- error(100, "strdup(): %s\n", strerror(errno));
+ script_exe = xstrdup(script_exe);
}
}
ret = true;
@@ -697,7 +695,10 @@
}
if (flags & (KTHREAD|KSHORT)) {
- swapname = swap_name(fullname);
+ if (flags & KBASE)
+ swapname = swap_name(base_name(fullname));
+ else
+ swapname = swap_name(fullname);
} else {
isscrpt = isscript(fullname, root);
swapname = swap_name(base_name(fullname));
@@ -745,27 +746,53 @@
if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
(stat(exe_entry(tmp, d->d_name), &pid_st) == 0)) {
- if ( pid_st.st_dev == full_st.st_dev
- && pid_st.st_ino == full_st.st_ino
- && pid_st.st_nlink == 1
- )
- {
- do_list(pid,getsession(pid),false);
- num++;
- continue; /* Found */
+ const char *name;
+ char *realname;
+ boolean found;
+
+ if (pid_st.st_dev != full_st.st_dev)
+ continue; /* No processes below (kernel 2.2 and up) */
+
+ found = false;
+ switch (pid_st.st_nlink) {
+ case 1: /* One file on disk */
+
+ if (pid_st.st_ino == full_st.st_ino)
+ found = true;
+ break;
+
+ case 0: /* file was deleted or */
+ default: /* has several hard links */
+
+ if (strlen(fullname) > MAXNAMLEN)
+ continue;
- } else if (
- (readlink(exe_entry(tmp, d->d_name),clean_buf(entry),MAXNAMLEN) != -1)
- && (strlen(fullname) <= MAXNAMLEN)
- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
- )
- {
+ if (readlink(exe_entry(tmp, d->d_name),clean_buf(entry),MAXNAMLEN) < 0)
+ continue;
+ name = handl_buf(entry);
+
+ if (strncmp(fullname, name, MAXNAMLEN) == 0) {
+ found = true;
+ break;
+ }
+
+ if ((realname = realpath(fullname, NULL)) == (char*)0)
+ continue;
+
+ if (strncmp(realname, name, MAXNAMLEN) == 0)
+ found = true;
+
+ free(realname);
+
+ break;
+ }
+
+ if (found) {
do_list(pid,getsession(pid),false);
- num++;
- continue; /* Found */
+ num++; /* Found */
}
- continue; /* No processes below (kernel 2.2) */
+ continue; /* No processes below (kernel 2.2 and up) */
}
/*
@@ -934,7 +961,10 @@
}
if (flags & (KTHREAD|KSHORT)) {
- swapname = swap_name(fullname);
+ if (flags & KBASE)
+ swapname = swap_name(base_name(fullname));
+ else
+ swapname = swap_name(fullname);
} else {
isscrpt = isscript(fullname, root);
swapname = swap_name(base_name(fullname));
@@ -948,49 +978,69 @@
len = xread(fp,ent,3);
close(fp);
- if (!len) {
- free(swapname);
- return 0;
- }
+ if (!len)
+ goto out;
thread = (strncmp(ent, "0 ", 2) == 0);
- if ((flags & KTHREAD) && !thread) {
- free(swapname);
- return 0; /* Threads do not have any memory size in user space */
- }
+ if ((flags & KTHREAD) && !thread)
+ goto out; /* Threads do not have any memory size in user space */
- if (!(flags & KTHREAD) && thread) {
- free(swapname);
- return 0; /* Programs always show _memory_ size in user space */
- }
+ if (!(flags & KTHREAD) && thread)
+ goto out; /* Programs always show _memory_ size in user space */
}
errno = 0;
if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
(stat(exe_entry(tmp, buf), &pid_st) == 0)) {
- if ( pid_st.st_dev == full_st.st_dev
- && pid_st.st_ino == full_st.st_ino
- && pid_st.st_nlink == 1
- )
- {
- do_list(pid,getsession(pid),ignore);
- free(swapname);
- return 0; /* Done */
+ const char *name;
+ char *realname;
+ boolean found;
- } else if (
- (readlink(exe_entry(tmp, buf),clean_buf(entry),MAXNAMLEN) != -1)
- && (strlen(fullname) <= MAXNAMLEN)
- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
- )
- {
- do_list(pid,getsession(pid),ignore);
- free(swapname);
- return 0; /* Done */
+ if (pid_st.st_dev != full_st.st_dev)
+ goto out;
+
+ found = false;
+ switch (pid_st.st_nlink) {
+ case 1: /* One file on disk */
+
+ if (pid_st.st_ino == full_st.st_ino)
+ found = true;
+ break;
+
+ case 0: /* file was deleted or */
+ default: /* has several hard links */
+
+ if (strlen(fullname) > MAXNAMLEN)
+ goto out;
+
+ if (readlink(exe_entry(tmp, buf),clean_buf(entry),MAXNAMLEN) < 0)
+ goto out;
+ name = handl_buf(entry);
+
+ if (strncmp(fullname, name, MAXNAMLEN) == 0) {
+ found = true;
+ break;
+ }
+
+ if ((realname = realpath(fullname, NULL)) == (char*)0)
+ goto out;
+
+ if (strncmp(realname, name, MAXNAMLEN) == 0)
+ found = true;
+
+ free(realname);
+
+ break;
}
- return 0;
+
+ if (found)
+ do_list(pid,getsession(pid),ignore);
+
+ goto out;
}
+
if (errno && errno != ENOENT) {
// int saveerr = errno;
warn("Can not read %s: %s\n", tmp, strerror(errno));
@@ -1008,15 +1058,12 @@
close(fp);
/* Seek for a script not for a binary */
- if (!(scrpt = checkscripts(entry, root, len, buf))) {
- free(swapname);
- return 0; /* Nothing found */
- }
+ if (!(scrpt = checkscripts(entry, root, len, buf)))
+ goto out; /* Nothing found */
if (scrpt && strcmp(scrpt,fullname) == 0) {
do_list(pid,getsession(pid),ignore);
- free(swapname);
- return 0; /* Done */
+ goto out; /* Done */
}
}
@@ -1026,29 +1073,25 @@
len = xread(fp,entry,MAXNAMLEN);
close(fp);
- if (!len) {
- free(swapname);
- return 0;
- }
+ if (!len)
+ goto out;
comm = index(entry, ' ');
state = index(++comm, ' ');
*state++ = '\0';
- if ( (flags & NZOMBIE) && state[0] == 'Z' ) {
+ if ( (flags & NZOMBIE) && state[0] == 'Z' )
/* This is a zombie, ignore it */
- free(swapname);
- return 0;
- }
+ goto out; /* This is a zombie, ignore it */
if (strcmp(comm, swapname) == 0) {
do_list(pid,getsession(pid),ignore);
- free(swapname);
- return 0; /* Done */
+ goto out; /* Done */
}
}
-
- free(swapname);
+out:
+ if (swapname)
+ free(swapname);
return 0; /* Nothing found */
}
@@ -1081,7 +1124,10 @@
}
if (flags & (KTHREAD|KSHORT)) {
- swapname = swap_name(fullname);
+ if (flags & KBASE)
+ swapname = swap_name(base_name(fullname));
+ else
+ swapname = swap_name(fullname);
} else {
isscrpt = isscript(fullname, root);
swapname = swap_name(base_name(fullname));
@@ -1090,7 +1136,7 @@
n = remember;
l = (PROC*)0;
for(p = remember; n; p = n) {
- int skip = 0;
+ boolean skip = false;
l = p->prev;
n = p->next;
@@ -1110,11 +1156,12 @@
char ent[3];
int thread;
ssize_t len;
+
len = xread(fp,ent,3);
close(fp);
if (!len)
- continue;
+ goto ignore; /* Bogus */
thread = (strncmp(ent, "0 ", 2) == 0);
@@ -1130,23 +1177,45 @@
if (!(flags & (KTHREAD|KSHORT)) && !isscrpt &&
(stat(exe_entry(tmp, strpid), &pid_st) == 0)) {
- if ( pid_st.st_dev == full_st.st_dev
- && pid_st.st_ino == full_st.st_ino
- && pid_st.st_nlink == 1
- )
- {
- continue; /* Found */
+ const char *name;
+ char *realname;
- } else if (
- (readlink(exe_entry(tmp, strpid),clean_buf(entry),MAXNAMLEN) != -1)
- && (strlen(fullname) <= MAXNAMLEN)
- && (strncmp(fullname,handl_buf(entry),MAXNAMLEN) == 0)
- )
- {
- continue; /* Found */
+ if (pid_st.st_dev != full_st.st_dev)
+ goto ignore; /* Does not belong to rembered list */
+
+ switch (pid_st.st_nlink) {
+ case 1: /* One file on disk */
+
+ if (pid_st.st_ino == full_st.st_ino)
+ continue; /* Found */
+ break;
+
+ case 0: /* file was deleted or */
+ default: /* has several hard links */
+
+ if (strlen(fullname) > MAXNAMLEN)
+ goto ignore; /* Bogus */
+
+ if (readlink(exe_entry(tmp, strpid),clean_buf(entry),MAXNAMLEN) < 0)
+ goto ignore; /* Bogus */
+ name = handl_buf(entry);
+
+ if (strncmp(fullname, name, MAXNAMLEN) == 0)
+ continue; /* Found */
+
+ if ((realname = realpath(fullname, NULL)) == (char*)0)
+ goto ignore; /* Bogus */
+
+ if (strncmp(realname, name, MAXNAMLEN) == 0) {
+ free(realname);
+ continue; /* Found */
+ }
+ free(realname);
+
+ break;
}
- skip = 1; /* No stat entry check needed */
+ skip = true; /* No stat entry check needed */
}
if (!(flags & (KTHREAD|KSHORT)) && isscrpt &&
@@ -1157,17 +1226,21 @@
len = xread(fp,entry,MAXNAMLEN);
close(fp);
+ if (!len)
+ goto ignore; /* Bogus */
+
/* Seek for a script not for a binary */
if ((scrpt = checkscripts(entry, root, len, strpid))) {
if (strcmp(scrpt,fullname) == 0)
continue; /* Found */
- skip = 1; /* No stat entry check needed */
+ skip = true; /* No stat entry check needed */
}
}
if (!skip && (fp = open(stat_entry(tmp, strpid),O_RDONLY,0)) != -1) {
char *comm, *state;
ssize_t len;
+
len = xread(fp,entry,MAXNAMLEN);
close(fp);
@@ -1338,7 +1411,7 @@
int rlstat(char ** file, struct stat *st, const unsigned short flags)
{
int ret = -1;
- unsigned int deep = 0;
+ int deep = MAXSYMLINKS;
char * cur_file = *file;
if (lstat(cur_file, st) < 0)
@@ -1349,34 +1422,30 @@
goto out;
do {
- size_t cnt;
- char *prev_file;
+ const char *prev_file;
+ int cnt;
ret = 0;
if (!S_ISLNK(st->st_mode))
goto out;
ret = -1;
- if (deep++ > MAXSYMLINKS) {
- errno = EMLINK;
- goto out;
- }
-
- prev_file = strdupa(cur_file);
- if (!prev_file)
+ if ((prev_file = strdupa(cur_file)) == NULL)
error(100, "strdupa(): %s\n", strerror(errno));
- if ((cnt = readlink(cur_file, lnk, sizeof(lnk) - 1)) < 0)
+
+ if ((cnt = readlink(cur_file, lnk, PATH_MAX)) < 0)
goto out;
lnk[cnt] = '\0';
- if (lnk[0] != '/') {
- /* Construct a new valid file name */
- char *lastslash;
- lastslash = strrchr (prev_file, '/');
- if (lastslash != NULL) {
+ if (lnk[0] != '/') { /* Construct a new valid file name */
+ const char *lastslash;
+
+ if ((lastslash = strrchr(prev_file, '/'))) {
size_t dirname_len = lastslash - prev_file + 1;
+
if (dirname_len + cnt > PATH_MAX)
cnt = PATH_MAX - dirname_len;
+
memmove(&lnk[dirname_len], &lnk[0], cnt + 1);
memcpy(&lnk[0], prev_file, dirname_len);
}
@@ -1386,6 +1455,11 @@
if (lstat(cur_file, st) < 0)
goto out;
+ if (deep-- <= 0) {
+ errno = ELOOP;
+ goto out;
+ }
+
} while (S_ISLNK(st->st_mode));
ret = 0;
@@ -1396,4 +1470,108 @@
out:
return ret;
}
+
+/*
+ * Code below is for checking for binaries located on a NFS
+ * based file system. With this help we can switch off the
+ * the various stat()'s checks become dead locked if the
+ * corresponding NFS servers are not online.
+ */
+
+typedef struct _nfs_
+{
+ struct _nfs_ *next; /* Pointer to next struct. */
+ struct _nfs_ *prev; /* Pointer to previous st. */
+ char * name;
+ size_t nlen;
+} NFS;
+
+NFS * nfs = (NFS*)0;
+
+void init_nfs(void)
+{
+ struct stat st;
+ struct mntent * ent;
+ FILE * mnt;
+
+ /* Stat /proc/version to see if /proc is mounted. */
+ if (stat("/proc/version", &st) < 0)
+ getproc();
+
+ if ((mnt = setmntent("/proc/mounts", "r")) == (FILE*)0)
+ return;
+
+ while ((ent = getmntent(mnt))) {
+ if (!strcasecmp(MNTTYPE_NFS, ent->mnt_type)) {
+ NFS * p = (NFS*)xmalloc(sizeof(NFS));
+ p->name = xstrdup(ent->mnt_dir);
+ p->nlen = strlen(p->name);
+ if (nfs)
+ nfs->prev = p;
+ p->next = nfs;
+ p->prev = (NFS*)0;
+ nfs = p;
+ }
+ }
+
+ endmntent(mnt);
+}
+
+boolean check4nfs(const char * path)
+{
+ char buf[PATH_MAX+1];
+ const char *curr;
+ int deep = MAXSYMLINKS;
+
+ if (!nfs) goto out;
+
+ curr = path;
+ do {
+ const char *prev;
+ int len;
+
+ if ((prev = strdupa(curr)) == NULL)
+ error(100, "strdupa(): %s\n", strerror(errno));
+
+ errno = 0;
+ if ((len = readlink(curr, buf, PATH_MAX)) < 0)
+ break;
+ buf[len] = '\0';
+
+ if (buf[0] != '/') {
+ const char *slash;
+
+ if ((slash = strrchr(prev, '/'))) {
+ size_t off = slash - prev + 1;
+
+ if (off + len > PATH_MAX)
+ len = PATH_MAX - off;
+
+ memmove(&buf[off], &buf[0], len + 1);
+ memcpy(&buf[0], prev, off);
+ }
+ }
+ curr = &buf[0];
+
+ if (deep-- <= 0) {
+ errno = ELOOP;
+ return true;
+ }
+
+ } while (true);
+
+ if (errno == EINVAL) {
+ NFS *p, *n, *l;
+ n = nfs;
+ l = (NFS*)0;
+ for (p = nfs; n; p = n) {
+ l = p->prev;
+ n = p->next;
+ if (!strncmp(curr, p->name, p->nlen))
+ return true;
+ }
+ }
+out:
+ return false;
+}
/* libinit.c ends here */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/libinit.h new/killproc-2.12/libinit.h
--- old/killproc-2.11/libinit.h 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/libinit.h 2006-12-14 17:18:31.000000000 +0100
@@ -28,6 +28,7 @@
#include <sys/param.h>
#include <utmp.h>
#include <pwd.h>
+#include <mntent.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
@@ -94,6 +95,7 @@
#define KSHORT 0x0020
#define FLWLINK 0x0040
#define KSTOP 0x0080
+#define KBASE 0x0100
#define MAXENV 20
#define CMDLLEN MAXNAMLEN /* The string length of /proc/12345/cmdline\0\0 + 1 */
@@ -126,6 +128,8 @@
extern void error(int stat, const char *fmt, ...);
extern void warn(const char *fmt, ...);
extern int rlstat(char ** file, struct stat *st, const unsigned short flag);
+extern void init_nfs(void);
+boolean check4nfs(const char * path);
/* Feature */
extern char *sys_signame [];
@@ -175,7 +179,18 @@
if (p == (void*)0) {
if (stopped) kill(-1, SIGCONT);
- error(1, "out of memory\n");
+ error(100, "malloc(): %s\n", strerror(errno));
+ }
+ return p;
+}
+
+static inline char *xstrdup(const char * string)
+{
+ char *p = strdup(string);
+
+ if (p == (char*)0) {
+ if (stopped) kill(-1, SIGCONT);
+ error(100, "strdup(): %s\n", strerror(errno));
}
return p;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/killproc-2.11/startproc.c new/killproc-2.12/startproc.c
--- old/killproc-2.11/startproc.c 2005-11-08 11:44:11.000000000 +0100
+++ new/killproc-2.12/startproc.c 2006-12-14 17:18:31.000000000 +0100
@@ -102,7 +102,7 @@
case 'p': /* Former option -f */
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && optarg[0] != '-' && !pid_file) {
- pid_file = strdup(optarg);
+ pid_file = xstrdup(optarg);
} else
error(LSB_WRGSYN,"Option -p requires pid file to read pid from\n");
break;
@@ -201,7 +201,7 @@
case 'i':
/* Allocate here: address optarg (current *argv) isn't freeable */
if (optarg && optarg[0] != '-') {
- ignore_file = strdup(optarg);
+ ignore_file = xstrdup(optarg);
} else
error(LSB_WRGSYN,"Option -i requires pid file to read pid from\n");
break;
++++++ sysvinit-2.86-nfs4pidof.patch ++++++
--- src/killall5.c
+++ src/killall5.c 2006-12-14 15:53:19.000000000 +0100
@@ -40,6 +40,8 @@
#include <syslog.h>
#include <getopt.h>
#include <stdarg.h>
+#include <mntent.h>
+#include <sys/param.h>
char *Version = "@(#)killall5 2.86 31-Jul-2004 miquels(a)cistron.nl";
@@ -56,7 +58,8 @@ typedef struct proc {
dev_t dev; /* Device it is on */
pid_t pid; /* Process ID. */
int sid; /* Session ID. */
- int kernel; /* Kernel thread or zombie. */
+ char kernel; /* Kernel thread or zombie. */
+ char nfs; /* Binary is loacted on NFS part. */
struct proc *next; /* Pointer to next struct. */
} PROC;
@@ -73,9 +76,20 @@ typedef struct {
PIDQ *next;
} PIDQ_HEAD;
+typedef struct nfs
+{
+ struct nfs *next; /* Pointer to next struct. */
+ struct nfs *prev; /* Pointer to previous st. */
+ char * name;
+ size_t nlen;
+} NFS;
+
/* List of processes. */
PROC *plist;
+/* List of NFS mountes partitions. */
+NFS *nlist;
+
/* Did we stop all processes ? */
int sent_sigstop;
@@ -152,6 +166,101 @@ int mount_proc(void)
return did_mount;
}
+/*
+ * Remember all NFS typed partitions.
+ */
+void init_nfs(void)
+{
+ struct stat st;
+ struct mntent * ent;
+ FILE * mnt;
+
+ nlist = (NFS*)0;
+
+ if (stat("/proc/version", &st) < 0)
+ return;
+ if ((mnt = setmntent("/proc/mounts", "r")) == (FILE*)0)
+ return;
+
+ while ((ent = getmntent(mnt))) {
+ if (!strcasecmp(MNTTYPE_NFS, ent->mnt_type)) {
+ NFS * p = (NFS*)xmalloc(sizeof(NFS));
+ p->name = (char*)xmalloc(strlen(ent->mnt_dir)+1);
+ strcpy(p->name, ent->mnt_dir);
+ p->nlen = strlen(p->name);
+ if (nlist)
+ nlist->prev = p;
+ p->next = nlist;
+ p->prev = (NFS*)0;
+ nlist = p;
+ }
+ }
+
+ endmntent(mnt);
+}
+
+/*
+ * Check path is located on a NFS partition.
+ */
+int check4nfs(const char * path, char * real)
+{
+ char buf[PATH_MAX+1];
+ const char *curr;
+ int deep = MAXSYMLINKS;
+
+ if (!nlist) return 0;
+
+ curr = path;
+ do {
+ const char *prev;
+ int len;
+
+ if ((prev = strdupa(curr)) == NULL) {
+ nsyslog(LOG_ERR, "strdupa(): %s\n", strerror(errno));
+ return 0;
+ }
+
+ errno = 0;
+ if ((len = readlink(curr, buf, PATH_MAX)) < 0)
+ break;
+ buf[len] = '\0';
+
+ if (buf[0] != '/') {
+ const char *slash;
+
+ if ((slash = strrchr(prev, '/'))) {
+ size_t off = slash - prev + 1;
+
+ if (off + len > PATH_MAX)
+ len = PATH_MAX - off;
+
+ memmove(&buf[off], &buf[0], len + 1);
+ memcpy(&buf[0], prev, off);
+ }
+ }
+ curr = &buf[0];
+
+ if (deep-- <= 0) return 0;
+
+ } while (1);
+
+ if (real) strcpy(real, curr);
+
+ if (errno == EINVAL) {
+ NFS *p, *n, *l;
+ n = nlist;
+ l = (NFS*)0;
+ for (p = nlist; n; p = n) {
+ l = p->prev;
+ n = p->next;
+ if (!strncmp(curr, p->name, p->nlen))
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
int readarg(FILE *fp, char *buf, int sz)
{
int c = 0, f = 0;
@@ -173,8 +282,8 @@ int readproc()
PROC *p, *n;
struct dirent *d;
struct stat st;
- char path[256];
- char buf[256];
+ char path[PATH_MAX+1];
+ char buf[PATH_MAX+1];
char *s, *q;
unsigned long startcode, endcode;
int pid, f;
@@ -191,6 +300,7 @@ int readproc()
n = p->next;
if (p->argv0) free(p->argv0);
if (p->argv1) free(p->argv1);
+ if (p->statname) free(p->statname);
free(p);
}
plist = NULL;
@@ -225,6 +335,9 @@ int readproc()
nsyslog(LOG_ERR,
"can't get program name from %s\n",
path);
+ if (p->argv0) free(p->argv0);
+ if (p->argv1) free(p->argv1);
+ if (p->statname) free(p->statname);
free(p);
continue;
}
@@ -248,6 +361,9 @@ int readproc()
p->sid = 0;
nsyslog(LOG_ERR, "can't read sid from %s\n",
path);
+ if (p->argv0) free(p->argv0);
+ if (p->argv1) free(p->argv1);
+ if (p->statname) free(p->statname);
free(p);
continue;
}
@@ -256,6 +372,9 @@ int readproc()
fclose(fp);
} else {
/* Process disappeared.. */
+ if (p->argv0) free(p->argv0);
+ if (p->argv1) free(p->argv1);
+ if (p->statname) free(p->statname);
free(p);
continue;
}
@@ -300,13 +419,18 @@ int readproc()
} else {
/* Process disappeared.. */
+ if (p->argv0) free(p->argv0);
+ if (p->argv1) free(p->argv1);
+ if (p->statname) free(p->statname);
free(p);
continue;
}
/* Try to stat the executable. */
snprintf(path, sizeof(path), "/proc/%s/exe", d->d_name);
- if (stat(path, &st) == 0) {
+ if (check4nfs(path, NULL))
+ p->nfs = 1;
+ if ((p->nfs == 0) && (stat(path, &st) == 0)) {
p->dev = st.st_dev;
p->ino = st.st_ino;
}
@@ -374,12 +498,25 @@ PIDQ_HEAD *pidof(char *prog)
PIDQ_HEAD *q;
struct stat st;
char *s;
+ int nfs = 0;
int dostat = 0;
int foundone = 0;
int ok = 0;
+ char real[PATH_MAX+1];
/* Try to stat the executable. */
- if (prog[0] == '/' && stat(prog, &st) == 0) dostat++;
+ if (prog[0] == '/') {
+ memset(&real[0], 0, sizeof(real));
+
+ if (check4nfs(prog, real))
+ nfs++; /* Binary located on NFS partition. */
+
+ if (real[0] != '\0')
+ prog = &real[0]; /* Binary or its symlink located on NFS. */
+
+ if ((nfs == 0) && (stat(prog, &st) == 0))
+ dostat++; /* Binary located on a local file system. */
+ }
/* Get basename of program. */
if ((s = strrchr(prog, '/')) == NULL)
@@ -393,10 +530,30 @@ PIDQ_HEAD *pidof(char *prog)
/* First try to find a match based on dev/ino pair. */
if (dostat) {
for (p = plist; p; p = p->next) {
- if (p->dev == st.st_dev && p->ino == st.st_ino) {
- add_pid_to_q(q, p);
- foundone++;
- }
+ if (p->nfs)
+ continue;
+ if (p->dev != st.st_dev || p->ino != st.st_ino)
+ continue;
+ add_pid_to_q(q, p);
+ foundone++;
+ }
+ }
+
+ /* Second try to find a match based on full path name on NFS located binaries */
+ if (!foundone && nfs) {
+ for (p = plist; p; p = p->next) {
+ char exe [PATH_MAX+1];
+ char path[PATH_MAX+1];
+ int len;
+
+ snprintf(exe, sizeof(exe), "/proc/%d/exe", p->pid);
+ if ((len = readlink(exe, path, PATH_MAX)) < 0)
+ continue;
+ path[len] = '\0';
+ if (strcmp(prog, path) != 0)
+ continue;
+ add_pid_to_q(q, p);
+ foundone++;
}
}
@@ -428,7 +585,7 @@ PIDQ_HEAD *pidof(char *prog)
if (ok) add_pid_to_q(q, p);
}
- return q;
+ return q;
}
/* Give usage message and exit. */
@@ -477,6 +634,9 @@ int main_pidof(int argc, char **argv)
int first = 1;
int i, oind, opt, flags = 0;
+ /* Which NFS partitions are online? */
+ init_nfs();
+
for (oind = PIDOF_OMITSZ-1; oind > 0; oind--)
opid[oind] = 0;
opterr = 0;
@@ -561,6 +721,7 @@ int main(int argc, char **argv)
PROC *p;
int pid, sid = -1;
int sig = SIGKILL;
+ int did_mount;
/* Get program name. */
if ((progname = strrchr(argv[0], '/')) == NULL)
@@ -583,7 +744,10 @@ int main(int argc, char **argv)
}
/* First get the /proc filesystem online. */
- mount_proc();
+ did_mount = mount_proc();
+
+ /* Which NFS partitions are online? */
+ init_nfs();
/*
* Ignoring SIGKILL and SIGSTOP do not make sense, but
@@ -608,9 +772,13 @@ int main(int argc, char **argv)
/* Now kill all processes except our session. */
sid = (int)getsid(0);
pid = (int)getpid();
- for (p = plist; p; p = p->next)
- if (p->pid != pid && p->sid != sid && !p->kernel)
- kill(p->pid, sig);
+ for (p = plist; p; p = p->next) {
+ if (p->pid == 1 || p->pid == pid || p->sid == sid || p->kernel) {
+ kill(p->pid, SIGCONT);
+ continue;
+ }
+ kill(p->pid, sig);
+ }
/* And let them continue. */
kill(-1, SIGCONT);
++++++ sysvinit-2.86.dif ++++++
--- /var/tmp/diff_new_pack.vnpGRH/_old 2006-12-14 18:05:49.000000000 +0100
+++ /var/tmp/diff_new_pack.vnpGRH/_new 2006-12-14 18:05:49.000000000 +0100
@@ -830,34 +830,6 @@
#if DEBUG
# define INITDBG(level, fmt, args...) initlog(level, fmt, ##args)
---- src/killall5.c
-+++ src/killall5.c 2006-08-18 14:45:28.000000000 +0200
-@@ -608,9 +608,13 @@ int main(int argc, char **argv)
- /* Now kill all processes except our session. */
- sid = (int)getsid(0);
- pid = (int)getpid();
-- for (p = plist; p; p = p->next)
-- if (p->pid != pid && p->sid != sid && !p->kernel)
-- kill(p->pid, sig);
-+ for (p = plist; p; p = p->next) {
-+ if (p->pid == 1 || p->pid == pid || p->sid == sid || p->kernel) {
-+ kill(p->pid, SIGCONT);
-+ continue;
-+ }
-+ kill(p->pid, sig);
-+ }
-
- /* And let them continue. */
- kill(-1, SIGCONT);
-@@ -618,5 +622,8 @@ int main(int argc, char **argv)
- /* Done. */
- closelog();
-
-+ /* Force the kernel to run the scheduler */
-+ usleep(1);
-+
- return 0;
- }
--- src/shutdown.c
+++ src/shutdown.c 2006-08-18 14:45:28.000000000 +0200
@@ -60,6 +60,7 @@ char *clean_env[] = {
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libdaemon
checked in at Thu Dec 14 17:54:18 CET 2006.
--------
--- libdaemon/libdaemon.changes 2006-01-25 21:37:24.000000000 +0100
+++ /mounts/work_src_done/STABLE/libdaemon/libdaemon.changes 2006-12-14 17:24:53.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 17:24:47 CET 2006 - seife(a)suse.de
+
+- fix testd build
+
+-------------------------------------------------------------------
New:
----
libdaemon-0.10-testd-fix-FD_SET.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdaemon.spec ++++++
--- /var/tmp/diff_new_pack.j8IV6u/_old 2006-12-14 17:53:28.000000000 +0100
+++ /var/tmp/diff_new_pack.j8IV6u/_new 2006-12-14 17:53:28.000000000 +0100
@@ -5,7 +5,7 @@
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# Please submit bugfixes or comments via http://bugs.opensuse.org
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
@@ -14,12 +14,13 @@
BuildRequires: doxygen lynx
URL: http://0pointer.de/lennart/projects/libdaemon/
Version: 0.10
-Release: 1
-Summary: libdaemon is a lightweight C library that eases the writing of UNIX daemons.
-License: LGPL
+Release: 39
+Summary: Lightweight C library That Eases the Writing of UNIX Daemons
+License: GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Libraries
Source: %{name}-%{version}.tar.bz2
Patch: %{name}-attributes.patch
+Patch1: libdaemon-0.10-testd-fix-FD_SET.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr
%package devel
@@ -31,11 +32,11 @@
libdaemon is a lightweight C library that eases the writing of UNIX
daemons. It consists of the following parts:
-* A wrapper around fork() which does the correct daemonization
+* A wrapper around fork() that does the correct daemonization
procedure of a process
-* A wrapper around syslog() for simpler and compatible log output to
- Syslog or STDERR
+* A wrapper around syslog() for simpler log output compatible with
+ syslog or STDERR
* An API for writing PID files
@@ -43,7 +44,7 @@
select() or poll()
* An API for running subprocesses with STDOUT and STDERR redirected
- to syslog.
+ to syslog
APIs like these are used in most daemon software available. It is not
that simple to get it done right and code duplication is not a goal.
@@ -85,6 +86,7 @@
%prep
%setup
%patch
+%patch1 -p0
%build
export CFLAGS="$RPM_OPT_FLAGS"
@@ -116,6 +118,8 @@
/usr/include/libdaemon
%changelog -n libdaemon
+* Thu Dec 14 2006 - seife(a)suse.de
+- fix testd build
* Wed Jan 25 2006 - mls(a)suse.de
- converted neededforbuild to BuildRequires
* Sun Jan 22 2006 - cthiel(a)suse.de
++++++ libdaemon-0.10-testd-fix-FD_SET.diff ++++++
--- examples/testd.c
+++ examples/testd.c
@@ -116,7 +116,8 @@
/* Prepare for select() on the signal fd */
FD_ZERO(&fds);
- FD_SET(fd = daemon_signal_fd(), &fds);
+ fd = daemon_signal_fd();
+ FD_SET(fd, &fds);
while (!quit) {
fd_set fds2 = fds;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 keyutils
checked in at Thu Dec 14 17:20:46 CET 2006.
--------
--- keyutils/keyutils.changes 2006-07-19 14:36:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/keyutils/keyutils.changes 2006-12-14 16:35:42.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Dec 14 16:33:24 CET 2006 - meissner(a)suse.de
+
+- Upgraded to 1.2.
+ - call ldconfig
+ - removed manpages (now in global man-pages)
+
+-------------------------------------------------------------------
Old:
----
keyutils-1.1.tar.bz2
New:
----
keyutils-1.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ keyutils.spec ++++++
--- /var/tmp/diff_new_pack.RgpSCr/_old 2006-12-14 17:19:02.000000000 +0100
+++ /var/tmp/diff_new_pack.RgpSCr/_new 2006-12-14 17:19:02.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package keyutils (Version 1.1)
+# spec file for package keyutils (Version 1.2)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -12,11 +12,11 @@
Name: keyutils
URL: http://people.redhat.com/~dhowells/keyutils/
-License: GPL, LGPL
+License: GNU General Public License (GPL), GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: System/Kernel
Autoreqprov: on
Summary: Linux Key Management Utilities
-Version: 1.1
+Version: 1.2
Release: 1
Source0: http://people.redhat.com/~dhowells/keyutils/%name-%version.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -24,8 +24,8 @@
%description
Utilities to control the kernel key management facility and to provide
-a mechanism by which the kernel call back to userspace to get a key
-instantiated.
+a mechanism by which the kernel can call back to user space to get a
+key instantiated.
@@ -69,8 +69,11 @@
%install
make install NO_ARLIB=1 DESTDIR=$RPM_BUILD_ROOT LIBDIR=/%_lib USRLIBDIR=/usr/%_lib
-%clean
-rm -rf $RPM_BUILD_ROOT
+%post
+%run_ldconfig
+
+%postun
+%run_ldconfig
%files
%defattr(-,root,root,-)
@@ -93,9 +96,13 @@
%{_includedir}/*
%changelog -n keyutils
+* Thu Dec 14 2006 - meissner(a)suse.de
+- Upgraded to 1.2.
+ - call ldconfig
+ - removed manpages (now in global man-pages)
* Wed Jul 19 2006 - meissner(a)suse.de
- Upgraded to 1.1.
-- cleanups, new manpage.
+ - cleanups, new manpage.
- no static lib anymore (like upstream).
* Fri Apr 21 2006 - meissner(a)suse.de
- initial import of version 1.0.
++++++ keyutils-1.1.tar.bz2 -> keyutils-1.2.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/Makefile new/keyutils-1.2/Makefile
--- old/keyutils-1.1/Makefile 2006-05-05 15:44:20.000000000 +0200
+++ new/keyutils-1.2/Makefile 2006-08-22 18:40:00.000000000 +0200
@@ -2,7 +2,7 @@
INSTALL := install
DESTDIR :=
MAJOR := 1
-MINOR := 1
+MINOR := 2
VERSION := $(MAJOR).$(MINOR)
NO_GLIBC_KEYERR := 0
NO_GLIBC_KEYSYS := 0
@@ -80,7 +80,6 @@
MAN1 := $(DESTDIR)/usr/share/man/man1
-MAN2 := $(DESTDIR)/usr/share/man/man2
MAN3 := $(DESTDIR)/usr/share/man/man3
MAN5 := $(DESTDIR)/usr/share/man/man5
MAN8 := $(DESTDIR)/usr/share/man/man8
@@ -98,9 +97,6 @@
$(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
$(INSTALL) -D -m 0644 request-key.conf $(DESTDIR)$(ETCDIR)/request-key.conf
$(INSTALL) -D -m 0644 keyctl.1 $(MAN1)/keyctl.1
- $(INSTALL) -D -m 0644 add_key.2 $(MAN2)/add_key.2
- $(INSTALL) -D -m 0644 keyctl.2 $(MAN2)/keyctl.2
- $(INSTALL) -D -m 0644 request_key.2 $(MAN2)/request_key.2
$(INSTALL) -D -m 0644 keyctl_chown.3 $(MAN3)/keyctl_chown.3
$(INSTALL) -D -m 0644 keyctl_clear.3 $(MAN3)/keyctl_clear.3
$(INSTALL) -D -m 0644 keyctl_describe.3 $(MAN3)/keyctl_describe.3
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/add_key.2 new/keyutils-1.2/add_key.2
--- old/keyutils-1.1/add_key.2 2006-05-04 17:57:26.000000000 +0200
+++ new/keyutils-1.2/add_key.2 1970-01-01 01:00:00.000000000 +0100
@@ -1,137 +0,0 @@
-.\"
-.\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
-.\" Written by David Howells (dhowells(a)redhat.com)
-.\"
-.\" This program is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License
-.\" as published by the Free Software Foundation; either version
-.\" 2 of the License, or (at your option) any later version.
-.\"
-.TH ADD_KEY 2 "4 May 2006" Linux "Linux Key Management Calls"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH NAME
-add_key \- Add a key to the kernel's key management facility
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SYNOPSIS
-.nf
-.B #include <keyutils.h>
-.sp
-.BI "key_serial_t add_key(const char *" type ", const char *" description ,
-.BI "const void *" payload ", size_t " plen ", key_serial_t " keyring ");"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH DESCRIPTION
-.BR add_key ()
-asks the kernel to create or update a key of the given
-.I type
-and
-.IR description ,
-instantiate it with the
-.I payload
-of length
-.IR plen ,
-and to attach it to the nominated
-.I keyring
-and to return its serial number.
-.P
-The key type may reject the data if it's in the wrong format or in some other
-way invalid.
-.P
-If the destination
-.I keyring
-already contains a key that matches the specified
-.IR type " and " description
-then, if the key type supports it, that key will be updated rather than a new
-key being created; if not, a new key will be created and it will displace the
-link to the extant key from the keyring.
-.P
-The destination
-.I keyring
-serial number may be that of a valid keyring to which the caller has write
-permission, or it may be a special keyring ID:
-.TP
-.B KEY_SPEC_THREAD_KEYRING
-This specifies the caller's thread-specific keyring.
-.TP
-.B KEY_SPEC_PROCESS_KEYRING
-This specifies the caller's process-specific keyring.
-.TP
-.B KEY_SPEC_SESSION_KEYRING
-This specifies the caller's session-specific keyring.
-.TP
-.B KEY_SPEC_USER_KEYRING
-This specifies the caller's UID-specific keyring.
-.TP
-.B KEY_SPEC_USER_SESSION_KEYRING
-This specifies the caller's UID-session keyring.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH KEY TYPES
-There are a number of key types available in the core key management code, and
-these can be specified to this function:
-.TP
-.B \*(lquser\*(rq
-Keys of the user-defined key type may contain a blob of arbitrary data, and the
-.I description
-may be any valid string, though it is preferred that the description be
-prefixed with a string representing the service to which the key is of interest
-and a colon (for instance
-.RB \*(lq afs:mykey \*(rq).
-The
-.I payload
-may be empty or
-.B NULL
-for keys of this type.
-.TP
-.B \*(lqkeyring\*(rq
-Keyrings are special key types that may contain links to sequences of other
-keys of any type. If this interface is used to create a keyring, then a
-.B NULL
-.I payload
-should be specified, and
-.I plen
-should be zero.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH RETURN VALUE
-On success
-.BR add_key ()
-returns the serial number of the key it created or updated.
-On error, the value
-.B -1
-will be returned and errno will have been set to an appropriate error.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH ERRORS
-.TP
-.B ENOKEY
-The keyring doesn't exist.
-.TP
-.B EKEYEXPIRED
-The keyring has expired.
-.TP
-.B EKEYREVOKED
-The keyring has been revoked.
-.TP
-.B EINVAL
-The payload data was invalid.
-.TP
-.B ENOMEM
-Insufficient memory to create a key.
-.TP
-.B EDQUOT
-The key quota for this user would be exceeded by creating this key or linking
-it to the keyring.
-.TP
-.B EACCES
-The keyring wasn't available for modification by the user.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH LINKING
-Although this is a Linux system call, it is not present in
-.I libc
-but can be found rather in
-.IR libkeyutils .
-When linking,
-.B -lkeyutils
-should be specified to the linker.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SEE ALSO
-.BR keyctl (1),
-.BR keyctl (2),
-.BR request_key (2)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/keyctl.2 new/keyutils-1.2/keyctl.2
--- old/keyutils-1.1/keyctl.2 2006-05-04 18:04:38.000000000 +0200
+++ new/keyutils-1.2/keyctl.2 1970-01-01 01:00:00.000000000 +0100
@@ -1,166 +0,0 @@
-.\"
-.\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
-.\" Written by David Howells (dhowells(a)redhat.com)
-.\"
-.\" This program is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License
-.\" as published by the Free Software Foundation; either version
-.\" 2 of the License, or (at your option) any later version.
-.\"
-.TH KEYCTL 2 "4 May 2006" Linux "Linux Key Management Calls"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH NAME
-keyctl \- Manipulate the kernel's key management facility
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SYNOPSIS
-.nf
-.B #include <keyutils.h>
-.sp
-.BI "long keyctl(int " cmd ", ...);"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH DESCRIPTION
-.BR keyctl ()
-has a number of functions available:
-.TP
-.B KEYCTL_GET_KEYRING_ID
-Ask for a keyring's ID.
-.TP
-.B KEYCTL_JOIN_SESSION_KEYRING
-Join or start named session keyring.
-.TP
-.B KEYCTL_UPDATE
-Update a key.
-.TP
-.B KEYCTL_REVOKE
-Revoke a key.
-.TP
-.B KEYCTL_CHOWN
-Set ownership of a key.
-.TP
-.B KEYCTL_SETPERM
-Set perms on a key.
-.TP
-.B KEYCTL_DESCRIBE
-Describe a key.
-.TP
-.B KEYCTL_CLEAR
-Clear contents of a keyring.
-.TP
-.B KEYCTL_LINK
-Link a key into a keyring.
-.TP
-.B KEYCTL_UNLINK
-Unlink a key from a keyring.
-.TP
-.B KEYCTL_SEARCH
-Search for a key in a keyring.
-.TP
-.B KEYCTL_READ
-Read a key or keyring's contents.
-.TP
-.B KEYCTL_INSTANTIATE
-Instantiate a partially constructed key.
-.TP
-.B KEYCTL_NEGATE
-Negate a partially constructed key.
-.TP
-.B KEYCTL_SET_REQKEY_KEYRING
-Set default request-key keyring.
-.TP
-.B KEYCTL_SET_TIMEOUT
-Set timeout on a key.
-.TP
-.B KEYCTL_ASSUME_AUTHORITY
-Assume authority to instantiate key.
-.P
-These are wrapped by
-.B libkeyutils
-into individual functions to permit compiler the compiler to check types.
-See the
-.B See Also
-section at the bottom.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH RETURN VALUE
-On success
-.BR keyctl ()
-returns the serial number of the key it found.
-On error, the value
-.B -1
-will be returned and errno will have been set to an appropriate error.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH ERRORS
-.TP
-.B ENOKEY
-No matching key was found or an invalid key was specified.
-.TP
-.B EKEYEXPIRED
-An expired key was found or specified.
-.TP
-.B EKEYREVOKED
-A revoked key was found or specified.
-.TP
-.B EKEYREJECTED
-A rejected key was found or specified.
-.TP
-.B EDQUOT
-The key quota for the caller's user would be exceeded by creating a key or
-linking it to the keyring.
-.TP
-.B EACCES
-A key operation wasn't permitted.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH LINKING
-Although this is a Linux system call, it is not present in
-.I libc
-but can be found rather in
-.IR libkeyutils .
-When linking,
-.B -lkeyutils
-should be specified to the linker.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SEE ALSO
-.BR keyctl (1),
-.br
-.BR add_key (2),
-.br
-.BR request_key (2),
-.br
-.BR keyctl_get_keyring_ID (3),
-.br
-.BR keyctl_join_session_keyring (3),
-.br
-.BR keyctl_update (3),
-.br
-.BR keyctl_revoke (3),
-.br
-.BR keyctl_chown (3),
-.br
-.BR keyctl_setperm (3),
-.br
-.BR keyctl_describe (3),
-.br
-.BR keyctl_clear (3),
-.br
-.BR keyctl_link (3),
-.br
-.BR keyctl_unlink (3),
-.br
-.BR keyctl_search (3),
-.br
-.BR keyctl_read (3),
-.br
-.BR keyctl_instantiate (3),
-.br
-.BR keyctl_negate (3),
-.br
-.BR keyctl_set_reqkey_keyring (3),
-.br
-.BR keyctl_set_timeout (3),
-.br
-.BR keyctl_assume_authority (3),
-.br
-.BR keyctl_describe_alloc (3),
-.br
-.BR keyctl_read_alloc (3),
-.br
-.BR request-key (8)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/keyutils.spec new/keyutils-1.2/keyutils.spec
--- old/keyutils-1.1/keyutils.spec 2006-05-05 15:48:48.000000000 +0200
+++ new/keyutils-1.2/keyutils.spec 2006-08-22 18:43:47.000000000 +0200
@@ -1,12 +1,12 @@
%define vermajor 1
-%define version %{vermajor}.1
+%define version %{vermajor}.2
%define libdir /%{_lib}
%define usrlibdir %{_prefix}/%{_lib}
Summary: Linux Key Management Utilities
Name: keyutils
Version: %{version}
-Release: 3%{?dist}
+Release: 1%{?dist}
License: GPL/LGPL
Group: System Environment/Base
ExclusiveOS: Linux
@@ -62,6 +62,9 @@
%clean
rm -rf $RPM_BUILD_ROOT
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
%files
%defattr(-,root,root,-)
%doc README LICENCE.GPL
@@ -83,10 +86,16 @@
%defattr(-,root,root,-)
%{usrlibdir}/libkeyutils.so
%{_includedir}/*
-%{_mandir}/man2/*
%{_mandir}/man3/*
%changelog
+* Tue Aug 22 2006 David Howells <dhowells(a)redhat.com> - 1.2-1
+- Remove syscall manual pages (section 2) to man-pages package [BZ 203582]
+- Don't write to serial port in debugging script
+
+* Mon Jun 5 2006 David Howells <dhowells(a)redhat.com> - 1.1-4
+- Call ldconfig during (un)installation.
+
* Fri May 5 2006 David Howells <dhowells(a)redhat.com> - 1.1-3
- Don't include the release number in the shared library filename
- Don't build static library
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/request-key-debug.sh new/keyutils-1.2/request-key-debug.sh
--- old/keyutils-1.1/request-key-debug.sh 2005-07-11 17:15:40.000000000 +0200
+++ new/keyutils-1.2/request-key-debug.sh 2006-08-22 18:34:51.000000000 +0200
@@ -16,21 +16,18 @@
# Call: request-key-debug.sh <keyid> <desc> <callout> <session-keyring>
#
-{
- echo RQDebug keyid: $1
- echo RQDebug desc: $2
- echo RQDebug callout: $3
- echo RQDebug session keyring: $4
+echo RQDebug keyid: $1
+echo RQDebug desc: $2
+echo RQDebug callout: $3
+echo RQDebug session keyring: $4
- if [ "$3" != "neg" ]
- then
- keyctl instantiate $1 "Debug $3" $4 || exit 1
- else
- cat /proc/keys
- echo keyctl negate $1 30 $4
- keyctl negate $1 30 $4
- fi
-
-} >&/dev/ttyS0
+if [ "$3" != "neg" ]
+then
+ keyctl instantiate $1 "Debug $3" $4 || exit 1
+else
+ cat /proc/keys
+ echo keyctl negate $1 30 $4
+ keyctl negate $1 30 $4
+fi
exit 0
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/keyutils-1.1/request_key.2 new/keyutils-1.2/request_key.2
--- old/keyutils-1.1/request_key.2 2006-05-04 16:46:22.000000000 +0200
+++ new/keyutils-1.2/request_key.2 1970-01-01 01:00:00.000000000 +0100
@@ -1,141 +0,0 @@
-.\"
-.\" Copyright (C) 2006 Red Hat, Inc. All Rights Reserved.
-.\" Written by David Howells (dhowells(a)redhat.com)
-.\"
-.\" This program is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License
-.\" as published by the Free Software Foundation; either version
-.\" 2 of the License, or (at your option) any later version.
-.\"
-.TH REQUEST_KEY 2 "4 May 2006" Linux "Linux Key Management Calls"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH NAME
-request_key \- Request a key from the kernel's key management facility
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SYNOPSIS
-.nf
-.B #include <keyutils.h>
-.sp
-.BI "key_serial_t request_key(const char *" type ", const char *" description ,
-.BI "const char *" callout_info ", key_serial_t " keyring ");"
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH DESCRIPTION
-.BR request_key ()
-asks the kernel to find a key of the given
-.I type
-that matches the specified
-.I description
-and, if successful, to attach it to the nominated
-.I keyring
-and to return its serial number.
-.P
-.BR request_key ()
-first recursively searches all the keyrings attached to the calling process in
-the order thread-specific keyring, process-specific keyring and then session
-keyring for a matching key.
-.P
-If
-.BR request_key ()
-is called from a program invoked by
-.BR request_key ()
-on behalf of some other process to generate a key, then the keyrings of that
-other process will be searched next, using that other process's UID, GID,
-groups and security context to control access.
-.P
-The keys in each keyring searched are checked for a match before any child
-keyrings are recursed into. Only keys that are
-.B searchable
-for the caller may be found, and only
-.B searchable
-keyrings may be searched.
-.P
-If the key is not found then, if
-.I callout_info
-is set, this function will attempt to look further afield. In such a case, the
-.I callout_info
-is passed to a userspace service such as
-.B /sbin/request\-key
-to generate the key.
-.P
-If that is unsuccessful also, then an error will be returned, and a temporary
-negative key will be installed in the nominated
-.IR keyring .
-This will expire after a few seconds, but will cause subsequent
-calls to
-.BR request_key ()
-to fail until it does.
-.P
-The
-.I keyring
-serial number may be that of a valid keyring to which the caller has write
-permission, or it may be a special keyring ID:
-.TP
-.B KEY_SPEC_THREAD_KEYRING
-This specifies the caller's thread-specific keyring.
-.TP
-.B KEY_SPEC_PROCESS_KEYRING
-This specifies the caller's process-specific keyring.
-.TP
-.B KEY_SPEC_SESSION_KEYRING
-This specifies the caller's session-specific keyring.
-.TP
-.B KEY_SPEC_USER_KEYRING
-This specifies the caller's UID-specific keyring.
-.TP
-.B KEY_SPEC_USER_SESSION_KEYRING
-This specifies the caller's UID-session keyring.
-.P
-If a key is created, no matter whether it's a valid key or a negative key, it
-will displace any other key of the same type and description from the
-destination
-.IR keyring .
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH RETURN VALUE
-On success
-.BR request_key ()
-returns the serial number of the key it found.
-On error, the value
-.B -1
-will be returned and errno will have been set to an appropriate error.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH ERRORS
-.TP
-.B ENOKEY
-No matching key was found.
-.TP
-.B EKEYEXPIRED
-An expired key was found, but no replacement could be obtained.
-.TP
-.B EKEYREVOKED
-A revoked key was found, but no replacement could be obtained.
-.TP
-.B EKEYREJECTED
-The attempt to generate a new key was rejected.
-.TP
-.B ENOMEM
-Insufficient memory to create a key.
-.TP
-.B EINTR
-The request was interrupted by a signal.
-.TP
-.B EDQUOT
-The key quota for this user would be exceeded by creating this key or linking
-it to the keyring.
-.TP
-.B EACCES
-The keyring wasn't available for modification by the user.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH LINKING
-Although this is a Linux system call, it is not present in
-.I libc
-but can be found rather in
-.IR libkeyutils .
-When linking,
-.B -lkeyutils
-should be specified to the linker.
-.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
-.SH SEE ALSO
-.BR keyctl (1),
-.BR add_key (2),
-.BR keyctl (2),
-.BR request-key (8)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 p7zip
checked in at Thu Dec 14 17:18:47 CET 2006.
--------
--- p7zip/p7zip.changes 2006-11-06 19:46:28.000000000 +0100
+++ /mounts/work_src_done/STABLE/p7zip/p7zip.changes 2006-12-14 11:46:22.000000000 +0100
@@ -2,3 +2 @@
-Mon Nov 6 19:46:22 CET 2006 - schwab(a)suse.de
-
-- Don't strip binaries.
+Thu Dec 14 11:18:18 CEST 2006 - mkoenig(a)suse.de
@@ -5,0 +4,11 @@
+- update to version 4.43:
+ * 7-Zip now can use multi-threading mode for compressing to
+ .ZIP archives.
+ * ZIP format supporting was improved.
+ * 7-Zip now supports WinZip-compatible AES-256 encryption for
+ .ZIP archives.
+ * 7-Zip now uses order list (list of extensions) for files
+ sorting for compressing to .7z archives.
+ * 7-Zip now restores modification time of folders during .7z
+ archives extracting.
+
Old:
----
p7zip_4.37_src_all.tar.bz2
zip-4.37-install.patch
New:
----
p7zip-4.43-install.patch
p7zip_4.43_src_all.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ p7zip.spec ++++++
--- /var/tmp/diff_new_pack.OGavEw/_old 2006-12-14 17:07:46.000000000 +0100
+++ /var/tmp/diff_new_pack.OGavEw/_new 2006-12-14 17:07:46.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package p7zip (Version 4.37)
+# spec file for package p7zip (Version 4.43)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -15,12 +15,12 @@
License: GNU Library General Public License v. 2.0 and 2.1 (LGPL)
Group: Productivity/Archiving/Compression
Autoreqprov: on
-Version: 4.37
-Release: 19
+Version: 4.43
+Release: 1
Summary: 7-zip file compression program
URL: http://p7zip.sourceforge.net/
Source: http://switch.dl.sourceforge.net/sourceforge/%{name}/%{name}_%{version}_src…
-Patch: zip-4.37-install.patch
+Patch: p7zip-4.43-install.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -38,7 +38,7 @@
%prep
%setup -q -n %{name}_%{version}
-%patch
+%patch -p1
%ifarch x86_64 ppc64 s390x
cp makefile.linux_amd64 makefile.machine
%else
@@ -56,22 +56,26 @@
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
./install.sh \
- $RPM_BUILD_ROOT/%{_bindir} \
- $RPM_BUILD_ROOT/%{_libdir}/%{name} \
- $RPM_BUILD_ROOT%{_mandir}
+ %{_bindir} \
+ %{_libdir}/%{name} \
+ %{_mandir} \
+ %{buildroot} \
+ %{_defaultdocdir}/%{name}
+# fix permissions in DOCS dir
+#chmod -R u+w %{buildroot}/%{_defaultdocdir}/%{name}/DOCS
# fix build root in scripts:
-rm -f $RPM_BUILD_ROOT/%{_bindir}/7za
-cat > $RPM_BUILD_ROOT/%{_bindir}/7za <<-EOT
- #!/bin/bash
- exec %{_libdir}/%{name}/7za "\$@"
-EOT
-chmod a+x $RPM_BUILD_ROOT/%{_bindir}/7za
-rm -f $RPM_BUILD_ROOT/%{_bindir}/7z
-cat > $RPM_BUILD_ROOT/%{_bindir}/7z <<-EOT
- #!/bin/bash
- exec %{_libdir}/%{name}/7z "\$@"
-EOT
-chmod a+x $RPM_BUILD_ROOT/%{_bindir}/7z
+#rm -f $RPM_BUILD_ROOT/%{_bindir}/7za
+#cat > $RPM_BUILD_ROOT/%{_bindir}/7za <<-EOT
+# #!/bin/bash
+# exec %{_libdir}/%{name}/7za "\$@"
+#EOT
+#chmod a+x $RPM_BUILD_ROOT/%{_bindir}/7za
+#rm -f $RPM_BUILD_ROOT/%{_bindir}/7z
+#cat > $RPM_BUILD_ROOT/%{_bindir}/7z <<-EOT
+# #!/bin/bash
+# exec %{_libdir}/%{name}/7z "\$@"
+#EOT
+#chmod a+x $RPM_BUILD_ROOT/%{_bindir}/7z
%clean
rm -rf $RPM_BUILD_ROOT
@@ -85,12 +89,21 @@
%{_libdir}/%{name}/Codecs/*
%{_libdir}/%{name}/Formats/*
%{_bindir}/*
-%doc DOCS/* README TODO
+%doc %{_defaultdocdir}/%{name}
%doc %{_mandir}/man1/*
%changelog -n p7zip
-* Mon Nov 06 2006 - schwab(a)suse.de
-- Don't strip binaries.
+* Thu Dec 14 2006 - mkoenig(a)suse.de
+- update to version 4.43:
+ * 7-Zip now can use multi-threading mode for compressing to
+ .ZIP archives.
+ * ZIP format supporting was improved.
+ * 7-Zip now supports WinZip-compatible AES-256 encryption for
+ .ZIP archives.
+ * 7-Zip now uses order list (list of extensions) for files
+ sorting for compressing to .7z archives.
+ * 7-Zip now restores modification time of folders during .7z
+ archives extracting.
* Thu Jun 29 2006 - kssingvo(a)suse.de
- fixed specfile (makefile part) (bugzilla#187320)
* Wed Jun 21 2006 - kssingvo(a)suse.de
++++++ p7zip-4.43-install.patch ++++++
Index: p7zip_4.43/install.sh
===================================================================
--- p7zip_4.43.orig/install.sh
+++ p7zip_4.43/install.sh
@@ -58,10 +58,10 @@ then
cp bin/7za ${DEST_DIR}${DEST_SHARE}/7za
chmod 777 ${DEST_DIR}${DEST_SHARE}/7za
strip ${DEST_DIR}${DEST_SHARE}/7za
- chmod 555 ${DEST_DIR}${DEST_SHARE}/7za
+ chmod 755 ${DEST_DIR}${DEST_SHARE}/7za
echo "#! /bin/sh" > ${DEST_DIR}${DEST_BIN}/7za
echo "${DEST_SHARE}/7za \"\$@\"" >> ${DEST_DIR}${DEST_BIN}/7za
- chmod 555 ${DEST_DIR}${DEST_BIN}/7za
+ chmod 755 ${DEST_DIR}${DEST_BIN}/7za
fi
if [ -x bin/7zr ]
@@ -70,10 +70,10 @@ then
cp bin/7zr ${DEST_DIR}${DEST_SHARE}/7zr
chmod 777 ${DEST_DIR}${DEST_SHARE}/7zr
strip ${DEST_DIR}${DEST_SHARE}/7zr
- chmod 555 ${DEST_DIR}${DEST_SHARE}/7zr
+ chmod 755 ${DEST_DIR}${DEST_SHARE}/7zr
echo "#! /bin/sh" > ${DEST_DIR}${DEST_BIN}/7zr
echo "${DEST_SHARE}/7zr \"\$@\"" >> ${DEST_DIR}${DEST_BIN}/7zr
- chmod 555 ${DEST_DIR}${DEST_BIN}/7zr
+ chmod 755 ${DEST_DIR}${DEST_BIN}/7zr
fi
if [ -x bin/7zCon.sfx ]
@@ -82,7 +82,7 @@ then
cp bin/7zCon.sfx ${DEST_DIR}${DEST_SHARE}/7zCon.sfx
chmod 777 ${DEST_DIR}${DEST_SHARE}/7zCon.sfx
strip ${DEST_DIR}${DEST_SHARE}/7zCon.sfx
- chmod 555 ${DEST_DIR}${DEST_SHARE}/7zCon.sfx
+ chmod 755 ${DEST_DIR}${DEST_SHARE}/7zCon.sfx
fi
if [ -x bin/7z ]
@@ -91,12 +91,12 @@ then
cp bin/7z ${DEST_DIR}${DEST_SHARE}/7z
chmod 777 ${DEST_DIR}${DEST_SHARE}/7z
strip ${DEST_DIR}${DEST_SHARE}/7z
- chmod 555 ${DEST_DIR}${DEST_SHARE}/7z
+ chmod 755 ${DEST_DIR}${DEST_SHARE}/7z
cp -r bin/Codecs bin/Formats ${DEST_DIR}${DEST_SHARE}/
- chmod 555 ${DEST_DIR}${DEST_SHARE}/*/*
+ chmod 755 ${DEST_DIR}${DEST_SHARE}/*/*
echo "#! /bin/sh" > ${DEST_DIR}${DEST_BIN}/7z
echo "${DEST_SHARE}/7z \"\$@\"" >> ${DEST_DIR}${DEST_BIN}/7z
- chmod 555 ${DEST_DIR}${DEST_BIN}/7z
+ chmod 755 ${DEST_DIR}${DEST_BIN}/7z
fi
else
@@ -105,7 +105,7 @@ else
echo "- installing ${DEST_DIR}${DEST_BIN}/7za"
mkdir -p ${DEST_DIR}${DEST_BIN}
cp bin/7za ${DEST_DIR}${DEST_BIN}/7za
- chmod 555 ${DEST_DIR}${DEST_BIN}/7za
+ chmod 755 ${DEST_DIR}${DEST_BIN}/7za
fi
if [ -x bin/7zr ]
@@ -113,7 +113,7 @@ else
echo "- installing ${DEST_DIR}${DEST_BIN}/7zr"
mkdir -p ${DEST_DIR}${DEST_BIN}
cp bin/7zr ${DEST_DIR}${DEST_BIN}/7zr
- chmod 555 ${DEST_DIR}${DEST_BIN}/7zr
+ chmod 755 ${DEST_DIR}${DEST_BIN}/7zr
fi
fi
@@ -121,28 +121,28 @@ mkdir -p ${DEST_DIR}${DEST_MAN}/man1
if [ -d DOCS ]
then
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7z.1"
- sed -e s?"{DEST_SHARE_DOC}"?"${DEST_DIR}${DEST_SHARE_DOC}/DOCS"?g man1/7z.1 > ${DEST_DIR}${DEST_MAN}/man1/7z.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7z.1
+ sed -e s?"{DEST_SHARE_DOC}"?"${DEST_SHARE_DOC}/DOCS"?g man1/7z.1 > ${DEST_DIR}${DEST_MAN}/man1/7z.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7z.1
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7za.1"
- sed -e s?"{DEST_SHARE_DOC}"?"${DEST_DIR}${DEST_SHARE_DOC}/DOCS"?g man1/7za.1 > ${DEST_DIR}${DEST_MAN}/man1/7za.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7za.1
+ sed -e s?"{DEST_SHARE_DOC}"?"${DEST_SHARE_DOC}/DOCS"?g man1/7za.1 > ${DEST_DIR}${DEST_MAN}/man1/7za.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7za.1
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7zr.1"
- sed -e s?"{DEST_SHARE_DOC}"?"${DEST_DIR}${DEST_SHARE_DOC}/DOCS"?g man1/7zr.1 > ${DEST_DIR}${DEST_MAN}/man1/7zr.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7zr.1
+ sed -e s?"{DEST_SHARE_DOC}"?"${DEST_SHARE_DOC}/DOCS"?g man1/7zr.1 > ${DEST_DIR}${DEST_MAN}/man1/7zr.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7zr.1
else
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7z.1"
grep -v "{DEST_SHARE_DOC}" man1/7z.1 > ${DEST_DIR}${DEST_MAN}/man1/7z.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7z.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7z.1
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7za.1"
grep -v "{DEST_SHARE_DOC}" man1/7za.1 > ${DEST_DIR}${DEST_MAN}/man1/7za.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7za.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7za.1
echo "- installing ${DEST_DIR}${DEST_MAN}/man1/7zr.1"
grep -v "{DEST_SHARE_DOC}" man1/7zr.1 > ${DEST_DIR}${DEST_MAN}/man1/7zr.1
- chmod 444 ${DEST_DIR}${DEST_MAN}/man1/7zr.1
+ chmod 644 ${DEST_DIR}${DEST_MAN}/man1/7zr.1
fi
if [ -f README ]
@@ -150,7 +150,7 @@ then
echo "- installing ${DEST_DIR}${DEST_SHARE_DOC}/README"
mkdir -p ${DEST_DIR}${DEST_SHARE_DOC}
cp README ${DEST_DIR}${DEST_SHARE_DOC}/README
- chmod 444 ${DEST_DIR}${DEST_SHARE_DOC}/README
+ chmod 644 ${DEST_DIR}${DEST_SHARE_DOC}/README
fi
if [ -f ChangeLog ]
@@ -158,7 +158,7 @@ then
echo "- installing ${DEST_DIR}${DEST_SHARE_DOC}/ChangeLog"
mkdir -p ${DEST_DIR}${DEST_SHARE_DOC}
cp ChangeLog ${DEST_DIR}${DEST_SHARE_DOC}/ChangeLog
- chmod 444 ${DEST_DIR}${DEST_SHARE_DOC}/ChangeLog
+ chmod 644 ${DEST_DIR}${DEST_SHARE_DOC}/ChangeLog
fi
if [ -d DOCS ]
@@ -166,7 +166,7 @@ then
echo "- installing HTML help in ${DEST_DIR}${DEST_SHARE_DOC}/DOCS"
mkdir -p ${DEST_DIR}${DEST_SHARE_DOC}
cp -r DOCS ${DEST_DIR}${DEST_SHARE_DOC}/DOCS
- find ${DEST_DIR}${DEST_SHARE_DOC}/DOCS -type d -exec chmod 555 {} \;
- find ${DEST_DIR}${DEST_SHARE_DOC}/DOCS -type f -exec chmod 444 {} \;
+ find ${DEST_DIR}${DEST_SHARE_DOC}/DOCS -type d -exec chmod 755 {} \;
+ find ${DEST_DIR}${DEST_SHARE_DOC}/DOCS -type f -exec chmod 644 {} \;
fi
++++++ p7zip_4.37_src_all.tar.bz2 -> p7zip_4.43_src_all.tar.bz2 ++++++
++++ 24922 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 kdegames3
checked in at Thu Dec 14 17:16:38 CET 2006.
--------
--- KDE/kdegames3/kdegames3.changes 2006-11-08 16:54:53.000000000 +0100
+++ /mounts/work_src_done/STABLE/kdegames3/kdegames3.changes 2006-12-14 14:37:06.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Dec 14 14:36:42 CET 2006 - wstephenson(a)suse.de
+
+- Put boardgame documentation in correct subpackage (#224825)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdegames3.spec ++++++
--- /var/tmp/diff_new_pack.aekx6A/_old 2006-12-14 17:16:19.000000000 +0100
+++ /var/tmp/diff_new_pack.aekx6A/_new 2006-12-14 17:16:19.000000000 +0100
@@ -12,13 +12,13 @@
Name: kdegames3
BuildRequires: kdelibs3-devel mDNSResponder-devel
-License: GNU General Public License (GPL) - all versions
+License: GNU General Public License (GPL)
Group: System/GUI/KDE
Summary: Games for KDE
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3` )
Version: 3.5.5
-Release: 18
+Release: 27
Url: http://www.kde.org
Source: kdegames-%{version}.tar.bz2
Patch0: 3_5_BRANCH.diff
@@ -182,8 +182,6 @@
/opt/kde3/share/apps/kdegames
/opt/kde3/share/apps/kmines
/opt/kde3/share/apps/kpat
-%doc %lang(en) /opt/kde3/share/doc/HTML/en/atlantik
-%doc %lang(en) /opt/kde3/share/doc/HTML/en/kb*
%doc %lang(en) /opt/kde3/share/doc/HTML/en/kmines
%doc %lang(en) /opt/kde3/share/doc/HTML/en/kpat
/opt/kde3/share/icons/*/*/*/endturn.*
@@ -255,6 +253,7 @@
/opt/kde3/share/icons/*/*/*/kfouleggs.*
/opt/kde3/share/mimelnk/application/x-ko*
%doc /opt/kde3/share/doc/HTML/en/kasteroids
+%doc /opt/kde3/share/doc/HTML/en/kbounce
%doc /opt/kde3/share/doc/HTML/en/kfouleggs
%doc /opt/kde3/share/doc/HTML/en/kjumpingcube
%doc /opt/kde3/share/doc/HTML/en/kolf
@@ -321,6 +320,10 @@
/opt/kde3/share/icons/*/*/*/legalmoves*
/opt/kde3/share/services/atlantik.protocol
/opt/kde3/share/apps/zeroconf/_kbattleship._tcp
+%doc %lang(en) /opt/kde3/share/doc/HTML/en/atlantik
+%doc /opt/kde3/share/doc/HTML/en/kbackgammon
+%doc /opt/kde3/share/doc/HTML/en/kbattleship
+%doc /opt/kde3/share/doc/HTML/en/kblackbox
%doc /opt/kde3/share/doc/HTML/en/kenolaba
%doc /opt/kde3/share/doc/HTML/en/kreversi
%doc /opt/kde3/share/doc/HTML/en/klickety
@@ -404,6 +407,8 @@
%doc /opt/kde3/share/doc/HTML/en/ksokoban
%changelog -n kdegames3
+* Thu Dec 14 2006 - wstephenson(a)suse.de
+- Put boardgame documentation in correct subpackage (#224825)
* Wed Nov 08 2006 - stbinner(a)suse.de
- remove historic "Provides:" (#218798)
* Tue Oct 31 2006 - coolo(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