openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2014
- 1 participants
- 1581 discussions
Hello community,
here is the log from the commit of package systemd-rpm-macros for openSUSE:Factory checked in at 2014-02-28 16:25:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd-rpm-macros (Old)
and /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd-rpm-macros"
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd-rpm-macros/systemd-rpm-macros.changes 2014-02-11 10:46:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.systemd-rpm-macros.new/systemd-rpm-macros.changes 2014-02-28 16:25:26.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Feb 28 10:10:24 UTC 2014 - werner(a)suse.de
+
+- Require coreutils as rm and touch are used
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd-rpm-macros.spec ++++++
--- /var/tmp/diff_new_pack.303VpC/_old 2014-02-28 16:25:26.000000000 +0100
+++ /var/tmp/diff_new_pack.303VpC/_new 2014-02-28 16:25:26.000000000 +0100
@@ -26,6 +26,7 @@
Group: System/Base
Url: http://en.opensuse.org/openSUSE:Systemd_packaging_guidelines
Source0: macros.systemd
+Requires: coreutils
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
--
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 cardpeek for openSUSE:Factory checked in at 2014-02-28 16:25:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cardpeek (Old)
and /work/SRC/openSUSE:Factory/.cardpeek.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cardpeek"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cardpeek/cardpeek.changes 2013-10-21 15:10:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cardpeek.new/cardpeek.changes 2014-02-28 16:25:21.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Feb 12 18:00:23 UTC 2014 - prusnak(a)opensuse.org
+
+- updated to 0.8.2
+- drop obsoleted patches (included upstream)
+
+-------------------------------------------------------------------
Old:
----
cardpeek-0.7.2.tar.gz
cardpeek-desktop.patch
cardpeek-implicit-declaration.patch
cardpeek-lua-load.patch
cardpeek-lua-objlen.patch
cardpeek-lua-open.patch
cardpeek-lual-reg.patch
New:
----
cardpeek-0.8.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cardpeek.spec ++++++
--- /var/tmp/diff_new_pack.jvT5wP/_old 2014-02-28 16:25:21.000000000 +0100
+++ /var/tmp/diff_new_pack.jvT5wP/_new 2014-02-28 16:25:21.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package cardpeek
#
-# 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,38 +17,22 @@
Name: cardpeek
-Version: 0.7.2
+Version: 0.8.2
Release: 0
-Url: https://code.google.com/p/cardpeek/
-Summary: Tool To Read Contents of ISO7816 Smart Cards (Credit Cards, GSM SIM etc.)
+Summary: Tool To Read Contents of ISO7816 Smart Cards (Credit Cards, GSM SIM etc
License: GPL-3.0
Group: Productivity/Security
-Source: https://cardpeek.googlecode.com/files/%{name}-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE cardpeek-lual-reg.patch sbrabec(a)suse.cz -- Change luaL_reg to luaL_Reg as required by lua-5.2 and later.
-Patch1: cardpeek-lual-reg.patch
-# PATCH-FIX-OPENSUSE cardpeek-lua-load.patch sbrabec(a)suse.cz -- Fix number of arguments in lua_load as required by lua-5.2 and later.
-Patch2: cardpeek-lua-load.patch
-# PATCH-FIX-OPENSUSE cardpeek-lua-open.patch sbrabec(a)suse.cz -- Replace lua_open by lua_newstate as required by lua-5.1 and later.
-Patch3: cardpeek-lua-open.patch
-# PATCH-FIX-OPENSUSE cardpeek-lua-objlen.patch sbrabec(a)suse.cz -- Replace lua_objlen by lua_rawlen as required by lua-5.2 and later.
-Patch4: cardpeek-lua-objlen.patch
-# PATCH-FIX-OPENSUSE cardpeek-implicit-declaration.patch sbrabec(a)suse.cz -- Fix implicit declaration of luaL_openlib.
-Patch5: cardpeek-implicit-declaration.patch
-# PATCH-FIX-OPENSUSE cardpeek-desktop.patch sbrabec(a)suse.cz -- Fix desktop file.
-Patch6: cardpeek-desktop.patch
-BuildRequires: glib2-devel
-BuildRequires: gtk2-devel
+Url: http://pannetrat.com/Cardpeek/
+Source: http://downloads.pannetrat.com/install/%{name}-%{version}.tar.gz
+BuildRequires: desktop-file-utils
+BuildRequires: gtk3-devel
+BuildRequires: hicolor-icon-theme
+BuildRequires: libcurl-devel
BuildRequires: lua-devel
BuildRequires: openssl-devel
BuildRequires: pcsc-lite-devel
BuildRequires: pkg-config
-%if 0%{?suse_version} > 1130
-BuildRequires: desktop-file-utils
-BuildRequires: hicolor-icon-theme
-%endif
-# Needed for Patch5:
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: pkgconfig(glib-2.0)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -71,25 +55,16 @@
%prep
%setup -q
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
%build
-# Needed for Patch5:
-autoreconf -f -i
-%configure\
- --docdir=%{_docdir}/%{name}
-make %{?jobs:-j%jobs}
+%configure --docdir=%{_docdir}/%{name}
+make %{?_smp_mflags}
%install
-%makeinstall
+%make_install
%clean
-rm -rf $RPM_BUILD_ROOT
+rm -rf %{buildroot}
%post
%if 0%{?suse_version} > 1130
@@ -106,10 +81,10 @@
%files
%defattr(-,root,root)
# NEWS is empty
-%doc AUTHORS ChangeLog COPYING README
-%{_bindir}/*
-%{_datadir}/applications/*.desktop
+%doc AUTHORS COPYING ChangeLog README
+%doc %{_mandir}/man1/cardpeek.1*
+%{_bindir}/cardpeek
+%{_datadir}/applications/cardpeek.desktop
%{_datadir}/icons/hicolor/*/*/*.*
-%doc %{_mandir}/man1/*.1*
%changelog
++++++ cardpeek-0.7.2.tar.gz -> cardpeek-0.8.2.tar.gz ++++++
++++ 39022 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 libsolv for openSUSE:Factory checked in at 2014-02-28 16:25:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsolv (Old)
and /work/SRC/openSUSE:Factory/.libsolv.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsolv"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libsolv/libsolv.changes 2014-02-16 09:10:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libsolv.new/libsolv.changes 2014-02-28 16:25:14.000000000 +0100
@@ -1,0 +2,17 @@
+Wed Feb 26 15:08:35 CET 2014 - mls(a)suse.de
+
+- improve appdata.xml parsing [bnc#865293]
+- repo_helix: parse application elements
+- bump version to 0.5.0
+
+-------------------------------------------------------------------
+Fri Feb 21 16:23:58 CET 2014 - mls(a)suse.de
+
+- fix bug in solver_get_unneeded that could lead to an
+ endless loop [bnc#828764]
+- adapt to new rpm tags for weak dependencies
+- fix pseudo packages obsoleting other pseudo packages
+- optimize unfulfilled rule handling a bit
+- bump version to 0.4.5
+
+-------------------------------------------------------------------
Old:
----
libsolv-0.4.4.tar.bz2
New:
----
libsolv-0.5.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsolv.spec ++++++
--- /var/tmp/diff_new_pack.qUyx8u/_old 2014-02-28 16:25:14.000000000 +0100
+++ /var/tmp/diff_new_pack.qUyx8u/_new 2014-02-28 16:25:14.000000000 +0100
@@ -17,7 +17,7 @@
Name: libsolv
-Version: 0.4.4
+Version: 0.5.0
Release: 0
Url: git://gitorious.org/opensuse/libsolv.git
Source: libsolv-%{version}.tar.bz2
++++++ libsolv-0.4.4.tar.bz2 -> libsolv-0.5.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/VERSION.cmake new/libsolv-0.5.0/VERSION.cmake
--- old/libsolv-0.4.4/VERSION.cmake 2014-02-14 11:05:52.000000000 +0100
+++ new/libsolv-0.5.0/VERSION.cmake 2014-02-26 15:20:18.000000000 +0100
@@ -48,6 +48,6 @@
SET(LIBSOLVEXT_SOVERSION "0")
SET(LIBSOLV_MAJOR "0")
-SET(LIBSOLV_MINOR "4")
-SET(LIBSOLV_PATCH "4")
+SET(LIBSOLV_MINOR "5")
+SET(LIBSOLV_PATCH "0")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/bindings/CMakeLists.txt new/libsolv-0.5.0/bindings/CMakeLists.txt
--- old/libsolv-0.4.4/bindings/CMakeLists.txt 2013-10-04 11:23:38.000000000 +0200
+++ new/libsolv-0.5.0/bindings/CMakeLists.txt 2014-02-27 16:20:52.000000000 +0100
@@ -6,8 +6,15 @@
SET (SWIG_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/solv.i")
IF (ENABLE_PYTHON)
+ IF (ENABLE_PYTHON3)
+ # build for both python and python3
+ SET (PythonLibs_FIND_VERSION 2)
+ ENDIF (ENABLE_PYTHON3)
ADD_SUBDIRECTORY (python)
ENDIF (ENABLE_PYTHON)
+IF (ENABLE_PYTHON3)
+ ADD_SUBDIRECTORY (python3)
+ENDIF (ENABLE_PYTHON3)
IF (ENABLE_PERL)
ADD_SUBDIRECTORY (perl)
ENDIF (ENABLE_PERL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/bindings/solv.i new/libsolv-0.5.0/bindings/solv.i
--- old/libsolv-0.4.4/bindings/solv.i 2014-01-09 13:30:53.000000000 +0100
+++ new/libsolv-0.5.0/bindings/solv.i 2014-02-27 16:20:52.000000000 +0100
@@ -1752,11 +1752,9 @@
}
}
#endif
-
#ifdef SWIGPERL
perliter(solv::Dataiterator)
#endif
-
%newobject __next__;
Datamatch *__next__() {
Dataiterator *ndi;
@@ -1986,7 +1984,6 @@
}
}
#endif
-
#ifdef SWIGPERL
perliter(solv::Pool_solvable_iterator)
#endif
@@ -2046,6 +2043,9 @@
}
}
#endif
+#ifdef SWIGPERL
+ perliter(solv::Pool_repo_iterator)
+#endif
%newobject __next__;
Repo *__next__() {
Pool *pool = $self->pool;
@@ -2103,6 +2103,9 @@
}
}
#endif
+#ifdef SWIGPERL
+ perliter(solv::Repo_solvable_iterator)
+#endif
%newobject __next__;
XSolvable *__next__() {
Repo *repo = $self->repo;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/ext/repo_appdata.c new/libsolv-0.5.0/ext/repo_appdata.c
--- old/libsolv-0.4.4/ext/repo_appdata.c 2013-10-09 13:21:32.000000000 +0200
+++ new/libsolv-0.5.0/ext/repo_appdata.c 2014-02-27 15:55:52.000000000 +0100
@@ -61,7 +61,7 @@
{ STATE_START, "applications", STATE_START, 0 },
{ STATE_START, "application", STATE_APPLICATION, 0 },
{ STATE_APPLICATION, "id", STATE_ID, 1 },
- { STATE_APPLICATION, "licence", STATE_LICENCE, 1 },
+ { STATE_APPLICATION, "product_license", STATE_LICENCE, 1 },
{ STATE_APPLICATION, "name", STATE_NAME, 1 },
{ STATE_APPLICATION, "summary", STATE_SUMMARY, 1 },
{ STATE_APPLICATION, "description", STATE_DESCRIPTION, 0 },
@@ -95,6 +95,13 @@
char *description;
int licnt;
+ int skip_tag;
+ int skip_tag_d;
+ int skip_tag_li;
+
+ int flags;
+ char *desktop_file;
+ int havesummary;
};
@@ -155,13 +162,38 @@
case STATE_APPLICATION:
s = pd->solvable = pool_id2solvable(pool, repo_add_solvable(pd->repo));
pd->handle = s - pool->solvables;
+ pd->havesummary = 0;
+ break;
+ case STATE_NAME:
+ case STATE_SUMMARY:
+ pd->skip_tag = 0;
+ if (find_attr("xml:lang", atts))
+ pd->skip_tag = 1;
break;
case STATE_DESCRIPTION:
+ pd->skip_tag_d = 0;
+ if (find_attr("xml:lang", atts))
+ pd->skip_tag_d = 1;
pd->description = solv_free(pd->description);
break;
case STATE_OL:
+ case STATE_UL:
+ pd->skip_tag = 0;
+ if (find_attr("xml:lang", atts))
+ pd->skip_tag = 1;
pd->licnt = 0;
break;
+ case STATE_P:
+ pd->skip_tag = 0;
+ if (find_attr("xml:lang", atts))
+ pd->skip_tag = 1;
+ break;
+ case STATE_UL_LI:
+ case STATE_OL_LI:
+ pd->skip_tag_li = 0;
+ if (find_attr("xml:lang", atts))
+ pd->skip_tag_li = 1;
+ break;
default:
break;
}
@@ -216,6 +248,79 @@
}
}
+static void
+add_missing_tags_from_desktop_file(struct parsedata *pd, Solvable *s, const char *desktop_file)
+{
+ Pool *pool = pd->pool;
+ FILE *fp;
+ const char *filepath;
+ char buf[1024];
+ char *p, *p2, *p3;
+ int inde = 0;
+
+ filepath = pool_tmpjoin(pool, "/usr/share/applications/", desktop_file, 0);
+ if (pd->flags & REPO_USE_ROOTDIR)
+ filepath = pool_prepend_rootdir_tmp(pool, filepath);
+ if (!(fp = fopen(filepath, "r")))
+ return;
+ while (fgets(buf, sizeof(buf), fp) > 0)
+ {
+ int c, l = strlen(buf);
+ if (!l)
+ continue;
+ if (buf[l - 1] != '\n')
+ {
+ /* ignore overlong lines */
+ while ((c = getc(fp)) != EOF)
+ if (c == '\n')
+ break;
+ if (c == EOF)
+ break;
+ continue;
+ }
+ buf[--l] = 0;
+ while (l && (buf[l - 1] == ' ' || buf[l - 1] == '\t'))
+ buf[--l] = 0;
+ p = buf;
+ while (*p == ' ' || *p == '\t')
+ p++;
+ if (!*p || *p == '#')
+ continue;
+ if (*p == '[')
+ inde = 0;
+ if (!strcmp(p, "[Desktop Entry]"))
+ {
+ inde = 1;
+ continue;
+ }
+ if (!inde)
+ continue;
+ p2 = strchr(p, '=');
+ if (!p2 || p2 == p)
+ continue;
+ *p2 = 0;
+ for (p3 = p2 - 1; *p3 == ' ' || *p3 == '\t'; p3--)
+ *p3 = 0;
+ p2++;
+ while (*p2 == ' ' || *p2 == '\t')
+ p2++;
+ if (!*p2)
+ continue;
+ if (!s->name && !strcmp(p, "Name"))
+ s->name = pool_str2id(pool, pool_tmpjoin(pool, "application:", p2, 0), 1);
+ else if (!pd->havesummary && !strcmp(p, "Comment"))
+ {
+ pd->havesummary = 1;
+ repodata_set_str(pd->data, pd->handle, SOLVABLE_SUMMARY, p2);
+ }
+ else
+ continue;
+ if (s->name && pd->havesummary)
+ break; /* our work is done */
+ }
+ fclose(fp);
+}
+
static void XMLCALL
endElement(void *userData, const char *name)
{
@@ -246,25 +351,51 @@
s->arch = ARCH_NOARCH;
if (!s->evr)
s->evr = ID_EMPTY;
+ if ((!s->name || !pd->havesummary) && (pd->flags & APPDATA_CHECK_DESKTOP_FILE) != 0 && pd->desktop_file)
+ add_missing_tags_from_desktop_file(pd, s, pd->desktop_file);
+ if (!s->name && pd->desktop_file)
+ {
+ char *name = pool_tmpjoin(pool, "application:", pd->desktop_file, 0);
+ int l = strlen(name);
+ if (l > 8 && !strcmp(".desktop", name + l - 8))
+ l -= 8;
+ s->name = pool_strn2id(pool, name, l, 1);
+ }
if (s->name && s->arch != ARCH_SRC && s->arch != ARCH_NOSRC)
s->provides = repo_addid_dep(pd->repo, s->provides, pool_rel2id(pd->pool, s->name, s->evr, REL_EQ, 1), 0);
pd->solvable = 0;
+ pd->desktop_file = solv_free(pd->desktop_file);
break;
case STATE_ID:
+ pd->desktop_file = solv_strdup(pd->content);
+ /* guess the appdata.xml file name from the id element */
if (pd->lcontent > 8 && !strcmp(".desktop", pd->content + pd->lcontent - 8))
pd->content[pd->lcontent - 8] = 0;
- id = pool_str2id(pd->pool, pool_tmpjoin(pool, "appdata(", pd->content, ")"), 1);
+ else if (pd->lcontent > 4 && !strcmp(".ttf", pd->content + pd->lcontent - 4))
+ pd->content[pd->lcontent - 4] = 0;
+ else if (pd->lcontent > 4 && !strcmp(".otf", pd->content + pd->lcontent - 4))
+ pd->content[pd->lcontent - 4] = 0;
+ else if (pd->lcontent > 4 && !strcmp(".xml", pd->content + pd->lcontent - 4))
+ pd->content[pd->lcontent - 4] = 0;
+ else if (pd->lcontent > 3 && !strcmp(".db", pd->content + pd->lcontent - 3))
+ pd->content[pd->lcontent - 3] = 0;
+ id = pool_str2id(pd->pool, pool_tmpjoin(pool, "appdata(", pd->content, ".appdata.xml)"), 1);
s->requires = repo_addid_dep(pd->repo, s->requires, id, 0);
- id = pool_str2id(pd->pool, pool_tmpjoin(pool, "application-appdata(", pd->content, ")"), 1);
+ id = pool_str2id(pd->pool, pool_tmpjoin(pool, "application-appdata(", pd->content, ".appdata.xml)"), 1);
s->provides = repo_addid_dep(pd->repo, s->provides, id, 0);
break;
case STATE_NAME:
+ if (pd->skip_tag)
+ break;
s->name = pool_str2id(pd->pool, pool_tmpjoin(pool, "application:", pd->content, 0), 1);
break;
case STATE_LICENCE:
repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_LICENSE, pd->content);
break;
case STATE_SUMMARY:
+ if (pd->skip_tag)
+ break;
+ pd->havesummary = 1;
repodata_set_str(pd->data, pd->handle, SOLVABLE_SUMMARY, pd->content);
break;
case STATE_URL:
@@ -274,7 +405,7 @@
repodata_add_poolstr_array(pd->data, pd->handle, SOLVABLE_GROUP, pd->content);
break;
case STATE_DESCRIPTION:
- if (pd->description)
+ if (pd->description && !pd->skip_tag_d)
{
/* strip trailing newlines */
int l = strlen(pd->description);
@@ -284,16 +415,22 @@
}
break;
case STATE_P:
+ if (pd->skip_tag)
+ break;
wsstrip(pd);
pd->description = solv_dupappend(pd->description, pd->content, "\n\n");
break;
case STATE_UL_LI:
+ if (pd->skip_tag || pd->skip_tag_li)
+ break;
wsstrip(pd);
indent(pd, 4);
pd->content[2] = '-';
pd->description = solv_dupappend(pd->description, pd->content, "\n");
break;
case STATE_OL_LI:
+ if (pd->skip_tag || pd->skip_tag_li)
+ break;
wsstrip(pd);
indent(pd, 4);
if (++pd->licnt >= 10)
@@ -304,6 +441,8 @@
break;
case STATE_UL:
case STATE_OL:
+ if (pd->skip_tag)
+ break;
pd->description = solv_dupappend(pd->description, "\n", 0);
break;
default:
@@ -358,6 +497,7 @@
pd.repo = repo;
pd.pool = repo->pool;
pd.data = data;
+ pd.flags = flags;
pd.content = malloc(256);
pd.acontent = 256;
@@ -391,7 +531,9 @@
if (!(flags & REPO_NO_INTERNALIZE))
repodata_internalize(data);
- free(pd.content);
+ solv_free(pd.content);
+ solv_free(pd.desktop_file);
+ solv_free(pd.description);
return ret;
}
@@ -427,10 +569,12 @@
pool_error(repo->pool, 0, "%s: %s", n, strerror(errno));
continue;
}
- repo_add_appdata(repo, fp, flags | REPO_NO_INTERNALIZE | REPO_REUSE_REPODATA);
+ repo_add_appdata(repo, fp, flags | REPO_NO_INTERNALIZE | REPO_REUSE_REPODATA | APPDATA_CHECK_DESKTOP_FILE);
fclose(fp);
}
+ closedir(dir);
}
+ solv_free(dirpath);
if (!(flags & REPO_NO_INTERNALIZE))
repodata_internalize(data);
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/ext/repo_appdata.h new/libsolv-0.5.0/ext/repo_appdata.h
--- old/libsolv-0.4.4/ext/repo_appdata.h 2013-10-09 13:21:32.000000000 +0200
+++ new/libsolv-0.5.0/ext/repo_appdata.h 2014-02-26 13:10:54.000000000 +0100
@@ -8,3 +8,4 @@
int repo_add_appdata(Repo *repo, FILE *fp, int flags);
int repo_add_appdata_dir(Repo *repo, const char *appdatadir, int flags);
+#define APPDATA_CHECK_DESKTOP_FILE (1 << 30) /* internal */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/ext/repo_helix.c new/libsolv-0.5.0/ext/repo_helix.c
--- old/libsolv-0.4.4/ext/repo_helix.c 2013-12-13 15:02:48.000000000 +0100
+++ new/libsolv-0.5.0/ext/repo_helix.c 2014-02-25 11:40:52.000000000 +0100
@@ -100,6 +100,7 @@
{ STATE_SUBCHANNEL, "atom", STATE_PACKAGE, 0 },
{ STATE_SUBCHANNEL, "patch", STATE_PACKAGE, 0 },
{ STATE_SUBCHANNEL, "product", STATE_PACKAGE, 0 },
+ { STATE_SUBCHANNEL, "application", STATE_PACKAGE, 0 },
{ STATE_PACKAGE, "name", STATE_NAME, 1 },
{ STATE_PACKAGE, "vendor", STATE_VENDOR, 1 },
{ STATE_PACKAGE, "buildtime", STATE_BUILDTIME, 1 },
@@ -461,6 +462,8 @@
pd->kind = "product";
else if (!strcmp(name, "patch"))
pd->kind = "patch";
+ else if (!strcmp(name, "application"))
+ pd->kind = "application";
else
pd->kind = NULL; /* default is package */
pd->levrspace = 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/ext/repo_rpmdb.c new/libsolv-0.5.0/ext/repo_rpmdb.c
--- old/libsolv-0.4.4/ext/repo_rpmdb.c 2014-01-22 17:15:52.000000000 +0100
+++ new/libsolv-0.5.0/ext/repo_rpmdb.c 2014-02-19 13:10:52.000000000 +0100
@@ -62,7 +62,7 @@
#define TAG_BUILDTIME 1006
#define TAG_BUILDHOST 1007
#define TAG_INSTALLTIME 1008
-#define TAG_SIZE 1009
+#define TAG_SIZE 1009
#define TAG_DISTRIBUTION 1010
#define TAG_VENDOR 1011
#define TAG_LICENSE 1014
@@ -103,14 +103,14 @@
#define TAG_BASENAMES 1117
#define TAG_DIRNAMES 1118
#define TAG_PAYLOADFORMAT 1124
-#define TAG_PATCHESNAME 1133
+#define TAG_PATCHESNAME 1133
#define TAG_FILECOLORS 1140
-#define TAG_SUGGESTSNAME 1156
-#define TAG_SUGGESTSVERSION 1157
-#define TAG_SUGGESTSFLAGS 1158
-#define TAG_ENHANCESNAME 1159
-#define TAG_ENHANCESVERSION 1160
-#define TAG_ENHANCESFLAGS 1161
+#define TAG_OLDSUGGESTSNAME 1156
+#define TAG_OLDSUGGESTSVERSION 1157
+#define TAG_OLDSUGGESTSFLAGS 1158
+#define TAG_OLDENHANCESNAME 1159
+#define TAG_OLDENHANCESVERSION 1160
+#define TAG_OLDENHANCESFLAGS 1161
/* rpm5 tags */
#define TAG_DISTEPOCH 1218
@@ -118,6 +118,18 @@
/* rpm4 tags */
#define TAG_LONGFILESIZES 5008
#define TAG_LONGSIZE 5009
+#define TAG_RECOMMENDNAME 5046
+#define TAG_RECOMMENDVERSION 5047
+#define TAG_RECOMMENDFLAGS 5048
+#define TAG_SUGGESTNAME 5049
+#define TAG_SUGGESTVERSION 5050
+#define TAG_SUGGESTFLAGS 5051
+#define TAG_SUPPLEMENTNAME 5052
+#define TAG_SUPPLEMENTVERSION 5053
+#define TAG_SUPPLEMENTFLAGS 5054
+#define TAG_ENHANCENAME 5055
+#define TAG_ENHANCEVERSION 5056
+#define TAG_ENHANCEFLAGS 5057
/* signature tags */
#define TAG_SIGBASE 256
@@ -140,9 +152,9 @@
#ifdef RPM5
-# define RPM_INDEX_SIZE 4
+# define RPM_INDEX_SIZE 4 /* just the rpmdbid */
#else
-# define RPM_INDEX_SIZE 8
+# define RPM_INDEX_SIZE 8 /* rpmdbid + array index */
#endif
@@ -393,10 +405,6 @@
}
-#define MAKEDEPS_FILTER_WEAK (1 << 0)
-#define MAKEDEPS_FILTER_STRONG (1 << 1)
-#define MAKEDEPS_NO_RPMLIB (1 << 2)
-
/*
* strong: 0: ignore strongness
* 1: filter to strong
@@ -411,10 +419,42 @@
int haspre, premask;
unsigned int olddeps;
Id *ida;
- int strong;
+ int strong = 0;
- strong = flags & (MAKEDEPS_FILTER_STRONG|MAKEDEPS_FILTER_WEAK);
n = headstringarray(rpmhead, tagn, &nc);
+ if (!n)
+ {
+ switch (tagn)
+ {
+ case TAG_SUGGESTNAME:
+ tagn = TAG_OLDSUGGESTSNAME;
+ tagv = TAG_OLDSUGGESTSVERSION;
+ tagf = TAG_OLDSUGGESTSFLAGS;
+ strong = -1;
+ break;
+ case TAG_ENHANCENAME:
+ tagn = TAG_OLDENHANCESNAME;
+ tagv = TAG_OLDENHANCESVERSION;
+ tagf = TAG_OLDENHANCESFLAGS;
+ strong = -1;
+ break;
+ case TAG_RECOMMENDNAME:
+ tagn = TAG_OLDSUGGESTSNAME;
+ tagv = TAG_OLDSUGGESTSVERSION;
+ tagf = TAG_OLDSUGGESTSFLAGS;
+ strong = 1;
+ break;
+ case TAG_SUPPLEMENTNAME:
+ tagn = TAG_OLDENHANCESNAME;
+ tagv = TAG_OLDENHANCESVERSION;
+ tagf = TAG_OLDENHANCESFLAGS;
+ strong = 1;
+ break;
+ default:
+ return 0;
+ }
+ n = headstringarray(rpmhead, tagn, &nc);
+ }
if (!n || !nc)
return 0;
vc = fc = 0;
@@ -433,16 +473,16 @@
cc = nc;
haspre = 0; /* add no prereq marker */
- premask = DEP_PRE_IN | DEP_PRE_UN;
- if (flags)
+ premask = tagn == TAG_REQUIRENAME ? DEP_PRE_IN | DEP_PRE_UN : 0;
+ if ((flags & RPM_ADD_NO_RPMLIBREQS) || strong)
{
/* we do filtering */
cc = 0;
for (i = 0; i < nc; i++)
{
- if (strong && (f[i] & DEP_STRONG) != (strong == MAKEDEPS_FILTER_WEAK ? 0 : DEP_STRONG))
+ if (strong && (f[i] & DEP_STRONG) != (strong < 0 ? 0 : DEP_STRONG))
continue;
- if ((flags & MAKEDEPS_NO_RPMLIB) != 0)
+ if ((flags & RPM_ADD_NO_RPMLIBREQS) != 0)
if (!strncmp(n[i], "rpmlib(", 7))
continue;
if ((f[i] & premask) != 0)
@@ -450,7 +490,7 @@
cc++;
}
}
- else if (tagn == TAG_REQUIRENAME)
+ else if (premask)
{
/* no filtering, just look for the first prereq */
for (i = 0; i < nc; i++)
@@ -480,31 +520,34 @@
i = 0;
*ida++ = SOLVABLE_PREREQMARKER;
}
- if (strong && (f[i] & DEP_STRONG) != (strong == MAKEDEPS_FILTER_WEAK ? 0 : DEP_STRONG))
- continue;
- if (haspre == 1 && (f[i] & premask) != 0)
+ if (strong && (f[i] & DEP_STRONG) != (strong < 0 ? 0 : DEP_STRONG))
continue;
- if (haspre == 2 && (f[i] & premask) == 0)
- continue;
- if ((flags & MAKEDEPS_NO_RPMLIB) != 0)
+ if (haspre)
+ {
+ if (haspre == 1 && (f[i] & premask) != 0)
+ continue;
+ if (haspre == 2 && (f[i] & premask) == 0)
+ continue;
+ }
+ if ((flags & RPM_ADD_NO_RPMLIBREQS) != 0)
if (!strncmp(n[i], "rpmlib(", 7))
continue;
if (f[i] & (DEP_LESS|DEP_GREATER|DEP_EQUAL))
{
Id name, evr;
- int flags = 0;
+ int fl = 0;
if ((f[i] & DEP_LESS) != 0)
- flags |= REL_LT;
+ fl |= REL_LT;
if ((f[i] & DEP_EQUAL) != 0)
- flags |= REL_EQ;
+ fl |= REL_EQ;
if ((f[i] & DEP_GREATER) != 0)
- flags |= REL_GT;
+ fl |= REL_GT;
name = pool_str2id(pool, n[i], 1);
if (v[i][0] == '0' && v[i][1] == ':' && v[i][2])
evr = pool_str2id(pool, v[i] + 2, 1);
else
evr = pool_str2id(pool, v[i], 1);
- *ida++ = pool_rel2id(pool, name, evr, flags, 1);
+ *ida++ = pool_rel2id(pool, name, evr, fl, 1);
}
else
*ida++ = pool_str2id(pool, n[i], 1);
@@ -855,14 +898,15 @@
s->provides = makedeps(pool, repo, rpmhead, TAG_PROVIDENAME, TAG_PROVIDEVERSION, TAG_PROVIDEFLAGS, 0);
if (s->arch != ARCH_SRC && s->arch != ARCH_NOSRC)
s->provides = repo_addid_dep(repo, s->provides, pool_rel2id(pool, s->name, s->evr, REL_EQ, 1), 0);
- s->requires = makedeps(pool, repo, rpmhead, TAG_REQUIRENAME, TAG_REQUIREVERSION, TAG_REQUIREFLAGS, (flags & RPM_ADD_NO_RPMLIBREQS) ? MAKEDEPS_NO_RPMLIB : 0);
+ s->requires = makedeps(pool, repo, rpmhead, TAG_REQUIRENAME, TAG_REQUIREVERSION, TAG_REQUIREFLAGS, flags);
s->conflicts = makedeps(pool, repo, rpmhead, TAG_CONFLICTNAME, TAG_CONFLICTVERSION, TAG_CONFLICTFLAGS, 0);
s->obsoletes = makedeps(pool, repo, rpmhead, TAG_OBSOLETENAME, TAG_OBSOLETEVERSION, TAG_OBSOLETEFLAGS, 0);
- s->recommends = makedeps(pool, repo, rpmhead, TAG_SUGGESTSNAME, TAG_SUGGESTSVERSION, TAG_SUGGESTSFLAGS, MAKEDEPS_FILTER_STRONG);
- s->suggests = makedeps(pool, repo, rpmhead, TAG_SUGGESTSNAME, TAG_SUGGESTSVERSION, TAG_SUGGESTSFLAGS, MAKEDEPS_FILTER_WEAK);
- s->supplements = makedeps(pool, repo, rpmhead, TAG_ENHANCESNAME, TAG_ENHANCESVERSION, TAG_ENHANCESFLAGS, MAKEDEPS_FILTER_STRONG);
- s->enhances = makedeps(pool, repo, rpmhead, TAG_ENHANCESNAME, TAG_ENHANCESVERSION, TAG_ENHANCESFLAGS, MAKEDEPS_FILTER_WEAK);
+ s->recommends = makedeps(pool, repo, rpmhead, TAG_RECOMMENDNAME, TAG_RECOMMENDVERSION, TAG_RECOMMENDFLAGS, 0);
+ s->suggests = makedeps(pool, repo, rpmhead, TAG_SUGGESTNAME, TAG_SUGGESTVERSION, TAG_SUGGESTFLAGS, 0);
+ s->supplements = makedeps(pool, repo, rpmhead, TAG_SUPPLEMENTNAME, TAG_SUPPLEMENTVERSION, TAG_SUPPLEMENTFLAGS, 0);
+ s->enhances = makedeps(pool, repo, rpmhead, TAG_ENHANCENAME, TAG_ENHANCEVERSION, TAG_ENHANCEFLAGS, 0);
+
s->supplements = repo_fix_supplements(repo, s->provides, s->supplements, 0);
s->conflicts = repo_fix_conflicts(repo, s->conflicts);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/package/libsolv.changes new/libsolv-0.5.0/package/libsolv.changes
--- old/libsolv-0.4.4/package/libsolv.changes 2014-02-14 11:05:52.000000000 +0100
+++ new/libsolv-0.5.0/package/libsolv.changes 2014-02-26 15:20:18.000000000 +0100
@@ -1,4 +1,21 @@
-------------------------------------------------------------------
+Wed Feb 26 15:08:35 CET 2014 - mls(a)suse.de
+
+- improve appdata.xml parsing [bnc#865293]
+- repo_helix: parse application elements
+- bump version to 0.5.0
+
+-------------------------------------------------------------------
+Fri Feb 21 16:23:58 CET 2014 - mls(a)suse.de
+
+- fix bug in solver_get_unneeded that could lead to an
+ endless loop [bnc#828764]
+- adapt to new rpm tags for weak dependencies
+- fix pseudo packages obsoleting other pseudo packages
+- optimize unfulfilled rule handling a bit
+- bump version to 0.4.5
+
+-------------------------------------------------------------------
Fri Feb 14 11:03:18 CET 2014 - mls(a)suse.de
- always keep job/jobflags in selection_filter()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/src/pool.c new/libsolv-0.5.0/src/pool.c
--- old/libsolv-0.4.4/src/pool.c 2014-01-20 11:30:52.000000000 +0100
+++ new/libsolv-0.5.0/src/pool.c 2014-02-18 13:10:52.000000000 +0100
@@ -880,6 +880,10 @@
*
* add packages fulfilling the relation to whatprovides array
*
+ * some words about REL_AND and REL_IF: we assume the best case
+ * here, so that you get a "potential" result if you ask for a match.
+ * E.g. if you ask for "whatrequires A" and package X contains
+ * "Requires: A & B", you'll get "X" as an answer.
*/
Id
pool_addrelproviders(Pool *pool, Id d)
@@ -909,7 +913,6 @@
switch (flags)
{
- case REL_AND:
case REL_WITH:
wp = pool_whatprovides(pool, name);
pp2 = pool_whatprovides_ptr(pool, evr);
@@ -925,24 +928,43 @@
wp = 0;
}
break;
+
+ case REL_AND:
case REL_OR:
wp = pool_whatprovides(pool, name);
- pp = pool->whatprovidesdata + wp;
- if (!*pp)
+ if (!pool->whatprovidesdata[wp])
wp = pool_whatprovides(pool, evr);
else
{
- int cnt;
- while ((p = *pp++) != 0)
- queue_push(&plist, p);
- cnt = plist.count;
- pp = pool_whatprovides_ptr(pool, evr);
- while ((p = *pp++) != 0)
- queue_pushunique(&plist, p);
- if (plist.count != cnt)
+ /* sorted merge */
+ pp2 = pool_whatprovides_ptr(pool, evr);
+ pp = pool->whatprovidesdata + wp;
+ while (*pp && *pp2)
+ {
+ if (*pp < *pp2)
+ queue_push(&plist, *pp++);
+ else
+ {
+ if (*pp == *pp2)
+ pp++;
+ queue_push(&plist, *pp2++);
+ }
+ }
+ while (*pp)
+ queue_push(&plist, *pp++);
+ while (*pp2)
+ queue_push(&plist, *pp2++);
+ /* if the number of elements did not change, we can reuse wp */
+ if (pp - (pool->whatprovidesdata + wp) != plist.count)
wp = 0;
}
break;
+
+ case REL_COND:
+ /* assume the condition is true */
+ wp = pool_whatprovides(pool, name);
+ break;
+
case REL_NAMESPACE:
if (name == NAMESPACE_OTHERPROVIDERS)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/src/rules.c new/libsolv-0.5.0/src/rules.c
--- old/libsolv-0.4.4/src/rules.c 2014-02-12 19:55:52.000000000 +0100
+++ new/libsolv-0.5.0/src/rules.c 2014-02-21 15:15:53.000000000 +0100
@@ -3905,8 +3905,8 @@
/* now add edge from j + 1 to i + 1 */
queue_insert(&edges, edges.elements[j + 1] + nrequires[j], i + 1);
/* addapt following edge pointers */
- for (k = j + 2; k < count + 2; k++)
- edges.elements[k]++;
+ for (j = j + 2; j < count + 1; j++)
+ edges.elements[j]++;
}
queue_free(&iq);
}
@@ -3921,7 +3921,7 @@
printf(" %s (%d requires):\n", pool_solvid2str(pool, unneededq->elements[i]), nrequires[i]);
for (j = edges.elements[i + 1]; edges.elements[j]; j++)
printf(" - %s\n", pool_solvid2str(pool, unneededq->elements[edges.elements[j] - 1]));
- }
+ }
#endif
map_free(&installedm);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/src/solver.c new/libsolv-0.5.0/src/solver.c
--- old/libsolv-0.4.4/src/solver.c 2014-02-04 15:00:52.000000000 +0100
+++ new/libsolv-0.5.0/src/solver.c 2014-02-17 13:25:52.000000000 +0100
@@ -2063,12 +2063,18 @@
r = solv->rules + i;
if (r->d < 0) /* ignore disabled rules */
continue;
- queue_empty(&dq);
+ if (r->p < 0) /* most common cases first */
+ {
+ if (r->d == 0 || solv->decisionmap[-r->p] <= 0)
+ continue;
+ }
+ if (dq.count)
+ queue_empty(&dq);
if (r->d == 0)
{
/* binary or unary rule */
- /* need two positive undecided literals */
- if (r->p < 0 || r->w2 <= 0)
+ /* need two positive undecided literals, r->p already checked above */
+ if (r->w2 <= 0)
continue;
if (solv->decisionmap[r->p] || solv->decisionmap[r->w2])
continue;
@@ -2082,13 +2088,9 @@
* no positive literal is installed
* i.e. the rule is not fulfilled and we
* just need to decide on the positive literals
+ * (decisionmap[-r->p] for the r->p < 0 case is already checked above)
*/
- if (r->p < 0)
- {
- if (solv->decisionmap[-r->p] <= 0)
- continue;
- }
- else
+ if (r->p >= 0)
{
if (solv->decisionmap[r->p] > 0)
continue;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/src/transaction.c new/libsolv-0.5.0/src/transaction.c
--- old/libsolv-0.4.4/src/transaction.c 2013-10-24 14:51:42.000000000 +0200
+++ new/libsolv-0.5.0/src/transaction.c 2014-02-18 15:49:30.000000000 +0100
@@ -291,13 +291,15 @@
if ((mode & SOLVER_TRANSACTION_RPM_ONLY) != 0)
{
- /* application wants to know what to feed to rpm */
+ /* application wants to know what to feed to the package manager */
+ if (!(mode & SOLVER_TRANSACTION_KEEP_PSEUDO) && is_pseudo_package(pool, s))
+ return SOLVER_TRANSACTION_IGNORE;
if (type == SOLVER_TRANSACTION_ERASE || type == SOLVER_TRANSACTION_INSTALL || type == SOLVER_TRANSACTION_MULTIINSTALL)
return type;
if (s->repo == pool->installed)
{
- /* check if we're obsoleted by pseudos only */
- if (obsoleted_by_pseudos_only(trans, s - pool->solvables))
+ /* check if we're a real package that is obsoleted by pseudos */
+ if (!is_pseudo_package(pool, s) && obsoleted_by_pseudos_only(trans, s - pool->solvables))
return SOLVER_TRANSACTION_ERASE;
return SOLVER_TRANSACTION_IGNORE; /* ignore as we're being obsoleted */
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libsolv-0.4.4/tools/appdata2solv.c new/libsolv-0.5.0/tools/appdata2solv.c
--- old/libsolv-0.4.4/tools/appdata2solv.c 2013-12-09 14:31:42.000000000 +0100
+++ new/libsolv-0.5.0/tools/appdata2solv.c 2014-02-26 13:10:54.000000000 +0100
@@ -20,6 +20,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include "pool.h"
#include "repo.h"
@@ -30,11 +31,46 @@
main(int argc, char **argv)
{
Pool *pool = pool_create();
- Repo *repo = repo_create(pool, "<stdin>");
- if (repo_add_appdata(repo, stdin, 0))
+ Repo *repo;
+ int c;
+ const char *appdatadir = 0;
+ const char *root = 0;
+
+ while ((c = getopt(argc, argv, "hd:r:")) >= 0)
+ {
+ switch (c)
+ {
+ case 'd':
+ appdatadir = optarg;
+ break;
+ case 'r':
+ root = optarg;
+ break;
+ default:
+ fprintf(stderr, "usage: appdata2solv [-d appdatadir]");
+ exit(c == 'h' ? 0 : 1);
+ }
+ }
+
+ if (root)
+ pool_set_rootdir(pool, root);
+
+ repo = repo_create(pool, "<stdin>");
+ if (!appdatadir)
+ {
+ if (repo_add_appdata(repo, stdin, 0))
+ {
+ fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool));
+ exit(1);
+ }
+ }
+ else
{
- fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool));
- exit(1);
+ if (repo_add_appdata_dir(repo, appdatadir, REPO_USE_ROOTDIR))
+ {
+ fprintf(stderr, "appdata2solv: %s\n", pool_errstr(pool));
+ exit(1);
+ }
}
tool_write(repo, 0, 0);
pool_free(pool);
--
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 libzypp for openSUSE:Factory checked in at 2014-02-28 16:25:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libzypp (Old)
and /work/SRC/openSUSE:Factory/.libzypp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libzypp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libzypp/libzypp.changes 2014-02-16 09:10:48.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libzypp.new/libzypp.changes 2014-02-28 16:25:10.000000000 +0100
@@ -1,0 +2,22 @@
+Wed Feb 26 15:06:06 CET 2014 - ma(a)suse.de
+
+- Ignore failed-eject-exception on media change (bnc#865705)
+- version 14.16.1 (16)
+
+-------------------------------------------------------------------
+Tue Feb 25 13:42:13 CET 2014 - ma(a)suse.de
+
+- Remove duplicate code detecting known kinds and move it to
+ ResKind::explicitBuiltin.
+- version 14.16.0 (16)
+
+-------------------------------------------------------------------
+Sun Feb 23 21:52:55 CET 2014 - ma(a)suse.de
+
+- Optionally exclude suggested packages from pattern content (bnc#857671)
+- Fix pattern content for auto-pattens (bnc#864087)
+- Don't report missing filelists for non-packages (bnc#864314)
+- adapt to new rpm weak dependency tags
+- version 14.15.0 (15)
+
+-------------------------------------------------------------------
Old:
----
libzypp-14.14.0.tar.bz2
New:
----
libzypp-14.16.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libzypp.spec ++++++
--- /var/tmp/diff_new_pack.fr53p6/_old 2014-02-28 16:25:11.000000000 +0100
+++ /var/tmp/diff_new_pack.fr53p6/_new 2014-02-28 16:25:11.000000000 +0100
@@ -23,7 +23,7 @@
Summary: Package, Patch, Pattern, and Product Management
License: GPL-2.0+
Group: System/Packages
-Version: 14.14.0
+Version: 14.16.1
Release: 0
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
++++++ libzypp-14.14.0.tar.bz2 -> libzypp-14.16.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/VERSION.cmake new/libzypp-14.16.1/VERSION.cmake
--- old/libzypp-14.14.0/VERSION.cmake 2014-02-14 13:52:54.000000000 +0100
+++ new/libzypp-14.16.1/VERSION.cmake 2014-02-26 15:08:52.000000000 +0100
@@ -59,10 +59,10 @@
# See './mkChangelog -h' for help.
#
SET(LIBZYPP_MAJOR "14")
-SET(LIBZYPP_COMPATMINOR "14")
-SET(LIBZYPP_MINOR "14")
-SET(LIBZYPP_PATCH "0")
+SET(LIBZYPP_COMPATMINOR "16")
+SET(LIBZYPP_MINOR "16")
+SET(LIBZYPP_PATCH "1")
#
-# LAST RELEASED: 14.14.0 (14)
+# LAST RELEASED: 14.16.1 (16)
# (The number in parenthesis is LIBZYPP_COMPATMINOR)
#=======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/package/libzypp.changes new/libzypp-14.16.1/package/libzypp.changes
--- old/libzypp-14.14.0/package/libzypp.changes 2014-02-14 13:52:54.000000000 +0100
+++ new/libzypp-14.16.1/package/libzypp.changes 2014-02-26 15:08:52.000000000 +0100
@@ -1,4 +1,26 @@
-------------------------------------------------------------------
+Wed Feb 26 15:06:06 CET 2014 - ma(a)suse.de
+
+- Ignore failed-eject-exception on media change (bnc#865705)
+- version 14.16.1 (16)
+
+-------------------------------------------------------------------
+Tue Feb 25 13:42:13 CET 2014 - ma(a)suse.de
+
+- Remove duplicate code detecting known kinds and move it to
+ ResKind::explicitBuiltin.
+- version 14.16.0 (16)
+
+-------------------------------------------------------------------
+Sun Feb 23 21:52:55 CET 2014 - ma(a)suse.de
+
+- Optionally exclude suggested packages from pattern content (bnc#857671)
+- Fix pattern content for auto-pattens (bnc#864087)
+- Don't report missing filelists for non-packages (bnc#864314)
+- adapt to new rpm weak dependency tags
+- version 14.15.0 (15)
+
+-------------------------------------------------------------------
Fri Feb 14 13:51:46 CET 2014 - ma(a)suse.de
- Provide ContentIdentifier of required update repositories in Product
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/MediaSetAccess.cc new/libzypp-14.16.1/zypp/MediaSetAccess.cc
--- old/libzypp-14.14.0/zypp/MediaSetAccess.cc 2013-05-08 09:09:31.000000000 +0200
+++ new/libzypp-14.16.1/zypp/MediaSetAccess.cc 2014-02-26 15:08:52.000000000 +0100
@@ -299,10 +299,15 @@
else if ( user == media::MediaChangeReport::EJECT )
{
DBG << "Eject: try to release" << endl;
- media_mgr.releaseAll();
- // eject
- media_mgr.release (media,
- devindex < devices.size() ? devices[devindex] : "");
+ try
+ {
+ media_mgr.releaseAll();
+ media_mgr.release (media, devindex < devices.size() ? devices[devindex] : "");
+ }
+ catch ( const Exception & e)
+ {
+ ZYPP_CAUGHT(e);
+ }
}
else if ( user == media::MediaChangeReport::RETRY ||
user == media::MediaChangeReport::CHANGE_URL )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/Pattern.cc new/libzypp-14.16.1/zypp/Pattern.cc
--- old/libzypp-14.14.0/zypp/Pattern.cc 2013-03-20 09:29:30.000000000 +0100
+++ new/libzypp-14.16.1/zypp/Pattern.cc 2014-02-23 21:56:52.000000000 +0100
@@ -20,11 +20,19 @@
///////////////////////////////////////////////////////////////////
namespace zypp
-{ /////////////////////////////////////////////////////////////////
-
+{
///////////////////////////////////////////////////////////////////
namespace
- { /////////////////////////////////////////////////////////////////
+ {
+ inline Capability autoCapability( const Capabilities & provides_r )
+ {
+ static const Capability autopattern( "autopattern()" );
+ for ( const auto & cap : provides_r )
+ if ( cap.matches( autopattern ) == CapMatch::yes )
+ return cap;
+ return Capability();
+ }
+
///////////////////////////////////////////////////////////////////
//
// CLASS NAME : PatternExpander
@@ -153,78 +161,112 @@
private:
PatternMap _patternMap;
};
- /////////////////////////////////////////////////////////////////
} // namespace
///////////////////////////////////////////////////////////////////
- IMPL_PTR_TYPE(Pattern);
///////////////////////////////////////////////////////////////////
- //
- // METHOD NAME : Pattern::Pattern
- // METHOD TYPE : Ctor
- //
+ // Pattern
+ ///////////////////////////////////////////////////////////////////
+
+ IMPL_PTR_TYPE(Pattern);
+
Pattern::Pattern( const sat::Solvable & solvable_r )
: ResObject( solvable_r )
{}
- ///////////////////////////////////////////////////////////////////
- //
- // METHOD NAME : Pattern::~Pattern
- // METHOD TYPE : Dtor
- //
Pattern::~Pattern()
{}
- ///////////////////////////////////////////////////////////////////
- //
- // Pattern interface forwarded to implementation
- //
- ///////////////////////////////////////////////////////////////////
- /** */
bool Pattern::isDefault() const
{ return lookupBoolAttribute( sat::SolvAttr::isdefault ); }
- /** */
+
bool Pattern::userVisible() const
{ return lookupBoolAttribute( sat::SolvAttr::isvisible ); }
- /** */
+
std::string Pattern::category( const Locale & lang_r ) const
{ return lookupStrAttribute( sat::SolvAttr::category, lang_r ); }
- /** */
+
Pathname Pattern::icon() const
{ return lookupStrAttribute( sat::SolvAttr::icon ); }
- /** */
+
Pathname Pattern::script() const
{ return lookupStrAttribute( sat::SolvAttr::script ); }
std::string Pattern::order() const
{ return lookupStrAttribute( sat::SolvAttr::order ); }
+ bool Pattern::isAutoPattern() const
+ { return bool(autoCapability( provides() )); }
+
+ sat::Solvable Pattern::autoPackage() const
+ {
+ Capability autocap( autoCapability( provides() ) );
+ if ( autocap )
+ {
+ Capability pkgCap( arch(), autocap.detail().ed().asString(), Rel::EQ, edition() );
+ for ( const auto & solv: sat::WhatProvides( pkgCap ) )
+ if ( solv.repository() == repository() )
+ return solv;
+ }
+ return sat::Solvable();
+ }
+
Pattern::NameList Pattern::includes() const
{ return NameList( sat::SolvAttr::includes, satSolvable() ); }
Pattern::NameList Pattern::extends() const
{ return NameList( sat::SolvAttr::extends, satSolvable() ); }
+ ///////////////////////////////////////////////////////////////////
+ namespace
+ {
+ inline void addCaps( CapabilitySet & caps_r, sat::Solvable solv_r, Dep dep_r )
+ {
+ Capabilities c( solv_r[dep_r] );
+ if ( ! c.empty() )
+ {
+ caps_r.insert( c.begin(),c.end() );
+ }
+ }
+ } //namespace
+ ///////////////////////////////////////////////////////////////////
+
Pattern::Contents Pattern::core() const
{
+ // Content dependencies are either associated with
+ // the autoPackage or the (oldstype) pattern itself.
+ // load requires
+ CapabilitySet caps;
+ addCaps( caps, *this, Dep::REQUIRES );
+
+ sat::Solvable depKeeper( autoPackage() );
+ if ( depKeeper )
+ addCaps( caps, depKeeper, Dep::REQUIRES );
// get items providing the requirements
- sat::WhatProvides prv( requires() );
+ sat::WhatProvides prv( caps );
// return packages only.
return Pattern::Contents( make_filter_begin( filter::byKind<Package>(), prv ),
make_filter_end( filter::byKind<Package>(), prv ) );
}
- Pattern::Contents Pattern::depends() const
+ Pattern::Contents Pattern::depends( bool includeSuggests_r ) const
{
- // load requires, recommends, suggests
+ // Content dependencies are either associated with
+ // the autoPackage or the (oldstype) pattern itself.
+ // load requires, recommends[, suggests]
CapabilitySet caps;
+ addCaps( caps, *this, Dep::REQUIRES );
+ addCaps( caps, *this, Dep::RECOMMENDS );
+ if ( includeSuggests_r )
+ addCaps( caps, *this, Dep::SUGGESTS );
+
+ sat::Solvable depKeeper( autoPackage() );
+ if ( depKeeper )
{
- Capabilities c( requires() );
- caps.insert( c.begin(),c.end() );
- c = recommends();
- caps.insert( c.begin(),c.end() );
- c = suggests();
- caps.insert( c.begin(),c.end() );
+ addCaps( caps, depKeeper, Dep::REQUIRES );
+ addCaps( caps, depKeeper, Dep::RECOMMENDS );
+ if ( includeSuggests_r )
+ addCaps( caps, depKeeper, Dep::SUGGESTS );
}
// get items providing the above
sat::WhatProvides prv( caps );
@@ -233,7 +275,7 @@
make_filter_end( filter::byKind<Package>(), prv ) );
}
- Pattern::Contents Pattern::contents() const
+ Pattern::Contents Pattern::contents( bool includeSuggests_r ) const
{
PatternExpander expander;
if ( ! expander.doExpand( this ) )
@@ -242,7 +284,7 @@
Contents result;
for_( it, expander.begin(), expander.end() )
{
- Contents c( (*it)->depends() );
+ Contents c( (*it)->depends( includeSuggests_r ) );
result.get().insert( c.begin(), c.end() );
}
return result;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/Pattern.h new/libzypp-14.16.1/zypp/Pattern.h
--- old/libzypp-14.14.0/zypp/Pattern.h 2013-03-20 09:29:30.000000000 +0100
+++ new/libzypp-14.16.1/zypp/Pattern.h 2014-02-23 21:56:52.000000000 +0100
@@ -54,6 +54,22 @@
std::string order() const;
public:
+ /** \name Auto pattens (libyzpp-14)
+ * Patterns are no longer defined by separate metadate files, but via
+ * special dependencies provided by a corresponding patterns- package.
+ * The pattern itself requires only it's patterns- package, the package
+ * contains all further dependencies.
+ * This way pattens are no longer pseudo installed objects with a computed
+ * status, but installed, iff the corresponding patterns- package is
+ * installed.
+ */
+ //@{
+ /** This patterns is auto-defined by a patterns- package. */
+ bool isAutoPattern() const;
+ /** The corresponding patterns- package if \ref isAutoPattern. */
+ sat::Solvable autoPackage() const;
+ //@}
+ public:
/** Ui hint: included patterns. */
NameList includes() const;
@@ -64,14 +80,21 @@
Contents core() const;
/** Ui hint: Dependent packages.
- * This also includes recommended and suugested packages.
+ * This also includes recommended and suggested (optionally exclude) packages.
*/
- Contents depends() const;
+ Contents depends( bool includeSuggests_r = true ) const;
+ /** \overload Without SUGGESTS. */
+ Contents dependsNoSuggests() const
+ { return depends( false ); }
/** The collection of packages associated with this pattern.
* This also evaluates the patterns includes/extends relation.
+ * Optionally exclude \c SUGGESTED packages.
*/
- Contents contents() const;
+ Contents contents( bool includeSuggests_r = true ) const;
+ /** \overload Without SUGGESTS. */
+ Contents contentsNoSuggests() const
+ { return contents( false ); }
protected:
friend Ptr make<Self>( const sat::Solvable & solvable_r );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/PoolQuery.cc new/libzypp-14.16.1/zypp/PoolQuery.cc
--- old/libzypp-14.14.0/zypp/PoolQuery.cc 2013-04-29 10:53:30.000000000 +0200
+++ new/libzypp-14.16.1/zypp/PoolQuery.cc 2014-02-25 13:44:53.000000000 +0100
@@ -407,8 +407,8 @@
// We unify those two forms to enable zypper to remove zypp locks
// without need to actually evaluate the query (which would require
// repos to be loaded).
- || ( ( _flags.isModeString() && rhs._flags.isModeGlob()
- || _flags.isModeGlob() && rhs._flags.isModeString() )
+ || ( ( ( _flags.isModeString() && rhs._flags.isModeGlob() )
+ || ( _flags.isModeGlob() && rhs._flags.isModeString() ) )
&& _strings.empty()
&& _attrs.size() == 1
&& _attrs.begin()->first == sat::SolvAttr::name ) )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/ResKind.cc new/libzypp-14.16.1/zypp/ResKind.cc
--- old/libzypp-14.14.0/zypp/ResKind.cc 2014-01-31 19:12:53.000000000 +0100
+++ new/libzypp-14.16.1/zypp/ResKind.cc 2014-02-25 13:44:53.000000000 +0100
@@ -43,6 +43,28 @@
template<>
const ResKind ResTraits<Application>::kind( ResKind::application );
+ ResKind ResKind::explicitBuiltin( const char * str_r )
+ {
+ if ( str_r && str_r[0] && str_r[1] && str_r[2] )
+ {
+ switch ( str_r[3] )
+ {
+ // NOTE: it needs to be assertd that the separating ':' is present
+ // if a known kind is retuirned. Dependent code relies on this!
+ #define OUTS(K,S) if ( !::strncmp( str_r, ResKind::K.c_str(), S ) && str_r[S] == ':' ) return ResKind::K
+ // ----v
+ case 'c': OUTS( patch, 5 ); break;
+ case 'd': OUTS( product, 7 ); break;
+ case 'k': OUTS( package, 7 ); break;
+ case 'l': OUTS( application, 11 );break;
+ case 'p': OUTS( srcpackage, 10 ); break;
+ case 't': OUTS( pattern, 7 ); break;
+ #undef OUTS
+ }
+ }
+ return nokind;
+ }
+
std::string ResKind::satIdent( const ResKind & refers_r, const std::string & name_r )
{
if ( ! refers_r || refers_r == package || refers_r == srcpackage )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/ResKind.h new/libzypp-14.16.1/zypp/ResKind.h
--- old/libzypp-14.14.0/zypp/ResKind.h 2014-01-31 19:12:53.000000000 +0100
+++ new/libzypp-14.16.1/zypp/ResKind.h 2014-02-25 13:44:53.000000000 +0100
@@ -45,6 +45,19 @@
static const ResKind application;
//@}
+ /** Return the builtin kind if \a str_r explicitly prefixed.
+ * \a str_r must start with a builtin kind followed by a \c ':'.
+ * If no builtin kind is detected, \ref nokind is returned,
+ * which usually indicates a \ref package or \ref srcpackage.
+ */
+ static ResKind explicitBuiltin( const char * str_r );
+ /** \overload */
+ static ResKind explicitBuiltin( const std::string & str_r )
+ { return explicitBuiltin( str_r.c_str() ); }
+ /** \overload */
+ static ResKind explicitBuiltin( const IdString & str_r )
+ { return explicitBuiltin( str_r.c_str() ); }
+
public:
/** Default ctor: \ref nokind */
ResKind() {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/base/Backtrace.cc new/libzypp-14.16.1/zypp/base/Backtrace.cc
--- old/libzypp-14.14.0/zypp/base/Backtrace.cc 2013-03-20 09:29:30.000000000 +0100
+++ new/libzypp-14.16.1/zypp/base/Backtrace.cc 2014-02-25 22:16:52.000000000 +0100
@@ -28,18 +28,21 @@
void *array[arraySize];
size_t size = ::backtrace( array, arraySize );
- // print out all the frames to stderr
+ // Print out all frames to stderr. Separate sigsegvHandler stack
+ // [dumpBacktrace][sigsegvHandler][libc throwing] from actual
+ // code stack.
char ** messages = ::backtrace_symbols( array, size );
if ( messages )
{
- static const size_t first = 1;
+ static const size_t handlerStack = 3; // [dumpBacktrace][sigsegvHandler][libc throwing]
+ static const size_t first = 0;
for ( size_t i = first; i < size; ++i )
{
char * mangled_name = 0;
char * offset_begin = 0;
char * offset_end = 0;
- // find parantheses and +address offset surrounding mangled name
+ // find parentheses and +address offset surrounding mangled name
for ( char * p = messages[i]; *p; ++p )
{
if ( *p == '(' )
@@ -57,8 +60,14 @@
}
}
+ int btLevel = i-handlerStack; // negative level in sigsegvHandler
if ( i > first )
+ {
stream_r << endl;
+ if ( btLevel == 0 )
+ stream_r << "vvvvvvvvvv----------------------------------------" << endl;
+ }
+ stream_r << "[" << (btLevel<0 ?"hd":"bt") << "]: (" << btLevel << ") ";
// if the line could be processed, attempt to demangle the symbol
if ( mangled_name && offset_begin && offset_end && mangled_name < offset_begin )
@@ -73,22 +82,19 @@
// if demangling is successful, output the demangled function name
if ( status == 0 )
{
- stream_r << "[bt]: (" << i << ") " << messages[i] << " : "
- << real_name << "+" << offset_begin << offset_end;
-
+ stream_r << messages[i] << " : " << real_name << "+" << offset_begin << offset_end;
}
// otherwise, output the mangled function name
else
{
- stream_r << "[bt]: (" << i << ") " << messages[i] << " : "
- << mangled_name << "+" << offset_begin << offset_end;
+ stream_r << messages[i] << " : " << mangled_name << "+" << offset_begin << offset_end;
}
::free( real_name );
}
else
{
// otherwise, print the whole line
- stream_r << "[bt]: (" << i << ") " << messages[i];
+ stream_r << messages[i];
}
}
::free( messages );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/base/String.h new/libzypp-14.16.1/zypp/base/String.h
--- old/libzypp-14.14.0/zypp/base/String.h 2014-02-11 21:24:54.000000000 +0100
+++ new/libzypp-14.16.1/zypp/base/String.h 2014-02-23 21:56:52.000000000 +0100
@@ -727,26 +727,48 @@
///////////////////////////////////////////////////////////////////
/** \name Indent. */
//@{
- /** Indent by string [" "]
- * Prints nothing for an empty string. Asserts a trainling '\n' on the last line.
+ /** Indent by string [" "] optionally wrap.
+ * Prints nothing for an empty string. Asserts a trainling '\n' on
+ * the last line. Optionally wrap lines at ' ' at a given length.
*/
- inline std::ostream & printIndented( std::ostream & str, const std::string & text_r, const std::string & indent_r = " " )
+ inline std::ostream & printIndented( std::ostream & str, const std::string & text_r, const std::string & indent_r = " ", unsigned maxWitdh_r = 0 )
{
- for ( const char * e = text_r.c_str(); *e; ++e )
+ if ( maxWitdh_r )
+ {
+ if ( indent_r.size() >= maxWitdh_r )
+ maxWitdh_r = 0; // nonsense: indent larger than line witdh
+ else
+ maxWitdh_r -= indent_r.size();
+ }
+ unsigned width = 0;
+ for ( const char * e = text_r.c_str(), * s = e; *e; s = ++e )
{
- const char * s = e;
for ( ; *e && *e != '\n'; ++e ) ;/*searching*/
+ width = e-s;
+ if ( maxWitdh_r && width > maxWitdh_r )
+ {
+ // must break line
+ width = maxWitdh_r;
+ for ( e = s+width; e > s && *e != ' '; --e ) ;/*searching*/
+ if ( e > s )
+ width = e-s; // on a ' ', replaced by '\n'
+ else
+ e = s+width-1; // cut line;
+ }
str << indent_r;
- str.write( s, e-s );
+ str.write( s, width );
str << "\n";
if ( !*e ) // on '\0'
break;
}
return str;
}
- /** \overload Indent by number of chars [' '] */
- inline std::ostream & printIndented( std::ostream & str, const std::string & text_r, unsigned indent_r, char indentch_r = ' ' )
- { return printIndented( str, text_r, std::string( indent_r, indentch_r ) ); }
+ /** \overload Indent by number of chars [' '] optionally wrap. */
+ inline std::ostream & printIndented( std::ostream & str, const std::string & text_r, unsigned indent_r, char indentch_r = ' ', unsigned maxWitdh_r = 0 )
+ { return printIndented( str, text_r, std::string( indent_r, indentch_r ), maxWitdh_r ); }
+ /** \overload Indent by number of chars [' '] wrap. */
+ inline std::ostream & printIndented( std::ostream & str, const std::string & text_r, unsigned indent_r, unsigned maxWitdh_r, char indentch_r = ' ' )
+ { return printIndented( str, text_r, std::string( indent_r, indentch_r ), maxWitdh_r ); }
/** Prefix lines by string computed by function taking line begin/end [std::string(const char*, const char*)]
* Prints nothing for an empty string. Asserts a trainling '\n' on the last line.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/media/MediaCD.cc new/libzypp-14.16.1/zypp/media/MediaCD.cc
--- old/libzypp-14.14.0/zypp/media/MediaCD.cc 2013-03-20 09:29:30.000000000 +0100
+++ new/libzypp-14.16.1/zypp/media/MediaCD.cc 2014-02-26 15:08:52.000000000 +0100
@@ -41,7 +41,7 @@
/*
** if to throw exception on eject errors or ignore them
*/
-#define REPORT_EJECT_ERRORS 1
+#define REPORT_EJECT_ERRORS 0
/*
** If defined to the full path of the eject utility,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/sat/Solvable.cc new/libzypp-14.16.1/zypp/sat/Solvable.cc
--- old/libzypp-14.14.0/zypp/sat/Solvable.cc 2014-01-29 10:28:53.000000000 +0100
+++ new/libzypp-14.16.1/zypp/sat/Solvable.cc 2014-02-25 13:44:53.000000000 +0100
@@ -43,7 +43,7 @@
if ( ! _ident )
return;
- ResKind explicitKind = Solvable::SplitIdent::explicitKind( _ident.c_str() );
+ ResKind explicitKind = ResKind::explicitBuiltin( _ident.c_str() );
// NOTE: kind package and srcpackage do not have namespaced ident!
if ( ! explicitKind )
{
@@ -51,7 +51,7 @@
// No kind defaults to package
if ( !_kind )
_kind = ResKind::package;
- if ( ! ( _kind == ResKind::package || _kind == ResKind::srcpackage ) )
+ else if ( ! ( _kind == ResKind::package || _kind == ResKind::srcpackage ) )
_ident = IdString( str::form( "%s:%s", _kind.c_str(), _ident.c_str() ) );
}
else
@@ -88,33 +88,6 @@
, _kind( kind_r )
{ _doSplit( _ident, _kind, _name ); }
- ResKind Solvable::SplitIdent::explicitKind( const char * ident_r )
- {
- if ( ! ident_r )
- return ResKind();
-
- const char * sep = ::strchr( ident_r, ':' );
- if ( ! sep )
- return ResKind();
-
- ResKind ret;
- if ( sep-ident_r >= 4 )
- {
- switch ( ident_r[3] )
- {
- #define OUTS(K,S) if ( !::strncmp( ident_r, ResKind::K.c_str(), S ) && ident_r[S] == ':' ) ret = ResKind::K
- // ----v
- case 'c': OUTS( patch, 5 ); break;
- case 'd': OUTS( product, 7 ); break;
- case 'k': OUTS( package, 7 ); break;
- case 'p': OUTS( srcpackage, 10 ); break;
- case 't': OUTS( pattern, 7 ); break;
- #undef OUTS
- }
- }
- return ret;
- }
-
/////////////////////////////////////////////////////////////////
const Solvable Solvable::noSolvable;
@@ -307,30 +280,18 @@
break;
}
+ // either explicitly prefixed...
const char * ident = IdString( _solvable->name ).c_str();
- const char * sep = ::strchr( ident, ':' );
+ ResKind knownKind( ResKind::explicitBuiltin( ident ) );
+ if ( knownKind )
+ return knownKind;
- // no ':' in package names (hopefully)
+ // ...or no ':' in package names (hopefully)...
+ const char * sep = ::strchr( ident, ':' );
if ( ! sep )
- return ResKind::package;
-
- // quick check for well known kinds
- if ( sep-ident >= 4 )
- {
- switch ( ident[3] )
- {
-#define OUTS(K,S) if ( !::strncmp( ident, ResKind::K.c_str(), S ) ) return ResKind::K
- // ----v
- case 'c': OUTS( patch, 5 ); break;
- case 'd': OUTS( product, 7 ); break;
- case 'k': OUTS( package, 7 ); break;
- case 'p': OUTS( srcpackage, 10 ); break;
- case 't': OUTS( pattern, 7 ); break;
-#undef OUTS
- }
- }
+ return ResKind::package;
- // an unknown kind
+ // ...or something unknown.
return ResKind( std::string( ident, sep-ident ) );
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/sat/Solvable.h new/libzypp-14.16.1/zypp/sat/Solvable.h
--- old/libzypp-14.14.0/zypp/sat/Solvable.h 2014-01-29 10:28:53.000000000 +0100
+++ new/libzypp-14.16.1/zypp/sat/Solvable.h 2014-02-25 13:44:53.000000000 +0100
@@ -275,14 +275,6 @@
ResKind kind() const { return _kind; }
IdString name() const { return _name; }
- /** Return an idents explicit kind prefix, or \ref ResKind() if none.
- * Mainly to detect whether a given ident string is explicitly prefixed
- * by a known kind (e.g \c pattern:foo or \c package:foo).
- */
- static ResKind explicitKind( IdString ident_r ) { return explicitKind( ident_r.c_str() ); }
- static ResKind explicitKind( const char * ident_r );
- static ResKind explicitKind( const std::string & ident_r ) { return explicitKind( ident_r.c_str() ); }
-
private:
IdString _ident;
ResKind _kind;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/target/RpmPostTransCollector.h new/libzypp-14.16.1/zypp/target/RpmPostTransCollector.h
--- old/libzypp-14.14.0/zypp/target/RpmPostTransCollector.h 2014-01-25 17:08:52.000000000 +0100
+++ new/libzypp-14.16.1/zypp/target/RpmPostTransCollector.h 2014-02-26 13:32:53.000000000 +0100
@@ -17,9 +17,6 @@
#include "zypp/ManagedFile.h"
#include "zypp/Pathname.h"
-#undef ZYPP_BASE_LOGGER_LOGGROUP
-#define ZYPP_BASE_LOGGER_LOGGROUP "zypp:posttrans"
-
///////////////////////////////////////////////////////////////////
namespace zypp
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/target/TargetImpl.commitFindFileConflicts.cc new/libzypp-14.16.1/zypp/target/TargetImpl.commitFindFileConflicts.cc
--- old/libzypp-14.14.0/zypp/target/TargetImpl.commitFindFileConflicts.cc 2014-01-24 08:44:53.000000000 +0100
+++ new/libzypp-14.16.1/zypp/target/TargetImpl.commitFindFileConflicts.cc 2014-02-23 21:56:52.000000000 +0100
@@ -65,7 +65,7 @@
{
//DBG << "FCCB: " << sat::Solvable( id_r ) << " " << ret << endl;
_visited.insert( id_r );
- if ( ! ret )
+ if ( ! ret && sat::Solvable( id_r ).isKind<Package>() ) // only packages have filelists
_noFilelist.push( id_r );
_progress.incr();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/target/rpm/RpmHeader.cc new/libzypp-14.16.1/zypp/target/rpm/RpmHeader.cc
--- old/libzypp-14.14.0/zypp/target/rpm/RpmHeader.cc 2014-01-25 17:08:52.000000000 +0100
+++ new/libzypp-14.16.1/zypp/target/rpm/RpmHeader.cc 2014-02-21 13:20:53.000000000 +0100
@@ -427,6 +427,32 @@
kindFlags = RPMTAG_CONFLICTFLAGS;
kindVersion = RPMTAG_CONFLICTVERSION;
break;
+#ifdef RPMTAG_OLDSUGGESTS
+ case RPMTAG_OLDENHANCESNAME:
+ kindFlags = RPMTAG_OLDENHANCESFLAGS;
+ kindVersion = RPMTAG_OLDENHANCESVERSION;
+ break;
+ case RPMTAG_OLDSUGGESTSNAME:
+ kindFlags = RPMTAG_OLDSUGGESTSFLAGS;
+ kindVersion = RPMTAG_OLDSUGGESTSVERSION;
+ break;
+ case RPMTAG_RECOMMENDNAME:
+ kindFlags = RPMTAG_RECOMMENDFLAGS;
+ kindVersion = RPMTAG_RECOMMENDVERSION;
+ break;
+ case RPMTAG_SUPPLEMENTNAME:
+ kindFlags = RPMTAG_SUPPLEMENTFLAGS;
+ kindVersion = RPMTAG_SUPPLEMENTVERSION;
+ break;
+ case RPMTAG_SUGGESTNAME:
+ kindFlags = RPMTAG_SUGGESTFLAGS;
+ kindVersion = RPMTAG_SUGGESTVERSION;
+ break;
+ case RPMTAG_ENHANCENAME:
+ kindFlags = RPMTAG_ENHANCEFLAGS;
+ kindVersion = RPMTAG_ENHANCEVERSION;
+ break;
+#else
case RPMTAG_ENHANCESNAME:
kindFlags = RPMTAG_ENHANCESFLAGS;
kindVersion = RPMTAG_ENHANCESVERSION;
@@ -435,6 +461,7 @@
kindFlags = RPMTAG_SUGGESTSFLAGS;
kindVersion = RPMTAG_SUGGESTSVERSION;
break;
+#endif
default:
INT << "Illegal RPMTAG_dependencyNAME " << tag_r << endl;
return ret;
@@ -586,7 +613,11 @@
//
CapabilitySet RpmHeader::tag_enhances( std::set<std::string> * freq_r ) const
{
+#ifdef RPMTAG_OLDSUGGESTS
+ return PkgRelList_val( RPMTAG_ENHANCENAME, false, freq_r );
+#else
return PkgRelList_val( RPMTAG_ENHANCESNAME, false, freq_r );
+#endif
}
///////////////////////////////////////////////////////////////////
@@ -599,7 +630,45 @@
//
CapabilitySet RpmHeader::tag_suggests( std::set<std::string> * freq_r ) const
{
+#ifdef RPMTAG_OLDSUGGESTS
+ return PkgRelList_val( RPMTAG_SUGGESTNAME, false, freq_r );
+#else
return PkgRelList_val( RPMTAG_SUGGESTSNAME, false, freq_r );
+#endif
+ }
+
+///////////////////////////////////////////////////////////////////
+//
+//
+// METHOD NAME : RpmHeader::tag_supplements
+// METHOD TYPE : CapabilitySet
+//
+// DESCRIPTION :
+//
+CapabilitySet RpmHeader::tag_supplements( std::set<std::string> * freq_r ) const
+ {
+#ifdef RPMTAG_OLDSUGGESTS
+ return PkgRelList_val( RPMTAG_SUPPLEMENTNAME, false, freq_r );
+#else
+ return CapabilitySet();
+#endif
+ }
+
+///////////////////////////////////////////////////////////////////
+//
+//
+// METHOD NAME : RpmHeader::tag_recommends
+// METHOD TYPE : CapabilitySet
+//
+// DESCRIPTION :
+//
+CapabilitySet RpmHeader::tag_recommends( std::set<std::string> * freq_r ) const
+ {
+#ifdef RPMTAG_OLDSUGGESTS
+ return PkgRelList_val( RPMTAG_RECOMMENDNAME, false, freq_r );
+#else
+ return CapabilitySet();
+#endif
}
///////////////////////////////////////////////////////////////////
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libzypp-14.14.0/zypp/target/rpm/RpmHeader.h new/libzypp-14.16.1/zypp/target/rpm/RpmHeader.h
--- old/libzypp-14.14.0/zypp/target/rpm/RpmHeader.h 2014-01-25 17:08:52.000000000 +0100
+++ new/libzypp-14.16.1/zypp/target/rpm/RpmHeader.h 2014-02-21 13:20:53.000000000 +0100
@@ -125,11 +125,14 @@
* @see #tag_provides
**/
CapabilitySet tag_suggests( std::set<std::string> * freq_r = 0 ) const;
- /** Unsupported by rpm.
+ /**
* @see #tag_provides
**/
- CapabilitySet tag_supplements( std::set<std::string> * freq_r = 0 ) const
- { return CapabilitySet(); }
+ CapabilitySet tag_supplements( std::set<std::string> * freq_r = 0 ) const;
+ /**
+ * @see #tag_provides
+ **/
+ CapabilitySet tag_recommends( std::set<std::string> * freq_r = 0 ) const;
ByteCount tag_size() const;
ByteCount tag_archivesize() const;
--
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 ha-cluster-bootstrap for openSUSE:Factory checked in at 2014-02-28 16:25:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ha-cluster-bootstrap (Old)
and /work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ha-cluster-bootstrap"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ha-cluster-bootstrap/ha-cluster-bootstrap.changes 2014-02-18 14:44:37.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ha-cluster-bootstrap.new/ha-cluster-bootstrap.changes 2014-02-28 16:25:06.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Feb 28 05:13:43 UTC 2014 - tserong(a)suse.com
+
+- Use netstat to guess at the default route interface (bnc#854172)
+- Don't add service section to corosync.conf (bnc#865041)
+- Set corosync logging to_logfile: no
+- Correctly detect unconfigured SBD when SBD_DEVICE="" (bnc#865260)
+- Upstream version cs:37debd0
+
+-------------------------------------------------------------------
Old:
----
sleha-bootstrap-0.4+git.1392700725.6daed36.tar.bz2
New:
----
sleha-bootstrap-0.4+git.1393474526.37debd0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ha-cluster-bootstrap.spec ++++++
--- /var/tmp/diff_new_pack.btYLbh/_old 2014-02-28 16:25:07.000000000 +0100
+++ /var/tmp/diff_new_pack.btYLbh/_new 2014-02-28 16:25:07.000000000 +0100
@@ -18,7 +18,7 @@
Name: ha-cluster-bootstrap
-Version: 0.4+git.1392700725.6daed36
+Version: 0.4+git.1393474526.37debd0
Release: 0
Summary: Pacemaker HA Cluster Bootstrap Tool
License: GPL-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.btYLbh/_old 2014-02-28 16:25:07.000000000 +0100
+++ /var/tmp/diff_new_pack.btYLbh/_new 2014-02-28 16:25:07.000000000 +0100
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">0.4+git.%ct.%h</param>
- <param name="revision">6daed36</param>
+ <param name="revision">37debd0</param>
</service>
<service name="recompress" mode="disabled">
++++++ sleha-bootstrap-0.4+git.1392700725.6daed36.tar.bz2 -> sleha-bootstrap-0.4+git.1393474526.37debd0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sleha-bootstrap-0.4+git.1392700725.6daed36/scripts/ha-cluster-functions new/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-functions
--- old/sleha-bootstrap-0.4+git.1392700725.6daed36/scripts/ha-cluster-functions 2014-02-14 13:31:38.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-functions 2014-02-28 06:13:11.000000000 +0100
@@ -36,7 +36,7 @@
declare BE_QUIET=false
declare YES_TO_ALL=false
-declare NET_IF=eth0
+declare NET_IF="$(netstat -nr | grep '^0.0.0.0' | awk '{print ($(NF))}' 2>/dev/null)"
declare IP_ADDRESS
declare IP_NETWORK
@@ -125,6 +125,14 @@
status_done
}
+# Gets currently configured SBD device, i.e. what's in /etc/sysconfig/sbd
+# (deliberately run in a subshell so as to not pollute global namespace)
+configured_sbd_device()
+(
+ [ -f "$SYSCONFIG_SBD" ] && . $SYSCONFIG_SBD
+ echo $SBD_DEVICE
+)
+
# Configure /etc/sysconfig/SuSEfirewall2.d/services/cluster in much the same
# way as yast2-cluster does. If that file doesn't exist but the firewall is
# on, warn the user that they'll need to configure things manually (the
@@ -218,8 +226,10 @@
[ -n "$pass_msg" ] && \
warn "You should change the hacluster password to something more secure!"
- if [ -f "$SYSCONFIG_SBD" ] && grep -q '^SBD_DEVICE=' $SYSCONFIG_SBD; then
+ if [ -n "$(configured_sbd_device)" ]; then
invoke systemctl enable sbd.service
+ else
+ invoke systemctl disable sbd.service
fi
start_service pacemaker.service
wait_for_cluster
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sleha-bootstrap-0.4+git.1392700725.6daed36/scripts/ha-cluster-init new/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-init
--- old/sleha-bootstrap-0.4+git.1392700725.6daed36/scripts/ha-cluster-init 2014-02-14 13:31:38.000000000 +0100
+++ new/sleha-bootstrap-0.4+git.1393474526.37debd0/scripts/ha-cluster-init 2014-02-28 06:13:11.000000000 +0100
@@ -236,10 +236,6 @@
cat > $tmp_conf <<END
# Please read the corosync.conf.5 manual page
-service {
- ver: 1
- name: pacemaker
-}
totem {
version: 2
secauth: off
@@ -269,7 +265,7 @@
logging {
fileline: off
to_stderr: no
- to_logfile: yes
+ to_logfile: no
logfile: /var/log/cluster/corosync.log
to_syslog: yes
debug: off
@@ -414,7 +410,7 @@
specify here will be destroyed.
"
- if [ -f "$SYSCONFIG_SBD" ] && grep -q '^SBD_DEVICE=' $SYSCONFIG_SBD; then
+ if [ -n "$(configured_sbd_device)" ]; then
confirm \
"SBD is already configured - overwrite?" || return
fi
--
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 libpinyin for openSUSE:Factory checked in at 2014-02-28 16:25:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libpinyin (Old)
and /work/SRC/openSUSE:Factory/.libpinyin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libpinyin"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libpinyin/libpinyin.changes 2013-07-03 10:24:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libpinyin.new/libpinyin.changes 2014-02-28 16:25:02.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Feb 28 10:53:33 CST 2014 - hillwood(a)linuxfans.org
+
+- update to 1.0.0
+ * bug fixes
+ * added some pinyins, such as "陆 liu4", "单 shan4".
+- update patch file.
+
+-------------------------------------------------------------------
Old:
----
libpinyin-0.9.93-avoid_download_at_buildtime.patch
libpinyin-0.9.93.tar.bz2
model5.text.tar.gz
model6.text.tar.gz
New:
----
libpinyin-1.0.0-avoid_download_at_buildtime.patch
libpinyin-1.0.0.tar.gz
model7.text.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libpinyin.spec ++++++
--- /var/tmp/diff_new_pack.0WBmM5/_old 2014-02-28 16:25:05.000000000 +0100
+++ /var/tmp/diff_new_pack.0WBmM5/_new 2014-02-28 16:25:05.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package libpinyin
#
-# 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
@@ -15,20 +15,20 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
%define lname libpinyin4
Name: libpinyin
-Version: 0.9.93
+Version: 1.0.0
Release: 0
Summary: Intelligent Pinyin IME
License: GPL-2.0+
Group: System/I18n/Chinese
Url: https://github.com/libpinyin/libpinyin
-Source: %{name}-%{version}.tar.bz2
-Source1: model5.text.tar.gz
-Source2: model6.text.tar.gz
+Source: %{name}-%{version}.tar.gz
+Source1: model7.text.tar.gz
# PATCH-FIX-OPENSUSE marguerite(a)opensuse.org - avoid download at buildtime
-Patch: libpinyin-0.9.93-avoid_download_at_buildtime.patch
+Patch: libpinyin-1.0.0-avoid_download_at_buildtime.patch
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: gnome-common
@@ -91,7 +91,6 @@
%prep
%setup -q
cp -r %{SOURCE1} data/
-cp -r %{SOURCE2} data/
%patch -p1
./autogen.sh
++++++ libpinyin-0.9.93-avoid_download_at_buildtime.patch -> libpinyin-1.0.0-avoid_download_at_buildtime.patch ++++++
--- /work/SRC/openSUSE:Factory/libpinyin/libpinyin-0.9.93-avoid_download_at_buildtime.patch 2013-07-03 10:24:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libpinyin.new/libpinyin-1.0.0-avoid_download_at_buildtime.patch 2014-02-28 16:25:02.000000000 +0100
@@ -1,27 +1,25 @@
-Index: libpinyin-0.9.93/data/CMakeLists.txt
-===================================================================
---- libpinyin-0.9.93.orig/data/CMakeLists.txt
-+++ libpinyin-0.9.93/data/CMakeLists.txt
-@@ -44,9 +44,7 @@ add_custom_command(
+diff -Nur libpinyin-1.0.0/data/CMakeLists.txt libpinyin-1.0.0-new/data/CMakeLists.txt
+--- libpinyin-1.0.0/data/CMakeLists.txt 2013-11-25 13:44:41.000000000 +0800
++++ libpinyin-1.0.0-new/data/CMakeLists.txt 2014-02-28 10:36:26.321140754 +0800
+@@ -43,10 +43,6 @@
+ ${CMAKE_SOURCE_DIR}/data/gb_char.table
${CMAKE_SOURCE_DIR}/data/gbk_char.table
${CMAKE_SOURCE_DIR}/data/interpolation2.text
- COMMENT
+- COMMENT
- "Downloading textual model data..."
- COMMAND
-- wget http://downloads.sourceforge.net/libpinyin/models/model5.text.tar.gz
-+ "Unpacking textual model data..."
+- wget http://downloads.sourceforge.net/libpinyin/models/model7.text.tar.gz
COMMAND
- tar xvf model5.text.tar.gz -C ${CMAKE_SOURCE_DIR}/data
+ tar xvf model7.text.tar.gz -C ${CMAKE_SOURCE_DIR}/data
)
-Index: libpinyin-0.9.93/data/Makefile.am
-===================================================================
---- libpinyin-0.9.93.orig/data/Makefile.am
-+++ libpinyin-0.9.93/data/Makefile.am
-@@ -48,7 +48,6 @@ libpinyin_dbdir = $(libdir)/libpinyin/d
+diff -Nur libpinyin-1.0.0/data/Makefile.am libpinyin-1.0.0-new/data/Makefile.am
+--- libpinyin-1.0.0/data/Makefile.am 2013-11-25 13:44:41.000000000 +0800
++++ libpinyin-1.0.0-new/data/Makefile.am 2014-02-28 10:36:43.939225560 +0800
+@@ -48,7 +48,6 @@
CLEANFILES = $(binary_model_data)
interpolation2.text:
-- wget http://downloads.sourceforge.net/libpinyin/models/model6.text.tar.gz
- tar xvf model6.text.tar.gz -C $(top_srcdir)/data
+- wget http://downloads.sourceforge.net/libpinyin/models/model7.text.tar.gz
+ tar xvf model7.text.tar.gz -C $(top_srcdir)/data
++++++ model5.text.tar.gz -> model7.text.tar.gz ++++++
/work/SRC/openSUSE:Factory/libpinyin/model5.text.tar.gz /work/SRC/openSUSE:Factory/.libpinyin.new/model7.text.tar.gz differ: char 5, line 1
--
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 ibus-libpinyin for openSUSE:Factory checked in at 2014-02-28 16:24:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ibus-libpinyin (Old)
and /work/SRC/openSUSE:Factory/.ibus-libpinyin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ibus-libpinyin"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ibus-libpinyin/ibus-libpinyin.changes 2013-10-31 16:03:28.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ibus-libpinyin.new/ibus-libpinyin.changes 2014-02-28 16:24:58.000000000 +0100
@@ -1,0 +2,6 @@
+Fri Feb 28 11:06:16 CST 2014 - hillwood(a)linuxfans.org
+
+- update to 1.6.92
+ * minor bug fixes
+
+-------------------------------------------------------------------
Old:
----
ibus-libpinyin-1.6.91.tar.gz
New:
----
ibus-libpinyin-1.6.92.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ibus-libpinyin.spec ++++++
--- /var/tmp/diff_new_pack.zBUFLl/_old 2014-02-28 16:24:59.000000000 +0100
+++ /var/tmp/diff_new_pack.zBUFLl/_new 2014-02-28 16:24:59.000000000 +0100
@@ -1,8 +1,8 @@
#
# spec file for package ibus-libpinyin
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# Copyright (c) 2013 Hillwood Yang (hillwood(a)linuxfans.org)
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 Hillwood Yang (hillwood(a)linuxfans.org)
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
Name: ibus-libpinyin
-Version: 1.6.91
+Version: 1.6.92
Release: 0
Summary: Intelligent Pinyin engine based on libpinyin for IBus
License: GPL-2.0+
++++++ ibus-libpinyin-1.6.91.tar.gz -> ibus-libpinyin-1.6.92.tar.gz ++++++
++++ 3638 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/ChangeLog new/ibus-libpinyin-1.6.92/ChangeLog
--- old/ibus-libpinyin-1.6.91/ChangeLog 2013-04-30 05:36:34.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/ChangeLog 2013-10-24 07:48:02.000000000 +0200
@@ -1,3 +1,58 @@
+commit 737fdaa6a118729e20378245dbb8af0c142fa187
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-10-23 16:42:41 +0800
+
+ bump version 1.6.92
+
+M configure.ac
+
+commit e1ecc3bf821c88d9edab471e70b556e029072c32
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-10-23 16:35:41 +0800
+
+ update ibus requires
+
+M configure.ac
+
+commit 69f50424ba5be49c4b31543df7bd7970361d4753
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-10-10 15:48:29 +0800
+
+ support setContentType method
+
+M src/PYEngine.cc
+M src/PYEngine.h
+M src/PYPBopomofoEngine.cc
+M src/PYPBopomofoEngine.h
+M src/PYPPinyinEngine.cc
+M src/PYPPinyinEngine.h
+
+commit cf8ab7d8e76ed70c182c7588cfe1ebbce8e5174b
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-10-08 10:45:35 +0800
+
+ remove pyxdg depends
+
+M setup/main2.py
+
+commit c42d0a870697e95301deabe0bcb770a68649c81d
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-07-31 10:53:14 +0800
+
+ fixes lua 5.2 compile
+
+M lua/lua-plugin-init.c
+M lua/lua-plugin.c
+
+commit 9ef836117508d9c0c938f57a5ffa5ffca7eb2e7b
+Author: Peng Wu <alexepico(a)gmail.com>
+Date: 2013-07-26 13:03:44 +0800
+
+ Update the symbol of the ibus indicator
+
+M src/PYPinyinProperties.cc
+M src/PYProperty.h
+
commit 7f0ae3f5d0bbaf1b5fe2ab8b0a22892a2d9a1167
Author: Peng Wu <alexepico(a)gmail.com>
Date: 2013-04-24 15:45:32 +0800
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/configure.ac new/ibus-libpinyin-1.6.92/configure.ac
--- old/ibus-libpinyin-1.6.91/configure.ac 2013-04-24 08:23:32.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/configure.ac 2013-10-23 10:36:30.000000000 +0200
@@ -22,7 +22,7 @@
m4_define([ibus_released], [1])
m4_define([ibus_major_version], [1])
m4_define([ibus_minor_version], [6])
-m4_define([ibus_micro_version], [91])
+m4_define([ibus_micro_version], [92])
m4_define(ibus_maybe_datestamp,
m4_esyscmd([if test x]ibus_released[ != x1; then date +.%Y%m%d | tr -d '\n\r'; fi]))
@@ -54,7 +54,7 @@
# check ibus
PKG_CHECK_MODULES(IBUS, [
- ibus-1.0 >= 1.3.99
+ ibus-1.0 >= 1.4.0
])
# check sqlite
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/lua/lua-plugin-init.c new/ibus-libpinyin-1.6.92/lua/lua-plugin-init.c
--- old/ibus-libpinyin-1.6.91/lua/lua-plugin-init.c 2012-10-08 07:54:53.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/lua/lua-plugin-init.c 2013-07-31 05:01:09.000000000 +0200
@@ -26,6 +26,14 @@
#include "lua-plugin.h"
+#if LUA_VERSION_NUM >= 502
+/* ugly hack for lua 5.2 */
+
+#define lua_objlen lua_rawlen
+
+#endif
+
+
static const luaL_Reg lualibs[] = {
{"", luaopen_base},
{LUA_TABLIBNAME, luaopen_table},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/lua/lua-plugin.c new/ibus-libpinyin-1.6.92/lua/lua-plugin.c
--- old/ibus-libpinyin-1.6.91/lua/lua-plugin.c 2012-06-28 09:18:49.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/lua/lua-plugin.c 2013-07-31 04:52:59.000000000 +0200
@@ -25,6 +25,15 @@
#include "lua-plugin.h"
+#if LUA_VERSION_NUM >= 502
+/* ugly hack for lua 5.2 */
+
+#define lua_open luaL_newstate
+
+#define lua_objlen lua_rawlen
+
+#endif
+
#define IBUS_ENGINE_PLUGIN_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), IBUS_TYPE_ENGINE_PLUGIN, IBusEnginePluginPrivate))
struct _IBusEnginePluginPrivate{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/setup/config.py new/ibus-libpinyin-1.6.92/setup/config.py
--- old/ibus-libpinyin-1.6.91/setup/config.py 2013-04-30 05:35:22.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/setup/config.py 2013-10-24 07:47:39.000000000 +0200
@@ -21,7 +21,7 @@
def get_version():
- return "1.6.91"
+ return "1.6.92"
def get_data_dir():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/setup/main2.py new/ibus-libpinyin-1.6.92/setup/main2.py
--- old/ibus-libpinyin-1.6.91/setup/main2.py 2013-04-21 06:25:59.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/setup/main2.py 2013-10-08 04:40:34.000000000 +0200
@@ -30,7 +30,6 @@
from gi.repository import GLib
from gi.repository import Gtk
from gi.repository import IBus
-from xdg import BaseDirectory
import config
from dicttreeview import DictionaryTreeView
@@ -373,7 +372,7 @@
def __edit_lua_cb(self, widget):
import shutil
- path = os.path.join(BaseDirectory.xdg_config_home, "ibus", "libpinyin")
+ path = os.path.join(GLib.get_user_config_dir(), "ibus", "libpinyin")
os.path.exists(path) or os.makedirs(path)
path = os.path.join(path, "user.lua")
if not os.path.exists(path):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYEngine.cc new/ibus-libpinyin-1.6.92/src/PYEngine.cc
--- old/ibus-libpinyin-1.6.91/src/PYEngine.cc 2012-06-28 09:18:49.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/src/PYEngine.cc 2013-10-10 09:39:08.000000000 +0200
@@ -67,6 +67,12 @@
guint modifiers);
static void ibus_pinyin_engine_focus_in (IBusEngine *engine);
static void ibus_pinyin_engine_focus_out (IBusEngine *engine);
+#if IBUS_CHECK_VERSION (1, 5, 4)
+static void ibus_pinyin_engine_set_content_type
+ (IBusEngine *engine,
+ guint purpose,
+ guint hints);
+#endif
static void ibus_pinyin_engine_reset (IBusEngine *engine);
static void ibus_pinyin_engine_enable (IBusEngine *engine);
static void ibus_pinyin_engine_disable (IBusEngine *engine);
@@ -123,6 +129,10 @@
engine_class->focus_in = ibus_pinyin_engine_focus_in;
engine_class->focus_out = ibus_pinyin_engine_focus_out;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ engine_class->set_content_type = ibus_pinyin_engine_set_content_type;
+#endif
+
engine_class->page_up = ibus_pinyin_engine_page_up;
engine_class->page_down = ibus_pinyin_engine_page_down;
@@ -189,6 +199,17 @@
return pinyin->engine->processKeyEvent (keyval, keycode, modifiers);
}
+#if IBUS_CHECK_VERSION (1, 5, 4)
+static void
+ibus_pinyin_engine_set_content_type (IBusEngine *engine,
+ guint purpose,
+ guint hints)
+{
+ IBusPinyinEngine *pinyin = (IBusPinyinEngine *) engine;
+ return pinyin->engine->setContentType (purpose, hints);
+}
+#endif
+
static void
ibus_pinyin_engine_property_activate (IBusEngine *engine,
const gchar *prop_name,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYEngine.h new/ibus-libpinyin-1.6.92/src/PYEngine.h
--- old/ibus-libpinyin-1.6.91/src/PYEngine.h 2012-06-28 09:18:49.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/src/PYEngine.h 2013-10-10 09:39:30.000000000 +0200
@@ -44,6 +44,9 @@
virtual gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers) = 0;
virtual void focusIn (void) = 0;
virtual void focusOut (void) = 0;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ virtual void setContentType (guint purpose, guint hints) = 0;
+#endif
virtual void reset (void) = 0;
virtual void enable (void) = 0;
virtual void disable (void) = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYPBopomofoEngine.cc new/ibus-libpinyin-1.6.92/src/PYPBopomofoEngine.cc
--- old/ibus-libpinyin-1.6.91/src/PYPBopomofoEngine.cc 2013-02-20 03:27:20.000000000 +0100
+++ new/ibus-libpinyin-1.6.92/src/PYPBopomofoEngine.cc 2013-10-10 09:46:58.000000000 +0200
@@ -40,6 +40,10 @@
{
gint i;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM;
+#endif
+
/* create editors */
m_editors[MODE_INIT].reset (new LibPinyinBopomofoEditor (m_props, LibPinyinBopomofoConfig::instance ()));
m_editors[MODE_PUNCT].reset (new PunctEditor (m_props, LibPinyinBopomofoConfig::instance ()));
@@ -64,6 +68,11 @@
{
gboolean retval = FALSE;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ if (IBUS_INPUT_PURPOSE_PASSWORD == m_input_purpose)
+ return retval;
+#endif
+
/* check Shift or Ctrl + Release hotkey,
* and then ignore other Release key event */
if (modifiers & IBUS_RELEASE_MASK) {
@@ -140,9 +149,22 @@
void
LibPinyinBopomofoEngine::focusOut (void)
{
+
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM;
+#endif
+
reset ();
}
+#if IBUS_CHECK_VERSION(1, 5, 4)
+void
+LibPinyinBopomofoEngine::setContentType (guint purpose, guint hints)
+{
+ m_input_purpose = (IBusInputPurpose) purpose;
+}
+#endif
+
void
LibPinyinBopomofoEngine::reset (void)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYPBopomofoEngine.h new/ibus-libpinyin-1.6.92/src/PYPBopomofoEngine.h
--- old/ibus-libpinyin-1.6.91/src/PYPBopomofoEngine.h 2012-06-28 09:18:50.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/src/PYPBopomofoEngine.h 2013-10-10 09:41:33.000000000 +0200
@@ -37,6 +37,9 @@
gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers);
void focusIn (void);
void focusOut (void);
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ void setContentType (guint purpose, guint hints);
+#endif
void reset (void);
void enable (void);
void disable (void);
@@ -60,6 +63,10 @@
private:
PinyinProperties m_props;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ IBusInputPurpose m_input_purpose;
+#endif
+
guint m_prev_pressed_key;
enum {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYPPinyinEngine.cc new/ibus-libpinyin-1.6.92/src/PYPPinyinEngine.cc
--- old/ibus-libpinyin-1.6.91/src/PYPPinyinEngine.cc 2013-02-20 03:27:20.000000000 +0100
+++ new/ibus-libpinyin-1.6.92/src/PYPPinyinEngine.cc 2013-10-10 09:46:12.000000000 +0200
@@ -50,6 +50,10 @@
{
gint i;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM;
+#endif
+
m_double_pinyin = LibPinyinPinyinConfig::instance ().doublePinyin ();
if (m_double_pinyin)
@@ -100,6 +104,11 @@
{
gboolean retval = FALSE;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ if (IBUS_INPUT_PURPOSE_PASSWORD == m_input_purpose)
+ return retval;
+#endif
+
/* check Shift or Ctrl + Release hotkey,
* and then ignore other Release key event */
if (modifiers & IBUS_RELEASE_MASK) {
@@ -222,9 +231,22 @@
void
LibPinyinPinyinEngine::focusOut (void)
{
+
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ m_input_purpose = IBUS_INPUT_PURPOSE_FREE_FORM;
+#endif
+
reset ();
}
+#if IBUS_CHECK_VERSION(1, 5, 4)
+void
+LibPinyinPinyinEngine::setContentType (guint purpose, guint hints)
+{
+ m_input_purpose = (IBusInputPurpose) purpose;
+}
+#endif
+
void
LibPinyinPinyinEngine::reset (void)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYPPinyinEngine.h new/ibus-libpinyin-1.6.92/src/PYPPinyinEngine.h
--- old/ibus-libpinyin-1.6.91/src/PYPPinyinEngine.h 2012-07-27 06:04:43.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/src/PYPPinyinEngine.h 2013-10-10 08:24:14.000000000 +0200
@@ -35,6 +35,9 @@
gboolean processKeyEvent (guint keyval, guint keycode, guint modifiers);
void focusIn (void);
void focusOut (void);
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ void setContentType (guint purpose, guint hints);
+#endif
void reset (void);
void enable (void);
void disable (void);
@@ -56,6 +59,10 @@
private:
PinyinProperties m_props;
+#if IBUS_CHECK_VERSION (1, 5, 4)
+ IBusInputPurpose m_input_purpose;
+#endif
+
guint m_prev_pressed_key;
enum {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYPinyinProperties.cc new/ibus-libpinyin-1.6.92/src/PYPinyinProperties.cc
--- old/ibus-libpinyin-1.6.91/src/PYPinyinProperties.cc 2013-02-20 03:27:20.000000000 +0100
+++ new/ibus-libpinyin-1.6.92/src/PYPinyinProperties.cc 2013-07-26 06:59:26.000000000 +0200
@@ -26,6 +26,7 @@
namespace PY {
#define _(text) (dgettext (GETTEXT_PACKAGE, text))
+#define N_(text) text
PinyinProperties::PinyinProperties (Config & config)
: m_config (config),
@@ -33,7 +34,7 @@
m_mode_full (m_config.initFull ()),
m_mode_full_punct (m_config.initFullPunct ()),
m_mode_simp (m_config.initSimpChinese ()),
- m_prop_chinese ("mode.chinese",
+ m_prop_chinese ("InputMode",
PROP_TYPE_NORMAL,
StaticText (m_mode_chinese ?
_("Chinese") :
@@ -83,6 +84,11 @@
"ibus-setup",
StaticText (_("Preferences")))
{
+ if (m_mode_chinese)
+ m_prop_chinese.setSymbol(N_("中"));
+ else
+ m_prop_chinese.setSymbol(N_("英"));
+
m_props.append (m_prop_chinese);
m_props.append (m_prop_full);
m_props.append (m_prop_full_punct);
@@ -98,6 +104,12 @@
m_prop_chinese.setLabel (m_mode_chinese ?
_("Chinese") :
_("English"));
+
+ if (m_mode_chinese)
+ m_prop_chinese.setSymbol(N_("中"));
+ else
+ m_prop_chinese.setSymbol(N_("英"));
+
m_prop_chinese.setIcon (m_mode_chinese ?
PKGDATADIR"/icons/chinese.svg" :
PKGDATADIR"/icons/english.svg");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/PYProperty.h new/ibus-libpinyin-1.6.92/src/PYProperty.h
--- old/ibus-libpinyin-1.6.91/src/PYProperty.h 2013-02-20 03:27:20.000000000 +0100
+++ new/ibus-libpinyin-1.6.92/src/PYProperty.h 2013-07-26 06:52:50.000000000 +0200
@@ -55,6 +55,16 @@
ibus_property_set_icon (get<IBusProperty> (), icon);
}
+ void setSymbol (IBusText *text)
+ {
+ ibus_property_set_symbol (get<IBusProperty> (), text);
+ }
+
+ void setSymbol (const gchar *text)
+ {
+ setSymbol (Text (text));
+ }
+
void setSensitive (gboolean sensitive)
{
ibus_property_set_sensitive (get<IBusProperty> (), sensitive);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/src/libpinyin.xml.in new/ibus-libpinyin-1.6.92/src/libpinyin.xml.in
--- old/ibus-libpinyin-1.6.91/src/libpinyin.xml.in 2013-04-30 05:35:22.000000000 +0200
+++ new/ibus-libpinyin-1.6.92/src/libpinyin.xml.in 2013-10-24 07:47:39.000000000 +0200
@@ -4,7 +4,7 @@
<name>org.freedesktop.IBus.Libpinyin</name>
<description>Libpinyin Component</description>
<exec>${libexecdir}/ibus-engine-libpinyin --ibus</exec>
- <version>1.6.91</version>
+ <version>1.6.92</version>
<author>Peng Wu <alexepico(a)gmail.com></author>
<license>GPL</license>
<homepage>https://github.com/libpinyin/ibus-libpinyin</homepage>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ibus-libpinyin-1.6.91/test-driver new/ibus-libpinyin-1.6.92/test-driver
--- old/ibus-libpinyin-1.6.91/test-driver 1970-01-01 01:00:00.000000000 +0100
+++ new/ibus-libpinyin-1.6.92/test-driver 2013-07-26 06:57:45.000000000 +0200
@@ -0,0 +1,127 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2012-06-27.10; # UTC
+
+# Copyright (C) 2011-2013 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake(a)gnu.org> or send patches to
+# <automake-patches(a)gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+# TODO: better error handling in option parsing (in particular, ensure
+# TODO: $log_file, $trs_file and $test_name are defined).
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ esac
+ shift
+done
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='[0;31m' # Red.
+ grn='[0;32m' # Green.
+ lgn='[1;32m' # Light green.
+ blu='[1;34m' # Blue.
+ mgn='[0;35m' # Magenta.
+ std='[m' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ estatus=1
+fi
+
+case $estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
--
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 psi+ for openSUSE:Factory checked in at 2014-02-28 16:24:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/psi+ (Old)
and /work/SRC/openSUSE:Factory/.psi+.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "psi+"
Changes:
--------
--- /work/SRC/openSUSE:Factory/psi+/psi+.changes 2014-01-14 15:08:53.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.psi+.new/psi+.changes 2014-02-28 16:24:43.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Feb 20 19:48:55 UTC 2014 - jslaby(a)suse.com
+
+- update to 20130911
+ * updated translations
+ * many bugfixes (see ChangeLog)
+
+-------------------------------------------------------------------
Old:
----
psi+-20140109.tar.xz
New:
----
psi+-20140217.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ psi+.spec ++++++
--- /var/tmp/diff_new_pack.52HCml/_old 2014-02-28 16:24:46.000000000 +0100
+++ /var/tmp/diff_new_pack.52HCml/_new 2014-02-28 16:24:46.000000000 +0100
@@ -16,10 +16,9 @@
#
-
Name: psi+
Url: http://code.google.com/p/psi-dev/
-Version: 20140109
+Version: 20140217
Release: 0
Summary: Jabber client using Qt
License: GPL-2.0+
++++++ psi+-20140109.tar.xz -> psi+-20140217.tar.xz ++++++
/work/SRC/openSUSE:Factory/psi+/psi+-20140109.tar.xz /work/SRC/openSUSE:Factory/.psi+.new/psi+-20140217.tar.xz differ: char 25, line 1
++++++ psi-plus-l10n-1.tar.xz ++++++
++++ 50180 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 rpmlint for openSUSE:Factory checked in at 2014-02-28 16:24:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
and /work/SRC/openSUSE:Factory/.rpmlint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2014-02-13 06:52:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rpmlint.new/rpmlint.changes 2014-02-28 16:24:35.000000000 +0100
@@ -1,0 +2,38 @@
+Thu Feb 27 15:45:18 UTC 2014 - aplanas(a)suse.com
+
+- added patches:
+ * rpmlint-fix-unexpanded-macros-for-array-values.patch
+- fix _unexpanded_macros for array values
+
+-------------------------------------------------------------------
+Thu Feb 27 11:07:25 UTC 2014 - lnussel(a)suse.de
+
+- rip out all decode in an attempt to make it work
+- modified patches:
+ * rpmlint-decode-fix.diff
+-------------------------------------------------------------------
+Thu Feb 27 08:25:03 UTC 2014 - aplanas(a)suse.com
+
+- added paches:
+ * rpmlint-decode-fix.diff
+- Fix decode from UTF-8 string in Python 2
+
+-------------------------------------------------------------------
+Sun Feb 23 20:52:54 UTC 2014 - schwab(a)suse.de
+
+- usr-arch.diff: update usr_arch_share_regex
+
+-------------------------------------------------------------------
+Fri Feb 21 16:16:34 CET 2014 - mls(a)suse.de
+
+- adapt to new rpm weak dependency tags
+
+-------------------------------------------------------------------
+Fri Feb 21 14:53:30 UTC 2014 - dmueller(a)suse.com
+
+- added patches:
+ * 0001-Python-3-compatibility-tweaks.patch
+- Change openstack- related users to non-prefixed variants,
+ as they get renamed with the switch to Icehouse
+
+-------------------------------------------------------------------
New:
----
0001-Python-3-compatibility-tweaks.patch
rpmlint-decode-fix.diff
rpmlint-fix-unexpanded-macros-for-array-values.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -58,7 +58,6 @@
Patch1: suse-checks.diff
Patch2: suse-version.diff
Patch3: suse-url-check.diff
-Patch4: invalid-filerequires.diff
Patch5: suse-python3-naming-policy.diff
Patch6: suse-filesystem.diff
Patch7: suse-pkg-config-check.diff
@@ -71,6 +70,7 @@
Patch14: sourced-dirs.diff
Patch15: suse-filter-more-verbose.diff
Patch17: docdata-examples.diff
+Patch18: 0001-Python-3-compatibility-tweaks.patch
Patch19: yast-provides.diff
Patch20: xdg-paths-update.diff
Patch22: better-wrong-script.diff
@@ -125,6 +125,9 @@
Patch92: rpmlint-1.5-Fix-setgroups-error-name.diff
Patch93: xdg-check-exception.diff
Patch94: suse-ignore-specfile-errors.diff
+Patch95: invalid-filerequires.diff
+Patch96: rpmlint-decode-fix.diff
+Patch97: rpmlint-fix-unexpanded-macros-for-array-values.patch
%py_requires
@@ -138,7 +141,6 @@
%patch1
%patch2
%patch3
-%patch4
%patch5
%patch6
%patch7
@@ -151,6 +153,7 @@
%patch14
%patch15
%patch17
+%patch18 -p1
%patch19
%patch20
%patch22
@@ -202,6 +205,9 @@
%patch92 -p1
%patch93 -p1
%patch94
+%patch95
+%patch96 -p1
+%patch97 -p1
cp -p %{SOURCE2} .
# Only move top-level python files
chmod 0755 rpmlint-checks-master/*.py
++++++ 0001-Python-3-compatibility-tweaks.patch ++++++
++++ 909 lines (skipped)
++++++ add-weak-dependencies.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -1,8 +1,8 @@
Index: Pkg.py
===================================================================
---- Pkg.py.orig
-+++ Pkg.py
-@@ -424,6 +424,10 @@ class Pkg:
+--- Pkg.py.orig 2014-02-21 15:11:27.194647274 +0000
++++ Pkg.py 2014-02-21 15:13:26.205647064 +0000
+@@ -427,6 +427,10 @@ class Pkg:
self._missingok_files = None
self._files = None
self._requires = None
@@ -13,7 +13,7 @@
self._req_names = -1
if header:
-@@ -670,6 +674,22 @@ class Pkg:
+@@ -673,6 +677,22 @@ class Pkg:
self._gatherDepInfo()
return self._requires
@@ -36,7 +36,7 @@
def prereq(self):
"""Get package PreReqs as list of
(name, flags, (epoch, version, release)) tuples."""
-@@ -706,7 +726,7 @@ class Pkg:
+@@ -709,7 +729,7 @@ class Pkg:
# internal function to gather dependency info used by the above ones
def _gather_aux(self, header, list, nametag, flagstag, versiontag,
@@ -45,20 +45,20 @@
names = header[nametag]
flags = header[flagstag]
versions = header[versiontag]
-@@ -717,7 +737,11 @@ class Pkg:
+@@ -720,7 +740,11 @@ class Pkg:
+ evr = stringToVersion(versions[loop].decode())
if prereq is not None and flags[loop] & PREREQ_FLAG:
- prereq.append((names[loop], flags[loop] & (~PREREQ_FLAG),
- evr))
+ prereq.append((name, flags[loop] & (~PREREQ_FLAG), evr))
- else:
+ elif strong_only and flags[loop] & rpm.RPMSENSE_STRONG:
+ list.append((names[loop], versions[loop], flags[loop] & (~rpm.RPMSENSE_STRONG)))
+ elif weak_only and not (flags[loop] & rpm.RPMSENSE_STRONG):
+ list.append((names[loop], versions[loop], flags[loop]))
+ elif not (weak_only or strong_only):
- list.append((names[loop], flags[loop], evr))
+ list.append((name, flags[loop], evr))
def _gatherDepInfo(self):
-@@ -727,6 +751,10 @@ class Pkg:
+@@ -730,6 +754,10 @@ class Pkg:
self._provides = []
self._conflicts = []
self._obsoletes = []
@@ -69,38 +69,34 @@
self._gather_aux(self.header, self._requires,
rpm.RPMTAG_REQUIRENAME,
-@@ -745,6 +773,30 @@ class Pkg:
+@@ -748,6 +776,26 @@ class Pkg:
rpm.RPMTAG_OBSOLETENAME,
rpm.RPMTAG_OBSOLETEFLAGS,
rpm.RPMTAG_OBSOLETEVERSION)
+ try:
+ self._gather_aux(self.header, self._recommends,
-+ rpm.RPMTAG_SUGGESTSNAME,
-+ rpm.RPMTAG_SUGGESTSFLAGS,
-+ rpm.RPMTAG_SUGGESTSVERSION,
-+ strong_only=True)
++ rpm.RPMTAG_RECOMMENDNAME,
++ rpm.RPMTAG_RECOMMENDFLAGS,
++ rpm.RPMTAG_RECOMMENDVERSION)
+ self._gather_aux(self.header, self._suggests,
-+ rpm.RPMTAG_SUGGESTSNAME,
-+ rpm.RPMTAG_SUGGESTSFLAGS,
-+ rpm.RPMTAG_SUGGESTSVERSION,
-+ weak_only=True)
++ rpm.RPMTAG_SUGGESTNAME,
++ rpm.RPMTAG_SUGGESTFLAGS,
++ rpm.RPMTAG_SUGGESTVERSION)
+ self._gather_aux(self.header, self._supplements,
-+ rpm.RPMTAG_ENHANCESNAME,
-+ rpm.RPMTAG_ENHANCESFLAGS,
-+ rpm.RPMTAG_ENHANCESVERSION,
-+ strong_only=True)
++ rpm.RPMTAG_SUPPLEMENTNAME,
++ rpm.RPMTAG_SUPPLEMENTFLAGS,
++ rpm.RPMTAG_SUPPLEMENTVERSION)
+ self._gather_aux(self.header, self._enhances,
-+ rpm.RPMTAG_ENHANCESNAME,
-+ rpm.RPMTAG_ENHANCESFLAGS,
-+ rpm.RPMTAG_ENHANCESVERSION,
-+ weak_only=True)
++ rpm.RPMTAG_ENHANCENAME,
++ rpm.RPMTAG_ENHANCEFLAGS,
++ rpm.RPMTAG_ENHANCEVERSION)
+ except:
+ pass
+
def scriptprog(self, which):
"""Get the specified script interpreter as a string.
-@@ -758,6 +810,7 @@ class Pkg:
+@@ -761,6 +809,7 @@ class Pkg:
prog = " ".join(prog)
return prog
++++++ better-wrong-script.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- FilesCheck.py.orig
+++ FilesCheck.py
-@@ -1667,7 +1667,10 @@ executed.''',
+@@ -1670,7 +1670,10 @@ executed.''',
executed.''',
'wrong-script-interpreter',
++++++ config ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -67,6 +67,7 @@
#setOption("KernelModuleRPMsOK", 0)
setOption("CompressExtension", None)
setOption('UseVarLockSubsys', False)
+setOption("BadnessThreshold", 1000)
setOption('ValidGroups', [])
@@ -152,14 +153,15 @@
'ntop',
'ntp',
'oinstall',
- 'openstack-ceilometer',
- 'openstack-cinder',
- 'openstack-glance',
- 'openstack-heat',
- 'openstack-keystone',
- 'openstack-nova',
- 'openstack-quantum',
- 'openstack-swift',
+ 'ceilometer',
+ 'cinder',
+ 'glance',
+ 'heat',
+ 'keystone',
+ 'nova',
+ 'neutron',
+ 'swift',
+ 'trove',
'otrs',
'pdns',
'pegasus',
++++++ description-check.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -2,17 +2,17 @@
===================================================================
--- TagsCheck.py.orig
+++ TagsCheck.py
-@@ -705,6 +705,9 @@ class TagsCheck(AbstractCheck.AbstractCh
- if not description:
- printError(pkg, 'no-description-tag')
- else:
+@@ -715,6 +715,9 @@ class TagsCheck(AbstractCheck.AbstractCh
+ else:
+ for lang in langs:
+ self.check_description(pkg, lang, ignored_words)
++
+ if len(pkg[rpm.RPMTAG_DESCRIPTION].partition('Authors:')[0])-4 < len(pkg[rpm.RPMTAG_SUMMARY]):
+ printWarning(pkg, 'description-shorter-than-summary')
-+
- if not pkg[rpm.RPMTAG_HEADERI18NTABLE]:
- self._unexpanded_macros(pkg, '%description', description)
- else:
-@@ -988,6 +991,10 @@ Name tag.''',
+ else:
+ printError(pkg, 'no-description-tag')
+
+@@ -995,6 +998,10 @@ Name tag.''',
'''The major number of the library isn't included in the package's name.
''',
++++++ devel-provide-is-devel-package.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:36.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:36.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- FilesCheck.py.orig
+++ FilesCheck.py
-@@ -806,6 +806,10 @@ class FilesCheck(AbstractCheck.AbstractC
+@@ -807,6 +807,10 @@ class FilesCheck(AbstractCheck.AbstractC
# Check if the package is a development package
devel_pkg = devel_regex.search(pkg.name)
++++++ libtool-wrapper-check.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- BinariesCheck.py.orig
+++ BinariesCheck.py
-@@ -309,8 +309,19 @@ class BinariesCheck(AbstractCheck.Abstra
+@@ -313,8 +313,19 @@ class BinariesCheck(AbstractCheck.Abstra
is_ar = 'current ar archive' in pkgfile.magic
is_ocaml_native = 'Objective caml native' in pkgfile.magic
is_lua_bytecode = 'Lua bytecode' in pkgfile.magic
@@ -22,7 +22,7 @@
if not is_binary:
if reference_regex.search(fname):
lines = pkg.grep(invalid_dir_ref_regex, fname)
-@@ -568,6 +579,15 @@ recompiled separately from the static li
+@@ -572,6 +583,15 @@ recompiled separately from the static li
Another common mistake that causes this problem is linking with
``gcc -Wl,-shared'' instead of ``gcc -shared''.''',
++++++ no-badness-return.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -15,9 +15,9 @@
===================================================================
--- rpmlint.orig
+++ rpmlint
-@@ -211,7 +211,7 @@ def main():
+@@ -214,7 +214,7 @@ def main():
% (packages_checked, specfiles_checked,
- printed_messages["E"], printed_messages["W"])
+ printed_messages["E"], printed_messages["W"]))
- if printed_messages["E"] > 0:
+ if badnessThreshold() < 0 and printed_messages["E"] > 0:
++++++ noarch-lib64.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,15 +2,15 @@
===================================================================
--- BinariesCheck.py.orig
+++ BinariesCheck.py
-@@ -289,6 +289,7 @@ class BinariesCheck(AbstractCheck.Abstra
+@@ -291,6 +291,7 @@ class BinariesCheck(AbstractCheck.Abstra
binary = False
binary_in_usr_lib = False
has_usr_lib_file = False
+ file_in_lib64 = False
multi_pkg = False
- res = srcname_regex.search(pkg[rpm.RPMTAG_SOURCERPM] or '')
-@@ -305,6 +306,10 @@ class BinariesCheck(AbstractCheck.Abstra
+ srpm = pkg[rpm.RPMTAG_SOURCERPM]
+@@ -309,6 +310,10 @@ class BinariesCheck(AbstractCheck.Abstra
# only-non-binary-in-usr-lib false positives
binary_in_usr_lib = True
@@ -21,7 +21,7 @@
is_elf = 'ELF' in pkgfile.magic
is_ar = 'current ar archive' in pkgfile.magic
is_ocaml_native = 'Objective caml native' in pkgfile.magic
-@@ -530,9 +535,12 @@ class BinariesCheck(AbstractCheck.Abstra
+@@ -534,9 +539,12 @@ class BinariesCheck(AbstractCheck.Abstra
if version and version != -1 and version not in pkg.name:
printError(pkg, 'incoherent-version-in-name', version)
@@ -35,7 +35,7 @@
if has_usr_lib_file and not binary_in_usr_lib:
printWarning(pkg, 'only-non-binary-in-usr-lib')
-@@ -556,6 +564,11 @@ FHS and the FSSTND forbid this.''',
+@@ -560,6 +568,11 @@ FHS and the FSSTND forbid this.''',
# 'non-sparc32-binary',
# '',
++++++ only-reg-files-are-scripts.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- InitScriptCheck.py.orig
+++ InitScriptCheck.py
-@@ -17,7 +17,7 @@ from Filter import addDetails, printErro
+@@ -18,7 +18,7 @@ from Filter import addDetails, printErro
import AbstractCheck
import Config
import Pkg
@@ -11,7 +11,7 @@
chkconfig_content_regex = re.compile('^\s*#\s*chkconfig:\s*([-0-9]+)\s+[-0-9]+\s+[-0-9]+')
subsys_regex = re.compile('/var/lock/subsys/([^/"\'\n\s;&|]+)', re.MULTILINE)
-@@ -63,6 +63,9 @@ class InitScriptCheck(AbstractCheck.Abst
+@@ -64,6 +64,9 @@ class InitScriptCheck(AbstractCheck.Abst
not fname.startswith('/etc/rc.d/init.d/'):
continue
@@ -20,4 +20,4 @@
+
basename = os.path.basename(fname)
initscript_list.append(basename)
- if pkgfile.mode & 0500 != 0500:
+ if pkgfile.mode & int("500", 8) != int("500", 8):
++++++ rpmgroup-checks.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- TagsCheck.py.orig
+++ TagsCheck.py
-@@ -715,6 +715,8 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -722,6 +722,8 @@ class TagsCheck(AbstractCheck.AbstractCh
self._unexpanded_macros(pkg, 'Group', group)
if not group:
printError(pkg, 'no-group-tag')
@@ -11,7 +11,7 @@
elif VALID_GROUPS and group not in VALID_GROUPS:
printWarning(pkg, 'non-standard-group', group)
-@@ -1027,6 +1029,10 @@ won't fool the specfile parser, and rebu
+@@ -1034,6 +1036,10 @@ won't fool the specfile parser, and rebu
'''There is no Group tag in your package. You have to specify a valid group
in your spec file using the Group tag.''',
++++++ rpmlint-1.5-Fix-setgroups-error-name.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -7,11 +7,11 @@
BinariesCheck.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/BinariesCheck.py b/BinariesCheck.py
-index b770085..cea85b9 100644
---- a/BinariesCheck.py
-+++ b/BinariesCheck.py
-@@ -459,7 +459,7 @@ class BinariesCheck(AbstractCheck.AbstractCheck):
+Index: rpmlint-1.5/BinariesCheck.py
+===================================================================
+--- rpmlint-1.5.orig/BinariesCheck.py
++++ rpmlint-1.5/BinariesCheck.py
+@@ -514,7 +514,7 @@ class BinariesCheck(AbstractCheck.Abstra
printError(pkg, 'missing-PT_GNU_STACK-section', fname)
if bin_info.setgid and bin_info.setuid and not bin_info.setgroups:
@@ -20,6 +20,3 @@
if bin_info.chroot:
if not bin_info.chdir or not bin_info.chroot_near_chdir:
---
-1.8.1.4
-
++++++ rpmlint-checks-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/BashismsCheck.py new/rpmlint-checks-master/BashismsCheck.py
--- old/rpmlint-checks-master/BashismsCheck.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/BashismsCheck.py 2014-02-14 12:52:25.000000000 +0100
@@ -32,7 +32,7 @@
status, output = Pkg.getstatusoutput(["checkbashisms", filename])
if status == 1:
printInfo(pkg, "potential-bashisms", filename)
- except Exception, x:
+ except Exception as x:
printError(pkg, 'rpmlint-exception', "%(file)s raised an exception: %(x)s" % {'file':filename, 'x':x})
finally:
f.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckBuildDate.py new/rpmlint-checks-master/CheckBuildDate.py
--- old/rpmlint-checks-master/CheckBuildDate.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckBuildDate.py 2014-02-14 12:52:25.000000000 +0100
@@ -5,20 +5,19 @@
# Purpose : Check for binaries containing build date
#############################################################################
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import os
-import commands
import Config
+import Filter
+import re
import stat
import time
+
class BuildDateCheck(AbstractCheck.AbstractFilesCheck):
def __init__(self):
AbstractCheck.AbstractFilesCheck.__init__(self, "CheckBuildDate", ".*")
- self.looksliketime = re.compile('(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])')
+ self.looksliketime = re.compile(
+ '(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])')
self.istoday = re.compile(time.strftime("%b %e %Y"))
def check_file(self, pkg, filename):
@@ -34,16 +33,19 @@
if len(grep_date):
if len(grep_time):
- printError(pkg, "file-contains-date-and-time", filename)
+ Filter.printError(pkg, "file-contains-date-and-time", filename)
else:
- printWarning(pkg, "file-contains-current-date", filename)
+ Filter.printWarning(pkg, "file-contains-current-date",
+ filename)
-check=BuildDateCheck()
+check = BuildDateCheck()
if Config.info:
- addDetails(
+ Filter.addDetails(
'file-contains-current-date',
-"""Your file contains the current date, this may cause the package to rebuild in excess.""",
+"""Your file contains the current date, this may cause the package
+to rebuild in excess.""",
'file-contains-date-and-time',
-"""Your file uses __DATE and __TIME__ this causes the package to rebuild when not needed"""
+"""Your file uses __DATE and __TIME__ this causes the package to
+rebuild when not needed"""
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckBuildRoot.py new/rpmlint-checks-master/CheckBuildRoot.py
--- old/rpmlint-checks-master/CheckBuildRoot.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckBuildRoot.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,15 +6,14 @@
# Purpose : Check for files containing $RPM_BUILD_ROOT
#############################################################################
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import os
-import commands
import Config
+import Filter
+import re
+import rpm
import stat
+
class BuildRootCheck(AbstractCheck.AbstractFilesCheck):
def __init__(self):
AbstractCheck.AbstractFilesCheck.__init__(self, "CheckBuildRoot", ".*")
@@ -30,12 +29,12 @@
return
if len(pkg.grep(self.build_root_re, filename)):
- printError(pkg, "file-contains-buildroot", filename)
+ Filter.printError(pkg, "file-contains-buildroot", filename)
-check=BuildRootCheck()
+check = BuildRootCheck()
if Config.info:
- addDetails(
-'file-contains-buildroot',
-"Your file contains traces of $RPM_BUILD_ROOT."
-)
+ Filter.addDetails(
+ 'file-contains-buildroot',
+ "Your file contains traces of $RPM_BUILD_ROOT."
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckCommonFiles.py new/rpmlint-checks-master/CheckCommonFiles.py
--- old/rpmlint-checks-master/CheckCommonFiles.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckCommonFiles.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,21 +6,18 @@
# Purpose : Check for common files being packaged
#############################################################################
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import commands
-import stat
import Config
-import os
-import string
+import Filter
+import re
+
class CommonFilesCheck(AbstractCheck.AbstractCheck):
def __init__(self):
self.map = []
AbstractCheck.AbstractCheck.__init__(self, "CheckCommonFiles")
- self.sources_am_re = re.compile('([\w\d_]+_SOURCES\s*=|\s*SUBDIRS\s*=)')
+ self.sources_am_re = re.compile(
+ '([\w\d_]+_SOURCES\s*=|\s*SUBDIRS\s*=)')
def check(self, pkg):
@@ -37,7 +34,7 @@
'cf8c4d1a5ab88db006c47ae2b51a6b30',
'5d4638159851671944108691f23e4f28',
'0d6be33865b76025c20b48bcac87adb7'):
- printError(pkg, "generic-build-instructions", f)
+ Filter.printError(pkg, "generic-build-instructions", f)
# bnc 379919
#if len(md5) and md5 in (
@@ -49,22 +46,24 @@
# printError(pkg, "duplicated-file-gpl-v3", f)
# bsd causes the false positive COPYING.BSD
- if len(md5) and f.rsplit('/',1)[1][0].lower() == 'r' and f.rsplit('.',1)[-1].lower() in (
- 'aix', 'bsd', 'dos', 'hpux', 'irix', 'os2', 'mac', 'macos', 'tru64',
- 'sco', 'vms', 'win32', 'win', 'solaris'):
- printWarning(pkg, "non-linux-readme", f)
+ if (len(md5) and f.rsplit('/', 1)[1][0].lower() == 'r' and
+ f.rsplit('.', 1)[-1].lower() in (
+ 'aix', 'bsd', 'dos', 'hpux', 'irix', 'os2', 'mac', 'macos',
+ 'tru64', 'sco', 'vms', 'win32', 'win', 'solaris')):
+ Filter.printWarning(pkg, "non-linux-readme", f)
- if f.endswith("/Makefile.am") and f[:-3] + ".in" in files and f in pkg.docFiles():
+ if (f.endswith("/Makefile.am") and f[:-3] + ".in" in files and
+ f in pkg.docFiles()):
if not len(pkg.grep(self.sources_am_re, f)):
- printError(pkg, "makefile-junk", f)
- printError(pkg, "makefile-junk", f[:-3] + ".in")
+ Filter.printError(pkg, "makefile-junk", f)
+ Filter.printError(pkg, "makefile-junk", f[:-3] + ".in")
if f[:-3] in files:
- printError(pkg, "makefile-junk", f[:-3])
+ Filter.printError(pkg, "makefile-junk", f[:-3])
-check=CommonFilesCheck()
+check = CommonFilesCheck()
if Config.info:
- addDetails(
+ Filter.addDetails(
'generic-build-instructions',
"""Your package contains a file that contains the FSF generic
configure/make/make install instructions. Those are useless
@@ -85,5 +84,5 @@
"""Your package contains makefiles that only make sense in a
source package. Did you package a complete directory from the
tarball by using %doc? Consider removing Makefile* from this
-directory at the end of your %install section to reduce package bloat."""
-)
+directory at the end of your %install section to reduce bloat."""
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckDBusPolicy.py new/rpmlint-checks-master/CheckDBusPolicy.py
--- old/rpmlint-checks-master/CheckDBusPolicy.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckDBusPolicy.py 2014-02-14 12:52:25.000000000 +0100
@@ -27,7 +27,7 @@
if f in pkg.ghostFiles():
continue
- # catch xml exceptions
+ # catch xml exceptions
try:
if f.startswith("/etc/dbus-1/system.d/"):
send_policy_seen = False
@@ -52,11 +52,11 @@
if ( deny.hasAttribute('send_interface') \
and not deny.hasAttribute('send_destination')):
printError(pkg, 'dbus-policy-deny-without-destination', "%(file)s: %(xml)s" % { 'file':f, 'xml':deny.toxml() })
-
+
if not send_policy_seen:
printError(pkg, 'dbus-policy-missing-allow', "%(file)s does not allow communication" % { 'file':f })
- except Exception, x:
+ except Exception as x:
printError(pkg, 'rpmlint-exception', "%(file)s raised an exception: %(x)s" % {'file':f, 'x':x})
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckExecDocs.py new/rpmlint-checks-master/CheckExecDocs.py
--- old/rpmlint-checks-master/CheckExecDocs.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckExecDocs.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,19 +6,15 @@
# Purpose : Check for executable files in %doc
#---------------------------------------------------------------
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import commands
-import stat
import Config
-import os
-import string
+import Filter
+import stat
+
def ignore_pkg(name):
if name.startswith('bundle-'):
- return True
+ return True
if name.find('-devel') != -1:
return True
if name.find('-doc') != -1:
@@ -26,6 +22,7 @@
return False
+
def lang_ignore_pkg(name):
if ignore_pkg(name):
return True
@@ -36,6 +33,7 @@
return False
+
class ExecDocsCheck(AbstractCheck.AbstractCheck):
def __init__(self):
self.map = []
@@ -47,51 +45,56 @@
return
files = pkg.files()
- complete_size=0
- lang_size=0
+ complete_size = 0
+ lang_size = 0
for f, pkgfile in files.items():
if stat.S_ISREG(pkgfile.mode):
complete_size += pkgfile.size
if pkgfile.lang != '':
lang_size += pkgfile.size
- doc_size=0
+ doc_size = 0
for f in pkg.docFiles():
if stat.S_ISREG(files[f].mode):
doc_size += files[f].size
- if doc_size * 2 >= complete_size \
- and doc_size > 100*1024 and (complete_size - doc_size) * 20 > complete_size \
- and not ignore_pkg(pkg.name):
- printWarning(pkg, "package-with-huge-docs", ("%3d%%" % (doc_size * 100 / complete_size)) )
+ if doc_size * 2 >= complete_size and \
+ doc_size > 100*1024 and \
+ (complete_size - doc_size) * 20 > complete_size and \
+ not ignore_pkg(pkg.name):
+ Filter.printWarning(pkg, "package-with-huge-docs",
+ ("%3d%%" % (doc_size * 100 / complete_size)))
if lang_size * 2 >= complete_size \
- and lang_size > 100*1024 and (complete_size - lang_size) * 20 > complete_size \
- and not lang_ignore_pkg(pkg.name):
- printWarning(pkg, "package-with-huge-translation", ("%3d%%" % (lang_size * 100 / complete_size)))
+ and lang_size > 100*1024 and \
+ (complete_size - lang_size) * 20 > complete_size and \
+ not lang_ignore_pkg(pkg.name):
+ Filter.printWarning(pkg, "package-with-huge-translation",
+ ("%3d%%" % (lang_size * 100 / complete_size)))
for f in pkg.docFiles():
- mode=files[f].mode
- if not stat.S_ISREG(mode) or not mode & 0111:
- continue
- for ext in ['txt', 'gif', 'jpg', 'html', 'pdf', 'ps', 'pdf.gz', 'ps.gz']:
- if f.endswith("." + ext):
- printError(pkg, 'executable-docs', f)
+ mode = files[f].mode
+ if not stat.S_ISREG(mode) or not mode & 0o111:
+ continue
+ for ext in ['txt', 'gif', 'jpg', 'html',
+ 'pdf', 'ps', 'pdf.gz', 'ps.gz']:
+ if f.endswith("." + ext):
+ Filter.printError(pkg, 'executable-docs', f)
for name in ['README', 'NEWS', 'COPYING', 'AUTHORS']:
if f.endswith("/" + name):
- printError(pkg, 'executable-docs', f)
+ Filter.printError(pkg, 'executable-docs', f)
-check=ExecDocsCheck()
+check = ExecDocsCheck()
if Config.info:
- addDetails(
-'executable-docs',
-"Documentation should not be executable.",
-'package-with-huge-docs',
-"""More than half the size of your package is documentation.
-Consider splitting it into a -doc subpackage.""",
-'package-with-huge-translation',
-"""More than half the size of your package is language-specific.
-Consider splitting it into a -lang subpackage."""
-)
+ Filter.addDetails(
+ 'executable-docs',
+ "Documentation should not be executable.",
+ 'package-with-huge-docs',
+ """More than half the size of your package is documentation.
+ Consider splitting it into a -doc subpackage.""",
+ 'package-with-huge-translation',
+ """More than half the size of your package is language-specific.
+ Consider splitting it into a -lang subpackage."""
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckInitScripts.py new/rpmlint-checks-master/CheckInitScripts.py
--- old/rpmlint-checks-master/CheckInitScripts.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckInitScripts.py 2014-02-14 12:52:25.000000000 +0100
@@ -8,13 +8,9 @@
from Filter import *
import AbstractCheck
-import rpm
+import Config
import re
-import commands
import stat
-import Config
-import os
-import string
insserv_regex=re.compile('^\s*sbin/insserv', re.MULTILINE)
preun_regex=re.compile('^\s*/etc/init.d/\S+ stop', re.MULTILINE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckKDE4Deps.py new/rpmlint-checks-master/CheckKDE4Deps.py
--- old/rpmlint-checks-master/CheckKDE4Deps.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckKDE4Deps.py 2014-02-14 12:52:25.000000000 +0100
@@ -12,7 +12,6 @@
import re
import os
import string
-import commands
import Config
import Pkg
import stat
@@ -113,7 +112,7 @@
"""Please add %kde4_runtime_requires to the (sub-)package to have the right versioned
dependency on the KDE version it was built against.""",
'suse-kde4-missing-dependency',
-"""The package builds against a KDE4 related library, but it is missing the runtime
+"""The package builds against a KDE4 related library, but it is missing the runtime
depencency macro. please add the suggested macro to the (sub-)package listing in
the spec file."""
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckLogrotate.py new/rpmlint-checks-master/CheckLogrotate.py
--- old/rpmlint-checks-master/CheckLogrotate.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckLogrotate.py 2014-02-14 12:52:25.000000000 +0100
@@ -34,7 +34,7 @@
printError(pkg, "logrotate-duplicate", n)
else:
dirs[n] = o
- except Exception, x:
+ except Exception as x:
printError(pkg, 'rpmlint-exception', "%(file)s raised an exception: %(x)s" % {'file':f, 'x':x})
for d in sorted(dirs.keys()):
@@ -42,11 +42,11 @@
if d != '/var/log':
printError(pkg, 'suse-logrotate-log-dir-not-packaged', d)
continue
- mode = files[d].mode&0777
+ mode = files[d].mode&0o777
if files[d].user != 'root' and (dirs[d] is None or dirs[d][0] != files[d].user):
printError(pkg, 'suse-logrotate-user-writable-log-dir', \
"%s %s:%s %04o"%(d, files[d].user, files[d].group, mode))
- elif files[d].group != 'root' and mode&020 and (dirs[d] is None or dirs[d][1] != files[d].group):
+ elif files[d].group != 'root' and mode&0o20 and (dirs[d] is None or dirs[d][1] != files[d].group):
printError(pkg, 'suse-logrotate-user-writable-log-dir', \
"%s %s:%s %04o"%(d, files[d].user, files[d].group, mode))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckPkgConfig.py new/rpmlint-checks-master/CheckPkgConfig.py
--- old/rpmlint-checks-master/CheckPkgConfig.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckPkgConfig.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,58 +6,60 @@
# Purpose : Check for errors in Pkgconfig files
#---------------------------------------------------------------
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import commands
import Config
-import os
+import Filter
+import re
import stat
+
class PkgConfigCheck(AbstractCheck.AbstractFilesCheck):
def __init__(self):
- AbstractCheck.AbstractFilesCheck.__init__(self, "CheckPkgConfig", ".*/pkgconfig/.*\.pc$")
+ AbstractCheck.AbstractFilesCheck.__init__(
+ self, "CheckPkgConfig", ".*/pkgconfig/.*\.pc$")
# currently causes too many failures (2008-03-05)
- #self.suspicious_dir=re.compile('(?:/usr/src/\w+/BUILD|/var/tmp|/tmp|/home|\@\w{1,50}\@)')
- self.suspicious_dir=re.compile('(?:/usr/src/\w+/BUILD|/var/tmp|/tmp|/home)')
+ self.suspicious_dir = re.compile(
+ '(?:/usr/src/\w+/BUILD|/var/tmp|/tmp|/home)')
def check(self, pkg):
# check for references to /lib when in lib64 mode
if pkg.arch in ('x86_64', 'ppc64', 's390x'):
- self.wronglib_dir=re.compile('-L/usr/lib\\b')
+ self.wronglib_dir = re.compile('-L/usr/lib\\b')
else:
- self.wronglib_dir=re.compile('-L/usr/lib64\\b')
+ self.wronglib_dir = re.compile('-L/usr/lib64\\b')
AbstractCheck.AbstractFilesCheck.check(self, pkg)
-
def check_file(self, pkg, filename):
if pkg.isSource() or not stat.S_ISREG(pkg.files()[filename].mode):
return
if pkg.grep(self.suspicious_dir, filename):
- printError(pkg, "invalid-pkgconfig-file", filename)
+ Filter.printError(pkg, "invalid-pkgconfig-file", filename)
- pc_file=file(pkg.dirName() + "/" + filename, "r")
+ pc_file = file(pkg.dirName() + "/" + filename, "r")
for l in pc_file:
if l.startswith('Libs:') and self.wronglib_dir.search(l):
- printError(pkg, 'pkgconfig-invalid-libs-dir', filename, l)
+ Filter.printError(pkg, 'pkgconfig-invalid-libs-dir',
+ filename, l)
+
-check=PkgConfigCheck()
+check = PkgConfigCheck()
if Config.info:
- addDetails(
-'invalid-pkgconfig-file',
-'''Your .pc file appears to be invalid. Possible causes are:
-- it contains traces of $RPM_BUILD_ROOT or $RPM_BUILD_DIR.
-- it contains unreplaced macros (@have_foo@)
-- it references invalid paths (e.g. /home or /tmp)
-
-Please double-check and report false positives.
-''',
-'pkgconfig-invalid-libs-dir',
-''' Your .pc file contains -L/usr/lib or -L/lib and is built for a lib64 target,
-or contains references to -L/usr/lib64 or -L/lib64 and is built for a lib target.
-Please remove the wrong library paths from the pc file.'''
-)
+ Filter.addDetails(
+ 'invalid-pkgconfig-file',
+ '''Your .pc file appears to be invalid. Possible causes are:
+ - it contains traces of $RPM_BUILD_ROOT or $RPM_BUILD_DIR.
+ - it contains unreplaced macros (@have_foo@)
+ - it references invalid paths (e.g. /home or /tmp)
+
+ Please double-check and report false positives.
+ ''',
+ 'pkgconfig-invalid-libs-dir',
+ ''' Your .pc file contains -L/usr/lib or -L/lib and is
+ built on a lib64 target, or contains references to -L/usr/lib64 or
+ -L/lib64 and is built for a lib target.
+
+ Please remove the wrong library paths from the pc file.'''
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckPolkitPrivs.py new/rpmlint-checks-master/CheckPolkitPrivs.py
--- old/rpmlint-checks-master/CheckPolkitPrivs.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckPolkitPrivs.py 2014-02-14 12:52:25.000000000 +0100
@@ -26,7 +26,7 @@
self._parsefile(filename)
def _parsefile(self,filename):
- for line in file(filename):
+ for line in open(filename):
line = line.split('#')[0].split('\n')[0]
if len(line):
line = re.split(r'\s+', line)
@@ -77,7 +77,7 @@
if f in pkg.ghostFiles():
continue
- # catch xml exceptions
+ # catch xml exceptions
try:
if f.startswith("/usr/share/PolicyKit/policy/")\
or f.startswith("/usr/share/polkit-1/actions/"):
@@ -123,7 +123,7 @@
'polkit-cant-acquire-privilege', '%s (%s:%s:%s)' % (action, \
settings['allow_any'], settings['allow_inactive'], settings['allow_active']))
- except Exception, x:
+ except Exception as x:
printError(pkg, 'rpmlint-exception', "%(file)s raised an exception: %(x)s" % {'file':f, 'x':x})
continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckRCLinks.py new/rpmlint-checks-master/CheckRCLinks.py
--- old/rpmlint-checks-master/CheckRCLinks.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckRCLinks.py 2014-02-14 12:52:25.000000000 +0100
@@ -5,17 +5,19 @@
# Purpose : Check for missing rc* links and shadowed init scripts
#############################################################################
+import os
+import stat
+
from Filter import *
import AbstractCheck
-import os
import Config
-import stat
+
class RCLinksCheck(AbstractCheck.AbstractCheck):
def __init__(self):
AbstractCheck.AbstractCheck.__init__(self, 'CheckRCLinks')
- def check(self, pkg ):
+ def check(self, pkg):
if pkg.isSource():
return
@@ -27,21 +29,21 @@
if fname in pkg.ghostFiles():
continue
- if stat.S_ISLNK(pkgfile.mode) and (fname.startswith('/usr/sbin/rc') \
- or fname.startswith('/sbin/rc')):
+ if (stat.S_ISLNK(pkgfile.mode) and
+ (fname.startswith('/usr/sbin/rc') or
+ fname.startswith('/sbin/rc'))):
rclinks.add(fname.partition('/rc')[2])
elif fname.startswith('/usr/lib/systemd/system/'):
+ basename = os.path.basename(fname)
if '@' in fname:
continue
- if fname.endswith('.service'):
- rccandidates.add(os.path.basename(fname).split('.service')[0])
- if fname.endswith('.target'):
- rccandidates.add(os.path.basename(fname).split('.target')[0])
+ if fname.endswith('.service') or fname.endswith('.target'):
+ rccandidates.add(basename.rpartition('.')[0])
elif fname.startswith('/etc/init.d/'):
basename = os.path.basename(fname)
- if not basename.startswith('rc') \
- and not basename.startswith('boot.'):
- initscripts.add(basename)
+ if not (basename.startswith('rc') or
+ basename.startswith('boot.')):
+ initscripts.add(basename)
for fname in sorted(initscripts):
if fname in rccandidates:
@@ -53,8 +55,7 @@
if fname not in sorted(rclinks):
printWarning(pkg, "suse-missing-rclink", fname)
-check=RCLinksCheck()
-
+check = RCLinksCheck()
if Config.info:
addDetails(
'suse-missing-rclink',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/CheckSUIDPermissions.py new/rpmlint-checks-master/CheckSUIDPermissions.py
--- old/rpmlint-checks-master/CheckSUIDPermissions.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/CheckSUIDPermissions.py 2014-02-14 12:52:25.000000000 +0100
@@ -8,40 +8,40 @@
from Filter import *
import AbstractCheck
-import re
import os
-import string
+import re
import rpm
_permissions_d_whitelist = (
-"lprng",
-"lprng.paranoid",
-"mail-server",
-"mail-server.paranoid",
-"postfix",
-"postfix.paranoid",
-"sendmail",
-"sendmail.paranoid",
-"squid",
-"texlive",
-"texlive.texlive",
+ "lprng",
+ "lprng.paranoid",
+ "mail-server",
+ "mail-server.paranoid",
+ "postfix",
+ "postfix.paranoid",
+ "sendmail",
+ "sendmail.paranoid",
+ "squid",
+ "texlive",
+ "texlive.texlive",
)
+
class SUIDCheck(AbstractCheck.AbstractCheck):
def __init__(self):
AbstractCheck.AbstractCheck.__init__(self, "CheckSUIDPermissions")
self.perms = {}
- files = [ "/etc/permissions", "/etc/permissions.secure" ]
+ files = ["/etc/permissions", "/etc/permissions.secure"]
for file in files:
if os.path.exists(file):
self._parsefile(file)
- def _parsefile(self,file):
+ def _parsefile(self, file):
lnr = 0
lastfn = None
for line in open(file):
- lnr+=1
+ lnr += 1
line = line.split('#')[0].split('\n')[0]
line = line.lstrip()
if not len(line):
@@ -59,7 +59,7 @@
owner = line[1].replace('.', ':')
mode = line[2]
- self.perms[fn] = { "owner" : owner, "mode" : int(mode,8)&07777}
+ self.perms[fn] = {"owner": owner, "mode": int(mode, 8) & 0o7777}
# for permissions that don't change and therefore
# don't need special handling
if file == '/etc/permissions':
@@ -84,11 +84,11 @@
if f.startswith("/etc/permissions.d/"):
bn = f[19:]
- if not bn in _permissions_d_whitelist:
+ if bn not in _permissions_d_whitelist:
printError(pkg, "permissions-unauthorized-file", f)
bn = bn.split('.')[0]
- if not bn in permfiles:
+ if bn not in permfiles:
permfiles[bn] = 1
for f in permfiles:
@@ -105,7 +105,7 @@
if pkgfile.filecaps:
printError(pkg, 'permissions-fscaps', '%(file)s has fscaps "%(caps)s"' % \
- { 'file':f, 'caps':pkgfile.filecaps})
+ {'file': f, 'caps': pkgfile.filecaps})
mode = pkgfile.mode
owner = pkgfile.user+':'+pkgfile.group
@@ -117,11 +117,11 @@
# S_IFDIR 004 directory
# S_IFCHR 002 character device
# S_IFIFO 001 FIFO
- type = (mode>>12)&017;
- mode &= 07777
+ type = (mode >> 12) & 0o17
+ mode &= 0o7777
need_verifyscript = False
- if f in self.perms or (type == 04 and f+"/" in self.perms):
- if type == 012:
+ if f in self.perms or (type == 4 and f+"/" in self.perms):
+ if type == 0o12:
printWarning(pkg, "permissions-symlink", f)
continue
@@ -129,13 +129,13 @@
m = 0
o = "invalid"
- if type == 04:
+ if type == 4:
if f in self.perms:
printWarning(pkg, 'permissions-dir-without-slash', f)
else:
f += '/'
- if type == 010 and mode&0111:
+ if type == 0o10 and mode & 0o111:
# pie binaries have 'shared object' here
if 'ELF' in pkgfile.magic and not 'shared object' in pkgfile.magic:
printError(pkg, 'non-position-independent-executable', f)
@@ -144,35 +144,37 @@
o = self.perms[f]['owner']
if mode != m:
- printError(pkg, 'permissions-incorrect', '%(file)s has mode 0%(mode)o but should be 0%(m)o' % \
- { 'file':f, 'mode':mode, 'm':m })
+ printError(pkg, 'permissions-incorrect',
+ '%(file)s has mode 0%(mode)o but should be 0%(m)o' %
+ {'file': f, 'mode': mode, 'm': m})
if owner != o:
- printError(pkg, 'permissions-incorrect-owner', '%(file)s belongs to %(owner)s but should be %(o)s' % \
- { 'file':f, 'owner':owner, 'o':o })
+ printError(pkg, 'permissions-incorrect-owner',
+ '%(file)s belongs to %(owner)s but should be %(o)s' % \
+ {'file': f, 'owner': owner, 'o': o})
- elif type != 012:
+ elif type != 0o12:
if f+'/' in self.perms:
printWarning(pkg, 'permissions-file-as-dir', f+' is a file but listed as directory')
- if mode&06000:
+ if mode & 0o6000:
need_verifyscript = True
- msg = '%(file)s is packaged with setuid/setgid bits (0%(mode)o)' % { 'file':f, 'mode':mode }
- if type != 04:
+ msg = '%(file)s is packaged with setuid/setgid bits (0%(mode)o)' % {'file': f, 'mode': mode}
+ if type != 0o4:
printError(pkg, 'permissions-file-setuid-bit', msg)
else:
printWarning(pkg, 'permissions-directory-setuid-bit', msg)
- if type == 010:
+ if type == 0o10:
if not 'shared object' in pkgfile.magic:
printError(pkg, 'non-position-independent-executable', f)
- if mode&02:
+ if mode & 0o2:
need_verifyscript = True
- printError(pkg, 'permissions-world-writable', \
- '%(file)s is packaged with world writable permissions (0%(mode)o)' % \
- { 'file':f, 'mode':mode })
+ printError(pkg, 'permissions-world-writable',
+ '%(file)s is packaged with world writable permissions (0%(mode)o)' %
+ {'file': f, 'mode': mode})
script = pkg[rpm.RPMTAG_POSTIN] or pkg.scriptprog(pkg[rpm.RPMTAG_POSTINPROG])
found = False
@@ -192,8 +194,8 @@
(not f in self.perms or not 'static' in self.perms[f]):
if not script or not found:
- printError(pkg, 'permissions-missing-postin', \
- "missing %%set_permissions %s in %%post" % f)
+ printError(pkg, 'permissions-missing-postin',
+ "missing %%set_permissions %s in %%post" % f)
need_set_permissions = True
script = pkg[rpm.RPMTAG_VERIFYSCRIPT] or pkg[rpm.RPMTAG_VERIFYSCRIPTPROG]
@@ -206,20 +208,19 @@
break
if not script or not found:
- printWarning(pkg, 'permissions-missing-verifyscript', \
- "missing %%verify_permissions -e %s" % f)
-
+ printWarning(pkg, 'permissions-missing-verifyscript',
+ "missing %%verify_permissions -e %s" % f)
if need_set_permissions:
if not 'permissions' in map(lambda x: x[0], pkg.prereq()):
- printError(pkg, 'permissions-missing-requires', \
- "missing 'permissions' in PreReq")
+ printError(pkg, 'permissions-missing-requires',
+ "missing 'permissions' in PreReq")
if found_suseconfig:
- printInfo(pkg, 'permissions-suseconfig-obsolete', \
- "%run_permissions is obsolete")
+ printInfo(pkg, 'permissions-suseconfig-obsolete',
+ "%run_permissions is obsolete")
-check=SUIDCheck()
+check = SUIDCheck()
if Config.info:
addDetails(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/DuplicatesCheck.py new/rpmlint-checks-master/DuplicatesCheck.py
--- old/rpmlint-checks-master/DuplicatesCheck.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/DuplicatesCheck.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,16 +6,14 @@
# Purpose : Check for duplicate files being packaged separately
#############################################################################
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import commands
-import stat
import Config
+import Filter
import os
+import stat
import string
+
def get_prefix(file):
pathlist = string.split(file, '/')
if len(pathlist) == 3:
@@ -23,6 +21,7 @@
return "/".join(pathlist[0:3])
+
class DuplicatesCheck(AbstractCheck.AbstractCheck):
def __init__(self):
self.map = []
@@ -48,26 +47,29 @@
md5s.setdefault(pkgfile.md5, set()).add(f)
sizes[pkgfile.md5] = pkgfile.size
- sum=0
+ sum = 0
for f in md5s:
- duplicates=md5s[f]
- if len(duplicates) == 1: continue
+ duplicates = md5s[f]
+ if len(duplicates) == 1:
+ continue
- one=duplicates.pop()
+ one = duplicates.pop()
one_is_config = False
if one in configFiles:
one_is_config = True
- partition=get_prefix(one)
+ partition = get_prefix(one)
st = os.stat(pkg.dirName() + '/' + one)
diff = 1 + len(duplicates) - st[stat.ST_NLINK]
- if diff <= 0:
+ if diff <= 0:
for dupe in duplicates:
if partition != get_prefix(dupe):
- printError(pkg,"hardlink-across-partition",one,dupe)
+ Filter.printError(pkg, "hardlink-across-partition",
+ one, dupe)
if one_is_config and dupe in configFiles:
- printError(pkg,"hardlink-across-config-files",one,dupe)
+ Filter.printError(pkg, "hardlink-across-config-files",
+ one, dupe)
continue
for dupe in duplicates:
@@ -75,15 +77,16 @@
diff = diff - 1
sum += sizes[f] * diff
if sizes[f] and diff > 0:
- printWarning(pkg, 'files-duplicate', one,":".join(duplicates))
+ Filter.printWarning(pkg, 'files-duplicate', one,
+ ":".join(duplicates))
if sum > 100000:
- printError(pkg, 'files-duplicated-waste', sum)
+ Filter.printError(pkg, 'files-duplicated-waste', sum)
-check=DuplicatesCheck()
+check = DuplicatesCheck()
if Config.info:
- addDetails(
+ Filter.addDetails(
'files-duplicated-waste',
"""Your package contains duplicated files that are not hard- or symlinks.
You should use the %fdupes macro to link the files to one.""",
@@ -97,4 +100,4 @@
"""Your package contains two config files that are apparently hardlinked.
Hardlinking a config file is probably not what you want. Please double
check and report false positives."""
-)
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/ErlangCheck.py new/rpmlint-checks-master/ErlangCheck.py
--- old/rpmlint-checks-master/ErlangCheck.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/ErlangCheck.py 2014-02-14 12:52:25.000000000 +0100
@@ -6,37 +6,41 @@
# Purpose : Check for erlang compiled files
#############################################################################
-from Filter import *
import AbstractCheck
-import rpm
-import re
-import os
-import commands
import Config
-import stat
+import Filter
+import re
+import rpm
from pybeam import BeamFile
+
class ErlangCheck(AbstractCheck.AbstractFilesCheck):
def __init__(self):
- AbstractCheck.AbstractFilesCheck.__init__(self, "ErlangCheck", ".*?\.beam$")
- build_dir = rpm.expandMacro("%_builddir")
+ AbstractCheck.AbstractFilesCheck.__init__(
+ self, "ErlangCheck", ".*?\.beam$")
+ build_dir = rpm.expandMacro("%_builddir")
self.source_re = re.compile(build_dir)
def check_file(self, pkg, filename):
beam = BeamFile(pkg.files()[filename].path)
if 'debug_info' not in beam.compileinfo['options']:
- printWarning(pkg, "beam-compiled-without-debug_info", filename)
+ Filter.printWarning(
+ pkg, "beam-compiled-without-debug_info", filename)
if not self.source_re.match(beam.compileinfo['source'].value):
- printWarning(pkg, "beam-was-not-recompiled", filename, beam.compileinfo['source'].value)
+ Filter.printWarning(
+ pkg, "beam-was-not-recompiled", filename,
+ beam.compileinfo['source'].value)
-check=ErlangCheck()
+check = ErlangCheck()
if Config.info:
- addDetails(
+ Filter.addDetails(
'beam-compiled-without-debug_info',
-"Your beam file indicates that it doesn't contain debug_info. Please, make sure that you compile with +debug_info.",
+""""Your beam file indicates that it doesn't contain debug_info.
+Please, make sure that you compile with +debug_info.""",
'beam-was-not-recompiled',
-"It seems that your beam file was not compiled by you, but was just copied in binary form to destination. Please, make sure that you really compile it from the sources.",
+"""It seems that your beam file was not compiled by you, but was
+just copied in binary form to destination. Please, make sure
+that you really compile it from the sources.""",
)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/KMPPolicyCheck.py new/rpmlint-checks-master/KMPPolicyCheck.py
--- old/rpmlint-checks-master/KMPPolicyCheck.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/KMPPolicyCheck.py 2014-02-14 12:52:25.000000000 +0100
@@ -10,7 +10,6 @@
import AbstractCheck
import rpm
import re
-import commands
import stat
import Config
import os
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-checks-master/LibraryPolicyCheck.py new/rpmlint-checks-master/LibraryPolicyCheck.py
--- old/rpmlint-checks-master/LibraryPolicyCheck.py 2014-01-30 10:26:12.000000000 +0100
+++ new/rpmlint-checks-master/LibraryPolicyCheck.py 2014-02-14 12:52:25.000000000 +0100
@@ -8,7 +8,9 @@
import AbstractCheck
import Config
-from Filter import printWarning, printError, addDetails
+from Filter import addDetails
+from Filter import printError
+from Filter import printWarning
import os
import Pkg
import rpm
@@ -334,10 +336,12 @@
dirs.add(lib_dir)
if bi.soname in pkg_requires:
# But not if the library is used by the pkg itself
- # This avoids program packages with their own private lib
- # FIXME: we'd need to check if somebody else links to this lib
+ # This avoids program packages with their own
+ # private lib
+ # FIXME: we'd need to check if somebody else links
+ # to this lib
reqlibs.add(bi.soname)
- except:
+ except Exception:
pass
pass
++++++ rpmlint-decode-fix.diff ++++++
Index: rpmlint-1.5/Pkg.py
===================================================================
--- rpmlint-1.5.orig/Pkg.py
+++ rpmlint-1.5/Pkg.py
@@ -85,7 +85,7 @@ def getstatusoutput(cmd, stdoutonly = Fa
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT, close_fds=True)
proc.stdin.close()
- text = proc.stdout.read().decode()
+ text = proc.stdout.read()
sts = proc.wait()
if sts is None:
sts = 0
diff -ruN rpmlint-1.5/BinariesCheck.py rpmlint-1.5.new/BinariesCheck.py
--- rpmlint-1.5/BinariesCheck.py 2014-02-27 12:06:25.018163441 +0100
+++ rpmlint-1.5.new/BinariesCheck.py 2014-02-27 12:04:14.210110261 +0100
@@ -198,7 +198,7 @@
try:
fobj = open(path, 'rb')
fobj.seek(-12, 2) # 2 == os.SEEK_END, for python 2.4 compat (#172)
- self.tail = fobj.read().decode()
+ self.tail = fobj.read()
except Exception:
e = sys.exc_info()[1]
printWarning(pkg, 'binaryinfo-tail-failed %s: %s' % (file, e))
@@ -296,7 +296,7 @@
multi_pkg = False
srpm = pkg[rpm.RPMTAG_SOURCERPM]
if srpm:
- res = srcname_regex.search(srpm.decode())
+ res = srcname_regex.search(srpm)
if res:
multi_pkg = (pkg.name != res.group(1))
diff -ruN rpmlint-1.5/DocFilesCheck.py rpmlint-1.5.new/DocFilesCheck.py
--- rpmlint-1.5/DocFilesCheck.py 2014-02-27 12:06:24.826161897 +0100
+++ rpmlint-1.5.new/DocFilesCheck.py 2014-02-27 12:04:29.681234928 +0100
@@ -44,7 +44,7 @@
# register things which are provided by the package
for i in pkg.header[rpm.RPMTAG_PROVIDES]:
- core_reqs[i.decode()] = []
+ core_reqs[i] = []
for i in files:
core_reqs[i] = []
diff -ruN rpmlint-1.5/FilesCheck.py rpmlint-1.5.new/FilesCheck.py
--- rpmlint-1.5/FilesCheck.py 2014-02-27 12:06:25.012163393 +0100
+++ rpmlint-1.5.new/FilesCheck.py 2014-02-27 12:04:41.277328352 +0100
@@ -957,11 +957,11 @@
# Prefetch scriptlets, strip quotes from them (#169)
postin = (pkg[rpm.RPMTAG_POSTIN] or \
- pkg.scriptprog(rpm.RPMTAG_POSTINPROG)).decode()
+ pkg.scriptprog(rpm.RPMTAG_POSTINPROG))
if postin:
postin = quotes_regex.sub('', postin)
postun = (pkg[rpm.RPMTAG_POSTUN] or \
- pkg.scriptprog(rpm.RPMTAG_POSTUNPROG)).decode()
+ pkg.scriptprog(rpm.RPMTAG_POSTUNPROG))
if postun:
postun = quotes_regex.sub('', postun)
diff -ruN rpmlint-1.5/LSBCheck.py rpmlint-1.5.new/LSBCheck.py
--- rpmlint-1.5/LSBCheck.py 2014-02-27 12:06:24.827161905 +0100
+++ rpmlint-1.5.new/LSBCheck.py 2014-02-27 12:04:52.612419655 +0100
@@ -32,13 +32,11 @@
version = pkg[rpm.RPMTAG_VERSION]
if version:
- version = version.decode()
if not version_regex.search(version):
printError(pkg, 'non-lsb-compliant-version', version)
release = pkg[rpm.RPMTAG_RELEASE]
if release:
- release = release.decode()
if not version_regex.search(release):
printError(pkg, 'non-lsb-compliant-release', release)
diff -ruN rpmlint-1.5/Pkg.py rpmlint-1.5.new/Pkg.py
--- rpmlint-1.5/Pkg.py 2014-02-27 12:06:25.041163626 +0100
+++ rpmlint-1.5.new/Pkg.py 2014-02-27 12:03:33.599782891 +0100
@@ -448,7 +448,7 @@
os.close(fd)
self.is_source = not self.header[rpm.RPMTAG_SOURCERPM]
- self.name = self.header[rpm.RPMTAG_NAME].decode()
+ self.name = self.header[rpm.RPMTAG_NAME]
if self.isNoSource():
self.arch = 'nosrc'
elif self.isSource():
@@ -534,7 +534,7 @@
# LANGUAGE trumps other env vars per GNU gettext docs, see also #166
orig = os.environ.get('LANGUAGE')
os.environ['LANGUAGE'] = lang
- ret = self[tag].decode()
+ ret = self[tag]
if orig is not None:
os.environ['LANGUAGE'] = orig
return ret
@@ -599,17 +599,17 @@
modes = self.header[rpm.RPMTAG_FILEMODES]
users = self.header[rpm.RPMTAG_FILEUSERNAME]
groups = self.header[rpm.RPMTAG_FILEGROUPNAME]
- links = [x.decode() for x in self.header[rpm.RPMTAG_FILELINKTOS]]
+ links = self.header[rpm.RPMTAG_FILELINKTOS]
sizes = self.header[rpm.RPMTAG_FILESIZES]
md5s = self.header[rpm.RPMTAG_FILEMD5S]
mtimes = self.header[rpm.RPMTAG_FILEMTIMES]
rdevs = self.header[rpm.RPMTAG_FILERDEVS]
langs = self.header[rpm.RPMTAG_FILELANGS]
inodes = self.header[rpm.RPMTAG_FILEINODES]
- requires = [x.decode() for x in self.header[rpm.RPMTAG_FILEREQUIRE]]
- provides = [x.decode() for x in self.header[rpm.RPMTAG_FILEPROVIDE]]
- files = [x.decode() for x in self.header[rpm.RPMTAG_FILENAMES]]
- magics = [x.decode() for x in self.header[rpm.RPMTAG_FILECLASS]]
+ requires = self.header[rpm.RPMTAG_FILEREQUIRE]
+ provides = self.header[rpm.RPMTAG_FILEPROVIDE]
+ files = self.header[rpm.RPMTAG_FILENAMES]
+ magics = self.header[rpm.RPMTAG_FILECLASS]
try: # rpm >= 4.7.0
filecaps = self.header[rpm.RPMTAG_FILECAPS]
except:
@@ -736,8 +736,8 @@
if versions:
for loop in range(len(versions)):
- name = names[loop].decode()
- evr = stringToVersion(versions[loop].decode())
+ name = names[loop]
+ evr = stringToVersion(versions[loop])
if prereq is not None and flags[loop] & PREREQ_FLAG:
prereq.append((name, flags[loop] & (~PREREQ_FLAG), evr))
elif strong_only and flags[loop] & rpm.RPMSENSE_STRONG:
diff -ruN rpmlint-1.5/rpmdiff rpmlint-1.5.new/rpmdiff
--- rpmlint-1.5/rpmdiff 2014-02-27 12:06:24.826161897 +0100
+++ rpmlint-1.5.new/rpmdiff 2014-02-27 12:03:50.387918248 +0100
@@ -228,16 +228,16 @@
if namestr == 'REQUIRES':
namestr = self.req2str(oldentry[1])
self.__add(self.DEPFORMAT,
- (self.REMOVED, namestr, oldentry[0].decode(),
- self.sense2str(oldentry[1]), oldentry[2].decode()))
+ (self.REMOVED, namestr, oldentry[0],
+ self.sense2str(oldentry[1]), oldentry[2]))
for newentry in n:
if not newentry in o:
namestr = name
if namestr == 'REQUIRES':
namestr = self.req2str(newentry[1])
self.__add(self.DEPFORMAT,
- (self.ADDED, namestr, newentry[0].decode(),
- self.sense2str(newentry[1]), newentry[2].decode()))
+ (self.ADDED, namestr, newentry[0],
+ self.sense2str(newentry[1]), newentry[2]))
def __fileIteratorToDict(self, fi):
result = {}
diff -ruN rpmlint-1.5/TagsCheck.py rpmlint-1.5.new/TagsCheck.py
--- rpmlint-1.5/TagsCheck.py 2014-02-27 12:06:25.036163586 +0100
+++ rpmlint-1.5.new/TagsCheck.py 2014-02-27 12:05:51.742895726 +0100
@@ -536,7 +536,6 @@
packager = pkg[rpm.RPMTAG_PACKAGER]
if packager:
- packager = packager.decode()
self._unexpanded_macros(pkg, 'Packager', packager)
if Config.getOption('Packager') and \
not packager_regex.search(packager):
@@ -546,7 +545,6 @@
version = pkg[rpm.RPMTAG_VERSION]
if version:
- version = version.decode()
self._unexpanded_macros(pkg, 'Version', version)
res = invalid_version_regex.search(version)
if res:
@@ -556,7 +554,6 @@
release = pkg[rpm.RPMTAG_RELEASE]
if release:
- release = release.decode()
self._unexpanded_macros(pkg, 'Release', release)
if release_ext and not extension_regex.search(release):
printWarning(pkg, 'not-standard-release-extension', release)
@@ -688,12 +685,9 @@
ignored_words.update((x[0] for x in pkg.obsoletes()))
langs = pkg[rpm.RPMTAG_HEADERI18NTABLE]
- if langs:
- langs = [x.decode() for x in langs]
summary = pkg[rpm.RPMTAG_SUMMARY]
if summary:
- summary = summary.decode()
if not langs:
self._unexpanded_macros(pkg, 'Summary', summary)
else:
@@ -704,7 +698,6 @@
description = pkg[rpm.RPMTAG_DESCRIPTION]
if description:
- description = description.decode()
if not langs:
self._unexpanded_macros(pkg, '%description', description)
else:
++++++ rpmlint-fix-unexpanded-macros-for-array-values.patch ++++++
>From 092a54ca23367c845f796f753fa8ff43746b844a Mon Sep 17 00:00:00 2001
From: Alberto Planas <aplanas(a)suse.com>
Date: Thu, 27 Feb 2014 16:35:13 +0100
Subject: [PATCH] Fix _unexpanded_macros for array values
---
TagsCheck.py | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/TagsCheck.py b/TagsCheck.py
index c6f5dda..712d4e0 100644
--- a/TagsCheck.py
+++ b/TagsCheck.py
@@ -533,13 +533,20 @@ class TagsCheck(AbstractCheck.AbstractCheck):
AbstractCheck.AbstractCheck.__init__(self, 'TagsCheck')
def _unexpanded_macros(self, pkg, tagname, value, is_url=False):
+ def _check_value(value):
+ for match in AbstractCheck.macro_regex.findall(value):
+ # Do not warn about %XX URL escapes
+ if is_url and re.match('^%[0-9A-F][0-9A-F]$', match, re.I):
+ continue
+ printWarning(pkg, 'unexpanded-macro', tagname, match)
+
if not value:
return
- for match in AbstractCheck.macro_regex.findall(value):
- # Do not warn about %XX URL escapes
- if is_url and re.match('^%[0-9A-F][0-9A-F]$', match, re.I):
- continue
- printWarning(pkg, 'unexpanded-macro', tagname, match)
+ if isinstance(value, list):
+ for single_value in value:
+ _check_value(single_value)
+ else:
+ _check_value(value)
def check(self, pkg):
--
1.9.0
++++++ rpmlint-pkg-quoting.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,12 +2,12 @@
===================================================================
--- Pkg.py.orig
+++ Pkg.py
-@@ -490,7 +490,7 @@ class Pkg:
+@@ -493,7 +493,7 @@ class Pkg:
dir = self.dirname)
# TODO: better shell escaping or sequence based command invocation
command_str = \
- 'rpm2cpio "%s" | (cd "%s"; cpio -id); chmod -R +rX "%s"' % \
+ "rpm2cpio '%s' | (cd '%s'; cpio -id); chmod -R +rX '%s'" % \
(self.filename, self.dirname, self.dirname)
- cmd = commands.getstatusoutput(command_str)
+ cmd = getstatusoutput(command_str, shell=True)
self.extracted = True
++++++ selfconflicts-provide.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- TagsCheck.py.orig
+++ TagsCheck.py
-@@ -820,6 +820,7 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -827,6 +827,7 @@ class TagsCheck(AbstractCheck.AbstractCh
obs_names = [x[0] for x in pkg.obsoletes()]
prov_names = [x[0].split(':/')[0] for x in pkg.provides()]
@@ -10,7 +10,7 @@
for o in (x for x in obs_names if x not in prov_names):
printWarning(pkg, 'obsolete-not-provided', o)
-@@ -831,6 +832,8 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -838,6 +839,8 @@ class TagsCheck(AbstractCheck.AbstractCh
# https://bugzilla.redhat.com/460872
useless_provides = []
for p in prov_names:
@@ -19,7 +19,7 @@
if prov_names.count(p) != 1 and p not in useless_provides:
useless_provides.append(p)
for p in useless_provides:
-@@ -971,6 +974,10 @@ the Release tag.''',
+@@ -978,6 +981,10 @@ the Release tag.''',
'''There is no Name tag in your package. You have to specify a name using the
Name tag.''',
++++++ stricter-interpreter-check.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,13 +2,13 @@
===================================================================
--- FilesCheck.py.orig
+++ FilesCheck.py
-@@ -1242,7 +1242,8 @@ class FilesCheck(AbstractCheck.AbstractC
+@@ -1245,7 +1245,8 @@ class FilesCheck(AbstractCheck.AbstractC
f.endswith('.la')):
printError(pkg, 'script-without-shebang', f)
-- if mode & 0111 == 0 and not is_doc:
-+ if mode & 0111 == 0 and not is_doc and \
-+ interpreter and interpreter.startswith("/"):
+- if not mode_is_exec and not is_doc:
++ if not mode_is_exec and not is_doc and \
++ interpreter and interpreter.startswith("/"):
printError(pkg, 'non-executable-script', f,
oct(perm), interpreter)
if '\r' in chunk:
++++++ suse-check-optional-dependencies.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- FilesCheck.py.orig
+++ FilesCheck.py
-@@ -907,6 +907,16 @@ class FilesCheck(AbstractCheck.AbstractC
+@@ -908,6 +908,16 @@ class FilesCheck(AbstractCheck.AbstractC
if res.group(1) != pkg.name:
printError(pkg, 'incoherent-logrotate-file', f)
@@ -19,7 +19,7 @@
if link != '':
ext = compr_regex.search(link)
if ext:
-@@ -1727,6 +1737,24 @@ consequences), or other compiler flags w
+@@ -1730,6 +1740,24 @@ consequences), or other compiler flags w
extraction not working as expected. Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.''',
++++++ suse-ignore-specfile-errors.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -1,6 +1,8 @@
---- SpecCheck.py
+Index: SpecCheck.py
+===================================================================
+--- SpecCheck.py.orig
+++ SpecCheck.py
-@@ -524,9 +524,8 @@
+@@ -537,9 +537,8 @@ class SpecCheck(AbstractCheck.AbstractCh
printWarning(pkg, "patch-not-applied", "Patch%d:" % pnum,
pfile)
++++++ suse-pkg-config-check.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -10,7 +10,7 @@
license_regex = re.compile('\(([^)]+)\)|\s(?:and|or)\s')
invalid_version_regex = re.compile('([0-9](?:rc|alpha|beta|pre).*)', re.IGNORECASE)
# () are here for grouping purpose in the regexp
-@@ -630,10 +631,12 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -626,10 +627,12 @@ class TagsCheck(AbstractCheck.AbstractCh
base = is_devel.group(1)
dep = None
has_so = False
@@ -24,7 +24,7 @@
if has_so:
base_or_libs = base + '/' + base + '-libs/lib' + base
# try to match *%_isa as well (e.g. "(x86-64)", "(x86-32)")
-@@ -670,6 +673,15 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -666,6 +669,15 @@ class TagsCheck(AbstractCheck.AbstractCh
if prov not in (x[0] for x in pkg.provides()):
printWarning(pkg, 'no-provides', prov)
@@ -40,7 +40,7 @@
# List of words to ignore in spell check
ignored_words = set()
for pf in pkg.files():
-@@ -1109,6 +1121,11 @@ instead or require a file in bin or /etc
+@@ -1099,6 +1111,11 @@ once.''',
'no-url-tag',
'''The URL tag is missing. Please add a http or ftp link to the project location.''',
++++++ suse-shlib-devel-dependency.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- TagsCheck.py.orig
+++ TagsCheck.py
-@@ -638,10 +638,10 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -639,10 +639,10 @@ class TagsCheck(AbstractCheck.AbstractCh
if pkg_config_regex.match(fname) and fname.endswith('.pc'):
has_pc = True
if has_so:
++++++ syntax-validator.py ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -6,6 +6,6 @@
for filename in sys.argv[1:]:
try:
compile(open(filename).read(), filename, 'exec')
- except Exception, e:
- print e
+ except Exception as e:
+ print(e)
exit(1)
++++++ sysv5-init-checks.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- InitScriptCheck.py.orig
+++ InitScriptCheck.py
-@@ -29,6 +29,10 @@ lsb_tags_regex = re.compile('^# ([\w-]+)
+@@ -30,6 +30,10 @@ lsb_tags_regex = re.compile('^# ([\w-]+)
lsb_cont_regex = re.compile('^#(?:\t| )(.*?)\s*$')
use_subsys = Config.getOption('UseVarLockSubsys', True)
@@ -13,7 +13,7 @@
LSB_KEYWORDS = ('Provides', 'Required-Start', 'Required-Stop', 'Should-Start',
'Should-Stop', 'Default-Start', 'Default-Stop',
'Short-Description', 'Description')
-@@ -46,6 +50,13 @@ class InitScriptCheck(AbstractCheck.Abst
+@@ -47,6 +51,13 @@ class InitScriptCheck(AbstractCheck.Abst
return
initscript_list = []
@@ -27,7 +27,7 @@
for fname, pkgfile in pkg.files().items():
if not fname.startswith('/etc/init.d/') and \
-@@ -60,20 +71,16 @@ class InitScriptCheck(AbstractCheck.Abst
+@@ -61,20 +72,16 @@ class InitScriptCheck(AbstractCheck.Abst
if "." in basename:
printError(pkg, 'init-script-name-with-dot', fname)
@@ -56,7 +56,7 @@
status_found = False
reload_found = False
-@@ -274,6 +281,17 @@ of chkconfig don't work as expected with
+@@ -276,6 +283,17 @@ of chkconfig don't work as expected with
'init-script-non-executable',
'''The init script should have at least the execution bit set for root
in order for it to run at boot time.''',
++++++ usr-arch.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -6,7 +6,7 @@
srcname_regex = re.compile('(.*?)-[0-9]')
invalid_dir_ref_regex = re.compile('/(home|tmp)(\W|$)')
ocaml_mixed_regex = re.compile('^Caml1999X0\d\d$')
-+usr_arch_share_regex = re.compile('/share/.*/(?:x86|i.86|x86_64|ppc|ppc64|s390|s390x|ia64)')
++usr_arch_share_regex = re.compile('/share/.*/(?:x86|i.86|x86_64|ppc|ppc64|s390|s390x|ia64|m68k|arm|aarch64)')
def dir_base(path):
res = path_regex.search(path)
++++++ xdg-paths-update.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- MenuXDGCheck.py.orig
+++ MenuXDGCheck.py
-@@ -21,7 +21,7 @@ class MenuXDGCheck(AbstractCheck.Abstrac
+@@ -24,7 +24,7 @@ class MenuXDGCheck(AbstractCheck.Abstrac
# /var/lib/menu-xdg:/usr/share
self.cfp = RawConfigParser()
AbstractCheck.AbstractFilesCheck.__init__(
++++++ yast-provides.diff ++++++
--- /var/tmp/diff_new_pack.b3OrX5/_old 2014-02-28 16:24:37.000000000 +0100
+++ /var/tmp/diff_new_pack.b3OrX5/_new 2014-02-28 16:24:37.000000000 +0100
@@ -2,7 +2,7 @@
===================================================================
--- TagsCheck.py.orig
+++ TagsCheck.py
-@@ -814,7 +814,7 @@ class TagsCheck(AbstractCheck.AbstractCh
+@@ -821,7 +821,7 @@ class TagsCheck(AbstractCheck.AbstractCh
printWarning(pkg, 'no-url-tag')
obs_names = [x[0] for x in pkg.obsoletes()]
--
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 gcc48 for openSUSE:Factory checked in at 2014-02-28 16:24:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc48 (Old)
and /work/SRC/openSUSE:Factory/.gcc48.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc48"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc48/cross-aarch64-gcc48-icecream-backend.changes 2014-02-13 06:45:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gcc48.new/cross-aarch64-gcc48-icecream-backend.changes 2014-02-28 16:24:28.000000000 +0100
@@ -1,0 +2,30 @@
+Thu Feb 27 12:49:36 UTC 2014 - rguenther(a)suse.com
+
+- Fix typo in libgcj_bc suffix computation.
+
+-------------------------------------------------------------------
+Tue Feb 25 13:04:07 UTC 2014 - rguenther(a)suse.com
+
+- Update to gcc-4_8-branch head (r208119).
+ * Obsoletes gcc48-pr59860.diff
+- Add gcc48-ibm-power8-fixes2.diff, more Power8 fixes from IBM,
+ drop gcc48-ibm-power8-pr60137.diff contained therein.
+
+-------------------------------------------------------------------
+Wed Feb 19 12:52:55 UTC 2014 - rguenther(a)suse.com
+
+- Drop sap303956-uchar.diff to not shadow full uchar.h provided by glibc
+ since version 2.16.
+
+-------------------------------------------------------------------
+Mon Feb 17 10:12:17 UTC 2014 - rguenther(a)suse.com
+
+- Enable profiledbootstrap for x86_64, s390x and ppc64le. [bnc#863962]
+
+-------------------------------------------------------------------
+Wed Feb 12 09:42:23 UTC 2014 - rguenther(a)suse.com
+
+- Add gcc48-ibm-power8-pr60137.diff from IBM to fix ICE with
+ -mno-vsx on Power8. [bnc#863462]
+
+-------------------------------------------------------------------
cross-armv6hl-gcc48-icecream-backend.changes: same change
cross-armv7hl-gcc48-icecream-backend.changes: same change
cross-hppa-gcc48-icecream-backend.changes: same change
cross-i386-gcc48-icecream-backend.changes: same change
cross-ia64-gcc48-icecream-backend.changes: same change
cross-ppc-gcc48-icecream-backend.changes: same change
cross-ppc64-gcc48-icecream-backend.changes: same change
cross-ppc64le-gcc48-icecream-backend.changes: same change
cross-s390-gcc48-icecream-backend.changes: same change
cross-s390x-gcc48-icecream-backend.changes: same change
cross-x86_64-gcc48-icecream-backend.changes: same change
gcc48-testresults.changes: same change
gcc48.changes: same change
libffi48.changes: same change
libgcj48.changes: same change
Old:
----
gcc-4.8.2-r206703.tar.bz2
gcc48-pr59860.diff
sap303956-uchar.diff
New:
----
gcc-4.8.2-r208119.tar.bz2
gcc48-ibm-power8-fixes2.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc48-icecream-backend.spec ++++++
--- /var/tmp/diff_new_pack.2nixMl/_old 2014-02-28 16:24:32.000000000 +0100
+++ /var/tmp/diff_new_pack.2nixMl/_new 2014-02-28 16:24:32.000000000 +0100
@@ -91,7 +91,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r206703
+Version: 4.8.2+r208119
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -119,7 +119,6 @@
Patch32: libgcj_bc-install.patch
Patch33: m68k-notice-update-cc.patch
Patch34: pr58369.patch
-Patch35: gcc48-pr59860.diff
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
# A set of patches from the RH srpm
@@ -135,8 +134,7 @@
Patch72: gcc48-ibm-power8-other.diff
Patch73: gcc48-pr59844.diff
Patch74: gcc48-ibm-power8-fixes1.diff
-# Patches for SAP features
-Patch130: sap303956-uchar.diff
+Patch75: gcc48-ibm-power8-fixes2.diff
#testpatch end
@@ -202,7 +200,6 @@
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35
%patch36 -p1
%patch37 -p1
%patch51
@@ -215,7 +212,7 @@
%patch72
%patch73
%patch74
-%patch130
+%patch75
#test patching end
@@ -444,15 +441,9 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
-%if "%_repository" == "power8"
- --with-cpu-32=power8 \
- --with-cpu-64=power8 \
- --with-tune=power8 \
-%else
--with-cpu-32=power7 \
--with-cpu-64=power7 \
--with-tune=power7 \
-%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
cross-armv6hl-gcc48-icecream-backend.spec: same change
cross-armv7hl-gcc48-icecream-backend.spec: same change
cross-hppa-gcc48-icecream-backend.spec: same change
cross-i386-gcc48-icecream-backend.spec: same change
cross-ia64-gcc48-icecream-backend.spec: same change
cross-ppc-gcc48-icecream-backend.spec: same change
cross-ppc64-gcc48-icecream-backend.spec: same change
cross-ppc64le-gcc48-icecream-backend.spec: same change
cross-s390-gcc48-icecream-backend.spec: same change
cross-s390x-gcc48-icecream-backend.spec: same change
cross-x86_64-gcc48-icecream-backend.spec: same change
++++++ gcc48-testresults.spec ++++++
--- /var/tmp/diff_new_pack.2nixMl/_old 2014-02-28 16:24:32.000000000 +0100
+++ /var/tmp/diff_new_pack.2nixMl/_new 2014-02-28 16:24:32.000000000 +0100
@@ -125,7 +125,7 @@
%define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}}
# libgcj SONAME changes with every GCC version
%define libgcj_suffix %nil
-%define libgcj_bc_suffix %{plv libgcj_bc %{libgc_bc_sover}}
+%define libgcj_bc_suffix %{plv libgcj_bc %{libgcj_bc_sover}}
%define libffi_suffix %{plv libffi %{libffi_sover}}
%define libmudflap_suffix %{plv libmudflap %{libmudflap_sover}}
%define libgomp_suffix %{plv libgomp %{libgomp_sover}}
@@ -223,7 +223,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r206703
+Version: 4.8.2+r208119
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -277,7 +277,6 @@
Patch32: libgcj_bc-install.patch
Patch33: m68k-notice-update-cc.patch
Patch34: pr58369.patch
-Patch35: gcc48-pr59860.diff
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
# A set of patches from the RH srpm
@@ -293,8 +292,7 @@
Patch72: gcc48-ibm-power8-other.diff
Patch73: gcc48-pr59844.diff
Patch74: gcc48-ibm-power8-fixes1.diff
-# Patches for SAP features
-Patch130: sap303956-uchar.diff
+Patch75: gcc48-ibm-power8-fixes2.diff
#testpatch end
@@ -410,7 +408,6 @@
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35
%patch36 -p1
%patch37 -p1
%patch51
@@ -423,7 +420,7 @@
%patch72
%patch73
%patch74
-%patch130
+%patch75
#test patching end
@@ -652,15 +649,9 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
-%if "%_repository" == "power8"
- --with-cpu-32=power8 \
- --with-cpu-64=power8 \
- --with-tune=power8 \
-%else
--with-cpu-32=power7 \
--with-cpu-64=power7 \
--with-tune=power7 \
-%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -704,14 +695,12 @@
make all-target-libffi $PARALLEL
%else
STAGE1_FLAGS="-g"
-# Only run profiled bootstrap on archs where it works
-#%ifarch %ix86 x86_64 ppc ppc64 ia64
-#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%else
-#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+# Only run profiled bootstrap on archs where it works and matters
+%ifarch x86_64 ppc64le s390x
+make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+%else
make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%endif
-#make -C gcc proto
+%endif
make info
%if 0%{?run_tests:1}
echo "Run testsuite"
++++++ gcc48.spec ++++++
--- /var/tmp/diff_new_pack.2nixMl/_old 2014-02-28 16:24:32.000000000 +0100
+++ /var/tmp/diff_new_pack.2nixMl/_new 2014-02-28 16:24:32.000000000 +0100
@@ -107,7 +107,7 @@
%define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}}
# libgcj SONAME changes with every GCC version
%define libgcj_suffix %nil
-%define libgcj_bc_suffix %{plv libgcj_bc %{libgc_bc_sover}}
+%define libgcj_bc_suffix %{plv libgcj_bc %{libgcj_bc_sover}}
%define libffi_suffix %{plv libffi %{libffi_sover}}
%define libmudflap_suffix %{plv libmudflap %{libmudflap_sover}}
%define libgomp_suffix %{plv libgomp %{libgomp_sover}}
@@ -205,7 +205,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r206703
+Version: 4.8.2+r208119
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -259,7 +259,6 @@
Patch32: libgcj_bc-install.patch
Patch33: m68k-notice-update-cc.patch
Patch34: pr58369.patch
-Patch35: gcc48-pr59860.diff
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
# A set of patches from the RH srpm
@@ -275,8 +274,7 @@
Patch72: gcc48-ibm-power8-other.diff
Patch73: gcc48-pr59844.diff
Patch74: gcc48-ibm-power8-fixes1.diff
-# Patches for SAP features
-Patch130: sap303956-uchar.diff
+Patch75: gcc48-ibm-power8-fixes2.diff
#testpatch end
@@ -1494,7 +1492,6 @@
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35
%patch36 -p1
%patch37 -p1
%patch51
@@ -1507,7 +1504,7 @@
%patch72
%patch73
%patch74
-%patch130
+%patch75
#test patching end
@@ -1736,15 +1733,9 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
-%if "%_repository" == "power8"
- --with-cpu-32=power8 \
- --with-cpu-64=power8 \
- --with-tune=power8 \
-%else
--with-cpu-32=power7 \
--with-cpu-64=power7 \
--with-tune=power7 \
-%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -1788,14 +1779,12 @@
make all-target-libffi $PARALLEL
%else
STAGE1_FLAGS="-g"
-# Only run profiled bootstrap on archs where it works
-#%ifarch %ix86 x86_64 ppc ppc64 ia64
-#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%else
-#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+# Only run profiled bootstrap on archs where it works and matters
+%ifarch x86_64 ppc64le s390x
+make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+%else
make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%endif
-#make -C gcc proto
+%endif
make info
%if 0%{?run_tests:1}
echo "Run testsuite"
@@ -2292,7 +2281,6 @@
%{libsubdir}/include/stdbool.h
%{libsubdir}/include/stdfix.h
%{libsubdir}/include/stddef.h
-%{libsubdir}/include/uchar.h
%{libsubdir}/include/unwind.h
%{libsubdir}/include/varargs.h
%{libsubdir}/include/stdint.h
++++++ libffi48.spec ++++++
--- /var/tmp/diff_new_pack.2nixMl/_old 2014-02-28 16:24:32.000000000 +0100
+++ /var/tmp/diff_new_pack.2nixMl/_new 2014-02-28 16:24:32.000000000 +0100
@@ -124,7 +124,7 @@
%define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}}
# libgcj SONAME changes with every GCC version
%define libgcj_suffix %nil
-%define libgcj_bc_suffix %{plv libgcj_bc %{libgc_bc_sover}}
+%define libgcj_bc_suffix %{plv libgcj_bc %{libgcj_bc_sover}}
%define libffi_suffix %{plv libffi %{libffi_sover}}
%define libmudflap_suffix %{plv libmudflap %{libmudflap_sover}}
%define libgomp_suffix %{plv libgomp %{libgomp_sover}}
@@ -222,7 +222,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
Url: http://gcc.gnu.org/
-Version: 4.8.2+r206703
+Version: 4.8.2+r208119
Release: 0
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -276,7 +276,6 @@
Patch32: libgcj_bc-install.patch
Patch33: m68k-notice-update-cc.patch
Patch34: pr58369.patch
-Patch35: gcc48-pr59860.diff
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
# A set of patches from the RH srpm
@@ -292,8 +291,7 @@
Patch72: gcc48-ibm-power8-other.diff
Patch73: gcc48-pr59844.diff
Patch74: gcc48-ibm-power8-fixes1.diff
-# Patches for SAP features
-Patch130: sap303956-uchar.diff
+Patch75: gcc48-ibm-power8-fixes2.diff
#testpatch end
@@ -498,7 +496,6 @@
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35
%patch36 -p1
%patch37 -p1
%patch51
@@ -511,7 +508,7 @@
%patch72
%patch73
%patch74
-%patch130
+%patch75
#test patching end
@@ -740,15 +737,9 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
-%if "%_repository" == "power8"
- --with-cpu-32=power8 \
- --with-cpu-64=power8 \
- --with-tune=power8 \
-%else
--with-cpu-32=power7 \
--with-cpu-64=power7 \
--with-tune=power7 \
-%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -792,14 +783,12 @@
make all-target-libffi $PARALLEL
%else
STAGE1_FLAGS="-g"
-# Only run profiled bootstrap on archs where it works
-#%ifarch %ix86 x86_64 ppc ppc64 ia64
-#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%else
-#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+# Only run profiled bootstrap on archs where it works and matters
+%ifarch x86_64 ppc64le s390x
+make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+%else
make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%endif
-#make -C gcc proto
+%endif
make info
%if 0%{?run_tests:1}
echo "Run testsuite"
libgcj48.spec: same change
++++++ gcc-4.8.2-r206703.tar.bz2 -> gcc-4.8.2-r208119.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gcc48/gcc-4.8.2-r206703.tar.bz2 /work/SRC/openSUSE:Factory/.gcc48.new/gcc-4.8.2-r208119.tar.bz2 differ: char 11, line 1
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.2nixMl/_old 2014-02-28 16:24:33.000000000 +0100
+++ /var/tmp/diff_new_pack.2nixMl/_new 2014-02-28 16:24:33.000000000 +0100
@@ -109,7 +109,7 @@
%define libgcc_s_suffix %{plv libgcc_s %{libgcc_s}}
# libgcj SONAME changes with every GCC version
%define libgcj_suffix %nil
-%define libgcj_bc_suffix %{plv libgcj_bc %{libgc_bc_sover}}
+%define libgcj_bc_suffix %{plv libgcj_bc %{libgcj_bc_sover}}
%define libffi_suffix %{plv libffi %{libffi_sover}}
%define libmudflap_suffix %{plv libmudflap %{libmudflap_sover}}
%define libgomp_suffix %{plv libgomp %{libgomp_sover}}
@@ -210,7 +210,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: http://gcc.gnu.org/
-Version: 4.8.2+r206703
+Version: 4.8.2+r208119
Release: 1
%define gcc_version %(echo %version | sed 's/+.*//')
%define gcc_dir_version %(echo %gcc_version | cut -d '.' -f 1-2)
@@ -266,7 +266,6 @@
Patch32: libgcj_bc-install.patch
Patch33: m68k-notice-update-cc.patch
Patch34: pr58369.patch
-Patch35: gcc48-pr59860.diff
Patch36: stack-protector-aarch64.patch
Patch37: function-profiling-aarch64.patch
# A set of patches from the RH srpm
@@ -282,8 +281,7 @@
Patch72: gcc48-ibm-power8-other.diff
Patch73: gcc48-pr59844.diff
Patch74: gcc48-ibm-power8-fixes1.diff
-# Patches for SAP features
-Patch130: sap303956-uchar.diff
+Patch75: gcc48-ibm-power8-fixes2.diff
#testpatch end
@@ -1001,7 +999,6 @@
%patch32 -p1
%patch33 -p1
%patch34 -p1
-%patch35
%patch36 -p1
%patch37 -p1
%patch51
@@ -1014,7 +1011,7 @@
%patch72
%patch73
%patch74
-%patch130
+%patch75
#test patching end
@@ -1243,15 +1240,9 @@
%if "%{TARGET_ARCH}" == "powerpc"
--with-cpu=default32 \
%endif
-%if "%_repository" == "power8"
- --with-cpu-32=power8 \
- --with-cpu-64=power8 \
- --with-tune=power8 \
-%else
--with-cpu-32=power7 \
--with-cpu-64=power7 \
--with-tune=power7 \
-%endif
--enable-secureplt \
--with-long-double-128 \
%if "%{TARGET_ARCH}" == "powerpc64le"
@@ -1297,14 +1288,12 @@
make all-target-libffi $PARALLEL
%else
STAGE1_FLAGS="-g"
-# Only run profiled bootstrap on archs where it works
-#%ifarch %ix86 x86_64 ppc ppc64 ia64
-#make profiledbootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%else
-#make bootstrap-lean STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+# Only run profiled bootstrap on archs where it works and matters
+%ifarch x86_64 ppc64le s390x
+make profiledbootstrap STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
+%else
make STAGE1_CFLAGS="$STAGE1_FLAGS" BOOT_CFLAGS="$RPM_OPT_FLAGS" $PARALLEL
-#%endif
-#make -C gcc proto
+%endif
make info
%if 0%{?run_tests:1}
echo "Run testsuite"
@@ -1815,7 +1804,6 @@
%{libsubdir}/include/stdbool.h
%{libsubdir}/include/stdfix.h
%{libsubdir}/include/stddef.h
-%{libsubdir}/include/uchar.h
%{libsubdir}/include/unwind.h
%{libsubdir}/include/varargs.h
%{libsubdir}/include/stdint.h
++++++ gcc48-ibm-power8-fixes2.diff ++++++
++++ 6164 lines (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0