openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
April 2011
- 1 participants
- 640 discussions
Hello community,
here is the log from the commit of package perl-Class-Inner for openSUSE:Factory
checked in at Wed Apr 27 11:25:28 CEST 2011.
--------
New Changes file:
--- /dev/null 2010-08-26 16:28:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/perl-Class-Inner/perl-Class-Inner.changes 2011-04-26 19:45:43.000000000 +0200
@@ -0,0 +1,40 @@
+-------------------------------------------------------------------
+Tue Apr 26 17:45:25 UTC 2011 - coolo(a)opensuse.org
+
+- changed license, README says "same as perl"
+
+-------------------------------------------------------------------
+Mon Apr 4 08:29:58 UTC 2011 - coolo(a)novell.com
+
+- updated to 0.200001
+ * Fixed
+ http://rt.cpan.org/Ticket/Display.html?id=43938
+ http://rt.cpan.org/Ticket/Display.html?id=39140
+ http://rt.cpan.org/Ticket/Display.html?id=33533
+ Which are all really the same issue.
+
+-------------------------------------------------------------------
+Wed Dec 1 13:31:00 UTC 2010 - coolo(a)novell.com
+
+- switch to perl_requires macro
+
+-------------------------------------------------------------------
+Mon Nov 29 18:29:28 UTC 2010 - coolo(a)novell.com
+
+- remove /var/adm/perl-modules
+
+-------------------------------------------------------------------
+Tue Oct 19 08:38:23 UTC 2010 - coolo(a)novell.com
+
+- add perl as explicit buildrequire
+
+-------------------------------------------------------------------
+Sun Oct 26 00:00:00 UTC 2008 - gerrit.beine(a)gmx.de
+
+- turned off testing for openSUSE 11.x
+
+-------------------------------------------------------------------
+Wed May 21 00:00:00 UTC 2008 - gerrit.beine(a)gmx.de
+
+- first release 0.1
+
calling whatdependson for head-i586
New:
----
Class-Inner-0.200001.tar.gz
perl-Class-Inner.changes
perl-Class-Inner.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Class-Inner.spec ++++++
#
# spec file for package perl-Class-Inner
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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/
#
Name: perl-Class-Inner
Version: 0.200001
Release: 1
# MANUAL
License: GPL+ or Artistic
%define cpan_name Class-Inner
Summary: A perlish implementation of Java like inner classes
Url: http://search.cpan.org/dist/Class-Inner/
Group: Development/Libraries/Perl
Source: http://www.cpan.org/authors/id/A/AR/ARUNBEAR/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(ExtUtils::MakeMaker)
%{perl_requires}
%description
Yet another implementation of an anonymous class with per object
overrideable methods, but with the added attraction of sort of working
dispatch to the parent class's method.
%prep
%setup -q -n %{cpan_name}-%{version}
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
%{__make} %{?_smp_mflags}
%check
%{__make} test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%clean
%{__rm} -rf %{buildroot}
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes README
%changelog
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 polkit for openSUSE:Factory
checked in at Wed Apr 27 11:16:39 CEST 2011.
--------
--- polkit/polkit.changes 2010-11-10 16:04:42.000000000 +0100
+++ /mounts/work_src_done/STABLE/polkit/polkit.changes 2011-04-26 21:20:59.000000000 +0200
@@ -1,0 +2,22 @@
+Tue Apr 26 21:19:32 CEST 2011 - kay.sievers(a)novell.com
+
+- use LGPLv2.1+ in spec file
+
+-------------------------------------------------------------------
+Tue Apr 26 18:24:01 CEST 2011 - kay.sievers(a)novell.com
+
+- stat race condition (CVE-2011-1485) (bnc#688788)
+
+-------------------------------------------------------------------
+Wed Apr 6 15:40:51 UTC 2011 - fcrozat(a)novell.com
+
+- Remove PolkitAgent-1.0.typelib from main package, it is in
+ library package.
+
+-------------------------------------------------------------------
+Wed Mar 9 13:54:11 UTC 2011 - coolo(a)novell.com
+
+- update to 0.101:
+ * tons of bug fixes, see NEWS
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
polkit-0.99.tar.bz2
New:
----
_service
_service:recompress:download_url:polkit-0.101.tar.bz2
polkit-0.101.tar.bz2
polkit-CVE-2011-1485-1.patch
polkit-CVE-2011-1485-2.patch
polkit-CVE-2011-1485-3.patch
polkit-CVE-2011-1485-4.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit.spec ++++++
--- /var/tmp/diff_new_pack.WlIaey/_old 2011-04-27 11:15:52.000000000 +0200
+++ /var/tmp/diff_new_pack.WlIaey/_new 2011-04-27 11:15:52.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package polkit (Version 0.99)
+# spec file for package polkit
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,16 +19,16 @@
Name: polkit
Summary: PolicyKit Authorization Framework
-Version: 0.99
-Release: 2
-License: LGPLv2+
+Version: 0.101
+Release: 1
+License: LGPLv2.1+
Url: http://www.freedesktop.org/wiki/Software/PolicyKit
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/Libraries
Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.bz2
Source99: baselibs.conf
-BuildRequires: glib2-devel
-BuildRequires: gobject-introspection-devel
+BuildRequires: glib2-devel >= 2.25.12
+BuildRequires: gobject-introspection-devel >= 0.6.2
BuildRequires: gtk-doc
BuildRequires: intltool
BuildRequires: libexpat-devel
@@ -37,13 +37,23 @@
Requires: dbus-1
Requires: libpolkit0 = %{version}-%{release}
+Patch10: polkit-CVE-2011-1485-1.patch
+Patch11: polkit-CVE-2011-1485-2.patch
+Patch12: polkit-CVE-2011-1485-3.patch
+Patch13: polkit-CVE-2011-1485-4.patch
+
+# Upstream First - Policy:
+# Never add any patches to this package without the upstream commit id
+# in the patch. Any patches added here without a very good reason to make
+# an exception will be silently removed with the next version update.
+
%description
PolicyKit is a toolkit for defining and handling authorizations.
It is used for allowing unprivileged processes to speak to privileged
processes.
%package devel
-License: LGPLv2+
+License: LGPLv2.1+
Summary: Development files for PolicyKit
Group: Development/Libraries/C and C++
Requires: %name = %{version}-%{release}
@@ -54,7 +64,7 @@
Development files for PolicyKit Authorization Framework.
%package doc
-License: LGPLv2+
+License: LGPLv2.1+
Summary: Development documentation for PolicyKit
Group: Development/Libraries/C and C++
%if 0%{?suse_version} >= 1120
@@ -65,7 +75,7 @@
Development documentation for PolicyKit Authorization Framework.
%package -n libpolkit0
-License: LGPLv2+
+License: LGPLv2.1+
Summary: Libraries required for polkit
Group: System/Libraries
Requires: %{name} = %{version}
@@ -79,6 +89,10 @@
%prep
%setup -q
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
%build
export V=1
@@ -118,6 +132,7 @@
%defattr(-,root,root,-)
%{_libdir}/lib*.so.*
%{_libdir}/girepository-1.0/Polkit-1.0.typelib
+%{_libdir}/girepository-1.0/PolkitAgent-1.0.typelib
%files -f polkit-1.lang
%defattr(-,root,root,-)
@@ -164,6 +179,7 @@
%files doc
%defattr(-,root,root,-)
+%doc NEWS
%{_datadir}/gtk-doc/html/*
%changelog
++++++ _service ++++++
<services>
<service name="download_url">
<param name="protocol">http</param>
<param name="host">hal.freedesktop.org</param>
<param name="path">/releases/polkit-0.101.tar.gz</param>
</service>
<service name="verify_file">
<param name="file">_service:download_url:polkit-0.101.tar.gz</param>
<param name="verifier">sha256</param>
<param name="checksum">927f65760e4fce23d7cdeae90245c22986eb0a39335a344915302158f73f9f1b</param>
</service>
<service name="recompress">
<param name="file">*.tar.gz</param>
<param name="compression">bz2</param>
</service>
</services>
++++++ polkit-0.99.tar.bz2 -> polkit-0.101.tar.bz2 ++++++
++++ 31897 lines of diff (skipped)
++++++ polkit-CVE-2011-1485-1.patch ++++++
>From dd848a42a64a3b22a0cc60f6657b56ce9b6010ae Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Thu, 31 Mar 2011 16:59:09 +0000
Subject: PolkitUnixProcess: Clarify that the real uid is returned, not the effective one
On Linux, also switch to parsing /proc/<pid>/status instead of relying
on the st_uid returned by stat(2) to be the uid we want.
This was pointed out by Neel Mehta <nmehta(a)google.com>. Thanks!
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c
index d95a1d4..876da69 100644
--- a/src/polkit/polkitunixprocess.c
+++ b/src/polkit/polkitunixprocess.c
@@ -24,9 +24,7 @@
#endif
#include <sys/types.h>
-#ifndef HAVE_FREEBSD
-#include <sys/stat.h>
-#else
+#ifdef HAVE_FREEBSD
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/user.h>
@@ -34,6 +32,7 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <stdio.h>
#include "polkitunixprocess.h"
#include "polkitsubject.h"
@@ -208,6 +207,8 @@ polkit_unix_process_get_pid (PolkitUnixProcess *process)
*
* Gets the uid of the owner of @process.
*
+ * Note that this returns the real user-id (not the effective user-id) of @process.
+ *
* Returns: The UNIX user id of the owner for @process or 0 if @error is set.
**/
gint
@@ -215,17 +216,21 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
GError **error)
{
gint result;
+ gchar *contents;
+ gchar **lines;
#ifdef HAVE_FREEBSD
struct kinfo_proc p;
#else
- struct stat statbuf;
- char procbuf[32];
+ gchar filename[64];
+ guint n;
#endif
g_return_val_if_fail (POLKIT_IS_UNIX_PROCESS (process), 0);
g_return_val_if_fail (error == NULL || *error == NULL, 0);
result = 0;
+ lines = NULL;
+ contents = NULL;
#ifdef HAVE_FREEBSD
if (get_kinfo_proc (process->pid, &p) == 0)
@@ -241,23 +246,52 @@ polkit_unix_process_get_owner (PolkitUnixProcess *process,
result = p.ki_uid;
#else
- g_snprintf (procbuf, sizeof procbuf, "/proc/%d", process->pid);
- if (stat (procbuf, &statbuf) != 0)
+
+ /* see 'man proc' for layout of the status file
+ *
+ * Uid, Gid: Real, effective, saved set, and file system UIDs (GIDs).
+ */
+ g_snprintf (filename, sizeof filename, "/proc/%d/status", process->pid);
+ if (!g_file_get_contents (filename,
+ &contents,
+ NULL,
+ error))
{
- g_set_error (error,
- POLKIT_ERROR,
- POLKIT_ERROR_FAILED,
- "stat() failed for /proc/%d: %s",
- process->pid,
- g_strerror (errno));
goto out;
}
+ lines = g_strsplit (contents, "\n", -1);
+ for (n = 0; lines != NULL && lines[n] != NULL; n++)
+ {
+ gint real_uid, effective_uid;
+ if (!g_str_has_prefix (lines[n], "Uid:"))
+ continue;
+ if (sscanf (lines[n] + 4, "%d %d", &real_uid, &effective_uid) != 2)
+ {
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unexpected line `%s' in file %s",
+ lines[n],
+ filename);
+ goto out;
+ }
+ else
+ {
+ result = real_uid;
+ goto out;
+ }
+ }
- result = statbuf.st_uid;
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Didn't find any line starting with `Uid:' in file %s",
+ filename);
#endif
- out:
-
+out:
+ g_strfreev (lines);
+ g_free (contents);
return result;
}
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-2.patch ++++++
++++ 615 lines (skipped)
++++++ polkit-CVE-2011-1485-3.patch ++++++
>From c23d74447c7615dc74dae259f0fc3688ec988867 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Fri, 01 Apr 2011 16:12:27 +0000
Subject: Use polkit_unix_process_get_uid() to get the owner of a process
This avoids a TOCTTOU problem.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/polkitbackend/polkitbackendsessionmonitor.c b/src/polkitbackend/polkitbackendsessionmonitor.c
index 495f752..9c331b6 100644
--- a/src/polkitbackend/polkitbackendsessionmonitor.c
+++ b/src/polkitbackend/polkitbackendsessionmonitor.c
@@ -293,14 +293,15 @@ polkit_backend_session_monitor_get_user_for_subject (PolkitBackendSessionMonitor
if (POLKIT_IS_UNIX_PROCESS (subject))
{
- local_error = NULL;
- uid = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject), &local_error);
- if (local_error != NULL)
+ uid = polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject));
+ if ((gint) uid == -1)
{
- g_propagate_prefixed_error (error, local_error, "Error getting user for process: ");
+ g_set_error (error,
+ POLKIT_ERROR,
+ POLKIT_ERROR_FAILED,
+ "Unix process subject does not have uid set");
goto out;
}
-
ret = polkit_unix_user_new (uid);
}
else if (POLKIT_IS_SYSTEM_BUS_NAME (subject))
--
cgit v0.8.3-6-g21f6
++++++ polkit-CVE-2011-1485-4.patch ++++++
>From 3b12cfac29dddd27f1f166a7574d8374cc1dccf2 Mon Sep 17 00:00:00 2001
From: David Zeuthen <davidz(a)redhat.com>
Date: Fri, 01 Apr 2011 16:13:15 +0000
Subject: pkexec: Avoid TOCTTOU problems with parent process
In a nutshell, the parent process may change its uid (either real- or
effective uid) after launching pkexec. It can do this by exec()'ing
e.g. a setuid root program.
To avoid this problem, just use the uid the parent process had when it
executed pkexec. This happens to be the same uid of the pkexec process
itself.
Additionally, remove some dubious code that allowed pkexec to continue
when the parent process died as there is no reason to support
something like that. Also ensure that the pkexec process is killed if
the parent process dies.
This problem was pointed out by Neel Mehta <nmehta(a)google.com>.
Signed-off-by: David Zeuthen <davidz(a)redhat.com>
---
diff --git a/src/programs/pkexec.c b/src/programs/pkexec.c
index 9217954..3e656be 100644
--- a/src/programs/pkexec.c
+++ b/src/programs/pkexec.c
@@ -35,6 +35,10 @@
#include <pwd.h>
#include <errno.h>
+#ifdef __linux__
+#include <sys/prctl.h>
+#endif
+
#include <glib/gi18n.h>
#ifdef POLKIT_AUTHFW_PAM
@@ -423,7 +427,6 @@ main (int argc, char *argv[])
GPtrArray *saved_env;
gchar *opt_user;
pid_t pid_of_caller;
- uid_t uid_of_caller;
gpointer local_agent_handle;
ret = 127;
@@ -598,40 +601,49 @@ main (int argc, char *argv[])
*/
g_type_init ();
- /* now check if the program that invoked us is authorized */
+ /* make sure we are nuked if the parent process dies */
+#ifdef __linux__
+ if (prctl (PR_SET_PDEATHSIG, SIGTERM) != 0)
+ {
+ g_printerr ("prctl(PR_SET_PDEATHSIG, SIGTERM) failed: %s\n", g_strerror (errno));
+ goto out;
+ }
+#else
+#warning "Please add OS specific code to catch when the parent dies"
+#endif
+
+ /* Figure out the parent process */
pid_of_caller = getppid ();
if (pid_of_caller == 1)
{
/* getppid() can return 1 if the parent died (meaning that we are reaped
- * by /sbin/init); get process group leader instead - for example, this
- * happens when launching via gnome-panel (alt+f2, then 'pkexec gedit').
+ * by /sbin/init); In that case we simpy bail.
*/
- pid_of_caller = getpgrp ();
- }
-
- subject = polkit_unix_process_new (pid_of_caller);
- if (subject == NULL)
- {
- g_printerr ("No such process for pid %d: %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
+ g_printerr ("Refusing to render service to dead parents.\n");
goto out;
}
- /* paranoia: check that the uid of pid_of_caller matches getuid() */
- error = NULL;
- uid_of_caller = polkit_unix_process_get_owner (POLKIT_UNIX_PROCESS (subject),
- &error);
- if (error != NULL)
- {
- g_printerr ("Error determing pid of caller (pid %d): %s\n", (gint) pid_of_caller, error->message);
- g_error_free (error);
- goto out;
- }
- if (uid_of_caller != getuid ())
- {
- g_printerr ("User of caller (%d) does not match our uid (%d)\n", uid_of_caller, getuid ());
- goto out;
- }
+ /* This process we want to check an authorization for is the process
+ * that launched us - our parent process.
+ *
+ * At the time the parent process fork()'ed and exec()'ed us, the
+ * process had the same real-uid that we have now. So we use this
+ * real-uid instead of of looking it up to avoid TOCTTOU issues
+ * (consider the parent process exec()'ing a setuid helper).
+ *
+ * On the other hand, the monotonic process start-time is guaranteed
+ * to never change so it's safe to look that up given only the PID
+ * since we are guaranteed to be nuked if the parent goes away
+ * (cf. the prctl(2) call above).
+ */
+ subject = polkit_unix_process_new_for_owner (pid_of_caller,
+ 0, /* 0 means "look up start-time in /proc" */
+ getuid ());
+ /* really double-check the invariants guaranteed by the PolkitUnixProcess class */
+ g_assert (subject != NULL);
+ g_assert (polkit_unix_process_get_pid (POLKIT_UNIX_PROCESS (subject)) == pid_of_caller);
+ g_assert (polkit_unix_process_get_uid (POLKIT_UNIX_PROCESS (subject)) >= 0);
+ g_assert (polkit_unix_process_get_start_time (POLKIT_UNIX_PROCESS (subject)) > 0);
error = NULL;
authority = polkit_authority_get_sync (NULL /* GCancellable* */, &error);
--
cgit v0.8.3-6-g21f6
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 bluez-hcidump for openSUSE:Factory
checked in at Wed Apr 27 11:14:59 CEST 2011.
--------
--- bluez-hcidump/bluez-hcidump.changes 2011-01-28 14:58:42.000000000 +0100
+++ /mounts/work_src_done/STABLE/bluez-hcidump/bluez-hcidump.changes 2011-04-22 11:31:17.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Apr 22 09:26:52 UTC 2011 - seife+obs(a)b1-systems.com
+
+- fix build against latest bluez by cherry-picking b888b106a9 from
+ git, but still retaining compatibility with opensuse 11.4
+- buildrequire bluez-devel >= 4.70, when d13ea8a6 in bluez.git
+ addes several constants which are needed by bluez-hcidump
+ probably even a newer version is needed...
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
0001-Fix-compilation-against-latest-BlueZ.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bluez-hcidump.spec ++++++
--- /var/tmp/diff_new_pack.klpyuc/_old 2011-04-27 11:13:43.000000000 +0200
+++ /var/tmp/diff_new_pack.klpyuc/_new 2011-04-27 11:13:43.000000000 +0200
@@ -20,16 +20,18 @@
Name: bluez-hcidump
-BuildRequires: bluez bluez-devel pkgconfig
+BuildRequires: bluez pkgconfig
+BuildRequires: bluez-devel >= 4.70
Url: http://www.bluez.org
Version: 2.0
-Release: 1
+Release: 6
Summary: HCI Dumper for Debugging Bluetooth Connections
License: GPLv2+
PreReq: %insserv_prereq
Group: Development/Tools/Debuggers
AutoReqProv: on
Source: http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-2.0.tar.bz2
+Patch: 0001-Fix-compilation-against-latest-BlueZ.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# not sure if we really need a specific bluez version, or if we need bluez at all
# maybe libbluetooth is enough
@@ -48,6 +50,10 @@
%prep
%setup
+%if 0%{?suse_version} > 1140
+# actually it's 'bluez-devel > 4.90'
+%patch -p1
+%endif
%build
CFLAGS="$RPM_OPT_FLAGS" ./configure \
++++++ 0001-Fix-compilation-against-latest-BlueZ.patch ++++++
>From 95ea4ff5c9c7dbda2f3faaef4e5cd46d542a48c8 Mon Sep 17 00:00:00 2001
From: Anderson Lizardo <anderson.lizardo(a)openbossa.org>
Date: Fri, 18 Mar 2011 15:10:19 -0400
Subject: [PATCH] Fix compilation against latest BlueZ
BlueZ now has ntoh64()/hton64() functions in bluetooth.h, therefore the
hcidump local copy is not necessary.
---
src/hcidump.c | 16 ----------------
1 files changed, 0 insertions(+), 16 deletions(-)
diff --git a/src/hcidump.c b/src/hcidump.c
index af086c7..2023130 100644
--- a/src/hcidump.c
+++ b/src/hcidump.c
@@ -50,22 +50,6 @@
#include "parser/parser.h"
#include "parser/sdp.h"
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-static inline uint64_t ntoh64(uint64_t n)
-{
- uint64_t h;
- uint64_t tmp = ntohl(n & 0x00000000ffffffff);
- h = ntohl(n >> 32);
- h |= tmp << 32;
- return h;
-}
-#elif __BYTE_ORDER == __BIG_ENDIAN
-#define ntoh64(x) (x)
-#else
-#error "Unknown byte order"
-#endif
-#define hton64(x) ntoh64(x)
-
#define SNAP_LEN HCI_MAX_FRAME_SIZE
#define DEFAULT_PORT "10839";
--
1.7.4.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 calibre for openSUSE:Factory
checked in at Wed Apr 27 11:13:35 CEST 2011.
--------
--- calibre/calibre.changes 2011-04-10 14:26:53.000000000 +0200
+++ /mounts/work_src_done/STABLE/calibre/calibre.changes 2011-04-23 13:17:43.000000000 +0200
@@ -1,0 +2,73 @@
+Sat Apr 23 11:12:55 UTC 2011 - saigkill(a)opensuse.org
+
+- updated to version 0.7.57
+- New Features
+ o Launch worker processes on demand instead of keeping a pool of them in
+ memory. Reduces memory footprint.
+ o Use the visual formatting of the Table of Contents to try to
+ automatically create a multi-level TOC when converting/viewing MOBI
+ files.
+ o Add a new function booksize() to the template language to get the
+ value of the size column in calibre.
+ o Add support for using metadata plugboards with the content server
+ (only with the epub format)
+ o Change default algorithm for automatically computing author sort to be
+ more intelligent and handle the case when the author name has a comma
+ in it
+ o Show cover size in the tooltips of the book details panel and book
+ details popup window
+- Bug Fixes
+ o Dragging and dropping a cover onto the book details panel did not
+ change the cover size
+ o Fix non-escaped '|' when searching for commas in authors using
+ REGEXP_MATCH
+ o Fix ratings in templates being multiplied by 2
+ o Fix adding a comma to custom series values when using completion.
+ o CHM Input: Another workaround for a Microsoft mess.
+ o Fix job count in the spinner not always being updated when a job
+ completes
+ o Changing case only of a title does not update title sort
+
+-------------------------------------------------------------------
+Wed Apr 20 07:04:40 UTC 2011 - toms(a)suse.de
+
+- Updated to version 0.7.56
+- New Features
+ o This is primarily a bug fix release that fixes a bug in 0.7.55
+ that caused calibre to rescan the files on the device every
+ time the device is connected. If you updated to 0.7.55 it is
+ highly recommended you update to 0.7.56
+ o Device driver for Coby Kyros
+ o Remove the quick access to search options from next to the
+ search bar, as we now have a separate search highlights toggle
+ button
+ o MOBI Output: Ensure that MOBI files always have 8KB worth of
+ null bytes at the end of record 0. This appears to be necessary
+ for Amazon to be able to add DRM to calibre generated MOBI files
+ sent to their publishing service.
+ o Add a tool to inspect MOBI files. To use: calibre-debug -m file.mobi
+
+- Bug Fixes
+ o Fixed regression taht caused calibre to rescan files on the device
+ on every reconnect
+ o Fix donate button causing the toolbar to be too large on OS X
+ o MOBI Input: Fix detection of Table of Contents for MOBI files that
+ have a page break between the location designated as the Table of
+ Contents and the actual table of contents.
+ => Closes tickets: 763504 [External link]
+ o Comic Input: Fix handling of some CBZ files that have wrongly encoded
+ non ASCII filenames on windows.
+ => Closes tickets: 763280 [External link]
+ o PML Input: Fix multi-line chapter title causing a spurious page break
+ => Closes tickets: 763238 [External link]
+ o EPUB Input: Speed up processing of files with very large manifest/spines
+ Fix regression that broke cover:False searches in 0.7.55
+
+- Improved news sources
+ Suedduetsche Zeitung
+ Irish Times
+ Big Oven
+ NSPM
+
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
calibre-0.7.54-nofonts.tar.bz2
New:
----
calibre-0.7.57-nofonts.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.QmOtcM/_old 2011-04-27 11:08:30.000000000 +0200
+++ /var/tmp/diff_new_pack.QmOtcM/_new 2011-04-27 11:08:30.000000000 +0200
@@ -19,7 +19,7 @@
Summary: EBook Management Application
Name: calibre
-Version: 0.7.54
+Version: 0.7.57
Release: 1
Url: http://calibre-ebook.com
Group: Productivity/Other
++++++ calibre-0.7.54-nofonts.tar.bz2 -> calibre-0.7.57-nofonts.tar.bz2 ++++++
calibre/calibre-0.7.54-nofonts.tar.bz2 /mounts/work_src_done/STABLE/calibre/calibre-0.7.57-nofonts.tar.bz2 differ: char 11, line 1
++++++ calibre-cssutils.diff ++++++
--- /var/tmp/diff_new_pack.QmOtcM/_old 2011-04-27 11:08:30.000000000 +0200
+++ /var/tmp/diff_new_pack.QmOtcM/_new 2011-04-27 11:08:30.000000000 +0200
@@ -1,18 +1,20 @@
---- src/calibre/ebooks/oeb/stylizer.py 2011-01-12 10:26:25.108920983 +0100
-+++ src/calibre/ebooks/oeb/stylizer.py_new 2011-01-12 10:40:56.797983394 +0100
-@@ -17,7 +17,14 @@
+Index: src/calibre/ebooks/oeb/stylizer.py
+===================================================================
+--- src/calibre/ebooks/oeb/stylizer.py.orig
++++ src/calibre/ebooks/oeb/stylizer.py
+@@ -13,7 +13,14 @@ from weakref import WeakKeyDictionary
from xml.dom import SyntaxErr as CSSSyntaxError
import cssutils
- from cssutils.css import CSSStyleRule, CSSPageRule, CSSStyleDeclaration, \
-- CSSValueList, CSSFontFaceRule, cssproperties
-+ CSSFontFaceRule, cssproperties
+ from cssutils.css import (CSSStyleRule, CSSPageRule, CSSStyleDeclaration,
+- CSSValueList, CSSFontFaceRule, cssproperties)
++ CSSFontFaceRule, cssproperties)
+#
-+# In python-cssutils >= 0.9.8 no CSSValueList is replaced with PropertyValue
-+#
++# In python-cssutils >= 0.9.8 no CSSValueList is replaced with
++# Property Value
+try:
-+ from cssutils.css import CSSValueList
++ from cssutils.css import CSSValueList
+except ImportError:
-+ from cssutils.css import PropertyValue as CSSValueList
++ from cssutils.css import PropertyValue as CSSValueList
from cssutils import profile as cssprofiles
from lxml import etree
from lxml.cssselect import css_to_xpath, ExpressionError, SelectorSyntaxError
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kdepim4 for openSUSE:Factory
checked in at Wed Apr 27 11:02:39 CEST 2011.
--------
--- KDE/kdepim4/kdepim4.changes 2011-04-09 20:39:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepim4/kdepim4.changes 2011-04-21 22:20:48.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 21 20:19:41 UTC 2011 - javier(a)opensuse.org
+
+- Update to 4.4.11.1
+ * Bugfixes over 4.4.10
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
kdepim-4.4.10.tar.bz2
New:
----
kdepim-4.4.11.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim4.spec ++++++
--- /var/tmp/diff_new_pack.vJbmxp/_old 2011-04-27 11:01:54.000000000 +0200
+++ /var/tmp/diff_new_pack.vJbmxp/_new 2011-04-27 11:01:54.000000000 +0200
@@ -26,10 +26,10 @@
Group: System/GUI/KDE
Summary: Base package of kdepim
Url: http://www.kde.org
-Version: 4.4.10
-Release: 6
+Version: 4.4.11.1
+Release: 1
Source0: kdepim-%version.tar.bz2
-Patch: 4_4_BRANCH.diff
+#Patch: 4_4_BRANCH.diff
Patch1: akregator-useragent.diff
Patch4: desktop-files.diff
Patch7: knode-kontact-default.diff
@@ -55,7 +55,7 @@
%prep
%setup -q -n kdepim-%version
-%patch -p1
+#%patch -p1
%patch1
%patch4
%patch7
++++++ 4_4_BRANCH.diff ++++++
--- /var/tmp/diff_new_pack.vJbmxp/_old 2011-04-27 11:01:54.000000000 +0200
+++ /var/tmp/diff_new_pack.vJbmxp/_new 2011-04-27 11:01:54.000000000 +0200
@@ -1,576 +0,0 @@
-diff --git a/kaddressbook/main.cpp b/kaddressbook/main.cpp
-index 4c8ca42..200f8ec 100644
---- a/kaddressbook/main.cpp
-+++ b/kaddressbook/main.cpp
-@@ -49,11 +49,13 @@ int main( int argc, char **argv )
- MainWindow *window = new MainWindow;
- window->show();
-
-+#if !KDE_IS_VERSION(4,6,0)
- if ( !Akonadi::Control::start( window ) ) {
- //TODO: add message box after string freeze
- kWarning() << "Unable to start Akonadi server, exit application";
- return 1;
- }
-+#endif
-
- return app.exec();
- }
-diff --git a/kalarm/Changelog b/kalarm/Changelog
-index 813130d..e1ffb6b 100644
---- a/kalarm/Changelog
-+++ b/kalarm/Changelog
-@@ -1,6 +1,10 @@
- KAlarm Change Log
-
--=== Version 2.4.10 --- 2 December 2010 ===
-+=== Version 2.4.11 --- 10 February 2011 ===
-+- Fix bad borders round left hand buttons of time spinboxes in Oxygen style.
-+- Fix initialisation of library global statics.
-+
-+=== Version 2.4.10 (KDEPIM 4.4.8) --- 2 December 2010 ===
- - Fix KAlarm showing in system tray at login when configured not to show in tray.
- - Fix working-time-only alarms not triggering if KAlarm is started up outside
- working hours, after the last trigger time during working hours was missed.
-diff --git a/kalarm/cal/kaeventdata.cpp b/kalarm/cal/kaeventdata.cpp
-index 103e244..e0c5f1a 100644
---- a/kalarm/cal/kaeventdata.cpp
-+++ b/kalarm/cal/kaeventdata.cpp
-@@ -47,58 +47,58 @@ QByteArray KAEventData::icalProductId()
- // Note that all custom property names are prefixed with X-KDE-KALARM- in the calendar file.
-
- // Event properties
--static const QByteArray FLAGS_PROPERTY("FLAGS"); // X-KDE-KALARM-FLAGS property
--static const QString DATE_ONLY_FLAG = QLatin1String("DATE");
--static const QString EMAIL_BCC_FLAG = QLatin1String("BCC");
--static const QString CONFIRM_ACK_FLAG = QLatin1String("ACKCONF");
--static const QString KORGANIZER_FLAG = QLatin1String("KORG");
--static const QString EXCLUDE_HOLIDAYS_FLAG = QLatin1String("EXHOLIDAYS");
--static const QString WORK_TIME_ONLY_FLAG = QLatin1String("WORKTIME");
--static const QString DEFER_FLAG = QLatin1String("DEFER"); // default defer interval for this alarm
--static const QString LATE_CANCEL_FLAG = QLatin1String("LATECANCEL");
--static const QString AUTO_CLOSE_FLAG = QLatin1String("LATECLOSE");
--static const QString TEMPL_AFTER_TIME_FLAG = QLatin1String("TMPLAFTTIME");
--static const QString KMAIL_SERNUM_FLAG = QLatin1String("KMAIL");
--
--static const QByteArray NEXT_RECUR_PROPERTY("NEXTRECUR"); // X-KDE-KALARM-NEXTRECUR property
--static const QByteArray REPEAT_PROPERTY("REPEAT"); // X-KDE-KALARM-REPEAT property
--static const QByteArray ARCHIVE_PROPERTY("ARCHIVE"); // X-KDE-KALARM-ARCHIVE property
--static const QString ARCHIVE_REMINDER_ONCE_TYPE = QLatin1String("ONCE");
--static const QByteArray LOG_PROPERTY("LOG"); // X-KDE-KALARM-LOG property
--static const QString xtermURL = QLatin1String("xterm:");
--static const QString displayURL = QLatin1String("display:");
-+const QByteArray KAEventData::FLAGS_PROPERTY("FLAGS"); // X-KDE-KALARM-FLAGS property
-+const QString KAEventData::DATE_ONLY_FLAG = QLatin1String("DATE");
-+const QString KAEventData::EMAIL_BCC_FLAG = QLatin1String("BCC");
-+const QString KAEventData::CONFIRM_ACK_FLAG = QLatin1String("ACKCONF");
-+const QString KAEventData::KORGANIZER_FLAG = QLatin1String("KORG");
-+const QString KAEventData::EXCLUDE_HOLIDAYS_FLAG = QLatin1String("EXHOLIDAYS");
-+const QString KAEventData::WORK_TIME_ONLY_FLAG = QLatin1String("WORKTIME");
-+const QString KAEventData::DEFER_FLAG = QLatin1String("DEFER"); // default defer interval for this alarm
-+const QString KAEventData::LATE_CANCEL_FLAG = QLatin1String("LATECANCEL");
-+const QString KAEventData::AUTO_CLOSE_FLAG = QLatin1String("LATECLOSE");
-+const QString KAEventData::TEMPL_AFTER_TIME_FLAG = QLatin1String("TMPLAFTTIME");
-+const QString KAEventData::KMAIL_SERNUM_FLAG = QLatin1String("KMAIL");
-+
-+const QByteArray KAEventData::NEXT_RECUR_PROPERTY("NEXTRECUR"); // X-KDE-KALARM-NEXTRECUR property
-+const QByteArray KAEventData::REPEAT_PROPERTY("REPEAT"); // X-KDE-KALARM-REPEAT property
-+const QByteArray KAEventData::ARCHIVE_PROPERTY("ARCHIVE"); // X-KDE-KALARM-ARCHIVE property
-+const QString KAEventData::ARCHIVE_REMINDER_ONCE_TYPE = QLatin1String("ONCE");
-+const QByteArray KAEventData::LOG_PROPERTY("LOG"); // X-KDE-KALARM-LOG property
-+const QString KAEventData::xtermURL = QLatin1String("xterm:");
-+const QString KAEventData::displayURL = QLatin1String("display:");
-
- // - General alarm properties
--static const QByteArray TYPE_PROPERTY("TYPE"); // X-KDE-KALARM-TYPE property
--static const QString FILE_TYPE = QLatin1String("FILE");
--static const QString AT_LOGIN_TYPE = QLatin1String("LOGIN");
--static const QString REMINDER_TYPE = QLatin1String("REMINDER");
--static const QString REMINDER_ONCE_TYPE = QLatin1String("REMINDER_ONCE");
--static const QString TIME_DEFERRAL_TYPE = QLatin1String("DEFERRAL");
--static const QString DATE_DEFERRAL_TYPE = QLatin1String("DATE_DEFERRAL");
--static const QString DISPLAYING_TYPE = QLatin1String("DISPLAYING"); // used only in displaying calendar
--static const QString PRE_ACTION_TYPE = QLatin1String("PRE");
--static const QString POST_ACTION_TYPE = QLatin1String("POST");
--static const QString SOUND_REPEAT_TYPE = QLatin1String("SOUNDREPEAT");
--static const QByteArray NEXT_REPEAT_PROPERTY("NEXTREPEAT"); // X-KDE-KALARM-NEXTREPEAT property
-+const QByteArray KAEventData::TYPE_PROPERTY("TYPE"); // X-KDE-KALARM-TYPE property
-+const QString KAEventData::FILE_TYPE = QLatin1String("FILE");
-+const QString KAEventData::AT_LOGIN_TYPE = QLatin1String("LOGIN");
-+const QString KAEventData::REMINDER_TYPE = QLatin1String("REMINDER");
-+const QString KAEventData::REMINDER_ONCE_TYPE = QLatin1String("REMINDER_ONCE");
-+const QString KAEventData::TIME_DEFERRAL_TYPE = QLatin1String("DEFERRAL");
-+const QString KAEventData::DATE_DEFERRAL_TYPE = QLatin1String("DATE_DEFERRAL");
-+const QString KAEventData::DISPLAYING_TYPE = QLatin1String("DISPLAYING"); // used only in displaying calendar
-+const QString KAEventData::PRE_ACTION_TYPE = QLatin1String("PRE");
-+const QString KAEventData::POST_ACTION_TYPE = QLatin1String("POST");
-+const QString KAEventData::SOUND_REPEAT_TYPE = QLatin1String("SOUNDREPEAT");
-+const QByteArray KAEventData::NEXT_REPEAT_PROPERTY("NEXTREPEAT"); // X-KDE-KALARM-NEXTREPEAT property
- // - Display alarm properties
--static const QByteArray FONT_COLOUR_PROPERTY("FONTCOLOR"); // X-KDE-KALARM-FONTCOLOR property
-+const QByteArray KAEventData::FONT_COLOUR_PROPERTY("FONTCOLOR"); // X-KDE-KALARM-FONTCOLOR property
- // - Email alarm properties
--static const QByteArray EMAIL_ID_PROPERTY("EMAILID"); // X-KDE-KALARM-EMAILID property
-+const QByteArray KAEventData::EMAIL_ID_PROPERTY("EMAILID"); // X-KDE-KALARM-EMAILID property
- // - Audio alarm properties
--static const QByteArray VOLUME_PROPERTY("VOLUME"); // X-KDE-KALARM-VOLUME property
--static const QByteArray SPEAK_PROPERTY("SPEAK"); // X-KDE-KALARM-SPEAK property
-+const QByteArray KAEventData::VOLUME_PROPERTY("VOLUME"); // X-KDE-KALARM-VOLUME property
-+const QByteArray KAEventData::SPEAK_PROPERTY("SPEAK"); // X-KDE-KALARM-SPEAK property
- // - Command alarm properties
--static const QByteArray CANCEL_ON_ERROR_PROPERTY("ERRCANCEL");// X-KDE-KALARM-ERRCANCEL property
-+const QByteArray KAEventData::CANCEL_ON_ERROR_PROPERTY("ERRCANCEL");// X-KDE-KALARM-ERRCANCEL property
-
- // Event status strings
--static const QString DISABLED_STATUS = QLatin1String("DISABLED");
-+const QString KAEventData::DISABLED_STATUS = QLatin1String("DISABLED");
-
- // Displaying event ID identifier
--static const QString DISP_DEFER = QLatin1String("DEFER");
--static const QString DISP_EDIT = QLatin1String("EDIT");
-+const QString KAEventData::DISP_DEFER = QLatin1String("DEFER");
-+const QString KAEventData::DISP_EDIT = QLatin1String("EDIT");
-
--static const QString SC = QLatin1String(";");
-+const QString KAEventData::SC = QLatin1String(";");
-
- struct AlarmData
- {
-diff --git a/kalarm/cal/kaeventdata.h b/kalarm/cal/kaeventdata.h
-index 04c4a48..8604822 100644
---- a/kalarm/cal/kaeventdata.h
-+++ b/kalarm/cal/kaeventdata.h
-@@ -1,7 +1,7 @@
- /*
- * kaeventdata.h - represents calendar alarm and event data
- * Program: kalarm
-- * Copyright © 2001-2010 by David Jarvie <djarvie(a)kde.org>
-+ * Copyright © 2001-2011 by David Jarvie <djarvie(a)kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -518,6 +518,47 @@ public:
- bool mDisplayingEdit; // show Edit button (applies to displaying calendar only)
- bool mEnabled; // false if event is disabled
- mutable bool mUpdated; // event has been updated but not written to calendar file
-+
-+ static const QByteArray FLAGS_PROPERTY;
-+ static const QString DATE_ONLY_FLAG;
-+ static const QString EMAIL_BCC_FLAG;
-+ static const QString CONFIRM_ACK_FLAG;
-+ static const QString KORGANIZER_FLAG;
-+ static const QString EXCLUDE_HOLIDAYS_FLAG;
-+ static const QString WORK_TIME_ONLY_FLAG;
-+ static const QString DEFER_FLAG;
-+ static const QString LATE_CANCEL_FLAG;
-+ static const QString AUTO_CLOSE_FLAG;
-+ static const QString TEMPL_AFTER_TIME_FLAG;
-+ static const QString KMAIL_SERNUM_FLAG;
-+ static const QByteArray NEXT_RECUR_PROPERTY;
-+ static const QByteArray REPEAT_PROPERTY;
-+ static const QByteArray ARCHIVE_PROPERTY;
-+ static const QString ARCHIVE_REMINDER_ONCE_TYPE;
-+ static const QByteArray LOG_PROPERTY;
-+ static const QString xtermURL;
-+ static const QString displayURL;
-+ static const QByteArray TYPE_PROPERTY;
-+ static const QString FILE_TYPE;
-+ static const QString AT_LOGIN_TYPE;
-+ static const QString REMINDER_TYPE;
-+ static const QString REMINDER_ONCE_TYPE;
-+ static const QString TIME_DEFERRAL_TYPE;
-+ static const QString DATE_DEFERRAL_TYPE;
-+ static const QString DISPLAYING_TYPE;
-+ static const QString PRE_ACTION_TYPE;
-+ static const QString POST_ACTION_TYPE;
-+ static const QString SOUND_REPEAT_TYPE;
-+ static const QByteArray NEXT_REPEAT_PROPERTY;
-+ static const QByteArray FONT_COLOUR_PROPERTY;
-+ static const QByteArray EMAIL_ID_PROPERTY;
-+ static const QByteArray VOLUME_PROPERTY;
-+ static const QByteArray SPEAK_PROPERTY;
-+ static const QByteArray CANCEL_ON_ERROR_PROPERTY;
-+ static const QString DISABLED_STATUS;
-+ static const QString DISP_DEFER;
-+ static const QString DISP_EDIT;
-+ static const QString SC;
- };
-
- #endif // KAEVENTDATA_H
-diff --git a/kalarm/kalarm.h b/kalarm/kalarm.h
-index 7790770..63333b2 100644
---- a/kalarm/kalarm.h
-+++ b/kalarm/kalarm.h
-@@ -1,7 +1,7 @@
- /*
- * kalarm.h - global header file
- * Program: kalarm
-- * Copyright © 2001-2010 by David Jarvie <djarvie(a)kde.org>
-+ * Copyright © 2001-2011 by David Jarvie <djarvie(a)kde.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -23,7 +23,7 @@
-
- #undef QT3_SUPPORT
-
--#define KALARM_VERSION "2.4.10"
-+#define KALARM_VERSION "2.4.11"
- #define KALARM_NAME "KAlarm"
- #define KALARM_DBUS_SERVICE "org.kde.kalarm" // D-Bus service name of KAlarm application
-
-diff --git a/kalarm/lib/spinbox2.cpp b/kalarm/lib/spinbox2.cpp
-index 7c85291..cc10882 100644
---- a/kalarm/lib/spinbox2.cpp
-+++ b/kalarm/lib/spinbox2.cpp
-@@ -20,11 +20,15 @@
-
- #include "kalarm.h"
-
--#include <stdlib.h>
-+#include "spinbox2.moc"
-+#include "spinbox2_p.moc"
-+
-+#include <kdebug.h>
-
- #include <QMouseEvent>
- #include <QStyleOptionSpinBox>
- #include <QGraphicsPixmapItem>
-+#include <QPaintEngine>
- #include <QTimer>
- #include <QFrame>
- #include <QBrush>
-@@ -34,10 +38,7 @@
- #include <QPixmap>
- #include <QMatrix>
-
--#include <kdebug.h>
--
--#include "spinbox2.moc"
--#include "spinbox2_p.moc"
-+#include <stdlib.h>
-
- /* List of styles which look better using spin buttons mirrored left-to-right.
- * This is needed for some styles which use rounded corners.
-@@ -47,6 +48,8 @@ static const char* mirrorStyles[] = {
- 0 // list terminator
- };
- static bool isMirrorStyle(const QStyle*);
-+static bool isOxygenStyle(const QWidget*);
-+static QRect spinBoxEditFieldRect(const QWidget*, const QStyleOptionSpinBox&);
-
- static inline QPixmap grabWidget(QWidget* w, QRect r = QRect())
- {
-@@ -402,9 +405,9 @@ void SpinBox2::getMetrics() const
- | udStyle->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxDown);
- if (style()->inherits("PlastikStyle"))
- butRect.setLeft(butRect.left() - 1); // Plastik excludes left border from spin widget rectangle
-- QRect r = mSpinbox->style()->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxEditField);
-+ QRect r = spinBoxEditFieldRect(mSpinbox, option);
- wSpinboxHide = mRightToLeft ? mSpinbox->style()->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxFrame).right() - r.right() : r.left();
-- QRect edRect = udStyle->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxEditField);
-+ QRect edRect = spinBoxEditFieldRect(mUpdown2, option);
- int butx;
- if (isMirrorStyle(udStyle))
- {
-@@ -565,7 +568,7 @@ void SpinMirror::setFrame()
- QGraphicsScene* c = scene();
- QStyleOptionSpinBox option;
- option.initFrom(mMainSpinbox);
-- QRect r = mMainSpinbox->style()->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxEditField);
-+ QRect r = spinBoxEditFieldRect(mMainSpinbox, option);
- bool rtl = QApplication::isRightToLeft();
- QPixmap p;
- if (mMirrored)
-@@ -575,17 +578,30 @@ void SpinMirror::setFrame()
- }
- else
- {
-- int x = rtl ? r.right() - 2 : r.left() + 2;
-- p = grabWidget(mMainSpinbox, QRect(x, 0, 1, height())).scaled(size());
-+ // Grab a single pixel wide vertical slice through the main spinbox, between the
-+ // frame and edit field.
-+ bool oxygen = mMainSpinbox->style()->inherits("Oxygen::Style"); // KDE >= 4.4 Oxygen style
-+ bool oxygen1 = mMainSpinbox->style()->inherits("OxygenStyle"); // KDE <= 4.3 Oxygen style
-+ int editOffsetY = oxygen ? 5 : oxygen1 ? 6 : 2; // offset to edit field
-+ int editOffsetX = (oxygen || oxygen1) ? (KDE::version() >= KDE_MAKE_VERSION(4,6,0) ? 4 : 2) : 2; // offset to edit field
-+ int x = rtl ? r.right() - editOffsetX : r.left() + editOffsetX;
-+ p = grabWidget(mMainSpinbox, QRect(x, 0, 1, height()));
-+ // Blot out edit field stuff from the middle of the slice
-+ QPixmap dot = grabWidget(mMainSpinbox, QRect(x, editOffsetY, 1, 1));
-+ QPaintEngine* pe = p.paintEngine();
-+ pe->drawTiledPixmap(QRectF(0, editOffsetY, 1, height() - 2*editOffsetY), dot, QPointF(0, 0));
-+ // Horizontally fill the mirror widget with the vertical slice
-+ p = p.scaled(size());
-+ // Grab the left hand border of the main spinbox, and draw it into the mirror widget.
- QRect endr = rect();
- if (rtl)
- {
- int mr = mMainSpinbox->width() - 1;
-- endr.setWidth(mr - r.right() + 2);
-+ endr.setWidth(mr - r.right() + editOffsetX);
- endr.moveRight(mr);
- }
- else
-- endr.setWidth(r.left() + 2);
-+ endr.setWidth(r.left() + editOffsetX);
- x = rtl ? width() - endr.width() : 0;
- mMainSpinbox->render(&p, QPoint(x, 0), endr, QWidget::DrawWindowBackground | QWidget::DrawChildren | QWidget::IgnoreMask);
- }
-@@ -599,8 +615,8 @@ void SpinMirror::setButtons()
- mSpinbox->initStyleOption(option);
- QStyle* st = mSpinbox->style();
- QRect r = st->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxUp)
-- | st->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxDown);
-- if (st->inherits("OxygenStyle"))
-+ | st->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxDown);
-+ if (isOxygenStyle(mSpinbox))
- {
- // They don't use all their height, so shorten them to
- // allow frame highlighting to work properly.
-@@ -617,7 +633,7 @@ void SpinMirror::setButtonPos(const QPoint& pos)
- //kDebug()<<pos;
- int x = pos.x();
- int y = pos.y();
-- if (style()->inherits("OxygenStyle"))
-+ if (isOxygenStyle(this))
- {
- // Oxygen spin buttons don't use all their height. Prevent
- // the top overlapping the frame highlighting. Their height
-@@ -745,3 +761,18 @@ static bool isMirrorStyle(const QStyle* style)
- return false;
- }
-
-+static bool isOxygenStyle(const QWidget* w)
-+{
-+ return w->style()->inherits("Oxygen::Style") || w->style()->inherits("OxygenStyle");
-+}
-+
-+static QRect spinBoxEditFieldRect(const QWidget* w, const QStyleOptionSpinBox& option)
-+{
-+ QRect r = w->style()->subControlRect(QStyle::CC_SpinBox, &option, QStyle::SC_SpinBoxEditField);
-+ if (isOxygenStyle(w))
-+ {
-+ int xadjust = (KDE::version() >= KDE_MAKE_VERSION(4,6,0)) ? 3 : 2;
-+ r.adjust(xadjust, 2, -xadjust, -2);
-+ }
-+ return r;
-+}
-diff --git a/kmail/customtemplates.cpp b/kmail/customtemplates.cpp
-index ab486b7..f6f221f 100644
---- a/kmail/customtemplates.cpp
-+++ b/kmail/customtemplates.cpp
-@@ -233,7 +233,7 @@ void CustomTemplates::load()
- };
- }
-
-- mRemove->setEnabled( mList->topLevelItemCount() > 0 );
-+ mRemove->setEnabled( mList->topLevelItemCount() > 0 && mList->currentItem() );
- }
-
- void CustomTemplates::save()
-@@ -330,6 +330,7 @@ void CustomTemplates::slotListSelectionChanged()
- QTreeWidgetItem *item = mList->currentItem();
- if ( item ) {
- mEditFrame->setEnabled( true );
-+ mRemove->setEnabled( true );
- CustomTemplateItem *vitem = mItemList[ mList->currentItem()->text( 1 ) ];
- if ( vitem ) {
-
-diff --git a/kmail/kmmainwidget.cpp b/kmail/kmmainwidget.cpp
-index a31973a..10b14e4 100644
---- a/kmail/kmmainwidget.cpp
-+++ b/kmail/kmmainwidget.cpp
-@@ -165,6 +165,9 @@ using KMail::TemplateParser;
-
- #include <errno.h> // ugh
-
-+#include <akonadi/control.h>
-+#include <akonadi/servermanager.h>
-+
- #include "kmmainwidget.moc"
-
- K_GLOBAL_STATIC( KMMainWidget::PtrList, theMainWidgetList )
-@@ -186,6 +189,10 @@ KMMainWidget::KMMainWidget( QWidget *parent, KXMLGUIClient *aGUIClient,
- mVacationIndicatorActive( false ),
- mGoToFirstUnreadMessageInSelectedFolder( false )
- {
-+#if KDE_IS_VERSION(4,6,0)
-+ Akonadi::Control::widgetNeedsAkonadi(this);
-+ Akonadi::ServerManager::start();
-+#endif
- // must be the first line of the constructor:
- mStartupDone = false;
- mWasEverShown = false;
-diff --git a/kmail/main.cpp b/kmail/main.cpp
-index f39ca5f..c2dd1c3 100644
---- a/kmail/main.cpp
-+++ b/kmail/main.cpp
-@@ -145,12 +145,14 @@ int main(int argc, char *argv[])
- app.setEventLoopReached();
- app.delayedInstanceCreation();
-
-+#if !KDE_IS_VERSION(4,6,0)
- // Start Akonadi
- if ( !Akonadi::Control::start( kmkernel->getKMMainWidget() ) ) {
- //TODO: add message box after string freeze
- kWarning() << "Unable to start Akonadi server, exit application";
- return 1;
- }
-+#endif
-
- // Go!
- int ret = qApp->exec();
-diff --git a/kmail/messagelistview/pane.cpp b/kmail/messagelistview/pane.cpp
-index f79b896..afd2f24 100644
---- a/kmail/messagelistview/pane.cpp
-+++ b/kmail/messagelistview/pane.cpp
-@@ -169,6 +169,28 @@ bool Pane::isFolderOpen( KMFolder * fld ) const
- return messageListViewWidgetWithFolder( fld ) != 0;
- }
-
-+void Pane::changeFolderName( KMFolder *fld, Core::Widget *w )
-+{
-+ if ( w && fld )
-+ {
-+ setTabText( indexOf( w ), fld->label() );
-+ }
-+}
-+
-+void Pane::changeFolderIcon( KMFolder *fld, Core::Widget *w )
-+{
-+ if ( w && fld )
-+ {
-+ QIcon icon;
-+ FolderViewItem * fvi = mMainWidget->mainFolderView()->findItemByFolder( fld );
-+ if ( fvi )
-+ icon = SmallIcon( fvi->normalIcon() );
-+ else
-+ icon = QIcon(); // FIXME: find a nicer empty icon
-+ setTabIcon( indexOf(w), icon );
-+ }
-+}
-+
- void Pane::setCurrentFolder( KMFolder *fld, bool preferEmptyTab, Core::PreSelectionMode preSelectionMode, const QString &overrideLabel )
- {
- // This function is quite critical, mainly because of the "appearance"
-diff --git a/kmail/messagelistview/pane.h b/kmail/messagelistview/pane.h
-index fe2efba..fa09a32 100644
---- a/kmail/messagelistview/pane.h
-+++ b/kmail/messagelistview/pane.h
-@@ -25,6 +25,7 @@
- #include <QList>
-
- #include <messagelist/core/enums.h>
-+#include <messagelist/core/widgetbase.h>
-
- class KMMessage;
- class KMMsgBase;
-@@ -91,6 +92,8 @@ protected:
- QToolButton * mNewTabButton; ///< The "New Tab" button in the top left corner
- QToolButton * mCloseTabButton; ///< The "Close Tab" button in the top right corner
- public:
-+ void changeFolderName( KMFolder *fld, MessageList::Core::Widget *w );
-+ void changeFolderIcon( KMFolder *fld, MessageList::Core::Widget *w );
-
- /**
- * Returns the KMMainWidget this Pane is currently bound to
-diff --git a/kmail/messagelistview/widget.cpp b/kmail/messagelistview/widget.cpp
-index 5fefb07..22526d7 100644
---- a/kmail/messagelistview/widget.cpp
-+++ b/kmail/messagelistview/widget.cpp
-@@ -114,6 +114,19 @@ void Widget::setFolder( KMFolder * fld, const QIcon &icon, Core::PreSelectionMod
- // Set the storage _after_ setting the icon so it can be overridden
- // from inside setStorageModel().
- setStorageModel( fld ? new StorageModel( fld ) : 0, preSelectionMode );
-+ connect(fld, SIGNAL( nameChanged() ), this, SLOT( slotNameChanged() ) );
-+ connect(fld, SIGNAL( iconsChanged() ), this, SLOT( slotIconsChanged() ) );
-+
-+}
-+
-+void Widget::slotIconsChanged()
-+{
-+ mPane->changeFolderIcon( folder(), this );
-+}
-+
-+void Widget::slotNameChanged()
-+{
-+ mPane->changeFolderName( folder(), this );
- }
-
- KMFolder * Widget::folder() const
-diff --git a/kmail/messagelistview/widget.h b/kmail/messagelistview/widget.h
-index 795c5eb..c8ff188 100644
---- a/kmail/messagelistview/widget.h
-+++ b/kmail/messagelistview/widget.h
-@@ -417,6 +417,8 @@ private:
-
- private slots:
- void animateIcon();
-+ void slotNameChanged();
-+ void slotIconsChanged();
-
- };
-
-diff --git a/kmail/popaccount.cpp b/kmail/popaccount.cpp
-index 191b39d..8a03ece 100644
---- a/kmail/popaccount.cpp
-+++ b/kmail/popaccount.cpp
-@@ -959,11 +959,13 @@ void PopAccount::slotData( KIO::Job* job, const QByteArray &data)
- .subs( numBytesToRead/1024 ).subs( mLogin ).subs( mHost )
- .toString();
- }
-- mMailCheckProgressItem->setStatus( msg );
-- mMailCheckProgressItem->setProgress(
-- (numBytesToRead <= 100) ? 50 // We never know what the server tells us
-- // This way of dividing is required for > 21MB of mail
-- : (numBytesRead / (numBytesToRead / 100)) );
-+ if( mMailCheckProgressItem ) {
-+ mMailCheckProgressItem->setStatus( msg );
-+ mMailCheckProgressItem->setProgress(
-+ (numBytesToRead <= 100) ? 50 // We never know what the server tells us
-+ // This way of dividing is required for > 21MB of mail
-+ : (numBytesRead / (numBytesToRead / 100)) );
-+ }
- }
- return;
- }
-diff --git a/kontact/src/main.cpp b/kontact/src/main.cpp
-index 356aa57..cb4a235 100644
---- a/kontact/src/main.cpp
-+++ b/kontact/src/main.cpp
-@@ -199,9 +199,11 @@ int main( int argc, char **argv )
-
- KontactApp app;
-
-+#if !KDE_IS_VERSION(4,6,0)
- // KDE 4.4: do akonadi startup before creating any window, since creating
- // the window loads kmail. In 4.5 we'll do this startup async instead.
- Akonadi::Control::start( 0 );
-+#endif
-
- // Qt doesn't treat the system tray as a window, and therefore Qt would quit
- // the event loop when an error message is clicked away while Kontact is in the
-diff --git a/messageviewer/vcardviewer.cpp b/messageviewer/vcardviewer.cpp
-index b0e8e3b..9ccd1e4 100644
---- a/messageviewer/vcardviewer.cpp
-+++ b/messageviewer/vcardviewer.cpp
-@@ -56,13 +56,14 @@ VCardViewer::VCardViewer(QWidget *parent, const QByteArray& vCard)
- if ( mAddresseeList.size() <= 1 ) {
- showButton(User2, false);
- showButton(User3, false);
-- }
-- else
-+ } else {
- enableButton(User3, false);
-- }
-- else {
-+ }
-+ } else {
- mAddresseeView->setPlainText(i18n("Failed to parse vCard."));
- enableButton(User1, false);
-+ showButton(User2, false);
-+ showButton(User3, false);
- }
- connect( this, SIGNAL( user1clicked() ), SLOT( slotUser1() ) );
- connect( this, SIGNAL( user2clicked() ), SLOT( slotUser2() ) );
++++++ kdepim-4.4.10.tar.bz2 -> kdepim-4.4.11.1.tar.bz2 ++++++
KDE/kdepim4/kdepim-4.4.10.tar.bz2 /mounts/work_src_done/STABLE/kdepim4/kdepim-4.4.11.1.tar.bz2 differ: char 11, line 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package squid3 for openSUSE:Factory
checked in at Wed Apr 27 10:58:46 CEST 2011.
--------
--- squid3/squid3.changes 2011-04-12 15:12:05.000000000 +0200
+++ /mounts/work_src_done/STABLE/squid3/squid3.changes 2011-04-21 18:08:47.000000000 +0200
@@ -1,0 +2,8 @@
+Thu Apr 21 16:05:07 UTC 2011 - chris(a)computersalat.de
+
+- mv RPM_BUILD_ROOT to {buildroot}
+- fdupes only on {buildroot}{_prefix}
+ o no symlinks on config files ;)
+ hence configs won't be overwritten on update
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ squid3.spec ++++++
--- /var/tmp/diff_new_pack.vuecCN/_old 2011-04-27 10:47:17.000000000 +0200
+++ /var/tmp/diff_new_pack.vuecCN/_new 2011-04-27 10:47:17.000000000 +0200
@@ -22,7 +22,7 @@
Name: squid3
Summary: Squid Version 3 WWW Proxy Server
Version: 3.1.12
-Release: 3
+Release: 5
License: GPLv2+
Group: Productivity/Networking/Web/Proxy
AutoReqProv: on
@@ -198,39 +198,39 @@
%install
/usr/sbin/useradd -r -o -g nogroup -u 31 -s /bin/false -c "WWW-proxy squid" \
-d /var/cache/squid squid 2> /dev/null || :
-mkdir -p $RPM_BUILD_ROOT/var/{cache,log}/squid
-mkdir -p $RPM_BUILD_ROOT/usr/sbin
-make install DESTDIR=$RPM_BUILD_ROOT SAMBAPREFIX=/usr
-mv $RPM_BUILD_ROOT{/etc/squid/,/usr/share/squid/}mime.conf.default
-ln -s /etc/squid/mime.conf $RPM_BUILD_ROOT/usr/share/squid # backward compatible
-install -d -m 755 $RPM_BUILD_ROOT/etc/permissions.d
-install -m 644 %{SOURCE9} $RPM_BUILD_ROOT/etc/permissions.d/squid
-install -d -m 755 $RPM_BUILD_ROOT/etc/logrotate.d
-install -m 644 %{SOURCE7} $RPM_BUILD_ROOT/etc/logrotate.d/squid
+mkdir -p %{buildroot}/var/{cache,log}/squid
+mkdir -p %{buildroot}/usr/sbin
+make install DESTDIR=%{buildroot} SAMBAPREFIX=/usr
+mv %{buildroot}{/etc/squid/,/usr/share/squid/}mime.conf.default
+ln -s /etc/squid/mime.conf %{buildroot}/usr/share/squid # backward compatible
+install -d -m 755 %{buildroot}/etc/permissions.d
+install -m 644 %{S:9} %{buildroot}/etc/permissions.d/squid
+install -d -m 755 %{buildroot}/etc/logrotate.d
+install -m 644 %{S:7} %{buildroot}/etc/logrotate.d/squid
install -d %{buildroot}%{_mandir}/man8/
-#chown squid:root -R $RPM_BUILD_ROOT/var/{cache,log}/squid
-chmod 750 $RPM_BUILD_ROOT/var/{cache,log}/squid
-install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/init.d/squid
-ln -sf /etc/init.d/squid $RPM_BUILD_ROOT/usr/sbin/rcsquid
-mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 doc/squid.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/basic_auth/PAM/pam_auth.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-install -m 644 helpers/external_acl/ldap_group/squid_ldap_group.8 $RPM_BUILD_ROOT/%{_mandir}/man8/
-gzip -9 $RPM_BUILD_ROOT/%{_mandir}/man8/*.8
+#chown squid:root -R %{buildroot}/var/{cache,log}/squid
+chmod 750 %{buildroot}/var/{cache,log}/squid
+install -D %{S:2} %{buildroot}/etc/init.d/squid
+ln -sf /etc/init.d/squid %{buildroot}/usr/sbin/rcsquid
+mkdir -p %{buildroot}/%{_mandir}/man8/
+install -m 644 doc/squid.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/LDAP/squid_ldap_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/basic_auth/PAM/pam_auth.8 %{buildroot}/%{_mandir}/man8/
+install -m 644 helpers/external_acl/ldap_group/squid_ldap_group.8 %{buildroot}/%{_mandir}/man8/
+gzip -9 %{buildroot}/%{_mandir}/man8/*.8
install -d -m 755 doc/scripts
install scripts/*.pl doc/scripts
cat > doc/scripts/cachemgr.readme <<-EOT
cachemgr.cgi will now be found in %{_libdir}/squid
EOT
-install -d -m 755 $RPM_BUILD_ROOT/%{_libdir}/squid
-mv $RPM_BUILD_ROOT/usr/sbin/cachemgr.cgi $RPM_BUILD_ROOT/%{_libdir}/squid
+install -d -m 755 %{buildroot}/%{_libdir}/squid
+mv %{buildroot}/usr/sbin/cachemgr.cgi %{buildroot}/%{_libdir}/squid
install -d -m 755 doc/contrib
-install %{SOURCE6} doc/contrib
-install -D -m 644 %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/squid
-#chown squid:shadow $RPM_BUILD_ROOT/usr/sbin/pam_auth
-chmod g+s $RPM_BUILD_ROOT/usr/sbin/pam_auth
+install %{S:6} doc/contrib
+install -D -m 644 %{S:5} %{buildroot}/etc/pam.d/squid
+#chown squid:shadow %{buildroot}/usr/sbin/pam_auth
+chmod g+s %{buildroot}/usr/sbin/pam_auth
#rm %{buildroot}/usr/sbin/Run*
rm -rf %{buildroot}%{squidconfdir}/errors
for i in errors/*; do
@@ -239,17 +239,18 @@
install -m 644 $i/* %{buildroot}/usr/share/squid/$i
fi
done
-ln -fs /usr/share/squid/errors/de %{buildroot}%{squidconfdir}/errors
-install -d -m 755 $RPM_BUILD_ROOT/var/adm/fillup-templates
-install -m 644 %{SOURCE10} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.squid
+ln -sf /usr/share/squid/errors/de %{buildroot}%{squidconfdir}/errors
+install -d -m 755 %{buildroot}/var/adm/fillup-templates
+install -m 644 %{S:10} %{buildroot}/var/adm/fillup-templates/sysconfig.squid
# remove unpackaged files
-rm -f $RPM_BUILD_ROOT/usr/man/man8/*.8
+rm -f %{buildroot}/usr/man/man8/*.8
+
# fix file duplicates
%if 0%{?suse_version} > 1030
-%fdupes -s $RPM_BUILD_ROOT
+%fdupes -s %{buildroot}%{_prefix}
%endif
%if 0%{?fedora_version} > 8
-fdupes -q -n -r $RPM_BUILD_ROOT
+fdupes -q -n -r %{buildroot}%{_prefix}
%endif
%pre
@@ -259,7 +260,7 @@
%{_sbindir}/groupadd -r winbind 2>/dev/null
fi
if [ -z "`%{_bindir}/getent passwd squid 2>/dev/null`" ]; then
-/usr/sbin/useradd -c "WWW-proxy squid" -d /var/cache/squid \
+ %{_sbindir}/useradd -c "WWW-proxy squid" -d /var/cache/squid \
-G winbind -g nogroup -o -u 31 -r -s /bin/false \
squid 2>/dev/null
fi
@@ -292,7 +293,7 @@
%verify_permissions -e /usr/sbin/pam_auth
%clean
-%{__rm} -rf $RPM_BUILD_ROOT
+%{__rm} -rf %{buildroot}
%files
%defattr(-,root,root)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 texworks for openSUSE:Factory
checked in at Wed Apr 27 10:47:04 CEST 2011.
--------
--- texworks/texworks.changes 2011-03-21 20:12:12.000000000 +0100
+++ /mounts/work_src_done/STABLE/texworks/texworks.changes 2011-04-19 21:23:24.000000000 +0200
@@ -1,0 +2,14 @@
+Tue Apr 19 19:26:10 UTC 2011 - badshah400(a)gmail.com
+
+- Correct pkgconfig dependency for lua plugin package
+
+-------------------------------------------------------------------
+Sat Apr 16 09:14:15 UTC 2011 - badshah400(a)gmail.com
+
+- Split out python scripting and lua scripting plugins in
+ respective subpackages
+- Correctly point to myspell dictionaries, this enables the
+ dictionaries in texworks' spell-checker (thanks to Mike)
+- Install the user-manual (thanks to Mike)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ texworks.spec ++++++
--- /var/tmp/diff_new_pack.h9fv3V/_old 2011-04-27 10:45:18.000000000 +0200
+++ /var/tmp/diff_new_pack.h9fv3V/_new 2011-04-27 10:45:18.000000000 +0200
@@ -20,7 +20,7 @@
Name: texworks
Version: 0.4.0
-Release: 1
+Release: 2
License: GPLv2+
Summary: TeXshop-like TeX Editor
Url: http://www.tug.org/texworks/
@@ -33,6 +33,8 @@
BuildRequires: libpoppler-qt4-devel
BuildRequires: libqt4-devel
BuildRequires: update-desktop-files
+BuildRequires: python-devel
+BuildRequires: lua-devel
Requires: dbus-1
Requires: hunspell
Requires: poppler-tools
@@ -48,16 +50,85 @@
TeXShop for Mac OS X, which is credited with a resurgence of TeX
usage on the Mac platform.
+%package plugin-python
+License: GPLv2+
+Summary: Plugins to add python scripting to texworks
+Group: Development/Libraries/Python
+Requires: python
+Requires: %{name} = %{version}
+
+%description plugin-python
+The TeXworks project is an effort to build a simple TeX front-end
+program (working environment) that will be available for all today’s
+major desktop operating systems—in particular, MS Windows (XP and
+Vista), typical GNU/Linux distros and other X11-based systems, and
+Mac OS X. It is deliberately modeled on Dick Koch’s award-winning
+TeXShop for Mac OS X, which is credited with a resurgence of TeX
+usage on the Mac platform.
+
+This package adds python scripting abitilies to TeXworks.
+
+%package plugin-lua
+License: GPLv2+
+Summary: Plugins to add python scripting to texworks
+Group: Development/Libraries/Other
+Requires: lua
+Requires: %{name} = %{version}
+
+%description plugin-lua
+The TeXworks project is an effort to build a simple TeX front-end
+program (working environment) that will be available for all today’s
+major desktop operating systems—in particular, MS Windows (XP and
+Vista), typical GNU/Linux distros and other X11-based systems, and
+Mac OS X. It is deliberately modeled on Dick Koch’s award-winning
+TeXShop for Mac OS X, which is credited with a resurgence of TeX
+usage on the Mac platform.
+
+This package adds lua scripting abitilies to TeXworks.
+
%prep
%setup -q -n texworks-%{version}
%build
-qmake -unix 'INSTALL_PREFIX=%{_prefix}' TeXworks.pro
+
+#Python plugin
+pushd plugins-src/TWPythonPlugin/
+sed -i 's:/usr/local/lib:%{_libdir}:' TWPythonPlugin.pro
+qmake -after \
+ 'INCLUDEPATH -= /usr/include/python2.6/' \
+ 'INCLUDEPATH += %{_includedir}/python%{py_ver}/' \
+ 'LIBS -= -lpython2.6' \
+ 'LIBS += -lpython%{py_ver}'
+popd
+
+#Lua plugin
+pushd plugins-src/TWLuaPlugin/
+sed -i 's:/usr/local/lib:%{_libdir}:' TWLuaPlugin.pro
+qmake -after \
+ 'PKGCONFIG -= lua5.1' \
+ 'PKGCONFIG += lua'
+popd
+
+#Main package
+qmake INSTALL_PREFIX=%{_prefix} DOCS_DIR=%{_docdir}/%{name} \
+ -after \
+ 'QMAKE_CXXFLAGS -= -DTW_BUILD_ID=personal -DTW_HELPPATH=\\\"/usr/local/share/texworks-help\\\" -DTW_PLUGINPATH=\\\"/usr/local/lib/texworks\\\" -DTW_DICPATH=\\\"/usr/share/myspell/dicts\\\"' \
+ 'QMAKE_CXXFLAGS += -DTW_BUILD_ID=openSUSE -DTW_HELPPATH=\\\"%{_docdir}/%{name}/manual\\\" -DTW_PLUGINPATH=\\\"%{_libdir}/%{name}\\\" -DTW_DICPATH=\\\"%{_datadir}/myspell\\\"'
%install
+#Python plugin
+pushd plugins-src/TWPythonPlugin/
+make INSTALL_ROOT=%{buildroot} install
+popd
+
+#Lua plugin
+pushd plugins-src/TWLuaPlugin/
+make INSTALL_ROOT=%{buildroot} install
+popd
+
+#Main package
make INSTALL_ROOT=%{buildroot} install
%suse_update_desktop_file texworks Publishing WordProcessor
-rm -rf %{buildroot}%{_datadir}/doc/texworks
%clean
rm -rf %{buildroot}
@@ -78,10 +149,20 @@
%files
%defattr(-,root,root)
-%doc COPYING README
+%doc COPYING README NEWS manual/
%{_bindir}/texworks
%{_datadir}/applications/texworks.desktop
%{_datadir}/pixmaps/*.png
%{_mandir}/man1/texworks.1.*
+%files plugin-python
+%defattr(-,root,root)
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*PythonPlugin.so
+
+%files plugin-lua
+%defattr(-,root,root)
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*LuaPlugin.so
+
%changelog
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 vm-install for openSUSE:Factory
checked in at Wed Apr 27 10:45:04 CEST 2011.
--------
--- vm-install/vm-install.changes 2011-03-04 16:48:44.000000000 +0100
+++ /mounts/work_src_done/STABLE/vm-install/vm-install.changes 2011-04-26 22:41:51.000000000 +0200
@@ -1,0 +2,59 @@
+Tue Apr 26 14:34:15 MDT 2011 - carnold(a)novell.com
+
+- bnc#391188 - vm-install: Create virtual machine- link for VM
+ information not working
+
+-------------------------------------------------------------------
+Mon Apr 25 08:46:02 MDT 2011 - carnold(a)novell.com
+
+- bnc#688757 - SLED10SP4 fully virtualized in SLES10SP4 XEN -
+ kernel panic (also fails as a guest on sles11sp1)
+
+-------------------------------------------------------------------
+Wed Apr 20 14:57:43 MDT 2011 - carnold(a)novell.com
+
+- Modified summary screen to be more descriptive of current vm
+ settings
+
+-------------------------------------------------------------------
+Tue Apr 12 15:17:41 MDT 2011 - carnold(a)novell.com
+
+- Add KVM only 'Cache Mode' to the GUI.
+
+-------------------------------------------------------------------
+Wed Apr 6 10:54:22 MDT 2011 - carnold(a)novell.com
+
+- Upgrade the version strings to 0.5.1
+
+-------------------------------------------------------------------
+Thu Mar 31 14:05:10 MDT 2011 - carnold(a)novell.com
+
+- fate##311393 - Enable audio device selection during HVM guest
+ installation
+
+-------------------------------------------------------------------
+Mon Mar 17 17:19:52 MDT 2011 - carnold(a)novell.com
+
+- Fate#311004: Support Direct Kernel Booting in KVM
+ This allows autoyast files and other boot options to be passed
+ at install time. Network installs over ftp, http, or nfs can
+ also be done similar to Xen paravirtualized guests.
+
+-------------------------------------------------------------------
+Thu Mar 17 13:48:13 MDT 2011 - carnold(a)novell.com
+
+- bnc#678152 - Xen: virt-manager: harmless block device admin
+ actions on FV guests mess up network (VIF) device
+ type ==> network lost.
+
+-------------------------------------------------------------------
+Thu Mar 17 11:37:05 MDT 2011 - carnold(a)novell.com
+
+- Show RHEL6 on the 'Type of Operating System' screen.
+
+-------------------------------------------------------------------
+Mon Mar 7 15:14:52 MST 2011 - carnold(a)novell.com
+
+- bnc#677557 - Can't install openSUSE 11.4 as a guest on XEN
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
vm-install-0.4.28.tar.bz2
New:
----
vm-install-0.5.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vm-install.spec ++++++
--- /var/tmp/diff_new_pack.cAxUAF/_old 2011-04-27 10:44:27.000000000 +0200
+++ /var/tmp/diff_new_pack.cAxUAF/_new 2011-04-27 10:44:27.000000000 +0200
@@ -26,10 +26,10 @@
License: GPLv2+
Group: System/Emulators/PC
AutoReqProv: yes
-Version: 0.4.28
-Release: 14
+Version: 0.5.2
+Release: 1
Summary: Tool to Define a Virtual Machine and Install Its Operating System
-Source0: %{name}-0.4.28.tar.bz2
+Source0: %{name}-0.5.2.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %ix86 x86_64
Requires: libvirt python-urlgrabber libxml2-python libvirt-python virt-utils udhcp tftp
++++++ vm-install-0.4.28.tar.bz2 -> vm-install-0.5.2.tar.bz2 ++++++
++++ 3480 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 icewm for openSUSE:Factory
checked in at Wed Apr 27 10:30:35 CEST 2011.
--------
--- icewm/icewm.changes 2010-09-08 03:08:55.000000000 +0200
+++ /mounts/work_src_done/STABLE/icewm/icewm.changes 2011-04-26 13:04:07.000000000 +0200
@@ -1,0 +2,19 @@
+Tue Apr 26 11:02:56 UTC 2011 - mmarek(a)novell.com
+
+- Change the command to apply icewm-preferences.patch to make
+ automatic checks happy.
+
+-------------------------------------------------------------------
+Mon Mar 21 10:58:16 UTC 2011 - mmarek(a)novell.com
+
+- Fix shutdown and reboot (bnc#681126).
+
+-------------------------------------------------------------------
+Mon Mar 21 10:46:09 UTC 2011 - mmarek(a)novell.com
+
+- Update to 1.3.7:
+ * battery status as graphics not text (Alexander Drozdov)
+ * 'icewm-set-gnomewm' script to set GNOME window manager to icewm
+ * bugfixes
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
icewm-1.3.6.tar.bz2
New:
----
icewm-1.3.7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icewm.spec ++++++
--- /var/tmp/diff_new_pack.t263Zl/_old 2011-04-27 10:25:19.000000000 +0200
+++ /var/tmp/diff_new_pack.t263Zl/_new 2011-04-27 10:25:19.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package icewm (Version 1.3.6)
+# spec file for package icewm
#
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -31,8 +31,8 @@
Provides: windowmanager
Requires: icewm-bin, xdg-menu, desktop-data
AutoReqProv: on
-Version: 1.3.6
-Release: 8
+Version: 1.3.7
+Release: 1
Source: icewm-%version.tar.bz2
Source1: %{name}.desktop
Patch1: icewm-multiByte.patch
@@ -135,7 +135,8 @@
--with-imlib \
--enable-menus-gnome2
make %{?jobs:-j%jobs}
-patch -p0 -i %_sourcedir/icewm-preferences.patch
+# patch generated lib/preferences file
+patch -p0 -i %{P:99}
%install
make DESTDIR=$RPM_BUILD_ROOT install install-docs
@@ -178,5 +179,6 @@
%defattr(-,root,root)
/usr/bin/icesound
/usr/bin/icewm-menu-gnome2
+/usr/bin/icewm-set-gnomewm
%changelog
++++++ icewm-1.3.6.tar.bz2 -> icewm-1.3.7.tar.bz2 ++++++
++++ 16373 lines of diff (skipped)
++++++ icewm-preferences.patch ++++++
--- /var/tmp/diff_new_pack.t263Zl/_old 2011-04-27 10:25:19.000000000 +0200
+++ /var/tmp/diff_new_pack.t263Zl/_new 2011-04-27 10:25:19.000000000 +0200
@@ -19,7 +19,7 @@
--- lib/preferences.orig
+++ lib/preferences
-@@ -464,7 +464,7 @@
+@@ -509,7 +509,7 @@
# NewMailCommand=""
# Command to lock display/screensaver
@@ -28,20 +28,20 @@
# Command to run on clock
# ClockCommand="xclock -name icewm -title Clock"
-@@ -488,10 +488,10 @@
+@@ -533,10 +533,10 @@
# LogoutCancelCommand=""
# Command to shutdown the system
-# ShutdownCommand=""
-+ShutdownCommand="dbus-send --system --dest=org.freedesktop.Hal --type=method_call --print-reply /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown"
++ShutdownCommand="dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop"
# Command to reboot the system
-# RebootCommand=""
-+RebootCommand="dbus-send --system --dest=org.freedesktop.Hal --type=method_call --print-reply /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Reboot"
++RebootCommand="dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart"
# Command to run on CPU status
# CPUStatusCommand="xterm -name top -title Process\ Status -e top"
-@@ -1223,19 +1223,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
+@@ -1280,19 +1280,19 @@ WorkspaceNames=" 1 ", " 2 ", " 3 ", " 4
#
# Display desktop background centered and not tiled
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 kdepim4-runtime for openSUSE:Factory
checked in at Wed Apr 27 10:25:03 CEST 2011.
--------
--- KDE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-09 20:35:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdepim4-runtime/kdepim4-runtime.changes 2011-04-21 22:21:57.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Apr 21 20:22:40 UTC 2011 - javier(a)opensuse.org
+
+- Update to 4.4.11.1
+ * Bugfixes over 4.4.10
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
kdepim-runtime-4.4.10.tar.bz2
New:
----
kdepim-runtime-4.4.11.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdepim4-runtime.spec ++++++
--- /var/tmp/diff_new_pack.kJnutf/_old 2011-04-27 10:13:30.000000000 +0200
+++ /var/tmp/diff_new_pack.kJnutf/_new 2011-04-27 10:13:30.000000000 +0200
@@ -26,8 +26,8 @@
Group: System/GUI/KDE
Summary: Base package of kdepim
Url: http://www.kde.org
-Version: 4.4.10
-Release: 7
+Version: 4.4.11.1
+Release: 1
Source0: kdepim-runtime-%version.tar.bz2
Patch: 4_4_BRANCH.diff
Patch6: disable-knut.diff
++++++ kdepim-runtime-4.4.10.tar.bz2 -> kdepim-runtime-4.4.11.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/.krazy new/kdepim-runtime-4.4.11.1/.krazy
--- old/kdepim-runtime-4.4.10/.krazy 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/.krazy 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,3 @@
+SKIP /libkdepim-copy/\|/resources/openchange/
+EXTRA defines,kdebug,null,qenums,tipsandthis
+STRICT super
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt
--- old/kdepim-runtime-4.4.10/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/agents/nepomuk_calendar_feeder/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200
@@ -19,5 +19,14 @@
${KDEPIMLIBS_KCAL_LIBS}
)
+## Patch from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=596908
+## We've not seen the reported issue, but it's better to have patches upstream,
+## so we take it in.
+# akonadi_nepomuk_calendar_feeder_automoc depend on the presence of the
+# ontology class headers. We can be sure that they are present when niefast
+# target is built. This is needed to avoid a race condition when building in
+# parallel.
+add_dependencies( akonadi_nepomuk_calendar_feeder_automoc niefast )
+
install(TARGETS akonadi_nepomuk_calendar_feeder ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents")
+install(FILES nepomukcalendarfeeder.desktop DESTINATION "${CMAKE_INSTALL_PREFIX}/share/akonadi/agents")
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt
--- old/kdepim-runtime-4.4.10/plugins/CMakeLists.txt 2011-01-27 15:47:32.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/CMakeLists.txt 2011-04-21 15:41:44.000000000 +0200
@@ -22,6 +22,13 @@
target_link_libraries(akonadi_serializer_kcal ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCAL_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
install(TARGETS akonadi_serializer_kcal DESTINATION ${PLUGIN_INSTALL_DIR})
+if(KDEPIMLIBS_KCALCORE_LIBS)
+ set(akonadi_serializer_kcalcore_SRCS akonadi_serializer_kcalcore.cpp)
+ kde4_add_plugin(akonadi_serializer_kcalcore ${akonadi_serializer_kcalcore_SRCS})
+ target_link_libraries(akonadi_serializer_kcalcore ${KDE4_KDECORE_LIBS} ${KDEPIMLIBS_KCALUTILS_LIBS} ${KDEPIMLIBS_KCALCORE_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
+ install(TARGETS akonadi_serializer_kcalcore DESTINATION ${PLUGIN_INSTALL_DIR})
+endif()
+
set(akonadi_serializer_bookmark_SRCS akonadi_serializer_bookmark.cpp)
kde4_add_plugin(akonadi_serializer_bookmark ${akonadi_serializer_bookmark_SRCS})
target_link_libraries(akonadi_serializer_bookmark ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${KDEPIMLIBS_AKONADI_LIBS})
@@ -43,6 +50,7 @@
akonadi_serializer_addressee.desktop
akonadi_serializer_mail.desktop
akonadi_serializer_kcal.desktop
+ akonadi_serializer_kcalcore.desktop
akonadi_serializer_bookmark.desktop
akonadi_serializer_contactgroup.desktop
akonadi_serializer_microblog.desktop
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.cpp 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,312 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause(a)kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#include "akonadi_serializer_kcalcore.h"
+
+#include <akonadi/abstractdifferencesreporter.h>
+#include <akonadi/item.h>
+#include <akonadi/collection.h>
+
+#include <KCalCore/Event>
+#include <KCalCore/Todo>
+
+#include <KCalUtils/Stringify>
+
+#include <kdebug.h>
+#include <klocale.h>
+#include <kdeversion.h>
+
+#include <QtCore/qplugin.h>
+
+using namespace KCalCore;
+using namespace KCalUtils;
+using namespace Akonadi;
+using namespace AkonadiFuture;
+
+//// ItemSerializerPlugin interface
+
+bool SerializerPluginKCalCore::deserialize(Item & item, const QByteArray & label, QIODevice & data, int version)
+{
+ Q_UNUSED( version );
+
+ if ( label != Item::FullPayload ) {
+ return false;
+ }
+
+ Incidence::Ptr i = mFormat.fromString( QString::fromUtf8( data.readAll() ) );
+ if ( !i ) {
+ kWarning( 5263 ) << "Failed to parse incidence! Item id = " << item.id()
+ << "Storage collection id " << item.storageCollectionId()
+ << "parentCollectionId = " << item.parentCollection().id();
+ data.seek( 0 );
+ kWarning( 5263 ) << QString::fromUtf8( data.readAll() );
+ return false;
+ }
+ item.setPayload( i );
+ return true;
+}
+
+void SerializerPluginKCalCore::serialize(const Item & item, const QByteArray & label, QIODevice & data, int &version)
+{
+ Q_UNUSED( version );
+
+ if ( label != Item::FullPayload || !item.hasPayload<Incidence::Ptr>() )
+ return;
+ Incidence::Ptr i = item.payload<Incidence::Ptr>();
+ // ### I guess this can be done without hardcoding stuff
+ data.write( "BEGIN:VCALENDAR\nPRODID:-//K Desktop Environment//NONSGML libkcal 3.2//EN\nVERSION:2.0\n" );
+#if KDE_IS_VERSION( 4, 6, 40 )
+ data.write( mFormat.toRawString( i ) );
+#else
+ data.write( mFormat.toString( i ).toUtf8() );
+#endif
+ data.write( "\nEND:VCALENDAR" );
+}
+
+//// DifferencesAlgorithmInterface
+
+static bool compareString( const QString &left, const QString &right )
+{
+ if ( left.isEmpty() && right.isEmpty() )
+ return true;
+ else
+ return left == right;
+}
+
+static QString toString( const Attendee::Ptr &attendee )
+{
+ return attendee->name() + QLatin1Char( '<' ) + attendee->email() + QLatin1Char( '>' );
+}
+
+static QString toString( const Alarm::Ptr & )
+{
+ return QString();
+}
+
+/*
+static QString toString( const Incidence::Ptr & )
+{
+ return QString();
+}
+*/
+
+static QString toString( const Attachment::Ptr & )
+{
+ return QString();
+}
+
+static QString toString( const QDate &date )
+{
+ return date.toString();
+}
+
+static QString toString( const KDateTime &dateTime )
+{
+ return dateTime.dateTime().toString();
+}
+
+static QString toString( const QString &str )
+{
+ return str;
+}
+
+static QString toString( bool value )
+{
+ if ( value )
+ return i18n( "Yes" );
+ else
+ return i18n( "No" );
+}
+
+template <class C>
+static void compareList( AbstractDifferencesReporter *reporter,
+ const QString &id,
+ const C &left,
+ const C &right )
+{
+ for ( typename C::const_iterator it = left.begin(), end = left.end() ; it != end ; ++it ) {
+ if ( !right.contains( *it ) )
+ reporter->addProperty( AbstractDifferencesReporter::AdditionalLeftMode, id, toString( *it ), QString() );
+ }
+
+ for ( typename C::const_iterator it = right.begin(), end = right.end() ; it != end ; ++it ) {
+ if ( !left.contains( *it ) )
+ reporter->addProperty( AbstractDifferencesReporter::AdditionalRightMode, id, QString(), toString( *it ) );
+ }
+}
+
+static void compareIncidenceBase( AbstractDifferencesReporter *reporter,
+ const IncidenceBase::Ptr &left,
+ const IncidenceBase::Ptr &right )
+{
+ compareList( reporter, i18n( "Attendees" ), left->attendees(), right->attendees() );
+
+ if ( !compareString( left->organizer()->fullName(), right->organizer()->fullName() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Organizer" ),
+ left->organizer()->fullName(), right->organizer()->fullName() );
+
+ if ( !compareString( left->uid(), right->uid() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "UID" ),
+ left->uid(), right->uid() );
+
+ if ( left->allDay() != right->allDay() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Is all-day" ),
+ toString( left->allDay() ), toString( right->allDay() ) );
+
+ if ( left->hasDuration() != right->hasDuration() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has duration" ),
+ toString( left->hasDuration() ), toString( right->hasDuration() ) );
+
+ if ( left->duration() != right->duration() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Duration" ),
+ QString::number( left->duration().asSeconds() ), QString::number( right->duration().asSeconds() ) );
+}
+
+static void compareIncidence( AbstractDifferencesReporter *reporter,
+ const Incidence::Ptr &left,
+ const Incidence::Ptr &right )
+{
+ if ( !compareString( left->description(), right->description() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Description" ),
+ left->description(), right->description() );
+
+ if ( !compareString( left->summary(), right->summary() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Summary" ),
+ left->summary(), right->summary() );
+
+ if ( left->status() != right->status() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Status" ),
+ Stringify::incidenceStatus( left ), Stringify::incidenceStatus( right ) );
+
+ if ( left->secrecy() != right->secrecy() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Secrecy" ),
+ toString( left->secrecy() ), toString( right->secrecy() ) );
+
+ if ( left->priority() != right->priority() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Priority" ),
+ toString( left->priority() ), toString( right->priority() ) );
+
+ if ( !compareString( left->location(), right->location() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Location" ),
+ left->location(), right->location() );
+
+ compareList( reporter, i18n( "Categories" ), left->categories(), right->categories() );
+ compareList( reporter, i18n( "Alarms" ), left->alarms(), right->alarms() );
+ compareList( reporter, i18n( "Resources" ), left->resources(), right->resources() );
+ compareList( reporter, i18n( "Attachments" ), left->attachments(), right->attachments() );
+ compareList( reporter, i18n( "Exception Dates" ), left->recurrence()->exDates(), right->recurrence()->exDates() );
+ compareList( reporter, i18n( "Exception Times" ), left->recurrence()->exDateTimes(), right->recurrence()->exDateTimes() );
+ // TODO: recurrence dates and date/times, exrules, rrules
+
+ if ( left->created() != right->created() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode,
+ i18n( "Created" ), left->created().toString(), right->created().toString() );
+
+ if ( !compareString( left->relatedTo(), right->relatedTo() ) )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode,
+ i18n( "Related Uid" ), left->relatedTo(), right->relatedTo() );
+}
+
+static void compareEvent( AbstractDifferencesReporter *reporter,
+ const Event::Ptr &left,
+ const Event::Ptr &right )
+{
+
+ if ( left->dtStart() != right->dtStart() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Start time" ),
+ left->dtStart().toString(), right->dtStart().toString() );
+
+ if ( left->hasEndDate() != right->hasEndDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has End Date" ),
+ toString( left->hasEndDate() ), toString( right->hasEndDate() ) );
+
+ if ( left->dtEnd() != right->dtEnd() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "End Date" ),
+ left->dtEnd().toString(), right->dtEnd().toString() );
+
+ // TODO: check transparency
+}
+
+static void compareTodo( AbstractDifferencesReporter *reporter,
+ const Todo::Ptr &left,
+ const Todo::Ptr &right )
+{
+ if ( left->hasStartDate() != right->hasStartDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Start Date" ),
+ toString( left->hasStartDate() ), toString( right->hasStartDate() ) );
+
+ if ( left->hasDueDate() != right->hasDueDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Due Date" ),
+ toString( left->hasDueDate() ), toString( right->hasDueDate() ) );
+
+ if ( left->dtDue() != right->dtDue() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Due Date" ),
+ left->dtDue().toString(), right->dtDue().toString() );
+
+ if ( left->hasCompletedDate() != right->hasCompletedDate() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Has Complete Date" ),
+ toString( left->hasCompletedDate() ), toString( right->hasCompletedDate() ) );
+
+ if ( left->percentComplete() != right->percentComplete() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Complete" ),
+ QString::number( left->percentComplete() ), QString::number( right->percentComplete() ) );
+
+ if ( left->completed() != right->completed() )
+ reporter->addProperty( AbstractDifferencesReporter::ConflictMode, i18n( "Completed" ),
+ toString( left->completed() ), toString( right->completed() ) );
+}
+
+void SerializerPluginKCalCore::compare( Akonadi::AbstractDifferencesReporter *reporter,
+ const Akonadi::Item &leftItem,
+ const Akonadi::Item &rightItem )
+{
+ Q_ASSERT( reporter );
+ Q_ASSERT( leftItem.hasPayload<Incidence::Ptr>() );
+ Q_ASSERT( rightItem.hasPayload<Incidence::Ptr>() );
+
+ const Incidence::Ptr leftIncidencePtr = leftItem.payload<Incidence::Ptr>();
+ const Incidence::Ptr rightIncidencePtr = rightItem.payload<Incidence::Ptr>();
+
+ if ( leftIncidencePtr->type() == Incidence::TypeEvent ) {
+ reporter->setLeftPropertyValueTitle( i18n( "Changed Event" ) );
+ reporter->setRightPropertyValueTitle( i18n( "Conflicting Event" ) );
+ } else if ( leftIncidencePtr->type() == Incidence::TypeTodo ) {
+ reporter->setLeftPropertyValueTitle( i18n( "Changed Todo" ) );
+ reporter->setRightPropertyValueTitle( i18n( "Conflicting Todo" ) );
+ }
+
+ compareIncidenceBase( reporter, leftIncidencePtr, rightIncidencePtr );
+ compareIncidence( reporter, leftIncidencePtr, rightIncidencePtr );
+
+ const Event::Ptr leftEvent = leftIncidencePtr.dynamicCast<Event>() ;
+ const Event::Ptr rightEvent = rightIncidencePtr.dynamicCast<Event>() ;
+ if ( leftEvent && rightEvent ) {
+ compareEvent( reporter, leftEvent, rightEvent );
+ } else {
+ const Todo::Ptr leftTodo = leftIncidencePtr.dynamicCast<Todo>();
+ const Todo::Ptr rightTodo = rightIncidencePtr.dynamicCast<Todo>();
+ if ( leftTodo && rightTodo ) {
+ compareTodo( reporter, leftTodo, rightTodo );
+ }
+ }
+}
+
+Q_EXPORT_PLUGIN2( akonadi_serializer_kcalcore, SerializerPluginKCalCore )
+
+#include "akonadi_serializer_kcalcore.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.desktop 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.desktop 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,82 @@
+[Misc]
+Name=Incidence Serializer
+Name[ar]=مسلسل الحدث
+Name[ca]=Serialitzador d'incidències
+Name[ca@valencia]=Serialitzador d'incidències
+Name[da]=Serieordning af hændelser
+Name[de]=Ereignis-Serialisierung
+Name[el]=Σειριακοποιητής περιστατικών
+Name[en_GB]=Incidence Serialiser
+Name[es]=Serializador de incidencias
+Name[et]=Sündmuste jadasti
+Name[fr]=Sérialiseur d'évènements
+Name[ga]=Srathóir Imeachtaí
+Name[gl]=Serializador de incidencias
+Name[hu]=Eseménykezelő
+Name[ia]=Divulgator partial de incidentias
+Name[it]=Serializzatore occorrenze
+Name[ja]=イベント用シリアライザ
+Name[kk]=Істерді тізбектеуіші
+Name[km]=ម៉ាស៊ីនបោះពុម្ពឧប្បត្តិហេតុ
+Name[lt]=Įvykių serializatorius
+Name[lv]=Notikumu serializētājs
+Name[nb]=Forekomst-serialisering
+Name[nds]=Begeefnis-Reegmoduul
+Name[ne]=घटना मिलानकर्ता
+Name[nl]=Agenda-item-administratie
+Name[nn]=Hendingsserialisator
+Name[pl]=Serializacja zdarzeń
+Name[pt]=Serializador de Incidências
+Name[pt_BR]=Serializador de incidências
+Name[ro]=Serializator incidență
+Name[ru]=Сохранение событий
+Name[sv]=Förekomstserialisering
+Name[tr]=Olay Sıralandırıcısı
+Name[uk]=Серіалізатор подій
+Name[x-test]=xxIncidence Serializerxx
+Name[zh_CN]=事件序列转换器
+Name[zh_TW]=頻率序列器
+Comment=An Akonadi serializer plugin for events, tasks and journal entries
+Comment[ar]=ملحق مسلسل اكوندا لمدخلات الأحداث و المهمات و السّجل اليومي
+Comment[ca]=Un connector de serialització de l'Akonadi pels objectes incidències
+Comment[ca@valencia]=Un connector de serialització de l'Akonadi pels objectes incidències
+Comment[da]=Et Akonadi-plugin til serieordning af hændelser, opgaver og journalindgange
+Comment[de]=Akonadi-Modul zur Serialisierung von Ereignissen
+Comment[el]=Ένα πρόσθετο σειριακοποιητή Akonadi για γεγονότα, εργασίες και καταχωρήσεις χρονικού
+Comment[en_GB]=An Akonadi serialiser plugin for events, tasks and journal entries
+Comment[es]=Un complemento serializador de Akonadi para eventos, tareas y entradas del diario
+Comment[et]=Akonadi sündmuste, ülesannete ja päevikusissekannate jadastamisplugin
+Comment[fi]=Akonadi-liitännäinen tapahtumia, tehtäviä ja päiväkirjamerkintöjä varten.
+Comment[fr]=Un module externe Akonadi pour la sérialisation des évènements
+Comment[ga]=Breiseán srathóra Akonadi le haghaidh imeachtaí, tascanna, agus iontrálacha dialainne
+Comment[gl]=Un engadido de serialización do Akonadi para eventos, tarefas e entradas do diario
+Comment[hu]=Akonadi-modul események, feladatok és naplóbejegyzések kezeléséhez
+Comment[ia]=Un plug-in pro divulgator partial de Akonadi pro eventos, cargas e jornales
+Comment[it]=Un'estensione di Akonadi per la serializzazione di eventi, attività e diari
+Comment[ja]=イベント、タスク、日記のエントリのための Akonadi シリアライザプラグイン
+Comment[kk]=Akonadi оқиға, тапсырма, күнделік жазуларының тізбектеуіш плагині
+Comment[km]=កម្មវិធីជំនួយកម្មវិធីបោះពុម្ព Akonadi សម្រាប់ធាតុព្រឹត្តិការណ៍ ភារកិច្ច និងទិនានុប្បវត្តិ
+Comment[lt]=Akonadi serializatoriaus įskiepis įvykiams, užduotims ir dienoraščio įrašams
+Comment[lv]=Akonadi notikumu, uzdevumu un dienasgrāmatas ierakstu serializēšanas spraudnis
+Comment[nb]=Et Akonadi programtillegg for serialisering av hendelser, gjøremål og dagboksnotater
+Comment[nds]=Akonadi-Inreegmoduul för Begeefnissen, Opgaven un Daagbookindrääg
+Comment[ne]=घटना, कार्य र जर्नल भौचरका लागि एउटा एकोनाडी मिलानकर्ता प्लगइन
+Comment[nl]=Een administratieplugin voor Akonadi voor evenementen, taken en journalen
+Comment[nn]=Eit Akonadi-serialisatortillegg for hendingar, oppgåver og dagboktekstar
+Comment[pa]=ਈਵੈਂਟ, ਟਾਸਕ ਅਤੇ ਜਰਨਲ ਐਂਟਰੀਆਂ ਲਈ ਅਕੌਂਡੀ ਸੀਰੀਲਾਈਜ਼ਰ ਪਲੱਗਇਨ
+Comment[pl]=Wtyczka Akonadi do serializacji zdarzeń, zadań i wpisów w dzienniku
+Comment[pt]=Um 'plugin' de serialização do Akonadi para os eventos, tarefas e itens do diário
+Comment[pt_BR]=Um plug-in de serialização do Akonadi para os eventos, tarefas e entradas do diário
+Comment[ro]=Modul de serializare Akonadi pentru evenimente, sarcini și întregistrări de agendă
+Comment[ru]=Модуль сохранения событий, задач и журналов для Akonadi
+Comment[sv]=Ett insticksprogram till Akonadi för serialisering av händelser, uppgifter och journalanteckningar
+Comment[tr]=Olay, görev ve günlük nesneleri için bir Akonadi sıralandırıcısı
+Comment[uk]=Додаток серіалізації Akonadi для подій, завдань і записів журналів
+Comment[x-test]=xxAn Akonadi serializer plugin for events, tasks and journal entriesxx
+Comment[zh_CN]=对事项、任务和日记项进行序列转换的 Akonadi 插件
+Comment[zh_TW]=事件、工作與日誌項目物件的 Akonadi 序列器外掛程式
+
+[Plugin]
+Type=text/calendar,application/x-vnd.akonadi.note,application/x-vnd.kde.notes
+X-Akonadi-Class=default;KCalCore::Incidence*;
+X-KDE-Library=akonadi_serializer_kcalcore
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h
--- old/kdepim-runtime-4.4.10/plugins/akonadi_serializer_kcalcore.h 1970-01-01 01:00:00.000000000 +0100
+++ new/kdepim-runtime-4.4.11.1/plugins/akonadi_serializer_kcalcore.h 2011-04-21 15:41:44.000000000 +0200
@@ -0,0 +1,53 @@
+/*
+ Copyright (c) 2007 Volker Krause <vkrause(a)kde.org>
+
+ This library is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Library General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ This library is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+ License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to the
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ 02110-1301, USA.
+*/
+
+#ifndef AKONADI_SERIALIZER_KCALCORE_H
+#define AKONADI_SERIALIZER_KCALCORE_H
+
+#include <QtCore/QObject>
+
+#include <akonadi/differencesalgorithminterface.h>
+#include <akonadi/itemserializerplugin.h>
+#include <KCalCore/ICalFormat>
+
+namespace AkonadiFuture {
+
+class SerializerPluginKCalCore : public QObject,
+ public Akonadi::ItemSerializerPlugin,
+ public Akonadi::DifferencesAlgorithmInterface
+
+{
+ Q_OBJECT
+ Q_INTERFACES( Akonadi::ItemSerializerPlugin )
+ Q_INTERFACES( Akonadi::DifferencesAlgorithmInterface )
+
+ public:
+ bool deserialize( Akonadi::Item& item, const QByteArray& label, QIODevice& data, int version );
+ void serialize( const Akonadi::Item& item, const QByteArray& label, QIODevice& data, int &version );
+
+ void compare( Akonadi::AbstractDifferencesReporter *reporter,
+ const Akonadi::Item &leftItem,
+ const Akonadi::Item &rightItem );
+ private:
+ KCalCore::ICalFormat mFormat;
+};
+
+}
+
+#endif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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