openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
August 2008
- 1 participants
- 1192 discussions
Hello community,
here is the log from the commit of package libvirt-cim
checked in at Sun Aug 10 01:34:09 CEST 2008.
--------
--- arch/i386/libvirt-cim/libvirt-cim.changes 2008-08-07 01:32:14.000000000 +0200
+++ /mounts/work_src_done/STABLE/libvirt-cim/libvirt-cim.changes 2008-08-09 20:12:27.000000000 +0200
@@ -1,0 +2,7 @@
+Sat Aug 9 12:10:09 MDT 2008 - jfehlig(a)novell.com
+
+- Another snapshot of libvirt-cim head.
+ + Fix SnapshotService
+ + Package directory /etc/libvirt/cim
+
+-------------------------------------------------------------------
@@ -6 +12,0 @@
- - switch from wbem to sfcb
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt-cim.spec ++++++
--- /var/tmp/diff_new_pack.Z30023/_old 2008-08-10 01:34:01.000000000 +0200
+++ /var/tmp/diff_new_pack.Z30023/_new 2008-08-10 01:34:01.000000000 +0200
@@ -26,7 +26,7 @@
Group: System/Management
AutoReqProv: yes
Version: 0.5.1
-Release: 1
+Release: 4
Summary: CMPI-based CIM provider implementing DMTF SVPC model
Source: %{name}-%{version}.tar.bz2
Source1: libvirt-cim-rpmlintrc
@@ -80,6 +80,7 @@
%{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/cimv216-interop_mof
%{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/cimv216Experimental-MOFs.zip
%{__rm} -f $RPM_BUILD_ROOT%{_datadir}/%{name}/fix_schema.patch
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/libvirt/cim
%clean
%{__rm} -rf $RPM_BUILD_ROOT
@@ -121,12 +122,16 @@
%{_datadir}/%{name}/*.sh
%{_datadir}/%{name}/*.mof
%{_datadir}/%{name}/*.registration
+%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/cim
%changelog
+* Sat Aug 09 2008 jfehlig(a)novell.com
+- Another snapshot of libvirt-cim head.
+ + Fix SnapshotService
+ + Package directory /etc/libvirt/cim
* Mon Aug 04 2008 jfehlig(a)novell.com
- Another snapshot of libvirt-cim head. Version is 0.5.1 instead
of incorrect 0.6 pre-release as previously noted.
- - switch from wbem to sfcb
* Mon Jul 28 2008 jfehlig(a)novell.com
- Updated to libvirt-cim head, pre-release of 0.6
* Fri Jul 18 2008 jfehlig(a)novell.com
++++++ libvirt-cim-0.5.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libvirt-cim-0.5.1/libxkutil/infostore.c new/libvirt-cim-0.5.1/libxkutil/infostore.c
--- old/libvirt-cim-0.5.1/libxkutil/infostore.c 2008-08-04 20:57:27.000000000 +0200
+++ new/libvirt-cim-0.5.1/libxkutil/infostore.c 2008-08-09 08:38:59.000000000 +0200
@@ -151,6 +151,9 @@
lseek(ctx->fd, 0, SEEK_SET);
+ if (ftruncate(ctx->fd, 0) != 0)
+ CU_DEBUG("Unable to truncate infostore");
+
save = xmlSaveToFd(ctx->fd, NULL, 0);
if (save == NULL) {
CU_DEBUG("Failed to allocate save context");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libvirt-cim-0.5.1/schema/VirtualSystemSnapshotService.mof new/libvirt-cim-0.5.1/schema/VirtualSystemSnapshotService.mof
--- old/libvirt-cim-0.5.1/schema/VirtualSystemSnapshotService.mof 2008-08-04 20:57:27.000000000 +0200
+++ new/libvirt-cim-0.5.1/schema/VirtualSystemSnapshotService.mof 2008-08-09 08:38:59.000000000 +0200
@@ -1,8 +1,59 @@
// Copyright IBM Corp. 2008
-[Description ( "Snapshot types are as follows: "
- "32768: Memory-only snapshot (suspend, resume, keep image)"
- "32769: Memory-only, terminal (domain is offline after op)")]
-class Xen_VirtualSystemSnapshotService : CIM_VirtualSystemSnapshotService { };
-class KVM_VirtualSystemSnapshotService : CIM_VirtualSystemSnapshotService { };
-class LXC_VirtualSystemSnapshotService : CIM_VirtualSystemSnapshotService { };
+[Description (
+ "Service to create, apply and destroy snapshots of virtual systems."
+ )]
+class Virt_VirtualSystemSnapshotService: CIM_VirtualSystemSnapshotService {
+ [Override, Description ( "Creates a snapshot of a virtual system." ),
+ ValueMap { "0", "1", "2", "3", "4", "5", "6", "..", "4096",
+ "4097..32767", "32768..65535" },
+ Values { "Completed with No Error", "Not Supported",
+ "Failed", "Timeout", "Invalid Parameter", "Invalid State",
+ "Invalid Type", "DMTF Reserved",
+ "Method Parameters Checked - Job Started",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 CreateSnapshot(
+ [In, Description (
+ "Reference to the affected virtual system." )]
+ CIM_ComputerSystem REF AffectedSystem,
+ [In, Description ( "Parameter settings." ),
+ EmbeddedInstance ( "CIM_SettingData" )]
+ string SnapshotSettings,
+ [In, Description (
+ "Requested snapshot type:\n"
+ "Full Snapshot: Complete snapshot of the virtual system.\n"
+ "Disk Snapshot: Snapshot of virtual system disks.\n"
+ "Memory Snapshot: Snapshot of virtual system memory only. "
+ "The virtual system remains active after memory snapshot "
+ "is complete.\n"
+ "Memory Snapshot Terminal: Snapshot of virtual system "
+ "memory only. The virtual system is transitioned to "
+ "disabled state after the memory snapshot is complete.\n" ),
+ ValueMap { "2", "3", "..", "32768", "32769", "32770..65535" },
+ Values { "Full Snapshot", "Disk Snapshot",
+ "DMTF Reserved", "Memory Snapshot", "Memory Snapshot Terminal",
+ "Vendor Specific" },
+ ModelCorrespondence {
+ "CIM_VirtualSystemSnapshotCapabilities.SnapshotTypesEnabled",
+ "CIM_VirtualSystemSnapshotServiceCapabilities.SnapshotTypesSupported" }]
+ uint16 SnapshotType,
+ [In, Out, Description (
+ "Resulting virtual system snapshot" )]
+ CIM_VirtualSystemSettingData REF ResultingSnapshot,
+ [In, Out, Description (
+ "If the operation is long running, then optionally "
+ "a job may be returned. In this case, the instance "
+ "of the CIM_VirtualSystemSettingData class "
+ "representing the new virtual system snapshot is "
+ "presented via the CIM_AffectedJobElement "
+ "association with the value of the AffectedElement "
+ "property referring to the new instance of the "
+ "CIM_VirtualSystemSettingData class representing "
+ "the virtual system snapshot and and the value of "
+ "the ElementEffects set to 5 (Create)." )]
+ CIM_ConcreteJob REF Job);
+};
+
+class Xen_VirtualSystemSnapshotService : Virt_VirtualSystemSnapshotService { };
+class KVM_VirtualSystemSnapshotService : Virt_VirtualSystemSnapshotService { };
+class LXC_VirtualSystemSnapshotService : Virt_VirtualSystemSnapshotService { };
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libvirt-cim-0.5.1/src/Virt_ComputerSystem.c new/libvirt-cim-0.5.1/src/Virt_ComputerSystem.c
--- old/libvirt-cim-0.5.1/src/Virt_ComputerSystem.c 2008-08-04 20:57:27.000000000 +0200
+++ new/libvirt-cim-0.5.1/src/Virt_ComputerSystem.c 2008-08-09 08:39:00.000000000 +0200
@@ -230,6 +230,22 @@
}
}
+static unsigned char adjust_state_xen(virDomainPtr dom,
+ unsigned char state)
+{
+ virConnectPtr conn;
+
+ if (state != VIR_DOMAIN_NOSTATE)
+ return state;
+
+ conn = virDomainGetConnect(dom);
+
+ if (STREQC(virConnectGetType(conn), "Xen"))
+ return VIR_DOMAIN_RUNNING;
+
+ return state;
+}
+
static uint16_t adjust_state_if_saved(const char *name,
uint16_t state)
{
@@ -260,6 +276,8 @@
if (ret != 0)
return 0;
+ info.state = adjust_state_xen(dom, info.state);
+
cim_state = state_lv_to_cim((const int)info.state);
cim_state = adjust_state_if_saved(virDomainGetName(dom), cim_state);
CMSetProperty(instance, "EnabledState",
@@ -812,6 +830,8 @@
CMPIStatus s = {CMPI_RC_OK, NULL};
int ret = 0;
+ info->state = adjust_state_xen(dom, info->state);
+
switch (info->state) {
case VIR_DOMAIN_RUNNING:
case VIR_DOMAIN_BLOCKED:
@@ -837,9 +857,12 @@
CMPIStatus s = {CMPI_RC_OK, NULL};
int ret = 0;
+ info->state = adjust_state_xen(dom, info->state);
+
switch (info->state) {
case VIR_DOMAIN_RUNNING:
case VIR_DOMAIN_BLOCKED:
+ case VIR_DOMAIN_PAUSED:
CU_DEBUG("Reboot domain");
ret = virDomainReboot(dom, 0);
break;
@@ -862,9 +885,12 @@
CMPIStatus s = {CMPI_RC_OK, NULL};
int ret = 0;
+ info->state = adjust_state_xen(dom, info->state);
+
switch (info->state) {
case VIR_DOMAIN_RUNNING:
case VIR_DOMAIN_BLOCKED:
+ case VIR_DOMAIN_PAUSED:
CU_DEBUG("Reset domain");
ret = domain_reset(dom);
break;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/libvirt-cim-0.5.1/src/Virt_VirtualSystemSnapshotService.c new/libvirt-cim-0.5.1/src/Virt_VirtualSystemSnapshotService.c
--- old/libvirt-cim-0.5.1/src/Virt_VirtualSystemSnapshotService.c 2008-08-04 20:57:27.000000000 +0200
+++ new/libvirt-cim-0.5.1/src/Virt_VirtualSystemSnapshotService.c 2008-08-09 08:39:00.000000000 +0200
@@ -397,7 +397,7 @@
}
ctx->save = (type != 0);
- ctx->restore = (type != VIR_VSSS_SNAPSHOT_MEM);
+ ctx->restore = (type != VIR_VSSS_SNAPSHOT_MEMT);
s = create_job(context, ref, ctx, &job);
@@ -542,7 +542,7 @@
char *name = NULL;
uint32_t retcode = CIM_RETURN_FAILED;
- if (cu_get_ref_arg(argsin, "AffectedSnapshot", &snap) != CMPI_RC_OK) {
+ if (cu_get_ref_arg(argsin, "Snapshot", &snap) != CMPI_RC_OK) {
cu_statusf(_BROKER, &s,
CMPI_RC_ERR_INVALID_PARAMETER,
"Missing Snapshot");
@@ -587,7 +587,7 @@
static struct method_handler ApplySnapshot = {
.name = "ApplySnapshot",
.handler = apply_snapshot,
- .args = {{"AffectedSnapshot", CMPI_ref, false},
+ .args = {{"Snapshot", CMPI_ref, false},
ARG_END}
};
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libvirt
checked in at Sun Aug 10 01:31:46 CEST 2008.
--------
--- arch/i386/libvirt/libvirt.changes 2008-07-06 19:16:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/libvirt/libvirt.changes 2008-08-09 08:14:17.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Aug 9 01:10:52 MDT 2008 - jfehlig(a)novell.com
+
+- Adjustments to spec file
+ + Added /var/lib/libvirt directory
+ + Enabled LXC support if suse_version > 1100, fate #304001
+ + Cleaned up some rpmlint warnings
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.D25874/_old 2008-08-10 01:30:20.000000000 +0200
+++ /var/tmp/diff_new_pack.D25874/_new 2008-08-10 01:30:20.000000000 +0200
@@ -2,29 +2,38 @@
# spec file for package libvirt (Version 0.4.4)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define with_xen 1
-%define with_polkit 0
+%define with_lxc 0
# Xen is available only on i386 x86_64 ia64
%ifnarch i386 i586 x86_64 ia64
%define with_xen 0
%endif
+%if 0%{?suse_version} > 1100
+%define with_lxc 1
+%endif
Name: libvirt
-BuildRequires: bridge-utils cyrus-sasl-devel fdupes gettext gnutls-devel iptables libxml2-devel lvm2 ncurses-devel parted parted-devel pkg-config python-devel readline-devel util-linux xhtml-dtd
+BuildRequires: PolicyKit-devel bridge-utils cyrus-sasl-devel dnsmasq fdupes gettext gnutls-devel iptables-devel libxml2-devel lvm2 ncurses-devel parted-devel pkg-config python-devel readline-devel util-linux xhtml-dtd
%if %{with_xen}
BuildRequires: xen-devel
%endif
%if 0%{?suse_version} > 1030
-%define with_polkit 1
-BuildRequires: PolicyKit-devel dnsmasq libavahi-devel
+BuildRequires: libavahi-devel
%else
BuildRequires: avahi-devel
%endif
@@ -35,9 +44,8 @@
Group: Development/Libraries/C and C++
AutoReqProv: yes
Version: 0.4.4
-Release: 1
+Release: 14
Summary: A C toolkit to interract with the virtualization capabilities of Linux
-Requires: libxml2
Requires: readline
Requires: ncurses
Requires: bridge-utils
@@ -46,10 +54,8 @@
Requires: lvm2
Requires: parted
Recommends: cyrus-sasl-digestmd5
-%if 0%{?suse_version} > 1030
Requires: dnsmasq
Requires: PolicyKit >= 0.6
-%endif
Source0: %{name}-%{version}.tar.bz2
Source1: libvirtd.init
Patch0: libvirtd-polkit.patch
@@ -150,13 +156,16 @@
%if ! %{with_xen}
%define _without_xen --without-xen
%endif
+%if %{with_lxc}
+%define _with_lxc --with-lxc
+%endif
autoreconf -f -i
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure %{?_without_xen} \
+ %{?_with_lxc} \
--libexecdir=%{_libdir}/%{name} \
--with-init-script=none \
- --with-qemud-pid-file=%{_localstatedir}/run/libvirt_qemud.pid \
- --with-remote-file=%{_localstatedir}/run/libvirtd.pid \
+ --with-remote-pid-file=%{_localstatedir}/run/libvirtd.pid \
--with-storage-iscsi=no \
--with-xen-proxy=no
make DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
@@ -165,12 +174,13 @@
%install
%makeinstall DOCS_DIR=%{_docdir}/%{name}-python EXAMPLE_DIR=%{_docdir}/%{name}-python/examples HTML_DIR=%{_docdir}/%{name}
cp -a AUTHORS ChangeLog COPYING NEWS README TODO $RPM_BUILD_ROOT%{_docdir}/%{name}/
-# remove currently unsupported locale
+# remove currently unsupported locale(s)
rm -rf $RPM_BUILD_ROOT/usr/share/locale/sr@latin
# for now, do not install the default network definition
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
-mkdir -p $RPM_BUILD_ROOT/var/run/libvirtd
+mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/libvirt
+mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/libvirt
rm $RPM_BUILD_ROOT%{_docdir}/%{name}/{*.c,examples.x*}
rm $RPM_BUILD_ROOT%{_libdir}/*.*a $RPM_BUILD_ROOT%{py_sitedir}/*.*a
ln_dupes()
@@ -220,18 +230,21 @@
%doc %{_mandir}/man1/virsh.1*
%{_libdir}/*.so.*
%dir %{_libdir}/%{name}
+%if 0%{?suse_version} > 1030
%{_libdir}/%{name}/libvirt_parthelper
+%endif
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
-%dir /var/run/libvirt/
+%dir /%{_localstatedir}/run/libvirt/
+%dir /%{_localstatedir}/lib/libvirt/
%config /etc/init.d/libvirtd
%{_sbindir}/rclibvirtd
%config %{_sysconfdir}/libvirt/libvirtd.conf
%config %{_sysconfdir}/libvirt/qemu.conf
%config %{_sysconfdir}/sasl2/libvirt.conf
-%if %{with_polkit}
+%if 0%{?suse_version} > 1030
%{_datadir}/PolicyKit/policy/libvirtd.policy
%endif
@@ -255,6 +268,11 @@
%{py_sitedir}/libvirtmod*
%changelog
+* Sat Aug 09 2008 jfehlig(a)novell.com
+- Adjustments to spec file
+ + Added /var/lib/libvirt directory
+ + Enabled LXC support if suse_version > 1100, fate #304001
+ + Cleaned up some rpmlint warnings
* Sun Jul 06 2008 jfehlig(a)novell.com
- Updated to libvirt 0.4.4
+ Bug fixes: QEmu network serialization, internal memory allocation
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libcares2
checked in at Sun Aug 10 01:30:11 CEST 2008.
--------
--- libcares2/libcares2.changes 2008-06-15 20:45:46.000000000 +0200
+++ /mounts/work_src_done/STABLE/libcares2/libcares2.changes 2008-08-10 00:04:29.000000000 +0200
@@ -1,0 +2,8 @@
+Sat Aug 9 23:56:49 CEST 2008 - crrodriguez(a)suse.de
+
+- update to c-ares 1.5.3+20080809
+ * users found that the second and subsequent DNS lookups from
+ fresh processes using c-ares to resolve the same
+ address would randomly cause the process to never see a reply.
+
+-------------------------------------------------------------------
Old:
----
c-ares-1.5.2.tar.bz2
New:
----
c-ares-1.5.3+20080809.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libcares2.spec ++++++
--- /var/tmp/diff_new_pack.g22169/_old 2008-08-10 01:29:53.000000000 +0200
+++ /var/tmp/diff_new_pack.g22169/_new 2008-08-10 01:29:53.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package libcares2 (Version 1.5.2)
+# spec file for package libcares2 (Version 1.5.3+20080809)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -14,7 +21,7 @@
%define pkg_name c-ares
Name: libcares2
-Version: 1.5.2
+Version: 1.5.3+20080809
Release: 1
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -132,6 +139,11 @@
%{_libdir}/pkgconfig/libcares.pc
%changelog
+* Sun Aug 10 2008 crrodriguez(a)suse.de
+- update to c-ares 1.5.3+20080809
+ * users found that the second and subsequent DNS lookups from
+ fresh processes using c-ares to resolve the same
+ address would randomly cause the process to never see a reply.
* Sun Jun 15 2008 crrodriguez(a)suse.de
- update to version 1.5.2 final
* code refactoring in ares_gethostbyaddr
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kiwi-image-livecd-kde
checked in at Sun Aug 10 01:29:43 CEST 2008.
--------
--- arch/i686/kiwi-image-livecd-kde/kiwi-image-livecd-gnome.changes 2008-08-08 17:19:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/kiwi-image-livecd-kde/kiwi-image-livecd-gnome.changes 2008-08-10 01:22:21.922812000 +0200
@@ -1,0 +2,5 @@
+Sat Aug 9 07:04:12 CEST 2008 - coolo(a)suse.de
+
+- remove unneeded buildrequire
+
+-------------------------------------------------------------------
kiwi-image-livecd-kde.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi-image-livecd-gnome.spec ++++++
--- /var/tmp/diff_new_pack.V21177/_old 2008-08-10 01:29:07.000000000 +0200
+++ /var/tmp/diff_new_pack.V21177/_new 2008-08-10 01:29:07.000000000 +0200
@@ -24,7 +24,7 @@
BuildRequires: checkmedia fdupes kiwi-desc-oemboot kiwi-desc-usbboot kiwi-tools smart squashfs
BuildRequires: bundle-lang-common-en cracklib-dict-small lzma pm-utils yast2-live-installer
BuildRequires: bootsplash bootsplash-branding-openSUSE cromfs gfxboot-devel glib2-lang gnome-keyring-lang
-BuildRequires: licenses opensuse-manual_en-pdf skelcd-control-openSUSE skelcd-openSUSE-CD
+BuildRequires: licenses skelcd-control-openSUSE skelcd-openSUSE-CD
BuildRequires: opensuse-gnomequick_en-pdf yast2-firstboot
# the following are listed as needed without a way for me to track it
# without solving and I have no idea how to do that automatically.
@@ -36,7 +36,7 @@
BuildRequires: ghostscript-fonts-std ghostscript-library
Summary: GNOME Live CD
Version: 11.1
-Release: 4
+Release: 5
Group: Productivity/Other
License: BSD 3-Clause
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -196,6 +196,8 @@
/usr/share/openSUSE
%changelog
+* Sat Aug 09 2008 coolo(a)suse.de
+- remove unneeded buildrequire
* Fri Aug 08 2008 coolo(a)suse.de
- take the repos out of the control.xml (to build it easily against
11.0 and 11.1)
++++++ kiwi-image-livecd-kde.spec ++++++
--- /var/tmp/diff_new_pack.V21177/_old 2008-08-10 01:29:07.000000000 +0200
+++ /var/tmp/diff_new_pack.V21177/_new 2008-08-10 01:29:07.000000000 +0200
@@ -24,7 +24,7 @@
BuildRequires: checkmedia fdupes kiwi-desc-oemboot kiwi-desc-usbboot kiwi-tools smart squashfs
BuildRequires: bundle-lang-common-en cracklib-dict-small lzma pm-utils yast2-live-installer
BuildRequires: bootsplash bootsplash-branding-openSUSE cromfs gfxboot-devel glib2-lang gnome-keyring-lang
-BuildRequires: licenses opensuse-manual_en-pdf skelcd-control-openSUSE skelcd-openSUSE-CD
+BuildRequires: licenses skelcd-control-openSUSE skelcd-openSUSE-CD
BuildRequires: opensuse-kdequick_en-pdf yast2-firstboot
# the following are listed as needed without a way for me to track it
# without solving and I have no idea how to do that automatically.
@@ -36,7 +36,7 @@
BuildRequires: ghostscript-fonts-std ghostscript-library
Summary: KDE live CD
Version: 11.1
-Release: 4
+Release: 5
Group: System/Boot
License: BSD 3-Clause
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -196,6 +196,8 @@
/usr/share/openSUSE
%changelog
+* Sat Aug 09 2008 coolo(a)suse.de
+- remove unneeded buildrequire
* Fri Aug 08 2008 coolo(a)suse.de
- take the repos out of the control.xml (to build it easily against
11.0 and 11.1)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdump
checked in at Sun Aug 10 01:22:18 CEST 2008.
--------
--- kdump/kdump.changes 2008-08-07 13:13:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdump/kdump.changes 2008-08-09 18:49:22.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Aug 9 18:37:52 CEST 2008 - bwalle(a)suse.de
+
+- update to 0.6.1
+ o add kdump(7) manual page
+
+-------------------------------------------------------------------
Old:
----
kdump-0.6.0.tar.bz2
New:
----
kdump-0.6.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdump.spec ++++++
--- /var/tmp/diff_new_pack.n10232/_old 2008-08-10 01:22:08.000000000 +0200
+++ /var/tmp/diff_new_pack.n10232/_new 2008-08-10 01:22:08.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kdump (Version 0.6.0)
+# spec file for package kdump (Version 0.6.1)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -21,7 +21,7 @@
Name: kdump
License: GPL v2 or later
-Version: 0.6.0
+Version: 0.6.1
Release: 1
Requires: curl openssh makedumpfile
Summary: Script for kdump
@@ -93,6 +93,7 @@
%{_sbindir}/kdumptool
%{_sbindir}/mkdumprd
%{_mandir}/man5/kdump.5.gz
+%{_mandir}/man7/kdump.7.gz
%{_mandir}/man8/kdumptool.8.gz
%{_mandir}/man8/mkdumprd.8.gz
/sbin/rckdump
@@ -102,6 +103,9 @@
%config %{_sysconfdir}/udev/rules.d/70-kdump.rules
%changelog
+* Sat Aug 09 2008 bwalle(a)suse.de
+- update to 0.6.1
+ o add kdump(7) manual page
* Thu Aug 07 2008 bwalle(a)suse.de
- update to 0.6.0
o add vmcore(5) manual page
++++++ kdump-0.6.0.tar.bz2 -> kdump-0.6.1.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/ChangeLog new/kdump-0.6.1/ChangeLog
--- old/kdump-0.6.0/ChangeLog 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/ChangeLog 2008-08-09 18:43:53.000000000 +0200
@@ -1,3 +1,7 @@
+2008-08-07 Bernhard Walle <bernhard.walle(a)gmx.de>
+
+ * add kdump(7) manual page
+
2008-08-06 Bernhard Walle <bwalle(a)suse.de>
* implement email support (send_notification command)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/CMakeLists.txt new/kdump-0.6.1/CMakeLists.txt
--- old/kdump-0.6.0/CMakeLists.txt 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/CMakeLists.txt 2008-08-09 18:43:53.000000000 +0200
@@ -26,7 +26,7 @@
cmake_minimum_required(VERSION 2.4)
set (PACKAGE_STRING "kdump")
-set (PACKAGE_VERSION "0.6.0")
+set (PACKAGE_VERSION "0.6.1")
include_directories("${PROJECT_BINARY_DIR}")
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/doc/man/CMakeLists.txt new/kdump-0.6.1/doc/man/CMakeLists.txt
--- old/kdump-0.6.0/doc/man/CMakeLists.txt 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/doc/man/CMakeLists.txt 2008-08-09 18:43:53.000000000 +0200
@@ -17,6 +17,21 @@
# 02110-1301, USA.
#
+ADD_CUSTOM_COMMAND(
+ OUTPUT
+ ${CMAKE_CURRENT_BINARY_DIR}/kdump.7.gz
+ COMMAND
+ ${A2X_EXECUTABLE} ${A2X_MAN_OPTIONS}
+ -D ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/kdump.7.txt &&
+ rm -f ${CMAKE_CURRENT_SOURCE_DIR}/kdump.7.xml &&
+ gzip -f ${CMAKE_CURRENT_BINARY_DIR}/kdump.7
+ DEPENDS
+ ${CMAKE_CURRENT_SOURCE_DIR}/kdump.7.txt
+ WORKING_DIRECTORY
+ ${CMAKE_CURRENT_BINARY_DIR}
+)
+
ADD_CUSTOM_COMMAND(
OUTPUT
@@ -85,6 +100,7 @@
ADD_CUSTOM_TARGET(
manpages
DEPENDS
+ ${CMAKE_CURRENT_BINARY_DIR}/kdump.7.gz
${CMAKE_CURRENT_BINARY_DIR}/vmcore.5.gz
${CMAKE_CURRENT_BINARY_DIR}/kdump.5.gz
${CMAKE_CURRENT_BINARY_DIR}/kdumptool.8.gz
@@ -100,9 +116,9 @@
INSTALL(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/kdumptool.8.gz
+ ${CMAKE_CURRENT_BINARY_DIR}/kdump.7.gz
DESTINATION
- share/man/man8
+ share/man/man7
)
INSTALL(FILES
@@ -112,6 +128,7 @@
)
INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/kdumptool.8.gz
${CMAKE_CURRENT_BINARY_DIR}/mkdumprd.8.gz
DESTINATION
share/man/man8
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/doc/man/kdump.5.html new/kdump-0.6.1/doc/man/kdump.5.html
--- old/kdump-0.6.0/doc/man/kdump.5.html 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/doc/man/kdump.5.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,247 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>kdump</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="id212088"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>kdump — Configuration of kdump</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p>/etc/sysconfig/kdump</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_description"></a><h2>DESCRIPTION</h2><p>This configuration file provides various options for the kdump loading and
-saving process. It's mostly read by <span class="strong"><strong>kdumptool</strong></span>(8) but also by the kdump init
-script.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_options"></a><h2>OPTIONS</h2><p>The file format consists of shell variables (which means that the configuration
-file is actually parsed by a <span class="strong"><strong>sh</strong></span>(1) compatible shell) that are described below.
-It's recommended to use a pair of double quotes to assign values to that
-variables.</p><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_kernelver"></a><h3>KDUMP_KERNELVER</h3><p>Kernel Version string for the -kdump kernel, such as "2.6.25-5-kdump".
-The init script will use a kernel named <span class="emphasis"><em>/boot/vmlinu[zx]-$KDUMP_KERNELVER</em></span>.
-Using "kdump" will default to the most recently installed kdump kernel
-(to which the symbolic link <span class="emphasis"><em>/boot/vmlinuz-kdump</em></span> points).</p><p>If no version is specified, then the init script will try to find a
-kdump kernel with the following algorithm:</p><div class="orderedlist"><ol type="1"><li>
-Use $(uname -r)-kdump
-</li><li>
-If that doesn't exist, use -kdump
-</li><li>
-If that doesn't exist, use $(uname -r)
-</li><li>
-If that doesn't exist, use ""
-</li></ol></div><p>On each item, it tries:</p><div class="orderedlist"><ol type="1"><li>
-/boot/*vmlinuz
-</li><li>
-/boot/*vmlinux
-</li><li>
-/boot/*vmlinux.gz
-</li></ol></div><p>If the name does not contain "kdump", the kernel is checked for relocatability
-using <span class="emphasis"><em>kdumptool identify_dump</em></span>.</p><p>Default is "".</p><div class="refsect3" lang="en" xml:lang="en"><a id="_initrd"></a><h4>Initrd</h4><p>For the initrd, if the kernel name already contains "kdump", then the initrd
-<span class="emphasis"><em>/boot/initrd-<kernelver></em></span> is used. Else, we use
-<span class="emphasis"><em>/boot/initrd-<kernelver>-kdump</em></span> (the kernel flavour is not replaced, so for
-example this means <span class="emphasis"><em>/boot/initrd-2.6.25.9-0.2-default-kdump</em></span>. This is because
-the initrd used for kdump always has to be special, and it makes no sense to
-load the normal initrd that would not save the dump.</p></div></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_commandline"></a><h3>KDUMP_COMMANDLINE</h3><p>Command line used to boot the kdump kernel. By default, the <span class="emphasis"><em>/etc/init.d/kdump</em></span>
-script tries to build a command line automatically from the command line of the
-running system, preserving root partition, serial console, etc. If you manually
-create a command line, make sure to include:</p><div class="itemizedlist"><ul type="disc"><li>
-the <span class="emphasis"><em>root</em></span> parameter,
-</li><li>
-any <span class="emphasis"><em>console</em></span> parameters (for serial console),
-</li><li>
-<span class="emphasis"><em>maxcpus=1</em></span>,
-</li><li>
-<span class="emphasis"><em>irqpoll</em></span>,
-</li><li>
-<span class="emphasis"><em>reset_devices</em></span>,
-</li><li>
-<span class="emphasis"><em>elevator=deadline</em></span> to save the memory footprint.
-</li></ul></div><p>The last three parameters are special for kdump and should always be included,
-if you don't have a good reason to exclude them.</p><p>If you just want have an own command line parameter to be added additionally,
-use KDUMP_COMMANDLINE_APPEND.</p><p>Default is "".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_commandline_append"></a><h3>KDUMP_COMMANDLINE_APPEND</h3><p>This variable describes all command line parameters that are passed to the kdump
-kernel additionally to the default parameters. See also KDUMP_COMMANDLINE.</p><p>Default is "".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kexec_options"></a><h3>KEXEC_OPTIONS</h3><p>Additional options for <span class="strong"><strong>kexec</strong></span>(8).</p><p>Default is "" except on IA64 where it is "--noio".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_makedumpfile_options"></a><h3>MAKEDUMPFILE_OPTIONS</h3><p>Additional options for <span class="strong"><strong>makedumpfile</strong></span>(8). makedumpfile will be used to save the
-dump if KDUMP_DUMPLEVEL is non-zero or KDUMP_DUMPFORMAT is not <span class="emphasis"><em>ELF</em></span>.
-Normally, you don't have to specify any options here, but you may be asked in
-Bugzilla to add the <span class="emphasis"><em>-D</em></span> option for debugging.</p><p>Default is "".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_immediate_reboot"></a><h3>KDUMP_IMMEDIATE_REBOOT</h3><p>Immediately reboot after saving the core in the kdump kernel? Use "yes" or "no".</p><p>Default is "yes".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_transfer"></a><h3>KDUMP_TRANSFER</h3><p>A script or command executed to process and transfer the dump image.
-It can read the dump image either via /proc/vmcore or /dev/oldmem. Most other
-variables will have no effect if you use a custom command here.</p><p>It's important that all requirements including that script itself are included
-in KDUMP_REQUIRED_PROGRAMS.</p><p>It's strongly recommended that the default mechanism is used, it should provide
-everything that is needed, together with KDUMP_PRESCRIPT and
-KDUMP_POSTSCRIPT. We can't support problems with using that variable.</p><p>KDUMP_PRESCRIPT and KDUMP_POSTSCRIPT are not executed if KDUMP_TRANSFER is set.</p><p>Default: "".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_savedir"></a><h3>KDUMP_SAVEDIR</h3><p>The directory where dumps are saved to. If the directory does not exist, it will
-be created. The directory is a URL and must conform to the syntax described in
-the section "URL FORMAT" below. If the directory does not exist, it will be
-created. (That is true for all targets, even network targets. Of course the user
-must have the permission to create directories.)</p><p>Below that directory, for each dump a directory with a time stamp in the
-following format will be created: "YYYY-MM-TT-HH:MM". That directory contains
-the dump and various other files, depending which dump target will be used and
-which dump settings are made.</p><p>If KDUMP_COPY_KERNEL is set, that directory will also contain the kernel.</p><p>Default: "file:///var/log/dump".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_keep_old_dumps"></a><h3>KDUMP_KEEP_OLD_DUMPS</h3><p>Number of old dumps to keep. That variable is only honored on local directories
-(i.e., if KDUMP_SAVEDIR starts with <span class="emphasis"><em>file</em></span>) because we think it's bad from a
-security point of view if other hosts delete stuff (that may be from another
-hosts) on a dump server. The deletion process takes place before the dumps are
-saved. So if you specify 3 here, then after the dump has been saved, 4 dumps are
-on disk.</p><p>Set that variable to "0" to disable the deletion of dumps entirely, and set
-that variable to "-1" to delete all dumps, i.e. then only the just saved dump is
-on disk.</p><p>Default: "5"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_free_disk_size"></a><h3>KDUMP_FREE_DISK_SIZE</h3><p>Don't save the dump (or delete it afterwards) if after saving the dump less than
-KDUMP_FREE_DISK_SIZE megabytes are free. Because when dump compression or dump
-filtering (see KDUMP_DUMPLEVEL and KDUMP_DUMPFORMAT) is used, we don't know in
-advance how large the dump will be, we have to delete the dump after saving it.</p><p>That option applies only to local file systems, i.e. KDUMP_SAVEDIR must start
-with <span class="emphasis"><em>file</em></span>.</p><p>Default: "64"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_verbose"></a><h3>KDUMP_VERBOSE</h3><p>Bit mask of several options that set the verbosity of the dump process. To apply
-several options, you have to add their value. The options are:</p><div class="variablelist"><dl><dt><span class="term">
-1
-</span></dt><dd>
- kdump command line is written to system log when executing /etc/init.d/kdump.
-</dd><dt><span class="term">
-2
-</span></dt><dd>
- Progress is written to stdout while dumping.
-</dd><dt><span class="term">
-4
-</span></dt><dd>
- kdump command line is written so standard output when executing
- /etc/init.d/kdump.
-</dd><dt><span class="term">
-8
-</span></dt><dd>
- Debugging for kdump transfer mechanism. That is executed in initrd and
- generates lots of output. However, it's very useful if something does not
- work.
-</dd></dl></div><p>So, for example, if you want to have the command line on stdout when loading the
-kernel and also in the system log, just use KDUMP_VERBOSE = 5 (i.e. 1 + 4).</p><p>Default: "3".</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_dumplevel"></a><h3>KDUMP_DUMPLEVEL</h3><p>Determines the dump level. If KDUMP_DUMPLEVEL is non-zero, then
-<span class="strong"><strong>makedumpfile</strong></span>(8) is used to strip pages that may not be necessary for
-analysing. 0 means no stripping, and 31 is the maximum dump level, i.e.
-0 produces the largest dump files and 31 the smallest.</p><p>The following table from makedumpfile(8) shows what each dump level means:</p><pre class="literallayout"> dump | zero | cache|cache | user | free
- level | page | page |private| data | page
--------+------+------+-------+------+------
- 0 | | | | |
- 1 | X | | | |
- 2 | | X | | |
- 3 | X | X | | |
- 4 | | X | X | |
- 5 | X | X | X | |
- 6 | | X | X | |
- 7 | X | X | X | |
- 8 | | | | X |
- 9 | X | | | X |
- 10 | | X | | X |
- 11 | X | X | | X |
- 12 | | X | X | X |
- 13 | X | X | X | X |
- 14 | | X | X | X |
- 15 | X | X | X | X |
- 16 | | | | | X
- 17 | X | | | | X
- 18 | | X | | | X
- 19 | X | X | | | X
- 20 | | X | X | | X
- 21 | X | X | X | | X
- 22 | | X | X | | X
- 23 | X | X | X | | X
- 24 | | | | X | X
- 25 | X | | | X | X
- 26 | | X | | X | X
- 27 | X | X | | X | X
- 28 | | X | X | X | X
- 29 | X | X | X | X | X
- 30 | | X | X | X | X
- 31 | X | X | X | X | X</pre><p>Default: "0"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_dumpformat"></a><h3>KDUMP_DUMPFORMAT</h3><p>This variable specifies the dump format.</p><div class="variablelist"><dl><dt><span class="term">
-<span class="strong"><strong>ELF</strong></span>
-</span></dt><dd>
- <span class="emphasis"><em>ELF</em></span> has the advantage that it's a standard format and GDB can be used to
- analyse the dumps. The disadvantage is that the dump files are larger.
-</dd><dt><span class="term">
-<span class="strong"><strong>compressed</strong></span>
-</span></dt><dd>
- <span class="emphasis"><em>compressed</em></span> is the kdump compressed format that produces small dumps, see
- <span class="strong"><strong>makedumpfile</strong></span>(8). However, only <span class="strong"><strong>crash</strong></span>(8) can analyse the dumps and
- makedumpfile must be installed (but you need it anyway if you set
- KDUMP_DUMPLEVEL to non-zero before).
-</dd></dl></div><p>Default: "compressed"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_continue_on_error"></a><h3>KDUMP_CONTINUE_ON_ERROR</h3><p>If something goes wrong while saving the dump or deleting old dumps in initrd,
-then <span class="strong"><strong>kdumptool</strong></span>(8) normally just tries to execute the next action. However,
-it can be usedful to open a shell at that point of time to fix the problem
-or just debug it, therefore you can set KDUMP_CONTINUE_ON_ERROR to "true".</p><p>Default: "false"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_required_programs"></a><h3>KDUMP_REQUIRED_PROGRAMS</h3><p>This is a space-separated list of programs (full path) that are required by
-KDUMP_TRANSFER, KDUMP_PRESCRIPT or KDUMP_POSTSCRIPT. Dynamic libraries that are
-required by that programs don't have to be included as they are resolved
-automatically. However, it's necessary to include other runtime requirements
-because it's not possible to resolve them automatically.</p><p>Default: ""</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_prescript"></a><h3>KDUMP_PRESCRIPT</h3><p>Program that is executed before taking the dump. You have to include that
-program in KDUMP_REQUIRED_PROGRAMS.</p><p>Default: ""</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_postscript"></a><h3>KDUMP_POSTSCRIPT</h3><p>Program that is executed after taking the dump and before the system is
-rebooted. You have to include that program in KDUMP_POSTSCRIPT.</p><p>Default: ""</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_copy_kernel"></a><h3>KDUMP_COPY_KERNEL</h3><p>Not only copy the dump to KDUMP_SAVEDIR but also the installed kernel. Valid
-values are "yes" and "no". If you want to have the debugging information also
-copied, which is required to open the program, you also have to install the
-<span class="emphasis"><em>kernel-<flavour>-debuginfo</em></span> package.</p><p>Modules are not copied, only the kernel image and the debugging file.</p><p>Default: "yes"</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdumptool_flags"></a><h3>KDUMPTOOL_FLAGS</h3><p>This is a space-separated list of flags to tweak the run-time behaviour of
-<span class="strong"><strong>kdumptool</strong></span>(8). Currently, only one flag is supported:</p><div class="variablelist"><dl><dt><span class="term">
-<span class="strong"><strong>NOSPARSE</strong></span>
-</span></dt><dd>
- Disable the creation of sparse-files. This flag is for debugging purposes,
- e.g. if the file system or network protocol has problems with sparse files.
- Because SFTP and FTP are not mounted, that option has no meaning when saving
- the dump to SFTP and FTP.
-</dd></dl></div><p>Default: ""</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_kdump_netconfig"></a><h3>KDUMP_NETCONFIG</h3><p>Network configuration for kdump. Because the dump process runs in initrd, the
-network configuration is different from the normal network configuration. Use
-<span class="emphasis"><em>auto</em></span> to auto-detect the network configuration, this is also the default.</p><p>Use a <span class="emphasis"><em>netdevice:mode</em></span> string to force a specific network device to be used. A
-<span class="emphasis"><em>netdevice</em></span> is for example "eth0". The <span class="emphasis"><em>mode</em></span> can be either "dhcp" or "static".
-If you use "static", you have to set the IP address with <span class="emphasis"><em>ip=ipspec</em></span>. <span class="emphasis"><em>ipspec</em></span>
-is <client>:<server>:<gateway>:<netmask>:<hostname>:<device>:<proto>. See
-<span class="strong"><strong>mkinitrd</strong></span>(8) for details.</p><p>You can set KDUMP_NETCONFIG to "" if you want no network in initrd, i.e. you use
-disk dumping.</p><p>Default: "auto"</p></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="_url_format"></a><h2>URL FORMAT</h2><p>In general, the URL format is</p><p><span class="emphasis"><em>protocol</em></span>://<span class="emphasis"><em>specification</em></span></p><p>where <span class="emphasis"><em>protocol</em></span> is one of:</p><div class="itemizedlist"><ul type="disc"><li>
-<span class="strong"><strong>file</strong></span>,
-</li><li>
-<span class="strong"><strong>ftp</strong></span>,
-</li><li>
-<span class="strong"><strong>sftp</strong></span> (aliases are <span class="strong"><strong>ssh</strong></span> or <span class="strong"><strong>scp</strong></span>),
-</li><li>
-<span class="strong"><strong>nfs</strong></span>
-</li><li>
-<span class="strong"><strong>cifs</strong></span> (alias is <span class="strong"><strong>smb</strong></span>).
-</li></ul></div><p>The <span class="emphasis"><em>specification</em></span> varies for each protocol.</p><div class="refsect2" lang="en" xml:lang="en"><a id="_local_files_emphasis_file_emphasis"></a><h3>Local files (<span class="emphasis"><em>file</em></span>)</h3><p>That type describes a local path.</p><p><span class="emphasis"><em>Format:</em></span> <code class="literal">file://]<span class="emphasis"><em>path</em></span></code></p><p>As shown, the <span class="emphasis"><em>file</em></span> prefix is optional, i.e. a simple path is still valid.
-The <span class="emphasis"><em>path</em></span> must start with a leading slash (/), i.e. only absolute paths are
-allowed.</p><p><span class="emphasis"><em>Examples:</em></span></p><div class="itemizedlist"><ul type="disc"><li>
-<code class="literal">/var/log/dump</code>
-</li><li>
-<code class="literal">file:///var/log/dump</code>
-</li></ul></div></div><div class="refsect2" lang="en" xml:lang="en"><a id="_file_transfer_protocol_emphasis_ftp_emphasis"></a><h3>File Transfer Protocol (<span class="emphasis"><em>ftp</em></span>)</h3><p>This URL type is used to specify paths on a remote FTP server.</p><p><span class="emphasis"><em>Format:</em></span> <code class="literal">ftp:// [ <span class="emphasis"><em>user</em></span> [:<span class="emphasis"><em>password</em></span>]@ ] <span class="emphasis"><em>hostname</em></span> [:<span class="emphasis"><em>port</em></span>] ] <span class="emphasis"><em>path</em></span></code></p><p>The remote <span class="emphasis"><em>user</em></span> is optional, if no user is specified, anonymous FTP is
-assumed. Even if a username is specified, the <span class="emphasis"><em>password</em></span> is optional, if no
-password is specified, an empty password is used. When the username is
-"anonymous", then "$USER@$HOSTNAME" is used as password because some FTP
-servers deny anonymous FTP with empty passwords.</p><p><span class="emphasis"><em>hostname</em></span> can be either a (DNS-)resolvable hostname, with or without a domain
-name, or an IP address in totted decimal format. <span class="emphasis"><em>port</em></span> can be used to
-specify the remote port, if no port is specified in the URL, the default FTP
-port is used. Finally, <span class="emphasis"><em>path</em></span> must conform to the same rules as for local
-files (see above).</p><p><span class="emphasis"><em>Examples:</em></span></p><div class="itemizedlist"><ul type="disc"><li>
-<code class="literal">ftp://neptunium/var/log/dump</code>
-</li><li>
-<code class="literal">ftp://<a class="ulink" href="mailto:bwalle@neptunium.suse.de" target="_top">bwalle(a)neptunium.suse.de</a>/var/log/dump</code>
-</li><li>
-<code class="literal">ftp://bwalle:dontsay@strauss.suse.de:123/var/log/dump</code>
-</li><li>
-<code class="literal">ftp://192.168.0.70/var/log/dump</code>
-</li></ul></div></div><div class="refsect2" lang="en" xml:lang="en"><a id="_secure_file_transfer_protocol_emphasis_sftp_emphasis"></a><h3>Secure File Transfer Protocol (<span class="emphasis"><em>sftp</em></span>)</h3><p>This URL type is used to specify paths on a remote server that is reachable via
-SFTP. It's important that an SFTP server must be running (which is the default
-on SUSE), the <span class="strong"><strong>kdumptool</strong></span> does not use FISH (FIles transferred over SHell
-protocol).</p><p><span class="emphasis"><em>Format:</em></span> <code class="literal">sftp:// [ <span class="emphasis"><em>user</em></span> [:<span class="emphasis"><em>password</em></span>]@ ] <span class="emphasis"><em>hostname</em></span> [:<span class="emphasis"><em>port</em></span>] ] <span class="emphasis"><em>path</em></span></code></p><p>It's valid to use the alias "ssh" or "scp" as alias for "sftp" (for backward
-compatibility), but the "sftp" prefix is recommended.</p><p>For the elements, see the description of FTP above. Please note that the use of
-an password here is not recommended. The recommended way is to add the key where
-the file should be copied to to the "authorized_keys" file of the user where the
-dump is saved. For example, if you want to save the dump to the "kdump" user of
-the machine "collector", then generate a private/public key pair on the machine
-that saves the dump with <code class="literal">ssh-keygen -t dsa</code>. Append the file <span class="emphasis"><em>id_dsa.pub</em></span> (in
-<span class="emphasis"><em>root/.ssh/</em></span>) to <span class="emphasis"><em>~dump/.ssh/authorized_keys</em></span> on "collector".</p><pre class="screen">root@earth:~# ssh-keygen -t dsa
-...
-root@earth:~# cat /root/.ssh/id_dsa.pub \
- | ssh kdump@collector "cat - >> /root/.ssh/authorized_keys"</pre><p>Don't use any password to encrypt the key. <span class="strong"><strong>kdumptool</strong></span> is designed to be used
-non-interactively.</p><p><span class="emphasis"><em>Examples:</em></span></p><div class="itemizedlist"><ul type="disc"><li>
-<code class="literal">sftp://<a class="ulink" href="mailto:kdump@collector" target="_top">kdump@collector</a>:22/var/log/dump</code>
-</li><li>
-<code class="literal">sftp://neptunium/var/log/dump</code>
-</li><li>
-<code class="literal">scp://neptunium/var/log/dump</code>
-</li></ul></div></div><div class="refsect2" lang="en" xml:lang="en"><a id="_network_file_system_emphasis_nfs_emphasis"></a><h3>Network File System (<span class="emphasis"><em>nfs</em></span>)</h3><p>NFS is used to specify remote hosts that export their file system via NFS.
-NFS doesn't use username and password. Also, the URL format cannot be used
-to specify options. As default, the <span class="emphasis"><em>nolock</em></span> option is used.</p><p><span class="emphasis"><em>Format:</em></span> +nfs://<span class="emphasis"><em>host</em></span> [:<span class="emphasis"><em>port:] _path</em></span></p><p><span class="emphasis"><em>host</em></span> is the hostname, <span class="emphasis"><em>port</em></span> is optional (should not be used, it is only
-implemented for completeness with the other URL formats). <span class="emphasis"><em>path</em></span> specifies
-the path that is exported via NFS in <span class="emphasis"><em>/etc/exports</em></span> (or a subdirectory of a
-path that is exported).</p><p><span class="emphasis"><em>Examples:</em></span></p><div class="itemizedlist"><ul type="disc"><li>
-<code class="literal">nfs://neptunium/var/log/dump</code>
-</li><li>
-<code class="literal">nfs://10.10.2.120/var/log/dump</code>
-</li></ul></div></div><div class="refsect2" lang="en" xml:lang="en"><a id="_common_internet_file_system_emphasis_cifs_emphasis"></a><h3>Common Internet File System (<span class="emphasis"><em>cifs</em></span>)</h3><p>CIFS is used to specify remote hosts that export a file system via CIFS,
-also known as SMB (although they are technically different, CIFS is the
-successor of SMB). This could be a Microsoft Windows server, or a Samba
-Server running on Unix or MacOS.</p><p><span class="emphasis"><em>Format:</em></span> +cifs:// [<span class="emphasis"><em>user</em></span> [:<span class="emphasis"><em>password</em></span>] @] <span class="emphasis"><em>host</em></span> <span class="emphasis"><em>path</em></span></p><p>Although it's technically not 100 % correct, <span class="emphasis"><em>smb</em></span> is used as an alias for
-<span class="emphasis"><em>cifs</em></span>, so the program will always return <span class="emphasis"><em>cifs</em></span> even if you specify <span class="emphasis"><em>smb</em></span>.</p><p>The parts of the URL are described in the FTP section above.</p><p><span class="strong"><strong>Note:</strong></span> You have to use the slash as path separator, not the backslash as on
-Microsoft Windows.</p><p><span class="emphasis"><em>Examples:</em></span></p><div class="itemizedlist"><ul type="disc"><li>
-<code class="literal">cifs://neptunium/var/log/dump</code>
-</li><li>
-<code class="literal">cifs://bwalle:dontsay@neptunium:/var/log/dump</code>
-</li><li>
-<code class="literal">smb://<a class="ulink" href="mailto:bwalle@192.168.0.70" target="_top">bwalle(a)192.168.0.70</a>:/var/log</code>
-</li></ul></div></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="_bugs"></a><h2>BUGS</h2><p>Please report bugs and enhancement requests at <a class="ulink" href="https://bugzilla.novell.com" target="_top">https://bugzilla.novell.com</a>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_copying"></a><h2>COPYING</h2><p>Copyright (c) 2008 Bernhard Walle <<a class="ulink" href="mailto:bwalle@suse.de" target="_top">bwalle(a)suse.de</a>>. Free use of this software is
-granted under the terms of the GNU General Public License (GPL), version 2 or
-later.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_see_also"></a><h2>SEE ALSO</h2><p><span class="strong"><strong>kexec</strong></span>(8), <span class="strong"><strong>kdump</strong></span>(5), <span class="strong"><strong>makedumpfile</strong></span>(8)
-<a class="ulink" href="http://en.opensuse.org/Kdump" target="_top"><span class="emphasis"><em>http://en.opensuse.org/Kdump</em></span></a></p></div></div></body></html>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/doc/man/kdump.5.txt new/kdump-0.6.1/doc/man/kdump.5.txt
--- old/kdump-0.6.0/doc/man/kdump.5.txt 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/doc/man/kdump.5.txt 2008-08-09 18:43:53.000000000 +0200
@@ -259,41 +259,42 @@
The following table from makedumpfile(8) shows what each dump level means:
- dump | zero | cache|cache | user | free
- level | page | page |private| data | page
- -------+------+------+-------+------+------
- 0 | | | | |
- 1 | X | | | |
- 2 | | X | | |
- 3 | X | X | | |
- 4 | | X | X | |
- 5 | X | X | X | |
- 6 | | X | X | |
- 7 | X | X | X | |
- 8 | | | | X |
- 9 | X | | | X |
- 10 | | X | | X |
- 11 | X | X | | X |
- 12 | | X | X | X |
- 13 | X | X | X | X |
- 14 | | X | X | X |
- 15 | X | X | X | X |
- 16 | | | | | X
- 17 | X | | | | X
- 18 | | X | | | X
- 19 | X | X | | | X
- 20 | | X | X | | X
- 21 | X | X | X | | X
- 22 | | X | X | | X
- 23 | X | X | X | | X
- 24 | | | | X | X
- 25 | X | | | X | X
- 26 | | X | | X | X
- 27 | X | X | | X | X
- 28 | | X | X | X | X
- 29 | X | X | X | X | X
- 30 | | X | X | X | X
- 31 | X | X | X | X | X
+'------------.----------.----------.-------------.---------.----------
+dump level zero page cache page cache private user data free page
+----------------------------------------------------------------------
+ 0
+ 1 X
+ 2 X
+ 3 X X
+ 4 X X
+ 5 X X X
+ 6 X X
+ 7 X X X
+ 8 X
+ 9 X X
+10 X X
+11 X X X
+12 X X X
+13 X X X X
+14 X X X
+15 X X X X
+16 X
+17 X X
+18 X X
+19 X X X
+20 X X X
+21 X X X X
+22 X X X
+23 X X X X
+24 X X
+25 X X X
+26 X X X
+27 X X X X
+28 X X X X
+29 X X X X X
+30 X X X X
+31 X X X X X
+----------------------------------------------------------------------
Default: "0"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/doc/man/kdump.7.txt new/kdump-0.6.1/doc/man/kdump.7.txt
--- old/kdump-0.6.0/doc/man/kdump.7.txt 1970-01-01 01:00:00.000000000 +0100
+++ new/kdump-0.6.1/doc/man/kdump.7.txt 2008-08-09 18:43:53.000000000 +0200
@@ -0,0 +1,377 @@
+//{{{ Copyright (c) 2008, SUSE LINUX Products GmbH
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// Redistributions of source code must retain the above copyright notice, this
+// list of conditions and the following disclaimer.
+//
+// Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution.
+//
+// Neither the name of the Novell nor the names of its contributors may be used
+// to endorse or promote products derived from this software without specific
+// prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ONANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+//}}}
+
+kdump(7)
+========
+Bernhard Walle <bwalle(a)suse.de>
+
+Name
+----
+kdump - Saving kernel dumps in SUSE
+
+Synopsis
+--------
+(not applicable)
+
+Description
+-----------
+This manual page gives an overview about kdump configuration on SUSE. This
+version applies to SUSE LINUX Enterprise 11 and openSUSE 11.1.
+
+Kdump is a technology to save the memory contents of a crashed system and save
+it to disk or network to analyse it later and find the cause of the crash.
+When the system crashes, the mechanism uses _kexec_ to boot a normal Linux
+kernel (that has been loaded into the system previously) which then has access
+to the old memory contents via _/proc/vmcore_ interface and can save that away.
+
+After the memory has been saved, the system reboots (without kexec).
+
+As mentioned above, that _panic kernel_ has to be loaded into the system. That
+is accomplished via *kexec*(8) in an init script at system bootup. To have
+memory for that panic kernel and also have RAM for the execution of that panic
+kernel, one has to reserve kernel memory with a special boot parameter
+(_crashkernel_).
+
+While it's possible in theory to boot the full system by that panic kernel, on
+SUSE we use the approach of having a special _initramfs_ that saves the dump to
+disk or network and then reboots. That has the advantage that less memory
+is necessary and the root file system also must not be intact if you save to
+another file system or to network.
+
+
+Automatic Configuration with YaST
+---------------------------------
+
+A simple method to use kdump on SUSE is to use the YaST kdump module. Just
+install the package _yast2-kdump_ (for example with
+
+----------------------------------
+# zypper install yast2-kdump
+----------------------------------
+
+and start the YaST2 module with
+
+----------------------------------
+# yast2 kdump
+----------------------------------
+
+Everything should be self-explanatory there.
+
+Manual Setup
+------------
+
+Following steps are needed to setup kdump manually (the description of the steps
+will follow):
+
+. Install the required software packages,
+. add the _crashkernel_ parameter to bootloader configuration,
+. enable the _kdump_ service,
+. configure kdump (/etc/sysconfig/kdump) and
+. load the kdump kernel.
+
+Required software
+~~~~~~~~~~~~~~~~~
+
+Following software packages are required for kdump:
+
+* kexec-tools
+* kdump
+* makedumpfile
+
+There is no special _kernel-kdump_ required like in earlier versions of SUSE
+LINUX Enterprise. The technical reason is that the normal kernel is relocatable
+now and can be used as kdump kernel, i.e. it's possible to load and execute the
+normal kernel at any address, not only the compiled-in address as before.
+
+Bootloader configuration
+~~~~~~~~~~~~~~~~~~~~~~~~
+It's necessary to reserve a certain amount of memory in the normal system at
+boot time which will be used by *kexec*(8) to load the panic kernel. To achieve
+that, you have to add a parameter called _crashkernel_ in bootloader
+configuration. The syntax is:
+
+ crashkernel=size@offset
+
+The _offset_ is the load offset, i.e. the physical base address on which the
+memory reservation area starts. Starting with version 2.6.27, it's not necessary
+to specify that _offset_ manually since the kernel chooses a suitable base
+address automatically.
+
+For the _size_, following values are recommended:
+
+`-----------------`--------------------------------------------
+Architecture Size
+---------------------------------------------------------------
++i386+ +64M+
++x86_64+ +64M+ or +128M+ on large machines
++ppc64+ +128M+
++ia64+ +512M+ (or more on very large machines)
+---------------------------------------------------------------
+
+Example: +crashkernel=64M+ (on a normal PC system)
+
+[NOTE]
+There's also a more advanced syntax that makes the amount of memory dependent on
+system RAM. Read _Documentation/kernel-parameters.txt_ and
+_Documentation/kdump/kdump.txt_ of the kernel source for more information.
+
+Enable kdump service
+~~~~~~~~~~~~~~~~~~~~
+The kdump runlevel script just loads the kdump kernel at boot. To enable it, use
+the YaST runlevel editor or simply
+
+--------------------------
+# chkconfig kdump on
+--------------------------
+
+on a shell. You can also execute it manually with +rckdump start+.
+
+Configure kdump
+~~~~~~~~~~~~~~~
+The default configuration should work out of the box. You can tweak several
+configuration options in the _/etc/sysconfig/kdump_ configuration file.
+
+[IMPORTANT]
+If you make changes in that configuration file, you always have to execute
+_rckdump restart_ manually to make that changes apply. If you don't, that
+changes will only apply after system reboot.
+
+See the section “CONFIGURATION” later and/or *kdump*(5) for a description of
+the configuration options.
+
+Load the kdump kernel
+~~~~~~~~~~~~~~~~~~~~~
+As mentioned above, the init script _/etc/init.d/kdump_ takes the part of
+loading the kdump kernel. As kdump kernel, the normal system kernel is used, no
+special kernel image is required.
+
+However, as initramfs, a special initramfs is built by *mkdumprd*(8). Normally,
+you don't have to take care about that step since the init script checks if the
+initramfs is up to date (reading the configuration file modification time) and
+rebuilds it if necessary.
+
+To manually load the kdump kernel (i.e, without the SUSE init script), you have
+to use the *kexec*(8) tool with the _-p_ (panic kernel) parameter like:
+
+--------------------------------------------------------------------
+# kexec -p /boot/vmlinuz-version --initrd=/boot/initrd-version-kdump
+--reuse-cmdline
+--------------------------------------------------------------------
+
+
+Testing
+-------
+It perfectly makes sense to test the kdump configuration in a sane system state,
+i.e. not when the system really crashes but to trigger the dump manually. To
+perform that, use the SysRq mechanism, i.e. just execute
+
+---------------------------------------
+# echo s > /proc/sysrq-trigger
+# echo u > /proc/sysrq-trigger
+# echo c > /proc/sysrq-trigger
+---------------------------------------
+
+After that, the panic kernel should boot and the dump should be saved.
+
+Configuration
+-------------
+
+The configuration file is _/etc/sysconfig/kdump_. Just edit this file with a
+plain text editor to adjust the settings. You can also use the YaST2 sysconfig
+editor. All variables are described in *kdump*(5). Here's a brief overview about
+some variables that are worth tweaking.
+
+Save Directory
+~~~~~~~~~~~~~~
+The most important setting is where the dump should be saved. Following methods
+are available:
+
+* local file,
+* FTP,
+* SFTP (SSH),
+* NFS,
+* CIFS.
+
+The recommendation is to use FTP or SFTP for network dumping or the local file
+dump. The configuration variable _KDUMP_SAVEDIR_ has to be filled with a URL to
+where the dump should be saved. The syntax is described in *kdump*(5).
+
+If the directory does not exist, it will be created. Since the dump is taken in
+initrd, the network and mount configuration is a bit different from the normal
+system. However, the *mkdumprd*(8) script is designed to do everything
+automatically for you. If you would like to use a special network interface, see
+the _KDUMP_NETCONFIG_ setting.
+
+Example:
+
+* +file:///var/log/dump+
+* +ftp://user@host:server/incoming/dumps+
+
+[NOTE]
+If you want to use SFTP with public key authentication, make sure to read the
+"Secure File Transfer Protocol" section in *kdump*(5).
+
+Deletion of old dumps
+~~~~~~~~~~~~~~~~~~~~~
+If you save the dumps to your local file system, you may want that kdump deletes
+automatically old dumps. Set _KDUMP_KEEP_OLD_DUMPS_ to the value how much old
+dumps should be preserved. To disable deletion of old dumps, set it to _0_, and
+to delete all old dumps, set it to _-1_.
+
+If the partition has less than _KDUMP_FREE_DISK_SIZE_ megabytes free disk space
+after saving the dump, the dump is not copied at all.
+
+[IMPORTANT]
+That two options don't apply to network dump targets.
+
+Dump Filtering and Compression
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+The size of kernel dumps is uncompressed and unfiltered as large as your system
+has RAM. To get smaller files (for example, to send it to support), you can
+compress the whole dump file afterwards. However, the drawback is that the dump
+has to be uncompressed afterwards before opening, so the disk space needs to be
+there in any case.
+
+To use page compression which compresses every page and allows dynamic
+uncompression with the *crash*(8) debugging tool, set _KDUMP_DUMPFORMAT_ to
+_compressed_ (which is actually the default).
+
+To filter the dump, you have to set the _KDUMP_DUMPLEVEL_. Then not all memory
+is saved to disk but only memory that does not fulfil some criteria. I.e. you
+may want to leave out pages that are completely filled by zeroes as they don't
+contain any useful information. The following table lists for each
+_KDUMP_DUMPLEVEL_ the pages that are *skipped*, i.e. _0_ produces a full dump
+and _31_ is the smallest dump.
+
+'------------.----------.----------.-------------.---------.----------
+dump level zero page cache page cache private user data free page
+----------------------------------------------------------------------
+ 0
+ 1 X
+ 2 X
+ 3 X X
+ 4 X X
+ 5 X X X
+ 6 X X
+ 7 X X X
+ 8 X
+ 9 X X
+10 X X
+11 X X X
+12 X X X
+13 X X X X
+14 X X X
+15 X X X X
+16 X
+17 X X
+18 X X
+19 X X X
+20 X X X
+21 X X X X
+22 X X X
+23 X X X X
+24 X X
+25 X X X
+26 X X X
+27 X X X X
+28 X X X X
+29 X X X X X
+30 X X X X
+31 X X X X X
+----------------------------------------------------------------------
+
+Automatic Reboot and Error handling
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If you want to have your machine rebooted automatically after the dump has been
+copied, set _KDUMP_IMMEDIATE_REBOOT_ to _yes_. The variable
+_KDUMP_CONTINUE_ON_ERROR_ controls if a shell should be opened if something goes
+wrong while saving the dump to be able to fixup manually. This is mostly for
+debugging.
+
+In production, use that only if you have a serial console since VGA console and
+keyboard is not reliable in kdump environment.
+
+Notification
+~~~~~~~~~~~~
+If you enable notification support, then you get an email after the dump has
+been copied (and before the _KDUMP_IMMEDIATE_REBOOT_ takes place). Because we
+don't have a mail server running in initrd where the mail has to be sent, you
+have to configure a SMTP server:
+
+* _KDUMP_SMTP_SERVER_ must hold a hostname (and an optional port, separated by a
+ colon) to a SMTP server.
+* _KDUMP_STMP_USER_ and _KDUMP_SMTP_PASSWORD_ must be set to username and
+ password if SMTP AUTH should be used, or empty otherwise (plain SMTP without
+ authentication will be used).
+
+Then an email will be sent to the address in _KDUMP_NOTIFICATION_TO_ (only one
+address possible) and _KDUMP_NOTIFICATION_CC_ (multiple addresses possible).
+
+
+Debugging options
+~~~~~~~~~~~~~~~~~
+If something goes wrong and you possibly opened a bug report, you may be asked
+to increase verbosity to report what's going wrong. Also, this is useful if you
+would like to find the cause yourself.
+
+At first, you can increase _KDUMP_VERBOSE_. The maximum log level is _15_. That
+gives both information when loading the dump kernel (i.e. the _rckdump start_
+command) and also when copying the dump in initrd.
+
+[WARNING]
+If you use a VGA console and trigger the dump when X11 is running (i.e. your
+graphical desktop), you might not see any output. Use a serial console in that
+case, or try to trigger the dump from Linux console (i.e. press _Ctrl-Alt-F1_
+in your graphical desktop and log in there).
+
+If the problem is the *makedumpfile*(8) filtering tool, then set
+_MAKEDUMPFILE_OPTIONS_ to _-D_ to get debugging output of makedumpfile.
+
+
+
+
+Bugs
+----
+Please report bugs and enhancement requests at https://bugzilla.novell.com[].
+
+Copying
+-------
+Copyright (c) 2008 Bernhard Walle <bwalle(a)suse.de>. Free use of this software is
+granted under the terms of the GNU General Public License (GPL), version 2 or
+later.
+
+See also
+--------
+*kexec*(8), *kdump*(5), *makedumpfile*(8), *crash*(8)
+http://en.opensuse.org/Kdump[_http://en.opensuse.org/Kdump_]
+
+
+// vim: set sw=4 ts=4 et tw=80 fdm=marker: :collapseFolds=1:
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/doc/man/vmcore.5.html new/kdump-0.6.1/doc/man/vmcore.5.html
--- old/kdump-0.6.0/doc/man/vmcore.5.html 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/doc/man/vmcore.5.html 1970-01-01 01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>vmcore</title><link rel="stylesheet" href="./docbook-xsl.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /></head><body><div class="refentry" lang="en" xml:lang="en"><a id="id212088"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vmcore — Kernel dump file</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p>/var/log/dump/<span class="emphasis"><em><timestamp></em></span>/vmcore</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_description"></a><h2>DESCRIPTION</h2><p>A kernel crash dump provides the complete (or filtered) memory dump from the
-machine that crashed. Both <span class="strong"><strong>crash</strong></span>(8) and <span class="strong"><strong>lcrash</strong></span>(8) can be used to analyse
-kernel dumps. For the ELF dump format, <span class="strong"><strong>gdb</strong></span>(1) can also be used with some
-limitations.</p><p>To set up the machine to generate a dump when it crashes using kdump, see
-<span class="strong"><strong>kdump</strong></span>(7). That manual page describes the structure of various dump formats
-available. It's an implementation detail that you don't have to be familiar with
-when analysing kernel dumps. However, it's useful to have some documentation
-about that file formats.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_overview"></a><h2>OVERVIEW</h2><p>Following dump formats are currently known:</p><div class="variablelist"><dl><dt><span class="term">
-<span class="strong"><strong>ELF</strong></span>
-</span></dt><dd>
- This is the normal dump format used also for userspace core dumps.
-</dd><dt><span class="term">
-<span class="strong"><strong>Kdump compressed format</strong></span>
-</span></dt><dd>
- This format (with or without compression) is a diskdump-based format used
- by <span class="strong"><strong>makedumpfile</strong></span>(8) and supported by <span class="strong"><strong>crash</strong></span>(8) to represent kernel dumps in
- a more compact form than ELF dumps. It supports per-page compression.
-</dd><dt><span class="term">
-<span class="strong"><strong>LKCD</strong></span>
-</span></dt><dd>
- There are various versions of the LKCD format available. That has been used by
- the LKCD project (obsolete kernel patch) and the <span class="strong"><strong>lcrash</strong></span>(8) tool, but is also
- supported by <span class="strong"><strong>crash</strong></span>(8) and is still used by s390 dump tools.
-</dd><dt><span class="term">
-<span class="strong"><strong>Netdump</strong></span>
-</span></dt><dd>
- ELF format, used by RedHat's netdump. Not described here.
-</dd><dt><span class="term">
-<span class="strong"><strong>Diskdump</strong></span>
-</span></dt><dd>
- Like kdump compressed format, used by RedHat's diskdump. Not described here.
-</dd></dl></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="_elf_core_dumps"></a><h2>ELF CORE DUMPS</h2><p>`See <span class="strong"><strong>core</strong></span>(5) for a general description about ELF core files, and
-<a class="ulink" href="http://lse.sourceforge.net/kdump/documentation/ols2oo5-kdump-paper.pdf" target="_top">http://lse.sourceforge.net/kdump/documentation/ols2oo5-kdump-paper.pdf</a> for the
-kdump-specific extensions.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_kdump_compressed_dumps"></a><h2>KDUMP COMPRESSED DUMPS</h2><div class="refsect2" lang="en" xml:lang="en"><a id="_file_structure"></a><h3>File structure</h3><pre class="literallayout"> File offset
-+------------------------------------------+ 0x0
-| main header (struct disk_dump_header) |
-|------------------------------------------+ block 1
-| sub header (struct kdump_sub_header) |
-|------------------------------------------+ block 2
-| 1st-bitmap |
-|------------------------------------------+ block 2 + X blocks
-| 2nd-bitmap | (aligned by block)
-|------------------------------------------+ block 2 + 2 * X blocks
-| page header for pfn 0 (struct page_desc) | (aligned by block)
-| page header for pfn 1 (struct page_desc) |
-| : |
-| page header for pfn Z (struct page_desc) |
-|------------------------------------------| (not aligned by block)
-| page data (pfn 0) |
-| page data (pfn 1) |
-| : |
-| page data (pfn Z) |
-+------------------------------------------+</pre></div><div class="refsect2" lang="en" xml:lang="en"><a id="_main_header"></a><h3>Main header</h3><p>The main header of the kdump compressed format is the almost same as the one of
-diskdump. This header has the following members, and the member signature and
-header_version are different from diskdump.</p><pre class="literallayout">struct disk_dump_header {
- char signature[SIG_LEN]; /* = "KDUMP " */
- int header_version; /* Dump header version */
- struct new_utsname utsname; /* copy of system_utsname */
- struct timeval timestamp; /* Time stamp */
- unsigned int status; /* Above flags */
- int block_size; /* Size of a block in byte */
- int sub_hdr_size; /* Size of arch dependent
- header in blocks */
- unsigned int bitmap_blocks; /* Size of Memory bitmap in
- block */
- unsigned int max_mapnr; /* = max_mapnr */
- unsigned int total_ram_blocks;/* Number of blocks should be
- written */
- unsigned int device_blocks; /* Number of total blocks in
- * the dump device */
- unsigned int written_blocks; /* Number of written blocks */
- unsigned int current_cpu; /* CPU# which handles dump */
- int nr_cpus; /* Number of CPUs */
- struct task_struct *tasks[0];
-};</pre></div><div class="refsect2" lang="en" xml:lang="en"><a id="_sub_header"></a><h3>Sub header</h3><p>The sub header of the kdump compressed format is original. This header
-has the member <code class="literal">phys_base</code> and <code class="literal">dump_level</code>. The member <code class="literal">phys_base</code> is for
-an x86_64 relocatable kernel, and the member dump_level has <code class="literal">-d</code> option's
-value of makedumpfile command.</p><pre class="literallayout">struct kdump_sub_header {
- unsigned long phys_base;
- int dump_level; /* header_version 1 and later */
-};</pre></div><div class="refsect2" lang="en" xml:lang="en"><a id="_1st_bitmap"></a><h3>1st-bitmap</h3><p>The bit of 1st-bitmap presents either a page on memory hole, or not. If a page
-is on memory hole, the corresponding bit is off. Otherwise, it is on.</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_2nd_bitmap"></a><h3>2nd-bitmap</h3><p>The bit of 2nd-bitmap presents either a dumpable page, or not. If a page is on
-memory hole or excluded by makedumpfile command, the corresponding bit is off.
-Otherwise, it is on.</p></div><div class="refsect2" lang="en" xml:lang="en"><a id="_page_header"></a><h3>Page header</h3><p>There are page headers corresponding to dumpable pages. This header presents
-the corresponding page information (compressed, or not. etc.)</p><pre class="literallayout">typedef struct page_desc {
- off_t offset; /* the offset of the page data*/
- unsigned int size; /* the size of this dump page */
- unsigned int flags; /* flags */
- unsigned long long page_flags; /* page flags */
-} page_desc_t;</pre></div></div><div class="refsect1" lang="en" xml:lang="en"><a id="_bugs"></a><h2>BUGS</h2><p>This manual page is incomplete.</p><p>Please report bugs and enhancement requests at <a class="ulink" href="https://bugzilla.novell.com" target="_top">https://bugzilla.novell.com</a>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_copying"></a><h2>COPYING</h2><p>The description of the kdump compressed format was written by
-Ken'ichi Ohmichi <<a class="ulink" href="mailto:oomichi@mxs.nes.nec.co.jp" target="_top">oomichi(a)mxs.nes.nec.co.jp</a>>.</p><p>Rest was written by Bernhard Walle <<a class="ulink" href="mailto:bwalle@suse.de" target="_top">bwalle(a)suse.de</a>>.</p></div><div class="refsect1" lang="en" xml:lang="en"><a id="_see_also"></a><h2>SEE ALSO</h2><p><span class="strong"><strong>kdump</strong></span>(7), <span class="strong"><strong>makedumpfile</strong></span>(8), <span class="strong"><strong>crash</strong></span>(8), <span class="strong"><strong>gdb</strong></span>(1), <span class="strong"><strong>core</strong></span>(5)</p></div></div></body></html>
Files old/kdump-0.6.0/doc/man/vmcore.5.pdf and new/kdump-0.6.1/doc/man/vmcore.5.pdf differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kdump-0.6.0/NEWS new/kdump-0.6.1/NEWS
--- old/kdump-0.6.0/NEWS 2008-08-07 11:53:43.000000000 +0200
+++ new/kdump-0.6.1/NEWS 2008-08-09 18:43:53.000000000 +0200
@@ -1,4 +1,8 @@
-0.7.0
+0.6.1
+-----
+ * add kdump(7) manual page
+
+0.6.0
-----
* add vmcore(5) manual page
* implement email support
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gnome-screensaver
checked in at Sun Aug 10 01:21:59 CEST 2008.
--------
--- GNOME/gnome-screensaver/gnome-screensaver.changes 2008-06-26 01:54:13.000000000 +0200
+++ /mounts/work_src_done/STABLE/gnome-screensaver/gnome-screensaver.changes 2008-08-09 07:29:14.499433000 +0200
@@ -1,0 +2,5 @@
+Sat Aug 9 07:29:06 CEST 2008 - coolo(a)suse.de
+
+- make it compile
+
+-------------------------------------------------------------------
New:
----
gnome-screensaver-compile.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-screensaver.spec ++++++
--- /var/tmp/diff_new_pack.uz9421/_old 2008-08-10 01:21:49.000000000 +0200
+++ /var/tmp/diff_new_pack.uz9421/_new 2008-08-10 01:21:49.000000000 +0200
@@ -2,9 +2,16 @@
# spec file for package gnome-screensaver (Version 2.23.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -19,7 +26,7 @@
BuildRequires: dbus-1-devel dbus-1-glib
%endif
Version: 2.23.2
-Release: 1
+Release: 10
Url: http://www.gnome.org/
Group: System/GUI/GNOME
License: GPL v2 or later
@@ -27,6 +34,8 @@
Source: ftp://ftp.gnome.org/pub/gnome/sources/%{name}/2.18/%{name}-%{version}.tar.b…
Source1: xscreensaver-blacklist
Patch: gnome-screensaver-suse-pam.diff
+# PATCH-FIX-UPSTREAM
+Patch1: gnome-screensaver-compile.diff
Patch7: gnome-screensaver-xvkbd-on-lock.patch
# PATCH-NEEDS-REBASE gnome-screensaver-2.19.1.1-securitytoken.patch
Patch8: gnome-screensaver-2.19.1.1-securitytoken.patch
@@ -59,6 +68,7 @@
%prep
%setup -q
%patch
+%patch1
%patch7 -p1
# %patch8 -p1
# %patch9 -p0
@@ -133,6 +143,8 @@
%files lang -f %{name}.lang
%changelog
+* Sat Aug 09 2008 coolo(a)suse.de
+- make it compile
* Tue Jun 24 2008 maw(a)suse.de
- Update to version 2.23.2:
+ Fix gamma lost during fade
++++++ gnome-screensaver-compile.diff ++++++
--- src/copy-theme-dialog.c.orig 2008-08-09 07:15:21.000000000 +0200
+++ src/copy-theme-dialog.c 2008-08-09 07:18:05.000000000 +0200
@@ -21,6 +21,7 @@
# include "config.h"
#endif
+#include <sys/stat.h>
#include <glib.h>
#include <glib/gi18n.h>
#include <gtk/gtk.h>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-storage
checked in at Fri Aug 8 23:50:24 CEST 2008.
--------
--- yast2-storage/yast2-storage.changes 2008-08-07 11:27:56.000000000 +0200
+++ /mounts/work_src_done/STABLE/yast2-storage/yast2-storage.changes 2008-08-08 17:39:00.730165000 +0200
@@ -1,0 +2,7 @@
+Fri Aug 08 15:01:11 CEST 2008 - aschnell(a)suse.de
+
+- integrated redesigned expert partitioner into installation
+ workflow
+- version 2.17.13
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-2.17.12.tar.bz2
New:
----
yast2-storage-2.17.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage.spec ++++++
--- /var/tmp/diff_new_pack.C21747/_old 2008-08-08 23:50:01.000000000 +0200
+++ /var/tmp/diff_new_pack.C21747/_new 2008-08-08 23:50:01.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-storage (Version 2.17.12)
+# spec file for package yast2-storage (Version 2.17.13)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,12 +19,12 @@
Name: yast2-storage
-Version: 2.17.12
+Version: 2.17.13
Release: 1
License: GPL v2 or later
Group: System/YaST
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-storage-2.17.12.tar.bz2
+Source0: yast2-storage-2.17.13.tar.bz2
Prefix: /usr
BuildRequires: blocxx-devel boost-devel docbook-xsl-stylesheets doxygen gcc-c++ libxcrypt-devel libxslt openssl-devel perl-XML-Writer sablot sgml-skel swig update-desktop-files yast2 yast2-core-devel yast2-devtools yast2-perl-bindings yast2-testsuite
Requires: parted yast2-storage-lib = %version yast2-perl-bindings mdadm lvm2 dmraid kpartx cryptsetup
@@ -57,7 +57,7 @@
Arvin Schnell <aschnell(a)suse.de>
%prep
-%setup -n yast2-storage-2.17.12
+%setup -n yast2-storage-2.17.13
%build
%{prefix}/bin/y2tool y2autoconf
@@ -179,6 +179,10 @@
%doc %{prefix}/share/doc/packages/yast2-storage/libstorage
%doc %{prefix}/share/doc/packages/yast2-storage/config.xml.description
%changelog
+* Fri Aug 08 2008 aschnell(a)suse.de
+- integrated redesigned expert partitioner into installation
+ workflow
+- version 2.17.13
* Wed Aug 06 2008 aschnell(a)suse.de
- do not try to show /var/log/messages during installation
- version 2.17.12
++++++ yast2-storage-2.17.12.tar.bz2 -> yast2-storage-2.17.13.tar.bz2 ++++++
++++ 1875 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 kerneloops
checked in at Fri Aug 8 23:49:52 CEST 2008.
--------
--- kerneloops/kerneloops.changes 2008-04-25 01:39:20.000000000 +0200
+++ /mounts/work_src_done/STABLE/kerneloops/kerneloops.changes 2008-08-08 20:04:16.812997000 +0200
@@ -1,0 +2,17 @@
+Fri Aug 8 20:01:16 CEST 2008 - bphilips(a)suse.de
+
+- update to version 0.12
+ * Add a "Show me my oops before submit" button.
+ * If you have an incredibly large log file.. kerneloops takes too long.
+ Just parse the last 32Mb instead, should be plenty.
+ * Don't delay for non-dmesg oopses. Apparently some people have really
+ large logfiles and this causes major delays.
+ * one more "start of oops" string
+ * Detect RTLN assertions (networking) as well
+ * 2 more ident strings to get more useful list corruption messages
+ * add a --file option
+ * Pass $OPTS to kerneloops from /etc/sysconfig/kerneloops.
+ * Print a URL to the submitted oops in the thank you screen
+
+
+-------------------------------------------------------------------
Old:
----
kerneloops-0.11.tar.bz2
New:
----
0001-Fix-up-some-weird-git-damage.patch
0002-kerneloops-applet-fix-string-handling-make-window.patch
0003-kerneloops-applet-use-monospace-fonts-in-detail-vie.patch
0004-kerneloops-applet-Fix-Gtk-WARNING-gtkwidget.c-5.patch
kerneloops-0.12.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kerneloops.spec ++++++
--- /var/tmp/diff_new_pack.Z21087/_old 2008-08-08 23:49:42.000000000 +0200
+++ /var/tmp/diff_new_pack.Z21087/_new 2008-08-08 23:49:42.000000000 +0200
@@ -1,10 +1,17 @@
#
-# spec file for package kerneloops (Version 0.11)
+# spec file for package kerneloops (Version 0.12)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -13,7 +20,7 @@
Url: http://www.kerneloops.org/
Name: kerneloops
-Version: 0.11
+Version: 0.12
Release: 1
License: GPL v2 only
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -22,6 +29,10 @@
Summary: Tool to collect kernel oopses and submit them to kerneloops.org
Source: %{name}-%{version}.tar.bz2
Source1: %{name}.init
+Patch: 0001-Fix-up-some-weird-git-damage.patch
+Patch1: 0002-kerneloops-applet-fix-string-handling-make-window.patch
+Patch2: 0003-kerneloops-applet-use-monospace-fonts-in-detail-vie.patch
+Patch3: 0004-kerneloops-applet-Fix-Gtk-WARNING-gtkwidget.c-5.patch
PreReq: %insserv_prereq
%description
@@ -70,6 +81,10 @@
%prep
%setup -q
+%patch -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
%{__make}
@@ -112,6 +127,19 @@
%{_datadir}/%{name}/icon.png
%changelog
+* Fri Aug 08 2008 bphilips(a)suse.de
+- update to version 0.12
+ * Add a "Show me my oops before submit" button.
+ * If you have an incredibly large log file.. kerneloops takes too long.
+ Just parse the last 32Mb instead, should be plenty.
+ * Don't delay for non-dmesg oopses. Apparently some people have really
+ large logfiles and this causes major delays.
+ * one more "start of oops" string
+ * Detect RTLN assertions (networking) as well
+ * 2 more ident strings to get more useful list corruption messages
+ * add a --file option
+ * Pass $OPTS to kerneloops from /etc/sysconfig/kerneloops.
+ * Print a URL to the submitted oops in the thank you screen
* Fri Apr 25 2008 crrodriguez(a)suse.de
- update to version 0.11
* Improve the makefile (GregKH)
++++++ 0001-Fix-up-some-weird-git-damage.patch ++++++
>From 85476aba715c47b61a5fc38dd7cb32c10223a2a4 Mon Sep 17 00:00:00 2001
From: Arjan van de Ven <arjan(a)linux.intel.com>
Date: Tue, 24 Jun 2008 22:12:27 -0700
Subject: [PATCH] Fix up some weird git damage
---
dmesg.c | 26 ++++++++++++++++++--------
kerneloops-applet.c | 40 +++++++++++++++++++++++++++++++++++++++-
kerneloops.8 | 3 +++
kerneloops.c | 15 ++++++++++++++-
kerneloops.dbus | 2 ++
kerneloops.h | 2 +-
kerneloops.init | 2 +-
submit.c | 27 +++++++++++++++++++++++++--
8 files changed, 103 insertions(+), 14 deletions(-)
diff --git a/dmesg.c b/dmesg.c
index cbea8c2..301584e 100644
--- a/dmesg.c
+++ b/dmesg.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
/*
* Copyright 2007, Intel Corporation
*
@@ -54,20 +55,25 @@ static void fill_linepointers(char *buffer, int remove_syslog)
linecount = 0;
c = buffer;
while (c) {
+ int len = 0;
+ char *c9;
+
+ c9 = strchr(c, '\n');
+ if (c9)
+ len = c9 - c;
+
/* in /var/log/messages, we need to strip the first part off, upto the 3rd ':' */
if (remove_syslog) {
char *c2;
- char *c3;
- c3 = strchr(c, '\n');
/* skip non-kernel lines */
- c2 = strstr(c, "kernel:");
- if (!c2 || (c2 > c3))
- c2 = strstr(c, "kerneloops:");
- if (!c2 || (c2 > c3)) {
- c2 = strchr(c, '\n');
+ c2 = memmem(c, len, "kernel:", 7);
+ if (!c2)
+ c2 = memmem(c, len, "kerneloops:", 11);
+ if (!c2) {
+ c2 = c9;
if (c2) {
- c = c2+1;
+ c = c2 + 1;
continue;
} else
break;
@@ -166,10 +172,14 @@ static void extract_oops(char *buffer, size_t buflen, int remove_syslog)
oopsstart = i;
if (strstr(c, "kernel BUG at"))
oopsstart = i;
+ if (strstr(c, "do_IRQ: stack overflow:"))
+ oopsstart = i;
if (strstr(c, "RTNL: assertion failed"))
oopsstart = i;
if (strstr(c, "Eeek! page_mapcount(page) went negative!"))
oopsstart = i;
+ if (strstr(c, "near stack overflow (cur:"))
+ oopsstart = i;
if (strstr(c, "double fault:"))
oopsstart = i;
if (strstr(c, "Badness at"))
diff --git a/kerneloops-applet.c b/kerneloops-applet.c
index a7b62a9..0497f9d 100644
--- a/kerneloops-applet.c
+++ b/kerneloops-applet.c
@@ -267,6 +267,8 @@ static void got_a_message(void)
notify_notification_show(notify, NULL);
}
+char url_to_oops[4095];
+
/*
* open a notification window (expires in 5 seconds) to say thank you
* to the user for his bug feedback.
@@ -274,15 +276,32 @@ static void got_a_message(void)
static void sent_an_oops(void)
{
char *summary = _("Kernel bug diagnostic information sent");
- char *message =
+ char message[8200];
+ char *message_1 =
_("Diagnostic information from your Linux kernel has been "
"sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
"for the Linux kernel developers to work on. \n"
"Thank you for contributing to improve the quality of the Linux kernel.\n");
+
+ char *message_2 =
+ _("Diagnostic information from your Linux kernel has been "
+ "sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
+ "for the Linux kernel developers to work on. \n"
+ "Thank you for contributing to improve the quality of the Linux kernel.\n"
+ "You can watch your submitted oops <a href=\"%s\">here</a>\n");
NotifyActionCallback callback = notify_action;
close_notification();
+
+ if (strlen(url_to_oops)==0)
+ sprintf(message, message_1);
+ else
+ sprintf(message, message_2, url_to_oops);
+
+
+ url_to_oops[0] = 0;
+
notify = notify_notification_new(summary, message,
"/usr/share/kerneloops/icon.png", NULL);
@@ -302,6 +321,17 @@ static void sent_an_oops(void)
notify_notification_show(notify, NULL);
}
+/*
+ * store the URL for the user
+ */
+static void got_an_url(DBusMessage *message)
+{
+ char *string = NULL;
+ dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &string, DBUS_TYPE_INVALID);
+ if (string)
+ strncpy(url_to_oops, string, 4095);
+
+}
/*
@@ -362,6 +392,13 @@ static DBusHandlerResult dbus_gotmessage(DBusConnection __unused *connection,
gtk_status_icon_set_visible(statusicon, FALSE);
return DBUS_HANDLER_RESULT_HANDLED;
}
+ /* check if it's the daemon that asks for permission */
+ if (dbus_message_is_signal(message,
+ "org.kerneloops.submit.url", "url")) {
+
+ got_an_url(message);
+ return DBUS_HANDLER_RESULT_HANDLED;
+ }
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
@@ -439,6 +476,7 @@ int main(int argc, char *argv[])
/* set the dbus message to listen for */
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.permission'", &error);
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.sent'", &error);
+ dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.url'", &error);
dbus_connection_add_filter(bus, dbus_gotmessage, NULL, NULL);
/*
diff --git a/kerneloops.8 b/kerneloops.8
index 1ca8a27..4a8aa3c 100644
--- a/kerneloops.8
+++ b/kerneloops.8
@@ -35,6 +35,9 @@ for statistical analysis and presentation to the Linux kernel developers.
.LP
.TP
+\fB\-\-file filename\fR
+Parse the file denoted with filename as if it were /var/log/messages
+.TP
\fB\-\-debug\fR
Enable debug mode
.TP
diff --git a/kerneloops.c b/kerneloops.c
index 23a4227..47ec535 100644
--- a/kerneloops.c
+++ b/kerneloops.c
@@ -106,11 +106,19 @@ void dbus_ask_permission(char * detail_file_name)
dbus_message_unref(message);
}
-void dbus_say_thanks(void)
+void dbus_say_thanks(char *url)
{
DBusMessage *message;
if (!bus)
return;
+ if (url && strlen(url)) {
+ message = dbus_message_new_signal("/org/kerneloops/submit/url",
+ "org.kerneloops.submit.url", "url");
+ dbus_message_append_args (message, DBUS_TYPE_STRING, &url, DBUS_TYPE_INVALID);
+ dbus_connection_send(bus, message, NULL);
+ dbus_message_unref(message);
+ }
+
message = dbus_message_new_signal("/org/kerneloops/submit/sent",
"org.kerneloops.submit.sent", "sent");
dbus_connection_send(bus, message, NULL);
@@ -169,9 +177,14 @@ int main(int argc, char**argv)
}
+
/* we scan dmesg before /var/log/messages; dmesg is a more accurate source normally */
scan_dmesg(NULL);
scan_filename("/var/log/messages", 1);
+
+ if (argc > 2 && strstr(argv[1], "--file"))
+ scan_filename(argv[2], 1);
+
if (testmode && argc > 2) {
int q;
for (q = 2; q < argc; q++) {
diff --git a/kerneloops.dbus b/kerneloops.dbus
index 7e05d8c..3aeef17 100644
--- a/kerneloops.dbus
+++ b/kerneloops.dbus
@@ -12,6 +12,7 @@
<allow own="org.kerneloops.submit.ping"/>
<allow own="org.kerneloops.submit.permission"/>
<allow own="org.kerneloops.submit.sent"/>
+ <allow own="org.kerneloops.submit.url"/>
</policy>
<policy at_console="true">
@@ -20,6 +21,7 @@
<allow receive_sender="org.kerneloops.submit"/>
<allow receive_sender="org.kerneloops.submit.permission"/>
<allow receive_sender="org.kerneloops.submit.sent"/>
+ <allow receive_sender="org.kerneloops.submit.url"/>
<allow send_path="/org/kerneloops/submit"/>
diff --git a/kerneloops.h b/kerneloops.h
index 38bec4b..b2e0ea3 100644
--- a/kerneloops.h
+++ b/kerneloops.h
@@ -40,7 +40,7 @@ extern void read_config_file(char *filename);
extern void ask_permission(void);
extern void dbus_ask_permission(char * detail_file_name);
-extern void dbus_say_thanks(void);
+extern void dbus_say_thanks(char *url);
extern int opted_in;
extern int allow_distro_to_pass_on;
diff --git a/kerneloops.init b/kerneloops.init
index d7e8663..25f5465 100755
--- a/kerneloops.init
+++ b/kerneloops.init
@@ -34,7 +34,7 @@ lockfile=/var/lock/subsys/$prog
start() {
echo -n $"Starting $prog:"
- daemon $prog
+ daemon $prog $OPTS
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
diff --git a/submit.c b/submit.c
index 93e8857..13e1b75 100644
--- a/submit.c
+++ b/submit.c
@@ -182,6 +182,25 @@ static void write_logfile(int count)
closelog();
}
+char result_url[4096];
+
+size_t writefunction( void *ptr, size_t size, size_t nmemb, void __attribute((unused)) *stream)
+{
+ char *c, *c1, *c2;
+ c = malloc(size*nmemb + 1);
+ memset(c, 0, size*nmemb + 1);
+ memcpy(c, ptr, size*nmemb);
+ printf("received %s \n", c);
+ c1 = strstr(c, "201 ");
+ if (c1) {
+ c1+=4;
+ c2 = strchr(c1, '\n');
+ if (c2) *c2 = 0;
+ strncpy(result_url, c1, 4095);
+ }
+ return size * nmemb;
+}
+
void submit_queue(void)
{
int result;
@@ -189,6 +208,8 @@ void submit_queue(void)
struct oops *queue;
int count = 0;
+ memset(result_url, 0, 4096);
+
if (testmode) {
print_queue();
return;
@@ -204,8 +225,9 @@ void submit_queue(void)
struct curl_httppost *last = NULL;
struct oops *next;
-
handle = curl_easy_init();
+
+ printf("DEBUG SUBMIT URL is %s \n", submit_url);
curl_easy_setopt(handle, CURLOPT_URL, submit_url);
/* set up the POST data */
@@ -220,6 +242,7 @@ void submit_queue(void)
}
curl_easy_setopt(handle, CURLOPT_HTTPPOST, post);
+ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunction);
result = curl_easy_perform(handle);
curl_formfree(post);
@@ -235,7 +258,7 @@ void submit_queue(void)
write_logfile(count);
if (count)
- dbus_say_thanks();
+ dbus_say_thanks(result_url);
/*
* If we've reached the maximum count, we'll exit the program,
* the program won't do any useful work anymore going forward.
--
1.5.6
++++++ 0002-kerneloops-applet-fix-string-handling-make-window.patch ++++++
>From edc622c1e6dc60cc1abeab6af2f40100eddbd078 Mon Sep 17 00:00:00 2001
From: Brandon Philips <brandon(a)ifup.org>
Date: Thu, 7 Aug 2008 18:51:39 -0700
Subject: [PATCH] kerneloops-applet: fix string handling, make window scrollable
- Strings weren't being properly terminated
- Make the window scrollable with pageup/pagedown by using native scrolling of
the TextView
- Fix up some minor whitespace issues
Signed-off-by: Brandon Philips <bphilips(a)suse.de>
---
kerneloops-applet.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/kerneloops-applet.c b/kerneloops-applet.c
index 0497f9d..ea3a122 100644
--- a/kerneloops-applet.c
+++ b/kerneloops-applet.c
@@ -172,12 +172,13 @@ static void detail_action(NotifyNotification __unused *notify,
detail_data = malloc(statb.st_size+1);
if (!detail_data)
return;
-
+
if (read(detail_fd, detail_data, statb.st_size) != statb.st_size) {
free(detail_data);
return;
}
close(detail_fd);
+ detail_data[statb.st_size] = '\0';
dialog = gtk_dialog_new();
gtk_window_set_title(GTK_WINDOW(dialog), _("Kernel failure details"));
@@ -192,8 +193,8 @@ static void detail_action(NotifyNotification __unused *notify,
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (view));
gtk_text_buffer_set_text(buffer, detail_data, -1);
free(detail_data);
- gtk_scrolled_window_add_with_viewport(
- GTK_SCROLLED_WINDOW(scrollwindow), view);
+ gtk_container_add (GTK_CONTAINER (scrollwindow), view);
+
gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE);
button_send = gtk_button_new_with_label (_("Send"));
GTK_WIDGET_SET_FLAGS(button_send, GTK_CAN_DEFAULT);
@@ -210,7 +211,7 @@ static void detail_action(NotifyNotification __unused *notify,
G_OBJECT(dialog));
g_signal_connect(G_OBJECT(button_send), "clicked",
G_CALLBACK(send_action), NULL);
-
+
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
button_send, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
--
1.5.6
++++++ 0003-kerneloops-applet-use-monospace-fonts-in-detail-vie.patch ++++++
>From e28f6d06b529034f9e2161734e963b92569331c0 Mon Sep 17 00:00:00 2001
From: Brandon Philips <brandon(a)ifup.org>
Date: Thu, 7 Aug 2008 19:45:55 -0700
Subject: [PATCH] kerneloops-applet: use monospace fonts in detail view
Signed-off-by: Brandon Philips <bphilips(a)suse.de>
---
kerneloops-applet.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/kerneloops-applet.c b/kerneloops-applet.c
index ea3a122..67d9ae8 100644
--- a/kerneloops-applet.c
+++ b/kerneloops-applet.c
@@ -150,6 +150,8 @@ static void detail_action(NotifyNotification __unused *notify,
GtkTextBuffer *buffer;
GtkWidget *button_cancel;
GtkWidget *button_send;
+ GtkTextTag *fixed;
+ GtkTextIter iter;
char *detail_data;
struct stat statb;
int detail_fd;
@@ -187,11 +189,14 @@ static void detail_action(NotifyNotification __unused *notify,
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrollwindow),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
- gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrollwindow,
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrollwindow,
TRUE, TRUE, 0);
view = gtk_text_view_new();
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (view));
- gtk_text_buffer_set_text(buffer, detail_data, -1);
+ fixed = gtk_text_buffer_create_tag (buffer, "font", "font", "monospace", NULL);
+ gtk_text_buffer_get_iter_at_line_offset(buffer, &iter, 0, 0);
+ gtk_text_buffer_insert_with_tags(buffer, &iter, detail_data, -1,
+ fixed, NULL);
free(detail_data);
gtk_container_add (GTK_CONTAINER (scrollwindow), view);
--
1.5.6
++++++ 0004-kerneloops-applet-Fix-Gtk-WARNING-gtkwidget.c-5.patch ++++++
>From 1dc87e62917440aa63b06854a7cc048ec6d1d396 Mon Sep 17 00:00:00 2001
From: Brandon Philips <brandon(a)ifup.org>
Date: Thu, 7 Aug 2008 19:59:13 -0700
Subject: [PATCH] kerneloops-applet: Fix Gtk-WARNING **: gtkwidget.c:5240: widget not within a GtkWindow
Signed-off-by: Brandon Philips <bphilips(a)suse.de>
---
kerneloops-applet.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/kerneloops-applet.c b/kerneloops-applet.c
index 67d9ae8..7acc1e6 100644
--- a/kerneloops-applet.c
+++ b/kerneloops-applet.c
@@ -203,7 +203,6 @@ static void detail_action(NotifyNotification __unused *notify,
gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE);
button_send = gtk_button_new_with_label (_("Send"));
GTK_WIDGET_SET_FLAGS(button_send, GTK_CAN_DEFAULT);
- gtk_widget_grab_default(button_send);
button_cancel = gtk_button_new_with_label (_("Cancel"));
g_signal_connect(G_OBJECT(dialog), "delete_event",
@@ -221,6 +220,7 @@ static void detail_action(NotifyNotification __unused *notify,
button_send, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
button_cancel, TRUE, TRUE, 0);
+ gtk_widget_grab_default(button_send);
gtk_widget_show(view);
gtk_widget_show(button_send);
--
1.5.6
++++++ kerneloops-0.11.tar.bz2 -> kerneloops-0.12.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/Changelog new/kerneloops-0.12/Changelog
--- old/kerneloops-0.11/Changelog 2008-04-22 19:40:08.000000000 +0200
+++ new/kerneloops-0.12/Changelog 2008-06-23 00:00:15.000000000 +0200
@@ -1,9 +1,10 @@
+0.12 - Jun 22nd 2008
+ * Contributions from Michael Johnson
+ - show the oops text before submitting
+ - various speedups
+
0.11 - Jan 11 2008
* Improve the makefile (GregKH)
- * Take various fixes from Chuck Ebbert (Red Hat) based on Fedora
- feedback
- * Put a link to the submitted oops in the "thanks" screen
- * Consider stack overflow warnings also kernel badness
0.10 - Jan 05 2008
* Fix some bugs found in the fedora package review process
0.9 - Jan 03 2008
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/dmesg.c new/kerneloops-0.12/dmesg.c
--- old/kerneloops-0.11/dmesg.c 2008-04-22 00:44:51.000000000 +0200
+++ new/kerneloops-0.12/dmesg.c 2008-06-23 00:00:15.000000000 +0200
@@ -1,4 +1,3 @@
-#define _GNU_SOURCE
/*
* Copyright 2007, Intel Corporation
*
@@ -41,6 +40,8 @@
static char *linelevel;
static int linecount;
+#define MAX(A,B) ((A) > (B) ? (A) : (B))
+
/*
* This function splits the dmesg buffer data into lines
@@ -53,25 +54,20 @@
linecount = 0;
c = buffer;
while (c) {
- int len = 0;
- char *c9;
-
- c9 = strchr(c, '\n');
- if (c9)
- len = c9 - c;
-
/* in /var/log/messages, we need to strip the first part off, upto the 3rd ':' */
if (remove_syslog) {
char *c2;
+ char *c3;
+ c3 = strchr(c, '\n');
/* skip non-kernel lines */
- c2 = memmem(c, len, "kernel:", 7);
- if (!c2)
- c2 = memmem(c, len, "kerneloops:", 11);
- if (!c2) {
- c2 = c9;
+ c2 = strstr(c, "kernel:");
+ if (!c2 || (c2 > c3))
+ c2 = strstr(c, "kerneloops:");
+ if (!c2 || (c2 > c3)) {
+ c2 = strchr(c, '\n');
if (c2) {
- c = c2 + 1;
+ c = c2+1;
continue;
} else
break;
@@ -132,7 +128,7 @@
/*
* extract_oops tries to find oops signatures in a log
*/
-static void extract_oops(char *buffer, int remove_syslog)
+static void extract_oops(char *buffer, size_t buflen, int remove_syslog)
{
int i;
char prevlevel = 0;
@@ -140,10 +136,10 @@
int oopsend;
int inbacktrace = 0;
- linepointer = calloc(strlen(buffer)+1, sizeof(char*));
+ linepointer = calloc(buflen+1, sizeof(char*));
if (!linepointer)
return;
- linelevel = calloc(strlen(buffer)+1, sizeof(char));
+ linelevel = calloc(buflen+1, sizeof(char));
if (!linelevel) {
free(linepointer);
linepointer = NULL;
@@ -170,9 +166,9 @@
oopsstart = i;
if (strstr(c, "kernel BUG at"))
oopsstart = i;
- if (strstr(c, "do_IRQ: stack overflow:"))
+ if (strstr(c, "RTNL: assertion failed"))
oopsstart = i;
- if (strstr(c, "near stack overflow (cur:"))
+ if (strstr(c, "Eeek! page_mapcount(page) went negative!"))
oopsstart = i;
if (strstr(c, "double fault:"))
oopsstart = i;
@@ -187,6 +183,10 @@
oopsstart = i;
if (strstr(c, "------------[ cut here ]------------"))
oopsstart = i;
+ if (strstr(c, "list_del corruption."))
+ oopsstart = i;
+ if (strstr(c, "list_add corruption."))
+ oopsstart = i;
if (strstr(c, "Oops:") && i >= 3)
oopsstart = i-3;
if (oopsstart >= 0 && testmode) {
@@ -195,10 +195,6 @@
if (oopsstart != i)
printf(" trigger line is -%s-\n", c);
}
- /* give the kernel some time to finish dumping the oops */
- /* but not in testmode since that makes regression testins slow */
- if (oopsstart >= 0 && !testmode)
- sleep(1);
/* try to find the end marker */
if (oopsstart >= 0) {
@@ -343,7 +339,7 @@
buffer = calloc(getpagesize()+1, 1);
syscall(__NR_syslog, 3, buffer, getpagesize());
- extract_oops(buffer, 0);
+ extract_oops(buffer, strlen(buffer), 0);
free(buffer);
if (opted_in >= 2)
submit_queue();
@@ -358,6 +354,7 @@
struct stat statb;
FILE *file;
int ret;
+ size_t buflen;
memset(&statb, 0, sizeof(statb));
@@ -370,9 +367,15 @@
* in theory there's a race here, since someone could spew
* to /var/log/messages before we read it in... we try to
* deal with it by reading at most 1023 bytes extra. If there's
- * more than that.. any oops will be in dmesg anyway
+ * more than that.. any oops will be in dmesg anyway.
+ * Do not try to allocate an absurt amount of memory; ignore
+ * older log messages because they are unlikely to have
+ * sufficiently recent data to be useful. 32MB is more
+ * than enough; it's not worth looping through more log
+ * if the log is larger than that.
*/
- buffer = calloc(statb.st_size+1024, 1);
+ buflen = MAX(statb.st_size+1024, 32*1024*1024);
+ buffer = calloc(buflen, 1);
assert(buffer != NULL);
file = fopen(filename, "rm");
@@ -380,11 +383,12 @@
free(buffer);
return;
}
- ret = fread(buffer, 1, statb.st_size+1023, file);
+ fseek(file, -buflen, SEEK_END);
+ ret = fread(buffer, 1, buflen-1, file);
fclose(file);
if (ret > 0)
- extract_oops(buffer, issyslog);
+ extract_oops(buffer, buflen-1, issyslog);
free(buffer);
if (opted_in >= 2)
submit_queue();
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/.gitignore new/kerneloops-0.12/.gitignore
--- old/kerneloops-0.11/.gitignore 1970-01-01 01:00:00.000000000 +0100
+++ new/kerneloops-0.12/.gitignore 2008-06-23 00:00:15.000000000 +0200
@@ -0,0 +1,8 @@
+*~
+kerneloops
+kerneloops-applet
+test/*dbg
+*.o
+DEADJOE
+kerneloops.1.gz
+po/*.mo
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops.8 new/kerneloops-0.12/kerneloops.8
--- old/kerneloops-0.11/kerneloops.8 2008-04-22 19:36:41.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.8 2008-06-23 00:00:15.000000000 +0200
@@ -35,9 +35,6 @@
.LP
.TP
-\fB\-\-file filename\fR
-Parse the file denoted with filename as if it were /var/log/messages
-.TP
\fB\-\-debug\fR
Enable debug mode
.TP
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops-applet.c new/kerneloops-0.12/kerneloops-applet.c
--- old/kerneloops-0.11/kerneloops-applet.c 2008-04-22 02:35:01.000000000 +0200
+++ new/kerneloops-0.12/kerneloops-applet.c 2008-06-23 00:00:15.000000000 +0200
@@ -34,9 +34,13 @@
#include <stdio.h>
#include <errno.h>
+#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus.h>
@@ -65,6 +69,7 @@
int user_preference;
+static char *detail_file_name;
static void write_config(char *permission)
{
@@ -92,6 +97,7 @@
"org.kerneloops.submit.permission", answer);
dbus_connection_send(bus, message, NULL);
dbus_message_unref(message);
+ detail_file_name = NULL;
}
/*
@@ -118,6 +124,7 @@
char *answer = (char *) user_data;
send_permission(answer);
+ detail_file_name = NULL;
if (strcmp(answer, "always") == 0)
write_config("always");
if (strcmp(answer, "never") == 0)
@@ -125,6 +132,97 @@
gtk_status_icon_set_visible(statusicon, FALSE);
}
+/* Called only from the detail window */
+static void send_action(NotifyNotification __unused *notify,
+ gchar __unused *action, gpointer __unused user_data)
+{
+ send_permission("yes");
+}
+
+
+/* Called only to display details */
+static void detail_action(NotifyNotification __unused *notify,
+ gchar __unused *action, gpointer __unused user_data)
+{
+ GtkWidget *dialog;
+ GtkWidget *scrollwindow;
+ GtkWidget *view;
+ GtkTextBuffer *buffer;
+ GtkWidget *button_cancel;
+ GtkWidget *button_send;
+ char *detail_data;
+ struct stat statb;
+ int detail_fd;
+ int ret;
+
+ /* If anything goes wrong, return as early as possible... */
+
+ if (!detail_file_name)
+ return;
+
+ memset(&statb, 0, sizeof(statb));
+ ret = stat(detail_file_name, &statb);
+ if (statb.st_size < 1 || ret != 0)
+ return;
+
+ detail_fd = open(detail_file_name, O_RDONLY);
+ if (detail_fd < 0)
+ return;
+
+ detail_data = malloc(statb.st_size+1);
+ if (!detail_data)
+ return;
+
+ if (read(detail_fd, detail_data, statb.st_size) != statb.st_size) {
+ free(detail_data);
+ return;
+ }
+ close(detail_fd);
+
+ dialog = gtk_dialog_new();
+ gtk_window_set_title(GTK_WINDOW(dialog), _("Kernel failure details"));
+ gtk_widget_set_size_request(dialog, 600, 400);
+ scrollwindow = gtk_scrolled_window_new(NULL, NULL);
+ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrollwindow),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), scrollwindow,
+ TRUE, TRUE, 0);
+ view = gtk_text_view_new();
+ buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW (view));
+ gtk_text_buffer_set_text(buffer, detail_data, -1);
+ free(detail_data);
+ gtk_scrolled_window_add_with_viewport(
+ GTK_SCROLLED_WINDOW(scrollwindow), view);
+ gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE);
+ button_send = gtk_button_new_with_label (_("Send"));
+ GTK_WIDGET_SET_FLAGS(button_send, GTK_CAN_DEFAULT);
+ gtk_widget_grab_default(button_send);
+ button_cancel = gtk_button_new_with_label (_("Cancel"));
+
+ g_signal_connect(G_OBJECT(dialog), "delete_event",
+ G_CALLBACK(gtk_widget_destroy), dialog);
+ g_signal_connect_swapped(G_OBJECT(button_cancel), "clicked",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ g_signal_connect(G_OBJECT(dialog), "destroy",
+ G_CALLBACK(gtk_widget_destroy),
+ G_OBJECT(dialog));
+ g_signal_connect(G_OBJECT(button_send), "clicked",
+ G_CALLBACK(send_action), NULL);
+
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
+ button_send, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->action_area),
+ button_cancel, TRUE, TRUE, 0);
+
+ gtk_widget_show(view);
+ gtk_widget_show(button_send);
+ gtk_widget_show(button_cancel);
+ gtk_widget_show(scrollwindow);
+ gtk_widget_show(dialog);
+}
+
static void got_a_message(void)
{
char *summary = _("Your system had a kernel failure");
@@ -160,12 +258,15 @@
callback, "no", NULL);
notify_notification_add_action(notify, "never", _("Never"),
callback, "never", NULL);
+ if (detail_file_name) {
+ notify_notification_add_action(notify,
+ "details", _("Show Details"),
+ detail_action, "details", NULL);
+ }
notify_notification_show(notify, NULL);
}
-char url_to_oops[4095];
-
/*
* open a notification window (expires in 5 seconds) to say thank you
* to the user for his bug feedback.
@@ -173,32 +274,15 @@
static void sent_an_oops(void)
{
char *summary = _("Kernel bug diagnostic information sent");
- char message[8200];
- char *message_1 =
+ char *message =
_("Diagnostic information from your Linux kernel has been "
"sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
"for the Linux kernel developers to work on. \n"
"Thank you for contributing to improve the quality of the Linux kernel.\n");
-
- char *message_2 =
- _("Diagnostic information from your Linux kernel has been "
- "sent to <a href=\"http://www.kerneloops.org\">www.kerneloops.org</a> "
- "for the Linux kernel developers to work on. \n"
- "Thank you for contributing to improve the quality of the Linux kernel.\n"
- "You can watch your submitted oops <a href=\"%s\">here</a>\n");
NotifyActionCallback callback = notify_action;
close_notification();
-
- if (strlen(url_to_oops)==0)
- sprintf(message, message_1);
- else
- sprintf(message, message_2, url_to_oops);
-
-
- url_to_oops[0] = 0;
-
notify = notify_notification_new(summary, message,
"/usr/share/kerneloops/icon.png", NULL);
@@ -218,17 +302,6 @@
notify_notification_show(notify, NULL);
}
-/*
- * store the URL for the user
- */
-static void got_an_url(DBusMessage *message)
-{
- char *string = NULL;
- dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &string, DBUS_TYPE_INVALID);
- if (string)
- strncpy(url_to_oops, string, 4095);
-
-}
/*
@@ -272,6 +345,9 @@
} else {
/* ok time to ask the user */
gtk_status_icon_set_visible(statusicon, TRUE);
+ dbus_message_get_args(message, NULL,
+ DBUS_TYPE_STRING, &detail_file_name,
+ DBUS_TYPE_INVALID);
got_a_message();
gtk_status_icon_set_visible(statusicon, FALSE);
}
@@ -286,13 +362,6 @@
gtk_status_icon_set_visible(statusicon, FALSE);
return DBUS_HANDLER_RESULT_HANDLED;
}
- /* check if it's the daemon that asks for permission */
- if (dbus_message_is_signal(message,
- "org.kerneloops.submit.url", "url")) {
-
- got_an_url(message);
- return DBUS_HANDLER_RESULT_HANDLED;
- }
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
@@ -370,7 +439,6 @@
/* set the dbus message to listen for */
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.permission'", &error);
dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.sent'", &error);
- dbus_bus_add_match(bus, "type='signal',interface='org.kerneloops.submit.url'", &error);
dbus_connection_add_filter(bus, dbus_gotmessage, NULL, NULL);
/*
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops.c new/kerneloops-0.12/kerneloops.c
--- old/kerneloops-0.11/kerneloops.c 2008-04-22 19:36:05.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.c 2008-06-23 00:00:15.000000000 +0200
@@ -90,30 +90,27 @@
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
}
-void dbus_ask_permission(void)
+void dbus_ask_permission(char * detail_file_name)
{
DBusMessage *message;
if (!bus)
return;
message = dbus_message_new_signal("/org/kerneloops/submit/permission",
"org.kerneloops.submit.permission", "ask");
+ if (detail_file_name) {
+ dbus_message_append_args(message,
+ DBUS_TYPE_STRING, &detail_file_name,
+ DBUS_TYPE_INVALID);
+ }
dbus_connection_send(bus, message, NULL);
dbus_message_unref(message);
}
-void dbus_say_thanks(char *url)
+void dbus_say_thanks(void)
{
DBusMessage *message;
if (!bus)
return;
- if (url && strlen(url)) {
- message = dbus_message_new_signal("/org/kerneloops/submit/url",
- "org.kerneloops.submit.url", "url");
- dbus_message_append_args (message, DBUS_TYPE_STRING, &url, DBUS_TYPE_INVALID);
- dbus_connection_send(bus, message, NULL);
- dbus_message_unref(message);
- }
-
message = dbus_message_new_signal("/org/kerneloops/submit/sent",
"org.kerneloops.submit.sent", "sent");
dbus_connection_send(bus, message, NULL);
@@ -172,14 +169,9 @@
}
-
/* we scan dmesg before /var/log/messages; dmesg is a more accurate source normally */
scan_dmesg(NULL);
scan_filename("/var/log/messages", 1);
-
- if (argc > 2 && strstr(argv[1], "--file"))
- scan_filename(argv[2], 1);
-
if (testmode && argc > 2) {
int q;
for (q = 2; q < argc; q++) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops.dbus new/kerneloops-0.12/kerneloops.dbus
--- old/kerneloops-0.11/kerneloops.dbus 2008-04-22 02:35:01.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.dbus 2008-06-23 00:00:15.000000000 +0200
@@ -12,7 +12,6 @@
<allow own="org.kerneloops.submit.ping"/>
<allow own="org.kerneloops.submit.permission"/>
<allow own="org.kerneloops.submit.sent"/>
- <allow own="org.kerneloops.submit.url"/>
</policy>
<policy at_console="true">
@@ -21,7 +20,6 @@
<allow receive_sender="org.kerneloops.submit"/>
<allow receive_sender="org.kerneloops.submit.permission"/>
<allow receive_sender="org.kerneloops.submit.sent"/>
- <allow receive_sender="org.kerneloops.submit.url"/>
<allow send_path="/org/kerneloops/submit"/>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops.h new/kerneloops-0.12/kerneloops.h
--- old/kerneloops-0.11/kerneloops.h 2008-04-22 02:35:01.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.h 2008-06-23 00:00:15.000000000 +0200
@@ -39,8 +39,8 @@
extern void read_config_file(char *filename);
extern void ask_permission(void);
-extern void dbus_ask_permission(void);
-extern void dbus_say_thanks(char *url);
+extern void dbus_ask_permission(char * detail_file_name);
+extern void dbus_say_thanks(void);
extern int opted_in;
extern int allow_distro_to_pass_on;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/kerneloops.init new/kerneloops-0.12/kerneloops.init
--- old/kerneloops-0.11/kerneloops.init 2008-04-22 19:25:58.000000000 +0200
+++ new/kerneloops-0.12/kerneloops.init 2008-06-23 00:00:15.000000000 +0200
@@ -34,7 +34,7 @@
start() {
echo -n $"Starting $prog:"
- daemon $prog $OPTS
+ daemon $prog
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/push.sh new/kerneloops-0.12/push.sh
--- old/kerneloops-0.11/push.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/kerneloops-0.12/push.sh 2008-06-23 00:00:15.000000000 +0200
@@ -0,0 +1,4 @@
+#!/bin/sh
+git gc
+git-push -f ssh://git.infradead.org/srv/git/kerneloops.git master:refs/heads/master
+git-push --tags -f ssh://git.infradead.org/srv/git/kerneloops.git master:refs/heads/master
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kerneloops-0.11/submit.c new/kerneloops-0.12/submit.c
--- old/kerneloops-0.11/submit.c 2008-04-22 19:41:02.000000000 +0200
+++ new/kerneloops-0.12/submit.c 2008-06-23 00:00:15.000000000 +0200
@@ -28,6 +28,7 @@
#include <stdio.h>
#include <string.h>
#include <syslog.h>
+#include <sys/stat.h>
#include <asm/unistd.h>
@@ -65,6 +66,11 @@
static struct oops *queued_oopses;
static int newoops;
+/* For communicating details to the applet, we write the
+ * details in a file, and provide the filename to the applet
+ */
+static char *detail_filename;
+
static unsigned int checksum(char *ptr)
{
@@ -106,6 +112,46 @@
}
+void write_detail_file(void)
+{
+ int temp_fileno;
+ FILE *tmpf;
+ struct oops *oops;
+ int count = 0;
+
+ detail_filename = strdup("/tmp/kerneloops.XXXXXX");
+ temp_fileno = mkstemp(detail_filename);
+ if (temp_fileno < 0) {
+ free(detail_filename);
+ detail_filename = NULL;
+ return;
+ }
+ /* regular user must be able to read this detail file to be
+ * useful; there is nothing worth doing if fchmod fails.
+ */
+ fchmod(temp_fileno, 0644);
+ tmpf = fdopen(temp_fileno, "w");
+ oops = queued_oopses;
+ while (oops) {
+ count++; /* Users are not programmers, start at 1 */
+ fprintf(tmpf, "Kernel failure message %d:\n", count);
+ fprintf(tmpf, oops->text);
+ fprintf(tmpf, "\n\n");
+ oops = oops->next;
+ }
+ fclose(tmpf);
+ close(temp_fileno);
+}
+
+void unlink_detail_file(void)
+{
+ if (detail_filename) {
+ unlink(detail_filename);
+ free(detail_filename);
+ }
+}
+
+
static void print_queue(void)
{
struct oops *oops;
@@ -136,25 +182,6 @@
closelog();
}
-char result_url[4096];
-
-size_t writefunction( void *ptr, size_t size, size_t nmemb, void __attribute((unused)) *stream)
-{
- char *c, *c1, *c2;
- c = malloc(size*nmemb + 1);
- memset(c, 0, size*nmemb + 1);
- memcpy(c, ptr, size*nmemb);
- printf("received %s \n", c);
- c1 = strstr(c, "201 ");
- if (c1) {
- c1+=4;
- c2 = strchr(c1, '\n');
- if (c2) *c2 = 0;
- strncpy(result_url, c1, 4095);
- }
- return size * nmemb;
-}
-
void submit_queue(void)
{
int result;
@@ -162,8 +189,6 @@
struct oops *queue;
int count = 0;
- memset(result_url, 0, 4096);
-
if (testmode) {
print_queue();
return;
@@ -179,9 +204,8 @@
struct curl_httppost *last = NULL;
struct oops *next;
- handle = curl_easy_init();
- printf("DEBUG SUBMIT URL is %s \n", submit_url);
+ handle = curl_easy_init();
curl_easy_setopt(handle, CURLOPT_URL, submit_url);
/* set up the POST data */
@@ -196,7 +220,6 @@
}
curl_easy_setopt(handle, CURLOPT_HTTPPOST, post);
- curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, writefunction);
result = curl_easy_perform(handle);
curl_formfree(post);
@@ -212,13 +235,15 @@
write_logfile(count);
if (count)
- dbus_say_thanks(result_url);
+ dbus_say_thanks();
/*
* If we've reached the maximum count, we'll exit the program,
* the program won't do any useful work anymore going forward.
*/
- if (submitted >= MAX_CHECKSUMS-1)
+ if (submitted >= MAX_CHECKSUMS-1) {
+ unlink_detail_file();
exit(EXIT_SUCCESS);
+ }
}
void clear_queue(void)
@@ -245,7 +270,8 @@
return;
pinged = 0;
newoops = 0;
- if (queued_oopses)
- dbus_ask_permission();
+ if (queued_oopses) {
+ write_detail_file();
+ dbus_ask_permission(detail_filename);
+ }
}
-
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 avrdude
checked in at Fri Aug 8 23:48:35 CEST 2008.
--------
--- avrdude/avrdude.changes 2008-06-23 21:01:17.000000000 +0200
+++ /mounts/work_src_done/STABLE/avrdude/avrdude.changes 2008-08-08 21:22:10.938884003 +0200
@@ -1,0 +2,6 @@
+Fri Aug 8 21:13:36 CEST 2008 - sndirsch(a)suse.de
+
+- avrdude-5.5.usbtiny.64bit.patch
+ * fixes initialization of USBtinyISP on 64bit (bnc #415773)
+
+-------------------------------------------------------------------
New:
----
avrdude-5.5.usbtiny.64bit.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ avrdude.spec ++++++
--- /var/tmp/diff_new_pack.l17809/_old 2008-08-08 23:47:40.000000000 +0200
+++ /var/tmp/diff_new_pack.l17809/_new 2008-08-08 23:47:40.000000000 +0200
@@ -2,9 +2,16 @@
# spec file for package avrdude (Version 5.5)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -24,7 +31,7 @@
BuildRequires: libpng mesa-libGL te_latex texi2html
%endif
Version: 5.5
-Release: 69
+Release: 89
Url: http://savannah.nongnu.org/projects/avrdude
Group: Development/Tools/Other
License: GPL v2 or later
@@ -33,6 +40,7 @@
Source2: modprobe.avrdude_parport
Source3: udev-parport.rules
Patch0: avrdude-use-serial-device-for-serbb
+Patch1: avrdude-5.5.usbtiny.64bit.patch
AutoReqProv: on
Provides: avr-programmer
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -60,6 +68,7 @@
%prep
%setup
%patch0 -p1
+%patch1 -p1
touch lexer.l
%build
@@ -110,6 +119,9 @@
%config /etc/*
%changelog
+* Fri Aug 08 2008 sndirsch(a)suse.de
+- avrdude-5.5.usbtiny.64bit.patch
+ * fixes initialization of USBtinyISP on 64bit (bnc #415773)
* Mon Jun 23 2008 bwalle(a)suse.de
- don't use default_parallel for "serbb" devices like the "ponyser"
programmer (https://savannah.nongnu.org/bugs/index.php?23685)
++++++ avrdude-5.5.usbtiny.64bit.patch ++++++
--- avrdude-5.5/usbtiny.c 2007-10-29 09:40:04.000000000 -0600
+++ avrdude-5.5.patched/usbtiny.c 2008-01-06 07:13:41.000000000 -0700
@@ -138,7 +138,7 @@
fprintf( stderr, "Operation %d not defined for this chip!\n", op );
return -1;
}
- memset(cmd, 0, sizeof(cmd));
+ memset(cmd, 0, 4);
avr_set_bits(p->op[op], cmd);
return pgm->cmd(pgm, cmd, res);
@@ -286,19 +286,19 @@
int nbytes;
// Make sure its empty so we don't read previous calls if it fails
- memset(res, '\0', sizeof(res) );
+ memset(res, '\0', 4 );
nbytes = usb_in( USBTINY_SPI,
(cmd[1] << 8) | cmd[0], // convert to 16-bit words
(cmd[3] << 8) | cmd[2], // "
- res, sizeof(res), 8 * sck_period );
+ res, 4, 8 * sck_period );
if (verbose > 1) {
// print out the data we sent and received
- printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x]\n",
+ printf( "CMD: [%02x %02x %02x %02x] [%02x %02x %02x %02x] \n",
cmd[0], cmd[1], cmd[2], cmd[3],
res[0], res[1], res[2], res[3] );
}
- return ((nbytes == sizeof(res)) && // should have read 4 bytes
+ return ((nbytes == 4) && // should have read 4 bytes
res[2] == cmd[1]); // AVR's do a delayed-echo thing
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 aaa_base
checked in at Fri Aug 8 23:47:30 CEST 2008.
--------
--- aaa_base/aaa_base.changes 2008-08-08 15:12:16.000000000 +0200
+++ /mounts/work_src_done/STABLE/aaa_base/aaa_base.changes 2008-08-08 17:43:06.119792000 +0200
@@ -1,0 +2,5 @@
+Fri Aug 8 17:42:04 CEST 2008 - werner(a)suse.de
+
+- Implement forcefsck from kernels command line (bnc#379597)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aaa_base.spec ++++++
--- /var/tmp/diff_new_pack.B15351/_old 2008-08-08 23:47:01.000000000 +0200
+++ /var/tmp/diff_new_pack.B15351/_new 2008-08-08 23:47:01.000000000 +0200
@@ -28,7 +28,7 @@
PreReq: /usr/bin/sed /usr/bin/grep /bin/mv /bin/cat /bin/ls /bin/date /usr/bin/cmp /bin/fillup /sbin/insserv udev net-tools
AutoReqProv: on
Version: 11.0.42
-Release: 26
+Release: 27
Summary: SUSE Linux Base Package
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: aaa_base.tar.bz2
@@ -151,6 +151,8 @@
%changelog
* Fri Aug 08 2008 werner(a)suse.de
+- Implement forcefsck from kernels command line (bnc#379597)
+* Fri Aug 08 2008 werner(a)suse.de
- In boot.localfs: generate list of virtual fs on the fly
* Thu Aug 07 2008 werner(a)suse.de
- In halt script: use option -r of umount
++++++ aaa_base.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/boot new/aaa_base/etc/init.d/boot
--- old/aaa_base/etc/init.d/boot 2008-08-05 14:00:35.000000000 +0200
+++ new/aaa_base/etc/init.d/boot 2008-08-08 17:41:02.000000000 +0200
@@ -119,10 +119,16 @@
# Should we ask for interactive boot mode
#
DO_CONFIRM=""
-read -t 2 check < /proc/cmdline 2> /dev/null
-case "$check" in
- *confirm*) DO_CONFIRM=yes ;;
-esac
+DO_FORCEFSCK=""
+if rc_cmdline confirm > /dev/null ; then
+ DO_CONFIRM=yes
+fi
+if rc_cmdline forcefsck > /dev/null ; then
+ DO_FORCEFSCK=yes
+fi
+if rc_cmdline fastboot > /dev/null ; then
+ DO_FASTBOOT=yes
+fi
test -z "$CONFIRM_PROMPT_TIMEOUT" && CONFIRM_PROMPT_TIMEOUT=5
if test "$PROMPT_FOR_CONFIRM" = "yes" -a "$DO_CONFIRM" != "yes" ; then
echo -en "${extd}Enter Interactive startup mode?${norm}"
@@ -137,7 +143,7 @@
unset answer
echo
fi
-export DO_CONFIRM
+export DO_CONFIRM DO_FORCEFSCK DO_FASTBOOT
#
# Start blogd, requires /proc and /dev/pts.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/boot.localfs new/aaa_base/etc/init.d/boot.localfs
--- old/aaa_base/etc/init.d/boot.localfs 2008-08-08 15:08:34.000000000 +0200
+++ new/aaa_base/etc/init.d/boot.localfs 2008-08-08 17:41:26.000000000 +0200
@@ -138,72 +138,78 @@
# rootfs is mounted rw, lvm et al should be up now
wait_for_udev
- #
- # If we use a serial console, don't use the fsck progress bar
- #
- FSCK_PROGRESSBAR="-V"
- test "$REDIRECT" = "/dev/tty1" && FSCK_PROGRESSBAR="-C"
+
#
# do fsck and start sulogin, if it fails.
#
FSCK_RETURN=0
- if test ! -f /fastboot -a -z "$fastboot" ; then
- FSCK_FORCE=""
- test -f /forcefsck && FSCK_FORCE="-f"
- echo "Checking file systems..."
- fsck $FSCK_PROGRESSBAR -R -A -M -a $FSCK_FORCE -t noopts=nofail
- # A return code of 1 indicates that file system errors
- # were corrected, but that the boot may proceed.
- # A return code of 2 or larger indicates failure.
- FSCK_RETURN=$?
- test $FSCK_RETURN -lt 4
- rc_status -v1 -r
- if test $FSCK_RETURN -gt 1 -a $FSCK_RETURN -lt 4 ; then
- # if appropriate, switch bootsplash to verbose
- # mode to make text messages visible.
- test -f /proc/splash && echo "verbose" > /proc/splash
- echo
- echo "fsck succeed, but reboot is required."
- echo
- sleep 1
- sync
- reboot -f
- elif test $FSCK_RETURN -gt 3; then
- # if appropriate, switch bootsplash to verbose
- # mode to make text messages visible.
- test -f /proc/splash && echo "verbose" > /proc/splash
- # Stop blogd since we reboot after sulogin
- test -x /sbin/blogd && killproc -QUIT /sbin/blogd
- if test -x /etc/init.d/kbd ; then
- /etc/init.d/kbd start
- fi
- echo
- echo "fsck failed for at least one filesystem (not /)."
- echo "Please repair manually and reboot."
- echo "The root file system is is already mounted read-write."
- echo
- echo "Attention: Only CONTROL-D will reboot the system in this"
- echo "maintanance mode. shutdown or reboot will not work."
- echo
- PS1="(repair filesystem) # "
- export PS1
- /sbin/sulogin /dev/console
-
- # if the user has mounted something rw, this should be umounted
- echo "Unmounting file systems (ignore error messages)"
- umount -avn
-
- # on umsdos fs this would lead to an error message.
- # so direct errors to /dev/null
- mount -no remount,ro / 2> /dev/null
-
- sync
- reboot -f
- fi
- if test $FSCK_RETURN -gt 0; then
- sync
- > /fsck_corrected_errors
+ if test ! -f /fastboot -a -z "$DO_FASTBOOT" ; then
+ # common options for file system check
+ FSCK_OPTS="-R -A -M -a -t noopts=nofail"
+ # force file system check if forced
+ if test -f /forcefsck -o "$DO_FORCEFSCK" = "yes" ; then
+ FSCK_OPTS="$FSCK_OPTS -f"
+ fi
+ # If we use a serial console, don't use the fsck progress bar
+ if "$REDIRECT" = "/dev/tty1" ; then
+ FSCK_OPTS="$FSCK_OPTS -C"
+ else
+ FSCK_OPTS="$FSCK_OPTS -V"
+ fi
+ echo "Checking file systems..."
+ fsck $FSCK_OPTS
+ # A return code of 1 indicates that file system errors
+ # were corrected, but that the boot may proceed.
+ # A return code of 2 or larger indicates failure.
+ FSCK_RETURN=$?
+ test $FSCK_RETURN -lt 4
+ rc_status -v1 -r
+ if test $FSCK_RETURN -gt 1 -a $FSCK_RETURN -lt 4 ; then
+ # if appropriate, switch bootsplash to verbose
+ # mode to make text messages visible.
+ test -f /proc/splash && echo "verbose" > /proc/splash
+ echo
+ echo "fsck succeed, but reboot is required."
+ echo
+ sleep 1
+ sync
+ reboot -f
+ elif test $FSCK_RETURN -gt 3; then
+ # if appropriate, switch bootsplash to verbose
+ # mode to make text messages visible.
+ test -f /proc/splash && echo "verbose" > /proc/splash
+ # Stop blogd since we reboot after sulogin
+ test -x /sbin/blogd && killproc -QUIT /sbin/blogd
+ if test -x /etc/init.d/kbd ; then
+ /etc/init.d/kbd start
fi
+ echo
+ echo "fsck failed for at least one filesystem (not /)."
+ echo "Please repair manually and reboot."
+ echo "The root file system is is already mounted read-write."
+ echo
+ echo "Attention: Only CONTROL-D will reboot the system in this"
+ echo "maintanance mode. shutdown or reboot will not work."
+ echo
+ PS1="(repair filesystem) # "
+ export PS1
+ /sbin/sulogin /dev/console
+
+ # if the user has mounted something rw, this should be umounted
+ echo "Unmounting file systems (ignore error messages)"
+ umount -avn
+
+ # on umsdos fs this would lead to an error message.
+ # so direct errors to /dev/null
+ mount -no remount,ro / 2> /dev/null
+
+ sync
+ reboot -f
+ fi
+ if test $FSCK_RETURN -gt 0; then
+ sync
+ > /fsck_corrected_errors
+ fi
fi
#
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/boot.proc new/aaa_base/etc/init.d/boot.proc
--- old/aaa_base/etc/init.d/boot.proc 2008-07-22 11:53:07.000000000 +0200
+++ new/aaa_base/etc/init.d/boot.proc 2008-08-08 17:26:49.000000000 +0200
@@ -26,9 +26,8 @@
# check if sysrq should be enabled
#
if test -e /proc/sys/kernel/sysrq ; then
- read a < /proc/cmdline
- case "$a" in
- *sysrq=yes*|*sysrq=1*) ENABLE_SYSRQ="yes" ;;
+ case "$(rc_cmdline sysrq)" in
+ sysrq=yes|sysrq=1) ENABLE_SYSRQ="yes" ;;
esac
case "$ENABLE_SYSRQ" in
yes) ENABLE_SYSRQ=1 ;;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/boot.rootfsck new/aaa_base/etc/init.d/boot.rootfsck
--- old/aaa_base/etc/init.d/boot.rootfsck 2008-08-06 15:14:53.000000000 +0200
+++ new/aaa_base/etc/init.d/boot.rootfsck 2008-08-08 17:41:43.000000000 +0200
@@ -34,11 +34,6 @@
rc_status -v1 -r
#
- # If we use a serial console, don't use the fsck progress bar
- #
- FSCK_PROGRESSBAR="-V"
- [ -x /sbin/showconsole ] && [ "`/sbin/showconsole`" = "/dev/tty1" ] && FSCK_PROGRESSBAR="-C"
- #
# do fsck and start sulogin, if it fails.
#
FSCK_RETURN=0
@@ -67,7 +62,7 @@
fi
#
FSCK_FORCE=""
- if test -f /forcefsck ; then
+ if test -f /forcefsck -o "$DO_FORCEFSCK" = "yes" ; then
FSCK_FORCE="-f"
ROOTFS_FSCK=""
fi
@@ -75,7 +70,19 @@
# already checked and ok, skip the rest
MAY_FSCK=0
fi
- if test ! -f /fastboot -a -z "$fastboot" -a $MAY_FSCK -eq 1 ; then
+ if test ! -f /fastboot -a -z "$DO_FASTBOOT" -a $MAY_FSCK -eq 1 ; then
+ # common options for file system check
+ FSCK_OPTS="-a"
+ # force file system check if forced
+ if test -f /forcefsck -o "$DO_FORCEFSCK" = "yes" ; then
+ FSCK_OPTS="$FSCK_OPTS -f"
+ fi
+ # If we use a serial console, don't use the fsck progress bar
+ if "$REDIRECT" = "/dev/tty1" ; then
+ FSCK_OPTS="$FSCK_OPTS -C"
+ else
+ FSCK_OPTS="$FSCK_OPTS -V"
+ fi
# on an umsdos root fs this mount will fail,
# so direct error messages to /dev/null.
# this seems to be ugly, but should not really be a problem.
@@ -85,7 +92,7 @@
FSCK_RETURN=$ROOTFS_FSCK
else
echo "Checking root file system..."
- fsck $FSCK_PROGRESSBAR -a $FSCK_FORCE $ROOTFS_BLKDEV
+ fsck $FSCK_OPTS $ROOTFS_BLKDEV
# A return code of 1 indicates that file system errors
# were corrected, but that the boot may proceed.
# A return code of 2 or larger indicates failure.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/halt new/aaa_base/etc/init.d/halt
--- old/aaa_base/etc/init.d/halt 2008-08-05 13:54:20.000000000 +0200
+++ new/aaa_base/etc/init.d/halt 2008-08-08 17:26:05.000000000 +0200
@@ -50,11 +50,9 @@
INIT_HALT=POWEROFF
else
INIT_HALT=HALT
- read -t 2 cmdline < /proc/cmdline
- case "$cmdline" in
- *apm=smp-power-off*|*apm=power-off*) INIT_HALT=POWEROFF
+ case "$(rc_cmdline apm)" in
+ apm=smp-power-off|apm=power-off) INIT_HALT=POWEROFF
esac
- unset cmdline
fi
esac
esac
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/init.d/rc new/aaa_base/etc/init.d/rc
--- old/aaa_base/etc/init.d/rc 2008-08-05 13:59:58.000000000 +0200
+++ new/aaa_base/etc/init.d/rc 2008-08-08 17:21:10.000000000 +0200
@@ -35,20 +35,6 @@
#
test "$PREVLEVEL" = "1" -a "$RUNLEVEL" = "S" && exit 0
-#
-# Up from runlevel N we may want to run in confirm mode
-#
-if test "$PREVLEVEL" = "N" ; then
- test -e /proc/cmdline || mount -n -t proc proc /proc
- read -t 2 check < /proc/cmdline 2> /dev/null
- case "$check" in
- *confirm*) DO_CONFIRM=yes ;;
- esac
- test -e /var/run/do_confirm && DO_CONFIRM=yes
- rm -f /var/run/do_confirm
- export DO_CONFIRM
-fi
-
runrc=/etc/init.d/rc${RUNLEVEL}.d
prerc=/etc/init.d/rc${PREVLEVEL}.d
@@ -58,6 +44,13 @@
. /etc/rc.splash $RUNLEVEL
#
+# Configuration and coloring of the boot messages
+#
+
+. /etc/rc.status
+. /etc/sysconfig/boot
+
+#
# Up from runlevel S we have to check if the system was
# cold booted into single user mode and call /etc/init.d/boot.
#
@@ -66,19 +59,14 @@
single="no"
hvname="yes"
#
- check=""
- test -e /proc/cmdline || mount -n -t proc proc /proc
- read -t 2 check < /proc/cmdline 2> /dev/null
- case " ${check} " in
- *\ single\ *|*\ s\ *)
- single="yes"
- esac
- read -t 2 check < /proc/sys/kernel/hostname 2> /dev/null
- case "${check}" in
- "(none)"|unknown|"")
- hvname="no"
+ if rc_cmdline single s S ; then
+ single="yes"
+ fi
+ read -t 2 hostname < /proc/sys/kernel/hostname 2> /dev/null
+ case "${hostname}" in
+ "(none)"|unknown|"") hvname="no"
esac
- unset check
+ unset hostname
if test "$single" = "yes" -a "$hvname" = "no" ; then
# This is the case if we're up from cold boot
@@ -112,11 +100,17 @@
exec 0<> $CONSOLE 1>&0 2>&0
#
-# Configuration and coloring of the boot messages
+# Up from runlevel N we may want to run in confirm mode
#
-
-. /etc/rc.status
-. /etc/sysconfig/boot
+DO_CONFIRM=""
+if test "$PREVLEVEL" = "N" ; then
+ if rc_cmdline confirm > /dev/null ; then
+ DO_CONFIRM=yes
+ fi
+ test -e /var/run/do_confirm && DO_CONFIRM=yes
+ rm -f /var/run/do_confirm
+ export DO_CONFIRM
+fi
#
# Reset status of this script
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/aaa_base/etc/rc.status new/aaa_base/etc/rc.status
--- old/aaa_base/etc/rc.status 2008-08-01 13:58:46.000000000 +0200
+++ new/aaa_base/etc/rc.status 2008-08-08 17:20:09.000000000 +0200
@@ -375,3 +375,26 @@
export PREVLEVEL RUNLEVEL
}
+cmdline=""
+rc_cmdline()
+{
+ local arg cmd key val
+ test -e /proc/cmdline || mount -nt proc proc /proc
+ test -n "$cmdline" || read -t 2 cmdline < /proc/cmdline
+ for arg; do
+ for cmd in $cmdline ; do
+ key="${cmd%%=*}"
+ key="${key//-/_}"
+ case "${key}" in
+ $arg)
+ case "$cmd" in
+ *=*) val="${cmd#*=}" ;;
+ *) val=yes
+ esac
+ echo $key=$val
+ return 0
+ esac
+ done
+ done
+ return 1
+}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0