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
February 2014
- 1 participants
- 1581 discussions
Hello community,
here is the log from the commit of package kf5umbrella for openSUSE:Factory checked in at 2014-02-28 16:23:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kf5umbrella (Old)
and /work/SRC/openSUSE:Factory/.kf5umbrella.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf5umbrella"
Changes:
--------
New Changes file:
--- /dev/null 2014-02-13 01:09:38.344032506 +0100
+++ /work/SRC/openSUSE:Factory/.kf5umbrella.new/kf5umbrella.changes 2014-02-28 16:23:47.000000000 +0100
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sat Feb 8 02:18:21 UTC 2014 - hrvoje.senjan(a)gmail.com
+
+- Init kf5umbrella package
+
New:
----
kf5umbrella-4.96.0.tar.xz
kf5umbrella.changes
kf5umbrella.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kf5umbrella.spec ++++++
#
# spec file for package kf5umbrella
#
# Copyright (c) 2014 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: kf5umbrella
Version: 4.96.0
Release: 0
BuildRequires: cmake >= 2.8.12
BuildRequires: extra-cmake-modules >= 0.0.10
BuildRequires: fdupes
BuildRequires: kf5-filesystem
BuildRequires: pkgconfig(Qt5Core) >= 5.2.0
Requires: cmake
Requires: extra-cmake-modules
Summary: CMake convenience functions for KDE Frameworks
License: BSD-3-Clause
Group: System/GUI/KDE
Url: http://www.kde.org
Source0: kf5umbrella-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
This package contains CMake files that simplify the CMake code that
applications need to write in order to find KDE Frameworks.
It is not used by the frameworks themselves, it exists only for the convenience
of workspace and applications.
%prep
%setup -q
%build
%cmake_kf5 -d build
%make_jobs
%install
%kf5_makeinstall -C build
%fdupes -s %{buildroot}
%files
%defattr(-,root,root)
%{_kf5_libdir}/cmake/KF5/
%changelog
--
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 t-prot for openSUSE:Factory checked in at 2014-02-28 16:22:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/t-prot (Old)
and /work/SRC/openSUSE:Factory/.t-prot.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "t-prot"
Changes:
--------
--- /work/SRC/openSUSE:Factory/t-prot/t-prot.changes 2014-01-23 15:57:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.t-prot.new/t-prot.changes 2014-02-28 16:22:53.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Feb 26 10:48:13 UTC 2014 - coolo(a)suse.com
+
+- fix requires and install section
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ t-prot.spec ++++++
--- /var/tmp/diff_new_pack.HLibq9/_old 2014-02-28 16:22:54.000000000 +0100
+++ /var/tmp/diff_new_pack.HLibq9/_new 2014-02-28 16:22:54.000000000 +0100
@@ -25,13 +25,12 @@
Url: http://www.escape.de/users/tolot/mutt/
Source: %{name}-%{version}.tar.bz2
Source1: muttrc.t-prot
-Requires: perl-Getopt-Mixed
-Requires: perl-gettext
+Requires: perl(Getopt::Long)
+Requires: perl(Locale::gettext)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
-BuildRequires: perl-Getopt-Mixed
-BuildRequires: perl-gettext
-%define _prefix /usr
+BuildRequires: perl(Getopt::Long)
+BuildRequires: perl(Locale::gettext)
%description
t-prot detects and, when demanded, hides annoying parts in rfc822
@@ -47,12 +46,6 @@
newsreader quote everything of the previous message and just add some
text at the top.
-
-
-Authors:
---------
- Jochen Striepe <jochen(a)tolot.escape.de>
-
%prep
%setup -q
cp %{SOURCE1} .
@@ -61,16 +54,13 @@
sed -e "s#@docdir@#%{_defaultdocdir}/%{name}#g" t-prot.1 > x && mv x t-prot.1
%install
-install -d %{buildroot}%{_prefix}/bin
-install -d %{buildroot}%{_defaultdocdir}/%{name}
-install -d %{buildroot}%{_mandir}/man1
-install -m 755 t-prot %{buildroot}%{_prefix}/bin/t-prot
-install -m 644 t-prot.1 %{buildroot}/%{_mandir}/man1/t-prot.1
+install -D -m 755 t-prot %{buildroot}%{_bindir}/t-prot
+install -D -m 644 t-prot.1 %{buildroot}/%{_mandir}/man1/t-prot.1
%files
%defattr(-,root,root)
%doc ChangeLog README TODO muttrc.t-prot
-%{_prefix}/bin/t-prot
+%{_bindir}/t-prot
%{_mandir}/man1/t-prot.1.gz
%changelog
--
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 glibc for openSUSE:Factory checked in at 2014-02-28 16:22:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
and /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes 2014-02-13 06:45:48.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes 2014-02-28 16:22:49.000000000 +0100
@@ -1,0 +2,12 @@
+Wed Feb 26 09:03:25 UTC 2014 - schwab(a)suse.de
+
+- sin-sign.patch: Fix sign of input to bsloww1 (BZ #16623)
+- pldd-wait-ptrace-stop.patch: Update from upstream
+
+-------------------------------------------------------------------
+Mon Feb 24 11:38:41 UTC 2014 - schwab(a)suse.de
+
+- nss-dns-memleak.patch: fix memory leak in nss-dns (bnc#863499)
+- Don't build glibc-{extra,info,i18ndata,obsolete} and nscd for i686
+
+-------------------------------------------------------------------
@@ -22,0 +35 @@
+- ppc64le-abilist.patch: Removed
glibc-utils.changes: same change
glibc.changes: same change
New:
----
nss-dns-memleak.patch
sin-sign.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.JhmcZI/_old 2014-02-28 16:22:50.000000000 +0100
+++ /var/tmp/diff_new_pack.JhmcZI/_new 2014-02-28 16:22:50.000000000 +0100
@@ -50,7 +50,7 @@
%endif
%define __filter_GLIBC_PRIVATE 1
-%if %_target_cpu == "i686"
+%ifarch i686
# For i686 let's only build what's different from i586, so
# no need to build documentation
%define build_profile 1
@@ -146,7 +146,7 @@
Requires: glibc = %{version}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if %_target_cpu == "i686"
+%ifarch i686
# We need to avoid to have only the src rpm from i686 on the media,
# since it does not work on other architectures.
NoSource: 0
@@ -229,12 +229,16 @@
###
# Patches from upstream
###
+# PATCH-FIX-UPSTREAM fix memory leak in nss_dns
+Patch1000: nss-dns-memleak.patch
+# PATCH-FIX-UPSTREAM Fix sign of input to bsloww1 (BZ #16623)
+Patch1001: sin-sign.patch
+# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
+Patch1002: pldd-wait-ptrace-stop.patch
###
# Patches awaiting upstream approval
###
-# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
-Patch2019: pldd-wait-ptrace-stop.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -435,7 +439,9 @@
%patch304 -p1
%patch306 -p1
-%patch2019 -p1
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
%patch3000
@@ -802,7 +808,7 @@
# Prepare obsolete/, used only on some architectures:
export RPM_BUILD_ROOT
-%ifarch %ix86
+%ifarch i586
mkdir -p %{buildroot}/%{_lib}/obsolete
%endif
@@ -871,9 +877,13 @@
# libNoVersion belongs only to glibc-obsolete:
%ifarch %ix86
- rm -f %{buildroot}%{_libdir}/libNoVersion*
- mkdir -p %{buildroot}/%{_lib}/obsolete/noversion
- mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/
+rm -f %{buildroot}%{_libdir}/libNoVersion*
+%ifarch i586
+mkdir -p %{buildroot}/%{_lib}/obsolete/noversion
+mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/
+%else
+rm -f %{buildroot}/%{_lib}/libNoVersion*
+%endif
%endif
# Don't look at ldd! We don't wish a /bin/sh requires
@@ -916,6 +926,16 @@
rm -f %{buildroot}%{_mandir}/man1/mtrace.*
rm -rf %{buildroot}%{_libdir}/audit
+%ifarch i686
+# Remove files from glibc-{extra,info,i18ndata} and nscd
+rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n
+rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile
+rm -f %{buildroot}/etc/*nscd* %{buildroot}%{_sbindir}/*nscd*
+rm -rf %{buildroot}/usr/lib/systemd
+rm -rf %{buildroot}/usr/lib/tmpfiles.d
+rm -rf %{buildroot}/var/run/nscd
+%endif # i686
+
%endif # %{normal_build}
%if %{utils_build}
@@ -1134,8 +1154,7 @@
%{_sbindir}/glibc_post_upgrade
%{_sbindir}/iconvconfig
-%ifarch %ix86
-
+%ifarch i586
%files obsolete
%defattr (755,root,root,755)
%dir /%{_lib}/obsolete/
@@ -1192,6 +1211,7 @@
%{_libdir}/librt.a
%{_libdir}/libutil.a
+%ifnarch i686
%files info
%defattr(-,root,root)
%doc %{_infodir}/libc.info.gz
@@ -1222,6 +1242,7 @@
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
+%endif # !i686
%if %{build_profile}
%files profile
@@ -1241,10 +1262,12 @@
%{_libdir}/libdl_p.a
%endif
+%ifnarch i686
%files extra
%defattr(-,root,root)
%{_bindir}/makedb
/var/lib/misc/Makefile
+%endif # !i686
%endif # %{normal_build}
glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.JhmcZI/_old 2014-02-28 16:22:50.000000000 +0100
+++ /var/tmp/diff_new_pack.JhmcZI/_new 2014-02-28 16:22:50.000000000 +0100
@@ -50,7 +50,7 @@
%endif
%define __filter_GLIBC_PRIVATE 1
-%if %_target_cpu == "i686"
+%ifarch i686
# For i686 let's only build what's different from i586, so
# no need to build documentation
%define build_profile 1
@@ -146,7 +146,7 @@
Requires: glibc = %{version}
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if %_target_cpu == "i686"
+%ifarch i686
# We need to avoid to have only the src rpm from i686 on the media,
# since it does not work on other architectures.
NoSource: 0
@@ -229,12 +229,16 @@
###
# Patches from upstream
###
+# PATCH-FIX-UPSTREAM fix memory leak in nss_dns
+Patch1000: nss-dns-memleak.patch
+# PATCH-FIX-UPSTREAM Fix sign of input to bsloww1 (BZ #16623)
+Patch1001: sin-sign.patch
+# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
+Patch1002: pldd-wait-ptrace-stop.patch
###
# Patches awaiting upstream approval
###
-# PATCH-FIX-UPSTREAM Fix pldd not to leave process stopped after detaching
-Patch2019: pldd-wait-ptrace-stop.patch
# Non-glibc patches
# PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -435,7 +439,9 @@
%patch304 -p1
%patch306 -p1
-%patch2019 -p1
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
%patch3000
@@ -802,7 +808,7 @@
# Prepare obsolete/, used only on some architectures:
export RPM_BUILD_ROOT
-%ifarch %ix86
+%ifarch i586
mkdir -p %{buildroot}/%{_lib}/obsolete
%endif
@@ -871,9 +877,13 @@
# libNoVersion belongs only to glibc-obsolete:
%ifarch %ix86
- rm -f %{buildroot}%{_libdir}/libNoVersion*
- mkdir -p %{buildroot}/%{_lib}/obsolete/noversion
- mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/
+rm -f %{buildroot}%{_libdir}/libNoVersion*
+%ifarch i586
+mkdir -p %{buildroot}/%{_lib}/obsolete/noversion
+mv -v %{buildroot}/%{_lib}/libNoVersion* %{buildroot}/%{_lib}/obsolete/noversion/
+%else
+rm -f %{buildroot}/%{_lib}/libNoVersion*
+%endif
%endif
# Don't look at ldd! We don't wish a /bin/sh requires
@@ -916,6 +926,16 @@
rm -f %{buildroot}%{_mandir}/man1/mtrace.*
rm -rf %{buildroot}%{_libdir}/audit
+%ifarch i686
+# Remove files from glibc-{extra,info,i18ndata} and nscd
+rm -rf %{buildroot}%{_infodir} %{buildroot}%{_prefix}/share/i18n
+rm -f %{buildroot}%{_bindir}/makedb %{buildroot}/var/lib/misc/Makefile
+rm -f %{buildroot}/etc/*nscd* %{buildroot}%{_sbindir}/*nscd*
+rm -rf %{buildroot}/usr/lib/systemd
+rm -rf %{buildroot}/usr/lib/tmpfiles.d
+rm -rf %{buildroot}/var/run/nscd
+%endif # i686
+
%endif # %{normal_build}
%if %{utils_build}
@@ -1134,8 +1154,7 @@
%{_sbindir}/glibc_post_upgrade
%{_sbindir}/iconvconfig
-%ifarch %ix86
-
+%ifarch i586
%files obsolete
%defattr (755,root,root,755)
%dir /%{_lib}/obsolete/
@@ -1192,6 +1211,7 @@
%{_libdir}/librt.a
%{_libdir}/libutil.a
+%ifnarch i686
%files info
%defattr(-,root,root)
%doc %{_infodir}/libc.info.gz
@@ -1222,6 +1242,7 @@
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group
%attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts
+%endif # !i686
%if %{build_profile}
%files profile
@@ -1241,10 +1262,12 @@
%{_libdir}/libdl_p.a
%endif
+%ifnarch i686
%files extra
%defattr(-,root,root)
%{_bindir}/makedb
/var/lib/misc/Makefile
+%endif # !i686
%endif # %{normal_build}
++++++ nss-dns-memleak.patch ++++++
2014-02-18 Andreas Schwab <schwab(a)suse.de>
[BZ #16574]
* resolv/res_send.c (send_vc): Add parameter ansp2_malloced.
Store non-zero if the second buffer was newly allocated.
(send_dg): Likewise.
(__libc_res_nsend): Add parameter ansp2_malloced and pass it down
to send_vc and send_dg.
(res_nsend): Pass NULL for ansp2_malloced.
* resolv/res_query.c (__libc_res_nquery): Add parameter
answerp2_malloced and pass it down to __libc_res_nsend.
(res_nquery): Pass additional NULL to __libc_res_nquery.
(__libc_res_nsearch): Add parameter answerp2_malloced and pass it
down to __libc_res_nquery and __libc_res_nquerydomain. Deallocate
second answer buffer if answerp2_malloced was set.
(res_nsearch): Pass additional NULL to __libc_res_nsearch.
(__libc_res_nquerydomain): Add parameter
answerp2_malloced and pass it down to __libc_res_nquery.
(res_nquerydomain): Pass additional NULL to
__libc_res_nquerydomain.
* resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Pass
additional NULL to __libc_res_nsend and __libc_res_nquery.
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Pass
additional NULL to __libc_res_nsearch.
(_nss_dns_gethostbyname4_r): Revert last change. Use new
parameter of __libc_res_nsearch to check for separately allocated
second buffer.
(_nss_dns_gethostbyaddr2_r): Pass additional NULL to
__libc_res_nquery.
* resolv/nss_dns/dns-canon.c (_nss_dns_getcanonname_r): Pass
additional NULL to __libc_res_nquery.
* resolv/gethnamaddr.c (gethostbyname2): Pass additional NULL to
__libc_res_nsearch.
(gethostbyaddr): Pass additional NULL to __libc_res_nquery.
* include/resolv.h: Update prototypes of __libc_res_nquery,
__libc_res_nsearch, __libc_res_nsend.
2014-02-13 Andreas Schwab <schwab(a)suse.de>
[BZ #16574]
* resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname4_r): Free the
second answer buffer if it was separately allocated.
Index: glibc-2.19/include/resolv.h
===================================================================
--- glibc-2.19.orig/include/resolv.h
+++ glibc-2.19/include/resolv.h
@@ -48,11 +48,11 @@ libc_hidden_proto (__res_randomid)
libc_hidden_proto (__res_state)
int __libc_res_nquery (res_state, const char *, int, int, u_char *, int,
- u_char **, u_char **, int *, int *);
+ u_char **, u_char **, int *, int *, int *);
int __libc_res_nsearch (res_state, const char *, int, int, u_char *, int,
- u_char **, u_char **, int *, int *);
+ u_char **, u_char **, int *, int *, int *);
int __libc_res_nsend (res_state, const u_char *, int, const u_char *, int,
- u_char *, int, u_char **, u_char **, int *, int *)
+ u_char *, int, u_char **, u_char **, int *, int *, int *)
attribute_hidden;
libresolv_hidden_proto (_sethtent)
Index: glibc-2.19/resolv/gethnamaddr.c
===================================================================
--- glibc-2.19.orig/resolv/gethnamaddr.c
+++ glibc-2.19/resolv/gethnamaddr.c
@@ -621,7 +621,7 @@ gethostbyname2(name, af)
buf.buf = origbuf = (querybuf *) alloca (1024);
if ((n = __libc_res_nsearch(&_res, name, C_IN, type, buf.buf->buf, 1024,
- &buf.ptr, NULL, NULL, NULL)) < 0) {
+ &buf.ptr, NULL, NULL, NULL, NULL)) < 0) {
if (buf.buf != origbuf)
free (buf.buf);
Dprintf("res_nsearch failed (%d)\n", n);
@@ -716,12 +716,12 @@ gethostbyaddr(addr, len, af)
buf.buf = orig_buf = (querybuf *) alloca (1024);
n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf, 1024,
- &buf.ptr, NULL, NULL, NULL);
+ &buf.ptr, NULL, NULL, NULL, NULL);
if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0) {
strcpy(qp, "ip6.int");
n = __libc_res_nquery(&_res, qbuf, C_IN, T_PTR, buf.buf->buf,
buf.buf != orig_buf ? MAXPACKET : 1024,
- &buf.ptr, NULL, NULL, NULL);
+ &buf.ptr, NULL, NULL, NULL, NULL);
}
if (n < 0) {
if (buf.buf != orig_buf)
Index: glibc-2.19/resolv/nss_dns/dns-canon.c
===================================================================
--- glibc-2.19.orig/resolv/nss_dns/dns-canon.c
+++ glibc-2.19/resolv/nss_dns/dns-canon.c
@@ -62,7 +62,7 @@ _nss_dns_getcanonname_r (const char *nam
{
int r = __libc_res_nquery (&_res, name, ns_c_in, qtypes[i],
buf, sizeof (buf), &ansp.ptr, NULL, NULL,
- NULL);
+ NULL, NULL);
if (r > 0)
{
/* We need to decode the response. Just one question record.
Index: glibc-2.19/resolv/nss_dns/dns-host.c
===================================================================
--- glibc-2.19.orig/resolv/nss_dns/dns-host.c
+++ glibc-2.19/resolv/nss_dns/dns-host.c
@@ -190,7 +190,7 @@ _nss_dns_gethostbyname3_r (const char *n
host_buffer.buf = orig_host_buffer = (querybuf *) alloca (1024);
n = __libc_res_nsearch (&_res, name, C_IN, type, host_buffer.buf->buf,
- 1024, &host_buffer.ptr, NULL, NULL, NULL);
+ 1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
if (n < 0)
{
switch (errno)
@@ -225,7 +225,7 @@ _nss_dns_gethostbyname3_r (const char *n
n = __libc_res_nsearch (&_res, name, C_IN, T_A, host_buffer.buf->buf,
host_buffer.buf != orig_host_buffer
? MAXPACKET : 1024, &host_buffer.ptr,
- NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL);
if (n < 0)
{
@@ -308,12 +308,13 @@ _nss_dns_gethostbyname4_r (const char *n
u_char *ans2p = NULL;
int nans2p = 0;
int resplen2 = 0;
+ int ans2p_malloced = 0;
int olderr = errno;
enum nss_status status;
int n = __libc_res_nsearch (&_res, name, C_IN, T_UNSPEC,
host_buffer.buf->buf, 2048, &host_buffer.ptr,
- &ans2p, &nans2p, &resplen2);
+ &ans2p, &nans2p, &resplen2, &ans2p_malloced);
if (n < 0)
{
switch (errno)
@@ -352,6 +353,10 @@ _nss_dns_gethostbyname4_r (const char *n
resplen2, name, pat, buffer, buflen,
errnop, herrnop, ttlp);
+ /* Check whether ans2p was separately allocated. */
+ if (ans2p_malloced)
+ free (ans2p);
+
if (host_buffer.buf != orig_host_buffer)
free (host_buffer.buf);
@@ -460,7 +465,7 @@ _nss_dns_gethostbyaddr2_r (const void *a
strcpy (qp, "].ip6.arpa");
n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR,
host_buffer.buf->buf, 1024, &host_buffer.ptr,
- NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL);
if (n >= 0)
goto got_it_already;
}
@@ -481,14 +486,14 @@ _nss_dns_gethostbyaddr2_r (const void *a
}
n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
- 1024, &host_buffer.ptr, NULL, NULL, NULL);
+ 1024, &host_buffer.ptr, NULL, NULL, NULL, NULL);
if (n < 0 && af == AF_INET6 && (_res.options & RES_NOIP6DOTINT) == 0)
{
strcpy (qp, "ip6.int");
n = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, host_buffer.buf->buf,
host_buffer.buf != orig_host_buffer
? MAXPACKET : 1024, &host_buffer.ptr,
- NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL);
}
if (n < 0)
{
Index: glibc-2.19/resolv/nss_dns/dns-network.c
===================================================================
--- glibc-2.19.orig/resolv/nss_dns/dns-network.c
+++ glibc-2.19/resolv/nss_dns/dns-network.c
@@ -129,7 +129,7 @@ _nss_dns_getnetbyname_r (const char *nam
net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
anslen = __libc_res_nsearch (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
- 1024, &net_buffer.ptr, NULL, NULL, NULL);
+ 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
if (anslen < 0)
{
/* Nothing found. */
@@ -205,7 +205,7 @@ _nss_dns_getnetbyaddr_r (uint32_t net, i
net_buffer.buf = orig_net_buffer = (querybuf *) alloca (1024);
anslen = __libc_res_nquery (&_res, qbuf, C_IN, T_PTR, net_buffer.buf->buf,
- 1024, &net_buffer.ptr, NULL, NULL, NULL);
+ 1024, &net_buffer.ptr, NULL, NULL, NULL, NULL);
if (anslen < 0)
{
/* Nothing found. */
Index: glibc-2.19/resolv/res_query.c
===================================================================
--- glibc-2.19.orig/resolv/res_query.c
+++ glibc-2.19/resolv/res_query.c
@@ -98,7 +98,7 @@ static int
__libc_res_nquerydomain(res_state statp, const char *name, const char *domain,
int class, int type, u_char *answer, int anslen,
u_char **answerp, u_char **answerp2, int *nanswerp2,
- int *resplen2);
+ int *resplen2, int *answerp2_malloced);
/*
* Formulate a normal query, send, and await answer.
@@ -119,7 +119,8 @@ __libc_res_nquery(res_state statp,
u_char **answerp, /* if buffer needs to be enlarged */
u_char **answerp2,
int *nanswerp2,
- int *resplen2)
+ int *resplen2,
+ int *answerp2_malloced)
{
HEADER *hp = (HEADER *) answer;
HEADER *hp2;
@@ -224,7 +225,8 @@ __libc_res_nquery(res_state statp,
}
assert (answerp == NULL || (void *) *answerp == (void *) answer);
n = __libc_res_nsend(statp, query1, nquery1, query2, nquery2, answer,
- anslen, answerp, answerp2, nanswerp2, resplen2);
+ anslen, answerp, answerp2, nanswerp2, resplen2,
+ answerp2_malloced);
if (use_malloc)
free (buf);
if (n < 0) {
@@ -316,7 +318,7 @@ res_nquery(res_state statp,
int anslen) /* size of answer buffer */
{
return __libc_res_nquery(statp, name, class, type, answer, anslen,
- NULL, NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL, NULL);
}
libresolv_hidden_def (res_nquery)
@@ -335,7 +337,8 @@ __libc_res_nsearch(res_state statp,
u_char **answerp,
u_char **answerp2,
int *nanswerp2,
- int *resplen2)
+ int *resplen2,
+ int *answerp2_malloced)
{
const char *cp, * const *domain;
HEADER *hp = (HEADER *) answer;
@@ -360,7 +363,7 @@ __libc_res_nsearch(res_state statp,
if (!dots && (cp = res_hostalias(statp, name, tmp, sizeof tmp))!= NULL)
return (__libc_res_nquery(statp, cp, class, type, answer,
anslen, answerp, answerp2,
- nanswerp2, resplen2));
+ nanswerp2, resplen2, answerp2_malloced));
#ifdef DEBUG
if (statp->options & RES_DEBUG)
@@ -377,7 +380,8 @@ __libc_res_nsearch(res_state statp,
if (dots >= statp->ndots || trailing_dot) {
ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
answer, anslen, answerp,
- answerp2, nanswerp2, resplen2);
+ answerp2, nanswerp2, resplen2,
+ answerp2_malloced);
if (ret > 0 || trailing_dot)
return (ret);
saved_herrno = h_errno;
@@ -386,11 +390,11 @@ __libc_res_nsearch(res_state statp,
answer = *answerp;
anslen = MAXPACKET;
}
- if (answerp2
- && (*answerp2 < answer || *answerp2 >= answer + anslen))
+ if (answerp2 && *answerp2_malloced)
{
free (*answerp2);
*answerp2 = NULL;
+ *answerp2_malloced = 0;
}
}
@@ -417,7 +421,7 @@ __libc_res_nsearch(res_state statp,
class, type,
answer, anslen, answerp,
answerp2, nanswerp2,
- resplen2);
+ resplen2, answerp2_malloced);
if (ret > 0)
return (ret);
@@ -425,12 +429,11 @@ __libc_res_nsearch(res_state statp,
answer = *answerp;
anslen = MAXPACKET;
}
- if (answerp2
- && (*answerp2 < answer
- || *answerp2 >= answer + anslen))
+ if (answerp2 && *answerp2_malloced)
{
free (*answerp2);
*answerp2 = NULL;
+ *answerp2_malloced = 0;
}
/*
@@ -486,7 +489,8 @@ __libc_res_nsearch(res_state statp,
&& !(tried_as_is || root_on_list)) {
ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
answer, anslen, answerp,
- answerp2, nanswerp2, resplen2);
+ answerp2, nanswerp2, resplen2,
+ answerp2_malloced);
if (ret > 0)
return (ret);
}
@@ -498,10 +502,11 @@ __libc_res_nsearch(res_state statp,
* else send back meaningless H_ERRNO, that being the one from
* the last DNSRCH we did.
*/
- if (answerp2 && (*answerp2 < answer || *answerp2 >= answer + anslen))
+ if (answerp2 && *answerp2_malloced)
{
free (*answerp2);
*answerp2 = NULL;
+ *answerp2_malloced = 0;
}
if (saved_herrno != -1)
RES_SET_H_ERRNO(statp, saved_herrno);
@@ -521,7 +526,7 @@ res_nsearch(res_state statp,
int anslen) /* size of answer */
{
return __libc_res_nsearch(statp, name, class, type, answer,
- anslen, NULL, NULL, NULL, NULL);
+ anslen, NULL, NULL, NULL, NULL, NULL);
}
libresolv_hidden_def (res_nsearch)
@@ -539,7 +544,8 @@ __libc_res_nquerydomain(res_state statp,
u_char **answerp,
u_char **answerp2,
int *nanswerp2,
- int *resplen2)
+ int *resplen2,
+ int *answerp2_malloced)
{
char nbuf[MAXDNAME];
const char *longname = nbuf;
@@ -581,7 +587,7 @@ __libc_res_nquerydomain(res_state statp,
}
return (__libc_res_nquery(statp, longname, class, type, answer,
anslen, answerp, answerp2, nanswerp2,
- resplen2));
+ resplen2, answerp2_malloced));
}
int
@@ -593,7 +599,8 @@ res_nquerydomain(res_state statp,
int anslen) /* size of answer */
{
return __libc_res_nquerydomain(statp, name, domain, class, type,
- answer, anslen, NULL, NULL, NULL, NULL);
+ answer, anslen, NULL, NULL, NULL, NULL,
+ NULL);
}
libresolv_hidden_def (res_nquerydomain)
Index: glibc-2.19/resolv/res_send.c
===================================================================
--- glibc-2.19.orig/resolv/res_send.c
+++ glibc-2.19/resolv/res_send.c
@@ -186,12 +186,12 @@ evNowTime(struct timespec *res) {
static int send_vc(res_state, const u_char *, int,
const u_char *, int,
u_char **, int *, int *, int, u_char **,
- u_char **, int *, int *);
+ u_char **, int *, int *, int *);
static int send_dg(res_state, const u_char *, int,
const u_char *, int,
u_char **, int *, int *, int,
int *, int *, u_char **,
- u_char **, int *, int *);
+ u_char **, int *, int *, int *);
#ifdef DEBUG
static void Aerror(const res_state, FILE *, const char *, int,
const struct sockaddr *);
@@ -343,7 +343,7 @@ int
__libc_res_nsend(res_state statp, const u_char *buf, int buflen,
const u_char *buf2, int buflen2,
u_char *ans, int anssiz, u_char **ansp, u_char **ansp2,
- int *nansp2, int *resplen2)
+ int *nansp2, int *resplen2, int *ansp2_malloced)
{
int gotsomewhere, terrno, try, v_circuit, resplen, ns, n;
@@ -546,7 +546,8 @@ __libc_res_nsend(res_state statp, const
try = statp->retry;
n = send_vc(statp, buf, buflen, buf2, buflen2,
&ans, &anssiz, &terrno,
- ns, ansp, ansp2, nansp2, resplen2);
+ ns, ansp, ansp2, nansp2, resplen2,
+ ansp2_malloced);
if (n < 0)
return (-1);
if (n == 0 && (buf2 == NULL || *resplen2 == 0))
@@ -556,7 +557,7 @@ __libc_res_nsend(res_state statp, const
n = send_dg(statp, buf, buflen, buf2, buflen2,
&ans, &anssiz, &terrno,
ns, &v_circuit, &gotsomewhere, ansp,
- ansp2, nansp2, resplen2);
+ ansp2, nansp2, resplen2, ansp2_malloced);
if (n < 0)
return (-1);
if (n == 0 && (buf2 == NULL || *resplen2 == 0))
@@ -646,7 +647,7 @@ res_nsend(res_state statp,
const u_char *buf, int buflen, u_char *ans, int anssiz)
{
return __libc_res_nsend(statp, buf, buflen, NULL, 0, ans, anssiz,
- NULL, NULL, NULL, NULL);
+ NULL, NULL, NULL, NULL, NULL);
}
libresolv_hidden_def (res_nsend)
@@ -657,7 +658,7 @@ send_vc(res_state statp,
const u_char *buf, int buflen, const u_char *buf2, int buflen2,
u_char **ansp, int *anssizp,
int *terrno, int ns, u_char **anscp, u_char **ansp2, int *anssizp2,
- int *resplen2)
+ int *resplen2, int *ansp2_malloced)
{
const HEADER *hp = (HEADER *) buf;
const HEADER *hp2 = (HEADER *) buf2;
@@ -823,6 +824,8 @@ send_vc(res_state statp,
}
*thisanssizp = MAXPACKET;
*thisansp = newp;
+ if (thisansp == ansp2)
+ *ansp2_malloced = 1;
anhp = (HEADER *) newp;
len = rlen;
} else {
@@ -992,7 +995,7 @@ send_dg(res_state statp,
const u_char *buf, int buflen, const u_char *buf2, int buflen2,
u_char **ansp, int *anssizp,
int *terrno, int ns, int *v_circuit, int *gotsomewhere, u_char **anscp,
- u_char **ansp2, int *anssizp2, int *resplen2)
+ u_char **ansp2, int *anssizp2, int *resplen2, int *ansp2_malloced)
{
const HEADER *hp = (HEADER *) buf;
const HEADER *hp2 = (HEADER *) buf2;
@@ -1238,6 +1241,8 @@ send_dg(res_state statp,
if (newp != NULL) {
*anssizp = MAXPACKET;
*thisansp = ans = newp;
+ if (thisansp == ansp2)
+ *ansp2_malloced = 1;
}
}
HEADER *anhp = (HEADER *) *thisansp;
++++++ pldd-wait-ptrace-stop.patch ++++++
--- /var/tmp/diff_new_pack.JhmcZI/_old 2014-02-28 16:22:51.000000000 +0100
+++ /var/tmp/diff_new_pack.JhmcZI/_new 2014-02-28 16:22:51.000000000 +0100
@@ -1,12 +1,13 @@
-2013-07-31 Andreas Schwab <schwab(a)suse.de>
+2014-02-24 Andreas Schwab <schwab(a)suse.de>
+ [BZ #15804]
* elf/pldd.c (wait_for_ptrace_stop): New function.
(main): Call it after attaching.
-Index: glibc-2.17.90/elf/pldd.c
+Index: glibc-2.19/elf/pldd.c
===================================================================
---- glibc-2.17.90.orig/elf/pldd.c
-+++ glibc-2.17.90/elf/pldd.c
+--- glibc-2.19.orig/elf/pldd.c
++++ glibc-2.19/elf/pldd.c
@@ -34,6 +34,7 @@
#include <unistd.h>
#include <sys/ptrace.h>
@@ -32,7 +33,7 @@
struct thread_list *newp = alloca (sizeof (*newp));
newp->tid = tid;
newp->next = thread_list;
-@@ -194,6 +198,24 @@ main (int argc, char *argv[])
+@@ -194,6 +198,27 @@ main (int argc, char *argv[])
}
@@ -49,7 +50,10 @@
+ /* The STOP signal should not be delivered to the tracee. */
+ if (WSTOPSIG (status) == SIGSTOP)
+ return;
-+ ptrace (PTRACE_CONT, pid, NULL, (void *) (uintptr_t) WSTOPSIG (status));
++ if (ptrace (PTRACE_CONT, pid, NULL,
++ (void *) (uintptr_t) WSTOPSIG (status)))
++ /* The only possible error is that the process died. */
++ return;
+ }
+}
+
++++++ sin-sign.patch ++++++
Index: glibc-2.19/sysdeps/ieee754/dbl-64/s_sin.c
===================================================================
--- glibc-2.19.orig/sysdeps/ieee754/dbl-64/s_sin.c
+++ glibc-2.19/sysdeps/ieee754/dbl-64/s_sin.c
@@ -447,19 +447,21 @@ __sin (double x)
}
else
{
+ double t;
if (a > 0)
{
m = 1;
+ t = a;
db = da;
}
else
{
m = 0;
- a = -a;
+ t = -a;
db = -da;
}
- u.x = big + a;
- y = a - (u.x - big);
+ u.x = big + t;
+ y = t - (u.x - big);
res = do_sin (u, y, db, &cor);
cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
retval = ((res == res + cor) ? ((m) ? res : -res)
@@ -671,19 +673,21 @@ __cos (double x)
}
else
{
+ double t;
if (a > 0)
{
m = 1;
+ t = a;
db = da;
}
else
{
m = 0;
- a = -a;
+ t = -a;
db = -da;
}
- u.x = big + a;
- y = a - (u.x - big);
+ u.x = big + t;
+ y = t - (u.x - big);
res = do_sin (u, y, db, &cor);
cor = (cor > 0) ? 1.035 * cor + eps : 1.035 * cor - eps;
retval = ((res == res + cor) ? ((m) ? res : -res)
--
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 aqbanking for openSUSE:Factory checked in at 2014-02-28 16:22:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/aqbanking (Old)
and /work/SRC/openSUSE:Factory/.aqbanking.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "aqbanking"
Changes:
--------
--- /work/SRC/openSUSE:Factory/aqbanking/aqbanking.changes 2014-02-19 06:51:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.aqbanking.new/aqbanking.changes 2014-02-28 16:22:42.000000000 +0100
@@ -1,0 +2,7 @@
+Wed Feb 19 11:26:38 UTC 2014 - jcnengel(a)gmail.com
+
+- Update to 5.4.0beta
+ + Fix problems with SEPA debit orders
+ + Fix wrong key length for RDH10
+
+-------------------------------------------------------------------
Old:
----
aqbanking-5.3.6beta.tar.gz
New:
----
aqbanking-5.4.0beta.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ aqbanking.spec ++++++
--- /var/tmp/diff_new_pack.QaUik3/_old 2014-02-28 16:22:43.000000000 +0100
+++ /var/tmp/diff_new_pack.QaUik3/_new 2014-02-28 16:22:43.000000000 +0100
@@ -26,9 +26,8 @@
%define q4b_cfgmoddir %{fronts_libdir}/q4banking/cfgmodules
Name: aqbanking
-Version: 5.3.6beta
+Version: 5.4.0beta
Release: 0
-# FIXME Still unable to use parallel make. Last checked: 2011-09-25
Summary: Library for Online Banking Functions and Financial Data Import and Export
License: GPL-2.0 or GPL-3.0
Group: Productivity/Office/Finance
++++++ aqbanking-5.3.6beta.tar.gz -> aqbanking-5.4.0beta.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/ChangeLog new/aqbanking-5.4.0beta/ChangeLog
--- old/aqbanking-5.3.6beta/ChangeLog 2014-01-30 20:32:26.000000000 +0100
+++ new/aqbanking-5.4.0beta/ChangeLog 2014-02-15 15:15:30.000000000 +0100
@@ -1,6 +1,69 @@
------------------------------------------------------------------
-2014-01-30 20:31:57 +0100 Martin Preuss
+2014-02-15 15:14:50 +0100 Martin Preuss
+Prepared release 5.4.0beta.
+
+------------------------------------------------------------------
+2014-02-15 15:14:32 +0100 Martin Preuss
+BankInfo: Updated German bank data.
+
+------------------------------------------------------------------
+2014-02-13 18:54:02 +0000 martin
+Added function AB_Value_toHbciString().
+Use that function for challenge strings and for sums.
+Maybe we need to use that in other places, too, in case of servers which
+really rely on the removal of trailing after-komma zeroes...
+
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2513 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-04 21:22:32 +0000 martin
+AqHBCI: Automatically request SEPA information for accounts.
+Now we add a GetSepaAccountInfo job to a queue for every account involved
+for which no IBAN is currently set.
+
+This should retrieve SEPA account info automagically, so users should no
+longer be required to use the command line tool for that.
+
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2512 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-04 21:21:18 +0000 martin
+Added function AB_Account_List2_GetAccountByUniqueId().
+Also exported AB_Account_List2_FreeAll().
+
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2511 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-03 20:45:49 +0000 martin
+Added a flag to AB_Transaction_CheckForSepaConformity().
+If !=0 then the restricted SEPA charset is to be used.
+
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2510 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-03 20:44:30 +0000 martin
+AqHBCI: Fixed a merge problem ;-}
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2509 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-03 19:48:15 +0000 martin
+AqHBCI: Fixed RDH10 key size determination.
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2508 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-02-03 19:34:53 +0000 christian
+When printing the error about invalid character, also print the character itself.
+Even though this does not (yet) work for the general case
+when e.g. the invalid character is a multibyte utf-8 character,
+it at least gives a hint at simple invalid characters such
+as '&'.
+
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2507 5c42a225-8b10-0410-9873-89b7810ad06e
+
+------------------------------------------------------------------
+2014-01-30 19:33:18 +0000 martin
Prepared release 5.3.6beta.
+git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2506 5c42a225-8b10-0410-9873-89b7810ad06e
------------------------------------------------------------------
2014-01-30 19:21:45 +0000 martin
@@ -587,56 +650,3 @@
2013-12-28 22:52:28 +0000 martin
AqHBCI: Fixed field limits for SEPA transfers.
git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2416 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-12-28 20:56:25 +0000 martin
-aqbanking-cli: Added command "sepadebitnote"
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2415 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-12-28 20:55:15 +0000 martin
-AqHBCI: Implemented job AB_Job_TypeSepaDebitNote
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2414 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-12-28 13:45:44 +0000 martin
-Added function AB_Banking_MakeGermanIban().
-This function creates an IBAN from German bank code and account number.
-
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2413 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-12-28 13:44:35 +0000 martin
-Improved logging.
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2412 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-12-16 22:56:46 +0000 martin
-Applied patch by Thomas Baumgart: UI improvement.
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2411 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-11-28 13:23:33 +0000 mlenk
-Check for EBICS build dependencies only when the EBICS backend is being built
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2410 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-11-28 10:20:00 +0000 christian
-Fix include paths for out-of-tree build.
-(Reason: Using a plain relative path in Makefile.am is always
-relative to the $(builddir), not the $(srcdir), i.e. from where
-the final "Makefile" is located.)
-
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2409 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-11-27 00:03:25 +0000 martin
-Increased version number.
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2408 5c42a225-8b10-0410-9873-89b7810ad06e
-
-------------------------------------------------------------------
-2013-11-27 00:02:18 +0000 martin
-HBCI: Introduced flag AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS.
-This flag makes sure only safe ciphers are used when connecting via HTTPS.
-
-git-svn-id: https://devel.aqbanking.de/svn/aqbanking/trunk@2407 5c42a225-8b10-0410-9873-89b7810ad06e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/aqbanking.iss new/aqbanking-5.4.0beta/aqbanking.iss
--- old/aqbanking-5.3.6beta/aqbanking.iss 2014-01-30 20:31:38.000000000 +0100
+++ new/aqbanking-5.4.0beta/aqbanking.iss 2014-02-15 15:05:24.000000000 +0100
@@ -8,7 +8,7 @@
[Setup]
; Using the name here directly because we want it capitalized
AppName=AqBanking
-AppVerName=AqBanking 5.3.6beta
+AppVerName=AqBanking 5.4.0beta
AppPublisher=AqBanking Development Team
AppPublisherURL=http://sourceforge.net/projects/aqbanking
AppSupportURL=http://sourceforge.net/support/getsupport.php?group_id=115695
@@ -18,7 +18,7 @@
DirExistsWarning=no
InfoAfterFile=README
LicenseFile=COPYING
-OutputBaseFilename=aqbanking-5.3.6beta-setup
+OutputBaseFilename=aqbanking-5.4.0beta-setup
OutputDir=.
UninstallFilesDir={app}\uninstall\aqbanking
@@ -150,8 +150,8 @@
StringChange(FileString, '@'+'aqbanking_plugindir@', plugindir);
StringChange(FileString, '@'+'aqbanking_pkgdatadir@', pkgdatadir);
StringChange(FileString, '@'+'AQBANKING_VERSION_MAJOR@', '5');
- StringChange(FileString, '@'+'AQBANKING_VERSION_MINOR@', '3');
- StringChange(FileString, '@'+'AQBANKING_VERSION_PATCHLEVEL@', '6');
+ StringChange(FileString, '@'+'AQBANKING_VERSION_MINOR@', '4');
+ StringChange(FileString, '@'+'AQBANKING_VERSION_PATCHLEVEL@', '0');
StringChange(FileString, '@'+'AQBANKING_VERSION_BUILD@', '0');
StringChange(FileString, '@'+'AQBANKING_VERSION_TAG@', 'beta');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/aqbanking.spec new/aqbanking-5.4.0beta/aqbanking.spec
--- old/aqbanking-5.3.6beta/aqbanking.spec 2014-01-30 20:31:38.000000000 +0100
+++ new/aqbanking-5.4.0beta/aqbanking.spec 2014-02-15 15:05:24.000000000 +0100
@@ -2,7 +2,7 @@
# neededforbuild gwenhywfar gwenhywfar-devel ktoblzcheck python python-ctypes pyyxml libchipcard2-devel libchipcard2 pkgconfig gettext-devel libacl-devel libacl libattr-devel libattr
%define name aqbanking
-%define version 5.3.6beta
+%define version 5.4.0beta
%define dist
%define disttag
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/configure new/aqbanking-5.4.0beta/configure
--- old/aqbanking-5.3.6beta/configure 2014-01-30 20:31:32.000000000 +0100
+++ new/aqbanking-5.4.0beta/configure 2014-02-15 15:05:18.000000000 +0100
@@ -2728,8 +2728,8 @@
#
AQBANKING_VERSION_MAJOR=5
-AQBANKING_VERSION_MINOR=3
-AQBANKING_VERSION_PATCHLEVEL=6
+AQBANKING_VERSION_MINOR=4
+AQBANKING_VERSION_PATCHLEVEL=0
AQBANKING_VERSION_BUILD=0
AQBANKING_VERSION_TAG="beta"
@@ -2744,9 +2744,9 @@
# AqBanking
#
-AQBANKING_SO_CURRENT=37
-AQBANKING_SO_AGE=3
-AQBANKING_SO_REVISION=6
+AQBANKING_SO_CURRENT=38
+AQBANKING_SO_AGE=4
+AQBANKING_SO_REVISION=0
AQBANKING_SO_EFFECTIVE="`echo \$(($AQBANKING_SO_CURRENT-$AQBANKING_SO_AGE))`"
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/configure.ac new/aqbanking-5.4.0beta/configure.ac
--- old/aqbanking-5.3.6beta/configure.ac 2014-01-30 20:31:16.000000000 +0100
+++ new/aqbanking-5.4.0beta/configure.ac 2014-02-15 15:05:02.000000000 +0100
@@ -24,8 +24,8 @@
#
AQBANKING_VERSION_MAJOR=5
-AQBANKING_VERSION_MINOR=3
-AQBANKING_VERSION_PATCHLEVEL=6
+AQBANKING_VERSION_MINOR=4
+AQBANKING_VERSION_PATCHLEVEL=0
AQBANKING_VERSION_BUILD=0
dnl "stable", "rcX", "betaX", "svn"
AQBANKING_VERSION_TAG="beta"
@@ -41,9 +41,9 @@
# AqBanking
#
-AQBANKING_SO_CURRENT=37
-AQBANKING_SO_AGE=3
-AQBANKING_SO_REVISION=6
+AQBANKING_SO_CURRENT=38
+AQBANKING_SO_AGE=4
+AQBANKING_SO_REVISION=0
AQBANKING_SO_EFFECTIVE="`echo \$(($AQBANKING_SO_CURRENT-$AQBANKING_SO_AGE))`"
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/account.c new/aqbanking-5.4.0beta/src/libs/aqbanking/account.c
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/account.c 2013-05-20 18:35:04.000000000 +0200
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/account.c 2014-02-04 22:04:33.000000000 +0100
@@ -947,6 +947,27 @@
+AB_ACCOUNT *AB_Account_List2_GetAccountByUniqueId(const AB_ACCOUNT_LIST2 *al, uint32_t aid) {
+ AB_ACCOUNT_LIST2_ITERATOR *ait;
+
+ ait=AB_Account_List2_First(al);
+ if (ait) {
+ AB_ACCOUNT *a;
+
+ a=AB_Account_List2Iterator_Data(ait);
+ assert(a);
+ while(a) {
+ if (aid==AB_Account_GetUniqueId(a)) {
+ AB_Account_List2Iterator_free(ait);
+ return a;
+ }
+ a=AB_Account_List2Iterator_Next(ait);
+ }
+ AB_Account_List2Iterator_free(ait);
+ }
+
+ return NULL;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/account.h new/aqbanking-5.4.0beta/src/libs/aqbanking/account.h
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/account.h 2010-08-27 12:05:54.000000000 +0200
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/account.h 2014-02-04 22:04:15.000000000 +0100
@@ -47,8 +47,14 @@
/* Do not terminate these lines with semicolon because they are
macros, not functions, and ISO C89 does not allow a semicolon
there. */
+
+AQBANKING_API
void AB_Account_List2_FreeAll(AB_ACCOUNT_LIST2 *al);
+AQBANKING_API
+AB_ACCOUNT *AB_Account_List2_GetAccountByUniqueId(const AB_ACCOUNT_LIST2 *al, uint32_t aid);
+
+
typedef enum {
AB_AccountType_Unknown=0,
AB_AccountType_Bank,
@@ -193,6 +199,8 @@
void AB_Account_SetSelectedUser(AB_ACCOUNT *a, const AB_USER *u);
+
+
#ifdef __cplusplus
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/testlib.c new/aqbanking-5.4.0beta/src/libs/aqbanking/testlib.c
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/testlib.c 2014-01-26 15:47:49.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/testlib.c 2014-02-13 19:49:04.000000000 +0100
@@ -224,9 +224,80 @@
+int test5(int argc, char **argv) {
+ AB_VALUE *v1;
+ GWEN_BUFFER *tbuf;
+
+ tbuf=GWEN_Buffer_new(0, 256, 0, 1);
+ v1=AB_Value_fromString("11,90");
+ if (v1==NULL) {
+ fprintf(stderr, "ERROR: v1\n");
+ return 1;
+ }
+ AB_Value_toHbciString(v1, tbuf);
+ if (strcmp(GWEN_Buffer_GetStart(tbuf), "11,9")!=0) {
+ fprintf(stderr, "ERROR: Bad HBCI string (%s)\n", GWEN_Buffer_GetStart(tbuf));
+ return 2;
+ }
+ GWEN_Buffer_free(tbuf);
+ AB_Value_free(v1);
+
+
+ tbuf=GWEN_Buffer_new(0, 256, 0, 1);
+ v1=AB_Value_fromString("11,91");
+ if (v1==NULL) {
+ fprintf(stderr, "ERROR: v1\n");
+ return 1;
+ }
+ AB_Value_toHbciString(v1, tbuf);
+ if (strcmp(GWEN_Buffer_GetStart(tbuf), "11,91")!=0) {
+ fprintf(stderr, "ERROR: Bad HBCI string (%s)\n", GWEN_Buffer_GetStart(tbuf));
+ return 2;
+ }
+ GWEN_Buffer_free(tbuf);
+ AB_Value_free(v1);
+
+
+ tbuf=GWEN_Buffer_new(0, 256, 0, 1);
+ v1=AB_Value_fromString("1190");
+ if (v1==NULL) {
+ fprintf(stderr, "ERROR: v1\n");
+ return 1;
+ }
+ AB_Value_toHbciString(v1, tbuf);
+ if (strcmp(GWEN_Buffer_GetStart(tbuf), "1190,")!=0) {
+ fprintf(stderr, "ERROR: Bad HBCI string (%s)\n", GWEN_Buffer_GetStart(tbuf));
+ return 2;
+ }
+ GWEN_Buffer_free(tbuf);
+ AB_Value_free(v1);
+
+
+ tbuf=GWEN_Buffer_new(0, 256, 0, 1);
+ v1=AB_Value_fromString("11,00");
+ if (v1==NULL) {
+ fprintf(stderr, "ERROR: v1\n");
+ return 1;
+ }
+ AB_Value_toHbciString(v1, tbuf);
+ if (strcmp(GWEN_Buffer_GetStart(tbuf), "11,")!=0) {
+ fprintf(stderr, "ERROR: Bad HBCI string (%s)\n", GWEN_Buffer_GetStart(tbuf));
+ return 2;
+ }
+ GWEN_Buffer_free(tbuf);
+ AB_Value_free(v1);
+
+
+
+ fprintf(stderr, "Ok.\n");
+ return 0;
+}
+
+
+
int main(int argc, char *argv[]){
#if 1
- return test4(argc, argv);
+ return test5(argc, argv);
#else
AB_BANKING *ab;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/types/transactionfns.c new/aqbanking-5.4.0beta/src/libs/aqbanking/types/transactionfns.c
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/types/transactionfns.c 2014-01-18 14:22:51.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/types/transactionfns.c 2014-02-03 21:35:07.000000000 +0100
@@ -627,7 +627,7 @@
(c>='a' && c<='z') ||
(c>='0' && c<='9') ||
strchr("':?,-(+.)/ ", c)!=NULL)) {
- DBG_ERROR(AQBANKING_LOGDOMAIN, "Invalid character in string");
+ DBG_ERROR(AQBANKING_LOGDOMAIN, "Invalid character in string: '%c'", c);
return GWEN_ERROR_BAD_DATA;
}
s++;
@@ -650,7 +650,7 @@
if (!((c>='A' && c<='Z') ||
(c>='a' && c<='z') ||
(c>='0' && c<='9'))) {
- DBG_ERROR(AQBANKING_LOGDOMAIN, "Invalid character in string");
+ DBG_ERROR(AQBANKING_LOGDOMAIN, "Invalid character in string: '%c'", c);
return GWEN_ERROR_BAD_DATA;
}
s++;
@@ -661,7 +661,7 @@
-int AB_Transaction_CheckForSepaConformity(const AB_TRANSACTION *t) {
+int AB_Transaction_CheckForSepaConformity(const AB_TRANSACTION *t, int restricted) {
if (t) {
const GWEN_STRINGLIST *sl;
const char *s;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/types/transactionfns.h new/aqbanking-5.4.0beta/src/libs/aqbanking/types/transactionfns.h
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/types/transactionfns.h 2014-01-18 14:22:41.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/types/transactionfns.h 2014-02-03 21:34:52.000000000 +0100
@@ -66,7 +66,7 @@
* BIC and IBAN are present and whether the local and remote names conform to the retricted SEPA character set.
*/
AQBANKING_API
-int AB_Transaction_CheckForSepaConformity(const AB_TRANSACTION *t);
+int AB_Transaction_CheckForSepaConformity(const AB_TRANSACTION *t, int restricted);
AQBANKING_API
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/types/value.c new/aqbanking-5.4.0beta/src/libs/aqbanking/types/value.c
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/types/value.c 2013-08-30 22:25:05.000000000 +0200
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/types/value.c 2014-02-13 19:41:06.000000000 +0100
@@ -530,16 +530,50 @@
-long int AB_Value_Num(const AB_VALUE *v)
-{
+long int AB_Value_Num(const AB_VALUE *v) {
assert(v);
return mpz_get_si(mpq_numref(v->value));
}
-long int AB_Value_Denom(const AB_VALUE *v)
-{
+
+
+long int AB_Value_Denom(const AB_VALUE *v) {
assert(v);
return mpz_get_si(mpq_denref(v->value));
}
+
+void AB_Value_toHbciString(const AB_VALUE *v, GWEN_BUFFER *buf) {
+ GWEN_BUFFER *tbuf;
+ char *p;
+ int l;
+
+ tbuf=GWEN_Buffer_new(0, 32, 0, 1);
+ AB_Value_toHumanReadableString2(v, tbuf, 2, 0);
+
+ /* convert decimal komma */
+ p=GWEN_Buffer_GetStart(tbuf);
+ while(*p) {
+ if (*p=='.') {
+ *p=',';
+ break;
+ }
+ p++;
+ }
+
+ /* remove trailing zeroes */
+ p=GWEN_Buffer_GetStart(tbuf);
+ l=strlen(GWEN_Buffer_GetStart(tbuf));
+ if (l>0 && strchr(p, ',')!=NULL) {
+ l--;
+ while(l>0 && p[l]=='0') {
+ p[l]=0;
+ l--;
+ }
+ }
+
+ GWEN_Buffer_AppendString(buf, GWEN_Buffer_GetStart(tbuf));
+ GWEN_Buffer_free(tbuf);
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/libs/aqbanking/types/value.h new/aqbanking-5.4.0beta/src/libs/aqbanking/types/value.h
--- old/aqbanking-5.3.6beta/src/libs/aqbanking/types/value.h 2011-03-07 22:36:00.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/libs/aqbanking/types/value.h 2014-02-13 19:41:01.000000000 +0100
@@ -139,6 +139,10 @@
AQBANKING_API long int AB_Value_Denom(const AB_VALUE *v);
+/** Write value to HBCI string (e.g. "11,90" is written as "11,9") */
+AQBANKING_API void AB_Value_toHbciString(const AB_VALUE *v, GWEN_BUFFER *buf);
+
+
#ifdef __cplusplus
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepadebitdatedmulticreate.c new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepadebitdatedmulticreate.c
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepadebitdatedmulticreate.c 2014-01-22 19:49:46.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepadebitdatedmulticreate.c 2014-02-13 19:51:46.000000000 +0100
@@ -337,7 +337,7 @@
assert(dbV);
nbuf=GWEN_Buffer_new(0, 32, 0, 1);
- AH_Job_ValueToChallengeString(aj->sumValues, nbuf);
+ AB_Value_toHbciString(aj->sumValues, nbuf);
if (GWEN_Buffer_GetUsedBytes(nbuf)<1) {
DBG_ERROR(AQHBCI_LOGDOMAIN, "Error in conversion");
GWEN_Buffer_free(nbuf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepastandingordercreate.c new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepastandingordercreate.c
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepastandingordercreate.c 2014-01-19 18:02:16.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobsepastandingordercreate.c 2014-02-03 21:41:34.000000000 +0100
@@ -187,12 +187,19 @@
const AB_TRANSACTION *t=NULL;
AB_TRANSACTION *tCopy=NULL;
int rv;
+ AB_USER *u;
+ uint32_t uflags;
DBG_INFO(AQHBCI_LOGDOMAIN, "Exchanging args");
ab=AH_Job_GetBankingApi(j);
assert(ab);
+ u=AH_Job_GetUser(j);
+ assert(u);
+
+ uflags=AH_User_GetFlags(u);
+
/* get limits and transaction */
lim=AB_Job_GetFieldLimits(bj);
t=AB_Job_GetTransaction(bj);
@@ -206,7 +213,7 @@
AB_Transaction_FillLocalFromAccount(t, a); */
/* validate transaction */
- rv=AB_Transaction_CheckForSepaConformity(t);
+ rv=AB_Transaction_CheckForSepaConformity(t, (uflags & AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET)?1:0);
if (rv<0) {
DBG_INFO(AQHBCI_LOGDOMAIN, "here (%d)", rv);
return rv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobtransferbase.c new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobtransferbase.c
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobtransferbase.c 2014-01-18 14:23:27.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/accountjobs/jobtransferbase.c 2014-02-03 21:40:32.000000000 +0100
@@ -144,12 +144,19 @@
const AB_TRANSACTION *t=NULL;
AB_TRANSACTION *tCopy=NULL;
int rv;
+ AB_USER *u;
+ uint32_t uflags;
DBG_INFO(AQHBCI_LOGDOMAIN, "Exchanging args");
ab=AH_Job_GetBankingApi(j);
assert(ab);
+ u=AH_Job_GetUser(j);
+ assert(u);
+
+ uflags=AH_User_GetFlags(u);
+
/* get limits and transaction */
lim=AB_Job_GetFieldLimits(bj);
t=AB_Job_GetTransaction(bj);
@@ -163,7 +170,7 @@
AB_Transaction_FillLocalFromAccount(t, a); */
/* validate transaction */
- rv=AB_Transaction_CheckForSepaConformity(t);
+ rv=AB_Transaction_CheckForSepaConformity(t, (uflags & AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET)?1:0);
if (rv<0) {
DBG_INFO(AQHBCI_LOGDOMAIN, "here (%d)", rv);
return rv;
@@ -204,12 +211,19 @@
const AB_TRANSACTION *t=NULL;
AB_TRANSACTION *tCopy=NULL;
int rv;
+ AB_USER *u;
+ uint32_t uflags;
DBG_INFO(AQHBCI_LOGDOMAIN, "Exchanging args");
ab=AH_Job_GetBankingApi(j);
assert(ab);
+ u=AH_Job_GetUser(j);
+ assert(u);
+
+ uflags=AH_User_GetFlags(u);
+
/* get limits and transaction */
lim=AB_Job_GetFieldLimits(bj);
t=AB_Job_GetTransaction(bj);
@@ -223,7 +237,7 @@
AB_Transaction_FillLocalFromAccount(t, a); */
/* validate transaction */
- rv=AB_Transaction_CheckForSepaConformity(t);
+ rv=AB_Transaction_CheckForSepaConformity(t, (uflags & AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET)?1:0);
if (rv<0) {
DBG_INFO(AQHBCI_LOGDOMAIN, "here (%d)", rv);
return rv;
@@ -271,12 +285,19 @@
const AB_TRANSACTION *t=NULL;
AB_TRANSACTION *tCopy=NULL;
int rv;
+ AB_USER *u;
+ uint32_t uflags;
DBG_INFO(AQHBCI_LOGDOMAIN, "Exchanging args");
ab=AH_Job_GetBankingApi(j);
assert(ab);
+ u=AH_Job_GetUser(j);
+ assert(u);
+
+ uflags=AH_User_GetFlags(u);
+
/* get limits and transaction */
lim=AB_Job_GetFieldLimits(bj);
t=AB_Job_GetTransaction(bj);
@@ -290,7 +311,7 @@
AB_Transaction_FillLocalFromAccount(t, a); */
/* validate transaction */
- rv=AB_Transaction_CheckForSepaConformity(t);
+ rv=AB_Transaction_CheckForSepaConformity(t, (uflags & AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET)?1:0);
if (rv<0) {
DBG_INFO(AQHBCI_LOGDOMAIN, "here (%d)", rv);
return rv;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/banking/provider.c new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/banking/provider.c
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/banking/provider.c 2014-01-30 20:19:34.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/banking/provider.c 2014-02-04 22:18:14.000000000 +0100
@@ -554,7 +554,6 @@
break;
case AB_Job_TypeSepaDebitNote:
- /* try multi transfer first */
mj=AH_Outbox_FindDatedTransferJob(hp->outbox, mu, ma, "JobSepaDebitDatedMultiCreate",
t?(AB_Transaction_GetDate(t)):NULL);
break;
@@ -761,6 +760,96 @@
+int AH_Provider__AddAccountSepaInfoJobsToOutBox(AB_PROVIDER *pro, AH_OUTBOX *ob) {
+ AH_PROVIDER *hp;
+ AB_BANKING *ab;
+ AB_ACCOUNT_LIST2 *al;
+ AB_ACCOUNT_LIST2_ITERATOR *ait;
+ AB_JOB_LIST2_ITERATOR *jit;
+
+ assert(pro);
+ hp=GWEN_INHERIT_GETDATA(AB_PROVIDER, AH_PROVIDER, pro);
+ assert(hp);
+
+ ab=AB_Provider_GetBanking(pro);
+ assert(ab);
+
+ if (hp->bankingJobs==NULL) {
+ DBG_ERROR(AQHBCI_LOGDOMAIN, "No job list, SNH");
+ return GWEN_ERROR_INTERNAL;
+ }
+
+ /* get list of all accounts used */
+ al=AB_Account_List2_new();
+ jit=AB_Job_List2_First(hp->bankingJobs);
+ if (jit) {
+ AB_JOB *j;
+
+ j=AB_Job_List2Iterator_Data(jit);
+ while(j) {
+ AB_ACCOUNT *a;
+
+ a=AB_Job_GetAccount(j);
+ if (a) {
+ if (AB_Account_List2_GetAccountByUniqueId(al, AB_Account_GetUniqueId(a))==NULL)
+ AB_Account_List2_PushBack(al, a);
+ }
+ j=AB_Job_List2Iterator_Next(jit);
+ }
+ AB_Job_List2Iterator_free(jit);
+ }
+
+
+ /* add jobs */
+ ait=AB_Account_List2_First(al);
+ if (ait) {
+ AB_ACCOUNT *a;
+
+ a=AB_Account_List2Iterator_Data(ait);
+ assert(a);
+ while(a) {
+ const char *s;
+
+ s=AB_Account_GetIBAN(a);
+ if (!(s && *s)) {
+ AB_USER *u;
+
+ DBG_NOTICE(AQHBCI_LOGDOMAIN, "No IBAN for account, requesting SEPA info");
+ GWEN_Gui_ProgressLog2(0,
+ GWEN_LoggerLevel_Info,
+ I18N("No IBAN for account %llu, requesting SEPA info"),
+ (unsigned long long int) AB_Account_GetUniqueId(a));
+
+ u=AB_Account_GetFirstUser(a);
+ if (!u) {
+ DBG_ERROR(AQHBCI_LOGDOMAIN, "No user for this account");
+ }
+ else {
+ AH_JOB *job;
+
+ job=AH_Job_GetAccountSepaInfo_new(u, a);
+ if (job) {
+ AH_Job_AddSigner(job, AB_User_GetUserId(u));
+ AH_Outbox_AddJob(ob, job);
+ }
+ else {
+ DBG_WARN(AQHBCI_LOGDOMAIN, "Job not supported with this account");
+ }
+ }
+ }
+
+ a=AB_Account_List2Iterator_Next(ait);
+ }
+ AB_Account_List2Iterator_free(ait);
+ }
+
+ AB_Account_List2_free(al);
+
+ return 0;
+}
+
+
+
int AH_Provider_Execute(AB_PROVIDER *pro, AB_IMEXPORTER_CONTEXT *ctx){
AH_PROVIDER *hp;
int rv;
@@ -778,6 +867,11 @@
return 0;
}
+ rv=AH_Provider__AddAccountSepaInfoJobsToOutBox(pro, hp->outbox);
+ if (rv<0) {
+ DBG_WARN(AQHBCI_LOGDOMAIN, "Error adding accountSepaInfo jobs to outbox, ignoring.");
+ }
+
rv=AH_Outbox_Execute(hp->outbox, ctx, 0, 1, 1);
if (rv) {
DBG_ERROR(AQHBCI_LOGDOMAIN, "Error executing outbox.");
@@ -3712,8 +3806,10 @@
ski=GWEN_Crypt_Token_GetKeyInfo(ct, skeyId,
GWEN_CRYPT_TOKEN_KEYFLAGS_HASMODULUS,
0);
- if (ski==NULL) {
- GWEN_Gui_ProgressLog(0,
+ /* the fact that a key info exists does not mean that it contains key data (modulus and exp),
+ * so we need to check for key data explicitly */
+ if (!(ski && GWEN_Crypt_Token_KeyInfo_GetModulusData(ski) && GWEN_Crypt_Token_KeyInfo_GetModulusLen(ski))) {
+ GWEN_Gui_ProgressLog(0,
GWEN_LoggerLevel_Notice,
I18N("Server has no sign key, using encipher key"));
skeyId=GWEN_Crypt_Token_Context_GetEncipherKeyId(ctx);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/banking/provider_p.h new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/banking/provider_p.h
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/banking/provider_p.h 2014-01-12 17:56:04.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/banking/provider_p.h 2014-02-04 22:11:06.000000000 +0100
@@ -92,6 +92,9 @@
static int AH_Provider__GetMultiHbciJob(AB_PROVIDER *pro, AB_JOB *j, AH_JOB **pHbciJob);
static int AH_Provider__CreateHbciJob(AB_PROVIDER *pro, AB_JOB *j, AH_JOB **pHbciJob);
+
+static int AH_Provider__AddAccountSepaInfoJobsToOutBox(AB_PROVIDER *pro, AH_OUTBOX *ob);
+
/*@}*/
#endif /* AH_PROVIDER_P_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/joblayer/job.c new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/joblayer/job.c
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/joblayer/job.c 2014-01-14 21:21:50.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/joblayer/job.c 2014-02-13 19:50:01.000000000 +0100
@@ -2490,19 +2490,7 @@
void AH_Job_ValueToChallengeString(const AB_VALUE *v, GWEN_BUFFER *buf) {
- char *p;
- uint32_t pos;
-
- pos=GWEN_Buffer_GetPos(buf);
- AB_Value_toHumanReadableString2(v, buf, 2, 0);
- p=GWEN_Buffer_GetStart(buf)+pos;
- while(*p) {
- if (*p=='.') {
- *p=',';
- break;
- }
- p++;
- }
+ AB_Value_toHbciString(v, buf);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/msglayer/user.h new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/msglayer/user.h
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqhbci/plugin/msglayer/user.h 2013-11-27 01:04:12.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqhbci/plugin/msglayer/user.h 2014-02-03 21:37:56.000000000 +0100
@@ -73,6 +73,8 @@
#define AH_USER_FLAGS_TLS_ONLY_SAFE_CIPHERS 0x00000400
+#define AH_USER_FLAGS_USE_STRICT_SEPA_CHARSET 0x00000800
+
/*@}*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/plugins/backends/aqofxconnect/version.h new/aqbanking-5.4.0beta/src/plugins/backends/aqofxconnect/version.h
--- old/aqbanking-5.3.6beta/src/plugins/backends/aqofxconnect/version.h 2014-01-30 20:31:37.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/plugins/backends/aqofxconnect/version.h 2014-02-15 15:05:23.000000000 +0100
@@ -15,12 +15,12 @@
#define AQOFXCONNECT_VERSION_H
#define AQOFXCONNECT_VERSION_MAJOR 5
-#define AQOFXCONNECT_VERSION_MINOR 3
-#define AQOFXCONNECT_VERSION_PATCHLEVEL 6
+#define AQOFXCONNECT_VERSION_MINOR 4
+#define AQOFXCONNECT_VERSION_PATCHLEVEL 0
#define AQOFXCONNECT_VERSION_BUILD 0
#define AQOFXCONNECT_VERSION_TAG "beta"
-#define AQOFXCONNECT_VERSION_FULL_STRING "5.3.6.0beta"
-#define AQOFXCONNECT_VERSION_STRING "5.3.6"
+#define AQOFXCONNECT_VERSION_FULL_STRING "5.4.0.0beta"
+#define AQOFXCONNECT_VERSION_STRING "5.4.0"
Files old/aqbanking-5.3.6beta/src/plugins/bankinfo/generic/de.tar.bz2 and new/aqbanking-5.4.0beta/src/plugins/bankinfo/generic/de.tar.bz2 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/src/tools/aqbanking-cli/separecurtransfer.c new/aqbanking-5.4.0beta/src/tools/aqbanking-cli/separecurtransfer.c
--- old/aqbanking-5.3.6beta/src/tools/aqbanking-cli/separecurtransfer.c 2014-01-19 17:45:25.000000000 +0100
+++ new/aqbanking-5.4.0beta/src/tools/aqbanking-cli/separecurtransfer.c 2014-02-03 21:43:00.000000000 +0100
@@ -294,7 +294,7 @@
AB_Transaction_SetSubType(t, AB_Transaction_SubTypeStandingOrder);
- rv=AB_Transaction_CheckForSepaConformity(t);
+ rv=AB_Transaction_CheckForSepaConformity(t, 0); /* TODO: determine the flag to use here */
if (rv<0) {
DBG_ERROR(0, "Transaction does not conform to SEPA specs (%d)", rv);
AB_Banking_OnlineFini(ab);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/aqbanking-5.3.6beta/version.h new/aqbanking-5.4.0beta/version.h
--- old/aqbanking-5.3.6beta/version.h 2014-01-30 20:31:38.000000000 +0100
+++ new/aqbanking-5.4.0beta/version.h 2014-02-15 15:05:24.000000000 +0100
@@ -12,17 +12,17 @@
#define AQBANKING_VERSION_H
#define AQBANKING_VERSION_MAJOR 5
-#define AQBANKING_VERSION_MINOR 3
-#define AQBANKING_VERSION_PATCHLEVEL 6
+#define AQBANKING_VERSION_MINOR 4
+#define AQBANKING_VERSION_PATCHLEVEL 0
#define AQBANKING_VERSION_BUILD 0
#define AQBANKING_VERSION_TAG "beta"
-#define AQBANKING_VERSION_FULL_STRING "5.3.6.0beta"
-#define AQBANKING_VERSION_STRING "5.3.6"
+#define AQBANKING_VERSION_FULL_STRING "5.4.0.0beta"
+#define AQBANKING_VERSION_STRING "5.4.0"
-#define AQBANKING_SO_CURRENT 37
-#define AQBANKING_SO_REVISION 6
-#define AQBANKING_SO_AGE 3
+#define AQBANKING_SO_CURRENT 38
+#define AQBANKING_SO_REVISION 0
+#define AQBANKING_SO_AGE 4
#define AQBANKING_SO_EFFECTIVE 34
#endif /* AQBANKING_VERSION_H */
--
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 unifdef for openSUSE:Factory checked in at 2014-02-28 16:22:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/unifdef (Old)
and /work/SRC/openSUSE:Factory/.unifdef.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "unifdef"
Changes:
--------
--- /work/SRC/openSUSE:Factory/unifdef/unifdef.changes 2013-06-11 09:38:15.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.unifdef.new/unifdef.changes 2014-02-28 16:22:32.000000000 +0100
@@ -1,0 +2,7 @@
+Tue Feb 25 13:45:59 UTC 2014 - sweet_f_a(a)gmx.de
+
+- Update to 2.10:
+ * fix a bug in the -f option's support for #undef directives
+ * improve portability to Windows
+
+-------------------------------------------------------------------
Old:
----
unifdef-2.9.tar.xz
New:
----
unifdef-2.10.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ unifdef.spec ++++++
--- /var/tmp/diff_new_pack.SJUcDm/_old 2014-02-28 16:22:33.000000000 +0100
+++ /var/tmp/diff_new_pack.SJUcDm/_new 2014-02-28 16:22:33.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package unifdef
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
@@ -20,10 +20,11 @@
Summary: Removes ifdefs from C files
License: BSD-2-Clause
Group: Development/Libraries/C and C++
-Version: 2.9
+Version: 2.10
Release: 0
Url: http://dotat.at/prog/unifdef/
Source: http://dotat.at/prog/unifdef/unifdef-%{version}.tar.xz
+BuildRequires: xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
++++++ unifdef-2.9.tar.xz -> unifdef-2.10.tar.xz ++++++
++++ 7937 lines of diff (skipped)
--
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 perl-UNIVERSAL-require for openSUSE:Factory checked in at 2014-02-28 16:22:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-UNIVERSAL-require (Old)
and /work/SRC/openSUSE:Factory/.perl-UNIVERSAL-require.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-UNIVERSAL-require"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-UNIVERSAL-require/perl-UNIVERSAL-require.changes 2013-10-06 18:38:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-UNIVERSAL-require.new/perl-UNIVERSAL-require.changes 2014-02-28 16:22:27.000000000 +0100
@@ -1,0 +2,9 @@
+Mon Feb 24 06:10:40 UTC 2014 - coolo(a)suse.com
+
+- updated to 0.16
+ - All seems fine with previous dev release
+ - Added README
+ - Specified min version of perl 5.6.0
+ - Now "use warnings"
+
+-------------------------------------------------------------------
Old:
----
UNIVERSAL-require-0.15.tar.gz
New:
----
UNIVERSAL-require-0.16.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-UNIVERSAL-require.spec ++++++
--- /var/tmp/diff_new_pack.nn8iKV/_old 2014-02-28 16:22:29.000000000 +0100
+++ /var/tmp/diff_new_pack.nn8iKV/_new 2014-02-28 16:22:29.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-UNIVERSAL-require
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
@@ -17,7 +17,7 @@
Name: perl-UNIVERSAL-require
-Version: 0.15
+Version: 0.16
Release: 0
%define cpan_name UNIVERSAL-require
Summary: require() modules from a variable
@@ -29,7 +29,6 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-#BuildRequires: perl(UNIVERSAL::require)
%{perl_requires}
%description
@@ -64,6 +63,6 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes
+%doc Changes README
%changelog
++++++ UNIVERSAL-require-0.15.tar.gz -> UNIVERSAL-require-0.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/Changes new/UNIVERSAL-require-0.16/Changes
--- old/UNIVERSAL-require-0.15/Changes 2013-09-28 01:53:32.000000000 +0200
+++ new/UNIVERSAL-require-0.16/Changes 2014-02-04 00:55:34.000000000 +0100
@@ -1,7 +1,15 @@
Revision history for Perl module UNIVERSAL::require
+0.16 2014-02-03
+ - All seems fine with previous dev release
+
+0.15_01 2014-02-03
+ - Added README
+ - Specified min version of perl 5.6.0
+ - Now "use warnings"
+
0.15 2013-09-28
- - Hadn't specific meta-spec version 2, so github repo wasn't turning
+ - Hadn't specified meta-spec version 2, so github repo wasn't turning
up in the metadata.
0.14 2013-08-25
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/MANIFEST new/UNIVERSAL-require-0.16/MANIFEST
--- old/UNIVERSAL-require-0.15/MANIFEST 2013-09-28 01:54:00.000000000 +0200
+++ new/UNIVERSAL-require-0.16/MANIFEST 2014-02-04 00:56:13.000000000 +0100
@@ -2,6 +2,7 @@
lib/UNIVERSAL/require.pm
Makefile.PL
MANIFEST This list of files
+README
t/Dummy.pm
t/require.t
t/taint.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/META.json new/UNIVERSAL-require-0.16/META.json
--- old/UNIVERSAL-require-0.15/META.json 2013-09-28 01:54:00.000000000 +0200
+++ new/UNIVERSAL-require-0.16/META.json 2014-02-04 00:56:13.000000000 +0100
@@ -4,7 +4,7 @@
"Michael G Schwern <schwern(a)pobox.com>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.132140",
+ "generated_by" : "ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.133380",
"license" : [
"perl_5"
],
@@ -28,9 +28,15 @@
"ExtUtils::MakeMaker" : "0"
}
},
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
"runtime" : {
"requires" : {
- "Test::More" : "0.47"
+ "Test::More" : "0.47",
+ "perl" : "5.006"
}
}
},
@@ -45,5 +51,5 @@
"web" : "https://github.com/neilbowers/UNIVERSAL-require"
}
},
- "version" : "0.15"
+ "version" : "0.16"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/META.yml new/UNIVERSAL-require-0.16/META.yml
--- old/UNIVERSAL-require-0.15/META.yml 2013-09-28 01:53:59.000000000 +0200
+++ new/UNIVERSAL-require-0.16/META.yml 2014-02-04 00:56:13.000000000 +0100
@@ -4,8 +4,10 @@
- 'Michael G Schwern <schwern(a)pobox.com>'
build_requires:
ExtUtils::MakeMaker: 0
+configure_requires:
+ ExtUtils::MakeMaker: 0
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.74, CPAN::Meta::Converter version 2.132140'
+generated_by: 'ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.133380'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -19,7 +21,8 @@
- UNIVERSAL
requires:
Test::More: 0.47
+ perl: 5.006
resources:
license: http://dev.perl.org/licenses/
repository: git://github.com/neilbowers/UNIVERSAL-require.git
-version: 0.15
+version: 0.16
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/Makefile.PL new/UNIVERSAL-require-0.16/Makefile.PL
--- old/UNIVERSAL-require-0.15/Makefile.PL 2013-08-25 13:56:07.000000000 +0200
+++ new/UNIVERSAL-require-0.16/Makefile.PL 2014-02-03 13:23:57.000000000 +0100
@@ -25,6 +25,11 @@
($mm_ver >= 6.31 ? (LICENSE => 'perl') : ()),
+ ($mm_ver >= 6.48
+ ? (MIN_PERL_VERSION => 5.006)
+ : ()
+ ),
+
($mm_ver <= 6.45 ? () : (META_MERGE => {
'meta-spec' => { version => 2 },
resources => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/README new/UNIVERSAL-require-0.16/README
--- old/UNIVERSAL-require-0.15/README 1970-01-01 01:00:00.000000000 +0100
+++ new/UNIVERSAL-require-0.16/README 2014-02-03 13:20:48.000000000 +0100
@@ -0,0 +1,18 @@
+
+ README for Perl module UNIVERSAL::require
+
+This module lets you require other modules where the module
+name is in a variable, something you can't do with the 'require' built-in.
+
+You can read a nicely formatted version of the documentation for
+this module online:
+
+ https://metacpan.org/pod/UNIVERSAL::require
+
+You should be able to install this using your usual method for installing
+modules from CPAN. If you don't have a usual method yet, have a look at:
+
+ http://www.cpan.org/modules/INSTALL.html
+
+This module was written by Michael G Schwern.
+It is now being maintained by Neil Bowers <neilb(a)cpan.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/UNIVERSAL-require-0.15/lib/UNIVERSAL/require.pm new/UNIVERSAL-require-0.16/lib/UNIVERSAL/require.pm
--- old/UNIVERSAL-require-0.15/lib/UNIVERSAL/require.pm 2013-09-28 01:53:05.000000000 +0200
+++ new/UNIVERSAL-require-0.16/lib/UNIVERSAL/require.pm 2014-02-04 00:55:06.000000000 +0100
@@ -1,5 +1,5 @@
package UNIVERSAL::require;
-$UNIVERSAL::require::VERSION = '0.15';
+$UNIVERSAL::require::VERSION = '0.16';
# We do this because UNIVERSAL.pm uses CORE::require(). We're going
# to put our own require() into UNIVERSAL and that makes an ambiguity.
@@ -8,7 +8,9 @@
package UNIVERSAL;
+use 5.006;
use strict;
+use warnings;
use vars qw($Level);
$Level = 0;
--
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 inst-source-utils for openSUSE:Factory checked in at 2014-02-28 16:22:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inst-source-utils (Old)
and /work/SRC/openSUSE:Factory/.inst-source-utils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "inst-source-utils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/inst-source-utils/inst-source-utils.changes 2013-09-23 09:32:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.inst-source-utils.new/inst-source-utils.changes 2014-02-28 16:22:23.000000000 +0100
@@ -1,0 +2,11 @@
+Tue Feb 25 15:36:18 CET 2014 - ro(a)suse.de
+
+- fix typo in last change
+
+-------------------------------------------------------------------
+Wed Feb 19 17:51:38 CET 2014 - ro(a)suse.de
+
+- update create_package_descr: also recognize new rpm tags
+ for Suggests and Enhances (thanks to mls for the patch)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ inst-source-utils.spec ++++++
--- /var/tmp/diff_new_pack.9iXBpV/_old 2014-02-28 16:22:25.000000000 +0100
+++ /var/tmp/diff_new_pack.9iXBpV/_new 2014-02-28 16:22:25.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package inst-source-utils
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
++++++ inst-source-utils.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inst-source-utils/usr/bin/create_package_descr new/inst-source-utils/usr/bin/create_package_descr
--- old/inst-source-utils/usr/bin/create_package_descr 2013-09-20 11:57:18.000000000 +0200
+++ new/inst-source-utils/usr/bin/create_package_descr 2014-02-25 15:36:17.000000000 +0100
@@ -298,7 +298,10 @@
1156, 1157, 1158,
1159, 1160, 1161,
1027, 1116, 1117, 1118, 1030, 1028, 1095, 1096,
- 1014, 1016, 1006, 1009, 1044, 1004, 1005, 1011, 1124);
+ 1014, 1016, 1006, 1009, 1044, 1004, 1005, 1011, 1124,
+ 5046, 5047, 5048, 5049, 5050, 5051,
+ 5052, 5053, 5054, 5055, 5056, 5057,
+ );
# skip delta rpms (if PAYLOADFORMAT eq drpm)
next if ($res{1124}[0] && $res{1124}[0] eq "drpm");
@@ -308,8 +311,15 @@
RPMQ::rpmq_add_flagsvers(\%res, 1047, 1112, 1113); # provides
RPMQ::rpmq_add_flagsvers(\%res, 1090, 1114, 1115); # obsoletes
RPMQ::rpmq_add_flagsvers(\%res, 1054, 1053, 1055); # conflicts
- RPMQ::rpmq_add_flagsvers(\%res, 1156, 1158, 1157); # suggests
- RPMQ::rpmq_add_flagsvers(\%res, 1159, 1161, 1160); # enhances
+
+ RPMQ::rpmq_add_flagsvers(\%res, 1156, 1158, 1157) if $res{1156}; # oldsuggests
+ RPMQ::rpmq_add_flagsvers(\%res, 1159, 1161, 1160) if $res{1159}; # oldenhances
+
+ RPMQ::rpmq_add_flagsvers(\%res, 5046, 5048, 5047) if $res{5046}; # recommends
+ RPMQ::rpmq_add_flagsvers(\%res, 5049, 5051, 5050) if $res{5049}; # suggests
+ RPMQ::rpmq_add_flagsvers(\%res, 5052, 5054, 5053) if $res{5052}; # supplements
+ RPMQ::rpmq_add_flagsvers(\%res, 5055, 5057, 5056) if $res{5055}; # enhances
+
my $rpm_name = $res{1000}[0];
if ( $IGNORE_PACKAGE{$rpm_name} && $IGNORE_PACKAGE{$rpm_name} eq "yes" ) {
$ignored_packages .= " $rpm_name";
@@ -421,10 +431,14 @@
WriteMEntry( $pkg_main, "Prv", @{$res{1047}} );
WriteMEntry( $pkg_main, "Con", @{$res{1054}} );
WriteMEntry( $pkg_main, "Obs", @{$res{1090}} );
- WriteMEntry( $pkg_main, "Rec", filter_strong(\%res, 1156, 1158));
- WriteMEntry( $pkg_main, "Sug", filter_weak(\%res, 1156, 1158));
- WriteMEntry( $pkg_main, "Sup", filter_strong(\%res, 1159, 1161));
- WriteMEntry( $pkg_main, "Enh", filter_weak(\%res, 1159, 1161));
+ WriteMEntry( $pkg_main, "Rec", @{$res{5046}} ) if $res{5046};
+ WriteMEntry( $pkg_main, "Rec", filter_strong(\%res, 1156, 1158)) if !$res{5046} && $res{1156};
+ WriteMEntry( $pkg_main, "Sug", @{$res{5049}} ) if $res{5049};
+ WriteMEntry( $pkg_main, "Sug", filter_weak(\%res, 1156, 1158)) if !$res{5049} && $res{1156};
+ WriteMEntry( $pkg_main, "Sup", @{$res{5052}} ) if $res{5052};
+ WriteMEntry( $pkg_main, "Sup", filter_strong(\%res, 1159, 1161)) if !$res{5052} && $res{1159};
+ WriteMEntry( $pkg_main, "Enh", @{$res{5055}} ) if $res{5055};
+ WriteMEntry( $pkg_main, "Enh", filter_weak(\%res, 1159, 1161)) if !$res{5055} && $res{1159};
WriteSEntry( $pkg_main, "Grp", $res{1016}[0] );
WriteSEntry( $pkg_main, "Lic", $res{1014}[0] );
WriteSEntry( $pkg_main, "Vnd", $res{1011}[0] ) if $add_vendor;
--
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 rpm for openSUSE:Factory checked in at 2014-02-28 16:22:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpm (Old)
and /work/SRC/openSUSE:Factory/.rpm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpm"
Changes:
--------
rpm-python.changes: same change
--- /work/SRC/openSUSE:Factory/rpm/rpm.changes 2014-02-07 10:29:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rpm.new/rpm.changes 2014-02-28 16:22:19.000000000 +0100
@@ -1,0 +2,33 @@
+Tue Feb 25 15:19:48 CET 2014 - mls(a)suse.de
+
+- fix bug in weakdepscompa.diff patch
+
+-------------------------------------------------------------------
+Fri Feb 21 13:33:48 CET 2014 - mls(a)suse.de
+
+- make the 'douple separator' error a warning
+ new patch: checksepwarn.diff
+
+-------------------------------------------------------------------
+Thu Feb 20 16:24:24 CET 2014 - mls(a)suse.de
+
+- cherry-pick new weakdeps tags from upstream
+ new patch: newweakdeps.diff
+ dropped: weakdeps.diff
+- add weakdepscompat.diff to support querying the old tags
+
+-------------------------------------------------------------------
+Thu Feb 20 15:37:49 CET 2014 - mls(a)suse.de
+
+- drop outdated and non-free RPM-Tips tarball [bnc#849465]
+
+-------------------------------------------------------------------
+Thu Feb 20 14:17:58 CET 2014 - mls(a)suse.de
+
+- update to rpm-4.11.2
+ * dropped patches: appdata_provides.diff, application_provides.diff,
+ beedigest.diff, debug_gdb_scripts.diff, getauxval.diff,
+ ignore_poolstr_dummy_entries.diff, ppc64le.diff,
+ selfconflicts.diff, strpoolrehash.diff
+
+-------------------------------------------------------------------
Old:
----
RPM-Tips.html.tar.bz2
appdata_provides.diff
application_provides.diff
beedigest.diff
debug_gdb_scripts.diff
getauxval.diff
ignore_poolstr_dummy_entries.diff
ppc64le.diff
rpm-4.11.1.tar.bz2
selfconflicts.diff
strpoolrehash.diff
weakdeps.diff
New:
----
checksepwarn.diff
newweakdeps.diff
rpm-4.11.2.tar.bz2
weakdepscompat.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-rpm.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:20.000000000 +0100
@@ -17,7 +17,7 @@
Name: python3-rpm
-Version: 4.11.1
+Version: 4.11.2
Release: 0
Summary: Python Bindings for Manipulating RPM Packages
License: GPL-2.0+
@@ -60,8 +60,6 @@
find %{buildroot} -not -type d -and -not -path %{buildroot}%{_libdir}/python3*/site-packages/rpm/\* -print0 | xargs -0 rm
pushd %{buildroot}/%{_libdir}/python3*/site-packages/rpm
rm -f _rpm*.la _rpm*.a
-# python3 no longer looks at "XXXmodule.so"
-for i in _rpm*module.so ; do mv $i ${i%module.so}.so; done
python3 %{_libdir}/python3*/py_compile.py *.py
python3 -O %{_libdir}/python3*/py_compile.py *.py
popd
++++++ rpm-python.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:20.000000000 +0100
@@ -17,7 +17,7 @@
Name: rpm-python
-Version: 4.11.1
+Version: 4.11.2
Release: 0
#!BuildIgnore: rpmlint-Factory
Summary: Python Bindings for Manipulating RPM Packages
@@ -61,7 +61,7 @@
%make_install
find %{buildroot} -not -type d -and -not -path %{buildroot}%{_libdir}/python%{py_ver}/site-packages/rpm/\* -print0 | xargs -0 rm
pushd %{buildroot}/%py_sitedir/rpm
-rm -f _rpmmodule.a _rpmmodule.la
+rm -f _rpm*.a _rpm*.la
python %py_libdir/py_compile.py *.py
python -O %py_libdir/py_compile.py *.py
popd
++++++ rpm.spec ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:20.000000000 +0100
@@ -47,11 +47,10 @@
Summary: The RPM Package Manager
License: GPL-2.0+
Group: System/Packages
-Version: 4.11.1
+Version: 4.11.2
Release: 0
Source: http://rpm.org/releases/rpm-4.11.x/rpm-%{version}.tar.bz2
Source1: RPM-HOWTO.tar.bz2
-Source2: RPM-Tips.html.tar.bz2
Source4: rpm-suse_macros
Source5: rpmsort
Source6: symset-table
@@ -63,6 +62,7 @@
Patch1: beecrypt-4.1.2.diff
Patch2: db.diff
# quilt patches start here
+Patch10: newweakdeps.diff
Patch11: debugedit.diff
Patch13: ignore-auxv.diff
Patch12: localetag.diff
@@ -74,7 +74,6 @@
Patch19: rpmrctests.diff
Patch20: waitlock.diff
Patch21: suspendlock.diff
-Patch22: weakdeps.diff
Patch23: autodeps.diff
Patch24: brp.diff
Patch25: brpcompress.diff
@@ -132,20 +131,11 @@
Patch78: headerchk2.diff
Patch79: helperenv.diff
Patch80: psm-errno.diff
-Patch81: getauxval.diff
Patch82: noposttrans.diff
-Patch83: debug_gdb_scripts.diff
-Patch84: beedigest.diff
Patch85: brp-compress-no-img.patch
-Patch86: strpoolrehash.diff
-Patch87: ignore_poolstr_dummy_entries.diff
-Patch88: selfconflicts.diff
-Patch89: application_provides.diff
-Patch90: appdata_provides.diff
-#upstream commit cf07feda05822377d62b973adc4010c0d7f9eaa0
-#upstream commit ef1497b1f81966fed56f008bc8ee8ba42102efd6
-Patch91: ppc64le.diff
Patch92: find-lang-python.patch
+Patch93: weakdepscompat.diff
+Patch94: checksepwarn.diff
Patch6464: auto-config-update-aarch64-ppc64le.diff
Patch68000: m68k.patch
Patch68001: debugedit-m68k.patch
@@ -227,21 +217,22 @@
chmod -R u+w db/*
rm -f rpmdb/db.h
%patch -P 1 -P 2
-%patch -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
-%patch -P 20 -P 21 -P 22 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
+%patch -P 10 -P 11 -P 12 -P 13 -P 14 -P 15 -P 16 -P 17 -P 18 -P 19
+%patch -P 20 -P 21 -P 23 -P 24 -P 25 -P 26 -P 27 -P 28 -P 29
%patch -P 30 -P 31 -P 32 -P 33 -P 34 -P 35 -P 36 -P 37 -P 38 -P 39
%patch -P 41 -P 42 -P 43 -P 44 -P 45 -P 46 -P 47 -P 48 -P 49
%patch -P 50 -P 51 -P 52 -P 53 -P 54 -P 55 -P 56 -P 57 -P 58 -P 59
%patch -P 60 -P 61 -P 62 -P 63 -P 64 -P 65 -P 66 -P 67 -P 68 -P 69
%patch -P 70 -P 71 -P 72 -P 73 -P 74 -P 75 -P 76 -P 77 -P 78 -P 79
-%patch -P 80 -P 81 -P 82 -P 83 -P 84 -P 85 -P 86 -P 87 -P 88 -P 89
-%patch -P 90 -P 91 -P 92
+%patch -P 80 -P 82 -P 85
+%patch -P 92 -P 93 -P 94
%ifarch aarch64 ppc64le
%patch6464
%endif
%patch68000
%patch68001
+
cp config.guess config.sub db/dist/
cp config.guess config.sub beecrypt/
#chmod 755 scripts/find-supplements{,.ksyms}
@@ -249,7 +240,6 @@
#chmod 755 scripts/firmware.prov
#chmod 755 scripts/debuginfo.prov
tar -xjvf %{SOURCE1}
-tar -xjvf %{SOURCE2}
sed -e 's/@suse_version@/%{?suse_version}%{!?suse_version:0}/' \
-e 's/@sles_version@/%{?sles_version}%{!?sles_version:0}/' \
-e 's/@ul_version@/%{?ul_version}%{!?ul_version:0}/' \
@@ -390,7 +380,7 @@
%defattr(-,root,root)
%doc CHANGES.gz COPYING GROUPS
%doc doc/manual
-%doc RPM-HOWTO RPM-Tips
+%doc RPM-HOWTO
/etc/rpm
/bin/rpm
/usr/bin/*
++++++ checksepwarn.diff ++++++
--- ./build/parseReqs.c.orig 2014-02-21 12:25:51.259664860 +0000
+++ ./build/parseReqs.c 2014-02-21 12:28:07.545664619 +0000
@@ -178,8 +178,14 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
if (rpmCharCheck(spec, EVR, ve-v, ".-_+:%{}~")) goto exit;
/* While ':' and '-' are valid, only one of each is valid. */
- if (checkSep(EVR, '-', &emsg) || checkSep(EVR, ':', &emsg))
- goto exit;
+ if (checkSep(EVR, '-', &emsg) || checkSep(EVR, ':', &emsg)) {
+ if (tagflags & (RPMSENSE_FIND_REQUIRES|RPMSENSE_FIND_PROVIDES)) {
+ rpmlog(RPMLOG_WARNING, "%s: %s\n", emsg, r);
+ } else {
+ rpmlog(RPMLOG_WARNING, _("line %d: %s: %s\n"), spec->lineNum, emsg, spec->line);
+ }
+ emsg = _free(emsg);
+ }
re = ve; /* ==> next token after EVR string starts here */
} else
++++++ fileattrs.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:20.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:20.000000000 +0100
@@ -1,21 +1,20 @@
---- ./fileattrs/Makefile.am.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/Makefile.am 2012-06-01 13:39:16.000000000 +0000
-@@ -6,6 +6,7 @@ fattrsdir = $(rpmconfigdir)/fileattrs
-
+--- ./fileattrs/Makefile.am.orig 2014-02-20 12:54:01.473814793 +0000
++++ ./fileattrs/Makefile.am 2014-02-20 12:55:37.318814624 +0000
+@@ -7,6 +7,6 @@ fattrsdir = $(rpmconfigdir)/fileattrs
fattrs_DATA = \
- desktop.attr elf.attr font.attr libtool.attr perl.attr perllib.attr \
-- pkgconfig.attr python.attr ocaml.attr script.attr mono.attr
-+ pkgconfig.attr python.attr ocaml.attr script.attr mono.attr \
-+ debuginfo.attr elflib.attr firmware.attr ksyms.attr sysvinit.attr
+ appdata.attr desktop.attr elf.attr font.attr libtool.attr perl.attr \
+ perllib.attr pkgconfig.attr python.attr ocaml.attr script.attr \
+- mono.attr
++ mono.attr debuginfo.attr elflib.attr firmware.attr ksyms.attr sysvinit.attr
EXTRA_DIST = $(fattrs_DATA)
---- ./fileattrs/debuginfo.attr.orig 2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/debuginfo.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/debuginfo.attr.orig 2014-02-20 12:54:01.473814793 +0000
++++ ./fileattrs/debuginfo.attr 2014-02-20 12:54:01.473814793 +0000
@@ -0,0 +1,2 @@
+%__debuginfo_provides %{_rpmconfigdir}/debuginfo.prov
+%__debuginfo_path ^/usr/lib/debug/
---- ./fileattrs/elf.attr.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/elf.attr 2012-06-01 13:40:16.000000000 +0000
+--- ./fileattrs/elf.attr.orig 2012-11-07 12:55:24.000000000 +0000
++++ ./fileattrs/elf.attr 2014-02-20 12:54:01.474814793 +0000
@@ -1,4 +1,5 @@
%__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
%__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
@@ -23,43 +22,45 @@
+%__elf_magic ^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*executable
%__elf_flags exeonly
+%__elf_exclude_path ^/usr/lib/debug/
---- ./fileattrs/elflib.attr.orig 2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/elflib.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/elflib.attr.orig 2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/elflib.attr 2014-02-20 12:54:01.474814793 +0000
@@ -0,0 +1,4 @@
+%__elflib_provides %{_rpmconfigdir}/elfdeps --assume-exec --provides %{?__filter_GLIBC_PRIVATE:--filter-private}
+%__elflib_requires %{_rpmconfigdir}/elfdeps --assume-exec --requires %{?__filter_GLIBC_PRIVATE:--filter-private}
+%__elflib_magic ^(setuid )?(setgid )?(sticky )?ELF (32|64)-bit.*shared object
+%__elflib_exclude_path ^/usr/lib/debug/
---- ./fileattrs/firmware.attr.orig 2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/firmware.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/firmware.attr.orig 2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/firmware.attr 2014-02-20 12:54:01.474814793 +0000
@@ -0,0 +1,2 @@
+%__firmware_provides %{_rpmconfigdir}/firmware.prov
+%__firmware_path /lib/firmware/
---- ./fileattrs/ksyms.attr.orig 2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/ksyms.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/ksyms.attr.orig 2014-02-20 12:54:01.474814793 +0000
++++ ./fileattrs/ksyms.attr 2014-02-20 12:54:01.474814793 +0000
@@ -0,0 +1,4 @@
+%__ksyms_provides %{_rpmconfigdir}/find-provides.ksyms %name
+%__ksyms_requires %{_rpmconfigdir}/find-requires.ksyms %name
+%__ksyms_supplements %{_rpmconfigdir}/find-supplements.ksyms %name
+%__ksyms_path (/lib/modules/.*\.ko(\.gz)?)|(/boot/vmlinu[xz].*)$
---- ./fileattrs/perl.attr.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/perl.attr 2012-06-01 13:39:16.000000000 +0000
+--- ./fileattrs/perl.attr.orig 2012-11-07 12:55:24.000000000 +0000
++++ ./fileattrs/perl.attr 2014-02-20 12:54:01.474814793 +0000
@@ -1,3 +1,4 @@
-%__perl_requires %{_rpmconfigdir}/perl.req
+# disabled for now
+#%__perl_requires %{_rpmconfigdir}/perl.req
%__perl_magic ^.*[Pp]erl .*$
%__perl_flags exeonly
---- ./fileattrs/perllib.attr.orig 2012-03-20 08:07:25.000000000 +0000
-+++ ./fileattrs/perllib.attr 2012-06-01 13:39:16.000000000 +0000
-@@ -1,3 +1,4 @@
+--- ./fileattrs/perllib.attr.orig 2014-02-05 13:04:01.000000000 +0000
++++ ./fileattrs/perllib.attr 2014-02-20 12:54:01.475814793 +0000
+@@ -1,5 +1,6 @@
%__perllib_provides %{_rpmconfigdir}/perl.prov
-%__perllib_requires %{_rpmconfigdir}/perl.req
+#disabled for now
+#%__perllib_requires %{_rpmconfigdir}/perl.req
%__perllib_magic ^Perl[[:digit:]] module source.*
---- ./fileattrs/sysvinit.attr.orig 2012-06-01 13:39:16.000000000 +0000
-+++ ./fileattrs/sysvinit.attr 2012-06-01 13:39:16.000000000 +0000
+ %__perllib_path \\.pm$
+ %__perllib_flags magic_and_path
+--- ./fileattrs/sysvinit.attr.orig 2014-02-20 12:54:01.475814793 +0000
++++ ./fileattrs/sysvinit.attr 2014-02-20 12:54:01.475814793 +0000
@@ -0,0 +1,2 @@
+%__sysvinit_provides %{_rpmconfigdir}/sysvinitdeps.sh --provides
+%__sysvinit_path ^/etc/init\.d/
++++++ findsupplements.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:21.000000000 +0100
@@ -1,17 +1,15 @@
-Add support for supplements to the internal dependency generator.
-
---- ./build/rpmfc.c.orig 2013-07-12 12:18:29.000000000 +0000
-+++ ./build/rpmfc.c 2013-07-12 12:18:48.000000000 +0000
-@@ -58,6 +58,7 @@ struct rpmfc_s {
-
+--- ./build/rpmfc.c.orig 2014-02-20 12:56:59.836814478 +0000
++++ ./build/rpmfc.c 2014-02-20 12:58:18.886814338 +0000
+@@ -59,6 +59,7 @@ struct rpmfc_s {
+ rpmstrPool pool; /*!< general purpose string storage */
rpmds provides; /*!< (no. provides) package provides */
rpmds requires; /*!< (no. requires) package requires */
+ rpmds supplements; /*!< (no. supplements) package supplements */
};
struct rpmfcTokens_s {
-@@ -546,6 +547,22 @@ static int rpmfcHelperRequires(rpmfc fc,
- return 0;
+@@ -583,6 +584,22 @@ static int rpmfcHelperRequires(rpmfc fc,
+ RPMSENSE_FIND_REQUIRES, RPMTAG_REQUIRENAME);
}
+/**
@@ -25,7 +23,7 @@
+ if (fc->skipReq)
+ return 0;
+
-+ rpmfcHelper(fc, nsdep, "supplements", &fc->supplements, RPMSENSE_FIND_REQUIRES|RPMSENSE_STRONG|RPMSENSE_MISSINGOK, RPMTAG_ENHANCESNAME);
++ rpmfcHelper(fc, nsdep, "supplements", &fc->supplements, RPMSENSE_FIND_REQUIRES, RPMTAG_SUPPLEMENTNAME);
+
+ return 0;
+}
@@ -33,15 +31,16 @@
/* Only used for elf coloring and controlling RPMTAG_FILECLASS inclusion now */
static const struct rpmfcTokens_s rpmfcTokens[] = {
{ "directory", RPMFC_INCLUDE },
-@@ -763,6 +780,7 @@ rpmfc rpmfcFree(rpmfc fc)
+@@ -800,6 +817,8 @@ rpmfc rpmfcFree(rpmfc fc)
rpmdsFree(fc->provides);
rpmdsFree(fc->requires);
+ rpmdsFree(fc->supplements);
++
+ rpmstrPoolFree(fc->pool);
memset(fc, 0, sizeof(*fc)); /* trash and burn */
free(fc);
- }
-@@ -794,6 +812,11 @@ rpmds rpmfcRequires(rpmfc fc)
+@@ -833,6 +852,11 @@ rpmds rpmfcRequires(rpmfc fc)
return (fc != NULL ? fc->requires : NULL);
}
@@ -53,7 +52,7 @@
rpmRC rpmfcApply(rpmfc fc)
{
const char * s;
-@@ -814,6 +837,7 @@ rpmRC rpmfcApply(rpmfc fc)
+@@ -853,6 +877,7 @@ rpmRC rpmfcApply(rpmfc fc)
for (ARGV_t fattr = fc->fattrs[fc->ix]; fattr && *fattr; fattr++) {
rpmfcHelperProvides(fc, *fattr);
rpmfcHelperRequires(fc, *fattr);
@@ -61,19 +60,19 @@
}
}
/* No more additions after this, freeze pool to minimize memory use */
-@@ -858,6 +882,11 @@ rpmRC rpmfcApply(rpmfc fc)
+@@ -897,6 +922,11 @@ rpmRC rpmfcApply(rpmfc fc)
dix = rpmdsFind(fc->requires, ds);
rpmdsFree(ds);
break;
+ case 'S':
-+ ds = rpmdsSingle(RPMTAG_ENHANCESNAME, N, EVR, Flags);
++ ds = rpmdsSingle(RPMTAG_SUPPLEMENTNAME, N, EVR, Flags);
+ dix = rpmdsFind(fc->supplements, ds);
+ ds = rpmdsFree(ds);
+ break;
}
if (dix < 0)
-@@ -1341,6 +1370,18 @@ rpmRC rpmfcGenerateDepends(const rpmSpec
+@@ -1380,6 +1410,18 @@ rpmRC rpmfcGenerateDepends(const rpmSpec
}
}
@@ -83,17 +82,17 @@
+ while (rpmdsNext(pi) >= 0) {
+ rpmsenseFlags flags = rpmdsFlags(pi);
+
-+ headerPutString(pkg->header, RPMTAG_ENHANCESNAME, rpmdsN(pi));
-+ headerPutString(pkg->header, RPMTAG_ENHANCESVERSION, rpmdsEVR(pi));
-+ headerPutUint32(pkg->header, RPMTAG_ENHANCESFLAGS, &flags, 1);
++ headerPutString(pkg->header, RPMTAG_SUPPLEMENTNAME, rpmdsN(pi));
++ headerPutString(pkg->header, RPMTAG_SUPPLEMENTVERSION, rpmdsEVR(pi));
++ headerPutUint32(pkg->header, RPMTAG_SUPPLEMENTFLAGS, &flags, 1);
+ }
+ }
+
/* Add dependency dictionary(#dependencies) */
if (rpmtdFromArgi(&td, RPMTAG_DEPENDSDICT, fc->ddictx)) {
headerPut(pkg->header, &td, HEADERPUT_DEFAULT);
---- ./build/rpmfc.h.orig 2012-11-18 08:21:06.000000000 +0000
-+++ ./build/rpmfc.h 2013-07-12 12:18:48.000000000 +0000
+--- ./build/rpmfc.h.orig 2012-11-07 12:55:24.000000000 +0000
++++ ./build/rpmfc.h 2014-02-20 12:57:04.466814469 +0000
@@ -106,6 +106,13 @@ rpmds rpmfcProvides(rpmfc fc);
*/
rpmds rpmfcRequires(rpmfc fc);
++++++ ignore-auxv.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:21.000000000 +0100
@@ -1,6 +1,6 @@
---- lib/rpmrc.c
-+++ lib/rpmrc.c
-@@ -79,10 +79,12 @@
+--- ./lib/rpmrc.c.orig 2014-02-05 13:04:02.000000000 +0000
++++ ./lib/rpmrc.c 2014-02-20 12:37:28.209816551 +0000
+@@ -83,10 +83,12 @@ struct rpmOption {
int localize;
};
@@ -13,21 +13,21 @@
typedef struct defaultEntry_s {
char * name;
-@@ -907,7 +909,7 @@
+@@ -914,7 +916,7 @@ static int is_geode(void)
#endif
-#if defined(__linux__)
+#if defined(__linux__) && defined(__powerpc__)
/**
- * Populate rpmat structure with parsed info from /proc/self/auxv
+ * Populate rpmat structure with auxv values
*/
-@@ -957,7 +959,7 @@
+@@ -971,7 +973,7 @@ static void defaultMachine(const char **
canonEntry canon;
int rc;
-#if defined(__linux__)
+#if defined(__linux__) && defined(__powerpc__)
/* Populate rpmat struct with hw info */
- parse_auxv();
+ read_auxv();
#endif
++++++ initscriptsprov.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:21.000000000 +0100
@@ -1,7 +1,5 @@
-Index: autodeps/linux.prov
-===================================================================
---- autodeps/linux.prov.orig 2011-12-09 15:13:23.686700264 +0100
-+++ autodeps/linux.prov 2011-12-09 15:13:23.733698039 +0100
+--- ./autodeps/linux.prov.orig 2014-02-20 12:52:34.012814948 +0000
++++ ./autodeps/linux.prov 2014-02-20 12:52:40.088814937 +0000
@@ -101,4 +101,9 @@ fi
[ -x /usr/lib/rpm/gstreamer-provides ] &&
printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/gstreamer-provides | sort -u
@@ -12,13 +10,11 @@
+ printf "%s\n" "${filelist[@]}" | /usr/lib/rpm/sysvinitdeps.sh -P | sort -u
+
exit 0
-Index: scripts/Makefile.am
-===================================================================
---- scripts/Makefile.am.orig 2011-12-09 15:13:22.917736665 +0100
-+++ scripts/Makefile.am 2011-12-09 15:13:23.733698039 +0100
+--- ./scripts/Makefile.am.orig 2014-02-20 12:52:33.971814948 +0000
++++ ./scripts/Makefile.am 2014-02-20 12:52:40.089814937 +0000
@@ -21,6 +21,7 @@ EXTRA_DIST = \
ocaml-find-requires.sh ocaml-find-provides.sh \
- pkgconfigdeps.sh libtooldeps.sh \
+ pkgconfigdeps.sh libtooldeps.sh appdata.prov \
fontconfig.prov desktop-file.prov script.req \
+ sysvinitdeps.sh \
macros.perl macros.php macros.python
@@ -32,10 +28,8 @@
rpmdb_loadcvt rpm2cpio.sh tcl.req tgpg
rpmconfig_DATA = \
-Index: scripts/sysvinitdeps.sh
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ scripts/sysvinitdeps.sh 2011-12-09 15:13:23.733698039 +0100
+--- ./scripts/sysvinitdeps.sh.orig 2014-02-20 12:52:40.089814937 +0000
++++ ./scripts/sysvinitdeps.sh 2014-02-20 12:52:40.089814937 +0000
@@ -0,0 +1,17 @@
+#!/bin/sh
+
++++++ newweakdeps.diff ++++++
--- ./build/files.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/files.c 2014-02-20 14:47:48.107802710 +0000
@@ -1642,6 +1642,7 @@ static rpmRC readFilesManifest(rpmSpec s
char *fn, buf[BUFSIZ];
FILE *fd = NULL;
rpmRC rc = RPMRC_FAIL;
+ unsigned int nlines = 0;
if (*path == '/') {
fn = rpmGetPath(path, NULL);
@@ -1657,14 +1658,19 @@ static rpmRC readFilesManifest(rpmSpec s
}
while (fgets(buf, sizeof(buf), fd)) {
- handleComments(buf);
+ if (handleComments(buf))
+ continue;
if (expandMacros(spec, spec->macros, buf, sizeof(buf))) {
rpmlog(RPMLOG_ERR, _("line: %s\n"), buf);
goto exit;
}
argvAdd(&(pkg->fileList), buf);
+ nlines++;
}
+ if (nlines == 0)
+ rpmlog(RPMLOG_WARNING, _("Empty %%files file %s\n"), fn);
+
if (ferror(fd))
rpmlog(RPMLOG_ERR, _("Error reading %%files file %s: %m\n"), fn);
else
--- ./build/pack.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/pack.c 2014-02-20 14:47:48.107802710 +0000
@@ -228,8 +228,10 @@ static rpmTagVal depevrtags[] = {
RPMTAG_CONFLICTVERSION,
RPMTAG_ORDERVERSION,
RPMTAG_TRIGGERVERSION,
- RPMTAG_SUGGESTSVERSION,
- RPMTAG_ENHANCESVERSION,
+ RPMTAG_SUGGESTVERSION,
+ RPMTAG_ENHANCEVERSION,
+ RPMTAG_RECOMMENDVERSION,
+ RPMTAG_SUPPLEMENTVERSION,
0
};
--- ./build/parsePreamble.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/parsePreamble.c 2014-02-20 14:47:48.108802710 +0000
@@ -785,6 +785,10 @@ static rpmRC handlePreambleTag(rpmSpec s
}
/* fallthrough */
case RPMTAG_PREREQ:
+ case RPMTAG_RECOMMENDFLAGS:
+ case RPMTAG_SUGGESTFLAGS:
+ case RPMTAG_SUPPLEMENTFLAGS:
+ case RPMTAG_ENHANCEFLAGS:
case RPMTAG_CONFLICTFLAGS:
case RPMTAG_OBSOLETEFLAGS:
case RPMTAG_PROVIDEFLAGS:
@@ -886,6 +890,10 @@ static struct PreambleRec_s const preamb
{RPMTAG_ICON, 0, 0, LEN_AND_STR("icon")},
{RPMTAG_PROVIDEFLAGS, 0, 0, LEN_AND_STR("provides")},
{RPMTAG_REQUIREFLAGS, 2, 0, LEN_AND_STR("requires")},
+ {RPMTAG_RECOMMENDFLAGS, 0, 0, LEN_AND_STR("recommends")},
+ {RPMTAG_SUGGESTFLAGS, 0, 0, LEN_AND_STR("suggests")},
+ {RPMTAG_SUPPLEMENTFLAGS, 0, 0, LEN_AND_STR("supplements")},
+ {RPMTAG_ENHANCEFLAGS, 0, 0, LEN_AND_STR("enhances")},
{RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")},
{RPMTAG_CONFLICTFLAGS, 0, 0, LEN_AND_STR("conflicts")},
{RPMTAG_OBSOLETEFLAGS, 0, 0, LEN_AND_STR("obsoletes")},
--- ./build/parseReqs.c.orig 2014-02-05 13:06:21.000000000 +0000
+++ ./build/parseReqs.c 2014-02-20 14:47:48.108802710 +0000
@@ -61,6 +61,18 @@ rpmRC parseRCPOT(rpmSpec spec, Package p
nametag = RPMTAG_REQUIRENAME;
tagflags |= RPMSENSE_ANY;
break;
+ case RPMTAG_RECOMMENDFLAGS:
+ nametag = RPMTAG_RECOMMENDNAME;
+ break;
+ case RPMTAG_SUGGESTFLAGS:
+ nametag = RPMTAG_SUGGESTNAME;
+ break;
+ case RPMTAG_SUPPLEMENTFLAGS:
+ nametag = RPMTAG_SUPPLEMENTNAME;
+ break;
+ case RPMTAG_ENHANCEFLAGS:
+ nametag = RPMTAG_ENHANCENAME;
+ break;
case RPMTAG_PROVIDEFLAGS:
nametag = RPMTAG_PROVIDENAME;
break;
--- ./build/parseSpec.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/parseSpec.c 2014-02-20 14:47:48.108802710 +0000
@@ -102,11 +102,14 @@ static int matchTok(const char *token, c
return rc;
}
-void handleComments(char *s)
+int handleComments(char *s)
{
SKIPSPACE(s);
- if (*s == '#')
+ if (*s == '#') {
*s = '\0';
+ return 1;
+ }
+ return 0;
}
/* Push a file to spec's file stack, return the newly pushed entry */
--- ./build/reqprov.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/reqprov.c 2014-02-20 14:47:48.108802710 +0000
@@ -81,6 +81,30 @@ int addReqProv(Package pkg, rpmTagVal ta
extra = Flags & RPMSENSE_TRIGGER;
dsp = &pkg->triggers;
break;
+ case RPMTAG_RECOMMENDNAME:
+ versiontag = RPMTAG_RECOMMENDVERSION;
+ flagtag = RPMTAG_RECOMMENDFLAGS;
+ extra = Flags & _ALL_REQUIRES_MASK;
+ dsp = &pkg->recommends;
+ break;
+ case RPMTAG_SUGGESTNAME:
+ versiontag = RPMTAG_SUGGESTVERSION;
+ flagtag = RPMTAG_SUGGESTFLAGS;
+ extra = Flags & _ALL_REQUIRES_MASK;
+ dsp = &pkg->suggests;
+ break;
+ case RPMTAG_SUPPLEMENTNAME:
+ versiontag = RPMTAG_SUPPLEMENTVERSION;
+ flagtag = RPMTAG_SUPPLEMENTFLAGS;
+ extra = Flags & _ALL_REQUIRES_MASK;
+ dsp = &pkg->supplements;
+ break;
+ case RPMTAG_ENHANCENAME:
+ versiontag = RPMTAG_ENHANCEVERSION;
+ flagtag = RPMTAG_ENHANCEFLAGS;
+ extra = Flags & _ALL_REQUIRES_MASK;
+ dsp = &pkg->enhances;
+ break;
case RPMTAG_REQUIRENAME:
default:
tagN = RPMTAG_REQUIRENAME;
--- ./build/rpmbuild_internal.h.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/rpmbuild_internal.h 2014-02-20 14:47:48.109802710 +0000
@@ -93,6 +93,10 @@ struct Package_s {
rpmds ds; /*!< Requires: N = EVR */
rpmds requires;
rpmds provides;
+ rpmds recommends;
+ rpmds suggests;
+ rpmds supplements;
+ rpmds enhances;
rpmds conflicts;
rpmds obsoletes;
rpmds triggers;
--- ./build/rpmbuild_misc.h.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/rpmbuild_misc.h 2014-02-20 14:47:48.109802710 +0000
@@ -12,9 +12,10 @@ extern "C" {
/** \ingroup rpmbuild
* Truncate comment lines.
* @param s skip white space, truncate line at '#'
+ * @return 1 on comment lines, 0 otherwise
*/
RPM_GNUC_INTERNAL
-void handleComments(char * s);
+int handleComments(char * s);
/** \ingroup rpmstring
*/
--- ./build/spec.c.orig 2014-02-05 13:04:01.000000000 +0000
+++ ./build/spec.c 2014-02-20 14:47:48.109802710 +0000
@@ -137,6 +137,11 @@ static Package freePackage(Package pkg)
pkg->ds = rpmdsFree(pkg->ds);
pkg->requires = rpmdsFree(pkg->requires);
pkg->provides = rpmdsFree(pkg->provides);
+ pkg->recommends = rpmdsFree(pkg->recommends);
+ pkg->suggests = rpmdsFree(pkg->suggests);
+ pkg->supplements = rpmdsFree(pkg->supplements);
+ pkg->enhances = rpmdsFree(pkg->enhances);
+
pkg->conflicts = rpmdsFree(pkg->conflicts);
pkg->obsoletes = rpmdsFree(pkg->obsoletes);
pkg->triggers = rpmdsFree(pkg->triggers);
--- ./lib/rpmds.c.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./lib/rpmds.c 2014-02-20 14:47:48.110802710 +0000
@@ -54,6 +54,22 @@ static int dsType(rpmTagVal tag,
t = "Requires";
evr = RPMTAG_REQUIREVERSION;
f = RPMTAG_REQUIREFLAGS;
+ } else if (tag == RPMTAG_SUPPLEMENTNAME) {
+ t = "Supplements";
+ evr = RPMTAG_SUPPLEMENTVERSION;
+ f = RPMTAG_SUPPLEMENTFLAGS;
+ } else if (tag == RPMTAG_ENHANCENAME) {
+ t = "Enhances";
+ evr = RPMTAG_ENHANCEVERSION;
+ f = RPMTAG_ENHANCEFLAGS;
+ } else if (tag == RPMTAG_RECOMMENDNAME) {
+ t = "Recommends";
+ evr = RPMTAG_RECOMMENDVERSION;
+ f = RPMTAG_RECOMMENDFLAGS;
+ } else if (tag == RPMTAG_SUGGESTNAME) {
+ t = "Suggests";
+ evr = RPMTAG_SUGGESTVERSION;
+ f = RPMTAG_SUGGESTFLAGS;
} else if (tag == RPMTAG_CONFLICTNAME) {
t = "Conflicts";
evr = RPMTAG_CONFLICTVERSION;
--- ./lib/rpmtag.h.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./lib/rpmtag.h 2014-02-20 14:47:48.110802710 +0000
@@ -217,14 +217,14 @@ typedef enum rpmTag_e {
RPMTAG_PRETRANSPROG = 1153, /* s[] */
RPMTAG_POSTTRANSPROG = 1154, /* s[] */
RPMTAG_DISTTAG = 1155, /* s */
- RPMTAG_SUGGESTSNAME = 1156, /* s[] extension (unimplemented) */
-#define RPMTAG_SUGGESTS RPMTAG_SUGGESTSNAME /* s[] (unimplemented) */
- RPMTAG_SUGGESTSVERSION = 1157, /* s[] extension (unimplemented) */
- RPMTAG_SUGGESTSFLAGS = 1158, /* i[] extension (unimplemented) */
- RPMTAG_ENHANCESNAME = 1159, /* s[] extension placeholder (unimplemented) */
-#define RPMTAG_ENHANCES RPMTAG_ENHANCESNAME /* s[] (unimplemented) */
- RPMTAG_ENHANCESVERSION = 1160, /* s[] extension placeholder (unimplemented) */
- RPMTAG_ENHANCESFLAGS = 1161, /* i[] extension placeholder (unimplemented) */
+ RPMTAG_OLDSUGGESTSNAME = 1156, /* s[] (unimplemented) */
+#define RPMTAG_OLDSUGGESTS RPMTAG_OLDSUGGESTSNAME /* s[] (unimplemented) */
+ RPMTAG_OLDSUGGESTSVERSION = 1157, /* s[] (unimplemented) */
+ RPMTAG_OLDSUGGESTSFLAGS = 1158, /* i[] (unimplemented) */
+ RPMTAG_OLDENHANCESNAME = 1159, /* s[] (unimplemented) */
+#define RPMTAG_OLDENHANCES RPMTAG_OLDENHANCESNAME /* s[] (unimplemented) */
+ RPMTAG_OLDENHANCESVERSION = 1160, /* s[] (unimplemented) */
+ RPMTAG_OLDENHANCESFLAGS = 1161, /* i[] (unimplemented) */
RPMTAG_PRIORITY = 1162, /* i[] extension placeholder (unimplemented) */
RPMTAG_CVSID = 1163, /* s (unimplemented) */
#define RPMTAG_SVNID RPMTAG_CVSID /* s (unimplemented) */
@@ -261,6 +261,7 @@ typedef enum rpmTag_e {
RPMTAG_BUILDOBSOLETES = 1194, /* internal (unimplemented) */
RPMTAG_DBINSTANCE = 1195, /* i extension */
RPMTAG_NVRA = 1196, /* s extension */
+
/* tags 1997-4999 reserved */
RPMTAG_FILENAMES = 5000, /* s[] extension */
RPMTAG_FILEPROVIDE = 5001, /* s[] extension */
@@ -307,6 +308,26 @@ typedef enum rpmTag_e {
RPMTAG_OBSOLETENEVRS = 5043, /* s[] extension */
RPMTAG_CONFLICTNEVRS = 5044, /* s[] extension */
RPMTAG_FILENLINKS = 5045, /* i[] extension */
+ RPMTAG_RECOMMENDNAME = 5046, /* s[] */
+#define RPMTAG_RECOMMENDS RPMTAG_RECOMMENDNAME /* s[] */
+ RPMTAG_RECOMMENDVERSION = 5047, /* s[] */
+ RPMTAG_RECOMMENDFLAGS = 5048, /* i[] */
+ RPMTAG_SUGGESTNAME = 5049, /* s[] */
+#define RPMTAG_SUGGESTS RPMTAG_SUGGESTNAME /* s[] */
+ RPMTAG_SUGGESTVERSION = 5050, /* s[] extension */
+ RPMTAG_SUGGESTFLAGS = 5051, /* i[] extension */
+ RPMTAG_SUPPLEMENTNAME = 5052, /* s[] */
+#define RPMTAG_SUPPLEMENTS RPMTAG_SUPPLEMENTNAME /* s[] */
+ RPMTAG_SUPPLEMENTVERSION = 5053, /* s[] */
+ RPMTAG_SUPPLEMENTFLAGS = 5054, /* i[] */
+ RPMTAG_ENHANCENAME = 5055, /* s[] */
+#define RPMTAG_ENHANCES RPMTAG_ENHANCENAME /* s[] */
+ RPMTAG_ENHANCEVERSION = 5056, /* s[] */
+ RPMTAG_ENHANCEFLAGS = 5057, /* i[] */
+ RPMTAG_RECOMMENDNEVRS = 5058, /* s[] extension */
+ RPMTAG_SUGGESTNEVRS = 5059, /* s[] extension */
+ RPMTAG_SUPPLEMENTNEVRS = 5060, /* s[] extension */
+ RPMTAG_ENHANCENEVRS = 5061, /* s[] extension */
RPMTAG_FIRSTFREE_TAG /*!< internal */
} rpmTag;
--- ./lib/tagexts.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./lib/tagexts.c 2014-02-20 14:47:48.110802710 +0000
@@ -761,6 +761,26 @@ static int requirenevrsTag(Header h, rpm
return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
}
+static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+ return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
+}
+
+static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
+}
+
+static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
+}
+
+static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
+{
+ return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
+}
+
static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
return depnevrsTag(h, td, hgflags, RPMTAG_PROVIDENAME);
@@ -823,6 +843,10 @@ static const struct headerTagFunc_s rpmH
{ RPMTAG_EPOCHNUM, epochnumTag },
{ RPMTAG_INSTFILENAMES, instfilenamesTag },
{ RPMTAG_REQUIRENEVRS, requirenevrsTag },
+ { RPMTAG_RECOMMENDNEVRS, recommendnevrsTag},
+ { RPMTAG_SUGGESTNEVRS, suggestnevrsTag},
+ { RPMTAG_SUPPLEMENTNEVRS, supplementnevrsTag},
+ { RPMTAG_ENHANCENEVRS, enhancenevrsTag},
{ RPMTAG_PROVIDENEVRS, providenevrsTag },
{ RPMTAG_OBSOLETENEVRS, obsoletenevrsTag },
{ RPMTAG_CONFLICTNEVRS, conflictnevrsTag },
--- ./python/Makefile.am.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./python/Makefile.am 2014-02-20 14:47:48.110802710 +0000
@@ -6,16 +6,16 @@ AM_CPPFLAGS = -I$(top_builddir)/include/
AM_CPPFLAGS += -I$(top_srcdir)/python
AM_CPPFLAGS += -I@WITH_PYTHON_INCLUDE@
-pkgpyexec_LTLIBRARIES = _rpmmodule.la _rpmbmodule.la _rpmsmodule.la
+pkgpyexec_LTLIBRARIES = _rpm.la _rpmb.la _rpms.la
pkgpyexec_DATA = rpm/__init__.py rpm/transaction.py
-_rpmmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmmodule_la_LIBADD = \
+_rpm_la_LDFLAGS = -module -avoid-version -shared
+_rpm_la_LIBADD = \
$(top_builddir)/lib/librpm.la \
$(top_builddir)/rpmio/librpmio.la \
@WITH_PYTHON_LIB@
-_rpmmodule_la_SOURCES = rpmmodule.c rpmsystem-py.h \
+_rpm_la_SOURCES = rpmmodule.c rpmsystem-py.h \
header-py.c header-py.h \
rpmds-py.c rpmds-py.h \
rpmfd-py.c rpmfd-py.h \
@@ -30,22 +30,22 @@ _rpmmodule_la_SOURCES = rpmmodule.c rpms
rpmte-py.c rpmte-py.h \
rpmts-py.c rpmts-py.h
-_rpmbmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmbmodule_la_LIBADD = \
+_rpmb_la_LDFLAGS = -module -avoid-version -shared
+_rpmb_la_LIBADD = \
$(top_builddir)/build/librpmbuild.la \
$(top_builddir)/lib/librpm.la \
$(top_builddir)/rpmio/librpmio.la \
@WITH_PYTHON_LIB@
-_rpmbmodule_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
+_rpmb_la_SOURCES = rpmbmodule.c rpmsystem-py.h \
spec-py.c spec-py.h
-_rpmsmodule_la_LDFLAGS = -module -avoid-version -shared
-_rpmsmodule_la_LIBADD = \
+_rpms_la_LDFLAGS = -module -avoid-version -shared
+_rpms_la_LIBADD = \
$(top_builddir)/sign/librpmsign.la \
$(top_builddir)/lib/librpm.la \
$(top_builddir)/rpmio/librpmio.la \
@WITH_PYTHON_LIB@
-_rpmsmodule_la_SOURCES = rpmsmodule.c rpmsystem-py.h
+_rpms_la_SOURCES = rpmsmodule.c rpmsystem-py.h
--- ./python/rpmbmodule.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmbmodule.c 2014-02-20 14:47:48.110802710 +0000
@@ -66,8 +66,8 @@ static struct PyModuleDef moduledef = {
NULL /* m_free */
};
-PyObject * PyInit__rpm(void); /* XXX eliminate gcc warning */
-PyObject * PyInit__rpm(void)
+PyObject * PyInit__rpmb(void); /* XXX eliminate gcc warning */
+PyObject * PyInit__rpmb(void)
{
PyObject *m;
--- ./python/rpmii-py.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmii-py.c 2014-02-20 14:47:48.110802710 +0000
@@ -88,7 +88,9 @@ static PyNumberMethods rpmii_as_number =
0, /* nb_add */
0, /* nb_subtract */
0, /* nb_multiply */
+#if PY_MAJOR_VERSION < 3
0, /* nb_divide */
+#endif
0, /* nb_remainder */
0, /* nb_divmod */
0, /* nb_power */
--- ./python/rpmmi-py.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmmi-py.c 2014-02-20 14:47:48.110802710 +0000
@@ -149,7 +149,9 @@ static PyNumberMethods rpmmi_as_number =
0, /* nb_add */
0, /* nb_subtract */
0, /* nb_multiply */
+#if PY_MAJOR_VERSION < 3
0, /* nb_divide */
+#endif
0, /* nb_remainder */
0, /* nb_divmod */
0, /* nb_power */
--- ./python/rpmsmodule.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmsmodule.c 2014-02-20 14:47:48.110802710 +0000
@@ -59,15 +59,15 @@ static struct PyModuleDef moduledef = {
"_rpms", /* m_name */
rpms__doc__, /* m_doc */
0, /* m_size */
- NULL, /* m_methods */
+ modMethods, /* m_methods */
NULL, /* m_reload */
NULL, /* m_traverse */
NULL, /* m_clear */
NULL /* m_free */
};
-PyObject * PyInit__rpm(void); /* XXX eliminate gcc warning */
-PyObject * PyInit__rpm(void)
+PyObject * PyInit__rpms(void); /* XXX eliminate gcc warning */
+PyObject * PyInit__rpms(void)
{
PyObject *m;
--- ./python/rpmsystem-py.h.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./python/rpmsystem-py.h 2014-02-20 14:47:48.110802710 +0000
@@ -48,6 +48,7 @@ typedef Py_ssize_t (*lenfunc)(PyObject *
#define PyInt_FromLong PyLong_FromLong
#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
+#define PyInt_AsSsize_t PyLong_AsSsize_t
#endif
#endif /* H_SYSTEM_PYTHON */
--- ./rpmio/digest.c.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./rpmio/digest.c 2014-02-20 14:47:48.110802710 +0000
@@ -8,7 +8,7 @@
#include "debug.h"
-#define DIGESTS_MAX 11
+#define DIGESTS_MAX 12
struct rpmDigestBundle_s {
int index_min; /*!< Smallest index of active digest */
int index_max; /*!< Largest index of active digest */
--- ./rpmpopt.in.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./rpmpopt.in 2014-02-20 14:47:48.110802710 +0000
@@ -67,6 +67,19 @@ rpm alias --requires --qf \
--POPTdesc=$"list capabilities required by package(s)"
rpm alias -R --requires
+rpm alias --recommends --qf \
+ "[%|VERBOSE?{%{RECOMMENDFLAGS:deptype}: }:{}|%{RECOMMENDNEVRS}\n]" \
+ --POPTdesc=$"list capabilities recommended by package(s)"
+rpm alias --suggests --qf \
+ "[%|VERBOSE?{%{SUGGESTFLAGS:deptype}: }:{}|%{SUGGESTNEVRS}\n]" \
+ --POPTdesc=$"list capabilities suggested by package(s)"
+rpm alias --supplements --qf \
+ "[%|VERBOSE?{%{SUPPLEMENTFLAGS:deptype}: }:{}|%{SUPPLEMENTNEVRS}\n]" \
+ --POPTdesc=$"list capabilities supplemented by package(s)"
+rpm alias --enhances --qf \
+ "[%|VERBOSE?{%{ENHANCEFLAGS:deptype}: }:{}|%{ENHANCENEVRS}\n]" \
+ --POPTdesc=$"list capabilities enhanced by package(s)"
+
rpm alias --info --qf '\
Name : %{NAME}\n\
%|EPOCH?{Epoch : %{EPOCH}\n}|\
--- ./tests/data/SPECS/deptest.spec.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./tests/data/SPECS/deptest.spec 2014-02-20 14:47:48.110802710 +0000
@@ -10,6 +10,10 @@ BuildArch: noarch
%{?provs:Provides: %{provs}}
%{?cfls:Conflicts: %{cfls}}
%{?obs:Obsoletes: %{obs}}
+%{?recs:Recommends: %{recs}}
+%{?sugs:Suggests: %{sugs}}
+%{?sups:Supplements: %{sups}}
+%{?ens:Enhances: %{ens}}
%description
%{summary}
--- ./tests/rpmbuild.at.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./tests/rpmbuild.at 2014-02-20 14:47:48.110802710 +0000
@@ -185,3 +185,31 @@ lrwxrwxrwx /opt/globtest/linkgood
],
[])
AT_CLEANUP
+
+# ------------------------------
+# Check if weak and reverse requires can be built
+AT_SETUP([Weak and reverse requires])
+AT_KEYWORDS([build])
+AT_CHECK([
+
+runroot rpmbuild -bb --quiet \
+ --define "pkg weakdeps" \
+ --define "recs foo > 1.2.3" \
+ --define "sugs bar >= 0.1.2" \
+ --define "sups baz" \
+ --define "ens zap = 3" \
+ /data/SPECS/deptest.spec
+
+runroot rpm -qp --recommends /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --suggests /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --supplements /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+runroot rpm -qp --enhances /build/RPMS/noarch/deptest-weakdeps-1.0-1.noarch.rpm
+],
+[0],
+[foo > 1.2.3
+bar >= 0.1.2
+baz
+zap = 3
+],
+[ignore])
+AT_CLEANUP
--- ./tests/rpmdb.at.orig 2014-02-05 13:04:02.000000000 +0000
+++ ./tests/rpmdb.at 2014-02-20 14:47:48.111802710 +0000
@@ -103,7 +103,7 @@ AT_CLEANUP
# ------------------------------
# reinstall a noarch package (with no files)
-AT_SETUP([rpm -U --replacepkgs])
+AT_SETUP([rpm -U --replacepkgs 1])
AT_KEYWORDS([rpmdb install])
AT_CHECK([
@@ -124,6 +124,28 @@ runroot rpm -i "${tpkg}" &&
AT_CLEANUP
# ------------------------------
+# reinstall a package with different file policies
+AT_SETUP([rpm -U --replacepkgs 2])
+AT_KEYWORDS([rpmdb install])
+
+AT_CHECK([
+AT_XFAIL_IF([test $RPM_XFAIL -ne 0])
+RPMDB_CLEAR
+RPMDB_INIT
+
+tpkg="/data/RPMS/hello-2.0-1.i686.rpm"
+
+runroot rpm -U --nodeps --ignorearch "${tpkg}" &&
+ runroot rpm -U --nodeps --ignorearch --nodocs --replacepkgs "${tpkg}" &&
+ runroot rpm -e hello
+test -d "${RPMTEST}"/usr/share/doc/hello-2.0
+],
+[1],
+[],
+[])
+
+AT_CLEANUP
+# ------------------------------
# install a package into a local rpmdb
# * Shall only work with relocation
# * Use --ignorearch because we don't know the arch
--- ./tests/rpmgeneral.at.orig 2012-11-07 12:55:24.000000000 +0000
+++ ./tests/rpmgeneral.at 2014-02-20 14:47:48.111802710 +0000
@@ -79,6 +79,11 @@ DISTTAG
DISTURL
DSAHEADER
E
+ENHANCEFLAGS
+ENHANCENAME
+ENHANCENEVRS
+ENHANCES
+ENHANCEVERSION
EPOCH
EPOCHNUM
EVR
@@ -199,6 +204,11 @@ PROVIDES
PROVIDEVERSION
PUBKEYS
R
+RECOMMENDFLAGS
+RECOMMENDNAME
+RECOMMENDNEVRS
+RECOMMENDS
+RECOMMENDVERSION
RECONTEXTS
RELEASE
REMOVETID
@@ -219,7 +229,17 @@ SOURCE
SOURCEPACKAGE
SOURCEPKGID
SOURCERPM
+SUGGESTFLAGS
+SUGGESTNAME
+SUGGESTNEVRS
+SUGGESTS
+SUGGESTVERSION
SUMMARY
+SUPPLEMENTFLAGS
+SUPPLEMENTNAME
+SUPPLEMENTNEVRS
+SUPPLEMENTS
+SUPPLEMENTVERSION
TRIGGERCONDS
TRIGGERFLAGS
TRIGGERINDEX
++++++ noprereqdeprec.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:21.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:21.000000000 +0100
@@ -1,17 +1,15 @@
-Not deprecated for SUSE builds.
-
---- ./build/parsePreamble.c.orig 2011-05-11 15:59:08.000000000 +0000
-+++ ./build/parsePreamble.c 2011-05-11 16:35:47.000000000 +0000
-@@ -891,7 +891,7 @@ static struct PreambleRec_s const preamb
- {RPMTAG_ICON, 0, 0, LEN_AND_STR("icon")},
- {RPMTAG_PROVIDEFLAGS, 0, 0, LEN_AND_STR("provides")},
- {RPMTAG_REQUIREFLAGS, 2, 0, LEN_AND_STR("requires")},
+--- ./build/parsePreamble.c.orig 2014-02-20 14:51:56.798802270 +0000
++++ ./build/parsePreamble.c 2014-02-20 14:53:27.617802110 +0000
+@@ -895,7 +895,7 @@ static struct PreambleRec_s const preamb
+ {RPMTAG_SUGGESTFLAGS, 0, 0, LEN_AND_STR("suggests")},
+ {RPMTAG_SUPPLEMENTFLAGS, 0, 0, LEN_AND_STR("supplements")},
+ {RPMTAG_ENHANCEFLAGS, 0, 0, LEN_AND_STR("enhances")},
- {RPMTAG_PREREQ, 2, 1, LEN_AND_STR("prereq")},
+ {RPMTAG_PREREQ, 2, 0, LEN_AND_STR("prereq")},
{RPMTAG_CONFLICTFLAGS, 0, 0, LEN_AND_STR("conflicts")},
{RPMTAG_OBSOLETEFLAGS, 0, 0, LEN_AND_STR("obsoletes")},
{RPMTAG_PREFIXES, 0, 0, LEN_AND_STR("prefixes")},
-@@ -900,7 +900,7 @@ static struct PreambleRec_s const preamb
+@@ -904,7 +904,7 @@ static struct PreambleRec_s const preamb
{RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarchitectures")},
{RPMTAG_BUILDARCHS, 0, 0, LEN_AND_STR("buildarch")},
{RPMTAG_BUILDCONFLICTS, 0, 0, LEN_AND_STR("buildconflicts")},
++++++ rpm-4.11.1.tar.bz2 -> rpm-4.11.2.tar.bz2 ++++++
++++ 82003 lines of diff (skipped)
++++++ rpmrc.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:23.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:23.000000000 +0100
@@ -1,5 +1,5 @@
---- ./rpmrc.in.orig 2013-06-10 15:55:10.000000000 +0000
-+++ ./rpmrc.in 2013-07-12 11:56:53.000000000 +0000
+--- ./rpmrc.in.orig 2014-02-05 13:04:02.000000000 +0000
++++ ./rpmrc.in 2014-02-20 12:48:24.342815390 +0000
@@ -12,16 +12,16 @@
# "fat" binary with both archs, for Darwin
optflags: fat -O2 -g -arch i386 -arch ppc
@@ -26,7 +26,7 @@
optflags: amd64 -O2 -g
optflags: ia32e -O2 -g
-@@ -41,16 +41,17 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
+@@ -41,17 +41,18 @@ optflags: sparc64v -O2 -g -m64 -mtune=ni
optflags: m68k -O2 -g -fomit-frame-pointer
@@ -37,6 +37,7 @@
-optflags: ppciseries -O2 -g -fsigned-char
-optflags: ppcpseries -O2 -g -fsigned-char
-optflags: ppc64 -O2 -g -fsigned-char
+-optflags: ppc64le -O2 -g -fsigned-char
-optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fsigned-char
+optflags: ppc -O2 -g -m32 -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
+optflags: ppc8260 -O2 -g -m32
@@ -45,6 +46,7 @@
+optflags: ppciseries -O2 -g -m32
+optflags: ppcpseries -O2 -g -m32
+optflags: ppc64 -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
++optflags: ppc64le -O2 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
+optflags: ppc64p7 -O3 -mtune=power7 -mcpu=power7 -g -fmessage-length=0 -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables
optflags: parisc -O2 -g -mpa-risc-1-0
@@ -52,7 +54,7 @@
optflags: hppa1.0 -O2 -g -mpa-risc-1-0
optflags: hppa1.1 -O2 -g -mpa-risc-1-0
optflags: hppa1.2 -O2 -g -mpa-risc-1-0
-@@ -66,7 +67,9 @@ optflags: armv4tl -O2 -g -march=armv4t
+@@ -67,7 +68,9 @@ optflags: armv4tl -O2 -g -march=armv4t
optflags: armv5tel -O2 -g -march=armv5te
optflags: armv5tejl -O2 -g -march=armv5te
optflags: armv6l -O2 -g -march=armv6
@@ -62,7 +64,7 @@
optflags: atarist -O2 -g -fomit-frame-pointer
optflags: atariste -O2 -g -fomit-frame-pointer
-@@ -76,8 +79,8 @@ optflags: atariclone -O2 -g -fomit-frame
+@@ -77,8 +80,8 @@ optflags: atariclone -O2 -g -fomit-frame
optflags: milan -O2 -g -fomit-frame-pointer
optflags: hades -O2 -g -fomit-frame-pointer
@@ -73,7 +75,7 @@
optflags: sh3 -O2 -g
optflags: sh4 -O2 -g -mieee
-@@ -178,7 +181,9 @@ arch_canon: armv4l: armv4l 12
+@@ -180,7 +183,9 @@ arch_canon: armv4l: armv4l 12
arch_canon: armv5tel: armv5tel 12
arch_canon: armv5tejl: armv5tejl 12
arch_canon: armv6l: armv6l 12
@@ -83,7 +85,7 @@
arch_canon: m68kmint: m68kmint 13
arch_canon: atarist: m68kmint 13
-@@ -241,17 +246,17 @@ os_canon: MacOSX: macosx 21
+@@ -244,17 +249,17 @@ os_canon: MacOSX: macosx 21
#############################################################
# For a given uname().machine, the default build arch
@@ -109,15 +111,7 @@
buildarchtranslate: i486: i386
buildarchtranslate: i386: i386
-@@ -281,6 +286,7 @@ buildarchtranslate: ppcpseries: ppc
- buildarchtranslate: ppc64iseries: ppc64
- buildarchtranslate: ppc64pseries: ppc64
- buildarchtranslate: ppc64p7: ppc64
-+buildarchtranslate: powerpc64: ppc64
-
- buildarchtranslate: armv3l: armv3l
- buildarchtranslate: armv4b: armv4b
-@@ -289,7 +295,9 @@ buildarchtranslate: armv4tl: armv4tl
+@@ -293,7 +298,9 @@ buildarchtranslate: armv4tl: armv4tl
buildarchtranslate: armv5tel: armv5tel
buildarchtranslate: armv5tejl: armv5tejl
buildarchtranslate: armv6l: armv6l
@@ -127,7 +121,7 @@
buildarchtranslate: atarist: m68kmint
buildarchtranslate: atariste: m68kmint
-@@ -314,6 +322,15 @@ buildarchtranslate: sh4a: sh4
+@@ -318,6 +325,15 @@ buildarchtranslate: sh4a: sh4
buildarchtranslate: aarch64: aarch64
@@ -143,7 +137,7 @@
#############################################################
# Architecture compatibility
-@@ -370,14 +387,20 @@ arch_compat: mipsel: noarch
+@@ -375,14 +391,20 @@ arch_compat: mipsel: noarch
arch_compat: hppa2.0: hppa1.2
arch_compat: hppa1.2: hppa1.1
arch_compat: hppa1.1: hppa1.0
@@ -166,7 +160,7 @@
arch_compat: armv4tl: armv4l
arch_compat: armv4l: armv3l
arch_compat: armv3l: noarch
-@@ -394,7 +417,7 @@ arch_compat: i370: noarch
+@@ -399,7 +421,7 @@ arch_compat: i370: noarch
arch_compat: s390: noarch
arch_compat: s390x: s390 noarch
@@ -175,7 +169,13 @@
arch_compat: x86_64: amd64 em64t athlon noarch
arch_compat: amd64: x86_64 em64t athlon noarch
-@@ -483,7 +506,9 @@ buildarch_compat: mips: noarch
+@@ -484,12 +506,15 @@ buildarch_compat: ppc64le: noarch fat
+ buildarch_compat: ppc64pseries: ppc64
+ buildarch_compat: ppc64iseries: ppc64
+ buildarch_compat: ppc64p7: ppc64
++buildarchtranslate: powerpc64: ppc64
+
+ buildarch_compat: mips: noarch
buildarch_compat: mipsel: noarch
buildarch_compat: armv4b: noarch
@@ -185,7 +185,7 @@
buildarch_compat: armv6l: armv5tejl
buildarch_compat: armv5tejl: armv5tel
buildarch_compat: armv5tel: armv4tl
-@@ -494,7 +519,8 @@ buildarch_compat: armv3l: noarch
+@@ -500,7 +525,8 @@ buildarch_compat: armv3l: noarch
buildarch_compat: hppa2.0: hppa1.2
buildarch_compat: hppa1.2: hppa1.1
buildarch_compat: hppa1.1: hppa1.0
++++++ safeugid.diff ++++++
--- /var/tmp/diff_new_pack.pc7JGa/_old 2014-02-28 16:22:23.000000000 +0100
+++ /var/tmp/diff_new_pack.pc7JGa/_new 2014-02-28 16:22:23.000000000 +0100
@@ -1,7 +1,5 @@
-Work around glibc/nscd caching problems when doing 'rpm --root'.
-
---- ./lib/rpmchroot.c.orig 2011-05-12 08:26:10.000000000 +0000
-+++ ./lib/rpmchroot.c 2011-05-12 08:28:32.000000000 +0000
+--- ./lib/rpmchroot.c.orig 2012-11-07 12:55:24.000000000 +0000
++++ ./lib/rpmchroot.c 2014-02-20 12:50:05.360815211 +0000
@@ -66,6 +66,7 @@ int rpmChrootIn(void)
} else if (rootState.chrootDone == 0) {
if (chdir("/") == 0 && chroot(rootState.rootDir) == 0) {
@@ -18,11 +16,11 @@
} else {
rpmlog(RPMLOG_ERR, _("Unable to restore root directory: %m\n"));
rc = -1;
---- ./lib/rpmug.c.orig 2011-05-12 08:13:52.000000000 +0000
-+++ ./lib/rpmug.c 2011-05-12 08:33:28.000000000 +0000
-@@ -35,6 +35,47 @@ const char * rpmugStashStr(const char *s
- return ret;
- }
+--- ./lib/rpmug.c.orig 2014-02-05 13:04:37.000000000 +0000
++++ ./lib/rpmug.c 2014-02-20 12:50:05.361815211 +0000
+@@ -10,6 +10,47 @@
+ #include "lib/rpmug.h"
+ #include "debug.h"
+#if defined(__GLIBC__)
+
@@ -68,7 +66,7 @@
/*
* These really ought to use hash tables. I just made the
* guess that most files would be owned by root or the same person/group
-@@ -68,17 +109,28 @@ int rpmugUid(const char * thisUname, uid
+@@ -43,17 +84,28 @@ int rpmugUid(const char * thisUname, uid
lastUnameAlloced = thisUnameLen + 10;
lastUname = xrealloc(lastUname, lastUnameAlloced); /* XXX memory leak */
}
@@ -104,7 +102,7 @@
}
*uid = lastUid;
-@@ -111,18 +163,29 @@ int rpmugGid(const char * thisGname, gid
+@@ -86,18 +138,29 @@ int rpmugGid(const char * thisGname, gid
lastGnameAlloced = thisGnameLen + 10;
lastGname = xrealloc(lastGname, lastGnameAlloced); /* XXX memory leak */
}
@@ -141,7 +139,7 @@
}
*gid = lastGid;
-@@ -134,7 +197,7 @@ const char * rpmugUname(uid_t uid)
+@@ -109,7 +172,7 @@ const char * rpmugUname(uid_t uid)
{
static uid_t lastUid = (uid_t) -1;
static char * lastUname = NULL;
@@ -150,7 +148,7 @@
if (uid == (uid_t) -1) {
lastUid = (uid_t) -1;
-@@ -151,9 +214,9 @@ const char * rpmugUname(uid_t uid)
+@@ -126,9 +189,9 @@ const char * rpmugUname(uid_t uid)
lastUid = uid;
len = strlen(pwent->pw_name);
@@ -163,7 +161,7 @@
}
strcpy(lastUname, pwent->pw_name);
-@@ -165,7 +228,7 @@ const char * rpmugGname(gid_t gid)
+@@ -140,7 +203,7 @@ const char * rpmugGname(gid_t gid)
{
static gid_t lastGid = (gid_t) -1;
static char * lastGname = NULL;
@@ -172,7 +170,7 @@
if (gid == (gid_t) -1) {
lastGid = (gid_t) -1;
-@@ -182,9 +245,9 @@ const char * rpmugGname(gid_t gid)
+@@ -157,9 +220,9 @@ const char * rpmugGname(gid_t gid)
lastGid = gid;
len = strlen(grent->gr_name);
@@ -185,9 +183,9 @@
}
strcpy(lastGname, grent->gr_name);
-@@ -200,3 +263,16 @@ void rpmugFree(void)
+@@ -189,3 +252,16 @@ void rpmugFree(void)
+ rpmugUname(-1);
rpmugGname(-1);
- strStash = strCacheFree(strStash);
}
+
+void rpmugChroot(int in)
@@ -202,9 +200,9 @@
+ inchroot = in;
+#endif
+}
---- ./lib/rpmug.h.orig 2011-05-12 08:13:52.000000000 +0000
-+++ ./lib/rpmug.h 2011-05-12 08:26:56.000000000 +0000
-@@ -15,4 +15,6 @@ const char * rpmugGname(gid_t gid);
+--- ./lib/rpmug.h.orig 2014-02-05 13:04:02.000000000 +0000
++++ ./lib/rpmug.h 2014-02-20 12:50:05.362815211 +0000
+@@ -15,4 +15,6 @@ int rpmugInit(void);
void rpmugFree(void);
++++++ weakdepscompat.diff ++++++
--- ./build/parsePreamble.c.orig 2014-02-25 14:14:15.892041649 +0000
+++ ./build/parsePreamble.c 2014-02-25 14:14:26.237041631 +0000
@@ -343,6 +343,7 @@ static struct tokenBits_s const installS
{ "verify", RPMSENSE_SCRIPT_VERIFY },
{ "pretrans", RPMSENSE_PRETRANS },
{ "posttrans", RPMSENSE_POSTTRANS },
+ { "hint", RPMSENSE_MISSINGOK },
{ NULL, 0 }
};
--- ./build/rpmfc.c.orig 2014-02-25 14:14:15.904041649 +0000
+++ ./build/rpmfc.c 2014-02-25 14:14:26.238041631 +0000
@@ -1156,6 +1156,12 @@ static struct DepMsg_s depMsgs[] = {
{ "Obsoletes", { "%{?__find_obsoletes}", NULL, NULL, NULL },
RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS,
0, -1 },
+ { "Enhances", { "%{?__find_enhances}", NULL, NULL, NULL },
+ RPMTAG_ENHANCENAME, RPMTAG_ENHANCEVERSION, RPMTAG_ENHANCEFLAGS,
+ 0, -1 },
+ { "Supplements", { "%{?__find_supplements}", NULL, NULL, NULL },
+ RPMTAG_SUPPLEMENTNAME, RPMTAG_SUPPLEMENTVERSION, RPMTAG_SUPPLEMENTFLAGS,
+ 0, -1 },
{ NULL, { NULL, NULL, NULL, NULL }, 0, 0, 0, 0, 0 }
};
@@ -1231,6 +1237,16 @@ static rpmRC rpmfcGenerateDependsHelper(
if (!pkg->autoReq)
continue;
tagflags = RPMSENSE_FIND_REQUIRES;
+ break;
+ case RPMTAG_ENHANCENAME:
+ if (!pkg->autoReq)
+ continue;
+ tagflags = RPMSENSE_FIND_REQUIRES;
+ break;
+ case RPMTAG_SUPPLEMENTNAME:
+ if (!pkg->autoReq)
+ continue;
+ tagflags = RPMSENSE_FIND_REQUIRES;
break;
default:
continue;
--- ./lib/rpmds.c.orig 2014-02-25 14:14:15.834041649 +0000
+++ ./lib/rpmds.c 2014-02-25 14:14:47.963041593 +0000
@@ -86,6 +86,14 @@ static int dsType(rpmTagVal tag,
t = "Trigger";
evr = RPMTAG_TRIGGERVERSION;
f = RPMTAG_TRIGGERFLAGS;
+ } else if (tag == RPMTAG_OLDSUGGESTSNAME) {
+ t = "Oldsuggests";
+ evr = RPMTAG_OLDSUGGESTSVERSION;
+ f = RPMTAG_OLDSUGGESTSFLAGS;
+ } else if (tag == RPMTAG_OLDENHANCESNAME) {
+ t = "Oldenhances";
+ evr = RPMTAG_OLDENHANCESVERSION;
+ f = RPMTAG_OLDENHANCESFLAGS;
} else {
rc = 1;
}
--- ./lib/tagexts.c.orig 2014-02-25 14:14:15.839041649 +0000
+++ ./lib/tagexts.c 2014-02-25 14:18:53.707041158 +0000
@@ -906,6 +906,34 @@ static int depnevrsTag(Header h, rpmtd t
return (ndeps > 0);
}
+#define RPMSENSE_STRONG (1 << 27)
+
+static int depnevrsTagFiltered(Header h, rpmtd td, headerGetFlags hgflags,
+ rpmTagVal tag, int strong)
+{
+ rpmds ds = rpmdsNew(h, tag, 0);
+ int ndeps = rpmdsCount(ds);
+
+ if (ndeps > 0) {
+ char **deps = xmalloc(sizeof(*deps) * ndeps);
+ ndeps = 0;
+ while (rpmdsNext(ds) >= 0) {
+ if ((rpmdsFlags(ds) & RPMSENSE_STRONG) == (strong ? RPMSENSE_STRONG : 0))
+ deps[ndeps++] = rpmdsNewDNEVR(NULL, ds);
+ }
+ if (ndeps) {
+ td->data = deps;
+ td->type = RPM_STRING_ARRAY_TYPE;
+ td->count = ndeps;
+ td->flags |= (RPMTD_ALLOCED | RPMTD_PTR_ALLOCED);
+ } else {
+ _free(deps);
+ }
+ }
+ rpmdsFree(ds);
+ return (ndeps > 0);
+}
+
static int requirenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
return depnevrsTag(h, td, hgflags, RPMTAG_REQUIRENAME);
@@ -913,22 +941,26 @@ static int requirenevrsTag(Header h, rpm
static int recommendnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
- return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME);
+ return depnevrsTag(h, td, hgflags, RPMTAG_RECOMMENDNAME) ||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 1);
}
static int suggestnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
- return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME);
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUGGESTNAME) ||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDSUGGESTSNAME, 0);
}
static int supplementnevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
- return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME);
+ return depnevrsTag(h, td, hgflags, RPMTAG_SUPPLEMENTNAME) ||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 1);
}
static int enhancenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
{
- return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME);
+ return depnevrsTag(h, td, hgflags, RPMTAG_ENHANCENAME) ||
+ depnevrsTagFiltered(h, td, hgflags, RPMTAG_OLDENHANCESNAME, 0);
}
static int providenevrsTag(Header h, rpmtd td, headerGetFlags hgflags)
--
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 createrepo for openSUSE:Factory checked in at 2014-02-28 16:22:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/createrepo (Old)
and /work/SRC/openSUSE:Factory/.createrepo.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "createrepo"
Changes:
--------
--- /work/SRC/openSUSE:Factory/createrepo/createrepo.changes 2013-08-23 13:53:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.createrepo.new/createrepo.changes 2014-02-28 16:22:14.000000000 +0100
@@ -1,0 +2,30 @@
+Mon Feb 24 19:09:39 UTC 2014 - suse-tux(a)gmx.de
+
+- fix bnc#841280
+ new patch: createrepo-0.10.3-fix_MetaDataGenerator.patch
+ modified patch: createrepo-0.9.9-sort-packages-before-writing-repodata.patch
+
+-------------------------------------------------------------------
+Mon Feb 24 18:43:22 CET 2014 - mls(a)suse.de
+
+- allow 'sha' checksum type in modifyrepo
+ new patch: createrepo-0.10.3-modifyrepo-sha.patch
+- make it build on sles11 (fix from adrian)
+
+-------------------------------------------------------------------
+Mon Feb 24 13:47:00 CET 2014 - mls(a)suse.de
+
+- update to version 0.10.3
+ dropped patches:
+ * createrepo-0.9.8-workaround-umask-reset.patch
+ * createrepo-0.9.9-add-lzma-option-to-generate-primary.xml.lzma.patch
+ * createrepo-0.9.9-clean_tmp_files.patch
+ * createrepo-0.9.9-generate-gzip-headers.patch
+ * createrepo-0.9.9-pass_checksum_to_workers.patch
+ * createrepo-0.9.9-use_integer_timestamps.patch
+ * createrepo-0.9.9-worker-clog_limit.patch
+ new patch:
+ * createrepo-0.9.9-by_default_no_database.patch
+- fix filename of bash completion script
+
+-------------------------------------------------------------------
Old:
----
createrepo-0.9.8-workaround-umask-reset.patch
createrepo-0.9.9-add-lzma-option-to-generate-primary.xml.lzma.patch
createrepo-0.9.9-clean_tmp_files.patch
createrepo-0.9.9-generate-gzip-headers.patch
createrepo-0.9.9-pass_checksum_to_workers.patch
createrepo-0.9.9-use_integer_timestamps.patch
createrepo-0.9.9-worker-clog_limit.patch
createrepo-0.9.9.tar.gz
New:
----
createrepo-0.10.3-fix_MetaDataGenerator.patch
createrepo-0.10.3-modifyrepo-sha.patch
createrepo-0.10.3.tar.gz
createrepo-0.9.9-by_default_no_database.patch
createrepo.dsc
debian.changelog
debian.rules
debian.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ createrepo.spec ++++++
--- /var/tmp/diff_new_pack.c19mdv/_old 2014-02-28 16:22:15.000000000 +0100
+++ /var/tmp/diff_new_pack.c19mdv/_new 2014-02-28 16:22:15.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package createrepo
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
@@ -17,32 +17,23 @@
Name: createrepo
-Version: 0.9.9
+Version: 0.10.3
Release: 0
Summary: Creates a Common Metadata Repository
License: GPL-2.0+
Group: System/Packages
Url: http://linux.duke.edu/metadata/
Source: http://createrepo.baseurl.org/download/%{name}-%{version}.tar.gz
-Patch2: createrepo-0.9.9-cache_utime.patch
-Patch3: createrepo-0.9.9-cachefix.patch
-Patch4: createrepo-0.9.9-license-to-confirm.patch
-Patch5: createrepo-0.9.9-sort-packages-before-writing-repodata.patch
-Patch6: createrepo-0.9.9-add-lzma-option-to-generate-primary.xml.lzma.patch
-Patch7: createrepo-0.9.9-generate-gzip-headers.patch
-Patch8: createrepo-0.9.9-disable-symlinks.patch
-Patch9: createrepo-0.9.8-workaround-umask-reset.patch
-Patch10: createrepo-0.9.9-worker-clog_limit.patch
-# Pass checksum option to workers, taken from upstream. See BNC#802001
-Patch11: createrepo-0.9.9-pass_checksum_to_workers.patch
-# Upstream patch to clean up tmp files (BNC#812071)
-Patch12: createrepo-0.9.9-clean_tmp_files.patch
-# Upstream patch to write timestamps in seconds (BNC#823652)
-Patch13: createrepo-0.9.9-use_integer_timestamps.patch
-
+Patch1: createrepo-0.9.9-cache_utime.patch
+Patch2: createrepo-0.9.9-cachefix.patch
+Patch3: createrepo-0.9.9-license-to-confirm.patch
+Patch4: createrepo-0.9.9-sort-packages-before-writing-repodata.patch
+Patch5: createrepo-0.9.9-disable-symlinks.patch
+Patch6: createrepo-0.9.9-by_default_no_database.patch
+Patch7: createrepo-0.10.3-modifyrepo-sha.patch
+Patch8: createrepo-0.10.3-fix_MetaDataGenerator.patch
BuildRequires: python-devel
Requires: python-deltarpm
-Requires: python-libxml2
Requires: python-lxml
Requires: python-urlgrabber
Requires: rpm >= 4.1.1
@@ -50,9 +41,6 @@
Requires: yum-common >= 3.2.25
Requires: yum-metadata-parser
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%endif
%description
This utility generates a common metadata repository from a directory of
@@ -60,34 +48,40 @@
%prep
%setup -q
+%patch1
%patch2
%patch3
-%patch4
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
+%patch4 -p1
+%patch5
+%patch6
+%patch7
%patch8 -p1
-%patch9
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13
sed -i "1d" createrepo/{readMetadata,yumbased,utils,deltarpms,merge}.py # Fix non-executable scripts (remove she-bang line)
%build
+
%install
# Fix the install paths:
sed -i -e 's|PYLIBDIR = $(PYSYSDIR)/lib/python$(PYVER)|PYLIBDIR = %{py_libdir}|g' \
- -e 's|PKGDIR = $(PYLIBDIR)/site-packages/$(PKGNAME)|PKGDIR = %{python_sitearch}/%{name}|g' createrepo/Makefile
-%make_install sysconfdir=%{_sysconfdir}
+%if %{suse_version} < 1120
+ -e 's|PKGDIR = $(PYLIBDIR)/site-packages/$(PKGNAME)|PKGDIR = %{_datadir}/%{name}/$(PKGNAME)|g' \
+%else
+ -e 's|PKGDIR = $(PYLIBDIR)/site-packages/$(PKGNAME)|PKGDIR = %{python_sitearch}/%{name}|g' \
+%endif
+ createrepo/Makefile
+%makeinstall sysconfdir=%{_sysconfdir}
+mv $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/createrepo $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/createrepo.sh
+for i in genpkgmetadata.py mergerepo mergerepo.py modifyrepo modifyrepo.py ; do rm -f $RPM_BUILD_ROOT/%{_sysconfdir}/bash_completion.d/$i ; done
%files
%defattr(-,root,root)
%doc ChangeLog COPYING COPYING.lib README
%{_bindir}/*
%{_mandir}/*/*
-%config %{_sysconfdir}/bash_completion.d/createrepo.bash
+%config %{_sysconfdir}/bash_completion.d/createrepo.sh
%{_datadir}/%{name}/
+%if %{suse_version} >= 1120
%{python_sitearch}/*
+%endif
%changelog
++++++ createrepo-0.10.3-fix_MetaDataGenerator.patch ++++++
Index: createrepo-0.10.3/createrepo/__init__.py
===================================================================
--- createrepo-0.10.3.orig/createrepo/__init__.py
+++ createrepo-0.10.3/createrepo/__init__.py
@@ -407,7 +407,8 @@ class MetaDataGenerator:
if self.conf.pkglist:
packages = []
for pkg in self.conf.pkglist:
- if '://' in pkg: # remote
+ if isinstance(pkg, YumAvailablePackage) or '://' in pkg:
+ # either a package object or a remote file
packages.append(pkg)
continue
path = os.path.join(self.conf.basedir, self.conf.directory, pkg)
++++++ createrepo-0.10.3-modifyrepo-sha.patch ++++++
--- ./modifyrepo.py.orig 2014-02-24 17:40:42.748172650 +0000
+++ ./modifyrepo.py 2014-02-25 13:25:12.138046860 +0000
@@ -147,7 +147,7 @@ class RepoMetadata:
new_rd.checksum = (self.checksum_type, csum)
new_rd.size = str(os.stat(destmd).st_size)
if self.compress:
- new_rd.openchecksum = oldmd.checksums.hexdigests().popitem()
+ new_rd.openchecksum = (self.checksum_type, oldmd.checksums.hexdigests().popitem()[1])
new_rd.opensize = str(oldmd.checksums.length)
new_rd.timestamp = str(int(os.stat(destmd).st_mtime))
self.repoobj.repoData[new_rd.type] = new_rd
@@ -236,7 +236,7 @@ def main(args):
if opts.compress_type not in _available_compression:
print "Compression %s not available: Please choose from: %s" % (opts.compress_type, ', '.join(_available_compression))
return 1
- if opts.sumtype not in _available_checksums:
+ if opts.sumtype != 'sha' and opts.sumtype not in _available_checksums:
print "Checksum %s not available: Please choose from: %s" % (opts.sumtype, ', '.join(_available_checksums))
return 1
repomd.compress_type = opts.compress_type
++++++ createrepo-0.9.9.tar.gz -> createrepo-0.10.3.tar.gz ++++++
++++ 2334 lines of diff (skipped)
++++++ createrepo-0.9.9-by_default_no_database.patch ++++++
--- ./createrepo/__init__.py.orig 2014-02-24 12:31:40.702205468 +0000
+++ ./createrepo/__init__.py 2014-02-24 12:31:54.565205444 +0000
@@ -82,7 +82,7 @@ class MetaDataConfig(object):
self.max_delta_rpm_size = 100000000
self.update_md_path = None
self.skip_stat = False
- self.database = True
+ self.database = False
self.outputdir = None
self.file_patterns = ['.*bin\/.*', '^\/etc\/.*', '^\/usr\/lib\/sendmail$']
self.dir_patterns = ['.*bin\/.*', '^\/etc\/.*']
--- ./genpkgmetadata.py.orig 2014-02-24 12:26:37.150206006 +0000
+++ ./genpkgmetadata.py 2014-02-24 12:28:29.876205806 +0000
@@ -71,8 +71,8 @@ def parse_args(args, conf):
parser.add_option("-C", "--checkts", default=False, action="store_true",
help="check timestamps on files vs the metadata to see " \
"if we need to update")
- parser.add_option("-d", "--database", default=True, action="store_true",
- help="create sqlite database files: now default, see --no-database to disable")
+ parser.add_option("-d", "--database", default=False, action="store_true",
+ help="create sqlite database files")
parser.add_option("--no-database", default=False, dest="nodatabase", action="store_true",
help="do not create sqlite dbs of metadata")
# temporarily disabled
--- ./mergerepo.py.orig 2014-02-24 12:28:35.926205795 +0000
+++ ./mergerepo.py 2014-02-24 12:30:05.740205636 +0000
@@ -40,7 +40,7 @@ def parse_args(args):
help="repo url")
parser.add_option("-a", "--archlist", default=[], action="append",
help="Defaults to all arches - otherwise specify arches")
- parser.add_option("-d", "--database", default=True, action="store_true")
+ parser.add_option("-d", "--database", default=False, action="store_true")
parser.add_option( "--no-database", default=False, action="store_true", dest="nodatabase")
parser.add_option("-o", "--outputdir", default=None,
help="Location to create the repository")
@@ -75,6 +75,8 @@ def main(args):
rmbase.archlist = opts.archlist
if opts.outputdir:
rmbase.outputdir = opts.outputdir
+ if opts.database:
+ rmbase.mdconf.database = True
if opts.nodatabase:
rmbase.mdconf.database = False
if opts.nogroups:
++++++ createrepo-0.9.9-disable-symlinks.patch ++++++
--- /var/tmp/diff_new_pack.c19mdv/_old 2014-02-28 16:22:15.000000000 +0100
+++ /var/tmp/diff_new_pack.c19mdv/_new 2014-02-28 16:22:15.000000000 +0100
@@ -1,15 +1,14 @@
-diff -ru a/createrepo/__init__.py b/createrepo/__init__.py
---- a/createrepo/__init__.py 2011-01-26 18:14:30.000000000 +0100
-+++ b/createrepo/__init__.py 2012-01-25 14:58:01.560497445 +0100
-@@ -84,6 +84,7 @@
+--- ./createrepo/__init__.py.orig 2014-02-24 12:45:33.874203994 +0000
++++ ./createrepo/__init__.py 2014-02-24 12:45:42.527203978 +0000
+@@ -87,6 +87,7 @@ class MetaDataConfig(object):
self.file_patterns = ['.*bin\/.*', '^\/etc\/.*', '^\/usr\/lib\/sendmail$']
self.dir_patterns = ['.*bin\/.*', '^\/etc\/.*']
self.skip_symlinks = False
+ self.skip_symlinked_dirs = False
self.pkglist = []
self.database_only = False
- self.primaryfile = 'primary.xml.gz'
-@@ -280,6 +281,8 @@
+ self.primaryfile = 'primary.xml'
+@@ -299,6 +300,8 @@ class MetaDataGenerator:
func(arg, top, names)
for name in names:
name = os.path.join(top, name)
@@ -18,11 +17,9 @@
if os.path.isdir(name):
self._os_path_walk(name, func, arg)
def getFileList(self, directory, ext):
-Only in b/createrepo: .__init__.py.swp
-diff -ru a/genpkgmetadata.py b/genpkgmetadata.py
---- a/genpkgmetadata.py 2011-01-26 18:14:30.000000000 +0100
-+++ b/genpkgmetadata.py 2012-01-25 14:57:19.262496442 +0100
-@@ -92,6 +92,8 @@
+--- ./genpkgmetadata.py.orig 2014-01-28 12:28:48.000000000 +0000
++++ ./genpkgmetadata.py 2014-02-24 12:45:42.527203978 +0000
+@@ -99,6 +99,8 @@ def parse_args(args, conf):
help="<dir> = optional directory to output to")
parser.add_option("-S", "--skip-symlinks", dest="skip_symlinks",
default=False, action="store_true", help="ignore symlinks of packages")
@@ -31,4 +28,3 @@
parser.add_option("--changelog-limit", dest="changelog_limit",
default=None, help="only import the last N changelog entries")
parser.add_option("--unique-md-filenames", dest="unique_md_filenames",
-Only in b: .genpkgmetadata.py.swp
++++++ createrepo-0.9.9-license-to-confirm.patch ++++++
--- /var/tmp/diff_new_pack.c19mdv/_old 2014-02-28 16:22:15.000000000 +0100
+++ /var/tmp/diff_new_pack.c19mdv/_new 2014-02-28 16:22:15.000000000 +0100
@@ -1,7 +1,7 @@
---- createrepo/__init__.py.orig 2010-04-09 11:09:01.000000000 +0200
-+++ createrepo/__init__.py 2010-04-09 11:13:01.000000000 +0200
-@@ -417,6 +418,7 @@
- fo = _gzipOpen(primaryfilepath, 'w')
+--- ./createrepo/__init__.py.orig 2014-01-28 12:28:49.000000000 +0000
++++ ./createrepo/__init__.py 2014-02-24 12:15:04.686207231 +0000
+@@ -445,6 +445,7 @@ class MetaDataGenerator:
+ fo = compressOpen(primaryfilepath, 'w', 'gz')
fo.write('<?xml version="1.0" encoding="UTF-8"?>\n')
fo.write('<metadata xmlns="http://linux.duke.edu/metadata/common"' \
+ ' xmlns:suse="http://novell.com/package/metadata/suse/common"' \
++++++ createrepo-0.9.9-sort-packages-before-writing-repodata.patch ++++++
--- /var/tmp/diff_new_pack.c19mdv/_old 2014-02-28 16:22:15.000000000 +0100
+++ /var/tmp/diff_new_pack.c19mdv/_new 2014-02-28 16:22:15.000000000 +0100
@@ -1,15 +1,16 @@
-diff -ru a/createrepo/__init__.py b/createrepo/__init__.py
---- a/createrepo/__init__.py 2011-01-26 18:14:30.000000000 +0100
-+++ b/createrepo/__init__.py 2012-01-25 16:05:55.627594528 +0100
-@@ -24,6 +24,7 @@
+Index: createrepo-0.10.3/createrepo/__init__.py
+===================================================================
+--- createrepo-0.10.3.orig/createrepo/__init__.py
++++ createrepo-0.10.3/createrepo/__init__.py
+@@ -24,6 +24,7 @@ from bz2 import BZ2File
from urlgrabber import grabber
import tempfile
import stat
+import re
import fcntl
import subprocess
-
-@@ -504,6 +505,30 @@
+ from select import select
+@@ -540,6 +541,38 @@ class MetaDataGenerator:
" add it" % po
return po
@@ -17,17 +18,25 @@
+ def sortPackages(self, pkglist):
+ class PackageKey:
+ def __init__(self, package):
++ self.n, self.vr, self.a = self._nvra(package)
++
++ def _nvra(self, package):
++ # package might be a filename or a
++ # yum.sqlitesack.YumAvailablePackageSqlite object
++ try:
++ return (package.name,
++ package.version + '-' + package.release,
++ package.arch)
++ except AttributeError:
++ return self._parse_filename(package)
++
++ def _parse_filename(self, filename):
+ m = re.search(r"([^/]+)-([^/-]+-[^/-]+)\.([^/.]+)\.rpm$",
-+ package)
++ filename)
+ if m:
-+ self.n = m.group(1)
-+ self.vr = m.group(2)
-+ self.a = m.group(3)
-+ else:
-+ # give up on sorting
-+ self.n = package
-+ self.vr = 0
-+ self.a = 0
++ return m.groups()
++ # give up on sorting
++ return package, 0, 0
+ def __lt__(self, other):
+ if self.n != other.n:
+ return self.n < other.n
@@ -40,7 +49,7 @@
def writeMetadataDocs(self, pkglist=[], pkgpath=None):
-@@ -515,6 +540,8 @@
+@@ -551,6 +584,8 @@ class MetaDataGenerator:
else:
directory = pkgpath
@@ -49,4 +58,3 @@
# for worker/forked model
# iterate the pkglist - see which ones are handled by --update and let them
# go on their merry way
-Only in b/createrepo: .__init__.py.swp
++++++ createrepo.dsc ++++++
Format: 1.0
Source: createrepo
Version: 0.9.9
Binary: createrepo
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: all
Standards-Version: 3.7.2
Build-Depends: debhelper (>= 4), python-dev, travis-deps, python-libxml2, python-urlgrabber, python-rpm, yum, python-sqlitecachec
++++++ debian.changelog ++++++
createrepo (2014.02.24-1) unstable; urgency=low
* update to version 10.0.3
-- Michael Schroeder <mls(a)suse.de> Mon, 24 Feb 2014 13:48:22 +0200
createrepo (2011.10.10-1) unstable; urgency=low
* initial debian packaging for travis
-- Adrian Schroeter <adrian(a)suse.de> Tue, 11 Jun 2013 19:30:22 +0200
++++++ debian.rules ++++++
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany
# This file and all modifications and additions to the pristine package
# are under the same license as the package itself.
#
# Please submit bugfixes or commens via http://bugs.opensuse.org
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
SHELL=/bin/bash
configure: configure-stamp
configure-stamp:
dh_testdir
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
make install 'PKGDIR=$$(PYLIBDIR)/$$(PKGNAME)' DESTDIR=$(CURDIR)/debian/createrepo/
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installdocs
dh_installexamples
dh_installman
dh_link
dh_strip
dh_compress
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary-indep: build install
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
--
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 yum for openSUSE:Factory checked in at 2014-02-28 16:22:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yum (Old)
and /work/SRC/openSUSE:Factory/.yum.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yum"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yum/yum.changes 2014-01-03 14:50:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yum.new/yum.changes 2014-02-28 16:22:10.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Feb 24 18:53:37 UTC 2014 - suse-tux(a)gmx.de
+
+- minor change to the suse-missing-tags patch in order to fix bnc#841280
+
+-------------------------------------------------------------------
+Mon Feb 24 15:12:21 CET 2014 - mls(a)suse.de
+
+- adapt suse-missing-tags tags to new rpm weak dependency tags
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yum.spec ++++++
--- /var/tmp/diff_new_pack.LZAhPS/_old 2014-02-28 16:22:10.000000000 +0100
+++ /var/tmp/diff_new_pack.LZAhPS/_new 2014-02-28 16:22:10.000000000 +0100
@@ -93,7 +93,7 @@
%setup -q
%patch1 -p1
%patch2 -p1
-%patch3 -p1
+%patch3
%patch6 -p1
%patch7 -p1
%patch8 -p1
++++++ yum-3.4.3-suse-missing-tags.patch ++++++
--- /var/tmp/diff_new_pack.LZAhPS/_old 2014-02-28 16:22:10.000000000 +0100
+++ /var/tmp/diff_new_pack.LZAhPS/_new 2014-02-28 16:22:10.000000000 +0100
@@ -1,125 +1,129 @@
-diff -ru a/yum/packages.py b/yum/packages.py
---- a/yum/packages.py 2011-06-28 22:27:22.000000000 +0200
-+++ b/yum/packages.py 2012-02-23 09:56:09.814485258 +0100
-@@ -1121,6 +1121,8 @@
+--- ./yum/mdparser.py.orig 2014-02-25 11:04:36.905061790 +0000
++++ ./yum/mdparser.py 2014-02-25 11:04:45.009061775 +0000
+@@ -155,7 +155,8 @@ class PrimaryEntry(BaseEntry):
+ p[name] = child.text
+
+ elif name in ('provides', 'requires', 'conflicts',
+- 'obsoletes'):
++ 'obsoletes',
++ 'suggests', 'enhances', 'recommends', 'supplements'):
+ self.prco[name] = self.getPrco(child)
+
+ elif name == 'header-range':
+--- ./yum/packages.py.orig 2014-02-25 11:04:36.910061790 +0000
++++ ./yum/packages.py 2014-02-25 12:31:03.379052610 +0000
+@@ -54,6 +54,14 @@ except ImportError:
+ import pwd
+ import grp
+
++# check if rpm has the new weakdeps tags
++_new_weakdeps = False
++try:
++ if rpm.RPMTAG_ENHANCENAME:
++ _new_weakdeps = True
++except:
++ pass
++
+ def comparePoEVR(po1, po2):
+ """
+ Compare two Package or PackageEVR objects.
+@@ -412,6 +420,10 @@ class RpmBase(object):
+ self.prco['conflicts'] = [] # (name, flag, (e,v,r))
+ self.prco['requires'] = [] # (name, flag, (e,v,r))
+ self.prco['provides'] = [] # (name, flag, (e,v,r))
++ self.prco['suggests'] = [] # (name, flag, (e,v,r))
++ self.prco['enhances'] = [] # (name, flag, (e,v,r))
++ self.prco['recommends'] = [] # (name, flag, (e,v,r))
++ self.prco['supplements'] = [] # (name, flag, (e,v,r))
+ self.files = {}
+ self.files['file'] = []
+ self.files['dir'] = []
+@@ -615,6 +627,10 @@ class RpmBase(object):
+ provides = property(fget=lambda self: self.returnPrco('provides'))
+ obsoletes = property(fget=lambda self: self.returnPrco('obsoletes'))
+ conflicts = property(fget=lambda self: self.returnPrco('conflicts'))
++ suggests = property(fget=lambda self: self.returnPrco('suggests'))
++ enhances = property(fget=lambda self: self.returnPrco('enhances'))
++ recommends = property(fget=lambda self: self.returnPrco('recommends'))
++ supplements = property(fget=lambda self: self.returnPrco('supplements'))
+ provides_names = property(fget=lambda self: self.returnPrcoNames('provides'))
+ requires_names = property(fget=lambda self: self.returnPrcoNames('requires'))
+ conflicts_names = property(fget=lambda self: self.returnPrcoNames('conflicts'))
+@@ -1122,6 +1138,10 @@ class YumAvailablePackage(PackageObject,
msg += self._dump_requires()
msg += self._dump_pco('conflicts')
msg += self._dump_pco('obsoletes')
-+ msg += self._dump_suggests_and_recommends()
-+ msg += self._dump_enhances_and_supplements()
++ msg += self._dump_pco('suggests')
++ msg += self._dump_pco('enhances')
++ msg += self._dump_pco('recommends')
++ msg += self._dump_pco('supplements')
msg += self._dump_files(True)
if msg[-1] != '\n':
msg += """\n"""
-@@ -1173,11 +1175,110 @@
+@@ -1358,6 +1378,17 @@ class YumHeaderPackage(YumAvailablePacka
+ def _get_hdr(self):
+ return self.hdr
- def _requires_with_pre(self):
- raise NotImplementedError()
--
-+
-+ # Rather than trying to stuff enhances, suggests, supplements and recommends
-+ # into yum like the other tags, I'll save my sanity and just do it by hand.
-+ def _dump_suggests_and_recommends(self):
-+ msg = ""
-+ suggests = ""
-+ recommends = ""
-+ names = self.hdr[rpm.RPMTAG_SUGGESTSNAME]
-+ if not names:
-+ return msg
++ def _filter_deps(self, name, flag, vers, andmask, resmask):
++ newname = []
++ newflag = []
++ newvers = []
++ for (n, f, v) in zip(name, flag, vers):
++ if f & andmask == resmask:
++ newname.append(n)
++ newflag.append(f)
++ newvers.append(v)
++ return (newname, newflag, newvers)
+
-+ if type(names).__name__ != 'list':
-+ names = [names]
-+
-+ flags = self.hdr[rpm.RPMTAG_SUGGESTSFLAGS]
-+ if type(flags).__name__ != 'list':
-+ flags = [flags]
-+
-+ versions = self.hdr[rpm.RPMTAG_SUGGESTSVERSION]
-+ if type(versions).__name__ != 'list':
-+ versions = [versions]
+ def _populatePrco(self):
+ "Populate the package object with the needed PRCO interface."
+
+@@ -1383,6 +1414,33 @@ class YumHeaderPackage(YumAvailablePacka
+
+ prcotype = tag2prco[tag]
+ self.prco[prcotype] = map(misc.share_data, zip(name,flag,vers))
+
-+ for i in range(len(names)):
-+ name = names[i]
-+ if name.startswith('rpmlib('):
-+ continue
-+ flag = flags[i]
-+ flagstr = flagToString(flag)
-+ (e,v,r) = stringToVersion(versions[i])
-+ entry = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
-+ if flagstr:
-+ entry += ''' flags="%s"''' % misc.to_xml(flagstr, attrib=True)
-+ if e:
-+ entry += ''' epoch="%s"''' % misc.to_xml(e, attrib=True)
-+ if v:
-+ entry += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
-+ if r:
-+ entry += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
-+ entry += "/>\n"
-+ if flag & rpm.RPMSENSE_STRONG:
-+ recommends += entry
++ tag2prco = { "SUGGEST": ( misc.share_data("suggests"), 1156, 1157, 1158, 1 << 27, 0),
++ "ENHANCE": ( misc.share_data("enhances"), 1159, 1160, 1161, 1 << 27, 0),
++ "RECOMMEND": ( misc.share_data("recommends"), 1156, 1157, 1158, 1 << 27, 1 << 27),
++ "SUPPLEMENT": ( misc.share_data("supplements"), 1159, 1160, 1161, 1 << 27, 1 << 27) }
++ for tag in tag2prco:
++ (prcotype, oldtagn, oldtagv, oldtagf, andmask, resmask) = tag2prco[tag]
++ name = None
++ if _new_weakdeps:
++ name = hdr[getattr(rpm, 'RPMTAG_%sNAME' % tag)]
++ if not name:
++ name = hdr[oldtagn]
++ if not name:
++ continue
++ (name, flag, vers) = self._filter_deps(name, hdr[oldtagf], hdr[oldtagv], andmask, resmask)
+ else:
-+ suggests += entry
-+ if suggests:
-+ msg += "\n <rpm:suggests>\n"
-+ msg += suggests
-+ msg += " </rpm:suggests>\n"
-+ if recommends:
-+ msg += "\n <rpm:recommends>\n"
-+ msg += recommends
-+ msg += " </rpm:recommends>\n"
-+
-+ return msg
-+
-+ def _dump_enhances_and_supplements(self):
-+ msg, enhances, supplements = "", "", ""
-+ names = self.hdr[rpm.RPMTAG_ENHANCESNAME]
-+ if not names:
-+ return msg
-+ if type(names).__name__ != 'list':
-+ names = [names]
-+
-+ flags = self.hdr[rpm.RPMTAG_ENHANCESFLAGS]
-+ if type(flags).__name__ != 'list':
-+ flags = [flags]
-+
-+ versions = self.hdr[rpm.RPMTAG_ENHANCESVERSION]
-+ if type(versions).__name__ != 'list':
-+ versions = [versions]
-+
-+ for i in range(len(names)):
-+ name = names[i]
-+ if name.startswith('rpmlib('):
++ flag = hdr[getattr(rpm, 'RPMTAG_%sFLAGS' % tag)]
++ vers = hdr[getattr(rpm, 'RPMTAG_%sVERSION' % tag)]
++ name = map(misc.share_data, name)
++ if not name: # empty or none or whatever, doesn't matter
+ continue
-+ flag = flags[i]
-+ flagstr = flagToString(flag)
-+ (e,v,r) = stringToVersion(versions[i])
-+ entry = ''' <rpm:entry name="%s"''' % misc.to_xml(name, attrib=True)
-+ if flagstr:
-+ entry += ''' flags="%s"''' % misc.to_xml(flagstr, attrib=True)
-+ if e:
-+ entry += ''' epoch="%s"''' % misc.to_xml(e, attrib=True)
-+ if v:
-+ entry += ''' ver="%s"''' % misc.to_xml(v, attrib=True)
-+ if r:
-+ entry += ''' rel="%s"''' % misc.to_xml(r, attrib=True)
-+ entry += "/>\n"
-+ if flag & rpm.RPMSENSE_STRONG:
-+ supplements += entry
-+ else:
-+ enhances += entry
-+ if supplements:
-+ msg += "\n <rpm:supplements>\n"
-+ msg += supplements
-+ msg += " </rpm:supplements>\n"
-+ if enhances:
-+ msg += "\n <rpm:enhances>\n"
-+ msg += enhances
-+ msg += " </rpm:enhances>\n"
-+ return msg
-+
- def _dump_requires(self):
- """returns deps in XML format"""
- mylist = self._requires_with_pre()
--
- msg = ""
-
- if mylist: msg = "\n <rpm:requires>\n"
++ flag = map(rpmUtils.miscutils.flagToString, flag)
++ flag = map(misc.share_data, flag)
++ vers = map(rpmUtils.miscutils.stringToVersion, vers)
++ vers = map(lambda x: (misc.share_data(x[0]), misc.share_data(x[1]),
++ misc.share_data(x[2])), vers)
++ self.prco[prcotype] = map(misc.share_data, zip(name,flag,vers))
+
+ def tagByName(self, tag):
+ warnings.warn("tagByName() will go away in a furture version of Yum.\n",
+--- ./yum/sqlitesack.py.orig 2014-02-25 11:04:36.922061790 +0000
++++ ./yum/sqlitesack.py 2014-02-25 12:22:10.025053554 +0000
+@@ -179,7 +179,11 @@ class YumAvailablePackageSqlite(YumAvail
+ self.prco = { 'obsoletes': (),
+ 'conflicts': (),
+ 'requires': (),
+- 'provides': () }
++ 'provides': (),
++ 'suggests': (),
++ 'enhances': (),
++ 'recommends': (),
++ 'supplements': () }
+ self.sack = repo.sack
+ self.repoid = repo.id
+ self.repo = repo
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0