openSUSE Commits
Threads by month
- ----- 2024 -----
- 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
- 1 participants
- 372876 discussions
Hello community,
here is the log from the commit of package coreutils for openSUSE:11.4
checked in at Wed Sep 21 02:08:02 CEST 2011.
--------
--- old-versions/11.4/UPDATES/all/coreutils/coreutils.changes 2011-06-08 18:20:59.000000000 +0200
+++ 11.4/coreutils/coreutils.changes 2011-09-02 17:45:33.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 2 16:10:29 CEST 2011 - pth(a)suse.de
+
+- cut: Print output delimiter also in multibyte locales (bnc#715272).
+
+-------------------------------------------------------------------
calling whatdependson for 11.4-i586
New:
----
coreutils-output_delimiter.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _service:set_version:coreutils.spec ++++++
--- /var/tmp/diff_new_pack.hpiHlD/_old 2011-09-21 02:07:36.000000000 +0200
+++ /var/tmp/diff_new_pack.hpiHlD/_new 2011-09-21 02:07:36.000000000 +0200
@@ -15,7 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
+%define run_tests 0
Name: coreutils
Summary: GNU Core Utilities
@@ -57,6 +57,7 @@
Patch32: coreutils-ptr_int_casts.patch
Patch33: coreutils-8.9-singlethreaded-sort.patch
Patch34: coreutils-bnc#697897-setsid.patch
+Patch35: coreutils-output_delimiter.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# this will create a cycle, broken up randomly - coreutils is just too core to have other
# prerequires
@@ -81,6 +82,7 @@
%patch4
%patch5
%patch6
+%patch35
%patch0
%patch1
%patch2
@@ -112,6 +114,12 @@
make -C po update-po
make %{?_smp_mflags} V=1
+%if %{run_tests} > 0
+%check
+export RUN_EXPENSIVE_TESTS=yes
+make check
+%endif
+
%install
%makeinstall
test -f $RPM_BUILD_ROOT%{_bindir}/su || \
++++++ coreutils.spec ++++++
--- /var/tmp/diff_new_pack.hpiHlD/_old 2011-09-21 02:07:36.000000000 +0200
+++ /var/tmp/diff_new_pack.hpiHlD/_new 2011-09-21 02:07:36.000000000 +0200
@@ -16,6 +16,7 @@
#
+%define run_tests 0
Name: coreutils
Summary: GNU Core Utilities
@@ -24,7 +25,7 @@
License: GFDLv1.2 ; GPLv2+ ; GPLv3+
Group: System/Base
Version: 8.9
-Release: 5.<RELEASE9>
+Release: 5.<RELEASE11>
Provides: fileutils = %{version}, sh-utils = %{version}, stat = %version}, textutils = %{version}, mktemp = %{version}
Obsoletes: fileutils < %{version}, sh-utils < %{version}, stat < %version}, textutils < %{version}, mktemp < %{version}
Obsoletes: libselinux <= 1.23.11-3 libselinux-32bit = 9 libselinux-64bit = 9 libselinux-x86 = 9
@@ -57,6 +58,7 @@
Patch32: coreutils-ptr_int_casts.patch
Patch33: coreutils-8.9-singlethreaded-sort.patch
Patch34: coreutils-bnc#697897-setsid.patch
+Patch35: coreutils-output_delimiter.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# this will create a cycle, broken up randomly - coreutils is just too core to have other
# prerequires
@@ -81,6 +83,7 @@
%patch4
%patch5
%patch6
+%patch35
%patch0
%patch1
%patch2
@@ -112,6 +115,13 @@
make -C po update-po
make %{?_smp_mflags} V=1
+%if %{run_tests} > 0
+
+%check
+export RUN_EXPENSIVE_TESTS=yes
+make check
+%endif
+
%install
%makeinstall
test -f $RPM_BUILD_ROOT%{_bindir}/su || \
++++++ coreutils-output_delimiter.patch ++++++
Index: src/cut.c
===================================================================
--- src/cut.c.orig 2011-09-20 14:41:53.301708252 +0200
+++ src/cut.c 2011-09-20 14:52:16.063215689 +0200
@@ -674,15 +674,19 @@ cut_bytes (FILE *stream)
static void
cut_characters_or_cut_bytes_no_split (FILE *stream)
{
- int idx; /* number of bytes or characters in the line so far. */
- char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
- char *bufpos; /* Next read position of BUF. */
- size_t buflen; /* The length of the byte sequence in buf. */
- wint_t wc; /* A gotten wide character. */
- size_t mblength; /* The byte size of a multibyte character which shows
- as same character as WC. */
- mbstate_t state; /* State of the stream. */
- int convfail; /* 1, when conversion is failed. Otherwise 0. */
+ int idx; /* number of bytes or characters in the line so far. */
+ char buf[MB_LEN_MAX + BUFSIZ]; /* For spooling a read byte sequence. */
+ char *bufpos; /* Next read position of BUF. */
+ size_t buflen; /* The length of the byte sequence in buf. */
+ wint_t wc; /* A gotten wide character. */
+ size_t mblength; /* The byte size of a multibyte character which shows
+ as same character as WC. */
+ mbstate_t state; /* State of the stream. */
+ int convfail = 0; /* 1, when conversion is failed. Otherwise 0. */
+
+ /* Whether to begin printing delimiters between ranges for the current line.
+ Set after we've begun printing data corresponding to the first range. */
+ bool print_delimiter = false;
idx = 0;
buflen = 0;
@@ -705,12 +709,24 @@ cut_characters_or_cut_bytes_no_split (FI
{
putchar ('\n');
idx = 0;
+ print_delimiter = false;
}
else
{
+ bool range_start;
+ bool *rs = output_delimiter_specified ? &range_start : NULL;
idx += (operating_mode == byte_mode) ? mblength : 1;
- if (print_kth (idx, NULL))
- fwrite (bufpos, mblength, sizeof(char), stdout);
+ if (print_kth (idx, rs))
+ {
+ if (rs && *rs && print_delimiter)
+ {
+ fwrite (output_delimiter_string, sizeof (char),
+ output_delimiter_length, stdout);
+ }
+
+ print_delimiter = true;
+ fwrite (bufpos, mblength, sizeof(char), stdout);
+ }
}
buflen -= mblength;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 syslogd for openSUSE:Factory
checked in at Tue Sep 20 12:59:13 CEST 2011.
--------
--- syslogd/syslogd.changes 2011-09-02 10:24:28.000000000 +0200
+++ /mounts/work_src_done/STABLE/syslogd/syslogd.changes 2011-09-20 10:42:42.000000000 +0200
@@ -1,0 +2,9 @@
+Tue Sep 20 08:38:55 UTC 2011 - werner(a)suse.de
+
+- Add syslink to /dev/null for earlysyslog service unit to avoid
+ to start it twice with systemd
+- Do not disable SysV service links with systemd
+- For syslog service unit add conflicts witjh syslog-ng and rsyslog
+ service units
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ syslogd.spec ++++++
--- /var/tmp/diff_new_pack.V8oBvt/_old 2011-09-20 12:59:07.000000000 +0200
+++ /var/tmp/diff_new_pack.V8oBvt/_new 2011-09-20 12:59:07.000000000 +0200
@@ -195,6 +195,7 @@
install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{sysdsysunitdir}/
install -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{sysdsysunitdir}/
install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{sysdsysunitdir}/
+ ln -sf /dev/null $RPM_BUILD_ROOT%{sysdsysunitdir}/earlysyslog.service
%ifarch s390 s390x
sed 's/^KERNEL_LOGLEVEL=1/KERNEL_LOGLEVEL=7/' %{SOURCE2} \
> $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.syslog
@@ -304,6 +305,7 @@
%config(noreplace) /etc/logrotate.d/syslog
%config /etc/init.d/syslog
%config /etc/init.d/earlysyslog
+%config %{sysdsysunitdir}/earlysyslog.service
%config %{sysdsysunitdir}/syslog.service
%config %{sysdsysunitdir}/klog.service
%doc %{_mandir}/man8/syslog.8.gz
++++++ syslog-service-generator ++++++
--- /var/tmp/diff_new_pack.V8oBvt/_old 2011-09-20 12:59:07.000000000 +0200
+++ /var/tmp/diff_new_pack.V8oBvt/_new 2011-09-20 12:59:07.000000000 +0200
@@ -321,12 +321,4 @@
fi
#
-# Last but not least remove the old (early) service links from SystemV init
-#
-for service in /etc/init.d/*.d/*syslog ; do
- test -h $service || continue
- /bin/rm -f $service
-done
-
-#
# end of /lib/systemd/system-generator/syslog-service-generator
++++++ syslog.service ++++++
--- /var/tmp/diff_new_pack.V8oBvt/_old 2011-09-20 12:59:07.000000000 +0200
+++ /var/tmp/diff_new_pack.V8oBvt/_new 2011-09-20 12:59:07.000000000 +0200
@@ -18,7 +18,7 @@
After=var-run.mount
Before=syslog.target
OnFailure=systemd-kmsg-syslogd.service
-Names=earlysyslog.service
+Conflicts=syslog-ng.service rsyslog.service
#
# Now systemd include the further dependency rules and
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 pypoppler for openSUSE:Factory
checked in at Tue Sep 20 12:58:59 CEST 2011.
--------
--- pypoppler/pypoppler.changes 2011-04-29 00:12:03.000000000 +0200
+++ /mounts/work_src_done/STABLE/pypoppler/pypoppler.changes 2011-09-20 11:06:29.000000000 +0200
@@ -1,0 +2,7 @@
+Tue Sep 20 09:05:24 UTC 2011 - vuntz(a)opensuse.org
+
+- Add pypoppler-0.12.1-poppler-0.18.0.patch: fix build with poppler
+ 0.18. Only apply it on 12.1 and later since that's where we have
+ this version of poppler.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
pypoppler-0.12.1-poppler-0.18.0.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pypoppler.spec ++++++
--- /var/tmp/diff_new_pack.oDvZCl/_old 2011-09-20 12:58:54.000000000 +0200
+++ /var/tmp/diff_new_pack.oDvZCl/_new 2011-09-20 12:58:54.000000000 +0200
@@ -27,6 +27,8 @@
Source: pypoppler-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM pypoppler-0.12.1-poppler-0.16.0.patch lp#696025 coolo(a)novell.com -- Fix build with poppler 0.16.0, based on patch from launchpad
Patch0: pypoppler-0.12.1-poppler-0.16.0.patch
+# PATCH-FIX-UPSTREAM pypoppler-0.12.1-poppler-0.18.0.patch lp#776234 vuntz(a)opensuse.org -- Fix build with poppler 0.18
+Patch1: pypoppler-0.12.1-poppler-0.18.0.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: pkgconfig(atk)
BuildRequires: pkgconfig(poppler-glib)
@@ -55,9 +57,11 @@
%prep
%setup -q
%patch0
+%if 0%{?suse_version} > 1140
+%patch1 -p1
+%endif
%build
-
%configure
%__make %{?_smp_mflags}
++++++ pypoppler-0.12.1-poppler-0.18.0.patch ++++++
Index: pypoppler-0.12.1/poppler.defs
===================================================================
--- pypoppler-0.12.1.orig/poppler.defs
+++ pypoppler-0.12.1/poppler.defs
@@ -1646,58 +1646,6 @@
(return-type "GType")
)
-(define-method render_to_pixbuf
- (of-object "PopplerPage")
- (c-name "poppler_page_render_to_pixbuf")
- (return-type "none")
- (parameters
- '("int" "src_x")
- '("int" "src_y")
- '("int" "src_width")
- '("int" "src_height")
- '("double" "scale")
- '("int" "rotation")
- '("GdkPixbuf*" "pixbuf")
- )
-)
-
-(define-method render_to_pixbuf_for_printing
- (of-object "PopplerPage")
- (c-name "poppler_page_render_to_pixbuf_for_printing")
- (return-type "none")
- (parameters
- '("int" "src_x")
- '("int" "src_y")
- '("int" "src_width")
- '("int" "src_height")
- '("double" "scale")
- '("int" "rotation")
- '("GdkPixbuf*" "pixbuf")
- )
-)
-
-(define-method get_thumbnail_pixbuf
- (of-object "PopplerPage")
- (c-name "poppler_page_get_thumbnail_pixbuf")
- (return-type "GdkPixbuf*")
-)
-
-(define-method render_selection_to_pixbuf
- (of-object "PopplerPage")
- (c-name "poppler_page_render_selection_to_pixbuf")
- (return-type "none")
- (parameters
- '("gdouble" "scale")
- '("int" "rotation")
- '("GdkPixbuf*" "pixbuf")
- '("PopplerRectangle*" "selection")
- '("PopplerRectangle*" "old_selection")
- '("PopplerSelectionStyle" "style")
- '("GdkColor*" "glyph_color")
- '("GdkColor*" "background_color")
- )
-)
-
(define-method render
(of-object "PopplerPage")
(c-name "poppler_page_render")
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 mkinitrd for openSUSE:Factory
checked in at Tue Sep 20 12:58:48 CEST 2011.
--------
--- mkinitrd/mkinitrd.changes 2011-08-30 14:14:07.000000000 +0200
+++ /mounts/work_src_done/STABLE/mkinitrd/mkinitrd.changes 2011-09-20 10:43:42.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 20 08:41:54 UTC 2011 - mmarek(a)suse.cz
+
+- purge-kernels: Also handle kernel-source packages (bnc#718753).
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mkinitrd.spec ++++++
--- /var/tmp/diff_new_pack.TA97IP/_old 2011-09-20 12:58:43.000000000 +0200
+++ /var/tmp/diff_new_pack.TA97IP/_new 2011-09-20 12:58:43.000000000 +0200
@@ -31,7 +31,7 @@
%endif
AutoReqProv: on
Version: 2.7.0
-Release: 29
+Release: 3
Conflicts: udev < 118
Requires: dhcpcd
PreReq: %fillup_prereq
++++++ mkinitrd.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mkinitrd-2.7.0/mkinitrd.changes new/mkinitrd-2.7.0/mkinitrd.changes
--- old/mkinitrd-2.7.0/mkinitrd.changes 2011-08-30 14:12:52.000000000 +0200
+++ new/mkinitrd-2.7.0/mkinitrd.changes 2011-09-20 10:42:20.000000000 +0200
@@ -1,4 +1,9 @@
-------------------------------------------------------------------
+Tue Sep 20 08:41:54 UTC 2011 - mmarek(a)suse.cz
+
+- purge-kernels: Also handle kernel-source packages (bnc#718753).
+
+-------------------------------------------------------------------
Tue Aug 30 12:12:03 UTC 2011 - coolo(a)suse.de
- Fix mkinitrd -d <rootdev> (bnc#714650).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mkinitrd-2.7.0/sbin/purge-kernels new/mkinitrd-2.7.0/sbin/purge-kernels
--- old/mkinitrd-2.7.0/sbin/purge-kernels 2011-08-30 14:12:52.000000000 +0200
+++ new/mkinitrd-2.7.0/sbin/purge-kernels 2011-09-20 10:42:20.000000000 +0200
@@ -71,11 +71,13 @@
($flavor = $name) =~ s/.*-kmp-//;
$table = \%kmps;
}
- $flavor =~ s/-.*//; # XXX: No dashes in flavor names
- if ($flavor eq "devel") {
- # kernel-devel is a subpackage of kernel-source
- $flavor = "source";
+ # Put all subpackages into the same group, except for
+ # kernel-source-{vanilla,rt}, which are packages on their own
+ if ($flavor !~ /^source/) {
+ $flavor =~ s/-.*//; # XXX: No dashes in flavor names
}
+ # kernel-devel is a subpackage of kernel-source
+ $flavor =~ s/^devel/source/;
$table->{"$arch/$flavor"} ||= {};
$table->{"$arch/$flavor"}{$vr} ||= [];
push(@{$table->{"$arch/$flavor"}{$vr}}, "$name-$vr.$arch");
@@ -130,23 +132,21 @@
sub list_old_packages {
my ($flavor) = @_;
- # ignore kernel-source for now
- return if $flavor =~ /\/source$/;
-
+ my $is_source = $flavor =~ /\/source/;
my $kernels = $kernels{$flavor};
my @versions = sort_versions(keys(%$kernels));
my %idx = (
oldest => 0,
latest => scalar(@versions) - 1,
);
- if ($want_running && $running_flavor eq $flavor) {
+ if ($want_running && ($running_flavor eq $flavor || $is_source)) {
for (my $i = scalar(@versions) - 1; $i >= 0; $i--) {
if (version_match($running_version, $versions[$i])) {
$idx{running} = $i;
last;
}
}
- if (!exists($idx{running})) {
+ if (!exists($idx{running}) && !$is_source) {
print STDERR "$0: Running kernel $running_version-$running_flavor not installed.\n";
print "NOT removing any packages for flavor $flavor.\n";
return;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libnl3 for openSUSE:Factory
checked in at Tue Sep 20 12:58:35 CEST 2011.
--------
--- libnl3/libnl3.changes 2011-09-14 10:14:10.000000000 +0200
+++ /mounts/work_src_done/STABLE/libnl3/libnl3.changes 2011-09-20 10:51:26.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Sep 20 08:49:19 UTC 2011 - jengelh(a)medozas.de
+
+- Relax Requires in libnl3-devel
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libnl3.spec ++++++
--- /var/tmp/diff_new_pack.DXVBf1/_old 2011-09-20 12:58:30.000000000 +0200
+++ /var/tmp/diff_new_pack.DXVBf1/_new 2011-09-20 12:58:30.000000000 +0200
@@ -1,3 +1,22 @@
+#
+# spec file for package libnl3
+#
+# 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: libnl3
%define lname libnl3-200
%define with_tools 1
@@ -7,14 +26,14 @@
License: LGPL-2.1, GPL-2.0
Group: Development/Libraries/C and C++
-URL: http://people.suug.ch/~tgr/libnl/
+Url: http://people.suug.ch/~tgr/libnl/
#Git-Clone: git://git.kernel.org/pub/scm/libs/netlink/libnl
#Git-Clone: git://git.infradead.org/users/tgr/libnl
Source: libnl-%version.tar.xz
Source2: baselibs.conf
Patch1: libdir.diff
-BuildRoot: %_tmppath/%name-%version-build
-BuildRequires: bison, fdupes, flex, pkgconfig, python-devel, xz
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: bison fdupes flex pkgconfig python-devel xz
%description
The libnl suite is a collection of libraries providing APIs to
@@ -34,7 +53,7 @@
Summary: Libraries and headers for libnl
Group: Development/Libraries/C and C++
License: LGPL-2.1
-Requires: %lname = %version-%release
+Requires: %lname = %version
Provides: libnl-devel = %version-%release
# Starting with libnl3(-3.2), no more conflicts
@@ -46,6 +65,7 @@
#
# Only one of the libnl packages should create the config and tools.
#
+
%package -n libnl-config
Summary: Name maps for libnl
Group: Productivity/Networking/Security
@@ -116,6 +136,7 @@
%if %with_tools
#
+
%files -n libnl-config
%defattr(-,root,root)
%dir %_sysconfdir/libnl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 libmms for openSUSE:Factory
checked in at Tue Sep 20 12:58:18 CEST 2011.
--------
--- libmms/libmms.changes 2011-09-16 10:02:12.000000000 +0200
+++ /mounts/work_src_done/STABLE/libmms/libmms.changes 2011-09-20 10:03:02.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Sep 20 10:02:16 UTC 2011 - toddrme2178(a)gmail.com
+
+- Changed one remaining case of %{name}0 to %{name}%{soname}
+- Removed some extraneous spaces
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmms.spec ++++++
--- /var/tmp/diff_new_pack.AwGdJ6/_old 2011-09-20 12:58:15.000000000 +0200
+++ /var/tmp/diff_new_pack.AwGdJ6/_new 2011-09-20 12:58:15.000000000 +0200
@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-
%define soname 0
Name: libmms
@@ -71,7 +70,7 @@
%install
%make_install
%{__rm} -f '%{buildroot}%{_libdir}/%{name}.la'
-install -d -m 755 %{buildroot}%{_docdir}/%{name}0
+install -d -m 755 %{buildroot}%{_docdir}/%{name}%{soname}
install -m 644 %{SOURCE1} %{buildroot}%{_docdir}/%{name}%{soname}
install -m 644 %{SOURCE2} %{buildroot}%{_docdir}/%{name}%{soname}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 elilo for openSUSE:Factory
checked in at Tue Sep 20 12:58:08 CEST 2011.
--------
--- elilo/elilo.changes 2010-12-17 11:57:27.000000000 +0100
+++ /mounts/work_src_done/STABLE/elilo/elilo.changes 2011-09-19 00:51:17.000000000 +0200
@@ -1,0 +2,6 @@
+Sun Sep 18 17:17:12 UTC 2011 - jengelh(a)medozas.de
+
+- Remove redundant/obsolete tags/sections from specfile
+ (cf. packaging guidelines)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ elilo.spec ++++++
--- /var/tmp/diff_new_pack.jIVCDO/_old 2011-09-20 12:58:03.000000000 +0200
+++ /var/tmp/diff_new_pack.jIVCDO/_new 2011-09-20 12:58:03.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package elilo (Version 3.12)
+# spec file for package elilo
#
-# 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
@@ -15,7 +15,6 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
%ifarch x86_64
%if 0%{?suse_version} < 1100
@@ -31,7 +30,6 @@
Release: 1
ExclusiveArch: ia64 %ix86 x86_64
Group: System/Boot
-AutoReqProv: on
PreReq: /usr/bin/perl
License: GPLv2+
Url: http://elilo.sourceforge.net/
@@ -58,15 +56,6 @@
%description
The EFI Linux boot loader.
-
-
-Authors:
---------
- Johannes Erdfelt <jerdfelt(a)valinux.com>
- David Mosberger <davidm(a)hpl.hp.com>
- Stephane Eranian <eranian(a)hpl.hp.com>
- Brett Johnson <brett(a)hp.com>
-
%prep
%setup -q
%patch0 -p1
@@ -106,9 +95,6 @@
install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/usr/share/man/man8/eliloalt.8
install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT/usr/share/man/man5/elilo.conf.5
-%clean
-rm -fr $RPM_BUILD_ROOT
-
%post
#/sbin/elilo -v || :
echo "Please run /sbin/elilo!"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 soprano for openSUSE:Factory
checked in at Tue Sep 20 12:56:21 CEST 2011.
--------
--- soprano/soprano-backend-sesame.changes 2011-05-16 20:08:54.000000000 +0200
+++ /mounts/work_src_done/STABLE/soprano/soprano-backend-sesame.changes 2011-09-19 13:57:28.000000000 +0200
@@ -1,0 +2,18 @@
+Mon Sep 19 11:54:29 UTC 2011 - tittiatcoke(a)gmail.com
+
+- Update to 2.7.0
+ * Use the new Virtuoso parameter XAnyNormalization to use
+ normalized accents for full-text searching by default.
+ * Updated NAO Vocabulary namespace to include changes from
+ SDO 0.7.
+ * Added method LiteralValue::fromVariant which provides some
+ useful type conversions.
+ * Fixed incorrect binding names counting in redland queries.
+ * Ported Raptor serializer and parser plugins to Raptor2.
+
+-------------------------------------------------------------------
+Thu Jul 21 14:03:21 UTC 2011 - idonmez(a)novell.com
+
+- Update to 2.6.51 needed for KDE 4.7rc2
+
+-------------------------------------------------------------------
soprano-backend-virtuoso.changes: same change
--- soprano/soprano.changes 2011-07-21 16:03:38.000000000 +0200
+++ /mounts/work_src_done/STABLE/soprano/soprano.changes 2011-09-19 13:57:29.000000000 +0200
@@ -1,0 +2,13 @@
+Mon Sep 19 11:54:29 UTC 2011 - tittiatcoke(a)gmail.com
+
+- Update to 2.7.0
+ * Use the new Virtuoso parameter XAnyNormalization to use
+ normalized accents for full-text searching by default.
+ * Updated NAO Vocabulary namespace to include changes from
+ SDO 0.7.
+ * Added method LiteralValue::fromVariant which provides some
+ useful type conversions.
+ * Fixed incorrect binding names counting in redland queries.
+ * Ported Raptor serializer and parser plugins to Raptor2.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
soprano-2.6.51.tar.bz2
New:
----
soprano-2.7.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ soprano-backend-sesame.spec ++++++
--- /var/tmp/diff_new_pack.1xI3TU/_old 2011-09-20 12:56:16.000000000 +0200
+++ /var/tmp/diff_new_pack.1xI3TU/_new 2011-09-20 12:56:16.000000000 +0200
@@ -25,7 +25,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# COMMON1-BEGIN
# COMMON1-BEGIN
-Version: 2.6.51
+Version: 2.7.0
Release: 1
Source0: http://sourceforge.net/projects/soprano/files/Soprano/%{version}/soprano-%{…
Source100: baselibs.conf
@@ -47,7 +47,7 @@
BuildRequires: java-devel
BuildRequires: libsoprano-devel
Requires: libsoprano4 = %{version}
-Requires: java-devel
+Requires: java
Provides: soprano_backend = %{version}
Provides: backend-sesame2 = %{version}
++++++ soprano-backend-virtuoso.spec ++++++
--- /var/tmp/diff_new_pack.1xI3TU/_old 2011-09-20 12:56:16.000000000 +0200
+++ /var/tmp/diff_new_pack.1xI3TU/_new 2011-09-20 12:56:16.000000000 +0200
@@ -25,7 +25,7 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# COMMON1-BEGIN
# COMMON1-BEGIN
-Version: 2.6.51
+Version: 2.7.0
Release: 1
Source0: http://sourceforge.net/projects/soprano/files/Soprano/%{version}/soprano-%{…
Source100: baselibs.conf
++++++ soprano.spec ++++++
--- /var/tmp/diff_new_pack.1xI3TU/_old 2011-09-20 12:56:16.000000000 +0200
+++ /var/tmp/diff_new_pack.1xI3TU/_new 2011-09-20 12:56:16.000000000 +0200
@@ -24,7 +24,7 @@
Summary: C++/Qt based interface library for RDF
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# COMMON1-BEGIN
-Version: 2.6.51
+Version: 2.7.0
Release: 1
Source0: http://sourceforge.net/projects/soprano/files/Soprano/%{version}/soprano-%{…
Source100: baselibs.conf
++++++ soprano-2.6.51.tar.bz2 -> soprano-2.7.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/CMakeLists.txt new/soprano-2.7.0/CMakeLists.txt
--- old/soprano-2.6.51/CMakeLists.txt 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/CMakeLists.txt 2011-08-04 14:16:26.000000000 +0200
@@ -6,8 +6,8 @@
################## Soprano version ################################
set(CMAKE_SOPRANO_VERSION_MAJOR 2)
-set(CMAKE_SOPRANO_VERSION_MINOR 6)
-set(CMAKE_SOPRANO_VERSION_RELEASE 51)
+set(CMAKE_SOPRANO_VERSION_MINOR 7)
+set(CMAKE_SOPRANO_VERSION_RELEASE 0)
set(CMAKE_SOPRANO_VERSION_STRING "${CMAKE_SOPRANO_VERSION_MAJOR}.${CMAKE_SOPRANO_VERSION_MINOR}.${CMAKE_SOPRANO_VERSION_RELEASE}")
@@ -42,7 +42,10 @@
if(NOT SOPRANO_DISABLE_RAPTOR_PARSER OR NOT SOPRANO_DISABLE_RAPTOR_SERIALIZER OR NOT SOPRANO_DISABLE_REDLAND_BACKEND)
find_package(Rasqal)
- find_package(Raptor)
+ ## Dear packagers! There were serious bug that was fixed in 2.0.4. comparing to 2.0.3
+ ## But, if for some reasons you can' ship 2.0.4, there is|are backport(s) of this fix to 2.0.3
+ ## One of such backports was created by ArchLinux team. You may wish to contact them for it.
+ find_package(Raptor 2.0.4)
find_package(Redland)
if(WIN32)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/ChangeLog new/soprano-2.7.0/ChangeLog
--- old/soprano-2.6.51/ChangeLog 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/ChangeLog 2011-08-04 14:16:26.000000000 +0200
@@ -2,6 +2,8 @@
* Use the new Virtuoso parameter XAnyNormalization to use normalized accents for full-text searching by default.
* Updated NAO Vocabulary namespace to include changes from SDO 0.7.
* Added method LiteralValue::fromVariant which provides some useful type conversions.
+ * Fixed incorrect binding names counting in redland queries
+ * Ported Raptor serializer and parser plugins to Raptor2.
2.6.1
* Let onto2vocabularyclass convert dots in entity names to underscores to create valid C++ names.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/backends/redland/redlandqueryresult.cpp new/soprano-2.7.0/backends/redland/redlandqueryresult.cpp
--- old/soprano-2.6.51/backends/redland/redlandqueryresult.cpp 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/backends/redland/redlandqueryresult.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -77,9 +77,10 @@
d->model = model;
const char** names = 0;
+ int number = librdf_query_results_get_bindings_count(d->result);
if ( !librdf_query_results_get_bindings( d->result, &names, 0 ) ) {
- for ( ; *names; names++ ) {
- d->names.append( QString::fromUtf8( *names ) );
+ for ( int i = 0; i < number; i++ ) {
+ d->names.append( QString::fromUtf8( names[i] ) );
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/cmake/modules/FindRaptor.cmake new/soprano-2.7.0/cmake/modules/FindRaptor.cmake
--- old/soprano-2.6.51/cmake/modules/FindRaptor.cmake 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/cmake/modules/FindRaptor.cmake 2011-08-04 14:16:26.000000000 +0200
@@ -5,9 +5,13 @@
# RAPTOR_LIBRARIES - Link these to use Raptor
# RAPTOR_INCLUDE_DIR - Include directory for using Raptor
# RAPTOR_DEFINITIONS - Compiler switches required for using Raptor
-# RAPTOR_VERSION - The Raptor version string
+#
+# Capabilities
+# RAPTOR_HAVE_TRIG - Set if raptor has TRIG
-# (c) 2007-2009 Sebastian Trueg <trueg(a)kde.org>
+# (c) 2007-2011 Sebastian Trueg <trueg(a)kde.org>
+# (c) 2011 Artem Serebriyskiy <v.for.vandal(a)gmail.com>
+# (c) 2011 Michael Jansen <kde(a)michael-jansen.biz>
#
# Based on FindFontconfig Copyright (c) 2006,2007 Laurent Montel, <montel(a)kde.org>
#
@@ -15,89 +19,83 @@
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-INCLUDE(MacroEnsureVersion)
-
+MACRO ( FIND_RAPTOR libname libhints includehints )
+ find_library_with_debug(
+ RAPTOR_LIBRARIES
+ WIN32_DEBUG_POSTFIX d
+ NAMES ${libname}
+ HINTS ${libhints})
+ find_path(
+ RAPTOR_INCLUDE_DIR raptor.h
+ HINTS ${includehints}
+ PATH_SUFFIXES ${libname})
+ENDMACRO ()
+
+
+
+# Check if we have cached results in case the last round was successful.
+if ( NOT( RAPTOR_INCLUDE_DIR AND RAPTOR_LIBRARIES ) OR NOT RAPTOR_FOUND )
+
+ include(FindLibraryWithDebug)
+ include(MacroEnsureVersion)
+ find_package(PkgConfig)
+
+ # Vy default look for version 2.0
+ if (NOT Raptor_FIND_VERSION )
+ set( Raptor_FIND_VERSION "2.0")
+ set( Raptor_FIND_VERSION_MAJOR "2" )
+ set( Raptor_FIND_VERSION_MINOR "0" )
+ endif ()
+
+ if ( Raptor_FIND_VERSION_MAJOR EQUAL "2" )
+
+ if ( NOT WIN32 )
+ pkg_check_modules(PC_RAPTOR2 QUIET raptor2)
+ if ( PC_RAPTOR2_FOUND )
+ set(RAPTOR_DEFINITIONS ${PC_RAPTOR2_CFLAGS_OTHER})
+ set(RAPTOR_VERSION ${PC_RAPTOR2_VERSION} CACHE STRING "Raptor Version found" )
+ endif ()
+ endif ()
+ find_raptor( raptor2 "${PC_RAPTOR2_LIBDIR};${PC_RAPTOR2_LIBRARY_DIRS}" "${PC_RAPTOR2_INCLUDEDIR};${PC_RAPTOR2_INCLUDE_DIRS}")
+
+ elseif ( Raptor_FIND_VERSION_MAJOR EQUAL "1" )
+
+ if ( NOT WIN32 )
+ pkg_check_modules(PC_RAPTOR QUIET raptor)
+ if ( PC_RAPTOR_FOUND )
+ set(RAPTOR_DEFINITIONS ${PC_RAPTOR_CFLAGS_OTHER})
+ set(RAPTOR_VERSION ${PC_RAPTOR_VERSION} CACHE STRING "Raptor Version found" )
+ endif ()
+ endif ()
+ find_raptor( raptor "${PC_RAPTOR_LIBDIR};${PC_RAPTOR_LIBRARY_DIRS}" "${PC_RAPTOR_INCLUDEDIR};${PC_RAPTOR_INCLUDE_DIRS}")
+
+ else ()
+
+ message( FATAL_ERROR "No idea how to check for version : ${Raptor_FIND_VERSION}")
+
+ endif()
+
+ if (RAPTOR_VERSION)
+ MACRO_ENSURE_VERSION("1.4.16" ${RAPTOR_VERSION} RAPTOR_HAVE_TRIG)
+ endif (RAPTOR_VERSION)
+
+ mark_as_advanced(RAPTOR_INCLUDE_DIR RAPTOR_LIBRARIES)
+
+endif () # Check for cached values
+
+include(FindPackageHandleStandardArgs)
+
+find_package_handle_standard_args(
+ Raptor
+ VERSION_VAR RAPTOR_VERSION
+ REQUIRED_VARS RAPTOR_LIBRARIES RAPTOR_INCLUDE_DIR)
+
+mark_as_advanced(RAPTOR_VERSION)
+
+if (NOT RAPTOR_FOUND AND Raptor_FIND_VERSION_MAJOR EQUAL "2" AND NOT Raptor_FIND_QUIET )
+ pkg_check_modules(PC_RAPTOR QUIET raptor)
+ if (PC_RAPTOR_FOUND)
+ message( STATUS "You have raptor1 version ${PC_RAPTOR_VERSION} installed. Please update." )
+ endif ()
+endif ()
-if(WINCE)
-FIND_PROGRAM(
- RAPTOR_CONFIG
- NAMES raptor-config
- PATHS ${HOST_BINDIR} NO_DEFAULT_PATH
- )
-else(WINCE)
-FIND_PROGRAM(
- RAPTOR_CONFIG
- NAMES raptor-config
- )
-endif(WINCE)
-
-if(RAPTOR_CONFIG)
- EXECUTE_PROCESS(
- COMMAND ${RAPTOR_CONFIG} --version
- OUTPUT_VARIABLE RAPTOR_VERSION
- )
- if(RAPTOR_VERSION)
- STRING(REPLACE "\n" "" RAPTOR_VERSION ${RAPTOR_VERSION})
-
- MACRO_ENSURE_VERSION("1.4.16" ${RAPTOR_VERSION} RAPTOR_HAVE_TRIG)
-
- # extract include paths from raptor-config
- EXECUTE_PROCESS(
- COMMAND ${RAPTOR_CONFIG} --cflags
- OUTPUT_VARIABLE raptor_CFLAGS_ARGS)
- STRING( REPLACE " " ";" raptor_CFLAGS_ARGS ${raptor_CFLAGS_ARGS} )
- FOREACH( _ARG ${raptor_CFLAGS_ARGS} )
- IF(${_ARG} MATCHES "^-I")
- STRING(REGEX REPLACE "^-I" "" _ARG ${_ARG})
- STRING( REPLACE "\n" "" _ARG ${_ARG} )
- LIST(APPEND raptor_INCLUDE_DIRS ${_ARG})
- ENDIF(${_ARG} MATCHES "^-I")
- ENDFOREACH(_ARG)
-
- # extract lib paths from raptor-config
- EXECUTE_PROCESS(
- COMMAND ${RAPTOR_CONFIG} --libs
- OUTPUT_VARIABLE raptor_CFLAGS_ARGS)
- STRING( REPLACE " " ";" raptor_CFLAGS_ARGS ${raptor_CFLAGS_ARGS} )
- FOREACH( _ARG ${raptor_CFLAGS_ARGS} )
- IF(${_ARG} MATCHES "^-L")
- STRING(REGEX REPLACE "^-L" "" _ARG ${_ARG})
- LIST(APPEND raptor_LIBRARY_DIRS ${_ARG})
- ENDIF(${_ARG} MATCHES "^-L")
- ENDFOREACH(_ARG)
- endif(RAPTOR_VERSION)
-else(RAPTOR_CONFIG)
- SET(RAPTOR_VERSION "1.0.0")
-endif(RAPTOR_CONFIG)
-
-find_path(RAPTOR_INCLUDE_DIR raptor.h
- PATHS
- ${redland_INCLUDE_DIRS}
- ${raptor_INCLUDE_DIRS}
- /usr/X11/include
- PATH_SUFFIXES redland
- )
-
-find_library(RAPTOR_LIBRARIES NAMES raptor libraptor
- PATHS
- ${raptor_LIBRARY_DIRS}
- )
-
-if (RAPTOR_INCLUDE_DIR AND RAPTOR_LIBRARIES)
- set(RAPTOR_FOUND TRUE)
-endif (RAPTOR_INCLUDE_DIR AND RAPTOR_LIBRARIES)
-
-if (RAPTOR_FOUND)
- set(RAPTOR_DEFINITIONS ${raptor_CFLAGS})
- if (NOT Raptor_FIND_QUIETLY)
- message(STATUS "Found Raptor ${RAPTOR_VERSION}: libs - ${RAPTOR_LIBRARIES}; includes - ${RAPTOR_INCLUDE_DIR}")
- endif (NOT Raptor_FIND_QUIETLY)
-else (RAPTOR_FOUND)
- if (Raptor_FIND_REQUIRED)
- message(FATAL_ERROR "Could NOT find Raptor")
- endif (Raptor_FIND_REQUIRED)
-endif (RAPTOR_FOUND)
-
-mark_as_advanced(RAPTOR_INCLUDE_DIR_TMP
- RAPTOR_INCLUDE_DIR
- RAPTOR_LIBRARIES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/cmake/modules/FindRasqal.cmake new/soprano-2.7.0/cmake/modules/FindRasqal.cmake
--- old/soprano-2.6.51/cmake/modules/FindRasqal.cmake 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/cmake/modules/FindRasqal.cmake 2011-08-04 14:16:26.000000000 +0200
@@ -78,9 +78,11 @@
${rasqal_LIBRARY_DIRS}
)
- if (RASQAL_LIBRARIES AND RASQAL_INCLUDE_DIR)
- set(RASQAL_FOUND TRUE)
- endif (RASQAL_LIBRARIES AND RASQAL_INCLUDE_DIR)
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(
+ Rasqal
+ VERSION_VAR RASQAL_VERSION
+ REQUIRED_VARS RASQAL_LIBRARIES RASQAL_INCLUDE_DIR)
if (RASQAL_FOUND)
set(RASQAL_DEFINITIONS ${rasqal_CFLAGS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/parsers/raptor/CMakeLists.txt new/soprano-2.7.0/parsers/raptor/CMakeLists.txt
--- old/soprano-2.6.51/parsers/raptor/CMakeLists.txt 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/parsers/raptor/CMakeLists.txt 2011-08-04 14:16:26.000000000 +0200
@@ -13,11 +13,9 @@
raptorparser.cpp
)
-configure_file(raptor-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/raptor-config.h)
-
qt4_automoc(${raptor_parser_SRC})
-add_library(soprano_raptorparser MODULE ${raptor_parser_SRC})
+add_library(soprano_raptorparser MODULE ${raptor_parser_SRC})
TARGET_LINK_LIBRARIES(soprano_raptorparser soprano ${RAPTOR_LIBRARIES})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/parsers/raptor/raptor-config.h.cmake new/soprano-2.7.0/parsers/raptor/raptor-config.h.cmake
--- old/soprano-2.6.51/parsers/raptor/raptor-config.h.cmake 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/parsers/raptor/raptor-config.h.cmake 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-#cmakedefine RAPTOR_HAVE_TRIG
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/parsers/raptor/raptorparser.cpp new/soprano-2.7.0/parsers/raptor/raptorparser.cpp
--- old/soprano-2.6.51/parsers/raptor/raptorparser.cpp 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/parsers/raptor/raptorparser.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -3,7 +3,7 @@
* This file is part of Soprano Project
*
* Copyright (C) 2006 Duncan Mac-Vicar <duncan(a)kde.org>
- * Copyright (C) 2007 Sebastian Trueg <trueg(a)kde.org>
+ * Copyright (C) 2007,2011 Sebastian Trueg <trueg(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
@@ -22,15 +22,12 @@
*/
#include "raptorparser.h"
-#include "raptor-config.h"
#include "util/simplestatementiterator.h"
#include "statement.h"
#include "locator.h"
#include "error.h"
-#include <raptor.h>
-
#include <QtCore/QUrl>
#include <QtCore/QFile>
#include <QtCore/QtPlugin>
@@ -40,88 +37,71 @@
#include <QtCore/QMutexLocker>
-namespace {
- class RaptorInitHelper
- {
- public:
- RaptorInitHelper() {
- raptor_init();
- }
- ~RaptorInitHelper() {
- raptor_finish();
- }
- };
-}
-
Q_EXPORT_PLUGIN2(soprano_raptorparser, Soprano::Raptor::Parser)
namespace {
- // for some strange reason raptor <= 1.4.15 can only handle application/turtle when parsing
- // and application/x-turtle when serializing, but not the other way around
- QString mimeTypeString( Soprano::RdfSerialization s, const QString& userSerialization )
- {
-#ifndef RAPTOR_HAVE_TRIG
- if ( s == Soprano::SerializationTurtle ) {
- return "application/turtle"; // x-turtle does not work....
- }
- else
-#endif
- {
- return serializationMimeType( s, userSerialization );
- }
- }
-
-
- void raptorMessageHandler( void* userData, raptor_locator* locator, const char* message )
+ void raptorLogHandler(void *userData,raptor_log_message *message)
{
Soprano::Raptor::Parser* p = static_cast<Soprano::Raptor::Parser*>( userData );
- if ( locator ) {
- p->setError( Soprano::Error::ParserError( Soprano::Error::Locator( locator->line, locator->column, locator->byte ),
- QString::fromUtf8( message ),
+ if ( message->locator ) {
+ p->setError( Soprano::Error::ParserError( Soprano::Error::Locator( message->locator->line, message->locator->column, message->locator->byte ),
+ QString::fromUtf8( message->text ),
Soprano::Error::ErrorParsingFailed ) );
}
else {
- p->setError( Soprano::Error::Error( QString::fromUtf8( message ), Soprano::Error::ErrorUnknown ) );
+ p->setError( Soprano::Error::Error( QString::fromUtf8( message->text ), Soprano::Error::ErrorUnknown ) );
}
}
-
- Soprano::Node convertNode( const void* data, raptor_identifier_type type,
- raptor_uri* objectLiteralDatatype = 0, const unsigned char* objectLiteralLanguage = 0 )
+ Soprano::Node convertNode( raptor_term * term )
{
- switch( type ) {
- case RAPTOR_IDENTIFIER_TYPE_RESOURCE:
- case RAPTOR_IDENTIFIER_TYPE_PREDICATE:
- case RAPTOR_IDENTIFIER_TYPE_ORDINAL:
- return Soprano::Node::createResourceNode( QString::fromUtf8( ( char* )raptor_uri_as_string( ( raptor_uri* )data ) ) );
-
- case RAPTOR_IDENTIFIER_TYPE_ANONYMOUS:
- return Soprano::Node::createBlankNode( QString::fromUtf8( ( const char* )data ) );
-
- case RAPTOR_IDENTIFIER_TYPE_LITERAL:
- case RAPTOR_IDENTIFIER_TYPE_XML_LITERAL:
- if ( objectLiteralDatatype ) {
- return Soprano::Node::createLiteralNode( Soprano::LiteralValue::fromString( QString::fromUtf8( ( const char* )data ),
- QString::fromUtf8( ( char* )raptor_uri_as_string( objectLiteralDatatype ) ) ) );
+ if(!term) {
+ return Soprano::Node();
+ }
+
+ switch( term->type ) {
+ case RAPTOR_TERM_TYPE_URI: {
+ return Soprano::Node::createResourceNode(
+ QString::fromUtf8( ( char* )raptor_uri_as_string( term->value.uri ) ) );
+ }
+
+ case RAPTOR_TERM_TYPE_BLANK: {
+ return Soprano::Node::createBlankNode(
+ QString::fromUtf8( ( const char* )(term->value.blank.string) ) );
+ }
+
+ case RAPTOR_TERM_TYPE_LITERAL: {
+ if ( term->value.literal.datatype ) {
+ return Soprano::Node::createLiteralNode(
+ Soprano::LiteralValue::fromString(
+ QString::fromUtf8( ( const char* )term->value.literal.string ),
+ QString::fromUtf8(
+ ( char* )raptor_uri_as_string(term->value.literal.datatype ) )
+ )
+ );
}
else {
- return Soprano::Node::createLiteralNode( Soprano::LiteralValue::createPlainLiteral( QString::fromUtf8( ( const char* )data ),
- QString::fromUtf8( ( const char* )objectLiteralLanguage ) ) );
+ return Soprano::Node::createLiteralNode(
+ Soprano::LiteralValue::createPlainLiteral(
+ QString::fromUtf8( ( const char* )term->value.literal.string ),
+ QString::fromUtf8( ( const char* )term->value.literal.language ) ) );
}
+ }
default:
return Soprano::Node();
}
- }
+ // make gcc shut up
+ return Soprano::Node();
+ }
Soprano::Statement convertTriple( const raptor_statement* triple )
{
- return Soprano::Statement( convertNode( triple->subject, triple->subject_type ),
- convertNode( triple->predicate, triple->predicate_type ),
- convertNode( triple->object, triple->object_type,
- triple->object_literal_datatype,
- triple->object_literal_language ) );
+ return Soprano::Statement( convertNode( triple->subject ),
+ convertNode( triple->predicate ),
+ convertNode( triple->object ),
+ convertNode( triple->graph ) );
}
@@ -132,47 +112,48 @@
};
- void raptorTriplesHandler( void* userData, const raptor_statement* triple )
+ void raptorTriplesHandler( void* userData, raptor_statement* triple )
{
+ Q_ASSERT(userData);
ParserData* pd = static_cast<ParserData*>( userData );
- Soprano::Statement s = convertTriple( triple );
-// qDebug() << "got triple: " << s;
- s.setContext( pd->currentContext );
- pd->statements.append( s );
+ pd->statements.append( convertTriple( triple ) );
}
+}
- void raptorGraphHandler( void* userData, raptor_uri* graph )
- {
- Soprano::Node context = Soprano::Node::createResourceNode( QString::fromUtf8( ( char* )raptor_uri_as_string( graph ) ) );
- ParserData* pd = static_cast<ParserData*>( userData );
- pd->currentContext = context;
-// qDebug() << "got graph: " << context;
- }
-}
+class Soprano::Raptor::Parser::Private
+{
+public:
+ raptor_world * world;
+ mutable QMutex mutex;
+};
Soprano::Raptor::Parser::Parser()
: QObject(),
- Soprano::Parser( "raptor" )
+ Soprano::Parser( "raptor" ),
+ d(new Private())
{
+ d->world = raptor_new_world();
+ raptor_world_open(d->world);
+ Q_ASSERT(d->world);
}
Soprano::Raptor::Parser::~Parser()
{
+ raptor_free_world(d->world);
+ delete d;
}
Soprano::RdfSerializations Soprano::Raptor::Parser::supportedSerializations() const
{
- return( SerializationRdfXml
- |SerializationNTriples
- |SerializationTurtle
-#ifdef RAPTOR_HAVE_TRIG
- |SerializationTrig
-#endif
- );
+ return( SerializationRdfXml
+ |SerializationNTriples
+ |SerializationTurtle
+ |SerializationTrig
+ );
}
@@ -180,13 +161,14 @@
const QString& userSerialization ) const
{
// create the parser
- QString mimeType = mimeTypeString( serialization, userSerialization );
+ const QString mimeType = Soprano::serializationMimeType( serialization, userSerialization );
raptor_parser* parser = 0;
if ( serialization == Soprano::SerializationNTriples ) {
- parser = raptor_new_parser( "ntriples" ); // mimetype for ntriple is text/plain which is useless for the method below
+ parser = raptor_new_parser(d->world,"ntriples"); // mimetype for ntriple is text/plain which is useless for the method below
}
else {
- parser = raptor_new_parser_for_content( 0,
+ parser = raptor_new_parser_for_content( d->world,
+ 0,
mimeType.toLatin1().data(),
0,
0,
@@ -194,16 +176,14 @@
}
if ( !parser ) {
- qDebug() << "(Soprano::Raptor::Parser) no parser for serialization " << mimeTypeString( serialization, userSerialization );
- setError( QString( "Failed to create parser for serialization %1" ).arg( mimeTypeString( serialization, userSerialization ) ) );
+ qDebug() << "(Soprano::Raptor::Parser) no parser for serialization " << Soprano::serializationMimeType( serialization, userSerialization );
+ setError( QString( "Failed to create parser for serialization %1" ).arg( Soprano::serializationMimeType( serialization, userSerialization ) ) );
return 0;
}
- // set the erro handling method
+ // set the error handling method
Parser* that = const_cast<Parser*>( this );
- raptor_set_fatal_error_handler( parser, that, raptorMessageHandler );
- raptor_set_error_handler( parser, that, raptorMessageHandler );
- raptor_set_warning_handler( parser, that, raptorMessageHandler );
+ raptor_world_set_log_handler(d->world, that, raptorLogHandler);
return parser;
}
@@ -223,48 +203,6 @@
setError( QString( "Could not open file %1 for reading." ).arg( filename ) );
return StatementIterator();
}
-
-// clearError();
-
-// raptor_parser* parser = createParser( serialization, userSerialization );
-// if ( !parser ) {
-// return StatementIterator();
-// }
-
-// // prepare the container for the parsed data
-// QList<Statement> statements;
-// raptor_set_statement_handler( parser, &statements, raptorTriplesHandler );
-
-// // start the atual parsing
-// QUrl uri( QUrl::fromLocalFile( filename ) );
-// if ( uri.scheme().isEmpty() ) {
-// // we need to help the stupid librdf file url handling
-// uri.setScheme("file");
-// }
-// raptor_uri* raptorBaseUri = 0;
-// if ( !baseUri.toString().isEmpty() ) {
-// raptorBaseUri = raptor_new_uri( (unsigned char *) baseUri.toString().toUtf8().data() );
-// }
-// raptor_uri* raptorUri = raptor_new_uri( (unsigned char *) uri.toString().toUtf8().data() );
-// if ( !raptorUri ) {
-// setError( QLatin1String( "Internal: Failed to create raptor_uri instance for '%1'" ).arg( uri ) );
-// return StatementIterator();
-// }
-
-// int r = raptor_parse_uri( parser, raptorUri, raptorBaseUri );
-
-// raptor_free_parser( parser );
-// raptor_free_uri( raptorUri );
-// if ( raptorBaseUri ) {
-// raptor_free_uri( raptorBaseUri );
-// }
-
-// if ( r == 0 ) {
-// return SimpleStatementIterator( statements );
-// }
-// else {
-// return StatementIterator();
-// }
}
@@ -279,14 +217,12 @@
}
-Soprano::StatementIterator
-Soprano::Raptor::Parser::parseStream( QTextStream& stream,
- const QUrl& baseUri,
- RdfSerialization serialization,
- const QString& userSerialization ) const
+Soprano::StatementIterator Soprano::Raptor::Parser::parseStream( QTextStream& stream,
+ const QUrl& baseUri,
+ RdfSerialization serialization,
+ const QString& userSerialization ) const
{
- QMutexLocker lock( &m_mutex );
- RaptorInitHelper raptorInitHelper;
+ QMutexLocker lock( &d->mutex );
clearError();
@@ -297,22 +233,19 @@
// prepare the container for the parsed data
ParserData data;
- raptor_set_statement_handler( parser, &data, raptorTriplesHandler );
-#ifdef RAPTOR_HAVE_TRIG
- raptor_set_graph_handler( parser, &data, raptorGraphHandler );
-#endif
+ raptor_parser_set_statement_handler( parser, &data, raptorTriplesHandler );
// start the atual parsing
raptor_uri* raptorBaseUri = 0;
if ( baseUri.isValid() ) {
- raptorBaseUri = raptor_new_uri( (unsigned char *) baseUri.toString().toUtf8().data() );
+ raptorBaseUri = raptor_new_uri( d->world,(unsigned char *) baseUri.toString().toUtf8().data() );
}
else {
- raptorBaseUri = raptor_new_uri( (unsigned char *) "http://soprano.sourceforge.net/dummyBaseUri" );
+ raptorBaseUri = raptor_new_uri( d->world, (unsigned char *) "http://soprano.sourceforge.net/dummyBaseUri" );
}
clearError();
- if ( raptor_start_parse( parser, raptorBaseUri ) ) {
+ if ( raptor_parser_parse_start( parser, raptorBaseUri ) != 0 ) {
if ( !lastError() ) {
ErrorCache::setError( QLatin1String( "Failed to start parsing." ) );
}
@@ -331,7 +264,10 @@
while ( !dev->atEnd() ) {
qint64 r = dev->read( buf.data(), buf.size() );
if ( r <= 0 ||
- raptor_parse_chunk( parser, ( const unsigned char* )buf.data(), r, 0 ) ) {
+ raptor_parser_parse_chunk( parser, ( const unsigned char* )buf.data(), r, 0 ) ) {
+ // parse_chunck return failure code.
+ // Call it with END=true and then free
+ raptor_parser_parse_chunk(parser,0,0,/*END=*/1);
raptor_free_parser( parser );
if ( raptorBaseUri ) {
raptor_free_uri( raptorBaseUri );
@@ -344,7 +280,10 @@
while ( !stream.atEnd() ) {
QString buf = stream.read( bufSize );
QByteArray utf8Data = buf.toUtf8();
- if ( raptor_parse_chunk( parser, ( const unsigned char* )utf8Data.data(), utf8Data.length(), 0 ) ) {
+ if ( raptor_parser_parse_chunk( parser, ( const unsigned char* )utf8Data.data(), utf8Data.length(), 0 ) ) {
+ // parse_chunck return failure code.
+ // Call it with END=true and then free
+ raptor_parser_parse_chunk(parser,0,0,/*END=*/1);
raptor_free_parser( parser );
if ( raptorBaseUri ) {
raptor_free_uri( raptorBaseUri );
@@ -353,7 +292,8 @@
}
}
}
- raptor_parse_chunk( parser, 0, 0, 1 );
+ // Call parse_chunk with END=true
+ raptor_parser_parse_chunk( parser, 0, 0, 1 );
raptor_free_parser( parser );
if ( raptorBaseUri ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/parsers/raptor/raptorparser.h new/soprano-2.7.0/parsers/raptor/raptorparser.h
--- old/soprano-2.6.51/parsers/raptor/raptorparser.h 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/parsers/raptor/raptorparser.h 2011-08-04 14:16:26.000000000 +0200
@@ -31,11 +31,9 @@
#include <raptor.h>
-
namespace Soprano {
namespace Raptor {
- class Parser : public QObject, public Soprano::Parser
- {
+ class Parser : public QObject, public Soprano::Parser {
Q_OBJECT
Q_INTERFACES(Soprano::Parser)
@@ -43,7 +41,7 @@
Parser();
~Parser();
- RdfSerializations supportedSerializations() const;
+ RdfSerializations supportedSerializations() const;
StatementIterator parseFile( const QString& filename,
const QUrl& baseUri,
@@ -64,7 +62,10 @@
raptor_parser* createParser( RdfSerialization serialization,
const QString& userSerialization = QString() ) const;
- mutable QMutex m_mutex;
+ class Private;
+ Private * d;
+
+
};
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/serializers/raptor/CMakeLists.txt new/soprano-2.7.0/serializers/raptor/CMakeLists.txt
--- old/soprano-2.6.51/serializers/raptor/CMakeLists.txt 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/serializers/raptor/CMakeLists.txt 2011-08-04 14:16:26.000000000 +0200
@@ -9,13 +9,8 @@
${RAPTOR_INCLUDE_DIR}
)
-include(CheckFunctionExists)
set(CMAKE_REQUIRED_INCLUDES ${RAPTOR_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${RAPTOR_LIBRARIES})
-check_function_exists( raptor_new_iostream_from_handler2 HAVE_IOSTREAM_HANDLER2 )
-if(HAVE_IOSTREAM_HANDLER2)
- add_definitions(-DHAVE_IOSTREAM_HANDLER2)
-endif(HAVE_IOSTREAM_HANDLER2)
set(raptor_serializer_SRC
raptorserializer.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/serializers/raptor/raptorserializer.cpp new/soprano-2.7.0/serializers/raptor/raptorserializer.cpp
--- old/soprano-2.6.51/serializers/raptor/raptorserializer.cpp 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/serializers/raptor/raptorserializer.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -38,54 +38,135 @@
class RaptorInitHelper
{
public:
+ raptor_world* world;
+
RaptorInitHelper() {
- raptor_init();
+ world = raptor_new_world();
+ raptor_world_open(world);
}
~RaptorInitHelper() {
- raptor_finish();
+ raptor_free_world(world);
}
};
- bool convertNode( const Soprano::Node& node, const void** data, raptor_identifier_type* type, raptor_uri** dataType = 0, const unsigned char** lang = 0 )
+ /* Probably unnecessary for serializer*/
+ /*
+ QString mimeTypeString( Soprano::RdfSerialization s, const QString& userSerialization )
+ {
+ if ( s == Soprano::SerializationTurtle ) {
+ return "application/turtle"; // x-turtle does not work....
+ }
+ else {
+ return serializationMimeType( s, userSerialization );
+ }
+ }*/
+
+ raptor_term * convertNode( raptor_world * world, const Soprano::Node& node)
{
+ raptor_term * answer = 0;
+ /* According to documentation, raptor_new_term family takes copy of
+ * all given input parameters
+ */
if ( node.isResource() ) {
- *data = raptor_new_uri( ( const unsigned char* )node.uri().toEncoded().data() );
- *type = RAPTOR_IDENTIFIER_TYPE_RESOURCE;
- return true;
+ raptor_uri * uri = raptor_new_uri(world, ( const unsigned char* )node.uri().toEncoded().data() );
+ answer = raptor_new_term_from_uri(world,uri);
+
+ raptor_free_uri(uri);
}
else if ( node.isBlank() ) {
- *data = qstrdup( node.identifier().toUtf8().data() );
- *type = RAPTOR_IDENTIFIER_TYPE_ANONYMOUS;
- return true;
+ answer = raptor_new_term_from_blank(
+ world, (const unsigned char*)node.identifier().toUtf8().data() );
}
else if ( node.isLiteral() ) {
- *data = qstrdup( node.toString().toUtf8().data() );
+ // Because QByteArray.data() is valid as long as QByteArray itself is
+ // alive, we store langBA ( and others _x_BA untill function exits
+
+ //const unsigned char * literal = 0;
+ QByteArray langBA;
+ const unsigned char * lang = 0;
+ raptor_uri * datatype = 0;
+
if ( node.literal().isPlain() ) {
if ( !node.language().isEmpty() )
- *lang = ( unsigned char* )qstrdup( ( const char* )node.language().toUtf8().data() );
+ langBA = node.language().toUtf8();
+ lang = ( const unsigned char* )( langBA.constData() );
}
else {
- *dataType = raptor_new_uri( ( const unsigned char* )node.dataType().toEncoded().data() );
+ datatype = raptor_new_uri( world, ( const unsigned char* )node.dataType().toEncoded().data() );
}
- *type = RAPTOR_IDENTIFIER_TYPE_LITERAL;
- return true;
+
+ // Now we costructs statement
+ answer = raptor_new_term_from_literal(world,(const unsigned char*)node.literal().toByteArray().constData(),datatype,lang);
+
+ // And free unnecessary resources
+ if ( datatype)
+ raptor_free_uri(datatype);
+
}
- return false;
+ return answer;
}
- raptor_statement* convertStatement( const Soprano::Statement& statement )
+ raptor_statement* convertStatement(raptor_world * world, const Soprano::Statement& statement )
{
- raptor_statement* s = new raptor_statement;
- memset( s, 0, sizeof( raptor_statement ) );
- convertNode( statement.subject(), &s->subject, &s->subject_type );
- convertNode( statement.predicate(), &s->predicate, &s->predicate_type );
- convertNode( statement.object(), &s->object, &s->object_type, &s->object_literal_datatype, &s->object_literal_language );
+ // Get terms
+ raptor_term * subject_term = 0, *object_term = 0, * predicate_term = 0;
+ raptor_term * graph_term = 0;
+
+ subject_term = convertNode(world,statement.subject());
+ if ( !subject_term) {
+ qDebug() << "Failed to convert subject to raptor_term";
+ return 0;
+ }
+
+ predicate_term = convertNode(world,statement.predicate());
+ if (!predicate_term) {
+ qDebug() << "Failed to convert predicate to raptor_term";
+ raptor_free_term(subject_term);
+ return 0;
+ }
+
+ object_term = convertNode(world,statement.object());
+ if (!object_term) {
+ qDebug() << "Failed to convert object to raptor_term";
+ raptor_free_term(subject_term);
+ raptor_free_term(predicate_term);
+ return 0;
+ }
+
+ if ( !statement.context().isEmpty() ) {
+ graph_term = convertNode(world,statement.context());
+ if(!graph_term) {
+ qDebug() << "Failed to convert graph/context to raptor_term. Node is" << statement.context();
+ raptor_free_term(subject_term);
+ raptor_free_term(predicate_term);
+ raptor_free_term(object_term);
+ return 0;
+ }
+ }
+
+
+ raptor_statement* s = raptor_new_statement_from_nodes(
+ world,
+ subject_term,
+ predicate_term,
+ object_term,
+ graph_term);
+
+ if (!s) {
+ qDebug() << "Failed to build raptor_statement from terms";
+ raptor_free_term(subject_term);
+ raptor_free_term(predicate_term);
+ raptor_free_term(object_term);
+ raptor_free_term(graph_term);
+ }
+
return s;
}
+ /*
void free_node( const void* data, raptor_identifier_type type )
{
switch( type ) {
@@ -109,6 +190,7 @@
free( ( char* )s->object_literal_language );
delete s;
}
+ */
int raptorIOStreamWriteByte( void* data, const int byte )
@@ -121,6 +203,7 @@
else {
( *s ) << ( char )byte;
}
+ //qDebug() << "Write char:" << (char)(byte);
return 0;
}
@@ -140,6 +223,7 @@
raptorIOStreamWriteByte( data, p[i] );
}
}
+ //qDebug() << "Write string: " << p;
break;
}
default:
@@ -153,15 +237,36 @@
Q_EXPORT_PLUGIN2(soprano_raptorserializer, Soprano::Raptor::Serializer)
+
+/* We can not rely on RaptorInitHelper anymore because
+ * we need raptor_world in supportedUserSerializations.
+ * Instead of constantly creating new raptor_world just to
+ * detect user supported serializations, it is easier to
+ * embed raptor_world into class.
+ * And we can not declare raptor_world as a member of
+ * Serializer directly, because raptor_world is a typedef,
+ * not a class. So it can not be forward declarated
+ */
+class Soprano::Raptor::Serializer::Private
+{
+ public:
+ raptor_world * world;
+};
+
Soprano::Raptor::Serializer::Serializer()
: QObject(),
Soprano::Serializer( "raptor" )
{
+ this->d = new Private();
+ this->d->world = raptor_new_world();
+ raptor_world_open(d->world);
}
Soprano::Raptor::Serializer::~Serializer()
{
+ raptor_free_world(d->world);
+ delete d;
}
@@ -174,17 +279,19 @@
QStringList Soprano::Raptor::Serializer::supportedUserSerializations() const
{
QStringList sl;
- int i = 0;
- const char* name = 0;
- const char* label = 0;
- const char* mimeType = 0;
- const unsigned char* uri = 0;
- while ( !raptor_serializers_enumerate( i,
- &name,
- &label,
- &mimeType,
- &uri ) ) {
- sl << QString::fromUtf8( name );
+ const raptor_syntax_description * serializer_descr = 0;
+ for ( int i = 0; 1; ++i ) {
+ serializer_descr =
+ raptor_world_get_serializer_description(d->world,i);
+
+ /* raptor_world_get_serializer_description will return
+ * NULL when conter runs out of bonds and there is no
+ * more serializers
+ */
+ if (!serializer_descr)
+ break;
+
+ sl << QString::fromUtf8( serializer_descr->names[0] );
++i;
}
return sl;
@@ -198,28 +305,43 @@
{
clearError();
- RaptorInitHelper raptorHelper;
+ raptor_world * world = this->d->world;
raptor_serializer* serializer = 0;
+ QString mimeType = serializationMimeType(serialization,userSerialization);
+
if ( serialization == SerializationRdfXml ) {
- serializer = raptor_new_serializer( "rdfxml-abbrev" ); // we always want the abbreviated xmlrdf
+ serializer = raptor_new_serializer( world, "rdfxml-abbrev" ); // we always want the abbreviated xmlrdf
}
else {
+ const raptor_syntax_description * serializer_descr = 0;
for ( int i = 0; 1; ++i ) {
- const char* syntax_name = 0;
- const char* syntax_label = 0;
- const char* mime_type = 0;
- const unsigned char* uri_string = 0;
- if ( raptor_serializers_enumerate( i,
- &syntax_name,
- &syntax_label,
- &mime_type,
- &uri_string ) )
- break;
- if ( !qstrcmp( serializationMimeType( serialization, userSerialization ).toLatin1().data(), mime_type ) ) {
- serializer = raptor_new_serializer( syntax_name );
+ serializer_descr =
+ raptor_world_get_serializer_description(world,i);
+
+ /* raptor_world_get_serializer_description will return
+ * NULL when conter runs out of bonds and there is no
+ * more serializers
+ */
+ if (!serializer_descr)
break;
+
+ /* In serializer_descr->mime_types we have a array of pairs
+ * (mime_type,Q) of mime_type for this syntax. It looks like
+ * we can ignore Q value in this case
+ * Acording to documentation, this array can have zero elements
+ */
+ for( int mt_number = 0; mt_number < serializer_descr->mime_types_count;
+ mt_number++)
+ {
+ const char * mime_type_N = serializer_descr->mime_types[mt_number].mime_type;
+ if ( !qstrcmp( serializationMimeType( serialization, userSerialization ).toLatin1().data(), mime_type_N ) ) {
+ serializer = raptor_new_serializer( world, serializer_descr->names[0] );
+ break;
+ }
}
+ if ( serializer )
+ break;
}
}
@@ -232,8 +354,8 @@
QHash<QString, QUrl> namespaces = prefixes();
for ( QHash<QString, QUrl>::const_iterator pfit = namespaces.constBegin();
pfit != namespaces.constEnd(); ++pfit ) {
- raptor_uri* ns = raptor_new_uri( reinterpret_cast<unsigned char*>( pfit.value().toEncoded().data() ) );
- raptor_serialize_set_namespace( serializer,
+ raptor_uri* ns = raptor_new_uri( world,reinterpret_cast<unsigned char*>( pfit.value().toEncoded().data() ) );
+ raptor_serializer_set_namespace( serializer,
ns,
( unsigned char* )pfit.key().toLatin1().data() );
raptor_free_uri( ns );
@@ -241,42 +363,53 @@
bool success = true;
-#ifdef HAVE_IOSTREAM_HANDLER2
- raptor_iostream_handler2 raptorStreamHandler = {
- 2,
- 0,
- 0,
- raptorIOStreamWriteByte,
- raptorIOStreamWriteBytes,
- 0,
- 0,
- 0
- };
- raptor_iostream* raptorStream = raptor_new_iostream_from_handler2( &stream,
- &raptorStreamHandler );
-#else
- raptor_iostream_handler raptorStreamHandler = {
- 0,
- 0,
- raptorIOStreamWriteByte,
- raptorIOStreamWriteBytes,
- 0
- };
- raptor_iostream* raptorStream = raptor_new_iostream_from_handler( &stream,
- &raptorStreamHandler );
-#endif
+ raptor_iostream_handler raptorStreamHandler;
+ // ATTENTION: Raptor documentation is incorrect! Always set
+ // version to 2 and raptor_iostream_calculate_modes internal
+ // call will correctly determine operation mode ( read,write,readwrite)
+ raptorStreamHandler.version = 2;
+ raptorStreamHandler.init = 0;
+ raptorStreamHandler.finish = 0;
+ raptorStreamHandler.write_byte = raptorIOStreamWriteByte;
+ raptorStreamHandler.write_bytes = raptorIOStreamWriteBytes;
+ raptorStreamHandler.write_end = 0;
+ raptorStreamHandler.read_bytes = 0;
+ raptorStreamHandler.read_eof = 0;
+
+ raptor_iostream* raptorStream = raptor_new_iostream_from_handler(
+ world,
+ &stream,
+ &raptorStreamHandler
+ );
+
+ if (!raptorStream) {
+ qDebug() << "Can not create raptor iostream";
+ raptor_free_serializer(serializer);
+ return false;
+ }
// raptor_serialize_start takes ownership of raptorStream
- raptor_serialize_start( serializer, 0, raptorStream );
+ raptor_serializer_start_to_iostream( serializer,0, raptorStream );
while ( it.next() ) {
- raptor_statement* rs = convertStatement( *it );
- raptor_serialize_statement( serializer, rs );
- free_statement( rs );
+ raptor_statement * rs = convertStatement(world, *it );
+ if (rs) {
+ //qDebug() << "Serializing statement: " << *it;
+ raptor_serializer_serialize_statement(serializer, rs );
+ raptor_free_statement( rs );
+ }
+ else {
+ qDebug() << "Fail to convert Soprano::Statement " <<
+ *it <<
+ " to raptor_statement";
+ success = false;
+ break;
+ }
}
- raptor_serialize_end( serializer );
+ raptor_serializer_serialize_end( serializer );
raptor_free_serializer( serializer );
+ raptor_free_iostream(raptorStream);
return success;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/serializers/raptor/raptorserializer.h new/soprano-2.7.0/serializers/raptor/raptorserializer.h
--- old/soprano-2.6.51/serializers/raptor/raptorserializer.h 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/serializers/raptor/raptorserializer.h 2011-08-04 14:16:26.000000000 +0200
@@ -28,7 +28,6 @@
#include "serializer.h"
-
namespace Soprano {
namespace Raptor {
class Serializer : public QObject, public Soprano::Serializer
@@ -47,6 +46,12 @@
QTextStream& stream,
RdfSerialization serialization,
const QString& userSerialization = QString() ) const;
+ private:
+ /* See source file comments, that explain why it is necessary to
+ * use Private class and RaptorInitHelper is not succifient anymore
+ */
+ class Private;
+ Private * d;
};
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/soprano/inference/inferenceruleset.cpp new/soprano-2.7.0/soprano/inference/inferenceruleset.cpp
--- old/soprano-2.6.51/soprano/inference/inferenceruleset.cpp 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/soprano/inference/inferenceruleset.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -27,7 +27,10 @@
#include <QtCore/QHash>
#include <QtCore/QList>
-
+#ifdef Q_OS_WIN
+#include <QtCore/QCoreApplication>
+#include <QtCore/QDir>
+#endif
class Soprano::Inference::RuleSet::Private : public QSharedData
{
@@ -138,5 +141,22 @@
RuleParser parser;
parser.parseFile( path );
+#ifdef Q_OS_WIN
+ // Additionally try to look up the rules based on the runtime Path if
+ // they can not be found at the install prefix
+ if (!parser.rules().count()) {
+ path = QDir( QCoreApplication::applicationDirPath() ).absoluteFilePath( ".." );
+ path += "/share/soprano/rules/";
+
+ switch( set ) {
+ case RDFS:
+ path += "rdfs.rules";
+ break;
+ case NRL:
+ path += "nrl.rules";
+ break;
+ }
+ }
+#endif
return parser.rules();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/soprano/parser.h new/soprano-2.7.0/soprano/parser.h
--- old/soprano-2.6.51/soprano/parser.h 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/soprano/parser.h 2011-08-04 14:16:26.000000000 +0200
@@ -51,7 +51,7 @@
* RDF data serialization:
*
* \code
- * Soprano::Parser* p = Soprano::PluginManager::instance()->discoverParserForSerialization( Soprano::SerializationRdfXml );
+ * const Soprano::Parser* p = Soprano::PluginManager::instance()->discoverParserForSerialization( Soprano::SerializationRdfXml );
* \endcode
*
* Then parsing RDF data is done in a single method call resulting in a StatementIterator over
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/soprano/serializer.h new/soprano-2.7.0/soprano/serializer.h
--- old/soprano-2.6.51/soprano/serializer.h 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/soprano/serializer.h 2011-08-04 14:16:26.000000000 +0200
@@ -51,7 +51,7 @@
* RDF data serialization:
*
* \code
- * Soprano::Serializer* s = Soprano::PluginManager::instance()->discoverSerializerForSerialization( Soprano::SerializationRdfXml );
+ * const Soprano::Serializer* s = Soprano::PluginManager::instance()->discoverSerializerForSerialization( Soprano::SerializationRdfXml );
* \endcode
*
* Then serializing RDF data is done in a single method call which writes the serialized data to a QTextStream:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/soprano/sopranodirs.cpp new/soprano-2.7.0/soprano/sopranodirs.cpp
--- old/soprano-2.6.51/soprano/sopranodirs.cpp 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/soprano/sopranodirs.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -28,8 +28,12 @@
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
-
-#if defined _WIN32 || defined _WIN64
+#ifdef Q_OS_WIN
+static inline QString getWinPrefix()
+{
+ // returns the parent directory of the application
+ return QDir( QCoreApplication::applicationDirPath() ).absoluteFilePath( ".." );
+}
#define PATH_SEPARATOR ';'
#else
#define PATH_SEPARATOR ':'
@@ -123,6 +127,8 @@
paths << QLatin1String( SOPRANO_PREFIX"/lib"SOPRANO_LIB_SUFFIX );
#ifdef Q_OS_WIN
paths << QLatin1String( SOPRANO_PREFIX"/bin" );
+ paths << getWinPrefix() + QLatin1String( "/bin" );
+ paths << getWinPrefix() + QLatin1String( "/lib"SOPRANO_LIB_SUFFIX );
#else
paths << QLatin1String( "/usr/lib"SOPRANO_LIB_SUFFIX );
paths << QLatin1String( "/usr/local/lib"SOPRANO_LIB_SUFFIX );
@@ -136,6 +142,9 @@
{
QStringList paths;
paths << QLatin1String( SOPRANO_PREFIX"/share" )
+#ifdef Q_OS_WIN
+ << getWinPrefix() + QLatin1String( "/share" )
+#endif
<< Soprano::envDirList( "SOPRANO_DIRS" )
<< Soprano::envDirList( "XDG_DATA_DIRS" );
return paths;
@@ -146,6 +155,9 @@
{
QStringList paths;
paths << QLatin1String( SOPRANO_PREFIX"/bin" )
+#ifdef Q_OS_WIN
+ << getWinPrefix() + QLatin1String( "/bin" )
+#endif
<< envDirList( "PATH" );
return paths;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/test/CMakeLists.txt new/soprano-2.7.0/test/CMakeLists.txt
--- old/soprano-2.6.51/test/CMakeLists.txt 2011-06-05 10:38:25.000000000 +0200
+++ new/soprano-2.7.0/test/CMakeLists.txt 2011-08-04 14:16:26.000000000 +0200
@@ -135,6 +135,12 @@
target_link_libraries(parsertest soprano ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY})
add_test(parsertest ${EXECUTABLE_OUTPUT_PATH}/parsertest)
+# serializer test
+qt4_automoc(serializetest serializetest.cpp)
+add_executable(serializertest serializetest.cpp)
+target_link_libraries(serializertest soprano ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY})
+add_test(serializertest ${EXECUTABLE_OUTPUT_PATH}/serializertest)
+
# Error test
qt4_automoc(errortest errortest.cpp)
add_executable(errortest errortest.cpp)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/test/serializetest.cpp new/soprano-2.7.0/test/serializetest.cpp
--- old/soprano-2.6.51/test/serializetest.cpp 1970-01-01 01:00:00.000000000 +0100
+++ new/soprano-2.7.0/test/serializetest.cpp 2011-08-04 14:16:26.000000000 +0200
@@ -0,0 +1,167 @@
+/*
+ * This file is part of Soprano Project.
+ *
+ * Copyright (C) 2007-2008 Sebastian Trueg <trueg(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 "serializetest.h"
+#include "config-testdata.h"
+
+#include "serializer.h"
+#include "parser.h"
+#include "pluginmanager.h"
+#include "statementiterator.h"
+#include "simplestatementiterator.h"
+#include "statement.h"
+#include "vocabulary.h"
+
+#include <QtTest/QTest>
+#include <QtCore/QFile>
+#include <QtCore/QDebug>
+
+
+using namespace Soprano;
+
+#include "testdata.h"
+
+
+void SerializerTest::init()
+{
+#if 0
+ // Init reference statements list
+ const Parser * parser = PluginManager::instance()->discoverParserForSerialization(SerializationTrig);
+ QVERIFY(parser);
+ StatementIterator refIt = parser->parseFile(
+ SOPRANO_TEST_DATA_DIR"/trig-testdata.trig",
+ QUrl("http://soprano.sf.net/testdata/"),
+ SerializationTrig);
+ this->referenceStatements = refIt.allStatements();
+#endif
+}
+
+Q_DECLARE_METATYPE( Soprano::RdfSerialization )
+
+void SerializerTest::testSerializer_data()
+{
+
+ QTest::addColumn<Soprano::RdfSerialization>( "serialization" );
+ QTest::addColumn<bool>( "withContext" );
+
+ QTest::newRow("rdf_xml") << SerializationRdfXml << false;
+ QTest::newRow("turtle") << SerializationTurtle << false;
+ QTest::newRow("trig") << SerializationTrig << true;
+}
+
+
+
+void SerializerTest::testSerializer()
+{
+ QFETCH( RdfSerialization, serialization );
+ QFETCH( bool, withContext );
+
+ //qDebug() << "Serialization: " << serializationMimeType(serialization);
+ QList<const Serializer*> serializers = PluginManager::instance()->allSerializers();
+
+
+ /* Step 1 - create reference statements */
+ QList<Statement> referenceStatements = testData(withContext);
+ //QList<Statement> testStatements = testData( withContext );
+
+ Q_FOREACH( const Serializer * serializer, serializers ) {
+ if ( serializer->supportsSerialization( serialization ) ) {
+ // Find if we have Parser for this serialization, to parse data back.
+ // If not, then oops )
+ const Parser * back_parser = PluginManager::instance()->discoverParserForSerialization(serialization);
+ if ( !back_parser ) {
+ qDebug() << "We can not found parser for" <<
+ serializationMimeType(serialization) <<
+ " Skipping it";
+ continue;
+ }
+
+ // Now serialize reference data
+ QByteArray data_array;
+ QTextStream serializationStorage(&data_array,QIODevice::ReadWrite);
+
+ bool result = serializer->serialize(
+ /*what*/Util::SimpleStatementIterator(referenceStatements),
+ /*where*/serializationStorage,
+ /*type*/serialization
+ );
+ QVERIFY(result);
+
+ //qDebug() << "Serialization storage: " << data_array;
+
+ // Now parse gained text stream back
+ QTextStream readStorageStream(&data_array, QIODevice::ReadOnly);
+ StatementIterator it = back_parser->parseStream(
+ readStorageStream,
+ QUrl("http://soprano.sf.net/testdata/"),
+ serialization);
+
+ QList<Statement> all = it.allStatements();
+
+
+ // Now compare recieved with reference
+ QCOMPARE( all.count(), referenceStatements.count() );
+
+ Q_FOREACH( Statement s, referenceStatements ) {
+ bool contains = all.contains(s);
+ if ( !contains ) {
+ qDebug() << "Not found in parsed: " << s;
+ }
+
+ QVERIFY( contains );
+ }
+
+ }
+ }
+}
+
+
+#if 0
+void SerializerTest::testEncoding()
+{
+ // FIXME: provide test data for all supported encodings (no big problem so far since we only have the raptor parser)
+
+ // parse both files, same content, different encodings and compare the results
+ const QString utf8File = SOPRANO_TEST_DATA_DIR"/rdf_xml-testdata-utf8.rdf";
+ const QString isoFile = SOPRANO_TEST_DATA_DIR"/rdf_xml-testdata-iso8859.rdf";
+
+ const Soprano::Parser* parser = PluginManager::instance()->discoverParserForSerialization( SerializationRdfXml );
+ if ( parser ) {
+ QList<Statement> utf8Statements = parser->parseFile( utf8File, QUrl(), SerializationRdfXml ).allStatements();
+ QList<Statement> isoStatements = parser->parseFile( isoFile, QUrl(), SerializationRdfXml ).allStatements();
+
+ // brute force comparision, time is not an issue, no need to get inventive. ;)
+ foreach( const Statement& s, utf8Statements ) {
+ if ( !isoStatements.contains( s ) ) qDebug() << s;
+ QVERIFY( isoStatements.contains( s ) );
+ }
+ foreach( const Statement& s, isoStatements ) {
+ if ( !utf8Statements.contains( s ) ) qDebug() << s;
+ QVERIFY( utf8Statements.contains( s ) );
+ }
+ }
+}
+#endif
+
+QTEST_MAIN( SerializerTest )
+
+#include "serializetest.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/soprano-2.6.51/test/serializetest.h new/soprano-2.7.0/test/serializetest.h
--- old/soprano-2.6.51/test/serializetest.h 1970-01-01 01:00:00.000000000 +0100
+++ new/soprano-2.7.0/test/serializetest.h 2011-08-04 14:16:26.000000000 +0200
@@ -0,0 +1,52 @@
+/*
+ * This file is part of Soprano Project.
+ *
+ * Copyright (C) 2007-2008 Sebastian Trueg <strueg(a)mandriva.com>
+ *
+ * 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 SOPRANO_SERIALIZER_TEST_H
+#define SOPRANO_SERIALIZER_TEST_H
+
+#include <QtCore/QObject>
+#include <QtCore/QList>
+
+#include "statement.h"
+
+
+/* Workflow:
+ * 1) Prepare one QList<Statement> with data, used as reference
+ * 2) For each serializer:
+ * 2.1) Serialize reference to memory
+ * 2.2) Parse this memory back to QList<Statement>
+ * 2.3) Compare with reference
+ */
+class SerializerTest: public QObject
+{
+ Q_OBJECT
+
+private Q_SLOTS:
+ void init();
+ void testSerializer_data();
+ void testSerializer();
+ //void testEncoding();
+ private:
+ //QList<Soprano::Statement> referenceStatements;
+};
+
+#endif
+
++++++ soprano-backend-sesame.spec.in ++++++
--- /var/tmp/diff_new_pack.1xI3TU/_old 2011-09-20 12:56:17.000000000 +0200
+++ /var/tmp/diff_new_pack.1xI3TU/_new 2011-09-20 12:56:17.000000000 +0200
@@ -28,7 +28,7 @@
BuildRequires: java-devel
BuildRequires: libsoprano-devel
Requires: libsoprano4 = %{version}
-Requires: java-devel
+Requires: java
Provides: soprano_backend = %{version}
Provides: backend-sesame2 = %{version}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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 rasqal for openSUSE:Factory
checked in at Tue Sep 20 12:56:08 CEST 2011.
--------
--- KDE/rasqal/rasqal.changes 2011-05-22 21:21:43.000000000 +0200
+++ /mounts/work_src_done/STABLE/rasqal/rasqal.changes 2011-09-19 13:47:46.000000000 +0200
@@ -1,0 +2,15 @@
+Mon Sep 19 11:44:05 UTC 2011 - tittiatcoke(a)gmail.com
+
+- Update to 0.9.27
+ * sub-SELECTs can now be executed
+ * OPTIONAL and UNION fully execute correctly
+ * Grouping over sub-graph patterns fully executes correctly
+ * CONSTRUCT WHERE abbreviation is supported and executes
+ * CONSTRUCT works when working over a query with optionals
+ * Updated the CSV and TSV outputs to match the editor's draft
+ SPARQL 1.1 Query Results CSV and TSV Formats
+ * Fixed issues: [1]#0000127, [2]#0000423, [3]#0000434, [4]#0000454
+ and [5]#0000459.
+
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
rasqal-0.9.21.tar.bz2
New:
----
rasqal-0.9.27.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rasqal.spec ++++++
--- /var/tmp/diff_new_pack.Kmm5Al/_old 2011-09-20 12:56:01.000000000 +0200
+++ /var/tmp/diff_new_pack.Kmm5Al/_new 2011-09-20 12:56:01.000000000 +0200
@@ -19,7 +19,7 @@
Name: rasqal
-Version: 0.9.21
+Version: 0.9.27
Release: 1
License: LGPLv2.1+ or GPLv2+ or ASLv2.0+
Summary: RDF Parser Toolkit for Redland
@@ -44,13 +44,13 @@
It currently handles the RDF Data Query Language (RDQL) and SPARQL
Query language.
-%package -n librasqal2
+%package -n librasqal3
License: LGPLv2.1+ or GPLv2+ or ASLv2.0+
Summary: RDF Parser Toolkit for Redland
Group: System/Libraries
%requires_ge libraptor1
-%description -n librasqal2
+%description -n librasqal3
Rasqal is a library providing full support for querying Resource
Description Framework (RDF) including parsing query syntaxes,
constructing the queries, executing them and returning result formats.
@@ -61,8 +61,8 @@
License: LGPLv2.1+ or GPLv2+ or ASLv2.0+
Summary: Development package for the Rasqal RDF query library
Group: Development/Languages/C and C++
-Requires: libraptor-devel >= 1.4.9
-Requires: librasqal2 = %{version}
+Requires: libraptor-devel >= 2.0.4
+Requires: librasqal3 = %{version}
%description -n librasqal-devel
This package contains the files needed to develop with the Rasqal RDF
@@ -92,13 +92,13 @@
%clean
rm -rf %{buildroot}
-%post -n librasqal2 -p /sbin/ldconfig
+%post -n librasqal3 -p /sbin/ldconfig
-%postun -n librasqal2 -p /sbin/ldconfig
+%postun -n librasqal3 -p /sbin/ldconfig
-%files -n librasqal2
+%files -n librasqal3
%defattr(-,root,root,-)
-%{_libdir}/librasqal.so.2*
+%{_libdir}/librasqal.so.3*
%files -n librasqal-devel
%defattr(-,root,root,-)
++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.Kmm5Al/_old 2011-09-20 12:56:01.000000000 +0200
+++ /var/tmp/diff_new_pack.Kmm5Al/_new 2011-09-20 12:56:01.000000000 +0200
@@ -1 +1 @@
-librasqal2
+librasqal3
++++++ rasqal-0.9.21.tar.bz2 -> rasqal-0.9.27.tar.bz2 ++++++
++++ 111242 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 liblrdf for openSUSE:Factory
checked in at Tue Sep 20 12:55:54 CEST 2011.
--------
--- liblrdf/liblrdf.changes 2011-05-02 02:24:33.000000000 +0200
+++ /mounts/work_src_done/STABLE/liblrdf/liblrdf.changes 2011-09-16 15:57:52.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 16 13:56:52 UTC 2011 - tittiatcoke(a)gmail.com
+
+- Added Raptor2 compatibility patch (upstream)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
raptor2-compat.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ liblrdf.spec ++++++
--- /var/tmp/diff_new_pack.yhhcDY/_old 2011-09-20 12:55:48.000000000 +0200
+++ /var/tmp/diff_new_pack.yhhcDY/_new 2011-09-20 12:55:48.000000000 +0200
@@ -26,7 +26,8 @@
License: GPL v2 or later
Group: System/Libraries
Source: %{name}-%{version}.tar.bz2
-Patch: liblrdf-symbol-conflict.diff
+Patch1: liblrdf-symbol-conflict.diff
+Patch2: raptor2-compat.diff
Url: http://liblrdf.sf.net
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -81,10 +82,13 @@
%prep
%setup -q
-%patch -p1
+%patch1 -p1
+%patch2 -p0
%build
export CFLAGS="$RPM_OPT_FLAGS"
+# Required because of patch2 that updates configure.ac
+./autogen.sh
%configure --disable-static --with-pic
make
++++++ raptor2-compat.diff ++++++
--- src/Makefile.am
+++ src/Makefile.am
@@ -4,5 +4,5 @@ lib_LTLIBRARIES = liblrdf.la
noinst_HEADERS = lrdf_md5.h md5_loc.h ladspa.h
liblrdf_la_SOURCES = lrdf.c lrdf_multi.c md5.c
-liblrdf_la_LIBADD = -lraptor
+liblrdf_la_LIBADD = -lraptor2
liblrdf_la_LDFLAGS = -version-info @LRDF_LIBTOOL_VERSION@
--- src/lrdf.c
+++ src/lrdf.c
@@ -18,6 +18,7 @@
static unsigned int lrdf_uid = 0; /* A unique(ish) id to append to genid's to
* avoid clashses */
+static raptor_world *world = NULL;
static lrdf_statement *triples = NULL;
static lrdf_statement *free_triples;
static lrdf_string_hash *resources_hash[LRDF_HASH_SIZE];
@@ -43,8 +44,7 @@ static void lrdf_remove_triple_hash(lrdf_triple_hash ** tbl,
lrdf_hash hash, lrdf_statement * s);
static void lrdf_add_closure_hash(lrdf_closure_hash ** tbl,
lrdf_hash subject, lrdf_hash object);
-static void lrdf_store(void *user_data,
- const raptor_statement * statement);
+static void lrdf_store(void *user_data, raptor_statement * statement);
void lrdf_free_statements(lrdf_statement * s);
void lrdf_copy_statement(lrdf_statement * from, lrdf_statement * to);
void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
@@ -71,7 +71,7 @@ void lrdf_init()
unsigned int i;
struct timeval tv;
- raptor_init();
+ world = raptor_new_world();
lrdf_more_triples(256);
/* A UID to add to genids to make them safer */
@@ -112,7 +112,8 @@ void lrdf_more_triples(int count)
void lrdf_cleanup()
{
- raptor_finish();
+ raptor_free_world(world);
+ world = NULL;
lrdf_free_string_hash(resources_hash);
lrdf_free_string_hash(literals_hash);
@@ -232,26 +233,29 @@ void lrdf_remove_matches(lrdf_statement *pattern)
}
}
-static void lrdf_store(void *user_data, const raptor_statement * statement)
+static const char *lrdf_term_as_string(char *tmp, int tmp_len,
+ const raptor_term *term)
+{
+ switch (term->type) {
+ case RAPTOR_TERM_TYPE_URI:
+ return (const char *) raptor_uri_as_string(term->value.uri);
+ case RAPTOR_TERM_TYPE_LITERAL:
+ return (const char *) term->value.literal.string;
+ case RAPTOR_TERM_TYPE_BLANK:
+ snprintf(tmp, tmp_len, "_:%s.%x", term->value.blank.string, lrdf_uid);
+ return tmp;
+ default:
+ return "(?)";
+ }
+}
+
+static void lrdf_store(void *user_data, raptor_statement * statement)
{
lrdf_statement *s = lrdf_alloc_statement();
char tmps[128], tmpp[128], tmpo[128];
- char *subj = (char *) statement->subject,
- *pred = (char *) statement->predicate,
- *obj = (char *) statement->object;
-
- if (statement->subject_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmps, 127, "_:%s.%x", subj, lrdf_uid);
- subj = tmps;
- }
- if (statement->predicate_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmpp, 127, "_:%s.%x", pred, lrdf_uid);
- pred = tmpp;
- }
- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
- snprintf(tmpo, 127, "_:%s.%x", obj, lrdf_uid);
- obj = tmpo;
- }
+ const char *subj = lrdf_term_as_string(tmps, 128, statement->subject),
+ *pred = lrdf_term_as_string(tmpp, 128, statement->predicate),
+ *obj = lrdf_term_as_string(tmpo, 128, statement->object);
s->shash = lrdf_gen_hash(subj);
s->phash = lrdf_gen_hash(pred);
@@ -261,7 +265,7 @@ static void lrdf_store(void *user_data, const raptor_statement * statement)
s->subject = lrdf_check_hash(resources_hash, s->shash, subj);
s->predicate = lrdf_check_hash(resources_hash, s->phash, pred);
- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_LITERAL) {
+ if (statement->object->type == RAPTOR_TERM_TYPE_LITERAL) {
s->object = lrdf_check_hash(literals_hash, s->ohash, obj);
s->object_type = lrdf_literal;
} else {
@@ -537,28 +541,22 @@ void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
free(pathto);
}
-static void lrdf_error_handler(void *data, raptor_locator * locator,
- const char *message);
+static void lrdf_log_handler(void *data, raptor_log_message *message);
-static void lrdf_error_handler(void *data, raptor_locator * locator,
- const char *message)
+static void lrdf_log_handler(void *data, raptor_log_message *message)
{
- fprintf(stderr, "liblrdf: error - ");
- raptor_print_locator(stderr, locator);
- fprintf(stderr, " - %s\n", message);
-
- raptor_parse_abort((raptor_parser*)data);
-}
+ const char *severity = "error";
+ if (message->level == RAPTOR_LOG_LEVEL_WARN) {
+ severity = "warning";
+ }
-static void lrdf_warning_handler(void *data, raptor_locator * locator,
- const char *message);
+ fprintf(stderr, "liblrdf: %s - ", severity);
+ raptor_locator_print(message->locator, stderr);
+ fprintf(stderr, " - %s\n", message->text);
-static void lrdf_warning_handler(void *data, raptor_locator * locator,
- const char *message)
-{
- fprintf(stderr, "liblrdf: warning - ");
- raptor_print_locator(stderr, locator);
- fprintf(stderr, " - %s\n", message);
+ if (message->level != RAPTOR_LOG_LEVEL_WARN) {
+ raptor_parser_parse_abort((raptor_parser*)data);
+ }
}
@@ -593,15 +591,15 @@ int lrdf_read_file_intl(const char *uri)
lrdf_hash source;
//printf("lrdf: reading %s\n", uri);
- ruri = raptor_new_uri(uri);
- furi = raptor_new_uri(uri);
+ ruri = raptor_new_uri(world, (const unsigned char *) uri);
+ furi = raptor_new_uri(world, (const unsigned char *) uri);
source = lrdf_gen_hash(uri);
lrdf_check_hash(resources_hash, source, uri);
if (strstr(uri, ".rdf")) {
- parser = raptor_new_parser("rdfxml");
+ parser = raptor_new_parser(world, "rdfxml");
} else {
- parser = raptor_new_parser("ntriples");
+ parser = raptor_new_parser(world, "ntriples");
}
if (!parser) {
fprintf(stderr, "liblrdf: failed to create parser\n");
@@ -609,12 +607,11 @@ int lrdf_read_file_intl(const char *uri)
return 1;
}
- raptor_set_error_handler(parser, parser, lrdf_error_handler);
- raptor_set_warning_handler(parser, NULL, lrdf_warning_handler);
- raptor_set_statement_handler(parser, &source, lrdf_store);
- raptor_set_default_generate_id_parameters(parser, NULL, ++lrdf_uid);
+ raptor_world_set_log_handler(world, parser, lrdf_log_handler);
+ raptor_parser_set_statement_handler(parser, &source, lrdf_store);
+ raptor_world_set_generate_bnodeid_parameters(world, NULL, ++lrdf_uid);
- if (raptor_parse_file(parser, furi, ruri)) {
+ if (raptor_parser_parse_file(parser, furi, ruri)) {
raptor_free_uri(furi);
raptor_free_uri(ruri);
raptor_free_parser(parser);
--- configure.ac
+++ configure.ac
@@ -18,7 +18,7 @@
AC_HEADER_STDC
AC_CHECK_HEADERS([errno.h limits.h stdlib.h string.h unistd.h])
-PKG_CHECK_MODULES(RAPTOR, raptor >= 0.9.11)
+PKG_CHECK_MODULES(RAPTOR, raptor2 >= 0.9.11)
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
--- lrdf.h
+++ lrdf.h
@@ -5,7 +5,7 @@
extern "C" {
#endif
-#include <raptor.h>
+#include <raptor2/raptor2.h>
#include <string.h>
#include <sys/types.h>
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0