openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2015
- 1 participants
- 1390 discussions
Hello community,
here is the log from the commit of package spamassassin for openSUSE:Factory checked in at 2015-02-05 10:59:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spamassassin (Old)
and /work/SRC/openSUSE:Factory/.spamassassin.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spamassassin"
Changes:
--------
--- /work/SRC/openSUSE:Factory/spamassassin/spamassassin.changes 2015-01-09 20:52:12.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.spamassassin.new/spamassassin.changes 2015-02-05 10:59:07.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 2 08:18:20 UTC 2015 - mpluskal(a)suse.com
+
+- Enable reload in unit files (boo#915736)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spamassassin.spec ++++++
--- /var/tmp/diff_new_pack.JozIP1/_old 2015-02-05 10:59:08.000000000 +0100
+++ /var/tmp/diff_new_pack.JozIP1/_new 2015-02-05 10:59:08.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package spamassassin
#
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
++++++ spamd.service ++++++
--- /var/tmp/diff_new_pack.JozIP1/_old 2015-02-05 10:59:08.000000000 +0100
+++ /var/tmp/diff_new_pack.JozIP1/_new 2015-02-05 10:59:08.000000000 +0100
@@ -25,6 +25,7 @@
ExecStartPre=/bin/bash -c "sa-update || true"
EnvironmentFile=-/etc/sysconfig/spamd
ExecStart=/usr/sbin/spamd $SPAMD_ARGS -r /var/run/spamd.pid
+ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
++++++ spampd.service ++++++
--- /var/tmp/diff_new_pack.JozIP1/_old 2015-02-05 10:59:09.000000000 +0100
+++ /var/tmp/diff_new_pack.JozIP1/_new 2015-02-05 10:59:09.000000000 +0100
@@ -25,6 +25,7 @@
ExecStartPre=/bin/bash -c "sa-update || true"
EnvironmentFile=-/etc/sysconfig/spampd
ExecStart=/usr/sbin/spampd $SPAMPD_OPTIONS
+ExecReload=/usr/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
--
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 fontpackages for openSUSE:Factory checked in at 2015-02-05 10:58:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fontpackages (Old)
and /work/SRC/openSUSE:Factory/.fontpackages.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fontpackages"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fontpackages/fontpackages.changes 2014-03-06 19:29:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fontpackages.new/fontpackages.changes 2015-02-05 10:59:00.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Feb 3 08:24:45 UTC 2015 - olaf(a)aepfle.de
+
+- Move version-release to reduce build-compare noise
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fontpackages.spec ++++++
--- /var/tmp/diff_new_pack.2xoD1k/_old 2015-02-05 10:59:01.000000000 +0100
+++ /var/tmp/diff_new_pack.2xoD1k/_new 2015-02-05 10:59:01.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package fontpackages
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
++++++ rpm-macros.fonts-config ++++++
--- /var/tmp/diff_new_pack.2xoD1k/_old 2015-02-05 10:59:01.000000000 +0100
+++ /var/tmp/diff_new_pack.2xoD1k/_new 2015-02-05 10:59:01.000000000 +0100
@@ -7,7 +7,8 @@
%_fontsconfavaildir %{_datadir}/%{name}/conf.avail
# private
%__fontsconfigrunflag /var/run/fontpackages/reconfigure-fonts
-%__fontsupdatescript /var/adm/update-scripts/%{name}-%{version}-%{release}-reconfigure-fonts
+%__fontsupdatescript /var/adm/update-scripts/reconfigure-fonts-%{name}-%{version}-%{release}
+%__fontsupdatescript_cjk /var/adm/update-scripts/reconfigure-cjk-fonts-%{name}-%{version}-%{release}
# macro: link_avail_to_system_fontsconf name
# (takes exactly one argument, name of configuration file)
@@ -117,16 +118,16 @@
echo 'fi' >> %{__fontsupdatescript} \
echo 'rm %{__fontsupdatescript}' >> %{__fontsupdatescript} \
%{-c: \
- echo 'if [ -e %{__fontsconfigrunflag}-cjk ]; then' > %{__fontsupdatescript}-cjk \
- echo ' if [ -x /usr/sbin/acroread-cidfont-config ]; then' >> %{__fontsupdatescript}-cjk \
- echo ' /usr/sbin/acroread-cidfont-config' >> %{__fontsupdatescript}-cjk \
- echo ' fi' >> %{__fontsupdatescript}-cjk \
- echo ' if [ -x /usr/sbin/ghostscript-cjk-config ]; then' >> %{__fontsupdatescript}-cjk \
- echo ' /usr/sbin/ghostscript-cjk-config' >> %{__fontsupdatescript}-cjk \
- echo ' fi' >> %{__fontsupdatescript}-cjk \
- echo ' rm %{__fontsconfigrunflag}-cjk' >> %{__fontsupdatescript}-cjk \
- echo 'fi' >> %{__fontsupdatescript}-cjk \
- echo 'rm %{__fontsupdatescript}-cjk' >> %{__fontsupdatescript}-cjk \
+ echo 'if [ -e %{__fontsconfigrunflag}-cjk ]; then' > %{__fontsupdatescript_cjk} \
+ echo ' if [ -x /usr/sbin/acroread-cidfont-config ]; then' >> %{__fontsupdatescript_cjk} \
+ echo ' /usr/sbin/acroread-cidfont-config' >> %{__fontsupdatescript_cjk} \
+ echo ' fi' >> %{__fontsupdatescript_cjk} \
+ echo ' if [ -x /usr/sbin/ghostscript-cjk-config ]; then' >> %{__fontsupdatescript_cjk} \
+ echo ' /usr/sbin/ghostscript-cjk-config' >> %{__fontsupdatescript_cjk} \
+ echo ' fi' >> %{__fontsupdatescript_cjk} \
+ echo ' rm %{__fontsconfigrunflag}-cjk' >> %{__fontsupdatescript_cjk} \
+ echo 'fi' >> %{__fontsupdatescript_cjk} \
+ echo 'rm %{__fontsupdatescript_cjk}' >> %{__fontsupdatescript_cjk} \
} \
fi \
%nil
--
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 rsync for openSUSE:Factory checked in at 2015-02-05 10:58:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rsync (Old)
and /work/SRC/openSUSE:Factory/.rsync.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rsync"
Changes:
--------
--- /work/SRC/openSUSE:Factory/rsync/rsync.changes 2014-11-24 11:11:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.rsync.new/rsync.changes 2015-02-05 10:58:54.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 2 18:42:25 UTC 2015 - vcizek(a)suse.com
+
+- fix for CVE-2014-9512 (bnc#915410)
+ * path spoofing attack vulnerability
+ * added rsync-CVE-2014-9512.patch
+
+-------------------------------------------------------------------
New:
----
rsync-CVE-2014-9512.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rsync.spec ++++++
--- /var/tmp/diff_new_pack.zZmeGA/_old 2015-02-05 10:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.zZmeGA/_new 2015-02-05 10:58:56.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rsync
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -42,6 +42,7 @@
Source11: http://rsync.samba.org/ftp/rsync/src/rsync-patches-%{version}.tar.gz.asc
Source12: %{name}.keyring
Patch3: system-zlib.diff
+Patch4: rsync-CVE-2014-9512.patch
BuildRequires: autoconf
BuildRequires: libacl-devel
BuildRequires: openslp-devel
@@ -79,6 +80,7 @@
rm -f zlib/*.h
%patch3
%endif
+%patch4 -p1
patch -p1 < patches/acls.diff
patch -p1 < patches/xattrs.diff
patch -p1 < patches/slp.diff
++++++ rsync-CVE-2014-9512.patch ++++++
commit 962f8b90045ab331fc04c9e65f80f1a53e68243b
Author: Wayne Davison <wayned(a)samba.org>
Date: Wed Dec 31 12:41:03 2014 -0800
Complain if an inc-recursive path is not right for its dir.
This ensures that a malicious sender can't use a just-sent
symlink as a trasnfer path.
diff --git a/flist.c b/flist.c
index c24672e..92e4b65 100644
--- a/flist.c
+++ b/flist.c
@@ -2435,8 +2435,9 @@ struct file_list *send_file_list(int f, int argc, char *argv[])
return flist;
}
-struct file_list *recv_file_list(int f)
+struct file_list *recv_file_list(int f, int dir_ndx)
{
+ const char *good_dirname = NULL;
struct file_list *flist;
int dstart, flags;
int64 start_read;
@@ -2492,6 +2493,23 @@ struct file_list *recv_file_list(int f)
flist_expand(flist, 1);
file = recv_file_entry(f, flist, flags);
+ if (inc_recurse) {
+ static const char empty_dir[] = "\0";
+ const char *cur_dir = file->dirname ? file->dirname : empty_dir;
+ if (relative_paths && *cur_dir == '/')
+ cur_dir++;
+ if (cur_dir != good_dirname) {
+ const char *d = dir_ndx >= 0 ? f_name(dir_flist->files[dir_ndx], NULL) : empty_dir;
+ if (strcmp(cur_dir, d) != 0) {
+ rprintf(FERROR,
+ "ABORTING due to invalid dir prefix from sender: %s (should be: %s)\n",
+ cur_dir, d);
+ exit_cleanup(RERR_PROTOCOL);
+ }
+ good_dirname = cur_dir;
+ }
+ }
+
if (S_ISREG(file->mode)) {
/* Already counted */
} else if (S_ISDIR(file->mode)) {
@@ -2615,7 +2633,7 @@ void recv_additional_file_list(int f)
rprintf(FINFO, "[%s] receiving flist for dir %d\n",
who_am_i(), ndx);
}
- flist = recv_file_list(f);
+ flist = recv_file_list(f, ndx);
flist->parent_ndx = ndx;
}
}
diff --git a/io.c b/io.c
index b9a9bd0..a868fa9 100644
--- a/io.c
+++ b/io.c
@@ -1685,7 +1685,7 @@ void wait_for_receiver(void)
rprintf(FINFO, "[%s] receiving flist for dir %d\n",
who_am_i(), ndx);
}
- flist = recv_file_list(iobuf.in_fd);
+ flist = recv_file_list(iobuf.in_fd, ndx);
flist->parent_ndx = ndx;
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links)
diff --git a/main.c b/main.c
index e7a13f7..713b818 100644
--- a/main.c
+++ b/main.c
@@ -1009,7 +1009,7 @@ static void do_server_recv(int f_in, int f_out, int argc, char *argv[])
filesfrom_fd = -1;
}
- flist = recv_file_list(f_in);
+ flist = recv_file_list(f_in, -1);
if (!flist) {
rprintf(FERROR,"server_recv: recv_file_list error\n");
exit_cleanup(RERR_FILESELECT);
@@ -1183,7 +1183,7 @@ int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
if (write_batch && !am_server)
start_write_batch(f_in);
- flist = recv_file_list(f_in);
+ flist = recv_file_list(f_in, -1);
if (inc_recurse && file_total == 1)
recv_additional_file_list(f_in);
diff --git a/rsync.c b/rsync.c
index 68ff6b1..c3ecc51 100644
--- a/rsync.c
+++ b/rsync.c
@@ -364,7 +364,7 @@ int read_ndx_and_attrs(int f_in, int f_out, int *iflag_ptr, uchar *type_ptr,
}
/* Send all the data we read for this flist to the generator. */
start_flist_forward(ndx);
- flist = recv_file_list(f_in);
+ flist = recv_file_list(f_in, ndx);
flist->parent_ndx = ndx;
stop_flist_forward();
}
--
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 acpica for openSUSE:Factory checked in at 2015-02-05 10:58:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/acpica (Old)
and /work/SRC/openSUSE:Factory/.acpica.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "acpica"
Changes:
--------
--- /work/SRC/openSUSE:Factory/acpica/acpica.changes 2014-08-03 07:50:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.acpica.new/acpica.changes 2015-02-05 10:58:47.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Feb 2 23:43:34 UTC 2015 - schwab(a)suse.de
+
+- Enable on aarch64
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ acpica.spec ++++++
--- /var/tmp/diff_new_pack.HiEeJ3/_old 2015-02-05 10:58:49.000000000 +0100
+++ /var/tmp/diff_new_pack.HiEeJ3/_new 2015-02-05 10:58:49.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package acpica
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,6 @@
#
-
Name: acpica
Url: http://acpica.org
# How to fetch acpi-tools:
@@ -43,7 +42,7 @@
Source5: %{acpi_tools_dir}.tar.bz2
Source6: generate_acpi-tools_tarball.sh
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-ExclusiveArch: %ix86 ia64 x86_64
+ExclusiveArch: %ix86 ia64 x86_64 aarch64
BuildRequires: bison
BuildRequires: flex
BuildRequires: glibc-devel
--
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 iptables.3448 for openSUSE:13.1:Update checked in at 2015-02-04 18:01:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/iptables.3448 (Old)
and /work/SRC/openSUSE:13.1:Update/.iptables.3448.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iptables.3448"
Changes:
--------
New Changes file:
--- /dev/null 2014-12-25 22:38:16.200041506 +0100
+++ /work/SRC/openSUSE:13.1:Update/.iptables.3448.new/iptables.changes 2015-02-04 18:01:13.000000000 +0100
@@ -0,0 +1,754 @@
+-------------------------------------------------------------------
+Thu Jan 22 13:34:42 UTC 2015 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.21
+* Introduce a new revision for the set match with the counters support
+* Add locking to prevent concurrent instances
+* --nowildcard option for xt_socket, available since Linux kernel 3.11
+* SYNPROXY support, available since Linux kernel 3.12
+* Only convert netmasks to /prefixlen notation when representable
+ [bnc#914285]
+
+-------------------------------------------------------------------
+Fri May 31 20:00:39 UTC 2013 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.19.1
+* New connlabel and bpf matches
+- Remove 0001-Revert-build-resolve-link-failure-for-ip6t_NETMAP.patch,
+ 0001-libip6t_NETMAP-Use-xtables_ip6mask_to_cidr-and-get-r.patch
+ (are upstream)
+
+-------------------------------------------------------------------
+Mon Apr 15 06:19:21 UTC 2013 - jengelh(a)inai.de
+
+- libxt_state.so symlink was not installed (bnc#815182); fix by
+ removing 0001-build-also-use-libtool-for-install-stage.patch,
+ removing 0001-build-do-not-dereference-symlinks-on-installation.patch,
+ adding 0001-libip6t_NETMAP-Use-xtables_ip6mask_to_cidr-and-get-r.patch,
+ adding 0001-Revert-build-resolve-link-failure-for-ip6t_NETMAP.patch
+
+-------------------------------------------------------------------
+Wed Mar 20 08:22:20 UTC 2013 - cfarrell(a)suse.com
+
+- license update: GPL-2.0 and Artistic-2.0
+ GPL version does not have ^or later^ due to inclusion of numerous GPL 2
+ ^only^ files. Also, aggregation of Artistic-2.0 content
+
+-------------------------------------------------------------------
+Mon Mar 4 21:42:12 UTC 2013 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.18
+* documentation updates
+- Create subpackage xtables-plugins, to aid packaging of xtadm
+- Add 0001-build-do-not-dereference-symlinks-on-installation.patch
+ as a prerequisite for:
+- Add 0001-build-also-use-libtool-for-install-stage.patch
+ to kill of undesired DT_RPATH entries
+
+-------------------------------------------------------------------
+Tue Dec 25 22:47:56 UTC 2012 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.17
+* libxt_time: add support to ignore day transition
+* libxt_statistic: fix save output
+
+-------------------------------------------------------------------
+Wed Nov 28 17:07:29 CET 2012 - sbrabec(a)suse.cz
+
+- Verify GPG signature
+
+-------------------------------------------------------------------
+Thu Nov 15 16:06:15 UTC 2012 - lnussel(a)suse.de
+
+- list all required binaries explicitly to make sure all of them are actually
+ compiled
+
+-------------------------------------------------------------------
+Thu Nov 15 14:15:48 UTC 2012 - jengelh(a)inai.de
+
+- Always regenerate files due to SUSE's iptables-batch patch
+
+-------------------------------------------------------------------
+Mon Oct 8 12:42:37 UTC 2012 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.16.3
+* This release includes aliasing support which translates command
+ lines using obsolete extensions into new ones. The option parser
+ now flags illegal negative numbers in some more extensions.
+ A division by zero was resolved in libxt_limit as well.
+
+-------------------------------------------------------------------
+Tue Jul 31 12:08:07 UTC 2012 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.15
+* libxt_recent: add --mask netmask
+* libxt_hashlimit: add support for byte-based operation
+
+-------------------------------------------------------------------
+Sat May 26 19:35:38 UTC 2012 - jengelh(a)inai.de
+
+- Update to new upstream release 1.4.14
+* Support for the new cttimeout infrastructure. This allows you to
+ attach specific timeout policies to flow via iptables CT target.
+
+-------------------------------------------------------------------
+Tue Mar 27 13:29:31 UTC 2012 - jengelh(a)medozas.de
+
+- Update to new upstream release 1.4.13
+* Add the rpfilter, nfacct and IPv6 ECN extensions
+
+-------------------------------------------------------------------
+Mon Jan 2 21:30:38 UTC 2012 - jengelh(a)medozas.de
+
+- Update to newer git snapshot (v1.4.12.2-28-g2117f2b,
+ but master branch), tag locally as 1.4.12.90.
+* ships missing pkgconfig files, compile fix for libnfnetlink
+* libxt_NFQUEUE: fix --queue-bypass ipt-save output
+* libxt_connbytes: fix handling of --connbytes FROM
+* libxt_recent: Add support for --reap option
+- split iptables-devel into libiptc-devel and libxtables-devel
+
+-------------------------------------------------------------------
+Wed Dec 28 09:50:23 UTC 2011 - puzel(a)suse.com
+
+- iptables-apply-mktemp-fix.patch (bnc#730161)
+
+-------------------------------------------------------------------
+Wed Nov 30 14:28:11 UTC 2011 - coolo(a)suse.com
+
+- add automake as buildrequire to avoid implicit dependency
+
+-------------------------------------------------------------------
+Tue Oct 4 23:01:57 UTC 2011 - jengelh(a)medozas.de
+
+- Update to a newer git snapshot of the stable branch
+ (to v1.4.12.1-16-gd2b0eaa)
+* resolve failure to load extensions that depend on libm.so
+- rediff of iptables-batch due to fuzz
+- relax runtime requires
+
+-------------------------------------------------------------------
+Thu Sep 1 17:09:05 UTC 2011 - jengelh(a)medozas.de
+
+- Update to new upstream release 1.4.12.1
+* regression fixes for the new (stricter) command-line parser
+- restore --includedir= in spec file
+- Put libxtables into its own subpackage so that one does not need
+ a lockstep update of iproute2 on a new iptables package
+- Remove redundant fields (Autoreqprov defaults to on, License is
+ inherited from main package)
+
+-------------------------------------------------------------------
+Sat Aug 13 01:39:38 CEST 2011 - draht(a)suse.de
+
+- include path is /usr/include
+
+-------------------------------------------------------------------
+Mon Aug 8 00:42:53 UTC 2011 - jengelh(a)medozas.de
+
+- Put include files into a separate directory to flag up missing
+ CFLAGS. libipq.pc will now be provided.
+- Enable build of nfnl_osf, a tool to upload OS fingerprints to
+ the kernel for use with xt_osf.
+
+-------------------------------------------------------------------
+Fri Jul 22 13:12:50 UTC 2011 - jengelh(a)medozas.de
+
+- Update to new upstream release 1.4.12
+* Include lost match/target descriptions in manpage again
+* libxt_LOG: fix ignorance of all but the last flag
+* libxt_HL: restore hl-* option names
+* libxt_hashlimit: use a more obvious expiry value by default
+* libxt_RATEEST: fix find-and-delete of rules with -j RATEEST
+* ipv4: restore negation for the -f option
+* Reject empty host specifications (e.g. -s "")
+* libxt_conntrack: restore network byteordering for ABI v1 & v2
+* Documentation updates
+
+-------------------------------------------------------------------
+Wed Jun 8 10:20:57 UTC 2011 - jengelh(a)medozas.de
+
+- Update to snapshot 1.4.11+git16
+* libxt_owner: restore inversion support
+* option: fix ignored negation before implicit extension loading
+* build: fix installation of symlinks
+* build: fix absence of xml translator in IPv6-only builds
+- Drop merged patches
+
+-------------------------------------------------------------------
+Sun May 29 23:56:33 UTC 2011 - jengelh(a)medozas.de
+
+- Update to new upstream release 1.4.11
+* stricter option parsing
+* support for the current xt_SET target as contained in 2.6.39
+* support for the new xt_devgroup match
+* support for the new xt_AUDIT target
+* support for a new NFQUEUE bypass option, allowing to bypass the
+ queue if no userspace listener is present
+* a new iptables option "-C" to check for existence of a rules
+- Fixes on top
+* allow negation of --uid-owner/--gid-owner again
+* fix installation of symlinks
+- Run spec-beautifier
+
+-------------------------------------------------------------------
+Fri Oct 29 17:56:48 UTC 2010 - jengelh(a)medozas.de
+
+- Update to new upstream release 1.4.10
++++ 557 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.1:Update/.iptables.3448.new/iptables.changes
New:
----
iptables-1.4.21.tar.bz2
iptables-1.4.21.tar.bz2.sig
iptables-apply-mktemp-fix.patch
iptables-batch.patch
iptables.changes
iptables.keyring
iptables.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iptables.spec ++++++
#
# spec file for package iptables
#
# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: iptables
%define lname_ipq libipq0
%define lname_iptc libiptc0
%define lname_xt libxtables10
Version: 1.4.21
Release: 0
Summary: IP Packet Filter Administration utilities
License: GPL-2.0 and Artistic-2.0
Group: Productivity/Networking/Security
Url: http://netfilter.org/projects/iptables/
#Git-Web: http://git.netfilter.org/
#Git-Clone: git://git.netfilter.org/iptables
#DL-URL: http://netfilter.org/projects/iptables/files/
Source: http://netfilter.org/projects/iptables/files/%name-%version.tar.bz2
Source2: http://netfilter.org/projects/iptables/files/%name-%version.tar.bz2.sig
Source3: %name.keyring
Patch3: iptables-batch.patch
Patch4: iptables-apply-mktemp-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{?fedora_version} || 0%{?centos_version}
BuildRequires: sgml-common
%endif
#git#BuildRequires: autoconf, automake >= 1.10
BuildRequires: libtool
BuildRequires: pkgconfig >= 0.21
%if 0%{?suse_version}
BuildRequires: fdupes
%endif
%if 0%{?suse_version} >= 1140 || 0%{?fedora_version}
BuildRequires: pkgconfig(libnetfilter_conntrack) >= 1.0.4
BuildRequires: pkgconfig(libnfnetlink) >= 1.0.0
%endif
%if (0%{?suse_version} && 0%{?suse_version} <= 1110) || 0%{?centos_version} || 0%{?redhat_version}
BuildRequires: libnetfilter_conntrack-devel >= 1.0.4
BuildRequires: libnfnetlink-devel >= 1.0.0
%endif
Requires: xtables-plugins = %version
%description
iptables is used to set up, maintain, and inspect the tables of IP
packet filter rules in the Linux kernel. This version requires kernel
3.0 or newer.
%package -n xtables-plugins
Summary: Match and Target Extension plugins for iptables
Group: Productivity/Networking/Security
Conflicts: iptables < 1.4.18
%description -n xtables-plugins
Match and Target Extension plugins for iptables.
%package -n %lname_ipq
Summary: Library to interface with the (old) ip_queue kernel mechanism
Group: System/Libraries
%description -n %lname_ipq
The Netfilter project provides a mechanism (ip_queue) for passing
packets out of the stack for queueing to userspace, then receiving
these packets back into the kernel with a verdict specifying what to
do with the packets (such as ACCEPT or DROP). These packets may also
be modified in userspace prior to reinjection back into the kernel.
ip_queue/libipq is obsoleted by nf_queue/libnetfilter_queue!
%package -n libipq-devel
Summary: Development files for the ip_queue kernel mechanism
Group: Development/Libraries/C and C++
Requires: %lname_ipq = %version
%description -n libipq-devel
The Netfilter project provides a mechanism (ip_queue) for passing
packets out of the stack for queueing to userspace, then receiving
these packets back into the kernel with a verdict specifying what to
do with the packets (such as ACCEPT or DROP). These packets may also
be modified in userspace prior to reinjection back into the kernel.
ip_queue/libipq is obsoleted by nf_queue/libnetfilter_queue!
%package -n %lname_iptc
Summary: Library for low-level ruleset generation and parsing
Group: System/Libraries
%description -n %lname_iptc
libiptc ("iptables cache") is used to retrieve from the kernel, parse,
construct, and load new rulesets into the kernel.
%package -n libiptc-devel
Summary: Development files for libiptc, a packet filter ruleset library
Group: Development/Libraries/C and C++
Requires: %lname_iptc = %version
%description -n libiptc-devel
libiptc ("iptables cache") is used to retrieve from the kernel, parse,
construct, and load new rulesets into the kernel.
%package -n %lname_xt
Summary: iptables extension interface
Group: System/Libraries
%description -n %lname_xt
This library contains all the iptables code shared between iptables,
ip6tables, their extensions, and for external integration for e.g.
iproute2's m_xt.
%package -n libxtables-devel
Summary: Libraries, Headers and Development Man Pages for iptables
Group: Development/Libraries/C and C++
Requires: %lname_xt = %version
%description -n libxtables-devel
This library contains all the iptables code shared between iptables,
ip6tables, their extensions, and for external integration for e.g.
Link your extension (iptables plugins) with $(pkg-config xtables
--libs) and place the plugin in the directory given by $(pkg-config
xtables --variable=xtlibdir).
%prep
%setup -q
%patch -P 3 -P 4 -p1
%build
# We have the iptables-batch patch, so always regenerate.
if true || [ ! -e configure ]; then
./autogen.sh;
fi
# bnc#561793 - do not include unclean module in iptables manpage
rm -f extensions/libipt_unclean.man
# includedir is overriden on purpose to detect projects that
# fail to include libxtables_CFLAGS
%configure --includedir="%_includedir/pkg/%name" --enable-libipq
make %{?_smp_mflags}
%install
make DESTDIR=%buildroot install
# iptables-apply is not installed by upstream Makefile
install -m0755 iptables/iptables-apply %buildroot%_sbindir/
install -m0644 iptables/iptables-apply.8 %buildroot%_mandir/man8/
rm -f "%buildroot/%_libdir"/*.la;
%if 0%{?suse_version}
%fdupes %buildroot/%_prefix
%endif
%post -n %lname_ipq -p /sbin/ldconfig
%postun -n %lname_ipq -p /sbin/ldconfig
%post -n %lname_iptc -p /sbin/ldconfig
%postun -n %lname_iptc -p /sbin/ldconfig
%post -n %lname_xt -p /sbin/ldconfig
%postun -n %lname_xt -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc COPYING
%doc %_mandir/man1/ip*
%doc %_mandir/man8/ip*
%_bindir/iptables-xml
%_sbindir/iptables
%_sbindir/iptables-apply
%_sbindir/iptables-batch
%_sbindir/iptables-restore
%_sbindir/iptables-save
%_sbindir/ip6tables
%_sbindir/ip6tables-batch
%_sbindir/ip6tables-restore
%_sbindir/ip6tables-save
%_sbindir/xtables-multi
%files -n xtables-plugins
%defattr(-,root,root)
%_libdir/xtables/
%_sbindir/nfnl_osf
%_datadir/xtables/
%files -n %lname_ipq
%defattr(-,root,root)
%_libdir/libipq.so.0*
%files -n libipq-devel
%defattr(-,root,root)
%doc %_mandir/man3/libipq*
%doc %_mandir/man3/ipq*
%dir %_includedir/pkg/%name/
%_includedir/pkg/%name/libipq*
%_libdir/libipq.so
%_libdir/pkgconfig/libipq.pc
%files -n %lname_iptc
%defattr(-,root,root)
%_libdir/libiptc.so.0*
%_libdir/libip4tc.so.0*
%_libdir/libip6tc.so.0*
%files -n libiptc-devel
%defattr(-,root,root)
%dir %_includedir/pkg/
%dir %_includedir/pkg/%name/
%_includedir/pkg/%name/libiptc*
%_libdir/libip*tc.so
%_libdir/pkgconfig/libip*tc.pc
%files -n %lname_xt
%defattr(-,root,root)
%_libdir/libxtables.so.10*
%files -n libxtables-devel
%defattr(-,root,root)
%dir %_includedir/pkg/
%dir %_includedir/pkg/%name/
%_includedir/pkg/%name/xtables.h
%_includedir/pkg/%name/xtables-version.h
%_libdir/libxtables.so
%_libdir/pkgconfig/xtables.pc
%changelog
++++++ iptables-apply-mktemp-fix.patch ++++++
Index: iptables-1.4.12.1+16/iptables/iptables-apply
===================================================================
--- iptables-1.4.12.1+16.orig/iptables/iptables-apply
+++ iptables-1.4.12.1+16/iptables/iptables-apply
@@ -111,7 +111,7 @@ if [[ ! -r "$FILE" ]]; then
exit 2
fi
-COMMANDS=(tempfile "$SAVE" "$RESTORE")
+COMMANDS=(mktemp "$SAVE" "$RESTORE")
for cmd in "${COMMANDS[@]}"; do
if ! command -v $cmd >/dev/null; then
@@ -122,7 +122,7 @@ done
umask 0700
-TMPFILE=$(tempfile -p iptap)
+TMPFILE=$(mktemp)
trap "rm -f $TMPFILE" EXIT 1 2 3 4 5 6 7 8 10 11 12 13 14 15
if ! "$SAVE" >"$TMPFILE"; then
++++++ iptables-batch.patch ++++++
---
iptables/Makefile.am | 10
iptables/iptables-batch.c | 468 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 477 insertions(+), 1 deletion(-)
Index: iptables-1.4.20/iptables/Makefile.am
===================================================================
--- iptables-1.4.20.orig/iptables/Makefile.am
+++ iptables-1.4.20/iptables/Makefile.am
@@ -24,7 +24,15 @@ endif
xtables_multi_SOURCES += xshared.c
xtables_multi_LDADD += ../libxtables/libxtables.la -lm
-sbin_PROGRAMS = xtables-multi
+iptables_batch_SOURCES = iptables-batch.c iptables.c xshared.c
+iptables_batch_LDFLAGS = ${xtables_multi_LDFLAGS}
+iptables_batch_LDADD = ${xtables_multi_LDADD}
+ip6tables_batch_SOURCES = iptables-batch.c ip6tables.c xshared.c
+ip6tables_batch_CFLAGS = ${AM_CFLAGS} -DIP6T
+ip6tables_batch_LDFLAGS = ${xtables_multi_LDFLAGS}
+ip6tables_batch_LDADD = ${xtables_multi_LDADD}
+
+sbin_PROGRAMS = xtables-multi iptables-batch ip6tables-batch
man_MANS = iptables.8 iptables-restore.8 iptables-save.8 \
iptables-xml.1 ip6tables.8 ip6tables-restore.8 \
ip6tables-save.8 iptables-extensions.8
Index: iptables-1.4.20/iptables/iptables-batch.c
===================================================================
--- /dev/null
+++ iptables-1.4.20/iptables/iptables-batch.c
@@ -0,0 +1,468 @@
+/*
+ * Author: Ludwig Nussel <ludwig.nussel(a)suse.de>
+ * Update for iptables 1.4.3.x: Petr Uzel <petr.uzel(a)suse.cz>
+ *
+ * Based on the ipchains code by Paul Russell and Michael Neuling
+ *
+ * (C) 2000-2002 by the netfilter coreteam <coreteam(a)netfilter.org>:
+ * Paul 'Rusty' Russell <rusty(a)rustcorp.com.au>
+ * Marc Boucher <marc+nf(a)mbsi.ca>
+ * James Morris <jmorris(a)intercode.com.au>
+ * Harald Welte <laforge(a)gnumonks.org>
+ * Jozsef Kadlecsik <kadlec(a)blackhole.kfki.hu>
+ *
+ * iptables-batch -- iptables batch processor
+ *
+ * See the accompanying manual page iptables(8) for information
+ * about proper usage of this program.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <string.h>
+
+#ifdef IP6T
+#include <ip6tables.h>
+#else
+#include <iptables.h>
+#endif
+#include <xtables.h>
+
+#ifdef IP6T
+#define prog_name ip6tables_globals.program_name
+#define prog_ver ip6tables_globals.program_version
+#else
+#define prog_name iptables_globals.program_name
+#define prog_ver iptables_globals.program_version
+#endif
+
+static char* errstr = NULL;
+
+static unsigned current_line = 0;
+
+static char*
+skipspace(char* ptr)
+{
+ while(*ptr && isspace(*ptr))
+ ++ptr;
+ return ptr;
+}
+
+static char*
+getliteral(char** ptr)
+{
+ char* start = *ptr;
+ char* p = start;
+
+ while(*p && !isspace(*p))
+ ++p;
+
+ if(*p)
+ {
+ *p = '\0';
+ ++p;
+ }
+
+ *ptr = p;
+ return start;
+}
+
+static char*
+getstring(char** ptr)
+{
+ char* start = *ptr+1; // skip leading "
+ char* p = start;
+ char* o = start;
+ int backslash = 0;
+ int done = 0;
+
+ while(*p && !done)
+ {
+ if(backslash)
+ {
+ backslash = 0;
+ // no escapes supported, just eat the backslash
+ *o++ = *p++;
+ }
+ else if(*p == '\\')
+ {
+ backslash = 1;
+ p++;
+ }
+ else if(*p == '"')
+ {
+ done = 1;
+ }
+ else
+ {
+ *o++ = *p++;
+ }
+ }
+
+ if(done)
+ {
+ *o = '\0';
+ *p = '\0';
+ ++p;
+ *ptr = p;
+ }
+ else
+ {
+ errstr = "missing \" at end of string";
+ start = NULL;
+ }
+ return start;
+}
+
+// this is just a very basic method, not 100% shell compatible
+static char*
+getword(char** ptr)
+{
+ *ptr = skipspace(*ptr);
+ if(**ptr == '"')
+ return getstring(ptr);
+ return getliteral(ptr);
+}
+
+// destructive
+static int
+tokenize(int* argc, char* argv[], size_t nargvsize, char* iline)
+{
+ char* ptr = skipspace(iline);
+ int ret = 0;
+ char* word;
+
+ while(ptr && *ptr)
+ {
+ if(*ptr == '#')
+ break;
+ if(*argc >= nargvsize)
+ {
+ errstr = "too many arguments";
+ ret = -1;
+ break;
+ }
+ word = getword(&ptr);
+ if(!word)
+ {
+ ret = -1;
+ break;
+ }
+ argv[(*argc)++] = word;
+ ++ret;
+ }
+ return ret;
+}
+
+#ifdef DEBUG
+static void
+dumpargv(int argc, char* argv[])
+{
+ int i;
+ for(i=0; i < argc; ++i)
+ {
+ printf("%s\"%s\"",i?" ":"", argv[i]);
+ }
+ puts("");
+}
+#endif
+
+struct table_handle
+{
+ char* name;
+#ifdef IP6T
+ struct ip6tc_handle *handle;
+#else
+ struct iptc_handle *handle;
+#endif
+};
+
+static struct table_handle* tables = NULL;
+static unsigned num_tables;
+struct table_handle* current_table;
+
+static void
+alloc_tables(void)
+{
+ tables = realloc(tables, sizeof(struct table_handle) * num_tables);
+}
+
+static void
+set_current_table(const char* name)
+{
+ unsigned i;
+
+ if(!strcmp(name, current_table->name)) // same as last time?
+ return;
+
+ for(i = 0; i < num_tables; ++i) // find already known table
+ {
+ if(!strcmp(name, tables[i].name))
+ {
+ current_table = &tables[i];
+ return;
+ }
+ }
+
+ // table name not known, create new
+ i = num_tables++;
+ alloc_tables();
+ current_table = &tables[i];
+ current_table->name = strdup(name);
+ current_table->handle = NULL;
+}
+
+static int
+find_table(int argc, char* argv[])
+{
+ int i;
+ for(i = 0; i < argc; ++i)
+ {
+ if(!strcmp(argv[i], "-t") || !strcmp(argv[i], "--table"))
+ {
+ ++i;
+ if(i >= argc)
+ {
+ fprintf(stderr, "line %d: missing table name after %s\n",
+ current_line, argv[i]);
+ return 0;
+ }
+ set_current_table(argv[i]);
+ return 1;
+ }
+ }
+
+ // no -t specified
+ set_current_table("filter");
+
+ return 1;
+}
+
+static int
+do_iptables(int argc, char* argv[])
+{
+ char *table = "filter";
+ int ret = 0;
+
+ if(!find_table(argc, argv))
+ return 0;
+
+#ifdef IP6T
+ ret = do_command6(argc, argv, &table, ¤t_table->handle, true);
+
+ if (!ret)
+ {
+ fprintf(stderr, "line %d: %s\n", current_line, ip6tc_strerror(errno));
+ }
+ else
+ {
+ if(!table || strcmp(table, current_table->name))
+ {
+ fprintf(stderr, "line %d: expected table %s, got %s\n",
+ current_line, current_table->name, table);
+ exit(1);
+ }
+ }
+#else
+ ret = do_command4(argc, argv, &table, ¤t_table->handle, true);
+
+ if (!ret)
+ {
+ fprintf(stderr, "line %d: %s\n", current_line, iptc_strerror(errno));
+ }
+ else
+ {
+ if(!table || strcmp(table, current_table->name))
+ {
+ fprintf(stderr, "line %d: expected table %s, got %s\n",
+ current_line, current_table->name, table);
+ exit(1);
+ }
+ }
+#endif
+
+ return ret;
+}
+
+static int
+do_commit(void)
+{
+ unsigned i;
+ int ret = 1;
+
+ for(i = 0; i < num_tables; ++i)
+ {
+ if(tables[i].handle)
+ {
+#ifdef IP6T
+ ret = ip6tc_commit(tables[i].handle);
+ if (!ret)
+ fprintf(stderr, "commit failed on table %s: %s\n", tables[i].name, ip6tc_strerror(errno));
+ ip6tc_free(tables[i].handle);
+ tables[i].handle = NULL;
+#else
+ ret = iptc_commit(tables[i].handle);
+ if (!ret)
+ fprintf(stderr, "commit failed on table %s: %s\n", tables[i].name, iptc_strerror(errno));
+ iptc_free(tables[i].handle);
+ tables[i].handle = NULL;
+#endif
+ }
+ }
+
+ return ret;
+}
+
+static void
+help(void)
+{
+ fprintf(stderr, "Usage: %s [FILE]\n\n", prog_name);
+ puts("Read iptables commands from FILE, commit them at EOF\n");
+ puts("In addition to normal iptables calls the commands");
+ puts("'commit' and 'exit' are understood.");
+ exit(0);
+}
+
+int
+main(int argc, char *argv[])
+{
+ int ret = 1;
+ int c;
+ int numtok;
+ size_t llen = 0;
+ char* iline = NULL;
+ ssize_t r = -1;
+ int nargc = 0;
+ char* nargv[256];
+ FILE* fp = stdin;
+
+#ifdef IP6T
+ prog_name = "ip6tables-batch";
+#else
+ prog_name = "iptables-batch";
+#endif
+
+#ifdef IP6T
+ c = xtables_init_all(&ip6tables_globals, NFPROTO_IPV6);
+#else
+ c = xtables_init_all(&iptables_globals, NFPROTO_IPV4);
+#endif
+
+ if(c < 0) {
+ fprintf(stderr, "%s/%s Failed to initialize xtables\n",
+ prog_name,
+ prog_ver);
+ exit(1);
+ }
+
+#ifdef NO_SHARED_LIBS
+ init_extensions();
+#endif
+ if(argc > 1)
+ {
+ if(!strcmp(argv[1], "--help") || !strcmp(argv[1], "-h"))
+ {
+ help();
+ }
+ else if(strcmp(argv[1], "-"))
+ {
+ fp = fopen(argv[1], "r");
+ if(!fp)
+ {
+ perror("fopen");
+ exit(1);
+ }
+ }
+ }
+
+ num_tables = 4;
+ alloc_tables();
+ tables[0].name = "filter";
+ tables[0].handle = NULL;
+ tables[1].name = "mangle";
+ tables[1].handle = NULL;
+ tables[2].name = "nat";
+ tables[2].handle = NULL;
+ tables[3].name = "raw";
+ tables[3].handle = NULL;
+ current_table = &tables[0];
+
+ while((r = getline(&iline, &llen, fp)) != -1)
+ {
+ if(llen < 1 || !*iline)
+ continue;
+ if(iline[strlen(iline)-1] == '\n')
+ iline[strlen(iline) -1 ] = '\0';
+
+ ++current_line;
+ nargc = 0;
+ errstr = NULL;
+ numtok = tokenize(&nargc, nargv, (sizeof(nargv)/sizeof(nargv[0])), iline);
+ if(numtok == -1)
+ {
+ }
+ else if (numtok == 0)
+ {
+ continue;
+ }
+ else if(nargc < 1)
+ {
+ errstr = "insufficient number of arguments";
+ }
+
+ if(errstr)
+ {
+ fprintf(stderr, "parse error in line %d: %s\n", current_line, errstr);
+ ret = 0;
+ break;
+ }
+
+#ifdef DEBUG
+ dumpargv(nargc, nargv);
+#endif
+
+#ifdef IP6T
+ if(!strcmp(nargv[0], "ip6tables"))
+#else
+ if(!strcmp(nargv[0], "iptables"))
+#endif
+ {
+ ret = do_iptables(nargc, nargv);
+ if(!ret) break;
+ }
+ else if(!strcmp(nargv[0], "exit"))
+ {
+ break;
+ }
+ else if(!strcmp(nargv[0], "commit"))
+ {
+ /* do nothing - see bnc#500990, comment #16 */
+ }
+ else
+ {
+ fprintf(stderr, "line %d: invalid command '%s'\n", current_line, nargv[0]);
+ }
+ }
+
+ if(ret)
+ ret = do_commit();
+
+ exit(!ret);
+}
++++++ iptables.keyring ++++++
pub 4096R/BB5F58CC 2010-10-21 [expires: 2015-10-20]
uid Netfilter Core Team <coreteam(a)netfilter.org>
sub 4096R/04B92F5C 2010-10-21 [expires: 2015-10-20]
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
mQINBEzAS5EBEADVlGm+KwODJcVmP33HTCbn/eP8obZbgu+3Z1CYRklF8V43vC6D
8Jfk7fjD4/gWbAKZxriOESXVAN7mp0Fho4+Ga+pxWeLIET9tVM5xbNFK1p9R3XCK
p5SrugG+tGhizTR9b/1YCMVRz/yX3aDtC7lwObas4hkr5BqhphjvlkjFE7us32by
43LPpFj2yUpp1VdOf6gxl03kAgJg08h9J7a+n9KHQeAhIpXSRFq3tXiTdXQlovsv
ckwBjO0m8P2d1Z8/UYwXQgXzuO8W8EqaUSR95nDwl7UnilnKJm2fGvNg3A6PfCSk
3KdeEBZ45SRfMTPsuC5C4T0Az75h3HFR6YSae46ymg7d4ZA/Bd5K4hvp4PdYrfCi
GXen7iK9q5XDpopWb0yCrEVJzKjBjDurvpLtAD0IFWcpB6zwM38AnxVH05J8QOx/
VCZ4vZJxTKWbpHbdcISSMmVt00VfKorF9DsjiAcBRMBcIvDpJTP4yjvr32W09wLc
d5CIYGrLKhLNysUIJ44AQoTL9yV5aQvCb2EFnoPqCEKQm8onTAGX19PpTDjDPJFt
WyMMUDtiMp2yODuFo1qHjxvqzSVX+Ti2sGpiT1hEz97GAIlbAvmXs/bTb+U+rBnd
6027ooes3cWmBSV5kpz/sMp+nFynrLZ5NDnehPScz3W31oGgSdrGsnnhaQARAQAB
tCxOZXRmaWx0ZXIgQ29yZSBUZWFtIDxjb3JldGVhbUBuZXRmaWx0ZXIub3JnPokC
PgQTAQIAKAUCTMBLkQIbAwUJCWYBgAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA
CgkQpBEfibtfWMzULxAAtGgYeuEqk0F9y4sz6hFJf+fXKSPPrwWTIUXs/sCxlBtS
lgf9oTvk3aT48zsMIfsDsS8yfIUjaK+eedIZW3oJ0lBtwRncZKjks8Od5J7DvEhR
Kpo3cajT1KXJh584IvXN0/BbCdPUI6EQE8n0fEUrSWANfzhuD3qYtX9UUGBq/7i8
Cf3pGFDeYRjcwWeNZ1T+xbaCKPS5BGlOVhMtauaTBZvTJniB828bOZXd3KrXUeul
AicbzZzqU7XcNX2YKw19MTQzuGNZQ3npJUPQiHgyELTh3+YUmRkPaZaZiDNZeQvu
/j8cgSoa26Q48apjghREo0Ues4MwQwEGBbdVkEQQMuC9ASti3OyZBTOqyApc2rpE
VsW2CkqvoQ8jaP51Ua4mjerYkqEqXaVtbPelNFMJXGNXrKdf0xg5Nl/onWnT9S/s
jtR3LtjOQ0apbBiGPROtYKWSQtA55TgYNLLS1+947TvU134Px1FA8Dqi72SBl7Xc
ET4nwISO222wMJBxbY4MYB2TppMysIKXUazIyekbRkpK1woH4AR6NsuJOiVdhjEi
46MkN7tmHI9S9blA98Ih6C9hMz2YgmQEwOQ0qYgVruPdYZSP+M5o+pra9ch+STBk
FbB03L9kqcAAE8wpGSBRYU+KuyVRipnPeqoeR8niO71AiKbsfbL1skTGRafC2Q+5
Ag0ETMBLkQEQANNv2Ymm/BVxwqb1vrLq1scoWK5kmeaRD3ndMBv9F3xwqGnE/JTn
HnVoZIzGb8MD+MCe9jfm8Y+NLU0D71NpDDqRzFZCCjcTmRMYV6QXlsg/ndnSaU1b
hG0gSq4N+qZFZ+35yiY5pYv1qZkIqWr4/vg9mk53CU620bNgNJ1+F19s/eTw1231
pJ6K6BsDi7pj4LXGD5wHZPKAmLabFweCkGbGQo6VwWw1ieNJ0igvzkZtVXuvoeHU
mAitCaZT9AIYDl4PHryckIzjgTdhK0PP92fyHV64Yr3B7G6hWlEwq4wKk9irdgqD
20Fuqw8Cvv6k1YucWfdpNbZkUI3siQE+1HUUuRTcT8yrPcEA5ZM1/U+e8jBT3EAr
hk69G6LCfwyX2Xd/JGlBmc0Qv0t2YKqj9Io1G5lBN1q57+vK7ttiIUomwvfD2ltY
0bdcEr5LjXOk3Sb+OPIVm7+vr6hDMKdUpdm5ABZRSUb0RJ37hBT+DKYbnp0t/e3a
MXxV9m3jUq8hNdwc8vU1khr9kf+MWPonE0Vw2kqHIIb4I5W9HkMJf4Vzj9/hVPMI
ucV+2de/7zqxwa0Jh5VSD7SeKj7LznsAy9gi/AioYq4AKVTsigfyJlWpjOLeOvv7
z4uUfLRQ5OWWfX8BBw8SoPwnWQD4cXHkrHXVwYR2yy7pEc1CstUN+uqXABEBAAGJ
AiUEGAECAA8FAkzAS5ECGwwFCQlmAYAACgkQpBEfibtfWMyLqw/6A12S4bnLYaik
ToKc13ywTUsHplbmlLOy2E/5ZMksdfuWjh9XTMR0nbXWnFULxGKTP00kA0yVpv/j
beDY/qLzY2Yb0rROCQJjuWSLYuNW40+Hmh9TGsDWt7iK3XsONVpV0sRsMOBCwV3k
2EsFXu73Fj+1JvQ+WSGluj+N7HFAqPi5OFk3IFFnIGhScUz22V6meSaOEqiXLySg
qh3lv7+XuGzoBjdy7dDm+SnbmK9lO1IqPsIm4iDwmTNJBiu1Wrz319kLYA0/Vx+o
fmxyViOX1GZShb1mGH0Aeo4jeYmDNLXapkoymC3HCIMctYDmuIw6QlgG8i1LRcFh
VKMngLjZ17dl/w8gYOdkCsGIUBzvbFBhxuJnXMnFVyDxft/lorMAimH2kbjDn6qa
H0uV8ILfFVe6gnKzanugmaSQjWzby/ARPhs6OYAXoIUv5MUVDgvTzVmTckWjVa1R
kMm3eGmDSqoMxsPmarb80nkoFQMOPhJWlyaUCt6HHRYuSkIcxY4H4Ni3Oq1s1R9/
EqUuIfxNv7Kp0mcsE2KvANc3JfB9wXwLWqDYRCifLkCD6pbpt9L/+xQ49VzcFxNO
9DqTyk4N7cz7OZrAi+ouVrdFuiwnZyn5YSQoof6Pos58b3bkFn14m9gofwTqGzPh
R4Vot9rRu5zrWdoCM4cRThpJyrjqBMs=
=mRxL
-----END PGP PUBLIC KEY BLOCK-----
--
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 glamor for openSUSE:13.1:Update checked in at 2015-02-04 18:00:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/glamor (Old)
and /work/SRC/openSUSE:13.1:Update/.glamor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glamor"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.8184Rj/_old 2015-02-04 18:00:23.000000000 +0100
+++ /var/tmp/diff_new_pack.8184Rj/_new 2015-02-04 18:00:23.000000000 +0100
@@ -1 +1 @@
-<link package='glamor.2303' cicount='copy' />
+<link package='glamor.3464' cicount='copy' />
--
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 Mesa for openSUSE:13.1:Update checked in at 2015-02-04 18:00:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/Mesa (Old)
and /work/SRC/openSUSE:13.1:Update/.Mesa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "Mesa"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.39IhEe/_old 2015-02-04 18:00:21.000000000 +0100
+++ /var/tmp/diff_new_pack.39IhEe/_new 2015-02-04 18:00:21.000000000 +0100
@@ -1 +1 @@
-<link package='Mesa.2303' cicount='copy' />
+<link package='Mesa.3464' cicount='copy' />
--
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 xosview for openSUSE:Factory checked in at 2015-02-04 09:32:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xosview (Old)
and /work/SRC/openSUSE:Factory/.xosview.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xosview"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xosview/xosview.changes 2015-01-20 19:01:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xosview.new/xosview.changes 2015-02-04 13:05:30.000000000 +0100
@@ -1,0 +2,15 @@
+Tue Feb 3 13:41:24 UTC 2015 - werner(a)suse.de
+
+- Rename patches
+ xosview-appdef.patch becomes xosview-1.16-appdef.patch
+ xosview-configuration.patch becomes xosview-1.16.dif
+ xosview-diskstat.patch becomes xosview-1.16-diskstat.patch
+ xosview-serial.patch becomes xosview-1.16-serial.patch
+- Remove superfluous patches
+ xosview-maxlimit.patch, xosview-pixmap.patch, and xosview-sysinfo.patch
+- Port coretemp changes from Upstream to this (boo#896632)
+ therefore add patch xosview-1.16-coretemp.patch
+- Add code to make coretemp reading work with kernel 3.17+ work (boo#896632)
+ therefore add patch xosview-1.16-coretemp2.patch
+
+-------------------------------------------------------------------
Old:
----
xosview-appdef.patch
xosview-configuration.patch
xosview-diskstat.patch
xosview-maxlimit.patch
xosview-pixmap.patch
xosview-serial.patch
xosview-sysinfo.patch
New:
----
xosview-1.16-appdef.patch
xosview-1.16-coretemp.patch
xosview-1.16-coretemp2.patch
xosview-1.16-diskstat.patch
xosview-1.16-serial.patch
xosview-1.16.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xosview.spec ++++++
--- /var/tmp/diff_new_pack.da7iI1/_old 2015-02-04 13:05:31.000000000 +0100
+++ /var/tmp/diff_new_pack.da7iI1/_new 2015-02-04 13:05:31.000000000 +0100
@@ -32,21 +32,19 @@
Summary: System Load Information
License: GPL-2.0+
Group: System/Monitoring
-Url: http://www.pogo.org.uk/~mark/xosview/
-Source: xosview-%{version}.tar.gz
+Url: https://github.com/hills/xosview
+Source: http://www.pogo.org.uk/~mark/xosview/releases/xosview-%{version}.tar.gz
Source1: rc.config.xosview
Source2: xosview.png
Source3: xosview.desktop
Source4: xosview.sh
Source5: xosview-rpmlintrc
-Patch1: xosview-serial.patch
-Patch3: xosview-maxlimit.patch
-Patch8: xosview-sysinfo.patch
-Patch10: xosview-appdef.patch
-Patch11: xosview-diskstat.patch
-# PATCH-FIX-OPENSUSE: Re-add xpm background pximap support (bnc#817558)
-Patch12: xosview-pixmap.patch
-Patch13: xosview-configuration.patch
+Patch0: xosview-%{version}.dif
+Patch1: xosview-%{version}-serial.patch
+Patch2: xosview-%{version}-coretemp.patch
+Patch3: xosview-%{version}-coretemp2.patch
+Patch10: xosview-%{version}-appdef.patch
+Patch11: xosview-%{version}-diskstat.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define _appdefdir %{_datadir}/X11/app-defaults
@@ -57,13 +55,12 @@
%prep
%setup -q
-%patch1 -p1
-%patch3 -p1
-%patch8 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
+%patch1 -p0 -b .serial
+%patch2 -p0 -b .coretemp
+%patch3 -p0 -b .coretemp2
+%patch10 -p0 -b .appdef
+%patch11 -p0 -b .diskstat
+%patch0 -p0 -b .p0
%build
OPTFLAGS="$RPM_OPT_FLAGS"
++++++ xosview-1.16-appdef.patch ++++++
---
Xrm.cc | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
--- Xrm.cc
+++ Xrm.cc 2015-02-03 10:01:53.129518512 +0000
@@ -9,6 +9,7 @@
#include <stdio.h> // For snprintf().
#include <ctype.h>
#include <iostream>
+#include <sys/stat.h> // For stat().
#include <unistd.h> // for access(), etc. BCG
#ifndef NULL
#define NULL 0
@@ -138,34 +139,35 @@ Listed from weakest to strongest:
// Merge in the system resource database.
char rfilename[2048];
+ struct stat st;
int result;
const int rlen = sizeof rfilename;
// Get the app-defaults
result = snprintf(rfilename, sizeof rfilename, "/etc/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
result = snprintf(rfilename, sizeof rfilename, "/usr/lib/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
result = snprintf(rfilename, sizeof rfilename, "/usr/X11R6/lib/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
result = snprintf(rfilename, sizeof rfilename, "/usr/share/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
// Try a few more, for SunOS/Solaris folks.
result = snprintf(rfilename, sizeof rfilename, "/usr/openwin/lib/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
result = snprintf(rfilename, sizeof rfilename, "/usr/local/X11R6/lib/X11/app-defaults/%s",
XrmQuarkToString(_class));
- if (result >= 0 && result < rlen)
+ if (result >= 0 && result < rlen && stat(rfilename, &st) == 0)
XrmCombineFileDatabase (rfilename, &_db, 1);
// Now, check for an XOSView file in the XAPPLRESDIR directory...
++++++ xosview-1.16-coretemp.patch ++++++
---
linux/MeterMaker.cc | 2
linux/coretemp.cc | 314 +++++++++++++++++++++++++++++-----------------------
linux/coretemp.h | 10 -
3 files changed, 188 insertions(+), 138 deletions(-)
--- linux/MeterMaker.cc
+++ linux/MeterMaker.cc 2015-02-03 13:12:04.257518200 +0000
@@ -166,7 +166,7 @@ void MeterMaker::makeMeters(void){
snprintf(s, 80, "coretemp%dDisplayType", i);
displayType = _xos->getResourceOrUseDefault( s, displayType );
if (strncmp(displayType, "separate", 1) == 0) {
- unsigned int cpuCount = CoreTemp::countCpus(pkg);
+ unsigned int cpuCount = CoreTemp::countCpus();
char name[10];
for (uint cpu = 0; cpu < cpuCount; cpu++) {
sprintf(name, "CPU%d", cpu);
--- linux/coretemp.cc
+++ linux/coretemp.cc 2015-02-03 10:32:16.237529561 +0100
@@ -1,7 +1,7 @@
//
-// Copyright (c) 2008 by Tomi Tapper <tomi.o.tapper(a)jyu.fi>
+// Copyright (c) 2008-2014 by Tomi Tapper <tomi.o.tapper(a)jyu.fi>
//
-// Read coretemp reading from /sys and display actual temperature.
+// Read CPU temperature readings from /sys and display actual temperature.
// If actual >= high, actual temp changes color to indicate alarm.
//
// File based on linux/lmstemp.* by
@@ -10,24 +10,29 @@
// This file may be distributed under terms of the GPL
//
//
-//
+
#include "coretemp.h"
-#include "xosview.h"
#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
#include <glob.h>
-#include <dirent.h>
-#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
#include <fstream>
+#include <iostream>
+#include <string>
#define PATH_SIZE 128
static const char SYS_HWMON[] = "/sys/class/hwmon";
static const char SYS_CORETEMP[] = "/sys/devices/platform/coretemp";
+static const char SYS_VIATEMP[] = "/sys/devices/platform/via_cputemp";
CoreTemp::CoreTemp( XOSView *parent, const char *label, const char *caption, int pkg, int cpu )
: FieldMeter( parent, 3, label, caption, 1, 1, 1 ), _pkg(pkg), _cpu(cpu) {
+ metric_ = true;
_high = 0;
}
@@ -46,20 +51,91 @@ void CoreTemp::checkResources( void ) {
priority_ = atoi( parent_->getResource( "coretempPriority" ) );
SetUsedFormat( parent_->getResource( "coretempUsedFormat" ) );
- unsigned int cpucount = countCpus(_pkg);
+ findSysFiles();
+ if ( _cpus.empty() ) { // should not happen at this point
+ std::cerr << "BUG: Could not determine sysfs file(s) for coretemp." << std::endl;
+ parent_->done(1);
+ }
+
+ // Get TjMax and use it for total, if available.
+ // Not found on k8temp and via-cputemp.
+ std::ifstream file;
+ std::string dummy = _cpus.front();
+ dummy.replace(dummy.find_last_of('_'), 6, "_crit");
+ file.open(dummy.c_str());
+ if ( file.good() ) {
+ file >> total_;
+ file.close();
+ total_ /= 1000.0;
+ }
+ else
+ total_ = atoi( parent_->getResourceOrUseDefault("coretempHighest", "100") );
+
+ // Use tTarget/tCtl (when maximum cooling needs to be turned on) as high,
+ // if found. On older Cores this MSR is empty and kernel sets this equal to
+ // tjMax. Not found on k8temp and via-cputemp. On k10temp this is fixed value.
+ char l[32];
+ dummy = _cpus.front();
+ dummy.replace(dummy.find_last_of('_'), 6, "_max");
+ file.open(dummy.c_str());
+ if ( file.good() ) {
+ file >> _high;
+ file.close();
+ _high /= 1000.0;
+ snprintf(l, 32, "ACT(\260C)/%d/%d", (int)_high, (int)total_);
+ }
+ else
+ _high = total_;
+
+ if (_high == total_) { // No tTarget/tCtl
+ // Use user-defined high, or "no high".
+ const char *high = parent_->getResourceOrUseDefault("coretempHigh", NULL);
+ if (high) {
+ _high = atoi(high);
+ snprintf(l, 32, "ACT(\260C)/%d/%d", (int)_high, (int)total_);
+ }
+ else
+ snprintf(l, 32, "ACT(\260C)/HIGH/%d", (int)total_);
+ }
+ legend(l);
+}
+
+/* Find absolute paths of files to be used. */
+void CoreTemp::findSysFiles( void ) {
+ int cpu = 0;
+ unsigned int i = 0, cpucount = countCores(_pkg);
char name[PATH_SIZE];
std::string dummy;
std::ifstream file;
+ glob_t gbuf;
DIR *dir;
struct dirent *dent;
- dir = opendir(SYS_HWMON);
- if (!dir) {
+ // Intel and VIA CPUs.
+ snprintf(name, PATH_SIZE, "%s.%d/temp*_label", SYS_CORETEMP, _pkg);
+ glob(name, 0, NULL, &gbuf);
+ snprintf(name, PATH_SIZE, "%s.%d/temp*_label", SYS_VIATEMP, _pkg);
+ glob(name, GLOB_APPEND, NULL, &gbuf);
+ for (i = 0; i < gbuf.gl_pathc; i++) {
+ file.open(gbuf.gl_pathv[i]);
+ file >> dummy >> cpu; // "Core n" or "Physical id n"
+ file.close();
+ if ( strncmp(dummy.c_str(), "Core", 4) == 0 ) {
+ strcpy(strrchr(gbuf.gl_pathv[i], '_'), "_input");
+ if (_cpu < 0 || cpu == _cpu)
+ _cpus.push_back(gbuf.gl_pathv[i]);
+ }
+ }
+ globfree(&gbuf);
+ if ( !_cpus.empty() )
+ return;
+
+ // AMD CPUs.
+ if ( !(dir = opendir(SYS_HWMON)) ) {
std::cerr << "Can not open " << SYS_HWMON << " directory." << std::endl;
parent_->done(1);
return;
}
-
while ( (dent = readdir(dir)) ) {
if ( !strncmp(dent->d_name, ".", 1) ||
!strncmp(dent->d_name, "..", 2) )
@@ -72,73 +148,27 @@ void CoreTemp::checkResources( void ) {
file >> dummy;
file.close();
- if (strncmp(dummy.c_str(), "k8temp", 6) == 0) {
- // each core has two sensors with index starting from 1
+ if ( strncmp(dummy.c_str(), "k8temp", 6) == 0 ||
+ strncmp(dummy.c_str(), "k10temp", 7) == 0 ) {
+ if (cpu++ != _pkg)
+ continue;
+ // K8 core has two sensors with index starting from 1
+ // K10 has only one sensor per physical CPU
if (_cpu < 0) { // avg or max
- for (uint i = 1; i <= cpucount; i++) {
- snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input", SYS_HWMON, dent->d_name, i);
+ for (i = 1; i <= cpucount; i++) {
+ snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input",
+ SYS_HWMON, dent->d_name, i);
_cpus.push_back(name);
}
}
else { // single sensor
- snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input", SYS_HWMON, dent->d_name, _cpu + 1);
+ snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input",
+ SYS_HWMON, dent->d_name, _cpu + 1);
_cpus.push_back(name);
}
}
- else if (strncmp(dummy.c_str(), "coretemp", 8) == 0) {
- int i = 0, cpu = 0;
- // Gather the sysfs indices which are not the same as core numbers.
- // Core numbers are not unique across physical CPUs, but sysfs indices are.
- while (_cpus.size() != cpucount) {
- snprintf(name, PATH_SIZE, "%s.%d/temp%d_label", SYS_CORETEMP, _pkg, i);
- file.open(name);
- if (!file) {
- i++;
- continue;
- }
- file >> dummy >> cpu; // "Core n" or "Physical id n"
- file.close();
- if (strncmp(dummy.c_str(), "Core", 1) != 0) {
- i++;
- continue;
- }
- snprintf(name, PATH_SIZE, "%s.%d/temp%d_input", SYS_CORETEMP, _pkg, i++);
- if (_cpu < 0)
- _cpus.push_back(name);
- else if (cpu == _cpu) {
- _cpus.push_back(name);
- break;
- }
- }
- }
- else if (strncmp(dummy.c_str(), "k10temp", 7) == 0) {
- _cpu = 1;
- snprintf(name, PATH_SIZE, "%s/%s/device/temp%d_input", SYS_HWMON, dent->d_name, _cpu);
- _cpus.push_back(name); // K10 has only one sensor per physical CPU
- }
-
- if (_cpus.empty())
- continue;
-
- // sysfs node was found
- // get TjMax and use it for total if available
- dummy = _cpus.front();
- dummy.replace(dummy.find_last_of('_'), 6, "_crit");
- file.open(dummy.c_str());
- if (file) {
- file >> total_;
- file.close();
- total_ /= 1000.0;
- }
- else
- total_ = atoi(parent_->getResourceOrUseDefault("coretempHighest", "100"));
-
- _high = total_;
- closedir(dir);
- return;
}
- std::cerr << "You do not seem to have CPU temperature sensor available." << std::endl;
- parent_->done(1);
+ closedir(dir);
}
void CoreTemp::checkevent( void ) {
@@ -148,10 +178,8 @@ void CoreTemp::checkevent( void ) {
void CoreTemp::getcoretemp( void ) {
std::ifstream file;
- double dummy, high;
-
+ double dummy;
fields_[0] = 0.0;
- high = 0.0;
if (_cpu >= 0) { // only one core
file.open(_cpus.back().c_str());
@@ -197,24 +225,12 @@ void CoreTemp::getcoretemp( void ) {
return;
}
- // Use tCase (when maximum cooling needs to be turned on) as high, if found.
- // Not found on k8temp, which uses user defined total as high (or default 100).
- // This is the same for all cores in package. I don't know if this ever
- // changes in real world, so it could be read once in checkResources().
- std::string tcase = _cpus.front();
- tcase.replace(tcase.find_last_of('_'), 6, "_max");
- file.open(tcase.c_str());
- if (file) {
- file >> high;
- file.close();
- high /= 1000.0;
- }
- else
- high = _high;
-
fields_[0] /= 1000.0;
+ setUsed( fields_[0], total_ );
- fields_[1] = high - fields_[0];
+ if (fields_[0] < 0)
+ fields_[0] = 0.0;
+ fields_[1] = _high - fields_[0];
if (fields_[1] < 0) { // alarm: T > high
fields_[1] = 0;
if (colors_[0] != _highcolor) {
@@ -232,70 +248,102 @@ void CoreTemp::getcoretemp( void ) {
fields_[2] = total_ - fields_[1] - fields_[0];
if (fields_[2] < 0)
fields_[2] = 0;
-
- setUsed( fields_[0], total_ );
-
- if (high != _high) {
- char l[16];
- _high = high;
- snprintf(l, 16, "ACT/%d/%d", (int)high, (int)total_);
- legend(l);
- drawlegend();
- }
}
/* Count sensors available to coretemp in the given package. */
-unsigned int CoreTemp::countCpus(int pkg)
+unsigned int CoreTemp::countCores( unsigned int pkg )
{
glob_t gbuf;
char s[PATH_SIZE];
- struct stat sbuf;
- int count = 0;
+ unsigned int i, count = 0, cpu = 0;
+ DIR *dir;
+ struct dirent *dent;
std::string dummy;
std::ifstream file;
- snprintf(s, PATH_SIZE, "%s.%d", SYS_CORETEMP, pkg);
- if (stat(s, &sbuf) == 0) {
- strncat(s, "/temp*_label", PATH_SIZE - strlen(s) - 1);
- glob(s, 0, NULL, &gbuf);
- // loop through paths in gbuf and check if it is a core or package
- for (uint i = 0; i < gbuf.gl_pathc; i++) {
- file.open(gbuf.gl_pathv[i]);
- file >> dummy;
- file.close();
- if (strncmp(dummy.c_str(), "Core", 4) == 0)
- count++;
- }
- globfree(&gbuf);
+ // Intel or VIA CPU.
+ snprintf(s, PATH_SIZE, "%s.%d/temp*_label", SYS_CORETEMP, pkg);
+ glob(s, 0, NULL, &gbuf);
+ snprintf(s, PATH_SIZE, "%s.%d/temp*_label", SYS_VIATEMP, pkg);
+ glob(s, GLOB_APPEND, NULL, &gbuf);
+ // loop through paths in gbuf and check if it is a core or package
+ for (i = 0; i < gbuf.gl_pathc; i++) {
+ file.open(gbuf.gl_pathv[i]);
+ file >> dummy;
+ file.close();
+ if ( strncmp(dummy.c_str(), "Core", 4) == 0 )
+ count++;
}
- else {
- DIR *dir;
- struct dirent *dent;
- dir = opendir(SYS_HWMON);
- if (!dir)
- return 0;
-
- // loop through hwmon devices and if AMD sensor if found, count its inputs
- while ( (dent = readdir(dir)) ) {
- if ( !strncmp(dent->d_name, ".", 1) ||
- !strncmp(dent->d_name, "..", 2) )
- continue;
-
- snprintf(s, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
- file.open(s);
+ globfree(&gbuf);
+ if (count > 0)
+ return count;
+
+ // AMD CPU.
+ if ( !(dir = opendir(SYS_HWMON)) )
+ return 0;
+ // loop through hwmon devices and when AMD sensor is found, count its inputs
+ while ( (dent = readdir(dir)) ) {
+ if ( !strncmp(dent->d_name, ".", 1) ||
+ !strncmp(dent->d_name, "..", 2) )
+ continue;
+ snprintf(s, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
+ file.open(s);
+ if ( file.good() ) {
file >> dummy;
file.close();
if ( strncmp(dummy.c_str(), "k8temp", 6) == 0 ||
strncmp(dummy.c_str(), "k10temp", 7) == 0 ) {
+ if (cpu++ < pkg)
+ continue;
snprintf(s, PATH_SIZE, "%s/%s/device/temp*_input", SYS_HWMON, dent->d_name);
- break;
+ glob(s, 0, NULL, &gbuf);
+ count += gbuf.gl_pathc;
+ globfree(&gbuf);
}
}
- closedir(dir);
+ }
+ closedir(dir);
+ return count;
+}
+
+/* Count physical CPUs with sensors. */
+unsigned int CoreTemp::countCpus( void )
+{
+ glob_t gbuf;
+ char s[PATH_SIZE];
+ unsigned int count = 0;
+ DIR *dir;
+ struct dirent *dent;
+ std::string dummy;
+ std::ifstream file;
- glob(s, 0, NULL, &gbuf);
- count = gbuf.gl_pathc;
- globfree(&gbuf);
+ // Count Intel and VIA packages.
+ snprintf(s, PATH_SIZE, "%s.*", SYS_CORETEMP);
+ glob(s, 0, NULL, &gbuf);
+ snprintf(s, PATH_SIZE, "%s.*", SYS_VIATEMP);
+ glob(s, GLOB_APPEND, NULL, &gbuf);
+ count += gbuf.gl_pathc;
+ globfree(&gbuf);
+ if (count > 0)
+ return count;
+
+ // Count AMD packages.
+ if ( !(dir = opendir(SYS_HWMON)) )
+ return 0;
+ while ( (dent = readdir(dir)) ) {
+ if ( !strncmp(dent->d_name, ".", 1) ||
+ !strncmp(dent->d_name, "..", 2) )
+ continue;
+ snprintf(s, PATH_SIZE, "%s/%s/device/name", SYS_HWMON, dent->d_name);
+ file.open(s);
+ if ( file.good() ) {
+ file >> dummy;
+ file.close();
+ if ( strncmp(dummy.c_str(), "k8temp", 6) == 0 ||
+ strncmp(dummy.c_str(), "k10temp", 7) == 0 )
+ count++;
+ }
}
+ closedir(dir);
return count;
}
--- linux/coretemp.h
+++ linux/coretemp.h 2015-02-03 10:32:16.301619049 +0100
@@ -1,5 +1,5 @@
//
-// Copyright (c) 2008 by Tomi Tapper <tomi.o.tapper(a)jyu.fi>
+// Copyright (c) 2008-2014 by Tomi Tapper <tomi.o.tapper(a)jyu.fi>
//
// File based on linux/lmstemp.* by
// Copyright (c) 2000, 2006 by Leopold Toetsch <lt(a)toetsch.at>
@@ -7,12 +7,12 @@
// This file may be distributed under terms of the GPL
//
//
-//
+
#ifndef _CORETEMP_H_
#define _CORETEMP_H_
-#include "cpumeter.h"
#include "fieldmeter.h"
+#include "xosview.h"
#include <string>
#include <vector>
@@ -26,12 +26,14 @@ public:
void checkevent( void );
void checkResources( void );
- static unsigned int countCpus(int pkg);
+ static unsigned int countCores( unsigned int pkg );
+ static unsigned int countCpus( void );
protected:
void getcoretemp( void );
private:
+ void findSysFiles( void );
int _pkg, _cpu, _high;
std::vector<std::string> _cpus;
unsigned long _actcolor, _highcolor;
++++++ xosview-1.16-coretemp2.patch ++++++
---
linux/coretemp.cc | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 78 insertions(+), 2 deletions(-)
--- linux/coretemp.cc
+++ linux/coretemp.cc 2015-02-03 13:52:45.786934745 +0100
@@ -1,5 +1,6 @@
//
// Copyright (c) 2008-2014 by Tomi Tapper <tomi.o.tapper(a)jyu.fi>
+// Copyright (c) 2015 by Werner Fink <werner(a)suse.de>
//
// Read CPU temperature readings from /sys and display actual temperature.
// If actual >= high, actual temp changes color to indicate alarm.
@@ -32,7 +33,6 @@ static const char SYS_VIATEMP[] = "/sys/
CoreTemp::CoreTemp( XOSView *parent, const char *label, const char *caption, int pkg, int cpu )
: FieldMeter( parent, 3, label, caption, 1, 1, 1 ), _pkg(pkg), _cpu(cpu) {
- metric_ = true;
_high = 0;
}
@@ -55,6 +55,7 @@ void CoreTemp::checkResources( void ) {
if ( _cpus.empty() ) { // should not happen at this point
std::cerr << "BUG: Could not determine sysfs file(s) for coretemp." << std::endl;
parent_->done(1);
+ return;
}
// Get TjMax and use it for total, if available.
@@ -111,6 +112,44 @@ void CoreTemp::findSysFiles( void ) {
DIR *dir;
struct dirent *dent;
+ if ((dir = opendir(SYS_HWMON))) {
+ while ( (dent = readdir(dir)) ) {
+ char *core, *path;
+ if ( !strncmp(dent->d_name, ".", 1) ||
+ !strncmp(dent->d_name, "..", 2) )
+ continue;
+ snprintf(name, PATH_SIZE, "%s/%s/device", SYS_HWMON, dent->d_name);
+ core = realpath(name, NULL);
+ if (!core)
+ break;
+ path = strrchr(core, '/');
+ if (path)
+ path++;
+ if (strncmp(path, "coretemp.", 9) == 0) {
+ path = strrchr(name, '/');
+ *path = '\0';
+ snprintf(path, PATH_SIZE - strlen(name), "/temp*_label");
+ glob(name, 0, NULL, &gbuf);
+ for (i = 0; i < gbuf.gl_pathc; i++) {
+ file.open(gbuf.gl_pathv[i]);
+ if (file.good()) {
+ file >> dummy >> cpu;
+ file.close();
+ strcpy(strrchr(gbuf.gl_pathv[i], '_'), "_input");
+ if (_cpu < 0 || cpu == _cpu) {
+ _cpus.push_back(gbuf.gl_pathv[i]);
+ }
+ }
+ }
+ globfree(&gbuf);
+ }
+ free(core);
+ }
+ closedir(dir);
+ if ( !_cpus.empty() )
+ return;
+ }
+
// Intel and VIA CPUs.
snprintf(name, PATH_SIZE, "%s.%d/temp*_label", SYS_CORETEMP, _pkg);
glob(name, 0, NULL, &gbuf);
@@ -122,8 +161,9 @@ void CoreTemp::findSysFiles( void ) {
file.close();
if ( strncmp(dummy.c_str(), "Core", 4) == 0 ) {
strcpy(strrchr(gbuf.gl_pathv[i], '_'), "_input");
- if (_cpu < 0 || cpu == _cpu)
+ if (_cpu < 0 || cpu == _cpu) {
_cpus.push_back(gbuf.gl_pathv[i]);
+ }
}
}
globfree(&gbuf);
@@ -261,6 +301,42 @@ unsigned int CoreTemp::countCores( unsig
std::string dummy;
std::ifstream file;
+ if ((dir = opendir(SYS_HWMON))) {
+ while ( (dent = readdir(dir)) ) {
+ char *core, *path;
+ if ( !strncmp(dent->d_name, ".", 1) ||
+ !strncmp(dent->d_name, "..", 2) )
+ continue;
+ snprintf(s, PATH_SIZE, "%s/%s/device", SYS_HWMON, dent->d_name);
+ core = realpath(s, NULL);
+ if (!core)
+ break;
+ path = strrchr(core, '/');
+ if (path)
+ path++;
+ if (strncmp(path, "coretemp.", 9) == 0) {
+ path = strrchr(s, '/');
+ *path = '\0';
+ snprintf(path, PATH_SIZE - strlen(s), "/temp*_label");
+ glob(s, 0, NULL, &gbuf);
+ for (i = 0; i < gbuf.gl_pathc; i++) {
+ file.open(gbuf.gl_pathv[i]);
+ if (file.good()) {
+ file >> dummy;
+ file.close();
+ if (strncmp(dummy.c_str(), "Core", 4) == 0)
+ count++;
+ }
+ }
+ globfree(&gbuf);
+ }
+ free(core);
+ }
+ closedir(dir);
+ if (count > 0)
+ return count;
+ }
+
// Intel or VIA CPU.
snprintf(s, PATH_SIZE, "%s.%d/temp*_label", SYS_CORETEMP, pkg);
glob(s, 0, NULL, &gbuf);
++++++ xosview-1.16-diskstat.patch ++++++
---
linux/diskmeter.cc | 58 ++++++++++++++++++++++++++++++++++++++++++++---------
linux/diskmeter.h | 3 --
2 files changed, 50 insertions(+), 11 deletions(-)
--- linux/diskmeter.cc
+++ linux/diskmeter.cc 2015-02-03 10:40:40.646018929 +0000
@@ -209,7 +209,6 @@ void DiskMeter::update_info(const diskma
float itim = IntervalTimeInMicrosecs();
// the sum of all disks
unsigned long long all_bytes_read = 0, all_bytes_written = 0;
- unsigned int sect_size = 512; // from linux-3.10/Documentation/block/stat.txt
// avoid strange values at first call
// (by this - the first value displayed becomes zero)
@@ -235,13 +234,11 @@ void DiskMeter::update_info(const diskma
all_bytes_written += it->second - sysfs_write_prev_[it->first];
}
- all_bytes_read *= sect_size;
- all_bytes_written *= sect_size;
XOSDEBUG("disk: read: %llu, written: %llu\n", all_bytes_read, all_bytes_written);
// convert rate from bytes/microsec into bytes/second
- fields_[0] = all_bytes_read * ( 1e6 / itim );
- fields_[1] = all_bytes_written * ( 1e6 / itim );
+ fields_[0] = all_bytes_read * ( 1e5 / itim );
+ fields_[1] = all_bytes_written * ( 1e5 / itim );
// fix overflow (conversion bug?)
if (fields_[0] < 0.0)
@@ -273,8 +270,6 @@ void DiskMeter::getsysfsdiskinfo( void )
// just sum up everything in /sys/block/*/stat
std::string sysfs_dir = _statFileName;
- std::string disk, tmp;
- std::ifstream diskstat;
struct stat buf;
char line[128];
unsigned long vals[7];
@@ -292,6 +287,10 @@ void DiskMeter::getsysfsdiskinfo( void )
// visit every /sys/block/*/stat and sum up the values:
for (struct dirent *dirent; (dirent = readdir(dir)) != NULL; ) {
+ std::string disk;
+ std::ifstream diskstat;
+ unsigned long sect_size;
+
if (strncmp(dirent->d_name, ".", 1) == 0 ||
strncmp(dirent->d_name, "..", 2) == 0 ||
strncmp(dirent->d_name, "loop", 4) == 0 ||
@@ -300,11 +299,52 @@ void DiskMeter::getsysfsdiskinfo( void )
disk = sysfs_dir + dirent->d_name;
if (stat(disk.c_str(), &buf) == 0 && buf.st_mode & S_IFDIR) {
+ std::string tmp;
+
// only scan for real HW (raid, md, and lvm all mapped on them)
tmp = disk + "/device";
if (lstat(tmp.c_str(), &buf) != 0 || (buf.st_mode & S_IFLNK) == 0)
continue;
+ // ignore removable devices
+ tmp = disk + "/removable";
+ if (stat(tmp.c_str(), &buf) == 0 && buf.st_mode & S_IFREG) {
+ std::ifstream removable;
+ int isremovable = 0;
+
+ removable.open(tmp.c_str());
+ if (removable.good()) {
+ removable >> isremovable;
+ removable.close();
+ removable.clear();
+ }
+ if (isremovable)
+ continue;
+ }
+
+ tmp = "/dev/";
+ tmp += dirent->d_name;
+ if (lstat(tmp.c_str(), &buf) == 0)
+ sect_size = (unsigned long)buf.st_blksize;
+
+ if (sect_size == 0UL) {
+ tmp = disk + "/queue/hw_sectors_kb";
+ if (stat(tmp.c_str(), &buf) == 0 && (buf.st_mode & S_IFREG)) {
+ std::ifstream hw_sectors_kb;
+
+ hw_sectors_kb.open(tmp.c_str());
+ if (hw_sectors_kb.good()) {
+ hw_sectors_kb >> sect_size;
+ //XOSDEBUG("disk stat: %lu\n", sect_size);
+ hw_sectors_kb.close();
+ hw_sectors_kb.clear();
+ }
+ }
+ }
+
+ if (sect_size == 0UL)
+ sect_size = 512;
+
// is a dir, locate 'stat' file in it
disk += "/stat";
diskstat.open(disk.c_str());
@@ -315,8 +355,8 @@ void DiskMeter::getsysfsdiskinfo( void )
vals[i] = strtoul(cur, &end, 10);
cur = end;
}
- reads[dirent->d_name] = vals[2];
- writes[dirent->d_name] = vals[6];
+ reads[dirent->d_name] = (unsigned long long)vals[2] * (unsigned long long)sect_size;
+ writes[dirent->d_name] = (unsigned long long)vals[6] * (unsigned long long)sect_size;
XOSDEBUG("disk stat: %s | read: %lu, written: %lu\n", disk.c_str(), vals[2], vals[6]);
diskstat.close();
--- linux/diskmeter.h
+++ linux/diskmeter.h 2013-04-09 10:52:05.000000000 +0000
@@ -11,8 +11,7 @@
#include <map>
#include <string>
-typedef std::map<std::string, unsigned long> diskmap;
-
+typedef std::map<std::string, unsigned long long> diskmap;
class DiskMeter : public FieldMeterGraph
{
++++++ xosview-1.16-serial.patch ++++++
---
linux/serialmeter.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- linux/serialmeter.cc
+++ linux/serialmeter.cc 2015-02-03 09:44:09.245705213 +0000
@@ -29,10 +29,10 @@ typedef unsigned long long u64;
#include <unistd.h>
#if defined(GNULIBC) || defined(__GLIBC__)
-#if !defined(__powerpc__) && !defined(__hppa__) && !defined(__mips__) && !defined(__sparc__) && !defined(__sh__) && !defined(__s390__) && !defined(__s390x__) && !defined(__m68k__)
+#if !defined(__aarch64__) && !defined(__powerpc__) && !defined(__hppa__) && !defined(__mips__) && !defined(__sparc__) && !defined(__sh__) && !defined(__s390__) && !defined(__s390x__) && !defined(__m68k__)
#include <sys/io.h>
#endif
-#if !defined(__alpha__) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__ia64__) && !defined(__hppa__) && !defined(__arm__) && !defined(__mips__) && !defined(__sh__) && !defined(__s390__) && !defined (__s390x__) && !defined(__m68k__)
+#if !defined(__aarch64__) && !defined(__alpha__) && !defined(__sparc__) && !defined(__powerpc__) && !defined(__ia64__) && !defined(__hppa__) && !defined(__arm__) && !defined(__mips__) && !defined(__sh__) && !defined(__s390__) && !defined (__s390x__) && !defined(__m68k__)
#include <sys/perm.h>
#define HAVE_IOPERM
#endif
++++++ xosview-1.16.dif ++++++
++++ 891 lines (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package vdr-plugin-streamdev for openSUSE:Factory checked in at 2015-02-04 09:31:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr-plugin-streamdev (Old)
and /work/SRC/openSUSE:Factory/.vdr-plugin-streamdev.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vdr-plugin-streamdev"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr-plugin-streamdev/vdr-plugin-streamdev.changes 2014-05-02 14:03:50.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vdr-plugin-streamdev.new/vdr-plugin-streamdev.changes 2015-02-04 13:04:25.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Dec 30 09:42:30 UTC 2014 - seife+obs(a)b1-systems.com
+
+- install distributed externremux.sh file
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vdr-plugin-streamdev.spec ++++++
--- /var/tmp/diff_new_pack.1VTeWc/_old 2015-02-04 13:04:25.000000000 +0100
+++ /var/tmp/diff_new_pack.1VTeWc/_new 2015-02-04 13:04:25.000000000 +0100
@@ -66,8 +66,13 @@
make DESTDIR=%{buildroot} install
%{vdr_find_locale_name -n vdr-streamdev-client}
%{vdr_find_locale_name -n vdr-streamdev-server}
-mkdir -p %{buildroot}%{vdr_sysconfdir}/plugins/streamdev-server
-install -c -m 644 streamdev-server/streamdevhosts.conf %{buildroot}%{_sysconfdir}/vdr/plugins/streamdev-server/streamdevhosts.conf
+install -d %{buildroot}%{vdr_sysconfdir}/plugins/streamdev-server
+install -m 644 streamdev-server/streamdevhosts.conf %{buildroot}%{_sysconfdir}/vdr/plugins/streamdev-server/
+# 644 to not execute it in the default installation
+install -m 644 streamdev-server/externremux.sh %{buildroot}%{_sysconfdir}/vdr/plugins/streamdev-server/
+echo "The externremux.sh script is not executable in the default installation.
+Use 'chmod 755 /etc/vdr/plugins/streamdev-server/externremux.sh' if you want
+to use it." > %{buildroot}%{_sysconfdir}/vdr/plugins/streamdev-server/externremux.README
%files client -f vdr-streamdev-client.files
%defattr(-,root,root)
@@ -82,6 +87,8 @@
%attr(755,vdr,root) %dir %{vdr_sysconfdir}/plugins
%attr(755,vdr,root) %dir %{vdr_sysconfdir}/plugins/streamdev-server
%config %{_sysconfdir}/vdr/plugins/streamdev-server/streamdevhosts.conf
+%config %{_sysconfdir}/vdr/plugins/streamdev-server/externremux.sh
+%{_sysconfdir}/vdr/plugins/streamdev-server/externremux.README
%doc COPYING HISTORY README CONTRIBUTORS PROTOCOL
%changelog
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package vdr-plugin-femon for openSUSE:Factory checked in at 2015-02-04 09:31:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vdr-plugin-femon (Old)
and /work/SRC/openSUSE:Factory/.vdr-plugin-femon.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vdr-plugin-femon"
Changes:
--------
--- /work/SRC/openSUSE:Factory/vdr-plugin-femon/vdr-plugin-femon.changes 2014-05-02 14:03:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.vdr-plugin-femon.new/vdr-plugin-femon.changes 2015-02-04 13:04:23.000000000 +0100
@@ -1,0 +2,6 @@
+Sun Nov 2 18:10:08 UTC 2014 - seife+obs(a)b1-systems.com
+
+- update to 2.0.4
+ - Added support for SAT>IP devices
+
+-------------------------------------------------------------------
Old:
----
vdr-femon-2.0.2.tgz
New:
----
vdr-femon-2.0.4.tgz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ vdr-plugin-femon.spec ++++++
--- /var/tmp/diff_new_pack.1CF5Xv/_old 2015-02-04 13:04:24.000000000 +0100
+++ /var/tmp/diff_new_pack.1CF5Xv/_new 2015-02-04 13:04:24.000000000 +0100
@@ -16,8 +16,9 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
%define pluginname femon
-%define pluginversion 2.0.2
+%define pluginversion 2.0.4
Name: vdr-plugin-%{pluginname}
Version: %{pluginversion}
Release: 0
++++++ vdr-femon-2.0.2.tgz -> vdr-femon-2.0.4.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/HISTORY new/femon-2.0.4/HISTORY
--- old/femon-2.0.2/HISTORY 2014-01-18 03:20:00.000000000 +0100
+++ new/femon-2.0.4/HISTORY 2014-03-15 03:20:00.000000000 +0100
@@ -484,3 +484,11 @@
2014-01-18: Version 2.0.2
- Added initial support for CAMs.
+
+2014-03-08: Version 2.0.3
+
+- Added support for SAT>IP devices.
+
+2014-03-15: Version 2.0.4
+
+- Refactored the SAT>IP support.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/femon.c new/femon-2.0.4/femon.c
--- old/femon-2.0.2/femon.c 2014-01-18 03:20:00.000000000 +0100
+++ new/femon-2.0.4/femon.c 2014-03-15 03:20:00.000000000 +0100
@@ -22,7 +22,7 @@
#define GITVERSION ""
#endif
-static const char VERSION[] = "2.0.2" GITVERSION;
+static const char VERSION[] = "2.0.4" GITVERSION;
static const char DESCRIPTION[] = trNOOP("DVB Signal Information Monitor (OSD)");
static const char MAINMENUENTRY[] = trNOOP("Signal Information");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/femonosd.c new/femon-2.0.4/femonosd.c
--- old/femon-2.0.2/femonosd.c 2014-01-18 03:20:00.000000000 +0100
+++ new/femon-2.0.4/femonosd.c 2014-03-15 03:20:00.000000000 +0100
@@ -625,6 +625,23 @@
m_BERValid = (ioctl(m_Frontend, FE_READ_BER, &m_BER) >= 0);
m_UNCValid = (ioctl(m_Frontend, FE_READ_UNCORRECTED_BLOCKS, &m_UNC) >= 0);
}
+ else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
+ m_Quality = cDevice::ActualDevice()->SignalQuality();
+ m_QualityValid = (m_Quality >= 0);
+ m_Strength = cDevice::ActualDevice()->SignalStrength();
+ m_StrengthValid = (m_Strength >= 0);
+ m_FrontendName = cDevice::ActualDevice()->DeviceName();
+ m_FrontendStatus = (fe_status_t)(cDevice::ActualDevice()->HasLock() ? (FE_HAS_LOCK | FE_HAS_SIGNAL | FE_HAS_CARRIER | FE_HAS_VITERBI | FE_HAS_SYNC) : 0);
+ m_FrontendStatusValid = m_StrengthValid;
+ m_Signal = uint16_t(m_Strength * 0xFFFF / 100);
+ m_SignalValid = m_StrengthValid;
+ m_SNR = uint16_t(m_Quality * 0xFFFF / 100);
+ m_SNRValid = m_QualityValid;
+ m_BER = 0;
+ m_BERValid = false;
+ m_UNC = 0;
+ m_UNCValid = false;
+ }
else if (m_SvdrpConnection.handle >= 0) {
cmd.handle = m_SvdrpConnection.handle;
m_SvdrpPlugin->Service("SvdrpCommand-v1.0", &cmd);
@@ -715,6 +732,9 @@
return;
}
}
+ else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
+ // nop
+ }
else if (femonConfig.usesvdrp) {
if (!SvdrpConnect() || !SvdrpTune())
return;
@@ -789,6 +809,9 @@
return;
}
}
+ else if (strstr(*cDevice::ActualDevice()->DeviceType(), SATIP_DEVICE)) {
+ // nop
+ }
else if (femonConfig.usesvdrp) {
if (!SvdrpConnect() || !SvdrpTune())
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/femontools.c new/femon-2.0.4/femontools.c
--- old/femon-2.0.2/femontools.c 2014-01-18 03:20:00.000000000 +0100
+++ new/femon-2.0.4/femontools.c 2014-03-15 03:20:00.000000000 +0100
@@ -9,6 +9,7 @@
#define __STDC_FORMAT_MACROS
#endif
+#include <ctype.h>
#include <stdint.h>
#include <stdlib.h>
#include <unistd.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/femontools.h new/femon-2.0.4/femontools.h
--- old/femon-2.0.2/femontools.h 2014-01-18 03:20:00.000000000 +0100
+++ new/femon-2.0.4/femontools.h 2014-03-15 03:20:00.000000000 +0100
@@ -26,6 +26,8 @@
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
+#define SATIP_DEVICE "SAT>IP"
+
cDvbDevice *getDvbDevice(cDevice* device);
cString getFrontendInfo(cDvbDevice *device);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/de_DE.po new/femon-2.0.4/po/de_DE.po
--- old/femon-2.0.2/po/de_DE.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/de_DE.po 2014-03-15 11:38:03.000000000 +0100
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Christian Wieninger\n"
"Language-Team: German <vdr(a)linuxtv.org>\n"
"Language: de\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/es_ES.po new/femon-2.0.4/po/es_ES.po
--- old/femon-2.0.2/po/es_ES.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/es_ES.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Luis Palacios\n"
"Language-Team: Spanish <vdr(a)linuxtv.org>\n"
"Language: es\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/et_EE.po new/femon-2.0.4/po/et_EE.po
--- old/femon-2.0.2/po/et_EE.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/et_EE.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Arthur Konovalov\n"
"Language-Team: Estonian <vdr(a)linuxtv.org>\n"
"Language: et\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/fi_FI.po new/femon-2.0.4/po/fi_FI.po
--- old/femon-2.0.2/po/fi_FI.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/fi_FI.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Rolf Ahrenberg\n"
"Language-Team: Finnish <vdr(a)linuxtv.org>\n"
"Language: fi\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/fr_FR.po new/femon-2.0.4/po/fr_FR.po
--- old/femon-2.0.2/po/fr_FR.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/fr_FR.po 2014-03-15 11:38:03.000000000 +0100
@@ -7,10 +7,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Bernard Jaulin <bernard.jaulin(a)gmail.com>\n"
"Language-Team: French <vdr(a)linuxtv.org>\n"
"Language: fr\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/hu_HU.po new/femon-2.0.4/po/hu_HU.po
--- old/femon-2.0.2/po/hu_HU.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/hu_HU.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2010-10-10 10:10+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: F�ley Istv�n <ifuley at tigercomp dot ro>\n"
"Language-Team: Hungarian <ifuley at tigercomp dot ro>\n"
"Language: hu\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/it_IT.po new/femon-2.0.4/po/it_IT.po
--- old/femon-2.0.2/po/it_IT.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/it_IT.po 2014-03-15 11:38:03.000000000 +0100
@@ -6,10 +6,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Diego Pierotto <vdr-italian(a)tiscali.it>\n"
"Language-Team: Italian <vdr(a)linuxtv.org>\n"
"Language: it\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/lt_LT.po new/femon-2.0.4/po/lt_LT.po
--- old/femon-2.0.2/po/lt_LT.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/lt_LT.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Valdemaras Pipiras <varas(a)ambernet.lt>\n"
"Language-Team: Lithuanian <vdr(a)linuxtv.org>\n"
"Language: lt\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/ru_RU.po new/femon-2.0.4/po/ru_RU.po
--- old/femon-2.0.2/po/ru_RU.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/ru_RU.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Vyacheslav Dikonov\n"
"Language-Team: Russian <vdr(a)linuxtv.org>\n"
"Language: ru\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/sk_SK.po new/femon-2.0.4/po/sk_SK.po
--- old/femon-2.0.2/po/sk_SK.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/sk_SK.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Milan Hrala <hrala.milan(a)gmail.com>\n"
"Language-Team: Slovak <vdr(a)linuxtv.org>\n"
"Language: sk\n"
@@ -387,4 +387,3 @@
msgid "kbit/s"
msgstr "kbit/s"
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/uk_UA.po new/femon-2.0.4/po/uk_UA.po
--- old/femon-2.0.2/po/uk_UA.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/uk_UA.po 2014-03-15 11:38:03.000000000 +0100
@@ -4,18 +4,17 @@
# Yarema aka Knedlyk <yupadmin(a)gmail.com>, 2010.
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin(a)gmail.com>\n"
"Language-Team: Ukrainian <translation(a)linux.org.ua>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n"
msgid "DVB Signal Information Monitor (OSD)"
msgstr "Монітор інформації про DVB сигнал"
@@ -113,12 +112,8 @@
msgid "OSD update interval [0.1s]"
msgstr "Інтервал оновлення повідомлень [0.1с]"
-msgid ""
-"Define an interval for OSD updates. The smaller interval generates higher "
-"CPU load."
-msgstr ""
-"Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше "
-"завантаження процесора."
+msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load."
+msgstr "Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше завантаження процесора."
msgid "Analyze stream"
msgstr "Аналіз потоку"
@@ -129,19 +124,14 @@
msgid "Calculation interval [0.1s]"
msgstr "Інтервал обчислення [0.1с]"
-msgid ""
-"Define an interval for calculation. The bigger interval generates more "
-"stable values."
-msgstr ""
-"Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
+msgid "Define an interval for calculation. The bigger interval generates more stable values."
+msgstr "Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення."
msgid "Use SVDRP service"
msgstr "Використати SVDRP сервіс"
msgid "Define whether the SVDRP service is used in client/server setups."
-msgstr ""
-"Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/"
-"сервера"
+msgstr "Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/сервера"
msgid "SVDRP service port"
msgstr "Порт SVDRP сервісу"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/zh_CN.po new/femon-2.0.4/po/zh_CN.po
--- old/femon-2.0.2/po/zh_CN.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/zh_CN.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: NanFeng <nfgx(a)21cn.com>\n"
"Language-Team: Chinese (simplified) <vdr(a)linuxtv.org>\n"
"Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/femon-2.0.2/po/zh_TW.po new/femon-2.0.4/po/zh_TW.po
--- old/femon-2.0.2/po/zh_TW.po 2014-01-18 23:19:10.000000000 +0100
+++ new/femon-2.0.4/po/zh_TW.po 2014-03-15 11:38:03.000000000 +0100
@@ -5,10 +5,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: vdr-femon 2.0.2\n"
+"Project-Id-Version: vdr-femon 2.0.4\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-01-08 01:18+0200\n"
-"PO-Revision-Date: 2014-01-08 01:18+0200\n"
+"POT-Creation-Date: 2014-03-15 03:15+0200\n"
+"PO-Revision-Date: 2014-03-15 03:15+0200\n"
"Last-Translator: NanFeng <nfgx(a)21cn.com>\n"
"Language-Team: Chinese (traditional) <vdr(a)linuxtv.org>\n"
"Language: zh_TW\n"
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0