openSUSE Commits
Threads by month
- ----- 2025 -----
- March
- February
- January
- ----- 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 yum-metadata-parser for openSUSE:Factory checked in at 2014-02-28 16:22:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yum-metadata-parser (Old)
and /work/SRC/openSUSE:Factory/.yum-metadata-parser.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yum-metadata-parser"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yum-metadata-parser/yum-metadata-parser.changes 2013-03-21 22:16:25.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.yum-metadata-parser.new/yum-metadata-parser.changes 2014-02-28 16:22:07.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 24 17:20:13 CET 2014 - mls(a)suse.de
+
+- add support for weak dependencies, needed for newer createrepo
+ versions (to make --update work)
+ new patch: yum-metadata-parser-1.1.2-weakdeps.patch
+
+-------------------------------------------------------------------
New:
----
yum-metadata-parser-1.1.2-weakdeps.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yum-metadata-parser.spec ++++++
--- /var/tmp/diff_new_pack.n3GMg8/_old 2014-02-28 16:22:08.000000000 +0100
+++ /var/tmp/diff_new_pack.n3GMg8/_new 2014-02-28 16:22:08.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package yum-metadata-parser
#
-# 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
@@ -26,11 +26,13 @@
License: GPL-2.0+
Group: Development/Libraries/Python
Version: 1.1.2
-Release: 107
+Release: 0
Source0: %{name}-%{version}.tar.bz2
Patch0: %{name}-1.0-quiet.patch
# PATCH-FIX-UPSTREAM yum-metadata-parser [bnc#802576]
Patch1: %{name}-1.1.2-handle_2GB_sized_rpms.patch
+# PATCH-FIX-UPSTREAM yum-metadata-parser
+Patch2: %{name}-1.1.2-weakdeps.patch
Url: http://devel.linux.duke.edu/cgi-bin/viewcvs.cgi/yum-metadata-parser/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{suse_version} <= 1010
@@ -51,6 +53,7 @@
%setup -q
%patch0
%patch1 -p1
+%patch2
%build
export CFLAGS="$RPM_OPT_FLAGS"
++++++ yum-metadata-parser-1.1.2-weakdeps.patch ++++++
--- ./db.c.orig 2014-02-24 16:09:28.394182339 +0000
+++ ./db.c 2014-02-24 16:10:48.672182197 +0000
@@ -398,7 +398,8 @@ yum_db_create_primary_tables (sqlite3 *d
" release TEXT,"
" pkgKey INTEGER %s)";
- const char *deps[] = { "requires", "provides", "conflicts", "obsoletes", NULL };
+ const char *deps[] = { "requires", "provides", "conflicts", "obsoletes",
+ "suggests", "enhances", "recommends", "supplements", NULL };
int i;
const char *pkgindexsql = "CREATE INDEX pkg%s on %s (pkgKey)";
@@ -456,6 +457,10 @@ yum_db_create_primary_tables (sqlite3 *d
" DELETE FROM provides WHERE pkgKey = old.pkgKey;"
" DELETE FROM conflicts WHERE pkgKey = old.pkgKey;"
" DELETE FROM obsoletes WHERE pkgKey = old.pkgKey;"
+ " DELETE FROM suggests WHERE pkgKey = old.pkgKey;"
+ " DELETE FROM enhances WHERE pkgKey = old.pkgKey;"
+ " DELETE FROM recommends WHERE pkgKey = old.pkgKey;"
+ " DELETE FROM supplements WHERE pkgKey = old.pkgKey;"
" END;";
rc = sqlite3_exec (db, sql, NULL, NULL, NULL);
--- ./package.c.orig 2014-02-24 16:09:40.514182318 +0000
+++ ./package.c 2014-02-24 16:13:25.480181919 +0000
@@ -85,6 +85,26 @@ package_free (Package *package)
g_slist_free (package->obsoletes);
}
+ if (package->suggests) {
+ g_slist_foreach (package->suggests, (GFunc) g_free, NULL);
+ g_slist_free (package->suggests);
+ }
+
+ if (package->enhances) {
+ g_slist_foreach (package->enhances, (GFunc) g_free, NULL);
+ g_slist_free (package->enhances);
+ }
+
+ if (package->recommends) {
+ g_slist_foreach (package->recommends, (GFunc) g_free, NULL);
+ g_slist_free (package->recommends);
+ }
+
+ if (package->supplements) {
+ g_slist_foreach (package->supplements, (GFunc) g_free, NULL);
+ g_slist_free (package->supplements);
+ }
+
if (package->files) {
g_slist_foreach (package->files, (GFunc) g_free, NULL);
g_slist_free (package->files);
--- ./package.h.orig 2014-02-24 16:09:34.890182327 +0000
+++ ./package.h 2014-02-24 16:11:09.288182160 +0000
@@ -72,6 +72,10 @@ typedef struct {
GSList *provides;
GSList *conflicts;
GSList *obsoletes;
+ GSList *suggests;
+ GSList *enhances;
+ GSList *recommends;
+ GSList *supplements;
GSList *files;
GSList *changelogs;
--- ./sqlitecache.c.orig 2014-02-24 16:09:57.235182288 +0000
+++ ./sqlitecache.c 2014-02-24 16:17:07.753181526 +0000
@@ -152,6 +152,10 @@ typedef struct {
sqlite3_stmt *provides_handle;
sqlite3_stmt *conflicts_handle;
sqlite3_stmt *obsoletes_handle;
+ sqlite3_stmt *suggests_handle;
+ sqlite3_stmt *enhances_handle;
+ sqlite3_stmt *recommends_handle;
+ sqlite3_stmt *supplements_handle;
sqlite3_stmt *files_handle;
} PackageWriterInfo;
@@ -175,6 +179,18 @@ package_writer_info_init (UpdateInfo *up
info->obsoletes_handle = yum_db_dependency_prepare (db, "obsoletes", err);
if (*err)
return;
+ info->suggests_handle = yum_db_dependency_prepare (db, "suggests", err);
+ if (*err)
+ return;
+ info->enhances_handle = yum_db_dependency_prepare (db, "enhances", err);
+ if (*err)
+ return;
+ info->recommends_handle = yum_db_dependency_prepare (db, "recommends", err);
+ if (*err)
+ return;
+ info->supplements_handle = yum_db_dependency_prepare (db, "supplements", err);
+ if (*err)
+ return;
info->files_handle = yum_db_file_prepare (db, err);
}
@@ -226,6 +242,14 @@ write_package_to_db (UpdateInfo *update_
package->pkgKey, package->conflicts);
write_deps (update_info->db, info->obsoletes_handle,
package->pkgKey, package->obsoletes);
+ write_deps (update_info->db, info->suggests_handle,
+ package->pkgKey, package->suggests);
+ write_deps (update_info->db, info->enhances_handle,
+ package->pkgKey, package->enhances);
+ write_deps (update_info->db, info->recommends_handle,
+ package->pkgKey, package->recommends);
+ write_deps (update_info->db, info->supplements_handle,
+ package->pkgKey, package->supplements);
write_files (update_info->db, info->files_handle, package);
}
@@ -245,6 +269,14 @@ package_writer_info_clean (UpdateInfo *u
sqlite3_finalize (info->conflicts_handle);
if (info->obsoletes_handle)
sqlite3_finalize (info->obsoletes_handle);
+ if (info->suggests_handle)
+ sqlite3_finalize (info->suggests_handle);
+ if (info->enhances_handle)
+ sqlite3_finalize (info->enhances_handle);
+ if (info->recommends_handle)
+ sqlite3_finalize (info->recommends_handle);
+ if (info->supplements_handle)
+ sqlite3_finalize (info->supplements_handle);
if (info->files_handle)
sqlite3_finalize (info->files_handle);
}
--- ./xml-parser.c.orig 2014-02-24 16:09:48.186182304 +0000
+++ ./xml-parser.c 2014-02-24 16:12:19.537182036 +0000
@@ -244,6 +244,18 @@ primary_parser_format_start (PrimarySAXC
} else if (!strcmp (name, "rpm:conflicts")) {
ctx->state = PRIMARY_PARSER_DEP;
ctx->current_dep_list = &sctx->current_package->conflicts;
+ } else if (!strcmp (name, "rpm:suggests")) {
+ ctx->state = PRIMARY_PARSER_DEP;
+ ctx->current_dep_list = &sctx->current_package->suggests;
+ } else if (!strcmp (name, "rpm:enhances")) {
+ ctx->state = PRIMARY_PARSER_DEP;
+ ctx->current_dep_list = &sctx->current_package->enhances;
+ } else if (!strcmp (name, "rpm:recommends")) {
+ ctx->state = PRIMARY_PARSER_DEP;
+ ctx->current_dep_list = &sctx->current_package->recommends;
+ } else if (!strcmp (name, "rpm:supplements")) {
+ ctx->state = PRIMARY_PARSER_DEP;
+ ctx->current_dep_list = &sctx->current_package->supplements;
}
else if (!strcmp (name, "file")) {
--
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 file for openSUSE:Factory checked in at 2014-02-28 16:22:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/file (Old)
and /work/SRC/openSUSE:Factory/.file.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file"
Changes:
--------
--- /work/SRC/openSUSE:Factory/file/file.changes 2013-12-05 06:54:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.file.new/file.changes 2014-02-28 16:22:04.000000000 +0100
@@ -1,0 +2,16 @@
+Tue Feb 18 10:21:11 UTC 2014 - werner(a)suse.de
+
+- Update to file version 5.17 (bug fix release)
+ * Count recursion levels through indirect magic
+ * Prevent infinite recursion on files with indirect offsets of 0
+ * Add -E flag that makes file print filesystem errors to stderr
+ and exit.
+ * mime printing could print results from multiple magic entries
+ if there were multiple matches.
+ * in some cases overflow was not detected when computing offsets
+ in softmagic.
+ * use strcasestr() to for cdf strings
+ * reset to the "C" locale while doing regex operations, or case
+ insensitive comparisons; this is provisional
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/file/python-magic.changes 2013-12-05 06:54:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.file.new/python-magic.changes 2014-02-28 16:22:04.000000000 +0100
@@ -1,0 +2,16 @@
+Sun Feb 23 20:34:25 UTC 2014 - andreas.stieger(a)gmx.de
+
+- Update python-magic to file version 5.17 (bug fix release)
+ * Count recursion levels through indirect magic
+ * Prevent infinite recursion on files with indirect offsets of 0
+ * Add -E flag that makes file print filesystem errors to stderr
+ and exit.
+ * mime printing could print results from multiple magic entries
+ if there were multiple matches.
+ * in some cases overflow was not detected when computing offsets
+ in softmagic.
+ * use strcasestr() to for cdf strings
+ * reset to the "C" locale while doing regex operations, or case
+ insensitive comparisons; this is provisional
+
+-------------------------------------------------------------------
Old:
----
file-5.07-option.dif
file-5.16.dif
file-5.16.tar.gz
New:
----
file-5.17-option.dif
file-5.17.dif
file-5.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ file.spec ++++++
--- /var/tmp/diff_new_pack.q1IVhj/_old 2014-02-28 16:22:06.000000000 +0100
+++ /var/tmp/diff_new_pack.q1IVhj/_new 2014-02-28 16:22:06.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package file
#
-# 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
@@ -30,14 +30,14 @@
%endif
#
# Set Version also in python-magic.spec
-Version: 5.16
+Version: 5.17
Release: 0
Summary: A Tool to Determine File Types
License: BSD-2-Clause
Group: Productivity/File utilities
Source: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz
Source2: baselibs.conf
-Patch: file-5.16.dif
+Patch: file-5.17.dif
Patch1: file-5.14-misc.dif
Patch4: file-4.24-autoconf.dif
Patch5: file-5.14-tex.dif
@@ -46,7 +46,7 @@
Patch9: file-5.07-elf.dif
Patch10: file-5.14-printf.dif
Patch11: file-5.12-zip.dif
-Patch12: file-5.07-option.dif
+Patch12: file-5.17-option.dif
Patch13: file-4.21-scribus.dif
Patch15: file-4.21-xcursor.dif
Patch20: file-4.24-mips.dif
++++++ python-magic.spec ++++++
--- /var/tmp/diff_new_pack.q1IVhj/_old 2014-02-28 16:22:06.000000000 +0100
+++ /var/tmp/diff_new_pack.q1IVhj/_new 2014-02-28 16:22:06.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-magic
#
-# 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
@@ -23,7 +23,7 @@
BuildRequires: python-devel
BuildRequires: zlib-devel
Url: http://www.darwinsys.com/file/
-Version: 5.16
+Version: 5.17
Release: 0
Summary: Python module to use libmagic
License: BSD-3-Clause and BSD-4-Clause
++++++ file-5.07-option.dif -> file-5.17-option.dif ++++++
--- /work/SRC/openSUSE:Factory/file/file-5.07-option.dif 2013-10-02 08:48:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.file.new/file-5.17-option.dif 2014-02-28 16:22:04.000000000 +0100
@@ -1,7 +1,7 @@
--- src/file.c
-+++ src/file.c 2013-09-30 00:00:00.000000000 +0000
-@@ -195,6 +195,8 @@ main(int argc, char *argv[])
- flags |= MAGIC_DEBUG|MAGIC_CHECK;
++++ src/file.c 2014-02-18 08:50:59.990452075 +0000
+@@ -198,6 +198,8 @@ main(int argc, char *argv[])
+ flags |= MAGIC_ERROR;
break;
case 'e':
+ if (!optarg)
@@ -9,7 +9,7 @@
for (i = 0; i < sizeof(nv) / sizeof(nv[0]); i++)
if (strcmp(nv[i].name, optarg) == 0)
break;
-@@ -206,7 +208,7 @@ main(int argc, char *argv[])
+@@ -209,7 +211,7 @@ main(int argc, char *argv[])
break;
case 'f':
@@ -18,7 +18,7 @@
usage();
if (magic == NULL)
if ((magic = load(magicfile, flags)) == NULL)
-@@ -215,6 +217,8 @@ main(int argc, char *argv[])
+@@ -218,6 +220,8 @@ main(int argc, char *argv[])
++didsomefiles;
break;
case 'F':
@@ -27,7 +27,7 @@
separator = optarg;
break;
case 'i':
-@@ -227,6 +231,8 @@ main(int argc, char *argv[])
+@@ -230,6 +234,8 @@ main(int argc, char *argv[])
action = FILE_LIST;
break;
case 'm':
++++++ file-5.07-option.dif -> file-5.17.dif ++++++
++++ 611 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/file/file-5.07-option.dif
++++ and /work/SRC/openSUSE:Factory/.file.new/file-5.17.dif
++++++ file-5.16.tar.gz -> file-5.17.tar.gz ++++++
++++ 24256 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 coreutils for openSUSE:Factory checked in at 2014-02-28 16:21:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/coreutils (Old)
and /work/SRC/openSUSE:Factory/.coreutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "coreutils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/coreutils/coreutils-testsuite.changes 2014-01-30 12:51:48.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.coreutils.new/coreutils-testsuite.changes 2014-02-28 16:22:00.000000000 +0100
@@ -1,0 +2,9 @@
+Mon Feb 24 14:59:35 CET 2014 - pth(a)suse.de
+
+- Add three patches from SLE12 that aren't upstream:
+ coreutils-misc.patch (fixes for tests)
+ coreutils-getaddrinfo.patch (fake success as there's no network
+ in the build system)
+ coreutils-ocfs2_reflinks.patch (support ocfs2 reflinks in cp)
+
+-------------------------------------------------------------------
coreutils.changes: same change
New:
----
coreutils-getaddrinfo.patch
coreutils-misc.patch
coreutils-ocfs2_reflinks.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ coreutils-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.CV9U8C/_old 2014-02-28 16:22:02.000000000 +0100
+++ /var/tmp/diff_new_pack.CV9U8C/_new 2014-02-28 16:22:02.000000000 +0100
@@ -101,6 +101,15 @@
# on already existing destination directories.
Patch110: coreutils-copy-fix-selinux-existing-dirs.patch
+# At least a bit of reflink support
+Patch111: coreutils-ocfs2_reflinks.patch
+
+# There is no network in the build root so make the test succeed
+Patch112: coreutils-getaddrinfo.patch
+
+# Assorted fixes
+Patch113: coreutils-misc.patch
+
# Fix imported gnulib long double math tests for little-endian PowerPC
Patch202: coreutils-gnulib-tests-ppc64le.patch
@@ -149,6 +158,9 @@
#
%patch100
%patch110
+%patch111
+%patch112
+%patch113
%patch202
%patch300
++++++ coreutils.spec ++++++
--- /var/tmp/diff_new_pack.CV9U8C/_old 2014-02-28 16:22:02.000000000 +0100
+++ /var/tmp/diff_new_pack.CV9U8C/_new 2014-02-28 16:22:02.000000000 +0100
@@ -101,6 +101,15 @@
# on already existing destination directories.
Patch110: coreutils-copy-fix-selinux-existing-dirs.patch
+# At least a bit of reflink support
+Patch111: coreutils-ocfs2_reflinks.patch
+
+# There is no network in the build root so make the test succeed
+Patch112: coreutils-getaddrinfo.patch
+
+# Assorted fixes
+Patch113: coreutils-misc.patch
+
# Fix imported gnulib long double math tests for little-endian PowerPC
Patch202: coreutils-gnulib-tests-ppc64le.patch
@@ -149,6 +158,9 @@
#
%patch100
%patch110
+%patch111
+%patch112
+%patch113
%patch202
%patch300
++++++ coreutils-getaddrinfo.patch ++++++
---
gnulib-tests/test-getaddrinfo.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
Index: gnulib-tests/test-getaddrinfo.c
===================================================================
--- gnulib-tests/test-getaddrinfo.c.orig 2013-12-04 15:53:33.000000000 +0100
+++ gnulib-tests/test-getaddrinfo.c 2014-02-20 17:59:57.474430854 +0100
@@ -86,11 +86,7 @@ simple (char const *host, char const *se
the test merely because someone is down the country on their
in-law's farm. */
if (res == EAI_AGAIN)
- {
- skip++;
- fprintf (stderr, "skipping getaddrinfo test: no network?\n");
- return 77;
- }
+ return 0;
/* IRIX reports EAI_NONAME for "https". Don't fail the test
merely because of this. */
if (res == EAI_NONAME)
++++++ coreutils-misc.patch ++++++
---
gnulib-tests/test-isnanl.h | 4 +++-
tests/misc/help-version.sh | 1 +
tests/other-fs-tmpdir | 3 +++
3 files changed, 7 insertions(+), 1 deletion(-)
Index: gnulib-tests/test-isnanl.h
===================================================================
--- gnulib-tests/test-isnanl.h.orig 2013-12-04 15:53:33.000000000 +0100
+++ gnulib-tests/test-isnanl.h 2014-02-20 18:05:09.900982392 +0100
@@ -47,7 +47,7 @@ main ()
/* Quiet NaN. */
ASSERT (isnanl (NaNl ()));
-#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT
+#if defined LDBL_EXPBIT0_WORD && defined LDBL_EXPBIT0_BIT && 0
/* A bit pattern that is different from a Quiet NaN. With a bit of luck,
it's a Signalling NaN. */
{
@@ -89,6 +89,7 @@ main ()
{ LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
ASSERT (isnanl (x.value));
}
+#if 0
/* The isnanl function should recognize Pseudo-NaNs, Pseudo-Infinities,
Pseudo-Zeroes, Unnormalized Numbers, and Pseudo-Denormals, as defined in
Intel IA-64 Architecture Software Developer's Manual, Volume 1:
@@ -122,6 +123,7 @@ main ()
ASSERT (isnanl (x.value));
}
#endif
+#endif
return 0;
}
Index: tests/misc/help-version.sh
===================================================================
--- tests/misc/help-version.sh.orig 2013-12-04 15:48:30.000000000 +0100
+++ tests/misc/help-version.sh 2014-02-20 18:05:09.901982368 +0100
@@ -245,6 +245,7 @@ parted_setup () { args="-s $tmp_in mklab
for i in $built_programs; do
# Skip these.
case $i in chroot|stty|tty|false|chcon|runcon) continue;; esac
+ case $i in df) continue;; esac
rm -rf $tmp_in $tmp_in2 $tmp_dir $tmp_out $bigZ_in $zin $zin2
echo z |gzip > $zin
Index: tests/other-fs-tmpdir
===================================================================
--- tests/other-fs-tmpdir.orig 2014-02-20 18:05:09.901982368 +0100
+++ tests/other-fs-tmpdir 2014-02-20 18:06:52.108548168 +0100
@@ -43,6 +43,9 @@ for d in $CANDIDATE_TMP_DIRS; do
done
+# Autobuild hack
+test -f /bin/uname.bin && other_partition_tmpdir=
+
if test -z "$other_partition_tmpdir"; then
skip_ \
"requires a writable directory on a different disk partition,
++++++ coreutils-ocfs2_reflinks.patch ++++++
>From 34556c4e36effc165032724cd37e6a4d2682f880 Mon Sep 17 00:00:00 2001
From: Jie Liu <jeff....(a)oracle.com>
Date: Tue, 3 May 2011 22:21:41 +0800
Subject: [PATCH 1/1] copy: add OCFS2 reflink support
* src/copy.c (copy_reg): When cp is invoked with '--reflink=[WHEN]', try
OCFS2 reflink file first, if it fails, try btrfs clone file later if
possible. The reflink will fail with EEXIST if the destination file
already exists on OCFS2, in this case, it means the user intended to
do OCFS2 reflink rather than btrfs clone, so we need not try the latter.
Signed-off-by: Jie Liu <jeff....(a)oracle.com>
---
src/copy.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 file changed, 90 insertions(+), 8 deletions(-)
Index: src/copy.c
===================================================================
--- src/copy.c.orig 2014-02-20 17:50:19.791236017 +0100
+++ src/copy.c 2014-02-20 17:54:06.068824055 +0100
@@ -221,6 +221,46 @@ sparse_copy (int src_fd, int dest_fd, ch
return true;
}
+/* Perform the OCFS2 CoW reflink ioctl(2) operation if possible.
+ When using '-p' option, the file's default attributes(i.e. mode,timestamp,
+ ownership and security context if possbile) are reflinked to the destination
+ file as well, we will then skip over the standard preserve process for such
+ attributes. Upon success, return 0, Otherwise, return -1 and set errno. */
+static inline int
+reflink_file (char const *src_name, char const *dst_name,
+ int src_fd, bool preserve_attrs)
+{
+#ifdef __linux__
+# ifndef REFLINK_ATTR_NONE
+# define REFLINK_ATTR_NONE 0
+# endif
+# ifndef REFLINK_ATTR_PRESERVE
+# define REFLINK_ATTR_PRESERVE 1
+# endif
+# ifndef OCFS2_IOC_REFLINK
+ struct reflink_arguments {
+ uint64_t old_path;
+ uint64_t new_path;
+ uint64_t preserve;
+ };
+# define OCFS2_IOC_REFLINK _IOW ('o', 4, struct reflink_arguments)
+# endif
+ struct reflink_arguments args = {
+ .old_path = (unsigned long) src_name,
+ .new_path = (unsigned long) dst_name,
+ .preserve = preserve_attrs ? REFLINK_ATTR_PRESERVE : REFLINK_ATTR_NONE,
+ };
+ return ioctl (src_fd, OCFS2_IOC_REFLINK, &args);
+#else
+ (void) src_name;
+ (void) dst_name;
+ (void) src_fd;
+ (void) preserve_attrs;
+ errno = ENOTSUP;
+ return -1;
+#endif
+}
+
/* Perform the O(1) btrfs clone operation, if possible.
Upon success, return 0. Otherwise, return -1 and set errno. */
static inline int
@@ -930,6 +970,45 @@ copy_reg (char const *src_name, char con
goto close_src_desc;
}
+ /* When cp is invoked with '--reflink=[WHEN]', try to do OCFS2 reflink
+ ioctl(2) first, if it fails, try btrfs clone file later if possible.
+ The reason why perform those operations separately is because `cp'
+ will create the destination file if it is a '*new_dst'. In this case,
+ we have to unlink(2) it firstly, otherwise, OCFS2 reflink will fail with
+ 'EEXIST'. */
+ bool reflink_ok = false;
+ if (data_copy_required && x->reflink_mode)
+ {
+ bool preserve_attributes = (x->preserve_ownership
+ && x->preserve_mode
+ && x->preserve_timestamps);
+ reflink_ok = reflink_file (src_name, dst_name, source_desc,
+ preserve_attributes) == 0;
+ if (reflink_ok)
+ {
+ *new_dst = false;
+
+ /* Skip over the standard attributes preserve process
+ if reflink succeeds and they are already reflinked. */
+ if (preserve_attributes)
+ goto close_src_desc;
+ }
+ else
+ {
+ /* When the destination file is aready exists on OCFS2, the
+ above reflink should fails with EEXIST. If that happens,
+ we need not try btrfs clone again since it means the user
+ is definitely want a OCFS2 reflink. */
+ if (errno == EEXIST)
+ {
+ error (0, errno, _("failed to reflink %s from %s"),
+ quote_n (0, dst_name), quote_n (1, src_name));
+ return_val = false;
+ goto close_src_desc;
+ }
+ }
+ }
+
/* The semantics of the following open calls are mandated
by the specs for both cp and mv. */
if (! *new_dst)
@@ -1075,17 +1154,20 @@ copy_reg (char const *src_name, char con
/* --attributes-only overrides --reflink. */
if (data_copy_required && x->reflink_mode)
{
- bool clone_ok = clone_file (dest_desc, source_desc) == 0;
- if (clone_ok || x->reflink_mode == REFLINK_ALWAYS)
+ if (! reflink_ok)
{
- if (!clone_ok)
+ bool clone_ok = clone_file (dest_desc, source_desc) == 0;
+ if (clone_ok || x->reflink_mode == REFLINK_ALWAYS)
{
- error (0, errno, _("failed to clone %s from %s"),
- quote_n (0, dst_name), quote_n (1, src_name));
- return_val = false;
- goto close_src_and_dst_desc;
+ if (!clone_ok)
+ {
+ error (0, errno, _("failed to clone %s from %s"),
+ quote_n (0, dst_name), quote_n (1, src_name));
+ return_val = false;
+ goto close_src_and_dst_desc;
+ }
+ data_copy_required = false;
}
- data_copy_required = false;
}
}
++++++ coreutils-test-avoid-FP-when-no-ACL-support.patch ++++++
--- /var/tmp/diff_new_pack.CV9U8C/_old 2014-02-28 16:22:02.000000000 +0100
+++ /var/tmp/diff_new_pack.CV9U8C/_new 2014-02-28 16:22:02.000000000 +0100
@@ -1,6 +1,7 @@
tests: avoid test framework failure if the file system lacks ACL support
-Prompted by a test framework failure of tests/mkdir/p-acl.sh on armv7l,
+Prompted by a test framework failure of tests/mkdir/p-acl.sh on VMs
+where filesystem are mounted without ACL support.
I pushed the following patch upstream which will go into 8.23 some day.
_______________________________________________
@@ -20,14 +21,14 @@
ACL specs, and use ACL specs which can't be mapped into regular file
permission bits. Document the reasons.
---
- init.cfg | 29 ++++++++++++++++++++++++++++-
- 1 file changed, 28 insertions(+), 1 deletion(-)
+ init.cfg | 32 ++++++++++++++++++++++++++++++--
+ 1 file changed, 30 insertions(+), 2 deletions(-)
Index: init.cfg
===================================================================
---- init.cfg.orig
-+++ init.cfg
-@@ -192,9 +192,37 @@ require_valgrind_()
+--- init.cfg.orig 2014-02-24 15:19:12.185467061 +0100
++++ init.cfg 2014-02-24 15:20:46.802273660 +0100
+@@ -192,10 +192,38 @@ require_valgrind_()
skip_ "requires a working valgrind"
}
@@ -54,6 +55,7 @@
require_setfacl_()
{
- setfacl -m user::rwx . \
+- || skip_ "setfacl does not work on the current file system"
+ local d='acltestdir_'
+ mkdir $d || framework_failure_
+ local f=0
@@ -63,6 +65,7 @@
+ || f=1
+ rm -rf $d || framework_failure_
+ test $f = 0 \
- || skip_ "setfacl does not work on the current file system"
++ || skip_ "The current file system does not support ACLs"
}
+ # Require a controlling input 'terminal'.
--
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 zypper for openSUSE:Factory checked in at 2014-02-28 16:21:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/zypper (Old)
and /work/SRC/openSUSE:Factory/.zypper.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "zypper"
Changes:
--------
--- /work/SRC/openSUSE:Factory/zypper/zypper.changes 2014-02-16 10:29:46.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.zypper.new/zypper.changes 2014-02-28 16:21:57.000000000 +0100
@@ -1,0 +2,10 @@
+Sun Feb 23 21:06:34 CET 2014 - ma(a)suse.de
+
+- Don't include suggested packages in pattern content, as we can't
+ handle them (bnc#857671)
+- Fix computation of pattern status (bnc#864412)
+- fix wrong processing of translated plural forms (bnc#756195)
+- Fix result list of 'packages' command (bnc#864198)
+- version 1.10.8
+
+-------------------------------------------------------------------
Old:
----
zypper-1.10.7.tar.bz2
New:
----
zypper-1.10.8.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ zypper.spec ++++++
--- /var/tmp/diff_new_pack.KG06OV/_old 2014-02-28 16:21:59.000000000 +0100
+++ /var/tmp/diff_new_pack.KG06OV/_new 2014-02-28 16:21:59.000000000 +0100
@@ -22,7 +22,7 @@
BuildRequires: cmake >= 2.4.6
BuildRequires: gcc-c++ >= 4.7
BuildRequires: gettext-devel >= 0.15
-BuildRequires: libzypp-devel >= 14.14.0
+BuildRequires: libzypp-devel >= 14.15.0
BuildRequires: readline-devel >= 5.1
Requires: procps
%if 0%{?suse_version}
@@ -33,7 +33,7 @@
Summary: Command line software manager using libzypp
License: GPL-2.0+
Group: System/Packages
-Version: 1.10.7
+Version: 1.10.8
Release: 0
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-rpmlintrc
++++++ zypper-1.10.7.tar.bz2 -> zypper-1.10.8.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/zypper/zypper-1.10.7.tar.bz2 /work/SRC/openSUSE:Factory/.zypper.new/zypper-1.10.8.tar.bz2 differ: char 11, 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 binutils for openSUSE:Factory checked in at 2014-02-28 16:21:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/binutils (Old)
and /work/SRC/openSUSE:Factory/.binutils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "binutils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/binutils/binutils.changes 2013-12-11 16:14:34.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.binutils.new/binutils.changes 2014-02-28 16:21:53.000000000 +0100
@@ -1,0 +2,17 @@
+Fri Feb 21 16:59:02 UTC 2014 - matz(a)suse.de
+
+- Disable --enable-deterministic-archives again, as it breaks
+ valid Makefiles.
+
+-------------------------------------------------------------------
+Mon Feb 10 23:07:23 UTC 2014 - subchaser1(a)gmail.com
+
+- cross-avr-size.patch: AVR-style output in avr-size utility
+
+-------------------------------------------------------------------
+Mon Jan 27 05:43:48 UTC 2014 - crrodriguez(a)opensuse.org
+
+- build with --enable-deterministic-archives so ar and ranlib
+ cooperate in the creation of reproducible builds.
+
+-------------------------------------------------------------------
cross-aarch64-binutils.changes: same change
cross-arm-binutils.changes: same change
cross-avr-binutils.changes: same change
cross-hppa-binutils.changes: same change
cross-hppa64-binutils.changes: same change
cross-i386-binutils.changes: same change
cross-ia64-binutils.changes: same change
cross-m68k-binutils.changes: same change
cross-mips-binutils.changes: same change
cross-ppc-binutils.changes: same change
cross-ppc64-binutils.changes: same change
cross-ppc64le-binutils.changes: same change
cross-s390-binutils.changes: same change
cross-s390x-binutils.changes: same change
cross-sparc-binutils.changes: same change
cross-sparc64-binutils.changes: same change
cross-spu-binutils.changes: same change
cross-x86_64-binutils.changes: same change
New:
----
cross-avr-size.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ binutils.spec ++++++
--- /var/tmp/diff_new_pack.i2tUyz/_old 2014-02-28 16:21:56.000000000 +0100
+++ /var/tmp/diff_new_pack.i2tUyz/_new 2014-02-28 16:21:56.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package binutils
#
-# 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
@@ -99,6 +99,7 @@
Patch23: pie-m68k.patch
Patch90: cross-avr-nesc-as.patch
Patch92: cross-avr-omit_section_dynsym.patch
+Patch93: cross-avr-size.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: update-alternatives
@@ -171,6 +172,7 @@
cp gas/config/tc-avr.h gas/config/tc-avr-nesc.h
%patch90
%patch92
+%patch93
%endif
#
# test_vanilla
@@ -212,6 +214,13 @@
EXTRA_TARGETS="$EXTRA_TARGETS,aarch64-suse-linux"
%endif
%endif
+# Normally we'd like to add --enable-deterministic-archives
+# here (which by default makes uid/mtime be zero for archive
+# members), to increase chances of getting a reproducable build
+# But this breaks Makefile rules when directly accessing archives:
+# rebuilding the same archive from unchanged .o files recreates
+# it, because timestamps in the .a are 0, unequal to the actual timestamp
+# of the .o files :-/
%define common_flags CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}" \\\
--prefix=%{_prefix} --libdir=%{_libdir} \\\
--infodir=%{_infodir} --mandir=%{_mandir} \\\
cross-aarch64-binutils.spec: same change
cross-arm-binutils.spec: same change
cross-avr-binutils.spec: same change
cross-hppa-binutils.spec: same change
cross-hppa64-binutils.spec: same change
cross-i386-binutils.spec: same change
cross-ia64-binutils.spec: same change
cross-m68k-binutils.spec: same change
cross-mips-binutils.spec: same change
cross-ppc-binutils.spec: same change
cross-ppc64-binutils.spec: same change
cross-ppc64le-binutils.spec: same change
cross-s390-binutils.spec: same change
cross-s390x-binutils.spec: same change
cross-sparc-binutils.spec: same change
cross-sparc64-binutils.spec: same change
cross-spu-binutils.spec: same change
cross-x86_64-binutils.spec: same change
++++++ cross-avr-size.patch ++++++
AVR specific only
http://distribute.atmel.no/tools/opensource/avr-gcc/binutils-2.20.1/30-binu…
===========================================================
--- binutils/size.c 2007-08-06 13:56:14.000000000 -0600
+++ binutils/size.c 2007-09-13 09:13:10.281250000 -0600
@@ -36,10 +36,31 @@
#include "getopt.h"
#include "bucomm.h"
-#ifndef BSD_DEFAULT
-#define BSD_DEFAULT 1
+typedef enum
+{
+ format_sysv = 0,
+ format_bsd = 1,
+ format_avr = 2,
+} format_type_t;
+
+
+/* Set the default format. */
+#define FORMAT_DEFAULT_SYSV 0
+#define FORMAT_DEFAULT_BSD 1
+#define FORMAT_DEFAULT_AVR 0
+
+#if FORMAT_DEFAULT_SYSV
+ #define FORMAT_DEFAULT format_sysv
+ #define FORMAT_NAME "sysv"
+#elif FORMAT_DEFAULT_BSD
+ #define FORMAT_DEFAULT format_bsd
+ #define FORMAT_NAME "berkeley"
+#elif FORMAT_DEFAULT_AVR
+ #define FORMAT_DEFAULT format_avr
+ #define FORMAT_NAME "avr"
#endif
+
/* Program options. */
static enum
@@ -48,9 +69,8 @@ static enum
}
radix = decimal;
-/* 0 means use AT&T-style output. */
-static int berkeley_format = BSD_DEFAULT;
+format_type_t format = FORMAT_DEFAULT;
static int show_version = 0;
static int show_help = 0;
static int show_totals = 0;
@@ -64,6 +84,246 @@ static bfd_size_type total_textsize;
/* Program exit status. */
static int return_code = 0;
+
+/* AVR Size specific stuff */
+
+#define AVR64 64UL
+#define AVR128 128UL
+#define AVR256 256UL
+#define AVR512 512UL
+#define AVR1K 1024UL
+#define AVR2K 2048UL
+#define AVR4K 4096UL
+#define AVR8K 8192UL
+#define AVR16K 16384UL
+#define AVR20K 20480UL
+#define AVR24K 24576UL
+#define AVR32K 32768UL
+#define AVR36K 36864UL
+#define AVR40K 40960UL
+#define AVR64K 65536UL
+#define AVR68K 69632UL
+#define AVR128K 131072UL
+#define AVR136K 139264UL
+#define AVR200K 204800UL
+#define AVR256K 262144UL
+#define AVR264K 270336UL
+
+typedef struct
+{
+ char *name;
+ long flash;
+ long ram;
+ long eeprom;
+} avr_device_t;
+
+avr_device_t avr[] =
+{
+ {"atxmega256a3", AVR264K, AVR16K, AVR4K},
+ {"atxmega256a3b", AVR264K, AVR16K, AVR4K},
+ {"atxmega256d3", AVR264K, AVR16K, AVR4K},
+
+ {"atmega2560", AVR256K, AVR8K, AVR4K},
+ {"atmega2561", AVR256K, AVR8K, AVR4K},
+
+ {"atxmega192a3", AVR200K, AVR16K, AVR2K},
+ {"atxmega192d3", AVR200K, AVR16K, AVR2K},
+
+ {"atxmega128a1", AVR136K, AVR8K, AVR2K},
+ {"atxmega128a1u", AVR136K, AVR8K, AVR2K},
+ {"atxmega128a3", AVR136K, AVR8K, AVR2K},
+ {"atxmega128d3", AVR136K, AVR8K, AVR2K},
+
+ {"at43usb320", AVR128K, 608UL, 0UL},
+ {"at90can128", AVR128K, AVR4K, AVR4K},
+ {"at90usb1286", AVR128K, AVR8K, AVR4K},
+ {"at90usb1287", AVR128K, AVR8K, AVR4K},
+ {"atmega128", AVR128K, AVR4K, AVR4K},
+ {"atmega1280", AVR128K, AVR8K, AVR4K},
+ {"atmega1281", AVR128K, AVR8K, AVR4K},
+ {"atmega1284p", AVR128K, AVR16K, AVR4K},
+ {"atmega128rfa1", AVR128K, AVR16K, AVR4K},
+ {"atmega103", AVR128K, 4000UL, AVR4K},
+
+ {"atxmega64a1", AVR68K, AVR4K, AVR2K},
+ {"atxmega64a1u", AVR68K, AVR4K, AVR2K},
+ {"atxmega64a3", AVR68K, AVR4K, AVR2K},
+ {"atxmega64d3", AVR68K, AVR4K, AVR2K},
+
+ {"at90can64", AVR64K, AVR4K, AVR2K},
+ {"at90scr100", AVR64K, AVR4K, AVR2K},
+ {"at90usb646", AVR64K, AVR4K, AVR2K},
+ {"at90usb647", AVR64K, AVR4K, AVR2K},
+ {"atmega64", AVR64K, AVR4K, AVR2K},
+ {"atmega640", AVR64K, AVR8K, AVR4K},
+ {"atmega644", AVR64K, AVR4K, AVR2K},
+ {"atmega644a", AVR64K, AVR4K, AVR2K},
+ {"atmega644p", AVR64K, AVR4K, AVR2K},
+ {"atmega644pa", AVR64K, AVR4K, AVR2K},
+ {"atmega645", AVR64K, AVR4K, AVR2K},
+ {"atmega645a", AVR64K, AVR4K, AVR2K},
+ {"atmega645p", AVR64K, AVR4K, AVR2K},
+ {"atmega6450", AVR64K, AVR4K, AVR2K},
+ {"atmega6450a", AVR64K, AVR4K, AVR2K},
+ {"atmega6450p", AVR64K, AVR4K, AVR2K},
+ {"atmega649", AVR64K, AVR4K, AVR2K},
+ {"atmega649a", AVR64K, AVR4K, AVR2K},
+ {"atmega649p", AVR64K, AVR4K, AVR2K},
+ {"atmega6490", AVR64K, AVR4K, AVR2K},
+ {"atmega6490a", AVR64K, AVR4K, AVR2K},
+ {"atmega6490p", AVR64K, AVR4K, AVR2K},
+ {"atmega64c1", AVR64K, AVR4K, AVR2K},
+ {"atmega64hve", AVR64K, AVR4K, AVR1K},
+ {"atmega64m1", AVR64K, AVR4K, AVR2K},
+ {"m3000", AVR64K, AVR4K, 0UL},
+
+ {"atmega406", AVR40K, AVR2K, AVR512},
+
+ {"atxmega32a4", AVR36K, AVR4K, AVR1K},
+ {"atxmega32d4", AVR36K, AVR4K, AVR1K},
+
+ {"at90can32", AVR32K, AVR2K, AVR1K},
+ {"at94k", AVR32K, AVR4K, 0UL},
+ {"atmega32", AVR32K, AVR2K, AVR1K},
+ {"atmega323", AVR32K, AVR2K, AVR1K},
+ {"atmega324a", AVR32K, AVR2K, AVR1K},
+ {"atmega324p", AVR32K, AVR2K, AVR1K},
+ {"atmega324pa", AVR32K, AVR2K, AVR1K},
+ {"atmega325", AVR32K, AVR2K, AVR1K},
+ {"atmega325a", AVR32K, AVR2K, AVR1K},
+ {"atmega325p", AVR32K, AVR2K, AVR1K},
+ {"atmega3250", AVR32K, AVR2K, AVR1K},
+ {"atmega3250a", AVR32K, AVR2K, AVR1K},
+ {"atmega3250p", AVR32K, AVR2K, AVR1K},
+ {"atmega328", AVR32K, AVR2K, AVR1K},
+ {"atmega328p", AVR32K, AVR2K, AVR1K},
+ {"atmega329", AVR32K, AVR2K, AVR1K},
+ {"atmega329a", AVR32K, AVR2K, AVR1K},
+ {"atmega329p", AVR32K, AVR2K, AVR1K},
+ {"atmega329pa", AVR32K, AVR2K, AVR1K},
+ {"atmega3290", AVR32K, AVR2K, AVR1K},
+ {"atmega3290a", AVR32K, AVR2K, AVR1K},
+ {"atmega3290p", AVR32K, AVR2K, AVR1K},
+ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
+ {"atmega32c1", AVR32K, AVR2K, AVR1K},
+ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
+ {"atmega32m1", AVR32K, AVR2K, AVR1K},
+ {"atmega32u2", AVR32K, AVR1K, AVR1K},
+ {"atmega32u4", AVR32K, 2560UL, AVR1K},
+ {"atmega32u6", AVR32K, 2560UL, AVR1K},
+
+ {"at43usb355", AVR24K, 1120UL, 0UL},
+
+ {"atxmega16a4", AVR20K, AVR2K, AVR1K},
+ {"atxmega16d4", AVR20K, AVR2K, AVR1K},
+
+ {"at76c711", AVR16K, AVR2K, 0UL},
+ {"at90pwm216", AVR16K, AVR1K, AVR512},
+ {"at90pwm316", AVR16K, AVR1K, AVR512},
+ {"at90usb162", AVR16K, AVR512, AVR512},
+ {"atmega16", AVR16K, AVR1K, AVR512},
+ {"atmega16a", AVR16K, AVR1K, AVR512},
+ {"atmega161", AVR16K, AVR1K, AVR512},
+ {"atmega162", AVR16K, AVR1K, AVR512},
+ {"atmega163", AVR16K, AVR1K, AVR512},
+ {"atmega164", AVR16K, AVR1K, AVR512},
+ {"atmega164a", AVR16K, AVR1K, AVR512},
+ {"atmega164p", AVR16K, AVR1K, AVR512},
+ {"atmega165a", AVR16K, AVR1K, AVR512},
+ {"atmega165", AVR16K, AVR1K, AVR512},
+ {"atmega165p", AVR16K, AVR1K, AVR512},
+ {"atmega168", AVR16K, AVR1K, AVR512},
+ {"atmega168a", AVR16K, AVR1K, AVR512},
+ {"atmega168p", AVR16K, AVR1K, AVR512},
+ {"atmega169", AVR16K, AVR1K, AVR512},
+ {"atmega169a", AVR16K, AVR1K, AVR512},
+ {"atmega169p", AVR16K, AVR1K, AVR512},
+ {"atmega169pa", AVR16K, AVR1K, AVR512},
+ {"atmega16hva", AVR16K, 768UL, AVR256},
+ {"atmega16hva2", AVR16K, AVR1K, AVR256},
+ {"atmega16hvb", AVR16K, AVR1K, AVR512},
+ {"atmega16m1", AVR16K, AVR1K, AVR512},
+ {"atmega16u2", AVR16K, AVR512, AVR512},
+ {"atmega16u4", AVR16K, 1280UL, AVR512},
+ {"attiny167", AVR16K, AVR512, AVR512},
+
+ {"at90c8534", AVR8K, 352UL, AVR512},
+ {"at90pwm1", AVR8K, AVR512, AVR512},
+ {"at90pwm2", AVR8K, AVR512, AVR512},
+ {"at90pwm2b", AVR8K, AVR512, AVR512},
+ {"at90pwm3", AVR8K, AVR512, AVR512},
+ {"at90pwm3b", AVR8K, AVR512, AVR512},
+ {"at90pwm81", AVR8K, AVR256, AVR512},
+ {"at90s8515", AVR8K, AVR512, AVR512},
+ {"at90s8535", AVR8K, AVR512, AVR512},
+ {"at90usb82", AVR8K, AVR512, AVR512},
+ {"ata6289", AVR8K, AVR512, 320UL},
+ {"atmega8", AVR8K, AVR1K, AVR512},
+ {"atmega8515", AVR8K, AVR512, AVR512},
+ {"atmega8535", AVR8K, AVR512, AVR512},
+ {"atmega88", AVR8K, AVR1K, AVR512},
+ {"atmega88a", AVR8K, AVR1K, AVR512},
+ {"atmega88p", AVR8K, AVR1K, AVR512},
+ {"atmega88pa", AVR8K, AVR1K, AVR512},
+ {"atmega8hva", AVR8K, 768UL, AVR256},
+ {"atmega8u2", AVR8K, AVR512, AVR512},
+ {"attiny84", AVR8K, AVR512, AVR512},
+ {"attiny84a", AVR8K, AVR512, AVR512},
+ {"attiny85", AVR8K, AVR512, AVR512},
+ {"attiny861", AVR8K, AVR512, AVR512},
+ {"attiny861a", AVR8K, AVR512, AVR512},
+ {"attiny87", AVR8K, AVR512, AVR512},
+ {"attiny88", AVR8K, AVR512, AVR64},
+
+ {"at90s4414", AVR4K, 352UL, AVR256},
+ {"at90s4433", AVR4K, AVR128, AVR256},
+ {"at90s4434", AVR4K, 352UL, AVR256},
+ {"atmega48", AVR4K, AVR512, AVR256},
+ {"atmega48a", AVR4K, AVR512, AVR256},
+ {"atmega48p", AVR4K, AVR512, AVR256},
+ {"attiny4313", AVR4K, AVR256, AVR256},
+ {"attiny43u", AVR4K, AVR256, AVR64},
+ {"attiny44", AVR4K, AVR256, AVR256},
+ {"attiny44a", AVR4K, AVR256, AVR256},
+ {"attiny45", AVR4K, AVR256, AVR256},
+ {"attiny461", AVR4K, AVR256, AVR256},
+ {"attiny461a", AVR4K, AVR256, AVR256},
+ {"attiny48", AVR4K, AVR256, AVR64},
+
+ {"at86rf401", AVR2K, 224UL, AVR128},
+ {"at90s2313", AVR2K, AVR128, AVR128},
+ {"at90s2323", AVR2K, AVR128, AVR128},
+ {"at90s2333", AVR2K, 224UL, AVR128},
+ {"at90s2343", AVR2K, AVR128, AVR128},
+ {"attiny20", AVR2K, AVR128, 0UL},
+ {"attiny22", AVR2K, 224UL, AVR128},
+ {"attiny2313", AVR2K, AVR128, AVR128},
+ {"attiny2313a", AVR2K, AVR128, AVR128},
+ {"attiny24", AVR2K, AVR128, AVR128},
+ {"attiny24a", AVR2K, AVR128, AVR128},
+ {"attiny25", AVR2K, AVR128, AVR128},
+ {"attiny26", AVR2K, AVR128, AVR128},
+ {"attiny261", AVR2K, AVR128, AVR128},
+ {"attiny261a", AVR2K, AVR128, AVR128},
+ {"attiny28", AVR2K, 0UL, 0UL},
+ {"attiny40", AVR2K, AVR256, 0UL},
+
+ {"at90s1200", AVR1K, 0UL, AVR64},
+ {"attiny9", AVR1K, 32UL, 0UL},
+ {"attiny10", AVR1K, 32UL, 0UL},
+ {"attiny11", AVR1K, 0UL, AVR64},
+ {"attiny12", AVR1K, 0UL, AVR64},
+ {"attiny13", AVR1K, AVR64, AVR64},
+ {"attiny13a", AVR1K, AVR64, AVR64},
+ {"attiny15", AVR1K, 0UL, AVR64},
+
+ {"attiny4", AVR512, 32UL, 0UL},
+ {"attiny5", AVR512, 32UL, 0UL},
+};
+
+static char *avrmcu = NULL;
+
+
static char *target = NULL;
/* Forward declarations. */
@@ -79,7 +337,8 @@ usage (FILE *stream, int status)
fprintf (stream, _(" Displays the sizes of sections inside binary files\n"));
fprintf (stream, _(" If no input file(s) are specified, a.out is assumed\n"));
fprintf (stream, _(" The options are:\n\
- -A|-B --format={sysv|berkeley} Select output style (default is %s)\n\
+ -A|-B|-C --format={sysv|berkeley|avr} Select output style (default is %s)\n\
+ --mcu=<avrmcu> MCU name for AVR format only\n\
-o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n\
-t --totals Display the total sizes (Berkeley only)\n\
--common Display total size for *COM* syms\n\
@@ -88,11 +337,7 @@ usage (FILE *stream, int status)
-h --help Display this information\n\
-v --version Display the program's version\n\
\n"),
-#if BSD_DEFAULT
- "berkeley"
-#else
- "sysv"
-#endif
+FORMAT_NAME
);
list_supported_targets (program_name, stream);
if (REPORT_BUGS_TO[0] && status == 0)
@@ -103,6 +359,7 @@ usage (FILE *stream, int status)
#define OPTION_FORMAT (200)
#define OPTION_RADIX (OPTION_FORMAT + 1)
#define OPTION_TARGET (OPTION_RADIX + 1)
+#define OPTION_MCU (OPTION_TARGET + 1)
static struct option long_options[] =
{
@@ -110,6 +368,7 @@ static struct option long_options[] =
{"format", required_argument, 0, OPTION_FORMAT},
{"radix", required_argument, 0, OPTION_RADIX},
{"target", required_argument, 0, OPTION_TARGET},
+ {"mcu", required_argument, 0, 203},
{"totals", no_argument, &show_totals, 1},
{"version", no_argument, &show_version, 1},
{"help", no_argument, &show_help, 1},
@@ -141,7 +399,7 @@ main (int argc, char **argv)
bfd_init ();
set_default_bfd_target ();
- while ((c = getopt_long (argc, argv, "ABHhVvdfotx", long_options,
+ while ((c = getopt_long (argc, argv, "ABCHhVvdfotx", long_options,
(int *) 0)) != EOF)
switch (c)
{
@@ -150,11 +409,15 @@ main (int argc, char **argv)
{
case 'B':
case 'b':
- berkeley_format = 1;
+ format = format_bsd;
break;
case 'S':
case 's':
- berkeley_format = 0;
+ format = format_sysv;
+ break;
+ case 'A':
+ case 'a':
+ format = format_avr;
break;
default:
non_fatal (_("invalid argument to --format: %s"), optarg);
@@ -162,6 +424,10 @@ main (int argc, char **argv)
}
break;
+ case OPTION_MCU:
+ avrmcu = optarg;
+ break;
+
case OPTION_TARGET:
target = optarg;
break;
@@ -190,11 +457,14 @@ main (int argc, char **argv)
break;
case 'A':
- berkeley_format = 0;
+ format = format_sysv;
break;
case 'B':
- berkeley_format = 1;
+ format = format_bsd;
break;
+ case 'C':
+ format = format_avr;
+ break;
case 'v':
case 'V':
show_version = 1;
@@ -240,7 +509,7 @@ main (int argc, char **argv)
for (; optind < argc;)
display_file (argv[optind++]);
- if (show_totals && berkeley_format)
+ if (show_totals && format == format_bsd)
{
bfd_size_type total = total_textsize + total_datasize + total_bsssize;
@@ -599,13 +869,117 @@ print_sysv_format (bfd *file)
printf ("\n\n");
}
+
+static avr_device_t *
+avr_find_device (void)
+{
+ unsigned int i;
+ if (avrmcu != NULL)
+ {
+ for (i = 0; i < sizeof(avr) / sizeof(avr[0]); i++)
+ {
+ if (strcmp(avr[i].name, avrmcu) == 0)
+ {
+ /* Match found */
+ return (&avr[i]);
+ }
+ }
+ }
+ return (NULL);
+}
+
+
+
+static void
+print_avr_format (bfd *file)
+{
+ char *avr_name = "Unknown";
+ int flashmax = 0;
+ int rammax = 0;
+ int eeprommax = 0;
+ asection *section;
+ bfd_size_type datasize = 0;
+ bfd_size_type textsize = 0;
+ bfd_size_type bsssize = 0;
+ bfd_size_type bootloadersize = 0;
+ bfd_size_type noinitsize = 0;
+ bfd_size_type eepromsize = 0;
+
+ avr_device_t *avrdevice = avr_find_device();
+ if (avrdevice != NULL)
+ {
+ avr_name = avrdevice->name;
+ flashmax = avrdevice->flash;
+ rammax = avrdevice->ram;
+ eeprommax = avrdevice->eeprom;
+ }
+
+ if ((section = bfd_get_section_by_name (file, ".data")) != NULL)
+ datasize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".text")) != NULL)
+ textsize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".bss")) != NULL)
+ bsssize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".bootloader")) != NULL)
+ bootloadersize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".noinit")) != NULL)
+ noinitsize = bfd_section_size (file, section);
+ if ((section = bfd_get_section_by_name (file, ".eeprom")) != NULL)
+ eepromsize = bfd_section_size (file, section);
+
+ bfd_size_type text = textsize + datasize + bootloadersize;
+ bfd_size_type data = datasize + bsssize + noinitsize;
+ bfd_size_type eeprom = eepromsize;
+
+ printf ("AVR Memory Usage\n"
+ "----------------\n"
+ "Device: %s\n\n", avr_name);
+
+ /* Text size */
+ printf ("Program:%8ld bytes", text);
+ if (flashmax > 0)
+ {
+ printf (" (%2.1f%% Full)", ((float)text / flashmax) * 100);
+ }
+ printf ("\n(.text + .data + .bootloader)\n\n");
+
+ /* Data size */
+ printf ("Data: %8ld bytes", data);
+ if (rammax > 0)
+ {
+ printf (" (%2.1f%% Full)", ((float)data / rammax) * 100);
+ }
+ printf ("\n(.data + .bss + .noinit)\n\n");
+
+ /* EEPROM size */
+ if (eeprom > 0)
+ {
+ printf ("EEPROM: %8ld bytes", eeprom);
+ if (eeprommax > 0)
+ {
+ printf (" (%2.1f%% Full)", ((float)eeprom / eeprommax) * 100);
+ }
+ printf ("\n(.eeprom)\n\n");
+ }
+}
+
+
static void
print_sizes (bfd *file)
{
if (show_common)
calculate_common_size (file);
- if (berkeley_format)
- print_berkeley_format (file);
- else
- print_sysv_format (file);
+ switch (format)
+ {
+ case format_sysv:
+ print_sysv_format (file);
+ break;
+ case format_bsd:
+ print_berkeley_format (file);
+ break;
+ case format_avr:
+ default:
+ print_avr_format (file);
+ break;
+ }
}
--
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 ed for openSUSE:Factory checked in at 2014-02-28 16:21:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ed (Old)
and /work/SRC/openSUSE:Factory/.ed.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ed"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ed/ed.changes 2013-07-16 16:34:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ed.new/ed.changes 2014-02-28 16:21:41.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Feb 21 08:47:45 UTC 2014 - mvyskocil(a)suse.com
+
+- update to 1.10
+ + "ed.texinfo" has been renamed to "ed.texi" following the advice
+ of recent Automake about obsolete categories
+- repackage tarball to xz as lzip is unlike ed not a part of bootstrap
+- drop xz and keyring, they are pointless with changed tarball
+
+-------------------------------------------------------------------
Old:
----
ed-1.9.tar.gz
ed-1.9.tar.gz.sig
ed.keyring
New:
----
ed-1.10.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ed.spec ++++++
--- /var/tmp/diff_new_pack.monom4/_old 2014-02-28 16:21:41.000000000 +0100
+++ /var/tmp/diff_new_pack.monom4/_new 2014-02-28 16:21:41.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ed
#
-# 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,17 +17,18 @@
Name: ed
-Version: 1.9
+Version: 1.10
Release: 0
Summary: GNU ed is a line-oriented text editor
License: GPL-3.0+ and LGPL-2.1+
Group: Productivity/Editors/Other
Url: http://www.gnu.org/software/ed/
-Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
-Source1: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz.sig
-Source2: ed.keyring
+#DL_URL: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.lz
+#mvyskocil: repackaged to xz in order to avoid adding lzip to bootstrap
+Source0: ed-1.10.tar.xz
Requires(pre): %install_info_prereq
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: xz
%description
GNU ed is a line-oriented text editor. It is used to create, display,
--
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 build for openSUSE:Factory checked in at 2014-02-28 16:21:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/build (Old)
and /work/SRC/openSUSE:Factory/.build.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "build"
Changes:
--------
--- /work/SRC/openSUSE:Factory/build/build.changes 2013-12-06 09:43:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.build.new/build.changes 2014-02-28 16:21:37.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Feb 20 18:41:16 UTC 2014 - adrian(a)suse.de
+
+- bugfix release
+ - /sys mounting
+ - binfmtmisc setup
+
+-------------------------------------------------------------------
Old:
----
obs-build-20131205.tar.gz
New:
----
obs-build-20140220.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ build.spec ++++++
--- /var/tmp/diff_new_pack.PeKScX/_old 2014-02-28 16:21:37.000000000 +0100
+++ /var/tmp/diff_new_pack.PeKScX/_new 2014-02-28 16:21:37.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package build
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
Summary: A Script to Build SUSE Linux RPMs
License: GPL-2.0+ and GPL-2.0
Group: Development/Tools/Building
-Version: 20131205
+Version: 20140220
Release: 0
#!BuildIgnore: build-mkbaselibs
Source: obs-build-%{version}.tar.gz
++++++ PKGBUILD ++++++
--- /var/tmp/diff_new_pack.PeKScX/_old 2014-02-28 16:21:37.000000000 +0100
+++ /var/tmp/diff_new_pack.PeKScX/_new 2014-02-28 16:21:37.000000000 +0100
@@ -1,5 +1,5 @@
pkgname=build
-pkgver=20131205
+pkgver=20140220
pkgrel=0
pkgdesc="Build packages in sandbox"
arch=('i686' 'x86_64')
@@ -8,7 +8,7 @@
groups=('base-devel')
depends=('perl')
source=(obs-build-${pkgver}.tar.gz)
-md5sums=('40a9449185072889b390f5fc15789c5f')
+md5sums=('2da128f38381b82851281ba6ad41aee4')
package() {
msg "Installing build ..."
++++++ build.dsc ++++++
--- /var/tmp/diff_new_pack.PeKScX/_old 2014-02-28 16:21:38.000000000 +0100
+++ /var/tmp/diff_new_pack.PeKScX/_new 2014-02-28 16:21:38.000000000 +0100
@@ -1,6 +1,6 @@
Format: 1.0
Source: build
-Version: 20131205
+Version: 20140220
Binary: build
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: all
++++++ obs-build-20131205.tar.gz -> obs-build-20140220.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/Build/Kiwi.pm new/obs-build-20140220/Build/Kiwi.pm
--- old/obs-build-20131205/Build/Kiwi.pm 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/Build/Kiwi.pm 2014-02-20 19:41:08.000000000 +0100
@@ -188,6 +188,7 @@
if ($instsource->{'productoptions'}) {
my $productoptions = $instsource->{'productoptions'}->[0] || {};
for my $po (@{$productoptions->{'productvar'} || []}) {
+ $ret->{'drop_repository'} = $po->{'_content'} if $po->{'name'} eq 'DROP_REPOSITORY';
$ret->{'version'} = $po->{'_content'} if $po->{'name'} eq 'VERSION';
}
for my $po (@{$productoptions->{'productoption'} || []}) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/Build.pm new/obs-build-20140220/Build.pm
--- old/obs-build-20131205/Build.pm 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/Build.pm 2014-02-20 19:41:08.000000000 +0100
@@ -204,6 +204,7 @@
$config->{'fileprovides'} = {};
$config->{'constraint'} = [];
$config->{'expandflags'} = [];
+ $config->{'buildflags'} = [];
for my $l (@spec) {
$l = $l->[1] if ref $l;
next unless defined $l;
@@ -220,7 +221,7 @@
}
next;
}
- if ($l0 eq 'preinstall:' || $l0 eq 'vminstall:' || $l0 eq 'required:' || $l0 eq 'support:' || $l0 eq 'keep:' || $l0 eq 'prefer:' || $l0 eq 'ignore:' || $l0 eq 'conflict:' || $l0 eq 'runscripts:' || $l0 eq 'expandflags:') {
+ if ($l0 eq 'preinstall:' || $l0 eq 'vminstall:' || $l0 eq 'required:' || $l0 eq 'support:' || $l0 eq 'keep:' || $l0 eq 'prefer:' || $l0 eq 'ignore:' || $l0 eq 'conflict:' || $l0 eq 'runscripts:' || $l0 eq 'expandflags:' || $l0 eq 'buildflags:') {
my $t = substr($l0, 0, -1);
for my $l (@l) {
if ($l eq '!*') {
@@ -351,6 +352,13 @@
$config->{"expandflags:$_"} = 1;
}
}
+ for (@{$config->{'buildflags'} || []}) {
+ if (/^([^:]+):(.*)$/s) {
+ $config->{"buildflags:$1"} = $2;
+ } else {
+ $config->{"buildflags:$_"} = 1;
+ }
+ }
return $config;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/Makefile new/obs-build-20140220/Makefile
--- old/obs-build-20131205/Makefile 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/Makefile 2014-02-20 19:41:08.000000000 +0100
@@ -39,10 +39,8 @@
extractbuild \
getbinaryid \
killchroot \
- getmacros \
+ queryconfig \
getoptflags \
- gettype \
- getchangetarget \
common_functions \
init_buildsystem \
initscript_qemu_vm \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/build new/obs-build-20140220/build
--- old/obs-build-20131205/build 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/build 2014-02-20 19:41:08.000000000 +0100
@@ -56,8 +56,8 @@
zvm_init_script="/.build/build"
kvm_bin=/usr/bin/qemu-kvm
-# whether we have virtio support
-kvm_virtio=
+# by default we have virtio support
+kvm_virtio=1
# guest visible console device name
console=ttyS0
@@ -90,7 +90,7 @@
VM_INITRD=
VMDISK_ROOTSIZE=4096
VMDISK_SWAPSIZE=1024
-VMDISK_FILESYSTEM=ext4
+VMDISK_FILESYSTEM=
# settings are for speed and not data safety, we format anyway on next run
VMDISK_MOUNT_OPTIONS=__default
VMDISK_CLEAN=
@@ -403,6 +403,8 @@
echo "Warning: VM doesn't support sysrq and /sbin/halt not installed"
fi
else
+ # halt from systemd is not syncing anymore.
+ sync
halt -f -p
fi
echo "Warning: clean shut down of the VM didn't work"
@@ -423,6 +425,7 @@
umount -n $BUILD_ROOT/proc 2>/dev/null || true
umount -n $BUILD_ROOT/dev/pts 2>/dev/null || true
umount -n $BUILD_ROOT/dev/shm 2>/dev/null || true
+ umount -n $BUILD_ROOT/sys 2>/dev/null || true
test "$VM_IMAGE" = 1 && VM_IMAGE=
[ -n "$VM_IMAGE" ] && umount $BUILD_ROOT 2>/dev/null || true
fi
@@ -746,6 +749,9 @@
detect_vm_2nd_stage()
{
+ if test -n "$BUILD_IGNORE_2ND_STAGE" ; then
+ return 1
+ fi
if test -e /.build/build.data; then
. /.build/build.data
fi
@@ -772,6 +778,10 @@
fi
RUNNING_IN_VM=true
test -e /proc/version || mount -orw -n -tproc none /proc
+ if ! test -e /sys/block; then
+ mkdir -p /sys
+ mount -orw -n -tsysfs sysfs /sys
+ fi
if test "$VM_TYPE" != 'lxc'; then
mount -n ${VMDISK_MOUNT_OPTIONS},remount,rw /
fi
@@ -1463,6 +1473,11 @@
check_for_ppc
check_for_arm
+if test -z "$VMDISK_FILESYSTEM" -a -n "$VM_TYPE"; then
+ VMDISK_FILESYSTEM=`queryconfig --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH" buildflags vmfstype`
+ test -z "$VMDISK_FILESYSTEM" && VMDISK_FILESYSTEM="ext4"
+fi
+
if test "$VM_TYPE" = "lxc"; then
VM_IMAGE=''
VM_SWAP=''
@@ -1722,10 +1737,8 @@
if [ -n "$VM_INITRD" ]; then
vm_initrd="$VM_INITRD"
- kvm_virtio=1
elif [ -e "${vm_initrd}-build" ]; then
vm_initrd="${vm_initrd}-build"
- kvm_virtio=1
else
if [ -L "$vm_initrd" ]; then
vm_initrd=`readlink -f "$vm_initrd"` || cleanup_and_exit 3
@@ -1742,15 +1755,14 @@
echo "No initrd that provides virtio support found. virtio accelleration disabled."
echo "Run the following command as root to enable virtio:"
shellquote "${mkinitrd_virtio_cmd[@]}"
+ kvm_virtio=
echo
elif /sbin/modinfo virtio_pci >/dev/null 2>&1; then
echo "creating $vm_initrd_virtio"
"${mkinitrd_virtio_cmd[@]}" || cleanup_and_exit 1
- kvm_virtio=1
vm_initrd="${vm_initrd_virtio}"
fi
else
- kvm_virtio=1
vm_initrd="${vm_initrd_virtio}"
fi
fi
@@ -2317,11 +2329,14 @@
qemu_args=("${qemu_args[@]}" "file=$VM_SWAP,if=virtio$CACHE")
fi
if [ "$HOST_ARCH" = "armv7l" ]; then
- qemu_args=(-drive file="$VM_IMAGE",if=none,id=disk$CACHE -device virtio-blk,transport=virtio-mmio.0,drive=disk)
+ qemu_args=( "-drive")
+ qemu_args=("${qemu_args[@]}" "file="$VM_IMAGE",if=none,id=disk$CACHE")
qemu_args=("${qemu_args[@]}" "-drive")
qemu_args=("${qemu_args[@]}" "file=$VM_SWAP,if=none,id=swap$CACHE")
qemu_args=("${qemu_args[@]}" "-device")
- qemu_args=("${qemu_args[@]}" "virtio-blk,transport=virtio-mmio.1,drive=swap")
+ qemu_args=("${qemu_args[@]}" "virtio-blk-device,drive=swap")
+ qemu_args=("${qemu_args[@]}" "-device")
+ qemu_args=("${qemu_args[@]}" "virtio-blk-device,drive=disk")
fi
else
if [ "$HOST_ARCH" = "ppc970" -o "$HOST_ARCH" = "power7le" ];then
@@ -2566,6 +2581,7 @@
if test "$statistics" = 1; then
mkdir -p OTHER
[ -e _statistics ] && mv _statistics OTHER/
+ [ -e KIWI/_statistics ] && mv KIWI/_statistics OTHER/
[ -n "$TIME_PREINSTALL" ] && echo "TIME_preinstall: $TIME_PREINSTALL" >> OTHER/_statistics
TIME_TOTAL=$(( `date +%s` - $TIME_START_TIME ))
echo "TIME_total: $TIME_TOTAL" >> OTHER/_statistics
@@ -2749,10 +2765,10 @@
fi
fi
if test -f $BUILD_ROOT/etc/shadow ; then
- sed -e "s@^root::@root:*:@" < $BUILD_ROOT/etc/shadow > $BUILD_ROOT/etc/shadow.t && mv $BUILD_ROOT/etc/shadow.t $BUILD_ROOT/etc/shadow
+ sed -i -e "s@^root::@root:*:@" $BUILD_ROOT/etc/shadow
fi
if test -f $BUILD_ROOT/etc/gshadow ; then
- sed -e "s@^root::@root:*:@" < $BUILD_ROOT/etc/gshadow > $BUILD_ROOT/etc/gshadow.t && mv $BUILD_ROOT/etc/gshadow.t $BUILD_ROOT/etc/gshadow
+ sed -i -e "s@^root::@root:*:@" $BUILD_ROOT/etc/gshadow
fi
BUILD_USER_ABUILD_USED=true
else
@@ -2761,17 +2777,13 @@
ABUILD_GID=0
if egrep '^abuild:' >/dev/null <$BUILD_ROOT/etc/passwd ; then
rm -rf "$BUILD_ROOT/home/abuild"
- egrep -v '^abuild:' <$BUILD_ROOT/etc/passwd >$BUILD_ROOT/etc/passwd.new
- mv $BUILD_ROOT/etc/passwd.new $BUILD_ROOT/etc/passwd
- egrep -v '^abuild:' <$BUILD_ROOT/etc/group >$BUILD_ROOT/etc/group.new
- mv $BUILD_ROOT/etc/group.new $BUILD_ROOT/etc/group
+ sed -i -e '/^abuild:/d' $BUILD_ROOT/etc/passwd
+ sed -i -e '/^abuild:/d' $BUILD_ROOT/etc/group
if test -f $BUILD_ROOT/etc/shadow ; then
- egrep -v '^abuild:' <$BUILD_ROOT/etc/shadow >$BUILD_ROOT/etc/shadow.new
- mv $BUILD_ROOT/etc/shadow.new $BUILD_ROOT/etc/shadow
+ sed -i -e '/^abuild:/d' $BUILD_ROOT/etc/shadow
fi
if test -f $BUILD_ROOT/etc/gshadow ; then
- egrep -v '^abuild:' <$BUILD_ROOT/etc/gshadow >$BUILD_ROOT/etc/gshadow.new
- mv $BUILD_ROOT/etc/gshadow.new $BUILD_ROOT/etc/gshadow
+ sed -i -e '/^abuild:/d' $BUILD_ROOT/etc/gshadow
fi
fi
fi
@@ -2853,7 +2865,7 @@
fi
substitutedeps "${args[@]}" --root "$BUILD_ROOT" --dist "$BUILD_DIST" --archpath "$BUILD_ARCH" --configdir "$CONFIG_DIR" $CHANGELOGARGS "$BUILD_ROOT$TOPDIR/SOURCES/$SPECFILE" "$BUILD_ROOT/.spec.new" || cleanup_and_exit 1
# extract macros from configuration
- getmacros --dist "$BUILD_DIST" --archpath "$BUILD_ARCH" --configdir "$CONFIG_DIR" > $BUILD_ROOT/root/.rpmmacros
+ queryconfig rawmacros --dist "$BUILD_DIST" --archpath "$BUILD_ARCH" --configdir "$CONFIG_DIR" > $BUILD_ROOT/root/.rpmmacros
if test -n "$BUILD_DEBUG" ; then
echo '
%prep %{?!__debug_package:%{?_build_create_debug:%?_build_insert_debug_package}}%%prep
@@ -2877,7 +2889,7 @@
getoptflags --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH" ${BUILD_DEBUG:+--debug} > $BUILD_ROOT/root/.rpmrc
test $BUILD_USER = abuild && cp -p $BUILD_ROOT/root/.rpmrc $BUILD_ROOT/home/abuild/.rpmrc
if test -z "$ABUILD_TARGET"; then
- ABUILD_TARGET=$(getchangetarget --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH" )
+ ABUILD_TARGET=$(queryconfig target --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH" )
test -z "$ABUILD_TARGET" || echo "build target is $ABUILD_TARGET"
fi
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/build_kiwi.sh new/obs-build-20140220/build_kiwi.sh
--- old/obs-build-20131205/build_kiwi.sh 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/build_kiwi.sh 2014-02-20 19:41:08.000000000 +0100
@@ -4,6 +4,7 @@
imagetype=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE imagetype)
imagename=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE filename)
imageversion=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE version)
+ drop_repo=$(perl -I$BUILD_DIR -MBuild::Kiwi -e Build::Kiwi::show $BUILD_ROOT/$TOPDIR/SOURCES/$SPECFILE Ddrop_repository)
# prepare rpms as source and createrepo on the repositories
ln -sf $TOPDIR/SOURCES/repos $BUILD_ROOT/repos
cd $BUILD_ROOT/$TOPDIR/SOURCES/repos
@@ -102,7 +103,7 @@
*.packages) mv $i $BUILD_ROOT/$TOPDIR/OTHER/. ;;
scripts) ;;
*0) ;;
- *) test -d $i && mv $i $BUILD_ROOT/$TOPDIR/KIWI/. ;;
+ *) test -d $i && [ "$drop_repo" != "true" ] && mv $i $BUILD_ROOT/$TOPDIR/KIWI/. ;;
esac
done
else
@@ -127,7 +128,7 @@
# create tar.gz of images, in case it makes sense
imagearch=`uname -m`
buildnum=""
- if test -n "$RELEASE"; then
+ if test -n "$RELEASE"; then
buildnum="-Build$RELEASE"
fi
imageout="$imagename.$imagearch-$imageversion"
@@ -215,24 +216,34 @@
cat > $BUILD_ROOT/kiwi_post.sh << EOF
echo "compressing vmx images... "
cd /$TOPDIR/KIWI-vmx
-for suffix in "ovf" "qcow2" "ova" "tar"; do
+compress_tool="bzip2"
+compress_suffix="bz2"
+if [ -x /usr/bin/xz ]; then
+ # take xz to get support for sparse files
+ compress_tool="xz -2"
+ compress_suffix="xz"
+fi
+VMXFILES=""
+SHAFILES=""
+for suffix in "ovf" "qcow2" "ova" "tar" "vhdfixed" "vhd"; do
if [ -e "$imageout.\$suffix" ]; then
- if [ "\$suffix" == "ovf" ]; then
+ if [ "\$suffix" == "vhd" -o "\$suffix" == "vhdfixed" ]; then
+ mv "$imageout.\$suffix" "/$TOPDIR/KIWI/$imageout$buildnum.\$suffix"
+ pushd /$TOPDIR/KIWI
+ echo "\$compress_tool \$suffix file..."
+ \$compress_tool "$imageout$buildnum.\$suffix"
+ SHAFILES="\$SHAFILES $imageout$buildnum.\$suffix.\${compress_suffix}"
+ popd
+ elif [ "\$suffix" == "ovf" ]; then
mv "$imageout.\${suffix}/$imageout.\$suffix" "/$TOPDIR/KIWI/$imageout$buildnum.\$suffix"
+ SHAFILES="\$SHAFILES $imageout$buildnum.\$suffix"
else
mv "$imageout.\$suffix" "/$TOPDIR/KIWI/$imageout$buildnum.\$suffix"
+ SHAFILES="\$SHAFILES $imageout$buildnum.\$suffix"
fi
- pushd /$TOPDIR/KIWI
- if [ -x /usr/bin/sha256sum ]; then
- echo "Create sha256 \$suffix file..."
- /usr/bin/sha256sum "$imageout$buildnum.\$suffix" > "$imageout$buildnum.\$suffix.sha256"
- fi
- popd
fi
done
# This option has a number of format parameters
-VMXFILES=""
-SHAFILES=""
for i in "$imageout.vmx" "$imageout.vmdk" "$imageout-disk*.vmdk"; do
test -e \$i && VMXFILES="\$VMXFILES \$i"
done
@@ -240,14 +251,7 @@
if [ -n "\$VMXFILES" ]; then
tar cvjfS "/$TOPDIR/KIWI/$imageout$buildnum-vmx.tar.bz2" \$VMXFILES
SHAFILES="\$SHAFILES $imageout$buildnum-vmx.tar.bz2"
-elif [ -e "$imageout.raw" ]; then
- compress_tool="bzip2"
- compress_suffix="bz2"
- if [ -x /usr/bin/xz ]; then
- # take xz to get support for sparse files
- compress_tool="xz -2"
- compress_suffix="xz"
- fi
+elif [ -z "\$SHAFILES" -a -e "$imageout.raw" ]; then
mv "$imageout.raw" "/$TOPDIR/KIWI/$imageout$buildnum-vmx.raw"
pushd /$TOPDIR/KIWI
echo "\$compress_tool raw file..."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/getchangetarget new/obs-build-20140220/getchangetarget
--- old/obs-build-20131205/getchangetarget 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/getchangetarget 1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-#!/usr/bin/perl -w
-
-BEGIN {
- unshift @INC, ($::ENV{'BUILD_DIR'} || '/usr/lib/build');
-}
-
-use strict;
-
-use Build;
-
-my ($dist, $archs, $configdir);
-
-while (@ARGV) {
- if ($ARGV[0] eq '--dist') {
- shift @ARGV;
- $dist = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--archpath') {
- shift @ARGV;
- $archs = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--configdir') {
- shift @ARGV;
- $configdir = shift @ARGV;
- next;
- }
- last;
-}
-
-die("Usage: getchangetarget --dist <dist> --archpath <archpath> [--configdir <configdir>]\n") if @ARGV;
-
-my $cf = Build::read_config_dist($dist, $archs, $configdir);
-print "$cf->{'target'}\n" if $cf->{'target'};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/getmacros new/obs-build-20140220/getmacros
--- old/obs-build-20131205/getmacros 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/getmacros 1970-01-01 01:00:00.000000000 +0100
@@ -1,33 +0,0 @@
-#!/usr/bin/perl -w
-
-BEGIN {
- unshift @INC, ($::ENV{'BUILD_DIR'} || '/usr/lib/build');
-}
-
-use Build;
-use strict;
-
-my ($dist, $configdir, $archs);
-
-while (@ARGV) {
- if ($ARGV[0] eq '--dist') {
- shift @ARGV;
- $dist = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--archpath') {
- shift @ARGV;
- $archs = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--configdir') {
- shift @ARGV;
- $configdir = shift @ARGV;
- next;
- }
- last;
-}
-die("Usage: getmacros --dist <dist> [--configdir <configdir>]\n") if @ARGV;
-my $cf = Build::read_config_dist($dist, $archs, $configdir);
-print $cf->{'rawmacros'} if exists $cf->{'rawmacros'};
-exit(0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/gettype new/obs-build-20140220/gettype
--- old/obs-build-20131205/gettype 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/gettype 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-#!/usr/bin/perl -w
-
-BEGIN {
- unshift @INC, ($::ENV{'BUILD_DIR'} || '/usr/lib/build');
-}
-
-use strict;
-
-use Build;
-
-my ($dist, $archs, $configdir, $debug);
-
-while (@ARGV) {
- if ($ARGV[0] eq '--dist') {
- shift @ARGV;
- $dist = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--archpath') {
- shift @ARGV;
- $archs = shift @ARGV;
- next;
- }
- if ($ARGV[0] eq '--configdir') {
- shift @ARGV;
- $configdir = shift @ARGV;
- next;
- }
- last;
-}
-
-die("Usage: gettype --dist <dist> --archpath <archpath> [--configdir <configdir>]\n") if @ARGV;
-
-my $cf = Build::read_config_dist($dist, $archs, $configdir);
-exit 0 unless $cf->{'binarytype'};
-print "$cf->{'binarytype'}\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/init_buildsystem new/obs-build-20140220/init_buildsystem
--- old/obs-build-20131205/init_buildsystem 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/init_buildsystem 2014-02-20 19:41:08.000000000 +0100
@@ -122,11 +122,12 @@
umount -n "$BUILD_ROOT/mnt" 2> /dev/null || true
rm -rf -- "$BUILD_ROOT"/*
rm -rf -- "$BUILD_ROOT/.build"
- rm -rf -- "$BUILD_ROOT/.build.kernel.*"
+ rm -rf -- "$BUILD_ROOT"/.build.kernel.*
+ rm -rf -- "$BUILD_ROOT"/.build.initrd.*
rm -rf -- "$BUILD_ROOT/.root"
rm -rf -- "$BUILD_ROOT/.init_b_cache"
- rm -rf -- "$BUILD_ROOT/.preinstall_image/*"
- rm -rf -- "$BUILD_ROOT/.preinstallimage"*
+ rm -rf -- "$BUILD_ROOT"/.preinstall_image/*
+ rm -rf -- "$BUILD_ROOT"/.preinstallimage*
mkdir -p "$BUILD_ROOT/proc"
mkdir -p "$BUILD_ROOT/dev/pts"
if [ "$UID" = '0' ]; then
@@ -607,9 +608,10 @@
if [ -x "$BUILD_DIR/initvm.`uname -m`" -a -e "$BUILD_DIR/qemu-reg" ]; then
$BUILD_DIR/initvm.`uname -m`
- else
- echo "Warning: could not register binfmt handlers. Neither build-initvm nor /usr/sbin/qemu-binfmt-conf.sh exist"
- fi
+ else
+ echo "Warning: could not register binfmt handlers. "
+ echo "Either build-initvm or $BUILD_DIR/qemu-reg missing."
+ fi
echo 0 > /proc/sys/vm/mmap_min_addr
read mmap_min_addr < /proc/sys/vm/mmap_min_addr
@@ -737,7 +739,7 @@
echo "$GUESSED_DIST" > $BUILD_ROOT/.guessed_dist
test -n "$BUILD_DIST" || BUILD_DIST="$GUESSED_DIST"
- PSUF=`gettype --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH"`
+ PSUF=`queryconfig binarytype --dist "$BUILD_DIST" --configdir "$CONFIG_DIR" --archpath "$BUILD_ARCH"`
case "$PSUF" in
UNKNOWN|'')
# auto detect from packages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/initvm.c new/obs-build-20140220/initvm.c
--- old/obs-build-20131205/initvm.c 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/initvm.c 2014-02-20 19:41:08.000000000 +0100
@@ -20,6 +20,7 @@
*
* AUTHOR
* James Perkins <james.perkins(a)linuxfoundation.org>
+ * Adrian Schroeter <adrian(a)suse.de>
*/
#include <sys/mount.h>
@@ -177,7 +178,7 @@
if (buf[0] != ':') /* non-data input line */
{
- goto skip;
+ continue;
}
/* copy buf and tokenize :-seperated fields into f[] */
@@ -200,22 +201,41 @@
{
fprintf(stderr, "%s: line %d: extra fields, ignoring."
" Content: %s", datafile, line, buf);
- goto skip;
+ continue;
}
if (n < n_fields)
{
fprintf(stderr, "%s: line %d: missing fields, ignoring."
" Content: %s", datafile, line, buf);
- goto skip;
+ continue;
}
+ int ret;
+ /* Is an interpreter for this arch already registered? */
+ snprintf(path, sizeof(path), SYSFS_BINFMT_MISC "/%s", f[name]);
+ ret=access(path, X_OK);
+ fprintf(stderr,
+ "interpreter for '%s' is %d\n",
+ f[name], ret);
+ if (ret == 0) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "interpreter for '%s' already registered, ignoring\n",
+ f[name]);
+#endif /* DEBUG */
+ continue;
+ }
- if (access(f[interpreter], X_OK) != 0) {
+ /* Does the interpreter exists? */
+ ret=access(f[interpreter], X_OK);
+ if (ret != 0) {
+#ifdef DEBUG
fprintf(stderr,
"%s: line %d: interpreter '%s' not found,"
- " ignoring\n", datafile, line, f[interpreter]);
- goto skip;
+ " ignoring, return %d\n", datafile, line, f[interpreter], ret);
+#endif /* DEBUG */
+ continue;
}
if (!write_file_string(regfile, buf)) {
@@ -238,9 +258,6 @@
DBG(fprintf(stderr, "dumping: %s\n", path));
DBG(dump_file(path));
-
-skip:
- ;
}
@@ -327,7 +344,7 @@
exit(1);
}
execve(BUILD, args, env);
- perror("execve");
+ perror("execve of "BUILD);
exit(1);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/qemu-reg new/obs-build-20140220/qemu-reg
--- old/obs-build-20131205/qemu-reg 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/qemu-reg 2014-02-20 19:41:08.000000000 +0100
@@ -4,10 +4,11 @@
# NOTE: this requires a qemu with the binfmt misc handler binary
-:aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-arm64-binfmt:P
+:aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-binfmt:P
+:aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-arm64-binfmt:P
:arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-binfmt:P
:armeb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-armeb-binfmt:P
-:ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc-binfmt:P
+:ppc:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x14:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-ppc-binfmt:P
:mips:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips-binfmt:P
:mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel-binfmt:P
#:mipsn32:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mipsn32-binfmt:P
@@ -15,6 +16,6 @@
#:mips64:M::\x7fELF\x02\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-mips64-binfmt:P
#:mips64el:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mips64el-binfmt:P
-:sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4-binfmt:P
-:sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb-binfmt:P
+:sh4:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-sh4-binfmt:P
+:sh4eb:M::\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x2a:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-sh4eb-binfmt:P
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/queryconfig new/obs-build-20140220/queryconfig
--- old/obs-build-20131205/queryconfig 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-build-20140220/queryconfig 2014-02-20 19:41:08.000000000 +0100
@@ -0,0 +1,49 @@
+#!/usr/bin/perl -w
+
+BEGIN {
+ unshift @INC, ($::ENV{'BUILD_DIR'} || '/usr/lib/build');
+}
+
+use strict;
+
+use Build;
+
+my ($dist, $archs, $configdir, $debug, $type, $argument);
+
+while (@ARGV) {
+ if ($ARGV[0] eq '--dist') {
+ shift @ARGV;
+ $dist = shift @ARGV;
+ next;
+ } elsif ($ARGV[0] eq '--archpath') {
+ shift @ARGV;
+ $archs = shift @ARGV;
+ next;
+ } elsif ($ARGV[0] eq '--configdir') {
+ shift @ARGV;
+ $configdir = shift @ARGV;
+ next;
+ } elsif (defined($type)) {
+ $argument = shift @ARGV;
+ } else {
+ $type = shift @ARGV;
+ }
+}
+
+my $cf = Build::read_config_dist($dist, $archs, $configdir);
+die("Unable to read config\n") unless $cf;
+
+if ($type eq 'buildflags') {
+ die("Specify which buildflag to query\n") unless $argument;
+
+ my $result = $cf->{"buildflags:$argument"};
+ print "$result\n" if defined $result;
+} elsif ($type eq 'target' || $type eq 'binarytype' || $type eq 'rawmacros') {
+ my $cf = Build::read_config_dist($dist, $archs, $configdir);
+ print "$cf->{$type}\n" if $cf->{$type};
+} else {
+ die("unsupported query type: $type\n");
+}
+
+exit(0);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/test/common new/obs-build-20140220/test/common
--- old/obs-build-20131205/test/common 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/test/common 2014-02-20 19:41:08.000000000 +0100
@@ -22,6 +22,8 @@
. ${0%/*}/config.local
fi
+: ${BUILD_DIR:=/usr/lib/build}
+
#if [ ! -e "$build_vm_img" ]; then
# sudo dd if=/dev/zero of="$build_vm_img" bs=512 count=0 seek=$((build_vm_image_size*2*1024))
#fi
@@ -89,8 +91,10 @@
build_args+=("$i")
fi
done
- set -- $linux32 sudo env \
- /usr/bin/build \
+ SU_WRAPPER=""
+ [ -x /usr/bin/sudo ] && SU_WRAPPER="sudo env"
+ set -- $linux32 $SU_WRAPPER \
+ $BUILD_DIR/build \
--root "${build_root}" \
"${repos[@]}" \
"${build_args[@]}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/test/testbuild.sh new/obs-build-20140220/test/testbuild.sh
--- old/obs-build-20131205/test/testbuild.sh 1970-01-01 01:00:00.000000000 +0100
+++ new/obs-build-20140220/test/testbuild.sh 2014-02-20 19:41:08.000000000 +0100
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# This is the generic test case for the current distribution, it
+# is to be called from the spec file while building a build.rpm
+
+. ${0%/*}/common
+REPO="$1"
+shift
+
+if [ -z "$REPO" ]; then
+ echo "No local path to binary packages is given as argument"
+ exit 1
+fi
+
+[ "$ARCH" == "i386" ] && arch32bit
+
+repo "$REPO"
+
+run_build "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-build-20131205/vc new/obs-build-20140220/vc
--- old/obs-build-20131205/vc 2013-12-05 14:26:28.000000000 +0100
+++ new/obs-build-20140220/vc 2014-02-20 19:41:08.000000000 +0100
@@ -125,7 +125,7 @@
echo
fi
if [ -n "$message" ]; then
- echo "- $message"
+ echo -e "- $message"
echo
elif [ -n "$content" ]; then
cat "$content"
@@ -133,24 +133,6 @@
elif [ ! $just_edit ]; then
echo "- "
echo
- if [ -d .osc -a -n "$(which osc 2>/dev/null)" ]; then
- OSC_STATUS="$(cd "$pkgpath" &> /dev/null; osc st)"
- ADDED="$(sed -n 's/^A[[:blank:]]\+\([^[:blank:]].*\.\(patch\|diff\)\)$/ * \1/p' <<< "$OSC_STATUS")"
- DELETED="$(sed -n 's/^D[[:blank:]]\+\([^[:blank:]].*\.\(patch\|diff\)\)$/ * \1/p' <<< "$OSC_STATUS")"
- MODIFIED="$(sed -n 's/^M[[:blank:]]\+\([^[:blank:]].*\.\(patch\|diff\)\)$/ * \1/p' <<< "$OSC_STATUS")"
- if [ -n "$ADDED" ]; then
- echo "- added patches:"
- echo "$ADDED"
- fi
- if [ -n "$DELETED" ]; then
- echo "- removed patches:"
- echo "$DELETED"
- fi
- if [ -n "$MODIFIED" ]; then
- echo "- modified patches:"
- echo "$MODIFIED"
- fi
- fi
fi
cat $changelog
} >> "$tmpfile"
--
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 post-build-checks for openSUSE:Factory checked in at 2014-02-28 16:21:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/post-build-checks (Old)
and /work/SRC/openSUSE:Factory/.post-build-checks.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "post-build-checks"
Changes:
--------
--- /work/SRC/openSUSE:Factory/post-build-checks/post-build-checks.changes 2014-02-05 16:29:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.post-build-checks.new/post-build-checks.changes 2014-02-28 16:21:28.000000000 +0100
@@ -1,0 +2,5 @@
+Thu Feb 20 16:29:33 CET 2014 - ro(a)suse.de
+
+- test for existence before trying to modify /etc/sysconfig/clock
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ post-build-checks.spec ++++++
--- /var/tmp/diff_new_pack.urlAc5/_old 2014-02-28 16:21:29.000000000 +0100
+++ /var/tmp/diff_new_pack.urlAc5/_new 2014-02-28 16:21:29.000000000 +0100
@@ -87,7 +87,9 @@
exit 0
fi
sed -i -e "s@^PERMISSION_SECURITY=.*@PERMISSION_SECURITY=\"secure\"@" /etc/sysconfig/security
+if [ -f /etc/sysconfig/clock ] ; then
sed -i -e "s@^TIMEZONE=.*@TIMEZONE=\"UTC\"@" /etc/sysconfig/clock
+fi
UNAME=/bin/uname
if test -f /usr/bin/uname ; then
UNAME=/usr/bin/uname
--
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 boinc-client.2591 for openSUSE:12.3:Update checked in at 2014-02-28 12:00:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3:Update/boinc-client.2591 (Old)
and /work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boinc-client.2591"
Changes:
--------
New Changes file:
--- /dev/null 2014-02-13 01:09:38.344032506 +0100
+++ /work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new/boinc-client.changes 2014-02-28 12:00:01.000000000 +0100
@@ -0,0 +1,294 @@
+-------------------------------------------------------------------
+Thu Feb 20 13:26:49 CET 2014 - pth(a)suse.de
+
+- Add libX11 and libgtk-x11-2.0 to the libraries boincmgr is
+ linked to: boinc-add_libs_for_boincmgr.patch
+- Remove INSTALL from package documentation.
+
+-------------------------------------------------------------------
+Tue Jul 10 13:50:30 UTC 2012 - chris(a)computersalat.de
+
+- rename patch
+ * fix-automake-conditional to boinc-client-AM_CONDITIONAL patch
+- fix build for SLE_11
+ * AM_CONDITIONAL patch >= 12.2
+
+-------------------------------------------------------------------
+Tue Jul 10 12:24:13 UTC 2012 - coolo(a)suse.com
+
+- fix compilation for factory and 12.2
+
+-------------------------------------------------------------------
+Sun Jul 1 19:51:54 UTC 2012 - chris(a)computersalat.de
+
+- add BOINC_DIR to sysconfig
+ * make BOINC_DIR configurable (a proposal of Carsten Neumann)
+
+-------------------------------------------------------------------
+Sat Feb 11 00:56:07 UTC 2012 - chris(a)computersalat.de
+
+- add glib_h patch
+
+-------------------------------------------------------------------
+Fri Feb 10 23:40:19 UTC 2012 - chris(a)computersalat.de
+
+- update tp 6.12.43
+ * sorry but there is no ChangeLog :(
+- rework patches
+- remove obsolete patches
+ * boinc-server.patch
+ * boinc-client-str_util.patch
+- add boinc-client-lang subpkg
+- fix DSOLinkChange for suse >= 1210
+ * see https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
+ for more info, special thanks to Stefan Dirsch :)
+
+-------------------------------------------------------------------
+Fri Feb 10 23:07:01 UTC 2012 - chris(a)computersalat.de
+
+- fix sed for boinc-manager
+
+-------------------------------------------------------------------
+Wed Feb 8 22:51:55 UTC 2012 - chris(a)computersalat.de
+
+- fix for bnc#745887 ( Confirm licensing of boinc-client 6.10.60 )
+- fix for bnc#744612 ( File /usr/bin/boinc_gui incorrectly named )
+- fix for bnc#744389 ( boinc-client will not run )
+- fix for bnc#732118 ( BOINC installs but will not run )
+
+-------------------------------------------------------------------
+Mon Feb 6 15:05:05 UTC 2012 - chris(a)computersalat.de
+
+- fix License (http://www.spdx.org/licenses/)
+ * LGPL-3.0
+
+-------------------------------------------------------------------
+Sun Feb 5 23:11:38 UTC 2012 - chris(a)computersalat.de
+
+- remove client dep of manager
+ * manager does not really need a local boinc-client ;)
+- fix desktop file
+
+-------------------------------------------------------------------
+Sat Feb 4 00:37:37 UTC 2012 - chris(a)computersalat.de
+
+- fix deps for boinc-client
+ * Requires libboinc6
+
+-------------------------------------------------------------------
+Thu Feb 2 20:32:57 UTC 2012 - chris(a)computersalat.de
+
+- rework patches
+- rework sysconfig file
+- rework logrotate file
+- add SuSElike init script
+- fix user add
+ * boinc needs a shell
+- fix wrapper
+ * replace boincmanager with boinc-manager and add symlink for
+ backward compatibility
+ * fix boinc_gui -> boinc-gui
+- fix License
+ * LGPLv3
+- fix for bnc#689499
+ * a blocked boinc client, the manager works
+
+-------------------------------------------------------------------
+Fri Sep 30 20:07:45 UTC 2011 - coolo(a)suse.com
+
+- add libtool as buildrequire to make the spec file more reliable
+
+-------------------------------------------------------------------
+Tue Aug 30 18:18:14 UTC 2011 - Sascha.Manns(a)open-slx.de
+
+- fixed Bug bnc#714623 (/var/lock/subsys unsupported)
+
+-------------------------------------------------------------------
+Mon May 16 18:49:58 CEST 2011 - pth(a)suse.de
+
+- Avoid buffer overflow in filesys.cpp(dir_size).
+
+-------------------------------------------------------------------
+Sun May 1 23:27:45 UTC 2011 - chris(a)computersalat.de
+
+- update to 6.10.60
+ * Fix: Project list issue in the attach wizard that lead to a crash
+- fix deps
+ o wxGTK-devel
+- enable parallel build
+
+-------------------------------------------------------------------
+Fri Apr 29 06:11:10 UTC 2011 - saigkill(a)opensuse.org
+
+- filed shared-lib-calls-exit in boinc as
+ http://boinc.berkeley.edu/trac/ticket/1098
+- filed binary-or-shlib-calls-gethostbyname as
+ http://boinc.berkeley.edu/trac/ticket/1099
+
+-------------------------------------------------------------------
+Thu Apr 28 13:28:25 UTC 2011 - saigkill(a)opensuse.org
+
+- Rewritten the Spec based on Malcolm Lewis Improvements (THX)
+
+-------------------------------------------------------------------
+Wed Apr 27 17:37:08 UTC 2011 - saigkill(a)opensuse.org
+
+- Removed boinc-bnc_465676.patch (Fixed Upstream)
+- Removed boinc-bnc_465676.patch (Fixed Upstream)
+- Removed boinc-client-NotebookWxPanel.patch (Fixed Upstream)
+- Removed boinc-client-wxWindowListNode.patch (Fixed Upstream)
+
+-------------------------------------------------------------------
+Tue Dec 28 18:21:51 CET 2010 - sbrabec(a)suse.cz
+
+- Compile with wxWidgets (STL variant).
+
+-------------------------------------------------------------------
+Tue Oct 5 04:24:40 UTC 2010 - malcolmlewis(a)opensuse.org
+
+- Fix boinc-manager-lang requires
+
+-------------------------------------------------------------------
+Tue Oct 5 03:41:39 UTC 2010 - malcolmlewis(a)opensuse.org
+
+- Major spec file makeover
+- Updated version
+- Cleaned up patches
+- Fixed most deprecated conversion from string constant to 'char*'
+
+-------------------------------------------------------------------
+Mon Mar 15 16:06:23 UTC 2010 - coolo(a)novell.com
+
+- disable use of %jobs
+
+-------------------------------------------------------------------
+Sun May 31 23:27:04 CEST 2009 - saigkill(a)opensuse.org
+
+- fixed str_util.h while using newer gcc (THX to Jan)
+
+-------------------------------------------------------------------
+Fri May 22 14:06:32 CEST 2009 - saigkill(a)opensuse.org
+
+- fixed Errors while using newer wx Version
+
+-------------------------------------------------------------------
+Fri Mar 27 11:57:43 CET 2009 - saigkill(a)opensuse.org
+
+- removed boinctray depency
+
+-------------------------------------------------------------------
+Sat Mar 14 18:41:07 CET 2009 - saigkill(a)opensuse.org
+
+- added rpmlintrc
+
+-------------------------------------------------------------------
+Wed Feb 25 15:06:27 CET 2009 - pth(a)suse.de
+
+- Use wxWindowList::compatibility_iterator instead of wxWindowListNode*
+ as the latter is not defined when wxWindows is compiled to use
+ the STL.
+- Include standard compiler flags.
+- Reformat description
+- Correct spelling boinc-client-README.SuSE
+
+------------------------------------------------------------------
+Thu Feb 12 11:10:00 CET 2009 - saigkill(a)opensuse.org
+
+- added wxstring_conversion.patch (fix Bug #774 Berkeley Bug)
++++ 97 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:12.3:Update/.boinc-client.2591.new/boinc-client.changes
New:
----
README.SUSE
boinc-LC_MESSAGES.patch
boinc-add_libs_for_boincmgr.patch
boinc-client-AM_CONDITIONAL.patch
boinc-client-dynamic_buffers.patch
boinc-client-glib_h.patch
boinc-client-rpmlintrc
boinc-client.changes
boinc-client.init
boinc-client.spec
boinc-completion.patch
boinc-docbook2x.patch
boinc-gui.desktop
boinc-guirpcauth.patch
boinc-icons.tar.bz2
boinc-init.patch
boinc-logrotate
boinc-manager
boinc_core_release_6_12_43.tar.bz2
generate-tarball.sh
sysconfig.boinc-client
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ boinc-client.spec ++++++
#
# spec file for package boinc-client
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 by Sascha Manns <saigkill(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# Global definitions
%define _use_internal_dependency_generator 0
%if 0%{?suse_version} >= 1140
%define __find_requires %wx_requires
%endif
%define version_ 6_12_43
%define soname 6
%define boinc_dir %{_localstatedir}/lib/boinc
Name: boinc-client
Version: 6.12.43
Release: 0
Summary: The BOINC client core
License: LGPL-3.0
Group: Productivity/Clustering/Computing
Url: http://boinc.berkeley.edu/
Source0: boinc_core_release_%{version_}.tar.bz2
Source1: boinc-icons.tar.bz2
Source2: boinc-gui.desktop
Source3: README.SUSE
Source4: sysconfig.%{name}
Source5: boinc-logrotate
Source6: boinc-manager
# The source for this package was pulled from upstream's vcs. Use the
# following commands to generate the tarball:
#
# ./generate-tarball.sh boinc_core_release_%{version_}
#
# Trim all binaries and other unnecessary things.
Source8: generate-tarball.sh
Source10: %{name}.init
Source100: %{name}-rpmlintrc
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
# Create password file rw for group, this enables passwordless connection
# of manager from users of the boinc group.
# This won't be probably upstreamed as it might be unsafe for common usage
# without setting proper group ownership of the password file.
Patch0: boinc-guirpcauth.patch
# PATCH-FIX-OPENSUSE boinc-init.patch
Patch1: boinc-init.patch
# PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch
Patch2: boinc-LC_MESSAGES.patch
# PATCH-FIX-OPENSUSE boinc-completion.patch
Patch3: boinc-completion.patch
# PATCH-FIX-OPENSUSE boinc-docbook2x.patch
Patch4: boinc-docbook2x.patch
# PATCH-FIX-OPENSUSE pth(a)suse.de use asprintf to fix buffer overflow
Patch5: boinc-client-dynamic_buffers.patch
# PATCH-FIX-OPENSUSE computersalat - #error "Only <glib.h> can be included directly.
Patch6: %{name}-glib_h.patch
# PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL
Patch7: %{name}-AM_CONDITIONAL.patch
# PATCH-FIX-OPENSUSE pth(a)suse.de boincmgr needs libX11 and libgtk-x11-2.0
Patch8: boinc-add_libs_for_boincmgr.patch
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(pre): pwdutils
Requires(pre): %insserv_prereq
Requires(pre): %fillup_prereq
BuildRequires: Mesa-devel
#BuildRequires: autoconf
#BuildRequires: automake
BuildRequires: docbook2x
BuildRequires: docbook_4
BuildRequires: update-desktop-files
#BuildRequires: fcgi-devel
BuildRequires: fdupes
BuildRequires: freeglut-devel
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
BuildRequires: gettext-runtime
#BuildRequires: gnutls-devel
BuildRequires: libcurl-devel >= 7.17.1
BuildRequires: libjpeg-devel
BuildRequires: libnotify-devel
BuildRequires: libtool
BuildRequires: libxslt
#BuildRequires: m4
#BuildRequires: make
BuildRequires: mysql-devel
BuildRequires: openssl-devel
#BuildRequires: patch
BuildRequires: pkg-config
BuildRequires: pwdutils
BuildRequires: python-mysql
BuildRequires: sqlite3-devel
BuildRequires: xorg-x11-libXmu-devel
%if 0%{?suse_version} <= 1130
BuildRequires: wxGTK-devel >= 2.6.0
%else
BuildRequires: wxWidgets-devel >= 2.8.7
%endif
Requires: cron
Requires: logrotate
### FIXME:
## updating boinc-client or boinc-manager does not update libboinc6
## hence we define this dependency
## !! Do not remove this dependency !!
Requires: libboinc%{soname} = %{version}-%{release}
%lang_package
%lang_package -n boinc-manager
%description
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-
source software platform which supports distributed computing, primarily in
the form of "volunteer" computing and "desktop Grid" computing. It is well
suited for problems which are often described as "trivially parallel". BOINC
is the underlying software used by projects such as SETI@home, Einstein@Home,
ClimatePrediciton.net, the World Community Grid, and many other distributed
computing projects.
This package installs the BOINC client software, which will allow your
computer to participate in one or more BOINC projects, using your spare
computer time to search for cures for diseases, model protein folding, study
global warming, discover sources of gravitational waves, and many other types
of scientific and mathematical research.
%package -n boinc-manager
Summary: GUI to control and monitor boinc-client
Group: Productivity/Scientific/Astronomy
Requires: boinc-manager-lang = %{version}-%{release}
Requires: hicolor-icon-theme
%description -n boinc-manager
The BOINC Manager is a graphical monitor and control utility for the BOINC
core client. It gives a detailed overview of the state of the client it is
monitoring. The BOINC Manager has two modes of operation, the "Simple View" in
which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available.
%package devel
Summary: Development files for boinc-client
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}-%{release}
Requires: mysql-devel
Requires: openssl-devel
%description devel
This package contains development files for %{name}.
%package -n libboinc%{soname}
Summary: Shared Libs for %{name}
Group: System/Libraries
%description -n libboinc%{soname}
The BOINC Manager is a graphical monitor and control utility for the BOINC
core client. It gives a detailed overview of the state of the client it is
monitoring. The BOINC Manager has two modes of operation, the "Simple View" in
which it only displays the most important information and the "Advanced View"
in which all information and all control elements are available.
%package doc
Summary: Documentation files for %{name}
Group: Documentation/Other
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description doc
This package contains documentation files for %{name}.
%prep
%setup -q -n boinc_core_release_%{version_} -D -a 1
%patch0
%patch1
%patch2
%patch3
%patch4
%patch5
%if 0%{?suse_version} >= 1220
%patch6
%patch7
%endif
%patch8
# Install user hints
%{__install} -m0644 %{S:3} README.SUSE
# Fix lang directories (refer patch2)
%{__mv} locale/pt_PT locale/pt
%{__mv} locale/sv_SE locale/sv
# fix warning: deprecated conversion from string constant to 'char*'
pushd clientgui/common/
%{__sed} -i 's/static char/static const char/g' wxFlatNotebookImages.h
popd
pushd clientgui/res/
%{__sed} -i 's/static char/static const char/g' *.xpm
popd
pushd clientgui/res/skins/default/graphic/
%{__sed} -i 's/static char/static const char/g' *.xpm
popd
### bnc#745656
## remove files with questionable licenses
# removing NVIDIA owned file that does not clearly allow redistribution or
# modification
%{__rm} coprocs/CUDA/include/nvapi.h
# removing unnecessary APSL licensed files
%{__rm} client/app_stats_mac.cpp
%build
#run libtoolize and ./_autosetup
/usr/bin/libtoolize --force
./_autosetup
%configure \
--disable-static \
--enable-dynamic-client-linkage \
--disable-server \
--disable-fcgi \
--enable-unicode \
--with-ssl \
--with-x
# Disable rpaths
%{__sed} -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
%{__sed} -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
# Export Path and make
%{__make} clean
%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
DESTDIR=%{_prefix} %{?_smp_mflags}
### hmm, boincmgr is not build by default (but stated in configure)
# BOINC Default enable values
# --enable-server --enable-client --enable-libraries
# --enable-manager: builds server, client, and libraries
#
# hence we jump into clientgui and build it manually
pushd clientgui
%{__make} libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
%if 0%{?suse_version} >= 1210
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
%else
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
%endif
DESTDIR=%{_prefix} %{?_smp_mflags}
popd
pushd locale
%{__make}
popd
%install
%{makeinstall}
for i in clientgui locale; do
pushd $i
%{makeinstall}
popd
done
# Creates default folders
%{__install} -dm0755 %{buildroot}%{boinc_dir}
%{__install} -dm0755 %{buildroot}%{_mandir}/man1
# Remove old boinc & rename boinc_client to boinc-client
%{__rm} -f %{buildroot}%{_bindir}/boinc
%{__mv} -f %{buildroot}%{_bindir}/boinc_client %{buildroot}%{_bindir}/%{name}
# Rename boincmgr and wrap it
%{__mv} %{buildroot}%{_bindir}/boincmgr %{buildroot}%{_bindir}/boinc-gui
# Install boinc-manager wrapper script
%{__install} -Dm0755 %{S:6} %{buildroot}%{_bindir}/boinc-manager
# Use symlink instead of hardlink
pushd %{buildroot}%{_bindir}
%{__ln_s} -f %{name} boinc
%{__ln_s} -f boinc-manager boincmgr
%{__ln_s} -f boinc-manager boincmanager
popd
# replace @boinc_dir@, @bindir@
%{__sed} -i \
-e "s,@boinc_dir@,%{boinc_dir},g" \
-e "s,@bindir@,%{_bindir},g" \
%{buildroot}%{_bindir}/boinc-manager
# Remove /etc/sysconfig/boinc-client, it is added by %%fillup_and_insserv
%{__rm} -f %{buildroot}%{_sysconfdir}/sysconfig/%{name}
# Install init and create symlink to /etc/init.d/boinc-client
%{__install} -Dm0755 %{S:10} %{buildroot}%{_initrddir}/%{name}
%{__install} -dm0755 %{buildroot}%{_sbindir}
/bin/ln -sf %{_sysconfdir}/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name}
# Install logrotate
%{__install} -Dm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
# Install bash completion
%{__install} -Dpm0644 client/scripts/boinc.bash %{buildroot}%{_sysconfdir}/bash_completion.d/boinc
# Install template for sysconfig
%{__install} -Dm0644 %{S:4} %{buildroot}/var/adm/fillup-templates/sysconfig.%{name}
# Install desktop-file and icons
%{__install} -Dm0644 boinc-gui-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png
%{__install} -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
# install icons
%{__install} -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png
%{__install} -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png
# Install *.desktop File
%suse_update_desktop_file -i boinc-gui Utility
# Remove libtool archives
%{__rm} %{buildroot}%{_libdir}/*.la
# Relinking Manpages
%{__ln_s} -f boincmgr.1.gz %{buildroot}%{_mandir}/man1/boinc-manager.1.gz
%{__ln_s} -f boinccmd.1.gz %{buildroot}%{_mandir}/man1/boinccmd.1.gz
%{__ln_s} -f boinc.1.gz %{buildroot}%{_mandir}/man1/boinc.1.gz
# Fix spurious-executable-perm
%{__chmod} 0644 doc/*.php
# Install fake /var/lib/boinc
%{__install} -dm0755 %{buildroot}%{_var}/lib/boinc
# Prepare $LANG Packages
%find_lang BOINC-Client
%find_lang BOINC-Manager
%fdupes -s %{buildroot}
%clean
%{__rm} -rf '%{buildroot}'
%pre
# add group
%{_sbindir}/groupadd -r boinc 2>/dev/null || :
# add user
%{_sbindir}/useradd -c "BOINC Client" -d "%{_localstatedir}/lib/boinc" \
-g boinc -r -s /sbin/nologin boinc 2>/dev/null || :
if [ -f %{_sysconfdir}/sysconfig/%{name} ]; then
if [ "$(grep "BOINC_BOINC_USR" /etc/sysconfig/boinc-client | grep -v grep >/dev/null; echo $?)" == 1 ]; then
mv -f %{_sysconfdir}/sysconfig/%{name} %{_sysconfdir}/sysconfig/%{name}.save
fi
fi
%preun
%stop_on_removal %{name}
%post
%fillup_and_insserv %{name}
%{_sbindir}/usermod -c "BOINC Client" -s /sbin/nologin boinc 2>/dev/null || :
%postun
%restart_on_update %{name}
%insserv_cleanup
%post -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun -n boinc-manager
/usr/bin/touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%post -n libboinc%{soname} -p /sbin/ldconfig
%postun -n libboinc%{soname} -p /sbin/ldconfig
%post devel -p /sbin/ldconfig
%postun devel -p /sbin/ldconfig
%files
%defattr(-,root,root,-)
%doc COPYING* COPYRIGHT notes todo TODO_OLD README.SUSE
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/bash_completion.d/
/var/adm/fillup-templates/sysconfig.%{name}
%{_bindir}/boinc
%{_bindir}/%{name}
%{_sbindir}/rc%{name}
%{_bindir}/boinccmd
%{_bindir}/switcher
%{_initrddir}/%{name}
%{_mandir}/man1/boinccmd.1.gz
%{_mandir}/man1/boinc.1.gz
%defattr(-,boinc,boinc,-)
%{_localstatedir}/lib/boinc/
%files doc
%defattr(-,root,root,-)
%doc checkin_*
%doc doc/*.txt doc/bolt doc/logo doc/*.php doc/*.png doc/*.html
%files -n boinc-manager
%defattr(-,root,root,-)
%{_bindir}/boinc-gui
%{_bindir}/boinc-manager
%{_bindir}/boincmgr
%{_bindir}/boincmanager
%{_datadir}/applications/boinc-gui.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_mandir}/man1/boincmgr.1.gz
%{_mandir}/man1/boinc-manager.1.gz
%files -n %{name}-lang -f BOINC-Client.lang
%files -n boinc-manager-lang -f BOINC-Manager.lang
%files -n libboinc%{soname}
%defattr(-,root,root,-)
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root,-)
%{_libdir}/*.so
%{_includedir}/boinc
%changelog
++++++ README.SUSE ++++++
#####################################################################################################################
Exported from http://boinc.berkeley.edu/wiki/Installing_BOINC on May 15, 2010, see current version online.
#####################################################################################################################
Installing BOINC on openSUSE
* 1 Basic installation
* 2 What the installer does
* 3 Verify the installation
* 4 Set up your accounts
* 5 Optional setup hints
* 6 Uninstallation
* 7 Known problems
Basic installation
Installs BOINC Client as a daemon (autostarts the BOINC client at boot
time) and puts a BOINC Manager icon on the applications menu. The steps
are:
1. Open a terminal, enter |su|, give the root password when prompted.
2. Enter |zypper install boinc-client boinc-manager|
(be patient while the BOINC package downloads and installs).
3. Optional: after the installation is finished, enter
|/sbin/chkconfig boinc-client on|
to have Linux auto-start the boinc-client daemon at boot time.
(See Stop or start BOINC daemon after boot
page for helpful
commands for managing the daemon)
What the installer does
1. Creates the daemon script at /etc/init.d/boinc-client.
2. Places the BOINC binaries (boinc_client, boinc_cmd and boincmgr)
in /usr/bin/.
3. Creates /var/lib/boinc/ for BOINC data files and the slots and
projects directories.
4. Names the daemon boinc-client.
5. Creates a user named boinc. For security, boinc owns the BOINC
data directory (/var/lib/boinc/) and all the data files and
sub-directories it creates in the data directory.
Verify the installation
1. If you elected to have Linux start the daemon at boot time (see
step 3 in section Basic installation), logout and reboot Linux now
and login under your normal user account.
2. If you elected to not have Linux start the daemon at boot time,
start the daemon manually with |/sbin/service boinc-client start|
3. Open a terminal and enter |ps aux | grep boinc| to print a partial
list of running processes. You should see |boinc_client --daemon|
in that list, if not then something went wrong in the steps above.
Set up your accounts
To use the GUI to set up your accounts and monitor progress:
* Start "boincmgr" on the command line or select Applications ->
System Tools -> Boinc Manager from the GNOME menu.
* Select Advanced -> Select computer... from the Boinc Manager menu.
* Put "localhost" in for "Host name" and the contents of
/var/lib/boinc/gui_rpc_auth.cfg for "Password" and hit "OK".
If you do only the basic installation as described above, BOINC manager
will not be able to automatically connect to the client. To connect the
client you will be required to give the GUI RPC password every time you
start BOINC manager. That is not a bug, it is a security feature to
prevent other users from using the manager to manipulate the client,
change your projects, etc.
If you don't want to put the password every time you run the BOINC
manager, you can:
1. disable the password at all [*not recommended*]
To make the GUI passwordless, do "echo >
/var/lib/boinc/gui_rpc_auth.cfg" (which replaces the contents of
the file with a newline) and then restart boinc-client (with e.g.
"/sbin/service boinc-client restart").
2. *with boinc-client-6.4.7-1.r17542svn and newer* it is enough if
you just add your user account into the "boinc" group, e.g. by
typing |/usr/sbin/usermod -G boinc -a username|
3. *with older versions* the procedure is a bit more complicated:
Boinc (the user named boinc) owns /var/lib/boinc/ and all the
files and directories in it so you will not be able to edit those
files easily from your regular user account. The steps below add
your username to the boinc group and adjust some permissions so
that BOINC manager will automatically connect to BOINC client
whenever you start the manager from your regular Linux user
account. Also you will be able to edit files in the BOINC
directory without becoming root. As you type in each command
below, substitute your Linux username wherever you see |username|.
Enter the following commands in a terminal, as root:
1. |/usr/sbin/usermod -G boinc -a username|
2. |chmod g+rw /var/lib/boinc|
3. |chmod g+rw /var/lib/boinc/*.*|
4. |ln -s /var/lib/boinc/gui_rpc_auth.cfg
/home/username/gui_rpc_auth.cfg|
5. |chown boinc:boinc /home/username/gui_rpc_auth.cfg|
Uninstallation
As root, in a terminal, enter
yum remove boinc-client boinc-manager
Known problems
boinc-client sometimes has problems connecting to the network, if the
network connection comes up after the client has already started. This
is a known BOINC bug, which is filed as #707.
In the meantime, you can fix this by restarting boinc-client. On the
command line as root, do "/sbin/service boinc-client restart".
Alternatively, from the GNOME menu, you can choose System ->
Administration -> Services and then stop and start the boinc-client
service.
++++++ boinc-LC_MESSAGES.patch ++++++
Index: locale/Makefile.am
===================================================================
--- locale/Makefile.am.orig
+++ locale/Makefile.am
@@ -45,12 +45,12 @@ locale_dirs = \
install-exec-hook:
mydir=$(DESTDIR)$(datadir) ;\
for ldir in $(locale_dirs) ; do \
- $(INSTALL) -d $$mydir/$$ldir ; \
+ $(INSTALL) -d $$mydir/$$ldir/LC_MESSAGES ; \
if [ -f $$ldir/BOINC-Manager.mo ] ; then \
- $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/BOINC-Manager.mo ; \
+ $(INSTALL) $$ldir/BOINC-Manager.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Manager.mo ; \
fi ;\
if [ -f $$ldir/BOINC-Client.mo ] ; then \
- $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/BOINC-Client.mo ; \
+ $(INSTALL) $$ldir/BOINC-Client.mo $$mydir/$$ldir/LC_MESSAGES/BOINC-Client.mo ; \
fi ;\
done
++++++ boinc-add_libs_for_boincmgr.patch ++++++
---
clientgui/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: clientgui/Makefile.am
===================================================================
--- clientgui/Makefile.am.orig 2014-02-20 13:21:51.023635507 +0100
+++ clientgui/Makefile.am 2014-02-20 13:24:08.836372516 +0100
@@ -119,7 +119,7 @@ EXTRA_DIST = *.h \
locale $(mac_headers)
boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS)
-boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS)
+boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) -lgtk-x11-2.0 -lX11
win_config.h: $(top_srcdir)/config.h
grep '#define.*BOINC.*VERSION' $^ > $@
++++++ boinc-client-AM_CONDITIONAL.patch ++++++
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -39,6 +39,7 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_F77
AC_PROG_CPP
+AC_PROG_OBJCXX
AC_PROG_MAKE_SET
SAH_LINKS
AC_LANG_PUSH(C)
@@ -737,6 +738,8 @@ AM_CONDITIONAL(ENABLE_LIBRARIES, [test "
AM_CONDITIONAL(INSTALL_HEADERS, [test "${enable_install_headers}" = yes])
AM_CONDITIONAL(HAVE_CUDA_LIB, [test "${enable_client}" = yes -a -f ./coprocs/CUDA/posix/${boinc_platform}/libcudart.so])
+PKG_CHECK_MODULES([GTK2], [gtk+-2.0])
+
dnl ======================================================================
dnl some more vodoo required for building portable client-binary (client, clientgui)
dnl ======================================================================
Index: clientgui/Makefile.am
===================================================================
--- clientgui/Makefile.am.orig
+++ clientgui/Makefile.am
@@ -118,9 +118,8 @@ EXTRA_DIST = *.h \
../lib/error_numbers.h \
locale $(mac_headers)
-boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0`
-boincmgr_CXXFLAGS = $(AM_CXXFLAGS) $(WX_CXXFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) `pkg-config --cflags gtk+-2.0`
-boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS)
+boincmgr_CPPFLAGS = $(AM_CPPFLAGS) $(WX_CPPFLAGS) $(SQLITE3_CPPFLAGS) $(LIBNOTIFY_CFLAGS) $(CLIENTGUIFLAGS) $(GTK2_CFLAGS)
+boincmgr_LDADD = $(LIBBOINC) $(SQLITE3_LIBS) $(LIBNOTIFY_LIBS) $(CLIENTGUILIBS) $(BOINC_EXTRA_LIBS) $(CLIENTLIBS) $(GTK2_LIBS)
win_config.h: $(top_srcdir)/config.h
grep '#define.*BOINC.*VERSION' $^ > $@
++++++ boinc-client-dynamic_buffers.patch ++++++
Index: lib/filesys.cpp
===================================================================
--- lib/filesys.cpp.orig
+++ lib/filesys.cpp
@@ -46,6 +46,7 @@
#include <sys/time.h>
#include <unistd.h>
#include <dirent.h>
+#include <climits>
#ifdef HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
@@ -400,7 +401,8 @@ int dir_size(const char* dirpath, double
} while (FindNextFileA(hFind, &findData));
::FindClose(hFind);
#else
- char filename[256], subdir[256];
+ char filename[PATH_MAX];
+ char *subdir;
int retval=0;
DIRREF dirp;
double x;
@@ -411,7 +413,7 @@ int dir_size(const char* dirpath, double
while (1) {
retval = dir_scan(filename, dirp, sizeof(filename));
if (retval) break;
- sprintf(subdir, "%s/%s", dirpath, filename);
+ asprintf(&subdir, "%s/%s", dirpath, filename);
if (is_dir(subdir)) {
if (recurse) {
@@ -424,6 +426,9 @@ int dir_size(const char* dirpath, double
if (retval) continue;
size += x;
}
+
+ if(subdir != NULL)
+ free(subdir);
}
dir_close(dirp);
#endif
++++++ boinc-client-glib_h.patch ++++++
Index: clientgui/gtk/taskbarex.cpp
===================================================================
--- clientgui/gtk/taskbarex.cpp.orig
+++ clientgui/gtk/taskbarex.cpp
@@ -20,7 +20,7 @@
#include "stdwx.h"
#include <libnotify/notify.h>
-#include <glib/gtypes.h>
+#include <glib.h>
#include <glib-object.h>
#include <dlfcn.h>
++++++ boinc-client-rpmlintrc ++++++
# This line is mandatory to access the configuration functions
from Config import *
addFilter("suse-branding-unversioned-requires hicolor-icon-theme")
addFilter("non-standard-uid")
addFilter("libdir-macro-in-noarch-package")
addFilter("no-manual-page-for-binary")
addFilter("macro-in-comment")
++++++ boinc-client.init ++++++
#!/bin/sh
#
# Copyright (c) 2012 Scorpio IT, Deidesheim, Germany
# All rights reserved
#
# Author: Christian Wittmer <rpm(a)scorpio-it.net>
#
# /etc/init.d/boinc-client
# and its symbolic link
# /(usr/)sbin/rcboinc-client
#
### BEGIN INIT INFO
# Provides: boinc-client
# Required-Start: $syslog $network $remote_fs
# Should-Start: $time
# Required-Stop: $syslog $network $remote_fs
# Should-Stop: $time
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: BOINC daemon providing boinc-client
# Description: Start BOINC client
# For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu
### END INIT INFO
#
# Note on runlevels:
# 0 - halt/poweroff 6 - reboot
# 1 - single user 2 - multiuser without network exported
# 3 - multiuser w/ network (text mode) 5 - multiuser w/ network and X11 (xdm)
#
# Note on script names:
# http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/scrptnames.html
# A registry has been set up to manage the init script namespace.
# http://www.lanana.org/
# Please use the names already registered or register one or use a
# vendor prefix.
# Check for missing binaries (stale symlinks should not happen)
# Note: Special treatment of stop for LSB conformance
BOINC_BIN=/usr/bin/boinc-client
test -x $BOINC_BIN || { echo "$BOINC_BIN not installed";
if [ "$1" = "stop" ]; then exit 0;
else exit 5; fi; }
# Check for existence of needed config file and read it
BOINC_CONFIG=/etc/sysconfig/boinc-client
test -r $BOINC_CONFIG || { echo "$BOINC_CONFIG not existing";
if [ "$1" = "stop" ]; then exit 0;
else exit 6; fi; }
# Read config
. $BOINC_CONFIG
# some other VARS
BOINC_SVC="BOINC Client"
BOINCCMD_BIN="/usr/bin/boinccmd"
BOINC_LOG="/var/log/boinc-client.log"
BOINC_ERRLOG="/var/log/boinc-client.err.log"
BOINC_PIDFILE="/var/run/boinc-client.pid"
BOINC_LOCKFILE="/var/run/boinc-client.lock"
BOINC_USR=${BOINC_BOINC_USR:="boinc"}
BOINC_GRP=${BOINC_BOINC_GRP:="boinc"}
BOINC_DIR=${BOINC_BOINC_DIR:="/var/lib/boinc"}
BOINC_OPTS=${BOINC_BOINC_OPTS:=""}
# Source LSB init functions
# providing start_daemon, killproc, pidofproc,
# log_success_msg, log_failure_msg and log_warning_msg.
# This is currently not used by UnitedLinux based distributions and
# not needed for init scripts for UnitedLinux only. If it is used,
# the functions from rc.status should not be sourced or used.
#. /lib/lsb/init-functions
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v be verbose in local rc status and clear it afterwards
# rc_status -v -r ditto and clear both the local and overall rc status
# rc_status -s display "skipped" and exit with status 3
# rc_status -u display "unused" and exit with status 3
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear both the local and overall rc status
# rc_exit exit appropriate to overall rc status
# rc_active checks whether a service is activated by symlinks
. /etc/rc.status
# Reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - user had insufficient privileges
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
case "$1" in
start)
echo -n "Starting ${BOINC_SVC} "
## Start daemon with startproc(8). If this fails
## the return value is set appropriately by startproc.
/sbin/startproc -u $BOINC_USR -g $BOINC_GRP -l $BOINC_LOG -s $BOINC_BIN --dir $BOINC_DIR $BOINC_OPTS
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down ${BOINC_SVC} "
## Stop daemon with killproc(8) and if this fails
## killproc sets the return value according to LSB.
/sbin/killproc $BOINC_BIN
# Remember status and be verbose
rc_status -v
;;
try-restart|condrestart)
## Do a restart only if the service was active before.
## Note: try-restart is now part of LSB (as of 1.9).
## RH has a similar command named condrestart.
if test "$1" = "condrestart"; then
echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}"
fi
$0 status
if test $? = 0; then
$0 restart
else
rc_reset # Not running is not a failure.
fi
# Remember status and be quiet
rc_status
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$0 stop
$0 start
# Remember status and be quiet
rc_status
;;
force-reload)
## Signal the daemon to reload its config. Most daemons
## do this on signal 1 (SIGHUP).
## If it does not support it, restart the service if it
## is running.
echo -n "Reload service ${BOINC_SVC} "
## if it supports it:
#/sbin/killproc -HUP $BOINC_BIN
#touch /var/run/$BOINC_PIDFILE
# Remember status and be verbose
#rc_status -v
## Otherwise:
$0 try-restart
# Remember status and be quiet
rc_status
;;
reload)
## Like force-reload, but if daemon does not support
## signaling, do nothing (!)
# If it supports signaling:
echo -n "Reload service ${BOINC_SVC} "
#/sbin/killproc -HUP $BOINC_BIN
#touch /var/run/FOO.pid
# Remember status and be verbose
#rc_status -v
## Otherwise if it does not support reload:
rc_failed 3
# Remember status and be verbose
rc_status -v
;;
status)
echo -n "Checking for service ${BOINC_SVC} "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Return value is slightly different for the status command:
# 0 - service up and running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running (unused)
# 4 - service status unknown :-(
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
# NOTE: checkproc returns LSB compliant status values.
/sbin/checkproc $BOINC_BIN
# NOTE: rc_status knows that we called this init script with
# "status" option and adapts its messages accordingly.
rc_status -v
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
exit 1
;;
esac
rc_exit
++++++ boinc-completion.patch ++++++
Index: client/scripts/boinc.bash
===================================================================
--- client/scripts/boinc.bash.orig
+++ client/scripts/boinc.bash
@@ -36,7 +36,7 @@ _boinc()
return 0
fi
}
-complete -F _boinc -o default boinc
+complete -F _boinc -o default-boinc
_boinccmd()
{
++++++ boinc-docbook2x.patch ++++++
Index: configure.ac
===================================================================
--- configure.ac.orig
+++ configure.ac
@@ -285,7 +285,7 @@ AC_SUBST([TOP_BUILD_DIR], [`pwd`])
dnl Check for docbook2x-man, which we use to create the manpages in
dnl doc/manpages, and set the conditional HAVE_DOCBOOK2X_MAN to build
dnl the manpages only if docbook2x-man is available.
-AC_PATH_PROG(DOCBOOK2X_MAN, docbook2x-man)
+AC_PATH_PROG(DOCBOOK2X_MAN, docbook-to-man)
AM_CONDITIONAL(HAVE_DOCBOOK2X_MAN, [test -n "${DOCBOOK2X_MAN}"])
AC_SUBST([CLIENT_BIN_FILENAME],[boinc${EXEEXT}])
++++++ boinc-gui.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Exec=boinc-manager
Icon=boinc-gui
Terminal=false
Type=Application
Name=BOINC Manager
GenericName=BOINC monitor and control utility
GenericName[de]=BOINC Überwachungs- und Kontrollprogramm
GenericName[pt]=Monitorização BOINC e utilitário de controlo
GenericName[cs]=Monitorovací a ovládací nástroj pro BOINC
Comment=Configure or monitor a BOINC core client
Comment[de]=BOINC Basis Client konfigurieren oder überwachen
Comment[pt]=Configurar ou monitorizar o cliente básico do BOINC
Comment[cs]=Monitoruje a nastavuje klienta BOINC
Categories=Utility;X-SuSE-WebUtility;GTK;
X-KDE-StartupNotify=true
++++++ boinc-guirpcauth.patch ++++++
Index: client/gui_rpc_server.cpp
===================================================================
--- client/gui_rpc_server.cpp.orig
+++ client/gui_rpc_server.cpp
@@ -145,12 +145,7 @@ int GUI_RPC_CONN_SET::get_password() {
// they can cause code to execute as this user.
// So better protect it.
//
- if (g_use_sandbox) {
- // Allow group access so authorized administrator can modify it
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
- } else {
- chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR);
- }
+ chmod(GUI_RPC_PASSWD_FILE, S_IRUSR|S_IWUSR | S_IRGRP | S_IWGRP);
#endif
}
}
++++++ boinc-init.patch ++++++
Index: client/scripts/boinc-client.in
===================================================================
--- client/scripts/boinc-client.in.orig
+++ client/scripts/boinc-client.in
@@ -19,14 +19,16 @@
# For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu
# processname: boinc
-# config: /etc/sysconfig/boinc
+# config: /etc/sysconfig/boinc-client
#
### BEGIN INIT INFO
-# Provides: boinc
-# Required-Start: $network
-# Required-Stop: $network
-# Default-Start: 3 4 5
-# Default-Stop: 0 1 2 6
+# Provides: boinc-client
+# Required-Start: $network $remote_fs
+# Should-Start: $time
+# Required-Stop: $network $remote_fs
+# Should-Stop: $time
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
# Short-Description: This script monitors the BOINC client.
# Description: This script starts the local BOINC client as a daemon
# For more information about BOINC (the Berkeley Open Infrastructure
@@ -117,6 +119,10 @@ fi
#
BOINCUSER=boinc
+# Name of group to run as:
+#
+BOINCUSER=boinc
+
# Working directory. Could be /home/boinc, /var/lib/boinc, etc..
# The reason I prefer /var/lib/boinc is that this works best for a
# cluster of computers where /home/anything might be shared between machines
@@ -128,7 +134,7 @@ BOINCDIR=/var/lib/boinc
# but I like to rename it and put it in a public place.
# (Hint: move boincmgr to /usr/local/bin too so anyone can easily use it).
#
-BOINCEXE_NAME=boinc_client
+BOINCEXE_NAME=boinc-client
BOINCEXE=${bindir}/${BOINCEXE_NAME}
BOINCCMD_NAME=boinccmd
BOINCCMD=${bindir}/${BOINCCMD_NAME}
@@ -161,9 +167,7 @@ BOINCOPTS=
# Subsys lock file ...
# If there is the subsys directory, then use it ...
-if [ -d /var/lock/subsys/ ]; then
- LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
-elif [ -d /var/lock ]; then
+if [ -d /var/lock ]; then
LOCKFILE=/var/lock/${BOINCEXE_NAME}
elif [ -d /var/run ]; then
LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
@@ -178,8 +182,8 @@ export TERM=dumb
# but if the functions are not found we create our own simple replacements.
# (The idea for replacing the functions comes from OpenAFS. Thanks guys!)
-if [ -f /etc/rc.d/init.d/functions ] ; then
- . /etc/rc.d/init.d/functions
+if [ -f /etc/init.d/functions ] ; then
+ . /etc/init.d/functions
else
if printf "Hello" >/dev/null 2>/dev/null ; then
# printf works
@@ -279,7 +283,7 @@ if [ ! -d $BOINCDIR ]; then
echo -n "Creating $BOINCDIR "
if mkdir -p $BOINCDIR 2>/dev/null ; then
if [ -n "$BOINCUSER" ] ; then
- if chown $BOINCUSER $BOINCDIR ; then
+ if chown $BOINCUSER $BOINCGROUP $BOINCDIR ; then
echo_success
else
echo_failure
@@ -329,8 +333,8 @@ if [ "${USERNOW}" = "${BOINCUSER}" ] ; t
exit 8
fi
elif [ "${USERNOW}" = "root" ] ; then
- cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
- if [ -z `su $BOINCUSER -c "$cmd"` ]; then
+ # cmd="if test -O ${BOINCDIR} ; then echo success ; fi"
+ # if [ -z `su $BOINCUSER -c "$cmd"` ]; then
echo -n ERROR: $BOINCDIR is not owned by $BOINCUSER.
echo_failure
echo
++++++ boinc-logrotate ++++++
/var/log/boinc-client.log {
daily
compress
dateext
notifempty
rotate 99
size +4096k
missingok
create 644 root root
postrotate
/etc/init.d/boinc-client restart > /dev/null
endscript
}
#/var/log/boinc-client_err.log {
# daily
# compress
# dateext
# notifempty
# rotate 99
# size +4096k
# missingok
# create 644 root root
# postrotate
# /etc/init.d/boinc-client restart > /dev/null
# endscript
#}
++++++ boinc-manager ++++++
#!/bin/sh
#
# boinc-manager - a wrapper to start BOINC Client GUI
#
# Checking for gui_rpc_auth.cfg
if ! test -f ~/gui_rpc_auth.cfg ; then
ln -s @boinc_dir@/gui_rpc_auth.cfg ~/.
fi
exec boinc-gui -e @bindir@
++++++ generate-tarball.sh ++++++
#!/bin/sh
VERSION=$1
svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_$VERSION boinc_core_release_$VERSION
if [ -z $1 ]; then
echo "No path specified: use \"trim [PATH_TO_SOURCE_TOP_DIR]\"";
exit 1;
fi
# remove all binaries and other unnecessary things
echo "Trimming directories..."
DIRS="win_build html openssl client/os2 client/win clientgui/mac clientlib clienttray curl/include curl/mswin curl/patches lib/mac mac_build mac_installer zip/zip/macos zip/zip/win32 zip/unzip/macos zip/unzip/win32 zlib RSAEuro stripchart coprocs"
for DIR in $DIRS; do
/bin/rm -rf $1/$DIR;
echo $1/$DIR;
done
echo "Trimming wxWidgets translations..."
# remove wxWidgets translations
find $1/locale -name wxstd.mo -delete
echo "Done."
tar -cvjf boinc_core_release-$VERSION.tar.bz2 boinc_core_release_$VERSION --exclude=.svn
++++++ sysconfig.boinc-client ++++++
## Path: Productivity/Clustering/Computing
## Description: define BOINC user
## Type: string
## Default: "boinc"
## Config: BOINC
#
# An empty setting will point to boinc
#
BOINC_BOINC_USR="boinc"
## Path: Productivity/Clustering/Computing
## Description: define BOINC group
## Type: string
## Default: "boinc"
## Config: BOINC
#
# An empty setting will point to boinc
#
BOINC_BOINC_GRP="boinc"
## Path: Productivity/Clustering/Computing
## Description: define BOINC DIR
## Type: string
## Default: "/var/lib/boinc"
## Config: BOINC
##
## An empty setting will point to /var/lib/boinc
##
BOINC_BOINC_DIR=""
## Path: Productivity/Clustering/Computing
## Description: define BOINC options
## Type: string
## Default: ""
## Config: BOINC
#
## --allow_remote_gui_rpc
## allow boinc manager connections from remote machines
##
## --daemon
## turn off all logging
##
## --redirectio
## redirect logging to the files stderrdae.txt and stdoutdae.txt
## in BOINCDIR rather than LOGFILE and ERRORLOG
##
## --check_all_logins
## run only when no logins from anywhere are active
##
#
BOINC_BOINC_OPTS=""
--
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 patchinfo.2581 for openSUSE:13.1:Update checked in at 2014-02-28 11:58:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/patchinfo.2581 (Old)
and /work/SRC/openSUSE:13.1:Update/.patchinfo.2581.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patchinfo.2581"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
_patchinfo
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _patchinfo ++++++
<patchinfo>
<issue id="864364" tracker="bnc">VUL-0: icedtea-web 1.4.2 released</issue>
<issue id="CVE-2013-6493" tracker="cve" />
<category>security</category>
<rating>moderate</rating>
<packager>mvyskocil</packager>
<description>
icedtea-web was updated to version 1.4.2 (bnc#864364),
fixing various bugs and a security issues:
* Dialogs center on screen before becoming visible
* Support for u45 new manifest attributes (Application-Name)
* Custom applet permission policies panel in itweb-settings control panel
* Plugin
- PR1271: icedtea-web does not handle 'javascript:'-protocol URLs
- RH976833: Multiple applets on one page cause deadlock
- Enabled javaconsole
* Security Updates
- CVE-2013-6493/RH1010958: insecure temporary file use flaw in LiveConnect implementation
* Except above also:
- Christmas splashscreen extension
- fixed classloading deadlocks
- cleaned code from warnings
- pipes moved to XDG runtime dir
* Patches changes:
* rebased icedtea-web-1.1-moonlight-symbol-clash.patch
* add icedtea-web-1.4.2-mkdir.patch
* add icedtea-web-1.4.2-softkiller-link.patch
* build with rhino support
* use fdupes
* run make run-netx-dist-tests in %check on openSUSE > 13.1
</description>
<summary>icedtea-web: 1.4.2 bugfix update</summary>
</patchinfo>
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0