openSUSE Commits
Threads by month
- ----- 2024 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
April 2010
- 2 participants
- 1248 discussions
Hello community,
here is the log from the commit of package xtables-addons for openSUSE:Factory
checked in at Mon Apr 26 23:48:14 CEST 2010.
--------
--- xtables-addons/xtables-addons.changes 2010-03-20 01:41:28.000000000 +0100
+++ xtables-addons/xtables-addons.changes 2010-04-26 14:22:13.000000000 +0200
@@ -1,0 +2,11 @@
+Mon Apr 26 12:15:08 UTC 2010 - jengelh(a)medozas.de
+
+- new upstream release 1.25
+ * incorporated changes from upstream review into xt_TEE:
+ (rechecksumming in PREROUTING, decrease TTL on cloned packet, set
+ dont-fragment on cloned packets, free skb when route lookup
+ failed, do not limit use to mangle table, do not retain iif and
+ mark on cloned packet, new loop detection logic, use less
+ expensive pskb_copy)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
xtables-addons-1.24.tar.bz2
New:
----
xtables-addons-1.25.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xtables-addons.spec ++++++
--- /var/tmp/diff_new_pack.EjFK7p/_old 2010-04-26 23:47:41.000000000 +0200
+++ /var/tmp/diff_new_pack.EjFK7p/_new 2010-04-26 23:47:41.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package xtables-addons (Version 1.24)
+# spec file for package xtables-addons (Version 1.25)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,7 +18,7 @@
Name: xtables-addons
-Version: 1.24
+Version: 1.25
Release: 1
Group: Productivity/Networking/Security
Summary: IP Packet Filter Administration Extensions
++++++ xtables-addons-1.24.tar.bz2 -> xtables-addons-1.25.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/INSTALL new/xtables-addons-1.25/INSTALL
--- old/xtables-addons-1.24/INSTALL 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/INSTALL 2010-04-26 14:12:03.000000000 +0200
@@ -4,7 +4,7 @@
Xtables-addons uses the well-known configure(autotools) infrastructure
in combination with the kernel's Kbuild system.
- $ ./configure
+ $ ./configure --with-xtlibdir=SEE_BELOW
$ make
# make install
@@ -55,7 +55,10 @@
Specifies the path to where the newly built extensions should
be installed when `make install` is run. It uses the same
- default as the Xtables/iptables package, ${libexecdir}/xtables.
+ default as the Xtables/iptables package, ${libexecdir}/xtables,
+ but you may need to specify this nevertheless, as autotools
+ defaults to using /usr/local as prefix, and distributions put
+ the files in differing locations.
If you want to enable debugging, use
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/doc/changelog.txt new/xtables-addons-1.25/doc/changelog.txt
--- old/xtables-addons-1.24/doc/changelog.txt 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/doc/changelog.txt 2010-04-26 14:12:03.000000000 +0200
@@ -1,6 +1,15 @@
HEAD
====
+- TEE: do rechecksumming in PREROUTING too
+- TEE: decrease TTL on cloned packet
+- TEE: set dont-fragment on cloned packets
+- TEE: free skb when route lookup failed
+- TEE: do not limit use to mangle table
+- TEE: do not retain iif and mark on cloned packet
+- TEE: new loop detection logic
+- TEE: use less expensive pskb_copy
+- condition: remove unnecessary RCU protection
Xtables-addons 1.24 (March 17 2010)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/ACCOUNT/xt_ACCOUNT.c new/xtables-addons-1.25/extensions/ACCOUNT/xt_ACCOUNT.c
--- old/xtables-addons-1.24/extensions/ACCOUNT/xt_ACCOUNT.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/ACCOUNT/xt_ACCOUNT.c 2010-04-26 14:12:03.000000000 +0200
@@ -264,7 +264,7 @@
return -1;
}
-static bool ipt_acc_checkentry(const struct xt_tgchk_param *par)
+static int ipt_acc_checkentry(const struct xt_tgchk_param *par)
{
struct ipt_acc_info *info = par->targinfo;
int table_nr;
@@ -276,13 +276,13 @@
if (table_nr == -1) {
printk("ACCOUNT: Table insert problem. Aborting\n");
- return false;
+ return -EINVAL;
}
/* Table nr caching so we don't have to do an extra string compare
for every packet */
info->table_nr = table_nr;
- return true;
+ return 0;
}
static void ipt_acc_destroy(const struct xt_tgdtor_param *par)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/Makefile.am new/xtables-addons-1.25/extensions/Makefile.am
--- old/xtables-addons-1.24/extensions/Makefile.am 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/Makefile.am 2010-04-26 14:12:03.000000000 +0200
@@ -7,6 +7,8 @@
_kcall = -C ${kbuilddir} M=${abs_srcdir}
modules:
+ @echo -n "Xtables-addons ${PACKAGE_VERSION} - Linux "
+ @if [ -n "${kbuilddir}" ]; then ${MAKE} ${_kcall} --no-print-directory -s kernelrelease; fi;
${AM_V_silent}if [ -n "${kbuilddir}" ]; then ${MAKE} ${_kcall} modules; fi;
modules_install:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/Makefile.in new/xtables-addons-1.25/extensions/Makefile.in
--- old/xtables-addons-1.24/extensions/Makefile.in 2010-03-17 02:53:26.000000000 +0100
+++ new/xtables-addons-1.25/extensions/Makefile.in 2010-04-26 14:13:55.000000000 +0200
@@ -374,6 +374,8 @@
.PHONY: modules modules_install clean_modules
modules:
+ @echo -n "Xtables-addons ${PACKAGE_VERSION} - Linux "
+ @if [ -n "${kbuilddir}" ]; then ${MAKE} ${_kcall} --no-print-directory -s kernelrelease; fi;
${AM_V_silent}if [ -n "${kbuilddir}" ]; then ${MAKE} ${_kcall} modules; fi;
modules_install:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/compat_xtables.c new/xtables-addons-1.25/extensions/compat_xtables.c
--- old/xtables-addons-1.24/extensions/compat_xtables.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/compat_xtables.c 2010-04-26 14:12:03.000000000 +0200
@@ -84,6 +84,19 @@
return nm->checkentry(&local_par);
}
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28) && \
+ LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
+static bool xtnu_match_check(const struct xt_mtchk_param *par)
+{
+ struct xtnu_match *nm = xtcompat_numatch(par->match);
+
+ if (nm == NULL)
+ return false;
+ if (nm->checkentry == NULL)
+ return true;
+ return nm->checkentry(par) == 0 ? true : false;
+}
+#endif
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
static void xtnu_match_destroy(const struct xt_match *cm, void *matchinfo,
@@ -105,7 +118,7 @@
}
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 27)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
int xtnu_register_match(struct xtnu_match *nt)
{
struct xt_match *ct;
@@ -127,9 +140,15 @@
ct->table = (char *)nt->table;
ct->hooks = nt->hooks;
ct->proto = nt->proto;
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 27)
ct->match = xtnu_match_run;
ct->checkentry = xtnu_match_check;
ct->destroy = xtnu_match_destroy;
+#else
+ ct->match = nt->match;
+ ct->checkentry = xtnu_match_check;
+ ct->destroy = nt->destroy;
+#endif
ct->matchsize = nt->matchsize;
ct->me = nt->me;
@@ -250,6 +269,20 @@
}
#endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 28) && \
+ LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34)
+static bool xtnu_target_check(const struct xt_tgchk_param *par)
+{
+ struct xtnu_target *nt = xtcompat_nutarget(par->target);
+
+ if (nt == NULL)
+ return false;
+ if (nt->checkentry == NULL)
+ return true;
+ return nt->checkentry(par) == 0 ? true : false;
+}
+#endif
+
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 18)
static void xtnu_target_destroy(const struct xt_target *ct, void *targinfo,
unsigned int targinfosize)
@@ -295,6 +328,9 @@
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 27)
ct->checkentry = xtnu_target_check;
ct->destroy = xtnu_target_destroy;
+#elif LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
+ ct->checkentry = xtnu_target_check;
+ ct->destroy = nt->destroy;
#else
ct->checkentry = nt->checkentry;
ct->destroy = nt->destroy;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/compat_xtables.h new/xtables-addons-1.25/extensions/compat_xtables.h
--- old/xtables-addons-1.24/extensions/compat_xtables.h 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/compat_xtables.h 2010-04-26 14:12:03.000000000 +0200
@@ -60,7 +60,7 @@
# define init_net__proc_net init_net.proc_net
#endif
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 27)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 34)
# define xt_match xtnu_match
# define xt_register_match xtnu_register_match
# define xt_unregister_match xtnu_unregister_match
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/compat_xtnu.h new/xtables-addons-1.25/extensions/compat_xtnu.h
--- old/xtables-addons-1.24/extensions/compat_xtnu.h 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/compat_xtnu.h 2010-04-26 14:12:03.000000000 +0200
@@ -85,7 +85,7 @@
struct list_head list;
char name[XT_FUNCTION_MAXNAMELEN - 1 - sizeof(void *)];
bool (*match)(const struct sk_buff *, const struct xt_match_param *);
- bool (*checkentry)(const struct xt_mtchk_param *);
+ int (*checkentry)(const struct xt_mtchk_param *);
void (*destroy)(const struct xt_mtdtor_param *);
struct module *me;
const char *table;
@@ -101,7 +101,7 @@
char name[XT_FUNCTION_MAXNAMELEN - 1 - sizeof(void *)];
unsigned int (*target)(struct sk_buff **,
const struct xt_target_param *);
- bool (*checkentry)(const struct xt_tgchk_param *);
+ int (*checkentry)(const struct xt_tgchk_param *);
void (*destroy)(const struct xt_tgdtor_param *);
struct module *me;
const char *table;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/ipset/ipt_SET.c new/xtables-addons-1.25/extensions/ipset/ipt_SET.c
--- old/xtables-addons-1.24/extensions/ipset/ipt_SET.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/ipset/ipt_SET.c 2010-04-26 14:12:03.000000000 +0200
@@ -45,7 +45,7 @@
return XT_CONTINUE;
}
-static bool
+static int
checkentry(const struct xt_tgchk_param *par)
{
struct ipt_set_info_target *info = par->targinfo;
@@ -54,7 +54,7 @@
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
if (targinfosize != IPT_ALIGN(sizeof(*info))) {
DP("bad target info size %u", targinfosize);
- return 0;
+ return -EINVAL;
}
#endif
@@ -63,7 +63,7 @@
if (index == IP_SET_INVALID_ID) {
ip_set_printk("cannot find add_set index %u as target",
info->add_set.index);
- return 0; /* error */
+ return -EINVAL;
}
}
@@ -72,16 +72,16 @@
if (index == IP_SET_INVALID_ID) {
ip_set_printk("cannot find del_set index %u as target",
info->del_set.index);
- return 0; /* error */
+ return -EINVAL;
}
}
if (info->add_set.flags[IP_SET_MAX_BINDINGS] != 0
|| info->del_set.flags[IP_SET_MAX_BINDINGS] != 0) {
ip_set_printk("That's nasty!");
- return 0; /* error */
+ return -EINVAL;
}
- return 1;
+ return 0;
}
static void destroy(const struct xt_tgdtor_param *par)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/ipset/ipt_set.c new/xtables-addons-1.25/extensions/ipset/ipt_set.c
--- old/xtables-addons-1.24/extensions/ipset/ipt_set.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/ipset/ipt_set.c 2010-04-26 14:12:03.000000000 +0200
@@ -47,7 +47,7 @@
info->match_set.flags[0] & IPSET_MATCH_INV);
}
-static bool
+static int
checkentry(const struct xt_mtchk_param *par)
{
struct ipt_set_info_match *info = par->matchinfo;
@@ -56,7 +56,7 @@
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
if (matchsize != IPT_ALIGN(sizeof(struct ipt_set_info_match))) {
ip_set_printk("invalid matchsize %d", matchsize);
- return 0;
+ return -EINVAL;
}
#endif
@@ -65,14 +65,14 @@
if (index == IP_SET_INVALID_ID) {
ip_set_printk("Cannot find set indentified by id %u to match",
info->match_set.index);
- return 0; /* error */
+ return -ENOENT;
}
if (info->match_set.flags[IP_SET_MAX_BINDINGS] != 0) {
ip_set_printk("That's nasty!");
- return 0; /* error */
+ return -EINVAL;
}
- return 1;
+ return 0;
}
static void destroy(const struct xt_mtdtor_param *par)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/pknock/xt_pknock.c new/xtables-addons-1.25/extensions/pknock/xt_pknock.c
--- old/xtables-addons-1.24/extensions/pknock/xt_pknock.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/pknock/xt_pknock.c 2010-04-26 14:12:03.000000000 +0200
@@ -1064,9 +1064,9 @@
return ret;
}
-#define RETURN_ERR(err) do { printk(KERN_ERR PKNOCK err); return false; } while (false)
+#define RETURN_ERR(err) do { printk(KERN_ERR PKNOCK err); return -EINVAL; } while (false)
-static bool pknock_mt_check(const struct xt_mtchk_param *par)
+static int pknock_mt_check(const struct xt_mtchk_param *par)
{
struct xt_pknock_mtinfo *info = par->matchinfo;
@@ -1124,9 +1124,10 @@
}
if (!add_rule(info))
+ /* should ENOMEM here */
RETURN_ERR("add_rule() error in checkentry() function.\n");
- return true;
+ return 0;
}
static void pknock_mt_destroy(const struct xt_mtdtor_param *par)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_CHAOS.c new/xtables-addons-1.25/extensions/xt_CHAOS.c
--- old/xtables-addons-1.24/extensions/xt_CHAOS.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_CHAOS.c 2010-04-26 14:12:03.000000000 +0200
@@ -141,22 +141,22 @@
return NF_DROP;
}
-static bool chaos_tg_check(const struct xt_tgchk_param *par)
+static int chaos_tg_check(const struct xt_tgchk_param *par)
{
const struct xt_chaos_tginfo *info = par->targinfo;
if (info->variant == XTCHAOS_DELUDE && !have_delude) {
printk(KERN_WARNING PFX "Error: Cannot use --delude when "
"DELUDE module not available\n");
- return false;
+ return -EINVAL;
}
if (info->variant == XTCHAOS_TARPIT && !have_tarpit) {
printk(KERN_WARNING PFX "Error: Cannot use --tarpit when "
"TARPIT module not available\n");
- return false;
+ return -EINVAL;
}
- return true;
+ return 0;
}
static struct xt_target chaos_tg_reg = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_LOGMARK.c new/xtables-addons-1.25/extensions/xt_LOGMARK.c
--- old/xtables-addons-1.24/extensions/xt_LOGMARK.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_LOGMARK.c 2010-04-26 14:12:03.000000000 +0200
@@ -81,17 +81,17 @@
return XT_CONTINUE;
}
-static bool
+static int
logmark_tg_check(const struct xt_tgchk_param *par)
{
const struct xt_logmark_tginfo *info = par->targinfo;
if (info->level >= 8) {
pr_debug("LOGMARK: level %u >= 8\n", info->level);
- return false;
+ return -EINVAL;
}
- return true;
+ return 0;
}
static struct xt_target logmark_tg_reg[] __read_mostly = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_RAWNAT.c new/xtables-addons-1.25/extensions/xt_RAWNAT.c
--- old/xtables-addons-1.24/extensions/xt_RAWNAT.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_RAWNAT.c 2010-04-26 14:12:03.000000000 +0200
@@ -283,15 +283,15 @@
}
#endif
-static bool rawnat_tg_check(const struct xt_tgchk_param *par)
+static int rawnat_tg_check(const struct xt_tgchk_param *par)
{
if (strcmp(par->table, "raw") == 0 ||
strcmp(par->table, "rawpost") == 0)
- return true;
+ return 0;
printk(KERN_ERR KBUILD_MODNAME " may only be used in the \"raw\" or "
"\"rawpost\" table.\n");
- return false;
+ return -EINVAL;
}
static struct xt_target rawnat_tg_reg[] __read_mostly = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_SYSRQ.c new/xtables-addons-1.25/extensions/xt_SYSRQ.c
--- old/xtables-addons-1.24/extensions/xt_SYSRQ.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_SYSRQ.c 2010-04-26 14:12:03.000000000 +0200
@@ -253,9 +253,8 @@
}
#endif
-static bool sysrq_tg_check(const struct xt_tgchk_param *par)
+static int sysrq_tg_check(const struct xt_tgchk_param *par)
{
-
if (par->target->family == NFPROTO_IPV4) {
const struct ipt_entry *entry = par->entryinfo;
@@ -272,11 +271,11 @@
goto out;
}
- return true;
+ return 0;
out:
printk(KERN_ERR KBUILD_MODNAME ": only available for UDP and UDP-Lite");
- return false;
+ return -EINVAL;
}
static struct xt_target sysrq_tg_reg[] __read_mostly = {
@@ -332,23 +331,14 @@
sysrq_digest_size = crypto_hash_digestsize(sysrq_tfm);
sysrq_digest = kmalloc(sysrq_digest_size, GFP_KERNEL);
ret = -ENOMEM;
- if (sysrq_digest == NULL) {
- printk(KERN_WARNING KBUILD_MODNAME
- ": Cannot allocate digest\n");
+ if (sysrq_digest == NULL)
goto fail;
- }
sysrq_hexdigest = kmalloc(2 * sysrq_digest_size + 1, GFP_KERNEL);
- if (sysrq_hexdigest == NULL) {
- printk(KERN_WARNING KBUILD_MODNAME
- ": Cannot allocate hexdigest\n");
+ if (sysrq_hexdigest == NULL)
goto fail;
- }
sysrq_digest_password = kmalloc(sizeof(sysrq_password), GFP_KERNEL);
- if (sysrq_digest_password == NULL) {
- printk(KERN_WARNING KBUILD_MODNAME
- ": Cannot allocate password digest space\n");
+ if (sysrq_digest_password == NULL)
goto fail;
- }
do_gettimeofday(&now);
sysrq_seqno = now.tv_sec;
ret = xt_register_targets(sysrq_tg_reg, ARRAY_SIZE(sysrq_tg_reg));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_TEE.c new/xtables-addons-1.25/extensions/xt_TEE.c
--- old/xtables-addons-1.24/extensions/xt_TEE.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_TEE.c 2010-04-26 14:12:03.000000000 +0200
@@ -24,7 +24,6 @@
#if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
# define WITH_CONNTRACK 1
# include <net/netfilter/nf_conntrack.h>
-static struct nf_conn tee_track;
#endif
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
# define WITH_IPV6 1
@@ -33,51 +32,23 @@
#include "compat_xtables.h"
#include "xt_TEE.h"
+static bool tee_active[NR_CPUS];
static const union nf_inet_addr tee_zero_address;
-/*
- * Try to route the packet according to the routing keys specified in
- * route_info. Keys are :
- * - ifindex :
- * 0 if no oif preferred,
- * otherwise set to the index of the desired oif
- * - route_info->gateway :
- * 0 if no gateway specified,
- * otherwise set to the next host to which the pkt must be routed
- * If success, skb->dev is the output device to which the packet must
- * be sent and skb->dst is not NULL
- *
- * RETURN: false - if an error occured
- * true - if the packet was succesfully routed to the
- * destination desired
- */
static bool
tee_tg_route4(struct sk_buff *skb, const struct xt_tee_tginfo *info)
{
const struct iphdr *iph = ip_hdr(skb);
- int err;
struct rtable *rt;
struct flowi fl;
memset(&fl, 0, sizeof(fl));
- fl.iif = skb_ifindex(skb);
-#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 19)
- fl.nl_u.ip4_u.fwmark = skb_nfmark(skb);
-#else
- fl.mark = skb_nfmark(skb);
-#endif
fl.nl_u.ip4_u.daddr = info->gw.ip;
fl.nl_u.ip4_u.tos = RT_TOS(iph->tos);
fl.nl_u.ip4_u.scope = RT_SCOPE_UNIVERSE;
- /* Trying to route the packet using the standard routing table. */
- err = ip_route_output_key(&init_net, &rt, &fl);
- if (err != 0) {
- if (net_ratelimit())
- pr_debug(KBUILD_MODNAME
- ": could not route packet (%d)", err);
+ if (ip_route_output_key(&init_net, &rt, &fl) != 0)
return false;
- }
dst_release(skb_dst(skb));
skb_dst_set(skb, &rt->u.dst);
@@ -123,79 +94,58 @@
skb = skb2;
}
- if (dst->hh != NULL) {
+ if (dst->hh != NULL)
neigh_hh_output(dst->hh, skb);
- } else if (dst->neighbour != NULL) {
+ else if (dst->neighbour != NULL)
dst->neighbour->output(skb);
- } else {
- if (net_ratelimit())
- pr_debug(KBUILD_MODNAME "no hdr & no neighbour cache!\n");
+ else
kfree_skb(skb);
- }
}
-/*
- * To detect and deter routed packet loopback when using the --tee option, we
- * take a page out of the raw.patch book: on the copied skb, we set up a fake
- * ->nfct entry, pointing to the local &route_tee_track. We skip routing
- * packets when we see they already have that ->nfct.
- */
static unsigned int
tee_tg4(struct sk_buff **pskb, const struct xt_target_param *par)
{
const struct xt_tee_tginfo *info = par->targinfo;
struct sk_buff *skb = *pskb;
+ struct iphdr *iph;
+ unsigned int cpu = smp_processor_id();
-#ifdef WITH_CONNTRACK
- if (skb->nfct == &tee_track.ct_general) {
- /*
- * Loopback - a packet we already routed, is to be
- * routed another time. Avoid that, now.
- */
- if (net_ratelimit())
- pr_debug(KBUILD_MODNAME "loopback - DROP!\n");
- return NF_DROP;
- }
-#endif
-
- if (!skb_make_writable(pskb, sizeof(struct iphdr)))
- return NF_DROP;
- skb = *pskb;
-
- /*
- * If we are in INPUT, the checksum must be recalculated since
- * the length could have changed as a result of defragmentation.
- */
- if (par->hooknum == NF_INET_LOCAL_IN) {
- struct iphdr *iph = ip_hdr(skb);
- iph->check = 0;
- iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
- }
-
+ if (tee_active[cpu])
+ return XT_CONTINUE;
/*
* Copy the skb, and route the copy. Will later return %XT_CONTINUE for
* the original skb, which should continue on its way as if nothing has
* happened. The copy should be independently delivered to the TEE
* --gateway.
*/
- skb = skb_copy(skb, GFP_ATOMIC);
- if (skb == NULL) {
- if (net_ratelimit())
- pr_debug(KBUILD_MODNAME "copy failed!\n");
+ skb = pskb_copy(skb, GFP_ATOMIC);
+ if (skb == NULL)
return XT_CONTINUE;
- }
+ /*
+ * If we are in PREROUTING/INPUT, the checksum must be recalculated
+ * since the length could have changed as a result of defragmentation.
+ *
+ * We also decrease the TTL to mitigate potential TEE loops
+ * between two hosts.
+ *
+ * Set %IP_DF so that the original source is notified of a potentially
+ * decreased MTU on the clone route. IPv6 does this too.
+ */
+ iph = ip_hdr(skb);
+ iph->frag_off |= htons(IP_DF);
+ if (par->hooknum == NF_INET_PRE_ROUTING ||
+ par->hooknum == NF_INET_LOCAL_IN)
+ --iph->ttl;
+ ip_send_check(iph);
#ifdef WITH_CONNTRACK
/*
- * Tell conntrack to forget this packet since it may get confused
- * when a packet is leaving with dst address == our address.
- * Good idea? Dunno. Need advice.
- *
- * NEW: mark the skb with our &tee_track, so we avoid looping
- * on any already routed packet.
+ * Tell conntrack to forget this packet. It may have side effects to
+ * see the same packet twice, as for example, accounting the original
+ * connection for the cloned packet.
*/
nf_conntrack_put(skb->nfct);
- skb->nfct = &tee_track.ct_general;
+ skb->nfct = &nf_conntrack_untracked.ct_general;
skb->nfctinfo = IP_CT_NEW;
nf_conntrack_get(skb->nfct);
#endif
@@ -216,9 +166,13 @@
* Also on purpose, no fragmentation is done, to preserve the
* packet as best as possible.
*/
- if (tee_tg_route4(skb, info))
+ if (tee_tg_route4(skb, info)) {
+ tee_active[cpu] = true;
tee_tg_send(skb);
-
+ tee_active[cpu] = false;
+ } else {
+ kfree_skb(skb);
+ }
return XT_CONTINUE;
}
@@ -231,13 +185,6 @@
struct flowi fl;
memset(&fl, 0, sizeof(fl));
- fl.iif = skb_ifindex(skb);
- /* No mark in flowi before 2.6.19 */
-#if LINUX_VERSION_CODE == KERNEL_VERSION(2, 6, 19)
- fl.nl_u.ip6_u.fwmark = skb_nfmark(skb);
-#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
- fl.mark = skb_nfmark(skb);
-#endif
fl.nl_u.ip6_u.daddr = info->gw.in6;
fl.nl_u.ip6_u.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) |
(iph->flow_lbl[1] << 8) | iph->flow_lbl[2];
@@ -247,11 +194,8 @@
#else
dst = ip6_route_output(dev_net(skb->dev), NULL, &fl);
#endif
- if (dst == NULL) {
- if (net_ratelimit())
- printk(KERN_ERR "ip6_route_output failed for tee\n");
+ if (dst == NULL)
return false;
- }
dst_release(skb_dst(skb));
skb_dst_set(skb, dst);
@@ -265,36 +209,43 @@
{
const struct xt_tee_tginfo *info = par->targinfo;
struct sk_buff *skb = *pskb;
+ unsigned int cpu = smp_processor_id();
- /* Try silence. */
-#ifdef WITH_CONNTRACK
- if (skb->nfct == &tee_track.ct_general)
- return NF_DROP;
-#endif
-
- if ((skb = skb_copy(skb, GFP_ATOMIC)) == NULL)
+ if (tee_active[cpu])
+ return XT_CONTINUE;
+ skb = pskb_copy(skb, GFP_ATOMIC);
+ if (skb == NULL)
return XT_CONTINUE;
#ifdef WITH_CONNTRACK
nf_conntrack_put(skb->nfct);
- skb->nfct = &tee_track.ct_general;
+ skb->nfct = &nf_conntrack_untracked.ct_general;
skb->nfctinfo = IP_CT_NEW;
nf_conntrack_get(skb->nfct);
#endif
- if (tee_tg_route6(skb, info))
+ if (par->hooknum == NF_INET_PRE_ROUTING ||
+ par->hooknum == NF_INET_LOCAL_IN) {
+ struct ipv6hdr *iph = ipv6_hdr(skb);
+ --iph->hop_limit;
+ }
+ if (tee_tg_route6(skb, info)) {
+ tee_active[cpu] = true;
tee_tg_send(skb);
-
+ tee_active[cpu] = false;
+ } else {
+ kfree_skb(skb);
+ }
return XT_CONTINUE;
}
#endif /* WITH_IPV6 */
-static bool tee_tg_check(const struct xt_tgchk_param *par)
+static int tee_tg_check(const struct xt_tgchk_param *par)
{
const struct xt_tee_tginfo *info = par->targinfo;
/* 0.0.0.0 and :: not allowed */
- return memcmp(&info->gw, &tee_zero_address,
- sizeof(tee_zero_address)) != 0;
+ return (memcmp(&info->gw, &tee_zero_address,
+ sizeof(tee_zero_address)) == 0) ? -EINVAL : 0;
}
static struct xt_target tee_tg_reg[] __read_mostly = {
@@ -302,7 +253,6 @@
.name = "TEE",
.revision = 0,
.family = NFPROTO_IPV4,
- .table = "mangle",
.target = tee_tg4,
.targetsize = sizeof(struct xt_tee_tginfo),
.checkentry = tee_tg_check,
@@ -313,7 +263,6 @@
.name = "TEE",
.revision = 0,
.family = NFPROTO_IPV6,
- .table = "mangle",
.target = tee_tg6,
.targetsize = sizeof(struct xt_tee_tginfo),
.checkentry = tee_tg_check,
@@ -324,27 +273,12 @@
static int __init tee_tg_init(void)
{
-#ifdef WITH_CONNTRACK
- /*
- * Set up fake conntrack (stolen from raw.patch):
- * - to never be deleted, not in any hashes
- */
- atomic_set(&tee_track.ct_general.use, 1);
-
- /* - and look it like as a confirmed connection */
- set_bit(IPS_CONFIRMED_BIT, &tee_track.status);
-
- /* Initialize fake conntrack so that NAT will skip it */
- tee_track.status |= IPS_NAT_DONE_MASK;
-#endif
-
return xt_register_targets(tee_tg_reg, ARRAY_SIZE(tee_tg_reg));
}
static void __exit tee_tg_exit(void)
{
xt_unregister_targets(tee_tg_reg, ARRAY_SIZE(tee_tg_reg));
- /* [SC]: shoud not we cleanup tee_track here? */
}
module_init(tee_tg_init);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_condition.c new/xtables-addons-1.25/extensions/xt_condition.c
--- old/xtables-addons-1.24/extensions/xt_condition.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_condition.c 2010-04-26 14:12:03.000000000 +0200
@@ -56,7 +56,7 @@
/* proc_lock is a user context only semaphore used for write access */
/* to the conditions' list. */
-static struct mutex proc_lock;
+static DEFINE_MUTEX(proc_lock);
static LIST_HEAD(conditions_list);
static struct proc_dir_entry *proc_net_condition;
@@ -100,16 +100,11 @@
{
const struct xt_condition_mtinfo *info = par->matchinfo;
const struct condition_variable *var = info->condvar;
- bool x;
- rcu_read_lock();
- x = rcu_dereference(var->enabled);
- rcu_read_unlock();
-
- return x ^ info->invert;
+ return var->enabled ^ info->invert;
}
-static bool condition_mt_check(const struct xt_mtchk_param *par)
+static int condition_mt_check(const struct xt_mtchk_param *par)
{
struct xt_condition_mtinfo *info = par->matchinfo;
struct condition_variable *var;
@@ -121,21 +116,19 @@
printk(KERN_INFO KBUILD_MODNAME ": name not allowed or too "
"long: \"%.*s\"\n", (unsigned int)sizeof(info->name),
info->name);
- return false;
+ return -EINVAL;
}
/*
* Let's acquire the lock, check for the condition and add it
* or increase the reference counter.
*/
- if (mutex_lock_interruptible(&proc_lock) != 0)
- return false;
-
+ mutex_lock(&proc_lock);
list_for_each_entry(var, &conditions_list, list) {
if (strcmp(info->name, var->status_proc->name) == 0) {
var->refcount++;
mutex_unlock(&proc_lock);
info->condvar = var;
- return true;
+ return 0;
}
}
@@ -143,7 +136,7 @@
var = kmalloc(sizeof(struct condition_variable), GFP_KERNEL);
if (var == NULL) {
mutex_unlock(&proc_lock);
- return false;
+ return -ENOMEM;
}
/* Create the condition variable's proc file entry. */
@@ -152,7 +145,7 @@
if (var->status_proc == NULL) {
kfree(var);
mutex_unlock(&proc_lock);
- return false;
+ return -ENOMEM;
}
var->refcount = 1;
@@ -164,12 +157,12 @@
wmb();
var->status_proc->read_proc = condition_proc_read;
var->status_proc->write_proc = condition_proc_write;
- list_add_rcu(&var->list, &conditions_list);
+ list_add(&var->list, &conditions_list);
var->status_proc->uid = condition_uid_perms;
var->status_proc->gid = condition_gid_perms;
mutex_unlock(&proc_lock);
info->condvar = var;
- return true;
+ return 0;
}
static void condition_mt_destroy(const struct xt_mtdtor_param *par)
@@ -179,16 +172,9 @@
mutex_lock(&proc_lock);
if (--var->refcount == 0) {
- list_del_rcu(&var->list);
+ list_del(&var->list);
remove_proc_entry(var->status_proc->name, proc_net_condition);
mutex_unlock(&proc_lock);
- /*
- * synchronize_rcu() would be good enough, but
- * synchronize_net() guarantees that no packet
- * will go out with the old rule after
- * succesful removal.
- */
- synchronize_net();
kfree(var);
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_fuzzy.c new/xtables-addons-1.25/extensions/xt_fuzzy.c
--- old/xtables-addons-1.24/extensions/xt_fuzzy.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_fuzzy.c 2010-04-26 14:12:03.000000000 +0200
@@ -125,7 +125,7 @@
return false;
}
-static bool fuzzy_mt_check(const struct xt_mtchk_param *par)
+static int fuzzy_mt_check(const struct xt_mtchk_param *par)
{
const struct xt_fuzzy_mtinfo *info = par->matchinfo;
@@ -133,10 +133,10 @@
info->maximum_rate > FUZZY_MAX_RATE ||
info->minimum_rate >= info->maximum_rate) {
printk(KERN_INFO KBUILD_MODNAME ": bad values, please check.\n");
- return false;
+ return -EDOM;
}
- return true;
+ return 0;
}
static struct xt_match fuzzy_mt_reg[] __read_mostly = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_geoip.c new/xtables-addons-1.25/extensions/xt_geoip.c
--- old/xtables-addons-1.24/extensions/xt_geoip.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_geoip.c 2010-04-26 14:12:03.000000000 +0200
@@ -46,23 +46,28 @@
struct geoip_country_user umem;
struct geoip_country_kernel *p;
struct geoip_subnet *s;
+ int ret;
if (copy_from_user(&umem, umem_ptr, sizeof(umem)) != 0)
- return NULL;
+ return ERR_PTR(-EFAULT);
p = kmalloc(sizeof(struct geoip_country_kernel), GFP_KERNEL);
if (p == NULL)
- return NULL;
+ return ERR_PTR(-ENOMEM);
p->count = umem.count;
p->cc = umem.cc;
s = vmalloc(p->count * sizeof(struct geoip_subnet));
- if (s == NULL)
+ if (s == NULL) {
+ ret = -ENOMEM;
goto free_p;
+ }
if (copy_from_user(s, (const void __user *)(unsigned long)umem.subnets,
- p->count * sizeof(struct geoip_subnet)) != 0)
+ p->count * sizeof(struct geoip_subnet)) != 0) {
+ ret = -EFAULT;
goto free_s;
+ }
p->subnets = s;
atomic_set(&p->ref, 1);
@@ -78,7 +83,7 @@
vfree(s);
free_p:
kfree(p);
- return NULL;
+ return ERR_PTR(ret);
}
static void geoip_try_remove_node(struct geoip_country_kernel *p)
@@ -168,7 +173,7 @@
return info->flags & XT_GEOIP_INV;
}
-static bool xt_geoip_mt_checkentry(const struct xt_mtchk_param *par)
+static int xt_geoip_mt_checkentry(const struct xt_mtchk_param *par)
{
struct xt_geoip_match_info *info = par->matchinfo;
struct geoip_country_kernel *node;
@@ -176,13 +181,15 @@
for (i = 0; i < info->count; i++) {
node = find_node(info->cc[i]);
- if (node == NULL)
- if ((node = geoip_add_node((const void __user *)(unsigned long)info->mem[i].user)) == NULL) {
+ if (node == NULL) {
+ node = geoip_add_node((const void __user *)(unsigned long)info->mem[i].user);
+ if (IS_ERR(node)) {
printk(KERN_ERR
- "xt_geoip: unable to load '%c%c' into memory\n",
- COUNTRY(info->cc[i]));
- return false;
+ "xt_geoip: unable to load '%c%c' into memory: %ld\n",
+ COUNTRY(info->cc[i]), PTR_ERR(node));
+ return PTR_ERR(node);
}
+ }
/* Overwrite the now-useless pointer info->mem[i] with
* a pointer to the node's kernelspace structure.
@@ -192,7 +199,7 @@
info->mem[i].kernel = node;
}
- return true;
+ return 0;
}
static void xt_geoip_mt_destroy(const struct xt_mtdtor_param *par)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_lscan.c new/xtables-addons-1.25/extensions/xt_lscan.c
--- old/xtables-addons-1.24/extensions/xt_lscan.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_lscan.c 2010-04-26 14:12:03.000000000 +0200
@@ -216,16 +216,16 @@
(info->match_gr && ctdata->mark == mark_grscan);
}
-static bool lscan_mt_check(const struct xt_mtchk_param *par)
+static int lscan_mt_check(const struct xt_mtchk_param *par)
{
const struct xt_lscan_mtinfo *info = par->matchinfo;
if ((info->match_stealth & ~1) || (info->match_syn & ~1) ||
(info->match_cn & ~1) || (info->match_gr & ~1)) {
printk(KERN_WARNING PFX "Invalid flags\n");
- return false;
+ return -EINVAL;
}
- return true;
+ return 0;
}
static struct xt_match lscan_mt_reg[] __read_mostly = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xtables-addons-1.24/extensions/xt_quota2.c new/xtables-addons-1.25/extensions/xt_quota2.c
--- old/xtables-addons-1.24/extensions/xt_quota2.c 2010-03-17 02:50:23.000000000 +0100
+++ new/xtables-addons-1.25/extensions/xt_quota2.c 2010-04-26 14:12:03.000000000 +0200
@@ -144,28 +144,28 @@
return NULL;
}
-static bool quota_mt2_check(const struct xt_mtchk_param *par)
+static int quota_mt2_check(const struct xt_mtchk_param *par)
{
struct xt_quota_mtinfo2 *q = par->matchinfo;
if (q->flags & ~XT_QUOTA_MASK)
- return false;
+ return -EINVAL;
q->name[sizeof(q->name)-1] = '\0';
if (*q->name == '.' || strchr(q->name, '/') != NULL) {
printk(KERN_ERR "xt_quota<%u>: illegal name\n",
par->match->revision);
- return false;
+ return -EINVAL;
}
q->master = q2_get_counter(q);
if (q->master == NULL) {
printk(KERN_ERR "xt_quota<%u>: memory alloc failure\n",
par->match->revision);
- return false;
+ return -ENOMEM;
}
- return true;
+ return 0;
}
static void quota_mt2_destroy(const struct xt_mtdtor_param *par)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xtables-geoip for openSUSE:Factory
checked in at Mon Apr 26 23:47:25 CEST 2010.
--------
--- xtables-geoip/xtables-geoip.changes 2010-02-07 19:06:32.000000000 +0100
+++ xtables-geoip/xtables-geoip.changes 2010-04-26 14:24:05.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Apr 26 12:23:55 UTC 2010 - jengelh(a)medozas.de
+
+- update database files to 2010.04
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xtables-geoip.spec ++++++
--- /var/tmp/diff_new_pack.INfl4Q/_old 2010-04-26 23:47:16.000000000 +0200
+++ /var/tmp/diff_new_pack.INfl4Q/_new 2010-04-26 23:47:16.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package xtables-geoip (Version 2010.02)
+# spec file for package xtables-geoip (Version 2010.04)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -18,7 +18,7 @@
Name: xtables-geoip
-Version: 2010.02
+Version: 2010.04
Release: 1
Group: Productivity/Networking/Security
Summary: GeoIP database files for xt_geoip
++++++ GeoIPCountryWhois.csv.xz ++++++
Files xtables-geoip/GeoIPCountryWhois.csv.xz and xtables-geoip/GeoIPCountryWhois.csv.xz differ
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kdebase4-openSUSE for openSUSE:Factory
checked in at Mon Apr 26 23:46:56 CEST 2010.
--------
--- KDE/kdebase4-openSUSE/kdebase4-openSUSE.changes 2010-03-15 16:39:06.000000000 +0100
+++ kdebase4-openSUSE/kdebase4-openSUSE.changes 2010-04-23 14:45:17.000000000 +0200
@@ -1,0 +2,12 @@
+Fri Apr 23 12:39:49 UTC 2010 - llunak(a)novell.com
+
+- update versions to 11.3
+
+-------------------------------------------------------------------
+Thu Apr 22 11:15:37 UTC 2010 - wstephenson(a)novell.com
+
+- fix Unknown network status appearing in sysinfo:// (bnc#596118)
+- fix missing NVidia driver version number. (bnc#570200)
+ Patch by Rafał Miłecki
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
kdebase4-openSUSE-11.2.tar.bz2
update_rpm
New:
----
kdebase4-openSUSE-11.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kdebase4-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.t027vl/_old 2010-04-26 23:36:56.000000000 +0200
+++ /var/tmp/diff_new_pack.t027vl/_new 2010-04-26 23:36:56.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kdebase4-openSUSE (Version 11.2)
+# spec file for package kdebase4-openSUSE (Version 11.3)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,18 +19,17 @@
Name: kdebase4-openSUSE
-BuildRequires: hal-devel hwinfo-devel libkde4-devel oxygen-icon-theme rpm-devel
+BuildRequires: hwinfo-devel libkde4-devel oxygen-icon-theme rpm-devel
License: GPLv2+
Group: System/GUI/KDE
Summary: openSUSE KDE Extension
PreReq: %fillup_prereq
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Version: 11.2
-Release: 30
+Version: 11.3
+Release: 1
# git clone git://git.opensuse.org/projects/desktop/kdebase4-openSUSE.git
Source0: kdebase4-openSUSE-%{version}.tar.bz2
Source2: devel-splash.tar.bz2
-Source3: update_rpm
Source4: sysinfo_background.png
Requires: kdebase4-workspace
Provides: kdebase4-SuSE = 11.0
@@ -62,14 +61,14 @@
License: GPLv2+
Summary: System Information KIO-Slave
Group: System/GUI/KDE
-Requires: kio_sysinfo-branding = 11.2
+Requires: kio_sysinfo-branding = 11.3
%if %suse_version > 1030
Requires: %name-lang = %version
%endif
%kde4_runtime_requires
Provides: kdebase3-NLD:/opt/kde3/share/services/sysinfo.protocol
-Provides: kde4-kio_sysinfo = 11.2
-Obsoletes: kde4-kio_sysinfo <= 11.2
+Provides: kde4-kio_sysinfo = 11.3
+Obsoletes: kde4-kio_sysinfo <= 11.3
%description -n kio_sysinfo
This package contains a KDE KIO-Slave showing system information.
@@ -95,7 +94,7 @@
Requires: plasma-theme-aya
Supplements: packageand(kdebase4-workspace:branding-openSUSE)
PreReq: %fillup_prereq
-Provides: kdebase4-workspace-branding = 11.2
+Provides: kdebase4-workspace-branding = 11.3
Conflicts: otherproviders(kdebase4-workspace-branding)
%description -n kdebase4-workspace-branding-openSUSE
@@ -123,7 +122,7 @@
Requires: kdebase4-runtime
Supplements: packageand(kdebase4-runtime:branding-openSUSE)
PreReq: %fillup_prereq
-Provides: kdebase4-runtime-branding = 11.2
+Provides: kdebase4-runtime-branding = 11.3
Conflicts: otherproviders(kdebase4-runtime-branding)
%description -n kdebase4-runtime-branding-openSUSE
@@ -141,10 +140,10 @@
Group: System/GUI/KDE
Requires: kio_sysinfo
Supplements: packageand(kio_sysinfo:branding-openSUSE)
-Provides: kio_sysinfo-branding = 11.2
+Provides: kio_sysinfo-branding = 11.3
Conflicts: otherproviders(kio_sysinfo-branding)
-Provides: kde4-kio_sysinfo-branding-openSUSE = 11.2
-Obsoletes: kde4-kio_sysinfo-branding-openSUSE <= 11.2
+Provides: kde4-kio_sysinfo-branding-openSUSE = 11.3
+Obsoletes: kde4-kio_sysinfo-branding-openSUSE <= 11.3
%description -n kio_sysinfo-branding-openSUSE
This package contains a KDE KIO-Slave showing system information.
@@ -168,10 +167,10 @@
Group: System/GUI/KDE
Supplements: packageand(kdm:branding-openSUSE)
PreReq: %fillup_prereq
-Provides: kdm-branding = 11.2
+Provides: kdm-branding = 11.3
Conflicts: otherproviders(kdm-branding)
-Provides: kde4-kdm-branding-openSUSE = 11.2
-Obsoletes: kde4-kdm-branding-openSUSE <= 11.2
+Provides: kde4-kdm-branding-openSUSE = 11.3
+Obsoletes: kde4-kdm-branding-openSUSE <= 11.3
%description -n kdm-branding-openSUSE
This package contains kdm, the login and session manager for KDE.
@@ -188,7 +187,7 @@
Group: System/GUI/KDE
Requires: kdelibs4
Supplements: packageand(kdelibs4:branding-openSUSE)
-Provides: kdelibs4-branding = 11.2
+Provides: kdelibs4-branding = 11.3
Conflicts: otherproviders(kdelibs4-branding)
%description -n kdelibs4-branding-openSUSE
++++++ kdebase4-openSUSE-11.2.tar.bz2 -> kdebase4-openSUSE-11.3.tar.bz2 ++++++
KDE/kdebase4-openSUSE/kdebase4-openSUSE-11.2.tar.bz2 kdebase4-openSUSE/kdebase4-openSUSE-11.3.tar.bz2 differ: char 11, line 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package obexftp for openSUSE:Factory
checked in at Mon Apr 26 23:36:30 CEST 2010.
--------
--- obexftp/obexftp.changes 2009-01-09 03:29:38.000000000 +0100
+++ obexftp/obexftp.changes 2010-04-26 02:03:46.000000000 +0200
@@ -1,0 +2,20 @@
+Mon Apr 26 02:00:45 CEST 2010 - ro(a)suse.de
+
+- update to 0.23
+ * allow win32 to use hci src names
+ * adding a simpler connect wrapper
+ * show OBEX_HandleInput errors
+ * catch errors and let the user know
+ * print timeout stats if available
+ * sdp unregister more verbose
+ * upgrading btkit
+ * fix for win32 without bt
+ * replacing deprecated automake vars
+ * sizeof() fixes
+ * removing bdaddr_t reference from obexftpd.c
+ * adding bootstrap helper
+ * concurrency bug in extconf.rb generated Makefile (fix by Alin Năstac)
+ * switching from POD to asciidoc
+ * clearing gnu-style implicit rules
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
obexftp-0.22.tar.bz2
New:
----
obexftp-0.23.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obexftp.spec ++++++
--- /var/tmp/diff_new_pack.EGY0mk/_old 2010-04-26 23:35:21.000000000 +0200
+++ /var/tmp/diff_new_pack.EGY0mk/_new 2010-04-26 23:35:21.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package obexftp (Version 0.22)
+# spec file for package obexftp (Version 0.23)
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2010 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,11 +20,11 @@
Name: obexftp
BuildRequires: bluez-devel openobex-devel pkgconfig python-devel
-License: GPL v2 or later
+License: GPLv2+
Group: Productivity/Networking/Other
AutoReqProv: on
-Version: 0.22
-Release: 38
+Version: 0.23
+Release: 1
Summary: ObexFTP Implements the Object Exchange (OBEX) Protocol's File Transfer Feature
Url: http://triq.net/obexftp
Source: %name-%version.tar.bz2
@@ -46,7 +46,7 @@
Christian W. Zuckschwerdt <zany(a)triq.net>
%package devel
-License: GPL v2 or later
+License: GPLv2+
Summary: Development package for obexftp
Group: Productivity/Networking/Other
Requires: %name = %version openobex-devel
@@ -103,7 +103,7 @@
%_libdir/pkgconfig/obexftp.pc
%package -n python-obexftp
-License: GPL v2 or later
+License: GPLv2+
Summary: ObexFTP Implements the Object Exchange (OBEX) - Python bindings
Group: Productivity/Networking/Other
Requires: %name = %version
@@ -125,7 +125,7 @@
%{py_sitedir}/*
%package -n perl-obexftp
-License: GPL v2 or later
+License: GPLv2+
Summary: ObexFTP Implements the Object Exchange (OBEX) - Perl bindings
Group: Productivity/Networking/Other
Requires: %name = %version
++++++ obexftp-0.22.tar.bz2 -> obexftp-0.23.tar.bz2 ++++++
++++ 4160 lines of diff (skipped)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package rpmlint for openSUSE:Factory
checked in at Mon Apr 26 23:34:56 CEST 2010.
--------
--- rpmlint/rpmlint.changes 2010-04-06 18:31:58.000000000 +0200
+++ rpmlint/rpmlint.changes 2010-04-26 12:05:27.000000000 +0200
@@ -1,0 +2,27 @@
+Mon Apr 26 11:09:53 CEST 2010 - dmueller(a)suse.de
+
+- check for missing xinetd.d (bnc#436326)
+- check for files in /var/run (fate#303793)
+
+-------------------------------------------------------------------
+Thu Apr 22 12:02:26 CEST 2010 - dmueller(a)suse.de
+
+- check for live update problems (bnc#477649)
+- rediff and enable the shared lib dependency check fix
+
+-------------------------------------------------------------------
+Wed Apr 21 12:47:00 UTC 2010 - aj(a)suse.de
+
+- Add some missing rpm groups and sort list.
+
+-------------------------------------------------------------------
+Mon Apr 19 11:26:37 CEST 2010 - dmueller(a)suse.de
+
+- tighten the interpreter check (bnc#574650)
+
+-------------------------------------------------------------------
+Fri Apr 16 14:36:45 CEST 2010 - dmueller(a)suse.de
+
+- suppress warnings about cron.d symlinks (bnc#591431)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
check-cron-dependency.diff
New:
----
stricter-interpreter-check.diff
suse-check-optional-dependencies.diff
suse-file-var-run.diff
suse-pkg-config-check.diff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.uSckoE/_old 2010-04-26 23:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uSckoE/_new 2010-04-26 23:33:58.000000000 +0200
@@ -23,7 +23,7 @@
BuildRequires: rpm-python
Summary: Rpm correctness checker
Version: 0.95
-Release: 3
+Release: 4
Source0: %{name}-%{version}.tar.bz2
Source1: config
Source1001: config.in
@@ -62,9 +62,11 @@
Patch4: invalid-filerequires.diff
Patch5: suse-bzip-bigger-than-100k.diff
Patch6: suse-filesystem.diff
+Patch7: suse-pkg-config-check.diff
Patch8: suse-debuginfo.diff
Patch9: no-doc-for-lib.diff
Patch10: add-scoring-support.diff
+Patch11: suse-file-var-run.diff
Patch12: usr-arch.diff
Patch13: script-interpreter-only-for-exec-scripts.diff
Patch14: sourced-dirs.diff
@@ -89,7 +91,7 @@
Patch37: buildroot-in-scripts.diff
Patch39: libtool-wrapper-check.diff
Patch41: perl-versioned-rpath-deps.diff
-Patch42: check-cron-dependency.diff
+Patch42: suse-check-optional-dependencies.diff
Patch46: locale-support.diff
# not is also in CheckFilelist.py
Patch47: noarch-lib64.diff
@@ -111,6 +113,7 @@
Patch72: version-control-internal-file.diff
Patch73: avoid-mismatched-libregex.diff
Patch74: filename-non-utf8-exception.diff
+Patch75: stricter-interpreter-check.diff
%py_requires
%description
@@ -133,9 +136,11 @@
%patch4
%patch5
%patch6
+%patch7
%patch8
%patch9
#%patch10
+%patch11
%patch12
%patch13
%patch14
@@ -160,7 +165,7 @@
%patch37
#%patch39
#%patch41
-#%patch42
+%patch42
#%patch46
#%patch47
#%patch49
@@ -173,7 +178,7 @@
#%patch60
%patch62
#%patch63
-#%patch65
+%patch65
#%patch67
#%patch68
#%patch69
@@ -181,6 +186,7 @@
%patch72
%patch73
%patch74
+%patch75
cp -p %{SOURCE1} .
cp -p %{SOURCE2} .
cp -p %{SOURCE3} .
++++++ LibraryPolicyCheck.py ++++++
--- /var/tmp/diff_new_pack.uSckoE/_old 2010-04-26 23:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uSckoE/_new 2010-04-26 23:33:58.000000000 +0200
@@ -589,6 +589,13 @@
if os.path.isdir(pkg.dirName()+f):
dirs.add(f)
+ # Verify it doesn't have hard dependency on non-lib packages
+ for dep in pkg.requires():
+ if (dep[0].startswith('rpmlib(')):
+ continue
+ if (dep[2] & (rpm.RPMSENSE_GREATER | rpm.RPMSENSE_EQUAL)) == rpm.RPMSENSE_EQUAL:
+ printWarning(pkg, "shlib-fixed-dependency", Pkg.formatRequire(dep[0], dep[1], dep[2]))
+
# Verify non-lib stuff does not add dependencies
if libs:
for dep in pkg_requires.difference(_essential_dependencies):
@@ -638,6 +645,12 @@
"""Your package starts with 'lib' as part of it's name, but does not provide
any libraries. It must not be called a lib-package then. Give it a more
sensible name.""",
+'shlib-fixed-dependency',
+"""Your shared library package requires a fixed version of another package. The
+intention of the Shared Library Policy is to allow parallel installation of
+multiple versions of the same shared library, hard dependencies likely make that
+impossible. Please remove this dependency and instead move it to the runtime uses
+of your library.""",
'shlib-unversioned-lib',
"""Your package matches the Shared Library Policy Naming Scheme but contains an
unversioned library. Therefore it is very unlikely that your package can be installed
++++++ config ++++++
--- /var/tmp/diff_new_pack.uSckoE/_old 2010-04-26 23:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uSckoE/_new 2010-04-26 23:33:58.000000000 +0200
@@ -74,6 +74,7 @@
addFilter(" dir-or-file-in-opt")
addFilter("incoherent-version-in-changelog")
addFilter(" no-signature")
+addFilter(" symlink-crontab-file") #bnc591431
addFilter(" without-chkconfig")
addFilter("unstripped-binary-or-object.*\.ko")
addFilter(" no-chkconfig")
++++++ rpmgroups.config ++++++
--- /var/tmp/diff_new_pack.uSckoE/_old 2010-04-26 23:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uSckoE/_new 2010-04-26 23:33:58.000000000 +0200
@@ -32,8 +32,10 @@
"Development/Languages/C and C++" ,\
"Development/Languages/Fortran" ,\
"Development/Languages/Java" ,\
+ "Development/Languages/Mono" ,\
"Development/Languages/Other" ,\
"Development/Languages/Perl" ,\
+ "Development/Libraries/PHP" ,\
"Development/Languages/Python" ,\
"Development/Languages/Ruby" ,\
"Development/Languages/Scheme" ,\
@@ -59,8 +61,8 @@
"Development/Tools/Navigators" ,\
"Development/Tools/Other" ,\
"Development/Tools/Version Control" ,\
- "Documentation/Howto" ,\
"Documentation/HTML" ,\
+ "Documentation/Howto" ,\
"Documentation/Man" ,\
"Documentation/Other" ,\
"Documentation/SuSE" ,\
@@ -87,6 +89,9 @@
"Productivity/Databases/Clients" ,\
"Productivity/Databases/Servers" ,\
"Productivity/Databases/Tools" ,\
+ "Productivity/Editors/Emacs" ,\
+ "Productivity/Editors/Other" ,\
+ "Productivity/Editors/Vi" ,\
"Productivity/File utilities" ,\
"Productivity/Graphics/3D Editors" ,\
"Productivity/Graphics/Bitmap Editors" ,\
@@ -122,9 +127,9 @@
"Productivity/Networking/Boot/Clients" ,\
"Productivity/Networking/Boot/Servers" ,\
"Productivity/Networking/Boot/Utilities" ,\
- "Productivity/Networking/Diagnostic" ,\
"Productivity/Networking/DNS/Servers" ,\
"Productivity/Networking/DNS/Utilities" ,\
+ "Productivity/Networking/Diagnostic" ,\
"Productivity/Networking/Email/Clients" ,\
"Productivity/Networking/Email/Mailinglists" ,\
"Productivity/Networking/Email/Servers" ,\
@@ -133,26 +138,26 @@
"Productivity/Networking/Ftp/Clients" ,\
"Productivity/Networking/Ftp/Servers" ,\
"Productivity/Networking/ICQ" ,\
- "Productivity/Networking/Instant Messenger" ,\
"Productivity/Networking/IRC" ,\
+ "Productivity/Networking/Instant Messenger" ,\
"Productivity/Networking/LDAP/Clients" ,\
"Productivity/Networking/LDAP/Servers" ,\
"Productivity/Networking/LDAP/Utilities" ,\
+ "Productivity/Networking/NFS" ,\
+ "Productivity/Networking/NIS" ,\
"Productivity/Networking/Napster" ,\
"Productivity/Networking/News/Clients" ,\
"Productivity/Networking/News/Servers" ,\
"Productivity/Networking/News/Utilities" ,\
- "Productivity/Networking/NFS" ,\
- "Productivity/Networking/NIS" ,\
"Productivity/Networking/Novell" ,\
"Productivity/Networking/Other" ,\
"Productivity/Networking/PPP" ,\
"Productivity/Networking/Radius/Clients" ,\
"Productivity/Networking/Radius/Servers" ,\
"Productivity/Networking/Routing" ,\
+ "Productivity/Networking/SSH" ,\
"Productivity/Networking/Samba" ,\
"Productivity/Networking/Security" ,\
- "Productivity/Networking/SSH" ,\
"Productivity/Networking/System" ,\
"Productivity/Networking/Talk/Clients" ,\
"Productivity/Networking/Talk/Servers" ,\
@@ -175,8 +180,8 @@
"Productivity/Publishing/HTML/Tools" ,\
"Productivity/Publishing/Other" ,\
"Productivity/Publishing/PDF" ,\
- "Productivity/Publishing/Presentation" ,\
"Productivity/Publishing/PS" ,\
+ "Productivity/Publishing/Presentation" ,\
"Productivity/Publishing/SGML" ,\
"Productivity/Publishing/TeX/Base" ,\
"Productivity/Publishing/TeX/Fonts" ,\
@@ -197,10 +202,10 @@
"Productivity/Telephony/H323/Clients" ,\
"Productivity/Telephony/H323/Servers" ,\
"Productivity/Telephony/H323/Utilities" ,\
- "Productivity/Telephony/Servers" ,\
"Productivity/Telephony/SIP/Clients" ,\
"Productivity/Telephony/SIP/Servers" ,\
"Productivity/Telephony/SIP/Utilities" ,\
+ "Productivity/Telephony/Servers" ,\
"Productivity/Telephony/Utilities" ,\
"Productivity/Text/Convertors" ,\
"Productivity/Text/Editors" ,\
++++++ stricter-interpreter-check.diff ++++++
--- FilesCheck.py
+++ FilesCheck.py
@@ -826,7 +826,7 @@
f.endswith('.la')):
printError(pkg, 'script-without-shebang', f)
- if mode & 0111 == 0 and not is_doc:
+ if mode & 0111 == 0 and not is_doc and interpreter.startswith("/"):
printError(pkg, 'non-executable-script', f,
oct(perm), interpreter)
if line.endswith('\r\n') or line.endswith('\r'):
++++++ suse-check-optional-dependencies.diff ++++++
--- FilesCheck.py
+++ FilesCheck.py
@@ -428,6 +428,16 @@
if res.group(1) != pkg.name:
printError(pkg, 'incoherent-logrotate-file', f)
+ deps=[x[0] for x in pkg.requires()+pkg.recommends()+pkg.suggests()]
+ if res and not ('logrotate' in deps) and pkg.name != "logrotate":
+ printError(pkg, 'missing-dependency-to-logrotate', "for logrotate script", f)
+ if f.startswith('/etc/cron.') \
+ and not ('cron' in deps) and pkg.name != "cron":
+ printError(pkg, 'missing-dependency-to-cron', "for cron script", f)
+ if f.startswith('/etc/xinet.d/') \
+ and not ('xinetd' in deps) and pkg.name != "xinetd":
+ printError(pkg, 'missing-dependency-to-xinetd', "for xinet.d script", f)
+
if link != '':
ext = compr_regex.search(link)
if ext:
@@ -1186,6 +1196,24 @@
extraction not working as expected. Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.''',
+'missing-dependency-to-cron',
+'''This package installs a file in /etc/cron.*/ but
+doesn't require cron to be installed. as cron is not part of the essential packages,
+your package should explicitely require cron to make sure that your cron job is
+executed. If it is an optional feature of your package, recommend or suggest cron.''',
+
+'missing-dependency-to-logrotate',
+'''This package installs a file in /etc/logrotate.d/ but
+doesn't require logrotate to be installed. Because logrotate is not part of the essential packages,
+your package should explicitely depend on logrotate to make sure that your logrotate
+job is executed. If it is an optional feature of your package, recommend or suggest logrotate.''',
+
+'missing-dependency-to-xinetd',
+'''This package installs a file in /etc/xinetd.d/ but
+doesn't require xinetd to be installed. Because xinetd is not part of the essential packages,
+your package should explicitely depend on logrotate to make sure that your xinetd
+job is executed. If it is an optional feature of your package, recommend or suggest xinetd.''',
+
'read-error',
'''This file could not be read. A reason for this could be that the info about
it in the rpm header indicates that it is supposed to be a readable normal file
++++++ suse-file-var-run.diff ++++++
--- FilesCheck.py
+++ FilesCheck.py
@@ -402,6 +402,8 @@
printError(pkg, 'dir-or-file-in-usr-local', f)
elif f.startswith('/var/local/'):
printError(pkg, 'dir-or-file-in-var-local', f)
+ elif f.startswith('/var/run/') and f not in ghost_files:
+ printError(pkg, 'dir-or-file-in-var-run', f)
elif sub_bin_regex.search(f):
printError(pkg, 'subdir-in-bin', f)
elif f.startswith('/home/'):
@@ -945,6 +947,12 @@
'''A file in the package is located in /var/local. It's not permitted
for packages to install files in this directory.''',
+'dir-or-file-in-var-run',
+'''A file or directory in the package is located in /var/run. It's not
+permitted for packages to install files in this directory as it might
+be created as tmpfs during boot. Modify your package to create the
+necessary files during runtime.''',
+
'subdir-in-bin',
'''The package contains a subdirectory in /usr/bin. It's not permitted to
create a subdir there. Create it in /usr/lib/ instead.''',
++++++ suse-pkg-config-check.diff ++++++
--- TagsCheck.py
+++ TagsCheck.py
@@ -603,10 +603,12 @@
base = is_devel.group(1)
dep = None
has_so = False
+ has_pc = False
for fname in pkg.files():
if fname.endswith('.so'):
has_so = True
- break
+ if fname.endswith('.pc'):
+ has_pc = True
if has_so:
base_or_libs = base + '/' + base + '-libs/lib' + base
# try to match *%_isa as well (e.g. "(x86-64)", "(x86-32)")
@@ -643,6 +645,15 @@
if prov not in (x[0] for x in pkg.provides()):
printWarning(pkg, 'no-provides', prov)
+ if has_pc:
+ found_pkg_config_dep = False
+ for p in (x[0] for x in pkg.provides()):
+ if (p.startswith("pkgconfig(")):
+ found_pkg_config_dep = True
+ break
+ if not found_pkg_config_dep:
+ printWarning(pkg, 'no-pkg-config-provides')
+
# List of words to ignore in spell check
ignored_words = [x.split('/')[-1] for x in pkg.files()]
@@ -1049,6 +1060,11 @@
'no-url-tag',
'''The URL tag is missing.''',
+'no-pkg-config-provides',
+'''The package installes a .pc file but does not provide pkgconfig(..) provides.
+The most likely reason for that is that it was built without BuildRequires: pkg-config.
+Please double check your build dependencies.''',
+
'name-repeated-in-summary',
'''The name of the package is repeated in its summary. This is often redundant
information and looks silly in various programs' output. Make the summary
++++++ suse-shlib-devel-dependency.diff ++++++
--- /var/tmp/diff_new_pack.uSckoE/_old 2010-04-26 23:33:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uSckoE/_new 2010-04-26 23:33:58.000000000 +0200
@@ -1,14 +1,15 @@
--- TagsCheck.py
+++ TagsCheck.py
-@@ -524,9 +524,9 @@ class TagsCheck(AbstractCheck.AbstractCheck):
- has_so=1
- break
+@@ -610,10 +610,10 @@
+ if fname.endswith('.pc'):
+ has_pc = True
if has_so:
- base_or_libs = base + '/' + base + '-libs/lib' + base
-+ base_or_libs = base + '*/' + base + '-libs/lib' + base
++ base_or_libs = base + '*/' + base + '-libs/lib' + base + '*'
+ # try to match *%_isa as well (e.g. "(x86-64)", "(x86-32)")
+ base_or_libs_re = re.compile(
+- '^(lib)?%s(-libs)?(\(\w+-\d+\))?$' % re.escape(base))
++ '^(lib)?%s(-libs)?[\d_]*(\(\w+-\d+\))?$' % re.escape(base))
for d in deps:
-- if d[0] == base or d[0] == base + '-libs' or d[0] == 'lib' + base:
-+ if d[0] == base or d[0] == base + '-libs' or d[0] == 'lib' + base or d[0].startswith(base):
- dep=d
- break
- if not dep:
+ if base_or_libs_re.match(d[0]):
+ dep = d
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xmms2 for openSUSE:Factory
checked in at Mon Apr 26 23:33:35 CEST 2010.
--------
--- xmms2/xmms2.changes 2010-04-19 18:48:55.000000000 +0200
+++ xmms2/xmms2.changes 2010-04-26 14:35:22.000000000 +0200
@@ -1,0 +2,34 @@
+Mon Apr 26 09:31:14 UTC 2010 - dimstar(a)opensuse.org
+
+- Add xmms2-pkgconfig.patch: pkg-config version needs to be a
+ version only.
+
+-------------------------------------------------------------------
+Fri Apr 23 08:01:01 UTC 2010 - andrea(a)opensuse.org
+
+- split out libxmmsclient* libraries
+
+-------------------------------------------------------------------
+Wed Apr 21 09:37:19 UTC 2010 - andrea(a)opensuse.org
+
+- rewritten spec file, split out packages and reduced dependencies
+ to main package
+
+-------------------------------------------------------------------
+Wed Apr 21 07:54:13 UTC 2010 - andrea(a)opensuse.org
+
+- removed gamin dependency, no more required
+
+-------------------------------------------------------------------
+Tue Apr 20 23:53:22 UTC 2010 - andrea(a)opensuse.org
+
+- added xmms2-0.7-cunit.patch to fix missing -lncurses to linker
+ (if build with CUnit)
+- removed mpg123 code because MAY cause legal issues (mp3 support)
+
+-------------------------------------------------------------------
+Tue Apr 20 09:08:19 UTC 2010 - davejplater(a)gmail.com
+
+- Changed build dependency from fftw to fftw3
+
+-------------------------------------------------------------------
@@ -60,0 +95 @@
+
calling whatdependson for head-i586
New:
----
xmms2-0.7-cunit.patch
xmms2-pkgconfig.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xmms2.spec ++++++
++++ 1029 lines (skipped)
++++ between xmms2/xmms2.spec
++++ and xmms2/xmms2.spec
++++++ xmms2-0.7-cunit.patch ++++++
diff -uNr xmms2-0.7DrNo/tests/wscript new-xmms2//tests/wscript
--- xmms2-0.7DrNo/tests/wscript 2010-02-19 18:43:54.000000000 +0100
+++ new-xmms2//tests/wscript 2010-04-19 18:55:21.802887561 +0200
@@ -5,6 +5,7 @@ server_suite=["server/t_streamtype.c"]
def configure(conf):
conf.check_cc(header_name="CUnit/CUnit.h", mandatory=True)
conf.check_cc(lib="cunit", uselib_store="cunit", mandatory=True)
+ conf.check_cc(lib="ncurses", uselib_store="ncurses")
code = """
static void T (void) __attribute__ ((constructor (220)));
@@ -20,7 +20,7 @@
obj.source = ['runner/main.c', 'runner/valgrind.c'] + types_suite
obj.includes = '. ../ runner/ ../src ../src/include'
obj.uselib_local = 'xmmstypes'
- obj.uselib = 'cunit valgrind'
+ obj.uselib = 'cunit ncurses valgrind'
obj.install_path = None
obj = bld.new_task_gen('cc', 'program')
@@ -28,7 +28,7 @@
obj.source = ['runner/main.c', 'runner/valgrind.c', '../src/xmms/streamtype.c', '../src/xmms/object.c'] + server_suite
obj.includes = '. ../ runner/ ../src ../src/includepriv ../src/include'
obj.uselib_local = 'xmmstypes'
- obj.uselib = 'cunit valgrind glib2 gthread2'
+ obj.uselib = 'cunit ncurses valgrind glib2 gthread2'
obj.install_path = None
++++++ xmms2-0.7DrNo.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.c new/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.c
--- old/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.c 2010-02-19 18:43:54.000000000 +0100
+++ new/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,223 +0,0 @@
-/* XMMS2 - X Music Multiplexer System
- *
- * Copyright (C) 2003-2009 XMMS2 Team
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-/**
- * ID3v1
- */
-
-#include <glib.h>
-#include "xmms/xmms_xformplugin.h"
-#include "xmms/xmms_medialib.h"
-#include "xmms/xmms_log.h"
-#include "id3v1.h"
-
-static const gchar * const id3_genres[] = {
- "Blues", "Classic Rock", "Country", "Dance",
- "Disco", "Funk", "Grunge", "Hip-Hop",
- "Jazz", "Metal", "New Age", "Oldies",
- "Other", "Pop", "R&B", "Rap", "Reggae",
- "Rock", "Techno", "Industrial", "Alternative",
- "Ska", "Death Metal", "Pranks", "Soundtrack",
- "Euro-Techno", "Ambient", "Trip-Hop", "Vocal",
- "Jazz+Funk", "Fusion", "Trance", "Classical",
- "Instrumental", "Acid", "House", "Game",
- "Sound Clip", "Gospel", "Noise", "Alt",
- "Bass", "Soul", "Punk", "Space",
- "Meditative", "Instrumental Pop",
- "Instrumental Rock", "Ethnic", "Gothic",
- "Darkwave", "Techno-Industrial", "Electronic",
- "Pop-Folk", "Eurodance", "Dream",
- "Southern Rock", "Comedy", "Cult",
- "Gangsta Rap", "Top 40", "Christian Rap",
- "Pop/Funk", "Jungle", "Native American",
- "Cabaret", "New Wave", "Psychedelic", "Rave",
- "Showtunes", "Trailer", "Lo-Fi", "Tribal",
- "Acid Punk", "Acid Jazz", "Polka", "Retro",
- "Musical", "Rock & Roll", "Hard Rock", "Folk",
- "Folk/Rock", "National Folk", "Swing",
- "Fast-Fusion", "Bebob", "Latin", "Revival",
- "Celtic", "Bluegrass", "Avantgarde",
- "Gothic Rock", "Progressive Rock",
- "Psychedelic Rock", "Symphonic Rock", "Slow Rock",
- "Big Band", "Chorus", "Easy Listening",
- "Acoustic", "Humour", "Speech", "Chanson",
- "Opera", "Chamber Music", "Sonata", "Symphony",
- "Booty Bass", "Primus", "Porn Groove",
- "Satire", "Slow Jam", "Club", "Tango",
- "Samba", "Folklore", "Ballad", "Power Ballad",
- "Rhythmic Soul", "Freestyle", "Duet",
- "Punk Rock", "Drum Solo", "A Cappella",
- "Euro-House", "Dance Hall", "Goa",
- "Drum & Bass", "Club-House", "Hardcore",
- "Terror", "Indie", "BritPop", "Negerpunk",
- "Polsk Punk", "Beat", "Christian Gangsta Rap",
- "Heavy Metal", "Black Metal", "Crossover",
- "Contemporary Christian", "Christian Rock",
- "Merengue", "Salsa", "Thrash Metal",
- "Anime", "JPop", "Synthpop"
-};
-
-typedef struct id3v1tag_St {
- char tag[3]; /* always "TAG": defines ID3v1 tag 128 bytes before EOF */
- char title[30];
- char artist[30];
- char album[30];
- char year[4];
- union {
- struct {
- char comment[30];
- } v1_0;
- struct {
- char comment[28];
- char __zero;
- unsigned char track_number;
- } v1_1;
- } u;
- unsigned char genre;
-} id3v1tag_t;
-
-static void
-xmms_id3v1_set (xmms_xform_t *xform, const char *key, const char *value,
- int len, const char *encoding)
-{
- gsize readsize,writsize;
- GError *err = NULL;
- gchar *tmp;
-
- /* property already set? */
- if (xmms_xform_metadata_has_val (xform, key)) {
- return;
- }
-
- g_clear_error (&err);
-
- tmp = g_convert (value, len, "UTF-8", encoding, &readsize, &writsize, &err);
- if (!tmp) {
- /* in case of not supported encoding, we try to fallback to latin1 */
- xmms_log_info ("Converting ID3v1 tag '%s' failed (check id3v1_encoding property): %s", key, err ? err->message : "Error not set");
- err = NULL;
- tmp = g_convert (value, len, "UTF-8", "ISO8859-1", &readsize, &writsize, &err);
- }
- if (tmp) {
- g_strstrip (tmp);
- if (tmp[0] != '\0') {
- xmms_xform_metadata_set_str (xform, key, tmp);
- }
- g_free (tmp);
- }
-}
-
-static gboolean
-xmms_id3v1_parse (xmms_xform_t *xform, guchar *buf)
-{
- xmms_config_property_t *config;
- id3v1tag_t *tag = (id3v1tag_t *) buf;
- const char *encoding;
- const gchar *metakey;
-
- if (strncmp (tag->tag, "TAG", 3) != 0) {
- return FALSE;
- }
-
- XMMS_DBG ("Found ID3v1 TAG!");
-
- config = xmms_xform_config_lookup (xform, "id3v1_encoding");
- g_return_val_if_fail (config, FALSE);
- encoding = xmms_config_property_get_string (config);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_ARTIST;
- xmms_id3v1_set (xform, metakey, tag->artist,
- sizeof (tag->artist), encoding);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_ALBUM;
- xmms_id3v1_set (xform, metakey, tag->album,
- sizeof (tag->album), encoding);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TITLE;
- xmms_id3v1_set (xform, metakey, tag->title,
- sizeof (tag->title), encoding);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_YEAR;
- xmms_id3v1_set (xform, metakey, tag->year,
- sizeof (tag->year), encoding);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
- if (!xmms_xform_metadata_has_val (xform, metakey)) {
- if (tag->genre >= G_N_ELEMENTS (id3_genres)) {
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
- xmms_xform_metadata_set_str (xform, metakey, "Unknown");
- } else {
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_GENRE;
- xmms_xform_metadata_set_str (xform, metakey,
- id3_genres[tag->genre]);
- }
- }
-
- if (tag->u.v1_1.__zero == 0 && tag->u.v1_1.track_number > 0) {
- /* V1.1 */
- xmms_id3v1_set (xform, XMMS_MEDIALIB_ENTRY_PROPERTY_COMMENT,
- tag->u.v1_1.comment, sizeof (tag->u.v1_1.comment),
- encoding);
-
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR;
- if (!xmms_xform_metadata_has_val (xform, metakey)) {
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_TRACKNR;
- xmms_xform_metadata_set_int (xform, metakey,
- tag->u.v1_1.track_number);
- }
- } else {
- metakey = XMMS_MEDIALIB_ENTRY_PROPERTY_COMMENT;
- xmms_id3v1_set (xform, metakey, tag->u.v1_0.comment,
- sizeof (tag->u.v1_0.comment), encoding);
- }
-
- return TRUE;
-}
-
-gint
-xmms_id3v1_get_tags (xmms_xform_t *xform)
-{
- xmms_error_t err;
- gint64 res;
- guchar buf[128];
- gint ret = 0;
-
- xmms_error_reset (&err);
-
- res = xmms_xform_seek (xform, -128, XMMS_XFORM_SEEK_END, &err);
- if (res == -1) {
- XMMS_DBG ("Couldn't seek - not getting id3v1 tag");
- return 0;
- }
-
- if (xmms_xform_read (xform, buf, 128, &err) == 128) {
- if (xmms_id3v1_parse (xform, buf)) {
- ret = 128;
- }
- } else {
- XMMS_DBG ("Read of 128 bytes failed?!");
- xmms_error_reset (&err);
- }
-
- res = xmms_xform_seek (xform, 0, XMMS_XFORM_SEEK_SET, &err);
- if (res == -1) {
- XMMS_DBG ("Couldn't seek after getting id3 tag?!? very bad");
- return -1;
- }
-
- return ret;
-}
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.h new/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.h
--- old/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.h 2010-02-19 18:43:54.000000000 +0100
+++ new/xmms2-0.7DrNo/src/plugins/mpg123/id3v1.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-/* XMMS2 - X Music Multiplexer System
- *
- * Copyright (C) 2003-2009 XMMS2 Team
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-
-
-
-#ifndef __XMMS_MAD_ID3V1_H__
-#define __XMMS_MAD_ID3V1_H__
-
-gint xmms_id3v1_get_tags (xmms_xform_t *xform);
-
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmms2-0.7DrNo/src/plugins/mpg123/mpg123.c new/xmms2-0.7DrNo/src/plugins/mpg123/mpg123.c
--- old/xmms2-0.7DrNo/src/plugins/mpg123/mpg123.c 2010-02-19 18:43:54.000000000 +0100
+++ new/xmms2-0.7DrNo/src/plugins/mpg123/mpg123.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,399 +0,0 @@
-/* XMMS2 plugin for decoding MPEG audio using libmpg123
- * Copyright (C) 2007-2009 XMMS2 Team
- *
- * PLUGINS ARE NOT CONSIDERED TO BE DERIVED WORK !!!
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * For libmpg123 API have a look at http://mpg123.org/api/ .
- *
- * This is also a very basic mpg123 decoder plugin.
- * Configurable goodies of libmpg123 are missing:
- * - equalizer (fast, using the MPEG frequency bands directly)
- * - forced mono, resampling (xmms2 can handle that itself, I guess)
- * - choose RVA preamp (album/mix, from lame tag ReplayGain info or
- * ID3v2 tags)
- * This should be easy to add for an XMMS2 hacker.
- *
- * Note on metadata:
- * With libmpg123 you can get at least all text and comment ID3v2
- * (version 2.2, 2.3, 2.4) frames as well as the usual id3v1 info
- * (when you get to the end of the file...).
- * The decoder also likes to read ID3 tags for getting RVA-related
- * info that players like foobar2000 store there... Now the problem is:
- * Usually, the id3 xform reads and cuts the id3 data, killing the info
- * for mpg123...
- * Perhaps one can make the generic id3 plugin store the necessary info
- * for retrieval here, or just keep the id3 tags there...
- */
-
-#include "xmms/xmms_xformplugin.h"
-#include "xmms/xmms_log.h"
-#include "xmms/xmms_medialib.h"
-
-#include <stdlib.h>
-#include <glib.h>
-#include <mpg123.h>
-
-#include "id3v1.h"
-
-#define BUFSIZE 4096
-
-typedef struct xmms_mpg123_data_St {
- mpg123_handle *decoder;
- mpg123_pars *param;
-
- glong samplerate;
- gint channels;
- gboolean eof_found;
- gint filesize;
-
- /* input data buffer */
- guint8 buf[BUFSIZE];
-} xmms_mpg123_data_t;
-
-/*
- * Function prototypes
- */
-
-static gboolean xmms_mpg123_plugin_setup (xmms_xform_plugin_t *xform_plugin);
-static gint xmms_mpg123_read (xmms_xform_t *xform, xmms_sample_t *buf,
- gint len, xmms_error_t *err);
-static gboolean xmms_mpg123_init (xmms_xform_t *xform);
-static void xmms_mpg123_destroy (xmms_xform_t *xform);
-static gint64 xmms_mpg123_seek (xmms_xform_t *xform, gint64 samples,
- xmms_xform_seek_mode_t whence,
- xmms_error_t *err);
-
-/*
- * Plugin header
- */
-
-XMMS_XFORM_PLUGIN ("mpg123", "mpg123 decoder", XMMS_VERSION,
- "mpg123 decoder for MPEG 1.0/2.0/2.5 layer 1/2/3 audio",
- xmms_mpg123_plugin_setup);
-
-static gboolean
-xmms_mpg123_plugin_setup (xmms_xform_plugin_t *xform_plugin)
-{
- xmms_xform_methods_t methods;
- int result;
-
- result = mpg123_init ();
- if (result != MPG123_OK) {
- return FALSE;
- }
-
- XMMS_XFORM_METHODS_INIT (methods);
- methods.init = xmms_mpg123_init;
- methods.destroy = xmms_mpg123_destroy;
- methods.read = xmms_mpg123_read;
- methods.seek = xmms_mpg123_seek;
- xmms_xform_plugin_methods_set (xform_plugin, &methods);
-
- xmms_xform_plugin_config_property_register (xform_plugin,
- "id3v1_encoding",
- "ISO8859-1",
- NULL,
- NULL);
-
- xmms_xform_plugin_indata_add (xform_plugin,
- XMMS_STREAM_TYPE_MIMETYPE,
- "audio/mpeg",
- XMMS_STREAM_TYPE_PRIORITY,
- 40,
- NULL);
-
- /* Well, I usually only see mp3 and mp2 ... layer 1 files
- * are quite rare.
- */
- xmms_magic_extension_add ("audio/mpeg", "*.mp3");
- xmms_magic_extension_add ("audio/mpeg", "*.mp2");
- xmms_magic_extension_add ("audio/mpeg", "*.mp1");
-
- /* That's copied from the mad xform. */
- xmms_magic_add ("mpeg header", "audio/mpeg",
- "0 beshort&0xfff6 0xfff6",
- "0 beshort&0xfff6 0xfff4",
- "0 beshort&0xffe6 0xffe2",
- NULL);
-
- return TRUE;
-}
-
-static gboolean
-xmms_mpg123_init (xmms_xform_t *xform)
-{
- xmms_mpg123_data_t *data;
- const long *rates;
- size_t num_rates;
- int encoding;
- off_t length;
- int i, result;
-
- g_return_val_if_fail (xform, FALSE);
-
- data = g_new0 (xmms_mpg123_data_t, 1);
- xmms_xform_private_data_set (xform, data);
-
- /* Get the total size of this stream and store it for later */
- if (xmms_xform_metadata_get_int (xform,
- XMMS_MEDIALIB_ENTRY_PROPERTY_SIZE,
- &result)) {
- data->filesize = result;
- }
-
- mpg123_rates (&rates, &num_rates);
-
- data->param = mpg123_new_pars (&result);
- g_return_val_if_fail (data->param, FALSE);
-
- /* Create a quiet (stderr) decoder with auto choosen optimization.
- * Stuff set here should be tunable via plugin config properties!
- * You can also change some things during playback...
- */
- mpg123_par (data->param, MPG123_ADD_FLAGS, MPG123_QUIET, 0);
- mpg123_par (data->param, MPG123_ADD_FLAGS, MPG123_GAPLESS, 0);
- /* choose: MPG123_RVA_OFF, MPG123_RVA_MIX, MPG123_RVA_ALBUM
- * xmms2 has its own ReplayGain plugin to handle the RVA field */
- mpg123_par (data->param, MPG123_RVA, MPG123_RVA_OFF, 0);
-
- /* You could choose a decoder from the list provided by
- * mpg123_supported_decoders () and give that as second parameter.
- */
- data->decoder = mpg123_parnew (data->param, NULL, &result);
- if (data->decoder == NULL) {
- xmms_log_error ("%s", mpg123_plain_strerror (result));
- goto bad;
- }
-
- /* Prepare for buffer input feeding. */
- result = mpg123_open_feed (data->decoder);
- if (result != MPG123_OK) {
- goto mpg123_bad;
- }
-
- /* Let's always decode to signed 16bit for a start.
- Any mpg123-supported sample rate is accepted. */
- if (MPG123_OK != mpg123_format_none (data->decoder)) {
- goto mpg123_bad;
- }
-
- for (i = 0; i < num_rates; i++) {
- result = mpg123_format (data->decoder, rates[i],
- MPG123_MONO | MPG123_STEREO,
- MPG123_ENC_SIGNED_16);
- if (result != MPG123_OK) {
- goto mpg123_bad;
- }
- }
-
- /* Fetch ID3v1 data from the end of file if possible */
- result = xmms_id3v1_get_tags (xform);
- if (result < 0) {
- xmms_log_error ("Seeking error when reading ID3v1 tags");
- goto bad;
- } else if (data->filesize > result) {
- /* Reduce the size of tag data from the filesize */
- data->filesize -= result;
- }
-
- /* Read data from input until decoded data is available from decoder */
- do {
- /* Parse stream and get info. */
- gint ret;
- xmms_error_t err;
-
- ret = xmms_xform_read (xform, data->buf, BUFSIZE, &err);
- if (ret < 0) {
- xmms_log_error ("Error when trying to find beginning of stream");
- goto bad;
- } else if (ret == 0) {
- /* EOF reached before format was found, handled after loop */
- break;
- }
-
- /* With zero output size nothing is actually outputted */
- result = mpg123_decode (data->decoder, data->buf,
- (size_t) ret, NULL, 0, NULL);
- } while (result == MPG123_NEED_MORE); /* Keep feeding... */
-
- if (result != MPG123_NEW_FORMAT) {
- xmms_log_error ("Unable to find beginning of stream (%s)!",
- result == MPG123_ERR ? mpg123_strerror (data->decoder)
- : "unexpected EOF");
- goto bad;
- }
-
- result = mpg123_getformat (data->decoder, &data->samplerate,
- &data->channels, &encoding);
- if (result != MPG123_OK) {
- goto mpg123_bad;
- }
-
- /* Set the filesize so it can be used for duration estimation */
- if (data->filesize > 0) {
- mpg123_set_filesize (data->decoder, data->filesize);
- }
-
- /* Get duration in samples, convert to ms and save to xmms2 */
- length = mpg123_length (data->decoder);
- if (length > 0) {
- length = (off_t) ((gfloat) length / data->samplerate * 1000);
- xmms_xform_metadata_set_int (xform,
- XMMS_MEDIALIB_ENTRY_PROPERTY_DURATION,
- (gint) length);
- }
-
- XMMS_DBG ("mpg123: got stream with %li Hz %i channels, encoding %i",
- data->samplerate, data->channels, encoding);
-
- xmms_xform_outdata_type_add (xform,
- XMMS_STREAM_TYPE_MIMETYPE,
- "audio/pcm",
- XMMS_STREAM_TYPE_FMT_FORMAT,
- XMMS_SAMPLE_FORMAT_S16,
- XMMS_STREAM_TYPE_FMT_CHANNELS,
- data->channels,
- XMMS_STREAM_TYPE_FMT_SAMPLERATE,
- (gint) data->samplerate,
- XMMS_STREAM_TYPE_END);
- return TRUE;
-
-mpg123_bad:
- xmms_log_error ("mpg123 error: %s", mpg123_strerror (data->decoder));
-
-bad:
- mpg123_delete (data->decoder);
- mpg123_delete_pars (data->param);
- g_free (data);
-
- return FALSE;
-}
-
-static void
-xmms_mpg123_destroy (xmms_xform_t *xform)
-{
- xmms_mpg123_data_t *data;
-
- data = xmms_xform_private_data_get (xform);
- g_return_if_fail (data);
-
- if (data != NULL) {
- mpg123_delete (data->decoder);
- mpg123_delete_pars (data->param);
- }
- g_free (data);
-}
-
-static gint
-xmms_mpg123_read (xmms_xform_t *xform, xmms_sample_t *buf, gint len,
- xmms_error_t *err)
-{
- xmms_mpg123_data_t *data;
- int result = MPG123_OK;
- size_t read = 0;
-
- data = xmms_xform_private_data_get (xform);
- g_return_val_if_fail (data, -1);
-
- while (read == 0) {
- gint ret = 0;
-
- if (result == MPG123_NEED_MORE) {
- ret = xmms_xform_read (xform, data->buf, BUFSIZE, err);
- if (ret < 0) {
- return ret;
- } else if (ret == 0) {
- data->eof_found = TRUE;
- }
- }
-
- result = mpg123_decode (data->decoder, data->buf, (size_t) ret,
- buf, len, &read);
-
- if (result == MPG123_NEED_MORE && data->eof_found) {
- /* We need more data, but there's none available
- * so libmpg123 apparently missed an EOF */
- result = MPG123_DONE;
- break;
- } else if (result != MPG123_OK && result != MPG123_NEED_MORE) {
- /* This is some uncommon result like EOF, handle outside
- * the loop */
- break;
- }
- }
-
- if (result == MPG123_DONE) {
- /* This is just normal EOF reported from libmpg123 */
- XMMS_DBG ("Got EOF while decoding stream");
- return 0;
- } else if (result == MPG123_NEW_FORMAT) {
- /* FIXME: When we can handle format changes, modify this */
- xmms_error_set (err,
- XMMS_ERROR_GENERIC,
- "The output format changed, XMMS2 can't handle that");
- return -1;
- } else if (result == MPG123_ERR) {
- xmms_error_set (err,
- XMMS_ERROR_GENERIC,
- mpg123_strerror (data->decoder));
- return -1;
- }
-
- return (gint) read;
-}
-
-static gint64
-xmms_mpg123_seek (xmms_xform_t *xform, gint64 samples,
- xmms_xform_seek_mode_t whence,
- xmms_error_t *err)
-{
- xmms_mpg123_data_t *data;
- gint64 ret;
- off_t byteoff, samploff;
- int mwhence = -1;
-
- data = xmms_xform_private_data_get (xform);
- g_return_val_if_fail (data, -1);
-
- if (whence == XMMS_XFORM_SEEK_SET) {
- mwhence = SEEK_SET;
- } else if (whence == XMMS_XFORM_SEEK_CUR) {
- mwhence = SEEK_CUR;
- } else if (whence == XMMS_XFORM_SEEK_END) {
- mwhence = SEEK_END;
- }
-
- /* Get needed input position and possibly reached sample offset
- * from mpg123.
- */
- samploff = mpg123_feedseek (data->decoder, samples, mwhence,
- &byteoff);
-
- XMMS_DBG ("seeked to %li ... input stream seek following",
- (long) samploff);
-
- if (samploff < 0) {
- xmms_error_set (err,
- XMMS_ERROR_GENERIC,
- mpg123_strerror (data->decoder));
- return -1;
- }
-
- /* Seek in input stream. */
- ret = xmms_xform_seek (xform, byteoff, XMMS_XFORM_SEEK_SET, err);
- if (ret < 0) {
- return ret;
- }
-
- return samploff;
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xmms2-0.7DrNo/src/plugins/mpg123/wscript new/xmms2-0.7DrNo/src/plugins/mpg123/wscript
--- old/xmms2-0.7DrNo/src/plugins/mpg123/wscript 2010-02-19 18:43:54.000000000 +0100
+++ new/xmms2-0.7DrNo/src/plugins/mpg123/wscript 1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-from waftools.plugin import plugin
-
-def plugin_configure(conf):
- if not conf.check_cfg(package="libmpg123", atleast_version="1.5.1", uselib_store="mpg123", args="--cflags --libs"):
- return False
-
- if not conf.check_cc(header_name='mpg123.h', uselib='mpg123',
- errmsg='failed',
- msg='Testing mpg123 with default off_t'):
- # ask python for lfs flags, this fails on Windows and Mac OS
- # windows needs some special care, and Mac OS X alwas uses 64 bit for
- # off_t so we shouldn't be here anyway
-
- import os
- try:
- lfsflags = os.confstr (os.confstr_names['CS_LFS_CFLAGS']).split ()
- # If os.confstr of 'CS_LFS_CFLAGS' is not supported, try with some
- # default values
- except KeyError:
- # Mac OS X and probably other unices end here
- lfsflags = ['-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
- except AttributeError:
- # Windows ends up here
- lfsflags = ['-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64']
- if not conf.check_cc(header_name='mpg123.h', uselib='mpg123',
- cflags=lfsflags, errmsg='failed',
- msg='Testing mpg123 with large off_t'):
- return False
- conf.env['CCFLAGS_mpg123'] += lfsflags
-
- return True
-
-configure, build = plugin("mpg123", configure=plugin_configure,
- source=["mpg123.c", "id3v1.c"], libs=["mpg123"])
++++++ xmms2-pkgconfig.patch ++++++
Index: xmms2-0.7DrNo/xmms2.pc.in
===================================================================
--- xmms2-0.7DrNo.orig/xmms2.pc.in
+++ xmms2-0.7DrNo/xmms2.pc.in
@@ -6,6 +6,6 @@ includedir=@INCLUDEDIR@
Name: @NAME@
Description: XMMS Generation 2
Requires:
-Version: @VERSION@
+Version: 0.7
Libs: -L${libdir} @LIB@
Cflags: -I${includedir}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package yast2-firstboot for openSUSE:Factory
checked in at Mon Apr 26 23:31:59 CEST 2010.
--------
--- yast2-firstboot/yast2-firstboot.changes 2010-04-09 13:16:06.000000000 +0200
+++ yast2-firstboot/yast2-firstboot.changes 2010-04-23 16:24:52.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Apr 23 16:22:45 CEST 2010 - ug(a)suse.de
+
+- desktop file fixed
+- 2.19.5
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
yast2-firstboot-2.19.4.tar.bz2
New:
----
yast2-firstboot-2.19.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-firstboot.spec ++++++
--- /var/tmp/diff_new_pack.WwnXbC/_old 2010-04-26 23:30:40.000000000 +0200
+++ /var/tmp/diff_new_pack.WwnXbC/_new 2010-04-26 23:30:40.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package yast2-firstboot (Version 2.19.4)
+# spec file for package yast2-firstboot (Version 2.19.5)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -19,11 +19,11 @@
Name: yast2-firstboot
-Version: 2.19.4
+Version: 2.19.5
Release: 1
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Source0: yast2-firstboot-2.19.4.tar.bz2
+Source0: yast2-firstboot-2.19.5.tar.bz2
Prefix: /usr
@@ -60,7 +60,7 @@
created to personalize the system.
%prep
-%setup -n yast2-firstboot-2.19.4
+%setup -n yast2-firstboot-2.19.5
%build
%{prefix}/bin/y2tool y2autoconf
++++++ yast2-firstboot-2.19.4.tar.bz2 -> yast2-firstboot-2.19.5.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-firstboot-2.19.4/VERSION new/yast2-firstboot-2.19.5/VERSION
--- old/yast2-firstboot-2.19.4/VERSION 2010-04-09 13:15:29.000000000 +0200
+++ new/yast2-firstboot-2.19.5/VERSION 2010-04-23 16:25:12.000000000 +0200
@@ -1 +1 @@
-2.19.4
+2.19.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-firstboot-2.19.4/configure new/yast2-firstboot-2.19.5/configure
--- old/yast2-firstboot-2.19.4/configure 2010-01-11 10:03:39.000000000 +0100
+++ new/yast2-firstboot-2.19.5/configure 2010-04-25 20:07:54.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for yast2-firstboot 2.19.2.
+# Generated by GNU Autoconf 2.63 for yast2-firstboot 2.19.5.
#
# Report bugs to <http://bugs.opensuse.org/>.
#
@@ -596,8 +596,8 @@
# Identity of this package.
PACKAGE_NAME='yast2-firstboot'
PACKAGE_TARNAME='yast2-firstboot'
-PACKAGE_VERSION='2.19.2'
-PACKAGE_STRING='yast2-firstboot 2.19.2'
+PACKAGE_VERSION='2.19.5'
+PACKAGE_STRING='yast2-firstboot 2.19.5'
PACKAGE_BUGREPORT='http://bugs.opensuse.org/'
ac_unique_file="RPMNAME"
@@ -1282,7 +1282,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures yast2-firstboot 2.19.2 to adapt to many kinds of systems.
+\`configure' configures yast2-firstboot 2.19.5 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1353,7 +1353,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of yast2-firstboot 2.19.2:";;
+ short | recursive ) echo "Configuration of yast2-firstboot 2.19.5:";;
esac
cat <<\_ACEOF
@@ -1433,7 +1433,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-yast2-firstboot configure 2.19.2
+yast2-firstboot configure 2.19.5
generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1447,7 +1447,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by yast2-firstboot $as_me 2.19.2, which was
+It was created by yast2-firstboot $as_me 2.19.5, which was
generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -2427,7 +2427,7 @@
# Define the identity of the package.
PACKAGE='yast2-firstboot'
- VERSION='2.19.2'
+ VERSION='2.19.5'
cat >>confdefs.h <<_ACEOF
@@ -2549,7 +2549,7 @@
-VERSION="2.19.2"
+VERSION="2.19.5"
RPMNAME="yast2-firstboot"
MAINTAINER="Jiri Suchomel <jsuchome(a)suse.cz>"
@@ -3610,7 +3610,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by yast2-firstboot $as_me 2.19.2, which was
+This file was extended by yast2-firstboot $as_me 2.19.5, which was
generated by GNU Autoconf 2.63. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -3660,7 +3660,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-yast2-firstboot config.status 2.19.2
+yast2-firstboot config.status 2.19.5
configured by $0, generated by GNU Autoconf 2.63,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-firstboot-2.19.4/configure.in new/yast2-firstboot-2.19.5/configure.in
--- old/yast2-firstboot-2.19.4/configure.in 2010-01-11 10:03:34.000000000 +0100
+++ new/yast2-firstboot-2.19.5/configure.in 2010-04-25 20:07:49.000000000 +0200
@@ -3,7 +3,7 @@
dnl -- This file is generated by y2autoconf 2.18.11 - DO NOT EDIT! --
dnl (edit configure.in.in instead)
-AC_INIT(yast2-firstboot, 2.19.2, http://bugs.opensuse.org/, yast2-firstboot)
+AC_INIT(yast2-firstboot, 2.19.5, http://bugs.opensuse.org/, yast2-firstboot)
dnl Check for presence of file 'RPMNAME'
AC_CONFIG_SRCDIR([RPMNAME])
@@ -18,7 +18,7 @@
AM_INIT_AUTOMAKE(tar-ustar -Wno-portability)
dnl Important YaST2 variables
-VERSION="2.19.2"
+VERSION="2.19.5"
RPMNAME="yast2-firstboot"
MAINTAINER="Jiri Suchomel <jsuchome(a)suse.cz>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-firstboot-2.19.4/firstboot.pot new/yast2-firstboot-2.19.5/firstboot.pot
--- old/yast2-firstboot-2.19.4/firstboot.pot 2009-08-20 16:25:44.000000000 +0200
+++ new/yast2-firstboot-2.19.5/firstboot.pot 1970-01-01 01:00:00.000000000 +0100
@@ -1,434 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR SuSE Linux Products GmbH, Nuernberg
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-08-20 16:25+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: src/Firstboot.ycp:32
-msgid "No Text Available"
-msgstr ""
-
-#. summary item
-#: src/Firstboot.ycp:141
-msgid "Firstboot configuration disabled"
-msgstr ""
-
-#. summary item
-#: src/Firstboot.ycp:145
-msgid "Firstboot configuration enabled"
-msgstr ""
-
-#: src/control/firstboot.glade:60
-msgid "Hardware Configuration"
-msgstr ""
-
-#: src/control/firstboot.glade:69
-msgid "Network Configuration II"
-msgstr ""
-
-#: src/control/firstboot.glade:83
-msgid "Configuration"
-msgstr ""
-
-#: src/control/firstboot.glade:87
-msgid "Language and Keyboard"
-msgstr ""
-
-#: src/control/firstboot.glade:93
-msgid "Language"
-msgstr ""
-
-#: src/control/firstboot.glade:98
-msgid "Keyboard Layout"
-msgstr ""
-
-#: src/control/firstboot.glade:103
-msgid "Welcome"
-msgstr ""
-
-#. TRANSLATORS: dialog caption
-#: src/control/firstboot.glade:107 src/control/firstboot.glade:112
-#: src/firstboot_licenses.ycp:105
-msgid "License Agreement"
-msgstr ""
-
-#: src/control/firstboot.glade:117
-msgid "Host Name"
-msgstr ""
-
-#: src/control/firstboot.glade:126 src/control/firstboot.glade:152
-msgid "Network"
-msgstr ""
-
-#: src/control/firstboot.glade:132
-msgid "Automatic Configuration"
-msgstr ""
-
-#: src/control/firstboot.glade:137
-msgid "Time and Date"
-msgstr ""
-
-#: src/control/firstboot.glade:142
-msgid "NTP Client"
-msgstr ""
-
-#: src/control/firstboot.glade:147
-msgid "Desktop"
-msgstr ""
-
-#: src/control/firstboot.glade:158
-msgid "Root Password"
-msgstr ""
-
-#: src/control/firstboot.glade:163 src/control/firstboot.glade:168
-msgid "Users"
-msgstr ""
-
-#: src/control/firstboot.glade:173
-msgid "Customer Center"
-msgstr ""
-
-#: src/control/firstboot.glade:178
-msgid "Hardware"
-msgstr ""
-
-#: src/control/firstboot.glade:184 src/control/firstboot.glade:190
-#: src/control/firstboot.glade:196
-msgid "Finish Setup"
-msgstr ""
-
-#: src/control/firstboot.glade:207
-msgid "Configuring network..."
-msgstr ""
-
-#: src/control/firstboot.glade:208
-msgid "Configuring hardware..."
-msgstr ""
-
-#. dialog caption
-#: src/firstboot_auto.ycp:42
-msgid "Firstboot Configuration"
-msgstr ""
-
-#. text label, describing the check box meaning
-#. keep in 2 lines with roughly the same length
-#: src/firstboot_auto.ycp:47
-msgid ""
-"Check Enable Firstboot Sequence here to start YaST\n"
-"firstboot utility on the first boot after configuration"
-msgstr ""
-
-#. check box label
-#: src/firstboot_auto.ycp:51
-msgid "Enable Firstboot Sequence"
-msgstr ""
-
-#. help text
-#: src/firstboot_auto.ycp:56
-msgid ""
-"<p>Check <b>Enable Firstboot Sequence</b> to start YaST firstboot utility on the first boot after configuration.</p>\n"
-"<p>Check the documentation of yast2-firstboot module to find out more.</p>"
-msgstr ""
-
-#: src/firstboot_config.ycp:27
-msgid "Empty"
-msgstr ""
-
-#: src/firstboot_config.ycp:28
-msgid "Enabled"
-msgstr ""
-
-#: src/firstboot_config.ycp:29
-msgid "Disabled"
-msgstr ""
-
-#: src/firstboot_config.ycp:50
-msgid "Help"
-msgstr ""
-
-#: src/firstboot_config.ycp:53
-msgid "First Boot Configuration"
-msgstr ""
-
-#: src/firstboot_config.ycp:55
-msgid "&Up"
-msgstr ""
-
-#: src/firstboot_config.ycp:56
-msgid "D&own"
-msgstr ""
-
-#: src/firstboot_config.ycp:57
-msgid "Enab&le or Disable"
-msgstr ""
-
-#: src/firstboot_config.ycp:63
-msgid "Step"
-msgstr ""
-
-#: src/firstboot_config.ycp:63
-msgid "Label"
-msgstr ""
-
-#: src/firstboot_config.ycp:63
-msgid "Module Name"
-msgstr ""
-
-#: src/firstboot_config.ycp:63
-msgid "Status"
-msgstr ""
-
-#. translators: dialog text
-#: src/firstboot_desktop.ycp:73
-msgid ""
-"Select the desktop environment \n"
-"to use from the list below.\n"
-msgstr ""
-
-#. help text fro desktop dialog
-#: src/firstboot_desktop.ycp:89
-msgid ""
-"<p><h3>Desktop Selections</h3>\n"
-"This system has more than one desktop environment installed. Select\n"
-"the desktop to enable as the default desktop.</p>"
-msgstr ""
-
-#. translators: dialog title
-#: src/firstboot_desktop.ycp:94
-msgid "Select Your Default Desktop"
-msgstr ""
-
-#: src/firstboot_finish.ycp:43
-msgid "&Start YaST Control Center"
-msgstr ""
-
-#. caption for dialog "Congratulation Dialog"
-#: src/firstboot_finish.ycp:47
-msgid "Configuration Completed"
-msgstr ""
-
-#. congratulation text 1/4
-#: src/firstboot_finish.ycp:50
-msgid "<p><b>Congratulations!</b></p>"
-msgstr ""
-
-#. congratulation text 2/4
-#: src/firstboot_finish.ycp:53
-msgid ""
-"<p>The installation of &product; on your machine is complete.\n"
-"After clicking <b>Finish</b>, you can log in to the system.</p>\n"
-msgstr ""
-
-#. congratulation text 3/4
-#. Translators: If there exists a SuSE web-page for your language
-#. change the address accordingly. If in doubt leave the original.
-#: src/firstboot_finish.ycp:60
-msgid "<p>Visit us at www.suse.com.</p>"
-msgstr ""
-
-#. congratulation text 4/4
-#: src/firstboot_finish.ycp:63
-msgid "<p>Have a lot of fun!<br>Your SuSE Development Team</p>"
-msgstr ""
-
-#. help 1/4 for dialog "Congratulation Dialog"
-#: src/firstboot_finish.ycp:85
-msgid "<p>Your system is ready for use.</p>"
-msgstr ""
-
-#. help 2/4 for dialog "Congratulation Dialog"
-#: src/firstboot_finish.ycp:88
-msgid ""
-"<p><b>Finish</b> will close the YaST installation and continue\n"
-"to the login screen.</p>\n"
-msgstr ""
-
-#. help 3/4 for dialog "Congratulation Dialog"
-#: src/firstboot_finish.ycp:93
-msgid ""
-"<p>If you choose the default graphical desktop KDE, you can\n"
-"adjust some KDE settings to your hardware. Also notice\n"
-"our SuSE Welcome Dialog.</p>\n"
-msgstr ""
-
-#. help 4/4 for dialog "Congratulation Dialog"
-#: src/firstboot_finish.ycp:101
-msgid ""
-"<p>If desired, experts can use the full range of SuSE's configuration\n"
-"modules at this time. Check <b>Start YaST Control Center</b> and it will start\n"
-"after <b>Finish</b>. Note: The Control Center does not have a back button to\n"
-"return to this installation sequence.</p>\n"
-msgstr ""
-
-#. popup text
-#: src/firstboot_language.ycp:102
-msgid ""
-"Your language setting has been changed.\n"
-"\n"
-"If necessary, you may want to adapt your keyboard settings to the new\n"
-"language. This is possible either in the YaST2 Control Center or by \n"
-"starting \"yast2 keyboard\" directly."
-msgstr ""
-
-#. ----------------------------------------------------------------------
-#. * Build dialog
-#. * ----------------------------------------------------------------------
-#. heading text
-#: src/firstboot_language_keyboard.ycp:48
-msgid "Language and Keyboard Layout"
-msgstr ""
-
-#. combo box label
-#: src/firstboot_language_keyboard.ycp:54
-msgid "&Language"
-msgstr ""
-
-#. combo box label
-#: src/firstboot_language_keyboard.ycp:61
-msgid "&Keyboard Layout"
-msgstr ""
-
-#. help text for firstboot language + keyboard screen
-#: src/firstboot_language_keyboard.ycp:86
-msgid ""
-"<p>\n"
-"Choose the <b>Language</b> and the <b>Keyboard layout</b> to be used during\n"
-"configuration and for the installed system.\n"
-"</p>\n"
-msgstr ""
-
-#. help text, continued
-#: src/firstboot_language_keyboard.ycp:92 src/firstboot_licenses.ycp:128
-msgid ""
-"<p>\n"
-"Click <b>Next</b> to proceed to the next dialog.\n"
-"</p>\n"
-msgstr ""
-
-#. help text, continued
-#: src/firstboot_language_keyboard.ycp:97 src/firstboot_licenses.ycp:134
-msgid ""
-"<p>\n"
-"Select <b>Abort</b> to abort the\n"
-"installation process at any time.\n"
-"</p>\n"
-msgstr ""
-
-#. popup message (user selected CJK language in text mode)
-#: src/firstboot_language_keyboard.ycp:144
-msgid ""
-"The selected language cannot be used in text mode. English is used for\n"
-"installation, but the selected language will be used for the new system."
-msgstr ""
-
-#. error message
-#: src/firstboot_language_keyboard.ycp:194
-msgid "There is not enough space to install all additional packages."
-msgstr ""
-
-#. ----------------------------------------------------------------------
-#. * Build dialog
-#. * ----------------------------------------------------------------------
-#. heading text
-#: src/firstboot_licenses.ycp:43
-msgid "License Agreements"
-msgstr ""
-
-#. TRANSLATORS: check-box
-#: src/firstboot_licenses.ycp:63
-msgid "I &Agree to the License Terms."
-msgstr ""
-
-#. TRANSLATORS: button label
-#. ID: #ICW_B1 button
-#: src/firstboot_licenses.ycp:69
-msgid "License &Translations..."
-msgstr ""
-
-#. TRANSLATORS: check-box
-#: src/firstboot_licenses.ycp:83
-msgid "&I Agree to the License Terms."
-msgstr ""
-
-#. TRANSLATORS: button label
-#. ID: #ICW_B1 button
-#: src/firstboot_licenses.ycp:89
-msgid "&License Translations..."
-msgstr ""
-
-#. help text for licenses screen
-#. Describes the #ICW_B1 button
-#: src/firstboot_licenses.ycp:122
-msgid ""
-"<p>\n"
-"Licenses have to be accepted before continuing the installation.\n"
-"Use <b>License Translations...</b> to show the license in all available translations.\n"
-"</p>"
-msgstr ""
-
-#: src/firstboot_licenses.ycp:157
-msgid "License needs to be accepted"
-msgstr ""
-
-#. heading text
-#: src/firstboot_web_services.ycp:16
-msgid "Network Services"
-msgstr ""
-
-#. combo box label
-#: src/firstboot_web_services.ycp:22
-msgid "combo"
-msgstr ""
-
-#. help text
-#: src/firstboot_web_services.ycp:76
-msgid ""
-"<p>\n"
-"help text\n"
-"</p>\n"
-msgstr ""
-
-#. progress stages
-#: src/firstboot_write.ycp:23
-msgid "Update configuration"
-msgstr ""
-
-#. progress stages
-#: src/firstboot_write.ycp:25
-msgid "Prepare system for first login"
-msgstr ""
-
-#. progress stages
-#: src/firstboot_write.ycp:31
-msgid "Updating configuration..."
-msgstr ""
-
-#. progress stages
-#: src/firstboot_write.ycp:33
-msgid "Preparing system for first login..."
-msgstr ""
-
-#. Help text for last dialog of base installation
-#: src/firstboot_write.ycp:38
-msgid ""
-"<p>\n"
-"Please wait while the system is being configured.\n"
-"</p>"
-msgstr ""
-
-#. Headline for last dialog of first boot workflow
-#: src/firstboot_write.ycp:47
-msgid "Completing the System Configuration"
-msgstr ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-firstboot-2.19.4/src/data/firstboot.desktop new/yast2-firstboot-2.19.5/src/data/firstboot.desktop
--- old/yast2-firstboot-2.19.4/src/data/firstboot.desktop 2009-02-27 12:24:41.000000000 +0100
+++ new/yast2-firstboot-2.19.5/src/data/firstboot.desktop 2010-04-23 16:25:12.000000000 +0200
@@ -11,7 +11,7 @@
X-SuSE-YaST-Group=Misc
X-SuSE-YaST-Argument=
X-SuSE-YaST-RootOnly=true
-X-SuSE-YaST-AutoInst=configure
+X-SuSE-YaST-AutoInst=all
X-SuSE-YaST-Geometry=
X-SuSE-YaST-SortKey=
X-SuSE-YaST-AutoInstDataType=map
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory
checked in at Mon Apr 26 23:30:22 CEST 2010.
--------
--- MozillaFirefox/MozillaFirefox.changes 2010-04-03 22:30:20.000000000 +0200
+++ MozillaFirefox/MozillaFirefox.changes 2010-04-18 19:17:20.000000000 +0200
@@ -1,0 +2,8 @@
+Sun Apr 18 09:42:40 CEST 2010 - wr(a)rosenauer.org
+
+- security update to 3.6.4 (Lorentz)
+ * enable crashreporter also for x86-64
+ * Flash runs in a separate process to avoid crashing Firefox
+ (ix86 only; x86-64 still uses nspluginwrapper)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
firefox-3.6.3-source.tar.bz2
l10n-3.6.3.tar.bz2
New:
----
firefox-3.6.4-source.tar.bz2
l10n-3.6.4.tar.bz2
mozilla-crashreporter-x86_64.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.XAb1AD/_old 2010-04-26 23:29:21.000000000 +0200
+++ /var/tmp/diff_new_pack.XAb1AD/_new 2010-04-26 23:29:21.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package MozillaFirefox (Version 3.6.3)
+# spec file for package MozillaFirefox (Version 3.6.4)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# 2006-2010 Wolfgang Rosenauer
@@ -22,7 +22,7 @@
Name: MozillaFirefox
%define xulrunner mozilla-xulrunner192
BuildRequires: autoconf213 gcc-c++ libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python unzip update-desktop-files zip
-BuildRequires: %{xulrunner}-devel = 1.9.2.3
+BuildRequires: %{xulrunner}-devel = 1.9.2.4
%if %suse_version > 1020
BuildRequires: fdupes
%endif
@@ -34,9 +34,9 @@
License: GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
Provides: web_browser
Provides: firefox
-Version: 3.6.3
+Version: 3.6.4
Release: 1
-%define releasedate 2010040100
+%define releasedate 2010041700
Summary: Mozilla Firefox Web Browser
Url: http://www.mozilla.org/
Group: Productivity/Networking/Web/Browsers
@@ -63,6 +63,7 @@
Patch9: firefox-kde.patch
Patch10: firefox-ui-lockdown.patch
Patch11: firefox-crashreporter.patch
+Patch12: mozilla-crashreporter-x86_64.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(post): coreutils shared-mime-info desktop-file-utils
Requires(postun): shared-mime-info desktop-file-utils
@@ -166,6 +167,7 @@
%endif
%patch10 -p1
%patch11 -p1
+%patch12 -p1
%build
export MOZ_BUILD_DATE=%{releasedate}
@@ -359,9 +361,7 @@
%{progdir}/%{progname}
%{progdir}/application.ini
%{progdir}/blocklist.xml
-%ifarch %ix86
%{progdir}/crashreporter-override.ini
-%endif
%{_datadir}/applications/%{name}.desktop
%{_datadir}/mime/packages/%{progname}.xml
%{_datadir}/pixmaps/firefox*
++++++ firefox-3.6.3-source.tar.bz2 -> firefox-3.6.4-source.tar.bz2 ++++++
MozillaFirefox/firefox-3.6.3-source.tar.bz2 MozillaFirefox/firefox-3.6.4-source.tar.bz2 differ: char 11, line 1
++++++ firefox-kde.patch ++++++
--- /var/tmp/diff_new_pack.XAb1AD/_old 2010-04-26 23:29:21.000000000 +0200
+++ /var/tmp/diff_new_pack.XAb1AD/_new 2010-04-26 23:29:21.000000000 +0200
@@ -17,8 +17,8 @@
# hardcode en-US for the moment
AB_CD = en-US
- DEFINES += -DAB_CD=$(AB_CD)
-
+ DEFINES += \
+ -DAB_CD=$(AB_CD) \
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
@@ -1149,7 +1149,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -395,16 +395,17 @@
+@@ -400,16 +400,17 @@
@BINPATH@/icons/*.png
#endif
++++++ firefox-ui-lockdown.patch ++++++
--- /var/tmp/diff_new_pack.XAb1AD/_old 2010-04-26 23:29:21.000000000 +0200
+++ /var/tmp/diff_new_pack.XAb1AD/_new 2010-04-26 23:29:21.000000000 +0200
@@ -4,7 +4,7 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
-@@ -1174,32 +1174,186 @@ function prepareForStartup() {
+@@ -1180,32 +1180,186 @@ function prepareForStartup() {
// setup our MozApplicationManifest listener
gBrowser.addEventListener("MozApplicationManifest",
OfflineApps, false);
@@ -192,14 +192,14 @@
PlacesStarButton.init();
// called when we go into full screen, even if it is
-@@ -1399,16 +1553,18 @@ function BrowserShutdown()
- Components.utils.reportError(ex);
+@@ -1406,16 +1560,18 @@ function BrowserShutdown()
}
var os = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
os.removeObserver(gSessionHistoryObserver, "browser:purge-session-history");
os.removeObserver(gXPInstallObserver, "xpinstall-install-blocked");
+ os.removeObserver(gMissingPluginInstaller, "plugin-crashed");
+ gPrefService.removeObserver("config.lockdown.", lockdownObserver);
+
@@ -211,7 +211,7 @@
PlacesStarButton.uninit();
-@@ -3208,16 +3364,23 @@ function FillHistoryMenu(aParent) {
+@@ -3216,16 +3372,23 @@ function FillHistoryMenu(aParent) {
// Remove old entries if any
var children = aParent.childNodes;
@@ -235,7 +235,7 @@
return false;
const MAX_HISTORY_MENU_ITEMS = 15;
-@@ -3357,16 +3520,17 @@ function BrowserCustomizeToolbar()
+@@ -3365,16 +3528,17 @@ function BrowserCustomizeToolbar()
{
// Disable the toolbar context menu items
var menubar = document.getElementById("main-menubar");
@@ -253,7 +253,7 @@
var customizeURL = "chrome://global/content/customizeToolbar.xul";
gCustomizeSheet = getBoolPref("toolbar.customization.usesheet", false);
-@@ -3394,16 +3558,31 @@ function BrowserCustomizeToolbar()
+@@ -3402,16 +3566,31 @@ function BrowserCustomizeToolbar()
} else {
return window.openDialog(customizeURL,
"CustomizeToolbar",
@@ -285,7 +285,7 @@
// Update global UI elements that may have been added or removed
if (aToolboxChanged) {
-@@ -3411,16 +3590,27 @@ function BrowserToolboxCustomizeDone(aTo
+@@ -3419,16 +3598,27 @@ function BrowserToolboxCustomizeDone(aTo
if (gURLBar)
gURLBar.emptyText = gURLBarEmptyText.value;
@@ -313,7 +313,7 @@
// support downgrading to Firefox 2.0
var navBar = document.getElementById("nav-bar");
-@@ -3445,18 +3635,17 @@ function BrowserToolboxCustomizeDone(aTo
+@@ -3453,18 +3643,17 @@ function BrowserToolboxCustomizeDone(aTo
XULBrowserWindow.asyncUpdateUI();
PlacesStarButton.updateState();
}
@@ -333,7 +333,7 @@
#endif
// XXX Shouldn't have to do this, but I do
-@@ -4544,16 +4733,19 @@ function onViewToolbarsPopupShowing(aEve
+@@ -4552,16 +4741,19 @@ function onViewToolbarsPopupShowing(aEve
var toolbarName = toolbar.getAttribute("toolbarname");
if (toolbarName) {
let menuItem = document.createElement("menuitem");
@@ -353,7 +353,7 @@
}
toolbar = toolbar.nextSibling;
}
-@@ -6421,17 +6613,23 @@ BookmarkAllTabsHandler.prototype = {
+@@ -6737,17 +6929,23 @@ BookmarkAllTabsHandler.prototype = {
_updateCommandState: function BATH__updateCommandState(aTabClose) {
var numTabs = gBrowser.tabContainer.childNodes.length;
++++++ l10n-3.6.3.tar.bz2 -> l10n-3.6.4.tar.bz2 ++++++
MozillaFirefox/l10n-3.6.3.tar.bz2 MozillaFirefox/l10n-3.6.4.tar.bz2 differ: char 11, line 1
++++++ mozilla-crashreporter-x86_64.patch ++++++
# HG changeset patch
# User Ted Mielczarek <ted.mielczarek(a)gmail.com>
# Date 1269522979 14400
# Node ID a00284a2b2f0063b0f053938c1775cf207fe25bb
# Parent 33d05f60932bac3d66231a54840cbdd173297fff
bug 554021 - enable compiling Breakpad on Linux/x86-64 by default
diff --git a/configure.in b/configure.in
--- a/configure.in
+++ b/configure.in
@@ -5858,13 +5858,20 @@
dnl = Breakpad crash reporting (on by default on supported platforms)
dnl ========================================================
-if (test "$OS_ARCH" = "WINNT" -a -z "$GNU_CC" \
- || test "$OS_ARCH" = "Darwin" \
- || test "$OS_ARCH" = "Linux" -a "$CPU_ARCH" = "x86" \
- || test "$OS_ARCH" = "SunOS") \
- && test -z "$HAVE_64BIT_OS"; then
- MOZ_CRASHREPORTER=1
-fi
+case $target in
+i?86-*-mingw*)
+ MOZ_CRASHREPORTER=1
+ ;;
+i?86-apple-darwin*|powerpc-apple-darwin*)
+ MOZ_CRASHREPORTER=1
+ ;;
+i?86-*-linux*|x86_64-*-linux*)
+ MOZ_CRASHREPORTER=1
+ ;;
+*solaris*)
+ MOZ_CRASHREPORTER=1
+ ;;
+esac
MOZ_ARG_DISABLE_BOOL(crashreporter,
[ --disable-crashreporter Disable breakpad crash reporting],
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package NetworkManager-gnome for openSUSE:Factory
checked in at Mon Apr 26 23:28:29 CEST 2010.
--------
--- GNOME/NetworkManager-gnome/NetworkManager-gnome.changes 2010-04-18 03:40:32.000000000 +0200
+++ NetworkManager-gnome/NetworkManager-gnome.changes 2010-04-26 05:29:19.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Apr 23 09:50:02 UTC 2010 - bili(a)novell.com
+
+- Add a general frontend dbus configuration in NetworkManager
+ so delete the conf in nm-applet, bili(a)novell.com(bnc#476502).
+-------------------------------------------------------------------
calling whatdependson for head-i586
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ NetworkManager-gnome.spec ++++++
--- /var/tmp/diff_new_pack.2oblEU/_old 2010-04-26 23:23:59.000000000 +0200
+++ /var/tmp/diff_new_pack.2oblEU/_new 2010-04-26 23:23:59.000000000 +0200
@@ -20,7 +20,7 @@
Name: NetworkManager-gnome
Url: http://www.gnome.org/projects/NetworkManager/
Version: 0.8
-Release: 2
+Release: 3
License: GPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: NetworkManager-devel
@@ -71,6 +71,9 @@
%suse_update_desktop_file nm-applet
%suse_update_desktop_file nm-connection-editor
%find_gconf_schemas
+# Add a general frontend dbus configuration in NetworkManager
+# so delete the conf in nm-applet, bili(a)novell.com(bnc#476502).
+rm $RPM_BUILD_ROOT%{_sysconfdir}/dbus-1/system.d/nm-applet.conf
%find_lang nm-applet
cat %{name}.schemas_list nm-applet.lang > nm-applet.lst
cp -r nm-icons/* $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/
@@ -93,7 +96,6 @@
%{_datadir}/nm-applet
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/*/apps/*.svg
-%{_sysconfdir}/dbus-1/system.d/nm-applet.conf
%{_sysconfdir}/xdg/autostart/nm-applet.desktop
%{_datadir}/applications/nm-connection-editor.desktop
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package xen for openSUSE:Factory
checked in at Mon Apr 26 23:23:40 CEST 2010.
--------
--- xen/xen.changes 2010-04-16 23:40:18.000000000 +0200
+++ xen/xen.changes 2010-04-26 21:37:50.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Apr 21 21:15:04 MDT 2010 - jfehlig(a)novell.com
+
+- bnc#596442 - Preserve device config on domain start failure
+ xend-preserve-devs.patch
+
+-------------------------------------------------------------------
+Tue Apr 20 15:18:31 MDT 2010 - jfehlig(a)novell.com
+
+- bnc#597770 - insserv reports a loop between xendomains and
+ openais. Remove openais from Should-Start in xendomains script.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
blktap-script.patch
cpu-pools-fixes.patch
ioemu-subtype.patch
New:
----
21189-x86-emulate-clflush.patch
21193-blktap-script.patch
21194-ioemu-subtype.patch
21225-conring-iommu.patch
xend-preserve-devs.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:12.000000000 +0200
@@ -26,11 +26,7 @@
%define xen_build_dir xen-4.0.0-testing
%define with_kmp 1
BuildRequires: LibVNCServer-devel SDL-devel acpica automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel texinfo transfig
-%if %suse_version >= 1030
BuildRequires: texlive texlive-latex
-%else
-BuildRequires: te_ams te_latex tetex
-%endif
%ifarch x86_64
BuildRequires: glibc-32bit glibc-devel-32bit
%define max_cpus 256
@@ -43,7 +39,7 @@
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
%endif
Version: 4.0.0_21091_01
-Release: 1
+Release: 2
License: GPLv2+
Group: System/Kernel
AutoReqProv: on
@@ -83,8 +79,11 @@
Patch2: 21128-domain-save-flush.patch
Patch3: 21150-shadow-race.patch
Patch4: 21160-sysctl-debug-keys.patch
-Patch5: blktap-script.patch
-Patch6: ioemu-subtype.patch
+Patch5: 21189-x86-emulate-clflush.patch
+Patch6: 21193-blktap-script.patch
+Patch7: 21194-ioemu-subtype.patch
+Patch8: 21225-conring-iommu.patch
+Patch9: xend-preserve-devs.patch
# Our patches
Patch300: xen-config.diff
Patch301: xend-config.diff
@@ -145,7 +144,6 @@
Patch367: cpu-pools-libxen.patch
Patch368: cpu-pools-xmtest.patch
Patch369: cpu-pools-docs.patch
-Patch370: cpu-pools-fixes.patch
# Patches for snapshot support
Patch400: snapshot-ioemu-save.patch
Patch401: snapshot-ioemu-restore.patch
@@ -161,14 +159,14 @@
Patch420: blktapctrl-default-to-ioemu.patch
Patch421: ioemu-blktap-barriers.patch
# Other bug fixes or features
-Patch422: bdrv_open2_fix_flags.patch
-Patch423: bdrv_open2_flags_2.patch
-Patch424: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
-Patch425: ioemu-bdrv-open-CACHE_WB.patch
-Patch426: xen-ioemu-hvm-pv-support.diff
-Patch427: qemu-dm-segfault.patch
-Patch428: hibernate.patch
-Patch429: del_usb_xend_entry.patch
+Patch423: bdrv_open2_fix_flags.patch
+Patch424: bdrv_open2_flags_2.patch
+Patch425: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
+Patch426: ioemu-bdrv-open-CACHE_WB.patch
+Patch427: xen-ioemu-hvm-pv-support.diff
+Patch428: qemu-dm-segfault.patch
+Patch429: hibernate.patch
+Patch430: del_usb_xend_entry.patch
# Jim's domain lock patch
Patch450: xend-domain-lock.patch
# Hypervisor and PV driver Patches
@@ -534,6 +532,9 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%patch300 -p1
%patch301 -p1
%patch302 -p1
@@ -592,7 +593,6 @@
%patch367 -p1
%patch368 -p1
%patch369 -p1
-%patch370 -p1
%patch400 -p1
%patch401 -p1
%patch402 -p1
@@ -605,7 +605,6 @@
%patch415 -p1
%patch420 -p1
%patch421 -p1
-%patch422 -p1
%patch423 -p1
%patch424 -p1
%patch425 -p1
@@ -613,6 +612,7 @@
%patch427 -p1
%patch428 -p1
%patch429 -p1
+%patch430 -p1
%patch450 -p1
%patch500 -p1
%patch501 -p1
++++++ 21189-x86-emulate-clflush.patch ++++++
# HG changeset patch
# User Keir Fraser <keir.fraser(a)citrix.com>
# Date 1271353678 -3600
# Node ID d18e6a6c618af4f25a9e1a57c9e3eac55921678c
# Parent ffffddc4b1e030cce6bd4d12c4409c94599c1abf
x86_emulate: Emulate CLFLUSH instruction
We recently found that FreeBSD 8.0 guest failed to install and boot on
Xen. The reason was that FreeBSD detected clflush feature and invoked
this instruction to flush MMIO space. This caused a page fault; but
x86_emulate.c failed to emulate this instruction (not supported). As a
result, a page fault was detected inside FreeBSD. A similar issue was
reported earlier.
http://lists.xensource.com/archives/html/xen-devel/2010-03/msg00362.html
From: Wei Huang <wei.huang2(a)amd.com>
Signed-off-by: Keir Fraser <keir.fraser(a)citrix.com>
Index: xen-4.0.0-testing/xen/arch/x86/x86_emulate/x86_emulate.c
===================================================================
--- xen-4.0.0-testing.orig/xen/arch/x86/x86_emulate/x86_emulate.c
+++ xen-4.0.0-testing/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -227,7 +227,8 @@ static uint8_t twobyte_table[256] = {
DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM, 0, 0,
/* 0xA8 - 0xAF */
ImplicitOps, ImplicitOps, 0, DstBitBase|SrcReg|ModRM,
- DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM, 0, DstReg|SrcMem|ModRM,
+ DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
+ ImplicitOps|ModRM, DstReg|SrcMem|ModRM,
/* 0xB0 - 0xB7 */
ByteOp|DstMem|SrcReg|ModRM, DstMem|SrcReg|ModRM,
DstReg|SrcMem|ModRM|Mov, DstBitBase|SrcReg|ModRM,
@@ -4008,6 +4009,19 @@ x86_emulate(
emulate_2op_SrcV_nobyte("bts", src, dst, _regs.eflags);
break;
+ case 0xae: /* Grp15 */
+ switch ( modrm_reg & 7 )
+ {
+ case 7: /* clflush */
+ fail_if(ops->wbinvd == NULL);
+ if ( (rc = ops->wbinvd(ctxt)) != 0 )
+ goto done;
+ break;
+ default:
+ goto cannot_emulate;
+ }
+ break;
+
case 0xaf: /* imul */
_regs.eflags &= ~(EFLG_OF|EFLG_CF);
switch ( dst.bytes )
++++++ 21193-blktap-script.patch ++++++
# HG changeset patch
# User Keir Fraser <keir.fraser(a)citrix.com>
# Date 1271663923 -3600
# Node ID ae1abcdd4a670e34509e39d5280834a75afc0f6a
# Parent 6860c523d2daf1d110b130a9596469a0957b4032
tools/hotplug/Linux/blktap: remove optional tapdisk: prefix
Perhaps this should even be further generalized (e.g. to remove any
"[!/]*:" pattern prefixes) to be more forward compatible?
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
diff -r 6860c523d2da -r ae1abcdd4a67 tools/hotplug/Linux/blktap
--- a/tools/hotplug/Linux/blktap Mon Apr 19 08:55:33 2010 +0100
+++ b/tools/hotplug/Linux/blktap Mon Apr 19 08:58:43 2010 +0100
@@ -59,6 +59,7 @@
if [ -n "$t" ]
then
p=$(xenstore_read "$XENBUS_PATH/params")
+ p=${p#tapdisk:}
# if we have a ':', chew from head including :
if echo $p | grep -q \:
then
++++++ 21194-ioemu-subtype.patch ++++++
diff -r c02cc832cb2d tools/python/xen/xend/server/BlktapController.py
--- a/tools/python/xen/xend/server/BlktapController.py Tue Apr 13 18:19:33 2010 +0100
+++ b/tools/python/xen/xend/server/BlktapController.py Fri Apr 16 12:05:39 2010 -0600
@@ -189,7 +189,7 @@
blktap2_installed=1;
if typ in ('tap'):
- if subtyp in ('tapdisk'):
+ if subtyp in ('tapdisk', 'ioemu'):
if params not in blktap2_disk_types or not blktap2_installed:
# pass this device off to BlktapController
log.warn('WARNING: using deprecated blktap module')
++++++ 21225-conring-iommu.patch ++++++
# HG changeset patch
# User Keir Fraser <keir.fraser(a)citrix.com>
# Date 1271954636 -3600
# Node ID 2b97855a629f1d79e1d075a6d2a8b569018b2094
# Parent a7947fd90328287dd097294b241753063c858597
console: Make initial static console buffer __initdata.
The previous scheme --- freeing an area of BSS --- did not interact
nicely with device passthrough as IOMMU will not have any Xen BSS area
in guest device pagetables. Hence if the freed BSS space gets
allocated to a guest, DMAs to guest's own memory can fail.
The simple solution here is to always free the static buffer at end of
boot (initmem is specially handled for IOMMUs) and require a
dynamically-allocated buffer always to be created.
Signed-off-by: Keir Fraser <keir.fraser(a)citrix.com>
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -65,11 +65,7 @@ size_param("conring_size", opt_conring_s
#define _CONRING_SIZE 16384
#define CONRING_IDX_MASK(i) ((i)&(conring_size-1))
-static char
-#if _CONRING_SIZE >= PAGE_SIZE
- __attribute__((__section__(".bss.page_aligned"), __aligned__(PAGE_SIZE)))
-#endif
- _conring[_CONRING_SIZE];
+static char __initdata _conring[_CONRING_SIZE];
static char *__read_mostly conring = _conring;
static uint32_t __read_mostly conring_size = _CONRING_SIZE;
static uint32_t conringc, conringp;
@@ -596,25 +592,20 @@ void __init console_init_preirq(void)
void __init console_init_postirq(void)
{
char *ring;
- unsigned int i;
+ unsigned int i, order;
serial_init_postirq();
if ( !opt_conring_size )
opt_conring_size = num_present_cpus() << (9 + xenlog_lower_thresh);
- /* Round size down to a power of two. */
- while ( opt_conring_size & (opt_conring_size - 1) )
- opt_conring_size &= opt_conring_size - 1;
- if ( opt_conring_size < conring_size )
- return;
-
- ring = alloc_xenheap_pages(get_order_from_bytes(opt_conring_size), 0);
- if ( ring == NULL )
+
+ order = get_order_from_bytes(max(opt_conring_size, conring_size));
+ while ( (ring = alloc_xenheap_pages(order, 0)) == NULL )
{
- printk("Unable to allocate console ring of %u bytes.\n",
- opt_conring_size);
- return;
+ BUG_ON(order == 0);
+ order--;
}
+ opt_conring_size = PAGE_SIZE << order;
spin_lock_irq(&console_lock);
for ( i = conringc ; i != conringp; i++ )
@@ -625,8 +616,6 @@ void __init console_init_postirq(void)
spin_unlock_irq(&console_lock);
printk("Allocated console ring of %u KiB.\n", opt_conring_size >> 10);
-
- init_xenheap_pages(__pa(_conring), __pa(_conring + _CONRING_SIZE));
}
void __init console_endboot(void)
++++++ 32on64-extra-mem.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:12.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:12.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -2909,7 +2909,7 @@ class XendDomainInfo:
+@@ -2913,7 +2913,7 @@ class XendDomainInfo:
self.guest_bitsize = self.image.getBitSize()
# Make sure there's enough RAM available for the domain
++++++ cpu-pools-docs.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -1,7 +1,5 @@
-Index: xen-4.0.0-testing/docs/xen-api/coversheet.tex
-===================================================================
---- xen-4.0.0-testing.orig/docs/xen-api/coversheet.tex
-+++ xen-4.0.0-testing/docs/xen-api/coversheet.tex
+--- a/docs/xen-api/coversheet.tex
++++ b/docs/xen-api/coversheet.tex
@@ -52,6 +52,7 @@ Mike Day, IBM & Daniel Veillard, Red Hat
Jim Fehlig, Novell & Tom Wilkie, University of Cambridge \\
Jon Harrop, XenSource & Yosuke Iwamatsu, NEC \\
@@ -10,10 +8,8 @@
\end{tabular}
\end{large}
-Index: xen-4.0.0-testing/docs/xen-api/revision-history.tex
-===================================================================
---- xen-4.0.0-testing.orig/docs/xen-api/revision-history.tex
-+++ xen-4.0.0-testing/docs/xen-api/revision-history.tex
+--- a/docs/xen-api/revision-history.tex
++++ b/docs/xen-api/revision-history.tex
@@ -50,6 +50,12 @@
between classes. Added host.PSCSI\_HBAs and VM.DSCSI\_HBAs
fields.\tabularnewline
@@ -22,15 +18,13 @@
+ Added definitions of new classes cpu\_pool. Updated the table
+ and the diagram representing relationships between classes.
+ Added fields host.resident\_cpu\_pools, VM.cpu\_pool and
-+ host\_cpu.cpu\_pool.
++ host\_cpu.cpu\_pool.\tabularnewline
+ \hline
\end{tabular}
\end{center}
\end{flushleft}
-Index: xen-4.0.0-testing/docs/xen-api/xenapi-coversheet.tex
-===================================================================
---- xen-4.0.0-testing.orig/docs/xen-api/xenapi-coversheet.tex
-+++ xen-4.0.0-testing/docs/xen-api/xenapi-coversheet.tex
+--- a/docs/xen-api/xenapi-coversheet.tex
++++ b/docs/xen-api/xenapi-coversheet.tex
@@ -17,12 +17,12 @@
\newcommand{\coversheetlogo}{xen.eps}
@@ -46,10 +40,8 @@
%% Document authors
\newcommand{\docauthors}{
-Index: xen-4.0.0-testing/docs/xen-api/xenapi-datamodel-graph.dot
-===================================================================
---- xen-4.0.0-testing.orig/docs/xen-api/xenapi-datamodel-graph.dot
-+++ xen-4.0.0-testing/docs/xen-api/xenapi-datamodel-graph.dot
+--- a/docs/xen-api/xenapi-datamodel-graph.dot
++++ b/docs/xen-api/xenapi-datamodel-graph.dot
@@ -14,7 +14,7 @@ fontname="Verdana";
node [ shape=box ]; session VM host network VIF PIF SR VDI VBD PBD user;
@@ -67,10 +59,8 @@
+cpu_pool -> VM [ arrowhead="crow", arrowtail="none" ]
+host -> cpu_pool [ arrowhead="crow", arrowtail="none" ]
}
-Index: xen-4.0.0-testing/docs/xen-api/xenapi-datamodel.tex
-===================================================================
---- xen-4.0.0-testing.orig/docs/xen-api/xenapi-datamodel.tex
-+++ xen-4.0.0-testing/docs/xen-api/xenapi-datamodel.tex
+--- a/docs/xen-api/xenapi-datamodel.tex
++++ b/docs/xen-api/xenapi-datamodel.tex
@@ -56,6 +56,7 @@ Name & Description \\
{\tt debug} & A basic class for testing \\
{\tt XSPolicy} & A class for handling Xen Security Policies \\
@@ -89,7 +79,7 @@
\hline
\end{tabular}\end{center}
-@@ -499,6 +503,56 @@ error code and a message describing the
+@@ -499,6 +503,56 @@ error code and a message describing the
\begin{verbatim}SECURITY_ERROR(xserr, message)\end{verbatim}
\begin{center}\rule{10em}{0.1pt}\end{center}
++++++ cpu-pools-libxc.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -1,7 +1,5 @@
-Index: xen-4.0.0-testing/tools/libxc/Makefile
-===================================================================
---- xen-4.0.0-testing.orig/tools/libxc/Makefile
-+++ xen-4.0.0-testing/tools/libxc/Makefile
+--- a/tools/libxc/Makefile
++++ b/tools/libxc/Makefile
@@ -8,6 +8,7 @@ CTRL_SRCS-y :=
CTRL_SRCS-y += xc_core.c
CTRL_SRCS-$(CONFIG_X86) += xc_core_x86.c
@@ -10,10 +8,8 @@
CTRL_SRCS-y += xc_domain.c
CTRL_SRCS-y += xc_evtchn.c
CTRL_SRCS-y += xc_misc.c
-Index: xen-4.0.0-testing/tools/libxc/xc_cpupool.c
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/libxc/xc_cpupool.c
++++ b/tools/libxc/xc_cpupool.c
@@ -0,0 +1,154 @@
+/******************************************************************************
+ * xc_cpupool.c
@@ -56,9 +52,9 @@
+ return do_domctl_save(xc_handle, &domctl);
+}
+
-+int xc_cpupool_getinfo(int xc_handle,
++int xc_cpupool_getinfo(int xc_handle,
+ uint32_t first_poolid,
-+ uint32_t n_max,
++ uint32_t n_max,
+ xc_cpupoolinfo_t *info)
+{
+ int err = 0;
@@ -169,42 +165,9 @@
+
+ return 0;
+}
-Index: xen-4.0.0-testing/tools/libxc/xc_domain.c
-===================================================================
---- xen-4.0.0-testing.orig/tools/libxc/xc_domain.c
-+++ xen-4.0.0-testing/tools/libxc/xc_domain.c
-@@ -6,6 +6,7 @@
- * Copyright (c) 2003, K A Fraser.
- */
-
-+#include <stdarg.h>
- #include "xc_private.h"
- #include "xg_save_restore.h"
- #include <xen/memory.h>
-@@ -15,15 +16,21 @@ int xc_domain_create(int xc_handle,
- uint32_t ssidref,
- xen_domain_handle_t handle,
- uint32_t flags,
-- uint32_t *pdomid)
-+ uint32_t *pdomid, ...)
- {
- int err;
-+ va_list ap;
- DECLARE_DOMCTL;
-
- domctl.cmd = XEN_DOMCTL_createdomain;
- domctl.domain = (domid_t)*pdomid;
- domctl.u.createdomain.ssidref = ssidref;
- domctl.u.createdomain.flags = flags;
-+ if ( flags & XEN_DOMCTL_CDF_pool ) {
-+ va_start(ap, pdomid);
-+ domctl.u.createdomain.cpupool = va_arg(ap, uint32_t);
-+ va_end(ap);
-+ }
- memcpy(domctl.u.createdomain.handle, handle, sizeof(xen_domain_handle_t));
- if ( (err = do_domctl(xc_handle, &domctl)) != 0 )
- return err;
-@@ -220,6 +227,7 @@ int xc_domain_getinfo(int xc_handle,
+--- a/tools/libxc/xc_domain.c
++++ b/tools/libxc/xc_domain.c
+@@ -220,6 +220,7 @@ int xc_domain_getinfo(int xc_handle,
info->cpu_time = domctl.u.getdomaininfo.cpu_time;
info->nr_online_vcpus = domctl.u.getdomaininfo.nr_online_vcpus;
info->max_vcpu_id = domctl.u.getdomaininfo.max_vcpu_id;
@@ -212,10 +175,8 @@
memcpy(info->handle, domctl.u.getdomaininfo.handle,
sizeof(xen_domain_handle_t));
-Index: xen-4.0.0-testing/tools/libxc/xc_private.h
-===================================================================
---- xen-4.0.0-testing.orig/tools/libxc/xc_private.h
-+++ xen-4.0.0-testing/tools/libxc/xc_private.h
+--- a/tools/libxc/xc_private.h
++++ b/tools/libxc/xc_private.h
@@ -164,6 +164,19 @@ static inline int do_domctl(int xc_handl
return ret;
}
@@ -236,10 +197,8 @@
static inline int do_sysctl(int xc_handle, struct xen_sysctl *sysctl)
{
int ret = -1;
-Index: xen-4.0.0-testing/tools/libxc/xenctrl.h
-===================================================================
---- xen-4.0.0-testing.orig/tools/libxc/xenctrl.h
-+++ xen-4.0.0-testing/tools/libxc/xenctrl.h
+--- a/tools/libxc/xenctrl.h
++++ b/tools/libxc/xenctrl.h
@@ -171,6 +171,7 @@ typedef struct xc_dominfo {
unsigned int nr_online_vcpus;
unsigned int max_vcpu_id;
@@ -248,15 +207,6 @@
} xc_dominfo_t;
typedef xen_domctl_getdomaininfo_t xc_domaininfo_t;
-@@ -207,7 +208,7 @@ int xc_domain_create(int xc_handle,
- uint32_t ssidref,
- xen_domain_handle_t handle,
- uint32_t flags,
-- uint32_t *pdomid);
-+ uint32_t *pdomid, ...);
-
-
- /* Functions to produce a dump of a given domain
@@ -502,6 +503,100 @@ int xc_domain_setdebugging(int xc_handle
unsigned int enable);
++++++ cpu-pools-python.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -1,42 +1,17 @@
-Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/lowlevel/xc/xc.c
-+++ xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
-@@ -97,17 +97,18 @@ static PyObject *pyxc_domain_create(XcOb
- PyObject *args,
- PyObject *kwds)
- {
-- uint32_t dom = 0, ssidref = 0, flags = 0, target = 0;
-+ uint32_t dom = 0, ssidref = 0, flags = 0, target = 0, cpupool = 0;
- int ret, i;
- PyObject *pyhandle = NULL;
- xen_domain_handle_t handle = {
- 0xde, 0xad, 0xbe, 0xef, 0xde, 0xad, 0xbe, 0xef,
- 0xde, 0xad, 0xbe, 0xef, 0xde, 0xad, 0xbe, 0xef };
+--- a/tools/python/xen/lowlevel/xc/xc.c
++++ b/tools/python/xen/lowlevel/xc/xc.c
+@@ -106,8 +106,8 @@ static PyObject *pyxc_domain_create(XcOb
-- static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", "target", NULL };
-+ static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", "target", "cpupool", NULL };
+ static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", "target", NULL };
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOii", kwd_list,
- &dom, &ssidref, &pyhandle, &flags, &target))
-+ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOiii", kwd_list, &dom,
-+ &ssidref, &pyhandle, &flags, &target,
-+ &cpupool))
++ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|iiOii", kwd_list, &dom,
++ &ssidref, &pyhandle, &flags, &target))
return NULL;
if ( pyhandle != NULL )
{
-@@ -124,8 +125,9 @@ static PyObject *pyxc_domain_create(XcOb
- }
- }
-
-+ flags |= XEN_DOMCTL_CDF_pool;
- if ( (ret = xc_domain_create(self->xc_handle, ssidref,
-- handle, flags, &dom)) < 0 )
-+ handle, flags, &dom, cpupool)) < 0 )
- return pyxc_error_to_exception();
-
- if ( target )
-@@ -329,7 +331,7 @@ static PyObject *pyxc_domain_getinfo(XcO
+@@ -329,7 +329,7 @@ static PyObject *pyxc_domain_getinfo(XcO
{
info_dict = Py_BuildValue(
"{s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i,s:i"
@@ -45,7 +20,7 @@
"domid", (int)info[i].domid,
"online_vcpus", info[i].nr_online_vcpus,
"max_vcpu_id", info[i].max_vcpu_id,
-@@ -344,7 +346,8 @@ static PyObject *pyxc_domain_getinfo(XcO
+@@ -344,7 +344,8 @@ static PyObject *pyxc_domain_getinfo(XcO
"cpu_time", (long long)info[i].cpu_time,
"maxmem_kb", (long long)info[i].max_memkb,
"ssidref", (int)info[i].ssidref,
@@ -55,7 +30,7 @@
pyhandle = PyList_New(sizeof(xen_domain_handle_t));
if ( (pyhandle == NULL) || (info_dict == NULL) )
{
-@@ -1751,6 +1754,179 @@ static PyObject *pyxc_dom_set_memshr(XcO
+@@ -1751,6 +1752,179 @@ static PyObject *pyxc_dom_set_memshr(XcO
return zero;
}
@@ -235,7 +210,7 @@
static PyMethodDef pyxc_methods[] = {
{ "handle",
-@@ -1866,7 +2042,8 @@ static PyMethodDef pyxc_methods[] = {
+@@ -1866,7 +2040,8 @@ static PyMethodDef pyxc_methods[] = {
" maxmem_kb [int]: Maximum memory limit, in kilobytes\n"
" cpu_time [long]: CPU time consumed, in nanoseconds\n"
" shutdown_reason [int]: Numeric code from guest OS, explaining "
@@ -245,7 +220,7 @@
{ "vcpu_getinfo",
(PyCFunction)pyxc_vcpu_getinfo,
-@@ -2264,6 +2441,66 @@ static PyMethodDef pyxc_methods[] = {
+@@ -2264,6 +2439,66 @@ static PyMethodDef pyxc_methods[] = {
" enable [int,0|1]: Disable or enable?\n"
"Returns: [int] 0 on success; -1 on error.\n" },
@@ -312,10 +287,8 @@
{ NULL, NULL, 0, NULL }
};
-Index: xen-4.0.0-testing/tools/python/xen/util/sxputils.py
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/python/xen/util/sxputils.py
++++ b/tools/python/xen/util/sxputils.py
@@ -0,0 +1,64 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -381,10 +354,8 @@
+ return sxphash
+
+
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPI.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py
+--- a/tools/python/xen/xend/XendAPI.py
++++ b/tools/python/xen/xend/XendAPI.py
@@ -51,6 +51,7 @@ from XendDPCI import XendDPCI
from XendPSCSI import XendPSCSI, XendPSCSI_HBA
from XendDSCSI import XendDSCSI, XendDSCSI_HBA
@@ -576,11 +547,9 @@
# Xen API: Class VBD
# ----------------------------------------------------------------
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendCPUPool.py
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendCPUPool.py
-@@ -0,0 +1,896 @@
++++ b/tools/python/xen/xend/XendCPUPool.py
+@@ -0,0 +1,903 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of version 2.1 of the GNU Lesser General Public
@@ -1130,7 +1099,7 @@
+ def pool_start(cls, poolname):
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ try:
+ pool.activate()
+ except XendAPIError, ex:
@@ -1149,8 +1118,12 @@
+ for cpu_ref in pool_vals['host_CPUs'] ]
+ cpus.sort()
+ pool_vals['host_CPU_numbers'] = cpus
-+ vm_names = [ xd.get_vm_by_uuid(uuid).getName()
-+ for uuid in pool_vals['started_VMs'] ]
++ # query VMs names. Take in account, that a VM
++ # returned by get_all_records could be destroy, now
++ vm_names = [ vm.getName()
++ for vm in map(xd.get_vm_by_uuid,
++ pool_vals['started_VMs'])
++ if vm ]
+ pool_vals['started_VM_names'] = vm_names
+ pool_vals['auto_power_on'] = int(pool_vals['auto_power_on'])
+ sxprs += [[pool_uuid] + map2sxp(pool_vals)]
@@ -1161,7 +1134,7 @@
+ def pool_destroy(cls, poolname):
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ try:
+ pool.deactivate()
+ if not pool.is_managed():
@@ -1172,7 +1145,7 @@
+ def pool_delete(cls, poolname):
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ try:
+ pool.destroy()
+ except XendAPIError, ex:
@@ -1181,28 +1154,28 @@
+ def pool_cpu_add(cls, poolname, cpu):
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ try:
+ cpu_ref = cls._cpu_number_to_ref(int(cpu))
+ if cpu_ref:
+ pool.add_host_CPU_live(cpu_ref)
+ else:
+ raise PoolError(XEND_ERROR_INVALID_CPU,
-+ 'CPU unkown')
++ 'CPU unknown')
+ except XendAPIError, ex:
+ raise VmError(ex.get_api_error())
+
+ def pool_cpu_remove(cls, poolname, cpu):
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ try:
+ cpu_ref = cls._cpu_number_to_ref(int(cpu))
+ if cpu_ref:
+ pool.remove_host_CPU_live(cpu_ref)
+ else:
+ raise PoolError(XEND_ERROR_INVALID_CPU,
-+ 'CPU unkown')
++ 'CPU unknown')
+ except XendAPIError, ex:
+ raise VmError(ex.get_api_error())
+
@@ -1210,10 +1183,10 @@
+ dom = XendDomain.instance()
+ pool = cls.lookup_pool(poolname)
+ if not pool:
-+ raise VmError('unkown pool %s' % poolname)
++ raise VmError('unknown pool %s' % poolname)
+ dominfo = dom.domain_lookup_nr(domname)
+ if not dominfo:
-+ raise VmError('unkown domain %s' % domname)
++ raise VmError('unknown domain %s' % domname)
+ domid = dominfo.getDomid()
+ if domid is not None:
+ if domid == 0:
@@ -1443,8 +1416,11 @@
+ pool_uuid = None
+ try:
+ pool_id = int(id_or_name)
-+ # pool id given
++ # pool id given ?
+ pool_uuid = cls.query_pool_ref(pool_id)
++ if not pool_uuid:
++ # not found -> search name
++ pool_uuid = cls.get_by_name_label(id_or_name)
+ except ValueError:
+ # pool name given
+ pool_uuid = cls.get_by_name_label(id_or_name)
@@ -1477,10 +1453,8 @@
+
+ unbound_cpus = classmethod(unbound_cpus)
+
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py
+--- a/tools/python/xen/xend/XendConfig.py
++++ b/tools/python/xen/xend/XendConfig.py
@@ -128,6 +128,7 @@ XENAPI_CFG_TO_LEGACY_CFG = {
'PV_bootloader': 'bootloader',
'PV_bootloader_args': 'bootloader_args',
@@ -1521,10 +1495,8 @@
'superpages': 0,
'description': '',
}
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendConstants.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConstants.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendConstants.py
+--- a/tools/python/xen/xend/XendConstants.py
++++ b/tools/python/xen/xend/XendConstants.py
@@ -133,6 +133,8 @@ VTPM_DELETE_SCRIPT = auxbin.scripts_dir(
XS_VMROOT = "/vm/"
@@ -1534,10 +1506,8 @@
NR_PCI_FUNC = 8
NR_PCI_DEV = 32
NR_PCI_DEVFN = NR_PCI_FUNC * NR_PCI_DEV
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
+--- a/tools/python/xen/xend/XendDomainInfo.py
++++ b/tools/python/xen/xend/XendDomainInfo.py
@@ -60,6 +60,7 @@ from xen.xend.xenstore.xsutil import Get
from xen.xend.xenstore.xswatch import xswatch
from xen.xend.XendConstants import *
@@ -1558,7 +1528,7 @@
+ pool = XendCPUPool.lookup_pool(pool_name)
+
+ if pool is None:
-+ raise VmError("unkown pool %s" % pool_name)
++ raise VmError("unknown pool %s" % pool_name)
+ pool_id = pool.query_pool_id()
+ if pool_id is None:
+ raise VmError("pool %s not activated" % pool_name)
@@ -1566,15 +1536,19 @@
flags = (int(hvm) << 0) | (int(hap) << 1) | (int(s3_integrity) << 2) | (int(oos_off) << 3)
try:
-@@ -2573,6 +2587,7 @@ class XendDomainInfo:
- ssidref = ssidref,
- handle = uuid.fromString(self.info['uuid']),
- flags = flags,
-+ cpupool = pool_id,
- target = self.info.target())
- except Exception, e:
- # may get here if due to ACM the operation is not permitted
-@@ -3613,6 +3628,11 @@ class XendDomainInfo:
+@@ -2586,6 +2600,11 @@ class XendDomainInfo:
+ failmsg += ', error=%i' % int(self.domid)
+ raise VmError(failmsg)
+
++ try:
++ xc.cpupool_movedomain(pool_id, self.domid)
++ except Exception, e:
++ raise VmError('Moving domain to target pool failed')
++
+ self.dompath = GetDomainPath(self.domid)
+
+ self._recreateDom()
+@@ -3613,6 +3632,11 @@ class XendDomainInfo:
retval = xc.sched_credit_domain_get(self.getDomid())
return retval
@@ -1586,10 +1560,8 @@
def get_power_state(self):
return XEN_API_VM_POWER_STATE[self._stateGet()]
def get_platform(self):
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendError.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendError.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendError.py
+--- a/tools/python/xen/xend/XendError.py
++++ b/tools/python/xen/xend/XendError.py
@@ -18,6 +18,7 @@
from xmlrpclib import Fault
@@ -1625,10 +1597,8 @@
class VDIError(XendAPIError):
def __init__(self, error, vdi):
XendAPIError.__init__(self)
-Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py
+--- a/tools/python/xen/xend/XendNode.py
++++ b/tools/python/xen/xend/XendNode.py
@@ -43,6 +43,7 @@ from XendStateStore import XendStateStor
from XendMonitor import XendMonitor
from XendPPCI import XendPPCI
@@ -1702,10 +1672,8 @@
'max_free_memory',
'max_para_memory',
'max_hvm_memory',
-Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvServer.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py
+--- a/tools/python/xen/xend/server/SrvServer.py
++++ b/tools/python/xen/xend/server/SrvServer.py
@@ -52,6 +52,7 @@ from xen.xend import XendNode, XendOptio
from xen.xend.XendLogging import log
from xen.xend.XendClient import XEN_API_SOCKET
@@ -1727,10 +1695,8 @@
# Reaching this point means we can auto start domains
try:
xenddomain().autostart_domains()
-Index: xen-4.0.0-testing/tools/python/xen/xend/server/XMLRPCServer.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py
-+++ xen-4.0.0-testing/tools/python/xen/xend/server/XMLRPCServer.py
+--- a/tools/python/xen/xend/server/XMLRPCServer.py
++++ b/tools/python/xen/xend/server/XMLRPCServer.py
@@ -33,6 +33,7 @@ from xen.xend.XendClient import XML_RPC_
from xen.xend.XendConstants import DOM_STATE_RUNNING
from xen.xend.XendLogging import log
@@ -1762,10 +1728,8 @@
# Functions in XendNode and XendDmesg
for type, lst, n in [(XendNode,
['info', 'pciinfo', 'send_debug_keys',
-Index: xen-4.0.0-testing/tools/python/xen/xm/create.dtd
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.dtd
-+++ xen-4.0.0-testing/tools/python/xen/xm/create.dtd
+--- a/tools/python/xen/xm/create.dtd
++++ b/tools/python/xen/xm/create.dtd
@@ -50,6 +50,7 @@
s3_integrity CDATA #REQUIRED
vcpus_max CDATA #REQUIRED
@@ -1774,10 +1738,8 @@
actions_after_shutdown %NORMAL_EXIT; #REQUIRED
actions_after_reboot %NORMAL_EXIT; #REQUIRED
actions_after_crash %CRASH_BEHAVIOUR; #REQUIRED
-Index: xen-4.0.0-testing/tools/python/xen/xm/create.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py
-+++ xen-4.0.0-testing/tools/python/xen/xm/create.py
+--- a/tools/python/xen/xm/create.py
++++ b/tools/python/xen/xm/create.py
@@ -659,6 +659,10 @@ gopts.var('suppress_spurious_page_faults
fn=set_bool, default=None,
use="""Do not inject spurious page faults into this guest""")
@@ -1798,10 +1760,8 @@
config_image = configure_image(vals)
if vals.bootloader:
-Index: xen-4.0.0-testing/tools/python/xen/xm/main.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py
-+++ xen-4.0.0-testing/tools/python/xen/xm/main.py
+--- a/tools/python/xen/xm/main.py
++++ b/tools/python/xen/xm/main.py
@@ -56,6 +56,7 @@ from xen.util.xmlrpcclient import Server
import xen.util.xsm.xsm as security
from xen.util.xsm.xsm import XSMError
@@ -1982,7 +1942,7 @@
+ if len(refs) > 0:
+ return refs[0]
+ else:
-+ err('unkown pool name')
++ err('unknown pool name')
+ sys.exit(1)
+
+def xm_pool_start(args):
@@ -2110,7 +2070,7 @@
+ cpu_ref = [ c_rec['uuid'] for c_rec in cpu_ref_list.values()
+ if c_rec['number'] == args[1] ]
+ if len(cpu_ref) == 0:
-+ err('cpu number unkown')
++ err('cpu number unknown')
+ else:
+ server.xenapi.cpu_pool.add_host_CPU_live(ref, cpu_ref[0])
+ else:
@@ -2124,7 +2084,7 @@
+ cpu_ref = [ c_rec['uuid'] for c_rec in cpu_ref_list.values()
+ if c_rec['number'] == args[1] ]
+ if len(cpu_ref) == 0:
-+ err('cpu number unkown')
++ err('cpu number unknown')
+ else:
+ server.xenapi.cpu_pool.remove_host_CPU_live(ref, cpu_ref[0])
+ else:
@@ -2167,10 +2127,8 @@
]
for c in IMPORTED_COMMANDS:
-Index: xen-4.0.0-testing/tools/python/xen/xm/pool-create.py
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/python/xen/xm/pool-create.py
++++ b/tools/python/xen/xm/pool-create.py
@@ -0,0 +1,51 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2223,10 +2181,8 @@
+if __name__ == '__main__':
+ main(sys.argv)
+
-Index: xen-4.0.0-testing/tools/python/xen/xm/pool-new.py
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/python/xen/xm/pool-new.py
++++ b/tools/python/xen/xm/pool-new.py
@@ -0,0 +1,50 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2278,10 +2234,8 @@
+if __name__ == '__main__':
+ main(sys.argv)
+
-Index: xen-4.0.0-testing/tools/python/xen/xm/pool.py
-===================================================================
--- /dev/null
-+++ xen-4.0.0-testing/tools/python/xen/xm/pool.py
++++ b/tools/python/xen/xm/pool.py
@@ -0,0 +1,236 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2519,10 +2473,8 @@
+def help():
+ return str(GOPTS)
+
-Index: xen-4.0.0-testing/tools/python/xen/xm/xenapi_create.py
-===================================================================
---- xen-4.0.0-testing.orig/tools/python/xen/xm/xenapi_create.py
-+++ xen-4.0.0-testing/tools/python/xen/xm/xenapi_create.py
+--- a/tools/python/xen/xm/xenapi_create.py
++++ b/tools/python/xen/xm/xenapi_create.py
@@ -310,6 +310,8 @@ class xenapi_create:
get_child_nodes_as_dict(vm, "platform", "key", "value"),
"other_config":
++++++ cpupools-core-fixup.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -36,7 +36,7 @@
static struct csched_private *csched_priv0 = NULL;
static void csched_tick(void *_cpu);
-@@ -1524,11 +1523,13 @@ static void csched_tick_resume(struct sc
+@@ -1517,11 +1516,13 @@ static void csched_tick_resume(struct sc
}
}
++++++ cpupools-core.patch ++++++
++++ 1295 lines (skipped)
++++ between xen/cpupools-core.patch
++++ and xen/cpupools-core.patch
++++++ hv_tools.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -2,7 +2,7 @@
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/lowlevel/xc/xc.c
+++ xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c
-@@ -946,16 +946,16 @@ static PyObject *pyxc_hvm_build(XcObject
+@@ -944,16 +944,16 @@ static PyObject *pyxc_hvm_build(XcObject
#endif
int i;
char *image;
@@ -24,7 +24,7 @@
return NULL;
memset(vcpu_avail, 0, sizeof(vcpu_avail));
-@@ -1007,6 +1007,7 @@ static PyObject *pyxc_hvm_build(XcObject
+@@ -1005,6 +1005,7 @@ static PyObject *pyxc_hvm_build(XcObject
va_hvm->checksum -= sum;
munmap(va_map, XC_PAGE_SIZE);
#endif
++++++ init.xendomains ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:13.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:13.000000000 +0200
@@ -8,7 +8,7 @@
### BEGIN INIT INFO
# Provides: xendomains
# Required-Start: $syslog $remote_fs xend
-# Should-Start: iscsi o2cb ocfs2 openais
+# Should-Start: iscsi o2cb ocfs2
# Required-Stop: $syslog $remote_fs xend
# Should-Stop: iscsi
# Default-Start: 3 5
++++++ xend-domain-lock.patch ++++++
--- /var/tmp/diff_new_pack.fZw4wA/_old 2010-04-26 23:19:14.000000000 +0200
+++ /var/tmp/diff_new_pack.fZw4wA/_new 2010-04-26 23:19:14.000000000 +0200
@@ -23,7 +23,7 @@
+# Lock is placed in /<xend-domain-lock-path>/<domain-uuid>.
+# Default is /var/lib/xen/images/vm_locks/
+#
-+#(xend-domain-lock-path /var/lib/xend/domains)
++#(xend-domain-lock-path /var/lib/images/vm_locks)
+
+# External locking utility called by xend for acquiring/releasing
+# domain lock. By default /etc/xen/scripts/domain-lock will be used
@@ -91,7 +91,7 @@
XendTask.log_progress(0, 30, self._constructDomain)
XendTask.log_progress(31, 60, self._initDomain)
-@@ -2979,6 +2981,11 @@ class XendDomainInfo:
+@@ -2983,6 +2985,11 @@ class XendDomainInfo:
self._stateSet(DOM_STATE_HALTED)
self.domid = None # Do not push into _stateSet()!
@@ -103,7 +103,7 @@
finally:
self.refresh_shutdown_lock.release()
-@@ -4485,6 +4492,74 @@ class XendDomainInfo:
+@@ -4489,6 +4496,74 @@ class XendDomainInfo:
def has_device(self, dev_class, dev_uuid):
return (dev_uuid in self.info['%s_refs' % dev_class.lower()])
++++++ xend-preserve-devs.patch ++++++
Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py
===================================================================
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py
@@ -1166,8 +1166,8 @@ class XendConfig(dict):
config.append(['VDI', dev_cfg.get('VDI', '')])
sxpr.append(['device', config])
+ found = True
- found = True
except:
log.exception("dumping sxp from device controllers")
pass
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0