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
November 2014
- 1 participants
- 1346 discussions
Hello community,
here is the log from the commit of package cgit for openSUSE:Factory checked in at 2014-11-26 10:33:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cgit (Old)
and /work/SRC/openSUSE:Factory/.cgit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cgit"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cgit/cgit.changes 2014-10-18 09:09:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cgit.new/cgit.changes 2014-11-26 10:33:32.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Nov 24 13:10:34 UTC 2014 - guillaume(a)opensuse.org
+
+- Fix css and logo path in cgitrc file (replace /git by /cgit)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cgitrc ++++++
--- /var/tmp/diff_new_pack.R8e8zV/_old 2014-11-26 10:33:34.000000000 +0100
+++ /var/tmp/diff_new_pack.R8e8zV/_new 2014-11-26 10:33:34.000000000 +0100
@@ -5,10 +5,10 @@
clone-prefix=ssh://domain.com/var/git
# Specify the css url
-css=/git/cgit.css
+css=/cgit/cgit.css
# Specify the logo url
-logo=/git/cgit.png
+logo=/cgit/cgit.png
# Show extra links for each repository on the index page
enable-index-links=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package haproxy for openSUSE:Factory checked in at 2014-11-26 10:33:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/haproxy (Old)
and /work/SRC/openSUSE:Factory/.haproxy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "haproxy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/haproxy/haproxy.changes 2014-11-11 09:59:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.haproxy.new/haproxy.changes 2014-11-26 10:33:31.000000000 +0100
@@ -1,0 +2,18 @@
+Thu Nov 20 06:56:23 UTC 2014 - kgronlund(a)suse.com
+
+- BUILD: fix "make install" to support spaces in the install dirs
+- BUG/MEDIUM: ssl: fix bad ssl context init can cause segfault in case of OOM.
+- BUG/MEDIUM: ssl: force a full GC in case of memory shortage
+- BUG/MEDIUM: checks: fix conflicts between agent checks and ssl healthchecks
+- BUG/MINOR: config: don't inherit the default balance algorithm in frontends
+- BUG/MAJOR: frontend: initialize capture pointers earlier
+
+- Add patches:
+ - 0001-BUILD-fix-make-install-to-support-spaces-in-the-inst.patch
+ - 0002-BUG-MEDIUM-ssl-fix-bad-ssl-context-init-can-cause-se.patch
+ - 0003-BUG-MEDIUM-ssl-force-a-full-GC-in-case-of-memory-sho.patch
+ - 0004-BUG-MEDIUM-checks-fix-conflicts-between-agent-checks.patch
+ - 0005-BUG-MINOR-config-don-t-inherit-the-default-balance-a.patch
+ - 0006-BUG-MAJOR-frontend-initialize-capture-pointers-earli.patch
+
+-------------------------------------------------------------------
New:
----
0001-BUILD-fix-make-install-to-support-spaces-in-the-inst.patch
0002-BUG-MEDIUM-ssl-fix-bad-ssl-context-init-can-cause-se.patch
0003-BUG-MEDIUM-ssl-force-a-full-GC-in-case-of-memory-sho.patch
0004-BUG-MEDIUM-checks-fix-conflicts-between-agent-checks.patch
0005-BUG-MINOR-config-don-t-inherit-the-default-balance-a.patch
0006-BUG-MAJOR-frontend-initialize-capture-pointers-earli.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ haproxy.spec ++++++
--- /var/tmp/diff_new_pack.oZunna/_old 2014-11-26 10:33:32.000000000 +0100
+++ /var/tmp/diff_new_pack.oZunna/_new 2014-11-26 10:33:32.000000000 +0100
@@ -61,6 +61,19 @@
Patch2: haproxy-makefile_lib.patch
Patch3: sec-options.patch
+# PATCH-FIX-UPSTREAM BUILD: fix "make install" to support spaces in the install dirs
+Patch4: 0001-BUILD-fix-make-install-to-support-spaces-in-the-inst.patch
+# PATCH-FIX-UPSTREAM BUG/MEDIUM: ssl: fix bad ssl context init can cause segfault in case of OOM.
+Patch5: 0002-BUG-MEDIUM-ssl-fix-bad-ssl-context-init-can-cause-se.patch
+# PATCH-FIX-UPSTREAM BUG/MEDIUM: ssl: force a full GC in case of memory shortage
+Patch6: 0003-BUG-MEDIUM-ssl-force-a-full-GC-in-case-of-memory-sho.patch
+# PATCH-FIX-UPSTREAM BUG/MEDIUM: checks: fix conflicts between agent checks and ssl healthchecks
+Patch7: 0004-BUG-MEDIUM-checks-fix-conflicts-between-agent-checks.patch
+# PATCH-FIX-UPSTREAM BUG/MINOR: config: don't inherit the default balance algorithm in frontends
+Patch8: 0005-BUG-MINOR-config-don-t-inherit-the-default-balance-a.patch
+# PATCH-FIX-UPSTREAM BUG/MAJOR: frontend: initialize capture pointers earlier
+Patch9: 0006-BUG-MAJOR-frontend-initialize-capture-pointers-earli.patch
+
Source99: haproxy-rpmlintrc
#
Summary: The Reliable, High Performance TCP/HTTP Load Balancer
@@ -94,6 +107,13 @@
%patch2
%patch3
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+
%build
%{__make} \
TARGET=linux26 \
++++++ 0001-BUILD-fix-make-install-to-support-spaces-in-the-inst.patch ++++++
>From 184422d39df1aa27e6ef4c1ae75177489147ec99 Mon Sep 17 00:00:00 2001
From: Arcadiy Ivanov <arcadiy.ivanov(a)servicemesh.com>
Date: Tue, 4 Nov 2014 07:06:13 -0500
Subject: [PATCH 1/6] BUILD: fix "make install" to support spaces in the
install dirs
Makefile is unable to install into directories containing spaces.
(cherry picked from commit 3785311e64792787de78370fa126fd806734f7fe)
---
Makefile | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/Makefile b/Makefile
index 707037b..9556069 100644
--- a/Makefile
+++ b/Makefile
@@ -710,19 +710,19 @@ src/dlmalloc.o: $(DLMALLOC_SRC)
$(CC) $(COPTS) -DDEFAULT_MMAP_THRESHOLD=$(DLMALLOC_THRES) -c -o $@ $<
install-man:
- install -d $(DESTDIR)$(MANDIR)/man1
- install -m 644 doc/haproxy.1 $(DESTDIR)$(MANDIR)/man1
+ install -d "$(DESTDIR)$(MANDIR)"/man1
+ install -m 644 doc/haproxy.1 "$(DESTDIR)$(MANDIR)"/man1
install-doc:
- install -d $(DESTDIR)$(DOCDIR)
+ install -d "$(DESTDIR)$(DOCDIR)"
for x in configuration architecture haproxy-en haproxy-fr; do \
- install -m 644 doc/$$x.txt $(DESTDIR)$(DOCDIR) ; \
+ install -m 644 doc/$$x.txt "$(DESTDIR)$(DOCDIR)" ; \
done
install-bin: haproxy haproxy-systemd-wrapper
- install -d $(DESTDIR)$(SBINDIR)
- install haproxy $(DESTDIR)$(SBINDIR)
- install haproxy-systemd-wrapper $(DESTDIR)$(SBINDIR)
+ install -d "$(DESTDIR)$(SBINDIR)"
+ install haproxy "$(DESTDIR)$(SBINDIR)"
+ install haproxy-systemd-wrapper "$(DESTDIR)$(SBINDIR)"
install: install-bin install-man install-doc
--
2.1.3
++++++ 0002-BUG-MEDIUM-ssl-fix-bad-ssl-context-init-can-cause-se.patch ++++++
>From 90951497008967f10ba8f9927b53c6e6bc138540 Mon Sep 17 00:00:00 2001
From: Emeric Brun <ebrun(a)haproxy.comw>
Date: Wed, 12 Nov 2014 17:35:37 +0100
Subject: [PATCH 2/6] BUG/MEDIUM: ssl: fix bad ssl context init can cause
segfault in case of OOM.
Some SSL context's init functions errors were not handled and
can cause a segfault due to an incomplete SSL context
initialization.
This fix must be backported to 1.5.
(cherry picked from commit 5547615cdac377797ae351a2e024376dbf6d6963)
---
src/ssl_sock.c | 52 ++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 38 insertions(+), 14 deletions(-)
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index f8bfbe7..620609f 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -2040,15 +2040,29 @@ static int ssl_sock_init(struct connection *conn)
return -1;
}
+ /* set fd on SSL session context */
+ if (!SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd)) {
+ SSL_free(conn->xprt_ctx);
+ conn->xprt_ctx = NULL;
+ conn->err_code = CO_ER_SSL_NO_MEM;
+ return -1;
+ }
+
+ /* set connection pointer */
+ if (!SSL_set_app_data(conn->xprt_ctx, conn)) {
+ SSL_free(conn->xprt_ctx);
+ conn->xprt_ctx = NULL;
+ conn->err_code = CO_ER_SSL_NO_MEM;
+ return -1;
+ }
+
SSL_set_connect_state(conn->xprt_ctx);
- if (objt_server(conn->target)->ssl_ctx.reused_sess)
- SSL_set_session(conn->xprt_ctx, objt_server(conn->target)->ssl_ctx.reused_sess);
-
- /* set fd on SSL session context */
- SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd);
-
- /* set connection pointer */
- SSL_set_app_data(conn->xprt_ctx, conn);
+ if (objt_server(conn->target)->ssl_ctx.reused_sess) {
+ if(!SSL_set_session(conn->xprt_ctx, objt_server(conn->target)->ssl_ctx.reused_sess)) {
+ SSL_SESSION_free(objt_server(conn->target)->ssl_ctx.reused_sess);
+ objt_server(conn->target)->ssl_ctx.reused_sess = NULL;
+ }
+ }
/* leave init state and start handshake */
conn->flags |= CO_FL_SSL_WAIT_HS | CO_FL_WAIT_L6_CONN;
@@ -2065,14 +2079,24 @@ static int ssl_sock_init(struct connection *conn)
return -1;
}
+ /* set fd on SSL session context */
+ if (!SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd)) {
+ SSL_free(conn->xprt_ctx);
+ conn->xprt_ctx = NULL;
+ conn->err_code = CO_ER_SSL_NO_MEM;
+ return -1;
+ }
+
+ /* set connection pointer */
+ if (!SSL_set_app_data(conn->xprt_ctx, conn)) {
+ SSL_free(conn->xprt_ctx);
+ conn->xprt_ctx = NULL;
+ conn->err_code = CO_ER_SSL_NO_MEM;
+ return -1;
+ }
+
SSL_set_accept_state(conn->xprt_ctx);
- /* set fd on SSL session context */
- SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd);
-
- /* set connection pointer */
- SSL_set_app_data(conn->xprt_ctx, conn);
-
/* leave init state and start handshake */
conn->flags |= CO_FL_SSL_WAIT_HS | CO_FL_WAIT_L6_CONN;
--
2.1.3
++++++ 0003-BUG-MEDIUM-ssl-force-a-full-GC-in-case-of-memory-sho.patch ++++++
>From 9bcc01ae25985dd540080f43b160beab1f1a2bc6 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Thu, 13 Nov 2014 13:48:58 +0100
Subject: [PATCH 3/6] BUG/MEDIUM: ssl: force a full GC in case of memory
shortage
When memory becomes scarce and openssl refuses to allocate a new SSL
session, it is worth freeing the pools and trying again instead of
rejecting all incoming SSL connection. This can happen when some
memory usage limits have been assigned to the haproxy process using
-m or with ulimit -m/-v.
This is mostly an enhancement of previous fix and is worth backporting
to 1.5.
(cherry picked from commit fba03cdc5ac6e3ca318b34915596cbc0a0dacc55)
---
src/ssl_sock.c | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index 620609f..f50efe5 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -2033,9 +2033,16 @@ static int ssl_sock_init(struct connection *conn)
/* If it is in client mode initiate SSL session
in connect state otherwise accept state */
if (objt_server(conn->target)) {
+ int may_retry = 1;
+
+ retry_connect:
/* Alloc a new SSL session ctx */
conn->xprt_ctx = SSL_new(objt_server(conn->target)->ssl_ctx.ctx);
if (!conn->xprt_ctx) {
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_connect;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
@@ -2044,6 +2051,10 @@ static int ssl_sock_init(struct connection *conn)
if (!SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd)) {
SSL_free(conn->xprt_ctx);
conn->xprt_ctx = NULL;
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_connect;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
@@ -2052,6 +2063,10 @@ static int ssl_sock_init(struct connection *conn)
if (!SSL_set_app_data(conn->xprt_ctx, conn)) {
SSL_free(conn->xprt_ctx);
conn->xprt_ctx = NULL;
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_connect;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
@@ -2072,9 +2087,16 @@ static int ssl_sock_init(struct connection *conn)
return 0;
}
else if (objt_listener(conn->target)) {
+ int may_retry = 1;
+
+ retry_accept:
/* Alloc a new SSL session ctx */
conn->xprt_ctx = SSL_new(objt_listener(conn->target)->bind_conf->default_ctx);
if (!conn->xprt_ctx) {
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_accept;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
@@ -2083,6 +2105,10 @@ static int ssl_sock_init(struct connection *conn)
if (!SSL_set_fd(conn->xprt_ctx, conn->t.sock.fd)) {
SSL_free(conn->xprt_ctx);
conn->xprt_ctx = NULL;
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_accept;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
@@ -2091,6 +2117,10 @@ static int ssl_sock_init(struct connection *conn)
if (!SSL_set_app_data(conn->xprt_ctx, conn)) {
SSL_free(conn->xprt_ctx);
conn->xprt_ctx = NULL;
+ if (may_retry--) {
+ pool_gc2();
+ goto retry_accept;
+ }
conn->err_code = CO_ER_SSL_NO_MEM;
return -1;
}
--
2.1.3
++++++ 0004-BUG-MEDIUM-checks-fix-conflicts-between-agent-checks.patch ++++++
>From 1f96a87c4e1412ccdc6cfe81bfd6f20a1782886a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cyril=20Bont=C3=A9?= <cyril.bonte(a)free.fr>
Date: Sat, 15 Nov 2014 22:41:27 +0100
Subject: [PATCH 4/6] BUG/MEDIUM: checks: fix conflicts between agent checks
and ssl healthchecks
Lasse Birnbaum Jensen reported an issue when agent checks are used at the same
time as standard healthchecks when SSL is enabled on the server side.
The symptom is that agent checks try to communicate in SSL while it should
manage raw data. This happens because the transport layer is shared between all
kind of checks.
To fix the issue, the transport layer is now stored in each check type,
allowing to use SSL healthchecks when required, while an agent check should
always use the raw_sock implementation.
The fix must be backported to 1.5.
(cherry picked from commit 9ce1311ebc834e20addc7a8392c0fc4e4ad687b7)
---
include/types/checks.h | 3 ++-
include/types/server.h | 1 -
src/checks.c | 2 +-
src/server.c | 2 +-
src/ssl_sock.c | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/include/types/checks.h b/include/types/checks.h
index a50043b..42b7b07 100644
--- a/include/types/checks.h
+++ b/include/types/checks.h
@@ -125,6 +125,7 @@ enum {
};
struct check {
+ struct xprt_ops *xprt; /* transport layer operations for health checks */
struct connection *conn; /* connection state for health checks */
unsigned short port; /* the port to use for the health checks */
struct buffer *bi, *bo; /* input and output buffers to send/recv check */
@@ -132,7 +133,7 @@ struct check {
struct timeval start; /* last health check start time */
long duration; /* time in ms took to finish last health check */
short status, code; /* check result, check code */
- char desc[HCHK_DESC_LEN]; /* health check descritpion */
+ char desc[HCHK_DESC_LEN]; /* health check description */
int use_ssl; /* use SSL for health checks */
int send_proxy; /* send a PROXY protocol header with checks */
struct tcpcheck_rule *current_step; /* current step when using tcpcheck */
diff --git a/include/types/server.h b/include/types/server.h
index 313f58d..c419b40 100644
--- a/include/types/server.h
+++ b/include/types/server.h
@@ -194,7 +194,6 @@ struct server {
struct { /* configuration used by health-check and agent-check */
struct protocol *proto; /* server address protocol for health checks */
- struct xprt_ops *xprt; /* transport layer operations for health checks */
struct sockaddr_storage addr; /* the address to check, if different from <addr> */
} check_common;
diff --git a/src/checks.c b/src/checks.c
index 5318f35..84bf0e5 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -1413,7 +1413,7 @@ static int connect_chk(struct task *t)
/* prepare a new connection */
conn_init(conn);
- conn_prepare(conn, s->check_common.proto, s->check_common.xprt);
+ conn_prepare(conn, s->check_common.proto, check->xprt);
conn_attach(conn, check, &check_conn_cb);
conn->target = &s->obj_type;
diff --git a/src/server.c b/src/server.c
index fdb63cc..94a31b6 100644
--- a/src/server.c
+++ b/src/server.c
@@ -929,7 +929,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
newsrv->addr = *sk;
newsrv->proto = newsrv->check_common.proto = protocol_by_family(newsrv->addr.ss_family);
- newsrv->xprt = newsrv->check_common.xprt = &raw_sock;
+ newsrv->xprt = newsrv->check.xprt = newsrv->agent.xprt = &raw_sock;
if (!newsrv->proto) {
Alert("parsing [%s:%d] : Unknown protocol family %d '%s'\n",
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index f50efe5..b73d6f9 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -1812,7 +1812,7 @@ int ssl_sock_prepare_srv_ctx(struct server *srv, struct proxy *curproxy)
if (srv->use_ssl)
srv->xprt = &ssl_sock;
if (srv->check.use_ssl)
- srv->check_common.xprt = &ssl_sock;
+ srv->check.xprt = &ssl_sock;
srv->ssl_ctx.ctx = SSL_CTX_new(SSLv23_client_method());
if (!srv->ssl_ctx.ctx) {
--
2.1.3
++++++ 0005-BUG-MINOR-config-don-t-inherit-the-default-balance-a.patch ++++++
>From cac307c020db7a938b73d4fef27a3b4ad2ecdf6a Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 18 Nov 2014 15:04:29 +0100
Subject: [PATCH 5/6] BUG/MINOR: config: don't inherit the default balance
algorithm in frontends
Tom Limoncelli from Stack Exchange reported a minor bug : the frontend
inherits the LB parameters from the defaults sections. The impact is
that if a "balance" directive uses any L7 parameter in the defaults
sections and the frontend is in TCP mode, a warning is emitted about
their incompatibility. The warning is harmless but a valid, sane config
should never cause any warning to be reported.
This fix should be backported into 1.5 and possibly 1.4.
(cherry picked from commit 743c128580ee29c8f073b4a29771a5ce715f3721)
---
src/cfgparse.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 392a692..40d20ab 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2003,7 +2003,6 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
curproxy->no_options = defproxy.no_options;
curproxy->no_options2 = defproxy.no_options2;
curproxy->bind_proc = defproxy.bind_proc;
- curproxy->lbprm.algo = defproxy.lbprm.algo;
curproxy->except_net = defproxy.except_net;
curproxy->except_mask = defproxy.except_mask;
curproxy->except_to = defproxy.except_to;
@@ -2037,6 +2036,7 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
}
if (curproxy->cap & PR_CAP_BE) {
+ curproxy->lbprm.algo = defproxy.lbprm.algo;
curproxy->fullconn = defproxy.fullconn;
curproxy->conn_retries = defproxy.conn_retries;
curproxy->max_ka_queue = defproxy.max_ka_queue;
--
2.1.3
++++++ 0006-BUG-MAJOR-frontend-initialize-capture-pointers-earli.patch ++++++
>From 8ba50128832bb31e95f06fe4cb2bd172f2b945fe Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w(a)1wt.eu>
Date: Tue, 18 Nov 2014 18:49:19 +0100
Subject: [PATCH 6/6] BUG/MAJOR: frontend: initialize capture pointers earlier
Denys Fedoryshchenko reported and diagnosed a nasty bug caused by TCP
captures, introduced in late 1.5-dev by commit 18bf01e ("MEDIUM: tcp:
add a new tcp-request capture directive"). The problem is that we're
using the array of capture pointers initially designed for HTTP usage
only, and that this array was only reset when starting to process an
HTTP request. In a tcp-only frontend, the pointers are not reset, and
if the capture pool is shared, we can very well point to whatever other
memory location, resulting in random crashes when tcp-request content
captures are processed.
The fix simply consists in initializing these pointers when the pools
are prepared.
A workaround for existing versions consists in either disabling TCP
captures in tcp-only frontends, or in forcing the frontends to work in
HTTP mode.
Thanks to Denys for the amount of testing and detailed reports.
This fix must be backported to 1.5.
(cherry picked from commit 9654e57fac86c773091b892f42015ba2ba56be5a)
---
src/frontend.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/frontend.c b/src/frontend.c
index 3f80774..2928047 100644
--- a/src/frontend.c
+++ b/src/frontend.c
@@ -106,11 +106,17 @@ int frontend_accept(struct session *s)
if (global.tune.client_rcvbuf)
setsockopt(cfd, SOL_SOCKET, SO_RCVBUF, &global.tune.client_rcvbuf, sizeof(global.tune.client_rcvbuf));
- if (unlikely(s->fe->nb_req_cap > 0 && (s->txn.req.cap = pool_alloc2(s->fe->req_cap_pool)) == NULL))
- goto out_return; /* no memory */
+ if (unlikely(s->fe->nb_req_cap > 0)) {
+ if ((s->txn.req.cap = pool_alloc2(s->fe->req_cap_pool)) == NULL)
+ goto out_return; /* no memory */
+ memset(s->txn.req.cap, 0, s->fe->nb_req_cap * sizeof(void *));
+ }
- if (unlikely(s->fe->nb_rsp_cap > 0 && (s->txn.rsp.cap = pool_alloc2(s->fe->rsp_cap_pool)) == NULL))
- goto out_free_reqcap; /* no memory */
+ if (unlikely(s->fe->nb_rsp_cap > 0)) {
+ if ((s->txn.rsp.cap = pool_alloc2(s->fe->rsp_cap_pool)) == NULL)
+ goto out_free_reqcap; /* no memory */
+ memset(s->txn.rsp.cap, 0, s->fe->nb_rsp_cap * sizeof(void *));
+ }
if (s->fe->http_needed) {
/* we have to allocate header indexes only if we know
--
2.1.3
--
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 wgetpaste for openSUSE:Factory checked in at 2014-11-26 10:33:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wgetpaste (Old)
and /work/SRC/openSUSE:Factory/.wgetpaste.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wgetpaste"
Changes:
--------
--- /work/SRC/openSUSE:Factory/wgetpaste/wgetpaste.changes 2013-07-29 17:51:16.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.wgetpaste.new/wgetpaste.changes 2014-11-26 10:33:29.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Nov 24 13:35:27 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 2.25
+ * Various fixes around bpaste service
+- Remove defaults as they are not needed now.
+- Apply pinnwand patches for bpaste:
+ * wgetpaste-2.25-pinwand.patch
+ * wgetpaste-2.25-pinwand-raw.patch
+
+-------------------------------------------------------------------
Old:
----
opensuse-default.conf
wgetpaste-2.22.tar.bz2
New:
----
wgetpaste-2.25-pinwand-raw.patch
wgetpaste-2.25-pinwand.patch
wgetpaste-2.25.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wgetpaste.spec ++++++
--- /var/tmp/diff_new_pack.8PyhTL/_old 2014-11-26 10:33:30.000000000 +0100
+++ /var/tmp/diff_new_pack.8PyhTL/_new 2014-11-26 10:33:30.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package wgetpaste
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,16 @@
Name: wgetpaste
-Version: 2.22
+Version: 2.25
Release: 0
-Url: http://wgetpaste.zlin.dk/
-Source: http://wgetpaste.zlin.dk/%name-%version.tar.bz2
-Source1: services.conf
-Source2: opensuse-default.conf
Summary: Command-line interface to various pastebins
License: SUSE-Public-Domain
Group: Productivity/Other
+Url: http://wgetpaste.zlin.dk/
+Source: http://wgetpaste.zlin.dk/%{name}-%{version}.tar.bz2
+Source1: services.conf
+Patch0: wgetpaste-2.25-pinwand.patch
+Patch1: wgetpaste-2.25-pinwand-raw.patch
Requires: bash
Requires: coreutils
Requires: wget
@@ -37,24 +38,24 @@
%prep
%setup -q
+%patch0 -p3
+%patch1 -p0
%build
# do nothing
%install
-install -D -m 0755 %name %buildroot%_bindir/%name
-install -D -m 0644 %{S:1} %buildroot%_sysconfdir/%name.d/services.conf
-install -D -m 0644 %{S:2} %buildroot%_sysconfdir/%name.d/opensuse-default.conf
-install -D -m 0644 _%name %buildroot%_datadir/zsh/site-functions/_%name
+install -D -m 0755 %{name} %{buildroot}%{_bindir}/%{name}
+install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}.d/services.conf
+install -D -m 0644 _%{name} %{buildroot}%{_datadir}/zsh/site-functions/_%{name}
%files
%defattr(-,root,root,-)
-%dir %_sysconfdir/%name.d/
-%dir %_datadir/zsh/site-functions/
-%dir %_datadir/zsh/
-%_datadir/zsh/site-functions/_%name
-%config %_sysconfdir/%name.d/services.conf
-%config %_sysconfdir/%name.d/opensuse-default.conf
-%_bindir/%name
+%dir %{_sysconfdir}/%{name}.d/
+%dir %{_datadir}/zsh/site-functions/
+%dir %{_datadir}/zsh/
+%{_datadir}/zsh/site-functions/_%{name}
+%config %{_sysconfdir}/%{name}.d/services.conf
+%{_bindir}/%{name}
%changelog
++++++ services.conf ++++++
--- /var/tmp/diff_new_pack.8PyhTL/_old 2014-11-26 10:33:30.000000000 +0100
+++ /var/tmp/diff_new_pack.8PyhTL/_new 2014-11-26 10:33:30.000000000 +0100
@@ -1,7 +1,4 @@
-SERVICES="${SERVICES} lugons bpaste"
+SERVICES="${SERVICES} lugons"
ENGINE_lugons=lodgeit
URL_lugons="https://paste.lugons.org/"
-
-ENGINE_bpaste=lodgeit
-URL_bpaste="http://bpaste.net"
++++++ wgetpaste-2.25-pinwand-raw.patch ++++++
--- /usr/bin/wgetpaste 2014-09-25 22:20:39.097103971 +0300
+++ wgetpaste 2014-10-09 10:06:41.765195553 +0300
@@ -200,7 +200,7 @@
xml+velocity xml xquery xslt xtend yaml"
EXPIRATIONS_pinnwand="1day 1week 1month never"
POST_pinnwand="submit=Paste! % % lexer expiry % code"
-REGEX_RAW_pinnwand='s|^\(http://[^/]*/\)show\(/[[:alnum:]]*/\)$|\1raw\2|'
+REGEX_RAW_pinnwand='s|^\(https\?://[^/]*/\)show\(/[[:alnum:]]*/\?\)$|\1raw\2|'
### errors
die() {
++++++ wgetpaste-2.25-pinwand.patch ++++++
--- /var/tmp/portage/app-text/wgetpaste-2.25-r1/work/wgetpaste-2.25/wgetpaste 2014-05-23 20:51:44.000000000 +0400
+++ /usr/bin/wgetpaste 2014-09-14 16:46:21.345261294 +0400
@@ -16,8 +16,10 @@
### services
SERVICES="bpaste ca codepad dpaste gists poundpython"
# bpaste
-ENGINE_bpaste=lodgeit
-URL_bpaste="http://bpaste.net/"
+ENGINE_bpaste=pinnwand
+URL_bpaste="https://bpaste.net/"
+DEFAULT_EXPIRATION_bpaste="1week"
+DEFAULT_LANGUAGE_bpaste="text"
# ca
ENGINE_ca=ca
URL_ca="http://pastebin.ca/"
@@ -143,6 +145,62 @@
vim xml xml+cheetah xml+django xml+evoque xml+mako xml+myghty xml+php xml+erb xml+smarty xslt yaml"
POST_lodgeit="submit=Paste! % % language % % code"
REGEX_RAW_lodgeit='s|^\(http://[^/]*/\)show\(/[[:alnum:]]*/\)$|\1raw\2|'
+# pinnwand
+LANGUAGES_pinnwand="ABAP ActionScript%3 ActionScript Ada ANTLR ANTLR%With%ActionScript%Target \
+ANTLR%With%CPP%Target ANTLR%With%C#%Target ANTLR%With%Java%Target ANTLR%With%ObjectiveC%Target \
+ANTLR%With%Perl%Target ANTLR%With%Python%Target ANTLR%With%Ruby%Target ApacheConf AppleScript \
+AspectJ aspx-cs aspx-vb Asymptote autohotkey AutoIt Awk Base%Makefile Bash Bash%Session Batchfile \
+BBCode Befunge BlitzMax Boo Brainfuck Bro BUGS ca65 CBM%BASIC%V2 C C++ C# Ceylon CFEngine3 \
+cfstatement Cheetah Clojure CMake c-objdump COBOL COBOLFree CoffeeScript Coldfusion%HTML Common%Lisp \
+Coq cpp-objdump Croc CSS CSS+Django/Jinja CSS+Genshi%Text CSS+Lasso CSS+Mako CSS+Myghty CSS+PHP \
+CSS+Ruby CSS+Smarty CUDA Cython Darcs%Patch Dart D Debian%Control%file Debian%Sourcelist Delphi dg \
+Diff Django/Jinja d-objdump DTD Duel Dylan DylanLID Dylan%session eC ECL Elixir Elixir%iex%session \
+Embedded%Ragel ERB Erlang Erlang%erl%session Evoque Factor Fancy Fantom Felix Fortran FoxPro FSharp \
+GAS Genshi Genshi%Text Gettext%Catalog Gherkin GLSL Gnuplot Go GoodData-CL Gosu Gosu%Template Groff \
+Groovy Haml Haskell haXe HTML+Cheetah HTML+Django/Jinja HTML+Evoque HTML+Genshi HTML HTML+Lasso \
+HTML+Mako HTML+Myghty HTML+PHP HTML+Smarty HTML+Velocity HTTP Hxml Hybris IDL INI Io Ioke IRC%logs \
+Jade JAGS Java JavaScript+Cheetah JavaScript+Django/Jinja JavaScript+Genshi%Text JavaScript \
+JavaScript+Lasso JavaScript+Mako JavaScript+Myghty JavaScript+PHP JavaScript+Ruby JavaScript+Smarty \
+Java%Server%Page JSON Julia%console Julia Kconfig Koka Kotlin Lasso Lighttpd%configuration%file \
+Literate%Haskell LiveScript LLVM Logos Logtalk Lua Makefile Mako MAQL Mason Matlab Matlab%session \
+MiniD Modelica Modula-2 MoinMoin/Trac%Wiki%markup Monkey MOOCode MoonScript Mscgen MuPAD MXML Myghty \
+MySQL NASM Nemerle NewLisp Newspeak Nginx%configuration%file Nimrod NSIS NumPy objdump Objective-C++ \
+Objective-C Objective-J OCaml Octave Ooc Opa OpenEdge%ABL Perl PHP PL/pgSQL \
+PostgreSQL%console%(psql) PostgreSQL%SQL%dialect PostScript POVRay PowerShell Prolog Properties \
+Protocol%Buffer Puppet PyPy%Log Python%3.0%Traceback Python%3 Python%console%session Python \
+Python%Traceback QML Racket Ragel%in%C%Host Ragel%in%CPP%Host Ragel%in%D%Host Ragel%in%Java%Host \
+Ragel%in%Objective%C%Host Ragel%in%Ruby%Host Ragel Raw%token%data RConsole Rd REBOL Redcode reg \
+reStructuredText RHTML RobotFramework RPMSpec Ruby%irb%session Ruby Rust Sass Scala \
+Scalate%Server%Page Scaml Scheme Scilab SCSS Shell%Session Smali Smalltalk Smarty Snobol SourcePawn \
+sqlite3con SQL SquidConf S Standard%ML Stan systemverilog Tcl Tcsh Tea TeX Text%only Text Treetop \
+TypeScript UrbiScript Vala VB.net Velocity verilog VGL vhdl VimL XML+Cheetah XML+Django/Jinja \
+XML+Evoque XML+Lasso XML+Mako XML+Myghty XML+PHP XML+Ruby XML+Smarty XML+Velocity XML XQuery XSLT \
+Xtend YAML"
+LANGUAGE_VALUES_pinnwand="abap as3 as ada antlr antlr-as antlr-cpp antlr-csharp antlr-java \
+antlr-objc antlr-perl antlr-python antlr-ruby apacheconf applescript aspectj aspx-cs aspx-vb asy ahk \
+autoit awk basemake bash console bat bbcode befunge blitzmax boo brainfuck bro bugs ca65 cbmbas c \
+cpp csharp ceylon cfengine3 cfs cheetah clojure cmake c-objdump cobol cobolfree coffee-script cfm \
+common-lisp coq cpp-objdump croc css css+django css+genshitext css+lasso css+mako css+myghty css+php \
+css+erb css+smarty cuda cython dpatch dart d control sourceslist delphi dg diff django d-objdump dtd \
+duel dylan dylan-lid dylan-console ec ecl elixir iex ragel-em erb erlang erl evoque factor fancy fan \
+felix fortran Clipper fsharp gas genshi genshitext pot Cucumber glsl gnuplot go gooddata-cl gosu gst \
+groff groovy haml haskell hx html+cheetah html+django html+evoque html+genshi html html+lasso \
+html+mako html+myghty html+php html+smarty html+velocity http haxeml hybris idl ini io ioke irc jade \
+jags java js+cheetah js+django js+genshitext js js+lasso js+mako js+myghty js+php js+erb js+smarty \
+jsp json jlcon julia kconfig koka kotlin lasso lighty lhs live-script llvm logos logtalk lua make \
+mako maql mason matlab matlabsession minid modelica modula2 trac-wiki monkey moocode moon mscgen \
+mupad mxml myghty mysql nasm nemerle newlisp newspeak nginx nimrod nsis numpy objdump objective-c++ \
+objective-c objective-j ocaml octave ooc opa openedge perl php plpgsql psql postgresql postscript \
+pov powershell prolog properties protobuf puppet pypylog py3tb python3 pycon python pytb qml racket \
+ragel-c ragel-cpp ragel-d ragel-java ragel-objc ragel-ruby ragel raw rconsole rd rebol redcode \
+registry rst rhtml RobotFramework spec rbcon rb rust sass scala ssp scaml scheme scilab scss \
+shell-session smali smalltalk smarty snobol sp sqlite3 sql squidconf splus sml stan systemverilog \
+tcl tcsh tea tex text text treetop ts urbiscript vala vb.net velocity verilog vgl vhdl vim \
+xml+cheetah xml+django xml+evoque xml+lasso xml+mako xml+myghty xml+php xml+erb xml+smarty \
+xml+velocity xml xquery xslt xtend yaml"
+EXPIRATIONS_pinnwand="1day 1week 1month never"
+POST_pinnwand="submit=Paste! % % lexer expiry % code"
+REGEX_RAW_pinnwand='s|^\(http://[^/]*/\)show\(/[[:alnum:]]*/\)$|\1raw\2|'
### errors
die() {
@@ -514,7 +572,7 @@
sed -n -e "${!regex}" <<< "$*"
else
[[ needstdout = $1 ]] && return 1
- sed -n -e 's|^.*Location: \(http://[^ ]*\).*$|\1|p' <<< "$*"
+ sed -n -e 's|^.*Location: \(https\{0,1\}://[^ ]*\).*$|\1|p' <<< "$*"
fi
}
++++++ wgetpaste-2.22.tar.bz2 -> wgetpaste-2.25.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/wgetpaste-2.22/wgetpaste new/wgetpaste-2.25/wgetpaste
--- old/wgetpaste-2.22/wgetpaste 2013-04-14 15:55:37.000000000 +0200
+++ new/wgetpaste-2.25/wgetpaste 2014-05-23 18:51:44.000000000 +0200
@@ -4,7 +4,7 @@
# Copyright (c) 2007-2009 Bo Ørsted Andresen <bo.andresen(a)zlin.dk>
# Distributed in the public domain. Do with it whatever you want.
-VERSION="2.22"
+VERSION="2.25"
# don't inherit LANGUAGE from the env
unset LANGUAGE
@@ -85,7 +85,7 @@
Pure%Data Python Python%traceback R Racket Raw%token%data Rebol Redcode
reStructuredText RHTML Ruby Rust Sage Sass Scala Scheme Scilab SCSS Self Shell
Smalltalk Smarty SQL Standard%ML SuperCollider Tcl Tcsh Tea TeX Textile Turing
-Twig Vala Verilog VHDL VimL Visual%Basic XML XQuery XS YAML"
+Twig Vala Verilog VHDL VimL Visual%Basic XML XQuery XS YAML Auto"
LANGUAGE_VALUES_gists="as adb cls scpt arc ino asp asm aug ahk bat befunge bmx
boo b bro c cs cpp chs ck clj cmake c-objdump coffee cfm lisp v cppobjdump css
feature pyx d darcspatch dart dasm16 pas diff d-objdump dylan ec epj e ex el erl
@@ -94,14 +94,16 @@
mak mako md matlab mxt minid duby moo mu myt n nim nu numpy objdump m j ml ooc
opa cl p parrot pasm pir pl aw txt ps1 pl pp pd py pytb r rkt raw r cw rst rhtml
rb rs sage sass scala scm sci scss self sh st tpl sql sml sc tcl tcsh tea tex
-textile t twig vala v vhd vim vb xml xq xs yml"
-REGEX_URL_gists='s|^.*"html_url": "\([^"]\+\)".*$|\1|p'
-REGEX_RAW_gists='s|^\(https://\)\(gist\)\(.github.com/\)\(.*\)$|\1raw\3\2/\4|'
+textile t twig vala v vhd vim vb xml xq xs yml auto"
+DEFAULT_LANGUAGE_gists="Auto"
+REGEX_URL_gists='s|^.*"html_url": "\([^"]\+gist[^"]\+\)".*$|\1|p'
+REGEX_RAW_gists='s|^\(https://gist.github.com\)\(/.*\)$|\1/raw\2|'
escape_description_gists() { sed -e 's|"|\\"|g' -e 's|\x1b|\\u001b|g' -e 's|\r||g' <<< "$*"; }
escape_input_gists() { sed -e 's|\\|\\\\|g' -e 's|\x1b|\\u001b|g' -e 's|\r||g' -e 's|\t|\\t|g' -e 's|"|\\"|g' -e 's|$|\\n|' <<< "$*" | tr -d '\n'; }
json_gists() {
local description="${1}" language="${2}" content="${3}"
- echo "{\"description\":\"${description}\",\"public\":\"true\",\"files\":{\"${description//\/}.${language}\":{\"content\":\"${content}\"}}"
+ [[ "$language" = auto ]] && language="" || language=".$language"
+ echo "{\"description\":\"${description}\",\"public\":\"true\",\"files\":{\"${description//\/}${language}\":{\"content\":\"${content}\"}}"
}
# lodgeit
LANGUAGES_lodgeit="ABAP ActionScript ActionScript%3 Ada ANTLR ANTLR%With%ActionScript%Target \
@@ -140,7 +142,7 @@
rbcon splus sass scala scheme smalltalk smarty sql sqlite3 squidconf tcl tcsh tex diff vala vb.net \
vim xml xml+cheetah xml+django xml+evoque xml+mako xml+myghty xml+php xml+erb xml+smarty xslt yaml"
POST_lodgeit="submit=Paste! % % language % % code"
-REGEX_RAW_lodgeit='s|^\(http://[^/]*/\)show\(/[0-9]*/\)$|\1raw\2|'
+REGEX_RAW_lodgeit='s|^\(http://[^/]*/\)show\(/[[:alnum:]]*/\)$|\1raw\2|'
### errors
die() {
@@ -170,6 +172,15 @@
### conversions
+# make comparison of specified languages and expirations case-insensitive
+tolower() {
+ tr '[:upper:]' '[:lower:]' <<< "$*"
+}
+
+compare_tolower() {
+ [[ $(tolower "$1") == $(tolower "$2") ]]
+}
+
# escape % (used for escaping), & (used as separator in POST data), + (used as space in POST data), space and ;
escape() {
sed -e 's|%|%25|g' -e 's|&|%26|g' -e 's|+|%2b|g' -e 's|;|%3b|g' -e 's| |+|g' <<< "$*" || die "sed failed"
@@ -192,7 +203,7 @@
### verification
verifyservice() {
for s in $SERVICES; do
- [[ $s == $* ]] && return 0
+ compare_tolower "$s" "$*" && return 0
done
echo "\"$*\" is not a supported service.$N" >&2
showservices >&2
@@ -207,7 +218,7 @@
if [[ -n ${!lang} ]]; then
((i=0))
for l in ${!lang}; do
- if [[ $LANGUAGE == ${l//\%/ } ]]; then
+ if compare_tolower "$LANGUAGE" "${l//\%/ }"; then
if [[ -n ${!count} ]]; then
((LANGUAGE=i+1))
elif [[ -n ${!values} ]]; then
@@ -244,7 +255,7 @@
if [[ -n ${!expiration} ]]; then
((i=0))
for e in ${!expiration}; do
- if [[ ${EXPIRATION} == ${e//\%/ } ]]; then
+ if compare_tolower "${EXPIRATION}" "${e//\%/ }"; then
if [[ -n ${!count} ]]; then
((EXPIRATION=i+1))
elif [[ -n {!values} ]]; then
@@ -355,6 +366,10 @@
Defaults (DEFAULT_{NICK,LANGUAGE,EXPIRATION}[_\${SERVICE}] and DEFAULT_SERVICE)
can be overridden globally in /etc/wgetpaste.conf or /etc/wgetpaste.d/*.conf or
per user in any of ~/.wgetpaste.conf or ~/.wgetpaste.d/*.conf.
+
+An additional http header can be passed by setting HEADER_\${SERVICE} in any of the
+configuration files mentioned above. For example, authenticating with github gist:
+HEADER_gists="Authorization: token 1234abc56789..."
EOF
}
@@ -644,7 +659,7 @@
echo "The config files for wgetpaste have changed to *.conf.$N" >&2
deprecated=0
fi
- echo "Please move ${f} to ${f/%.bash/.conf}" >&2
+ echo "Please move ${f} to ${f%.bash}.conf" >&2
source "$f" || die "Failed to source $f"
fi
done
@@ -845,12 +860,19 @@
WGETARGS="--post-data=$(postdata | sed -e 's|$|%0a|g' -e 's|\t|%09|g' | tr -d '\n')"
fi
+ header="HEADER_$SERVICE"
+ if [[ -n "${!header}" ]]; then
+ WGETEXTRAHEADER="--header=${!header}"
+ else
+ WGETEXTRAHEADER=""
+ fi
+
# paste it
WGETARGS="--tries=5 --timeout=60 $WGETARGS"
if geturl needstdout || [[ $DEBUG || ! -w /dev/null ]]; then
- OUTPUT=$(LC_ALL=C wget -O - $WGETARGS $RECIPIENT 2>&1)
+ OUTPUT=$(LC_ALL=C wget -O - $WGETARGS "$WGETEXTRAHEADER" $RECIPIENT 2>&1)
else
- OUTPUT=$(LC_ALL=C wget -O /dev/null $WGETARGS $RECIPIENT 2>&1)
+ OUTPUT=$(LC_ALL=C wget -O /dev/null $WGETARGS "$WGETEXTRAHEADER" $RECIPIENT 2>&1)
fi
# clean temporary file if it was created
--
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 barcode for openSUSE:Factory checked in at 2014-11-26 10:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/barcode (Old)
and /work/SRC/openSUSE:Factory/.barcode.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "barcode"
Changes:
--------
--- /work/SRC/openSUSE:Factory/barcode/barcode.changes 2014-01-23 15:40:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.barcode.new/barcode.changes 2014-11-26 10:33:27.000000000 +0100
@@ -1,0 +2,9 @@
+Fri Nov 21 02:48:54 UTC 2014 - malcolmlewis(a)opensuse.org
+
+- Reintroduce devel package, header file needed for development of
+ other packages, eg glabels.
+- Add barcode-fix-renamed-include.patch: Fix renamed gettext
+ include header reference.
+- Spec and changes file tidy up.
+
+-------------------------------------------------------------------
@@ -4 +13 @@
-- Update to version 0.99
+- Update to version 0.99:
@@ -9,13 +18,14 @@
-- Removed patchs fixed by upstream
- + barcode-0.98.patch
- + barcode-0.98-bookland.patch
- + barcode-0.98-gcc_warning.patch
- + barcode-0.98-memoryleak.patch
- + barcode-0.98-nohtmltoinfo.patch
-- Adapt barcode-0.98-info.patch patch to upstream changes
-- Change license tag to GPL-3.0+ because of license change by upstream
-- Use %configure instead of pass options "by-hand"
-- Remove devel subpackage; it was already useless and upstream doesn't
- provide development files anymore
-- info file has to be provided with linked binary
-- Upstream doesn't provide any manpage anymore
+- Removed patchs fixed by upstream:
+ + barcode-0.98.patch.
+ + barcode-0.98-bookland.patch.
+ + barcode-0.98-gcc_warning.patch.
+ + barcode-0.98-memoryleak.patch.
+ + barcode-0.98-nohtmltoinfo.patch.
+- Adapt barcode-0.98-info.patch patch to upstream changes.
+- Change license tag to GPL-3.0+ because of license change by
+ upstream.
+- Use %configure instead of pass options "by-hand".
+- Remove devel subpackage; it was already useless and upstream
+ doesn't provide development files anymore.
+- info file has to be provided with linked binary.
+- Upstream doesn't provide any manpage anymore.
@@ -26 +36 @@
-- Build requires texinfo as well as makeinfo
+- Build requires texinfo as well as makeinfo.
@@ -31 +41 @@
-- Make it build with latest TeXLive 2012 with new package layout
+- Make it build with latest TeXLive 2012 with new package layout.
@@ -36 +46 @@
-- use original tar and apply previous patch
+- use original tar and apply previous patch.
@@ -41 +51 @@
-- memory leak fixed (bnc#546020)
+- memory leak fixed (bnc#546020).
@@ -46 +56 @@
-- added leak-fix.patch (bnc#537525)
+- added leak-fix.patch (bnc#537525).
@@ -57,2 +67,2 @@
-- fixed executable perm of info page
-- not removing RPM_BUILD_ROOT in %install section
+- fixed executable perm of info page.
+- not removing RPM_BUILD_ROOT in %install section.
@@ -65 +75 @@
- (*nohtmltoinfo.patch)
+ (*nohtmltoinfo.patch).
@@ -81 +91 @@
-- converted neededforbuild to BuildRequires
+- converted neededforbuild to BuildRequires.
@@ -86 +96 @@
-- fixed gcc warning
+- fixed gcc warning.
@@ -96 +106 @@
-- build as user
+- build as user.
@@ -101,3 +111,3 @@
-- updated sources to 0.98
-- install bookland.py script
-- correctly install info pages
+- updated sources to 0.98.
+- install bookland.py script.
+- correctly install info pages.
@@ -108,2 +118,2 @@
-- used macro %{_libdir} to fix for lib64
-- cleaned up spec file
+- used macro %{_libdir} to fix for lib64.
+- cleaned up spec file.
@@ -114 +124 @@
-- update to version 0.97
+- update to version 0.97.
@@ -119,2 +129,2 @@
-- initial package version 0.96
-- fixed paths in Makefile.in, added DESTDIR
+- initial package version 0.96.
+- fixed paths in Makefile.in, added DESTDIR.
New:
----
barcode-fix-renamed-include.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ barcode.spec ++++++
--- /var/tmp/diff_new_pack.Msie0I/_old 2014-11-26 10:33:28.000000000 +0100
+++ /var/tmp/diff_new_pack.Msie0I/_new 2014-11-26 10:33:28.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package barcode
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,6 +17,19 @@
Name: barcode
+Version: 0.99
+Release: 0
+Summary: Text-Mode Barcode Creation Utility
+License: GPL-3.0+
+Group: Productivity/Graphics/Other
+Url: http://www.gnu.org/software/barcode
+Source: ftp://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.xz
+# PATCH-FIX-OPENSUSE barcode-0.99-info.patch
+Patch2: %{name}-0.99-info.patch
+# PATCH-FIX-UPSTREAM barcode-0.98-leak-fix.patch bnc#537525 -- Fix memory leak by adding call to free.
+Patch5: %{name}-0.98-leak-fix.patch
+# PATCH-FIX-UPSTREAM barcode-fix-renamed-include.patch malcolmlewis(a)opensuse.org -- Fix renamed gettext include header reference.
+Patch6: barcode-fix-renamed-include.patch
%if %suse_version <= 1220
BuildRequires: texlive
%else
@@ -28,16 +41,6 @@
%endif
BuildRequires: xz
Requires(pre): %install_info_prereq
-Version: 0.99
-Release: 0
-Summary: Text-Mode Barcode Creation Utility
-License: GPL-3.0+
-Group: Productivity/Graphics/Other
-Url: http://www.gnu.org/software/barcode/barcode.html
-Source: ftp://ftp.gnu.org/pub/gnu/%{name}/%{name}-%{version}.tar.xz
-Patch2: %{name}-0.99-info.patch
-# PATCH-FIX-UPSTREAM fix mem leak (bnc#537525)
-Patch5: %{name}-0.98-leak-fix.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -47,10 +50,22 @@
as a few other formats. Output is generated in either PostScript or
Encapsulated PostScript format.
+%package devel
+Summary: Text-Mode Barcode Creation Utility - Development files
+Group: Development/Libraries
+
+%description devel
+GNU Barcode is meant to meet most barcode creation needs with a
+conventional printer. It can create printouts for the conventional
+product tagging standards: UPC-A, UPC-E, EAN-13, EAN-8, ISBN, as well
+as a few other formats. Output is generated in either PostScript or
+Encapsulated PostScript format.
+
%prep
-%setup
+%setup -q
%patch2
%patch5
+%patch6 -p1
%build
%configure
@@ -58,6 +73,8 @@
%install
make DESTDIR=%{buildroot} install
+install -Dm0644 barcode.h %{buildroot}%{_includedir}/barcode.h
+install -Dm0644 .libs/libbarcode.a %{buildroot}%{_libdir}/libbarcode.a
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
@@ -66,10 +83,15 @@
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%files
-%defattr(-, root, root)
+%defattr(-,root,root)
%doc COPYING README TODO
%{_bindir}/barcode
%{_bindir}/sample
%{_infodir}/%{name}.info.gz
+%files devel
+%defattr(-,root,root)
+%{_includedir}/barcode.h
+%{_libdir}/libbarcode.a
+
%changelog
++++++ barcode-fix-renamed-include.patch ++++++
>From aefc0d09f48dc85202cbf24fac4fd40c5908f1e6 Mon Sep 17 00:00:00 2001
From: Malcolm <malcolmlewis(a)opensuse.org>
Date: Thu, 20 Nov 2014 20:13:37 -0600
Subject: [PATCH][BUILD] Fix renamed gettext include header reference
Signed-off-by: Malcolm <malcolmlewis(a)opensuse.org>
---
barcode.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/barcode.h b/barcode.h
index ed90e0c..ff8574d 100644
--- a/barcode.h
+++ b/barcode.h
@@ -26,7 +26,7 @@
#include "config.h"
#include <stdio.h>
-#include <gettext.h>
+#include <gettext-po.h>
#define _(X) gettext (X)
#define _N(X) (X)
--
1.8.5.2
--
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 crash for openSUSE:Factory checked in at 2014-11-26 10:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash (Old)
and /work/SRC/openSUSE:Factory/.crash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "crash"
Changes:
--------
--- /work/SRC/openSUSE:Factory/crash/crash.changes 2014-09-22 09:23:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.crash.new/crash.changes 2014-11-26 10:33:25.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Nov 21 18:27:16 UTC 2014 - dmair(a)suse.com
+
+- Upgrade to 7.0.9 from upstream, For a detailed changelog see
+ http://people.redhat.com/anderson/crash.changelog.html
+
+- Refreshed patch series but no modifications required.
+
+-------------------------------------------------------------------
Old:
----
crash-7.0.8.tar.gz
New:
----
crash-7.0.9.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ crash.spec ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -46,7 +46,7 @@
Summary: Crash utility for live systems; netdump, diskdump, LKCD or mcore dumpfiles
License: GPL-3.0+ and GFDL-1.2
Group: Development/Tools/Debuggers
-Version: 7.0.8
+Version: 7.0.9
Release: 0
Source: %{name}-%{version}.tar.gz
Source2: crash_whitepaper-%{whitepaper_version}.tar.bz2
++++++ crash-7.0.8.tar.gz -> crash-7.0.9.tar.gz ++++++
/work/SRC/openSUSE:Factory/crash/crash-7.0.8.tar.gz /work/SRC/openSUSE:Factory/.crash.new/crash-7.0.9.tar.gz differ: char 5, line 1
++++++ crash-compressed-booted-kernel.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -9,11 +9,9 @@
filesys.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
-Index: b/filesys.c
-===================================================================
--- a/filesys.c
+++ b/filesys.c
-@@ -529,6 +529,7 @@ static int
+@@ -563,6 +563,7 @@ static int
find_booted_kernel(void)
{
char kernel[BUFSIZE];
@@ -21,7 +19,7 @@
char buffer[BUFSIZE];
char **searchdirs;
int i, preferred, wrapped;
-@@ -578,16 +579,24 @@ find_booted_kernel(void)
+@@ -612,16 +613,24 @@ find_booted_kernel(void)
sprintf(kernel, "%s%s", searchdirs[i], dp->d_name);
if (mount_point(kernel) ||
@@ -50,7 +48,7 @@
if (found)
break;
}
-@@ -607,10 +616,19 @@ find_booted_kernel(void)
+@@ -641,10 +650,19 @@ find_booted_kernel(void)
if (CRASHDEBUG(1))
fprintf(fp, "find_booted_kernel: found: %s\n",
pc->namelist);
++++++ crash-debuginfo-compressed.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -12,11 +12,9 @@
symbols.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
-Index: b/symbols.c
-===================================================================
--- a/symbols.c
+++ b/symbols.c
-@@ -192,9 +192,9 @@ symtab_init(void)
+@@ -194,9 +194,9 @@ symtab_init(void)
* Pull a bait-and-switch on st->bfd if we've got a separate
* .gnu_debuglink file that matches the CRC. Not done for kerntypes.
*/
@@ -29,7 +27,7 @@
no_debugging_data(FATAL);
}
-@@ -253,13 +253,16 @@ check_gnu_debuglink(bfd *bfd)
+@@ -258,13 +258,16 @@ check_gnu_debuglink(bfd *bfd)
char *contents;
int crc_offset;
unsigned long crc32;
@@ -47,7 +45,7 @@
return FALSE;
}
-@@ -280,14 +283,14 @@ check_gnu_debuglink(bfd *bfd)
+@@ -285,14 +288,14 @@ check_gnu_debuglink(bfd *bfd)
contents, crc32);
if ((pc->debuginfo_file = (char *)
++++++ crash-make-emacs-default.diff ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -2,11 +2,9 @@
main.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
-Index: b/main.c
-===================================================================
--- a/main.c
+++ b/main.c
-@@ -1037,12 +1037,6 @@ setup_environment(int argc, char **argv)
+@@ -1109,12 +1109,6 @@ setup_environment(int argc, char **argv)
pc->flags |= READLINE;
pc->editing_mode = "no_mode";
@@ -19,7 +17,7 @@
/*
* Resolve $HOME .rc file first, then the one in the local directory.
-@@ -1092,7 +1086,7 @@ setup_environment(int argc, char **argv)
+@@ -1164,7 +1158,7 @@ setup_environment(int argc, char **argv)
}
if (STREQ(pc->editing_mode, "no_mode"))
++++++ crash-missing-declarations.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -7,8 +7,6 @@
gdb-7.6.patch | 10 ++++++++++
1 file changed, 10 insertions(+)
-Index: b/gdb-7.6.patch
-===================================================================
--- a/gdb-7.6.patch
+++ b/gdb-7.6.patch
@@ -17,6 +17,16 @@
++++++ crash-patch-gdb.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -14,8 +14,8 @@
Makefile | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---- a/Makefile 2014-09-17 10:54:23.070488397 -0400
-+++ b/Makefile 2014-09-17 10:54:59.557726952 -0400
+--- a/Makefile
++++ b/Makefile
@@ -260,8 +260,11 @@ gdb_unzip:
gdb_patch:
if [ -f ${GDB}.patch ] && [ -s ${GDB}.patch ]; then \
++++++ crash-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -1,4 +1,4 @@
addFilter("devel-file-in-non-devel-package .*/usr/share/sial/crash.*")
-# crash-7.0.7.tar compresses better with gzip than with bzip2
-addFilter(" source-or-patch-not-bzipped crash-7.0.7.tar.gz")
-addFilter(" source-or-patch-not-compressed bz2 crash-7.0.7.tar.gz")
+# crash-7.0.9.tar compresses better with gzip than with bzip2
+addFilter(" source-or-patch-not-bzipped crash-7.0.9.tar.gz")
+addFilter(" source-or-patch-not-compressed bz2 crash-7.0.9.tar.gz")
++++++ crash-sles9-quirk.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -53,8 +53,6 @@
lkcd_v8.c | 11 +++++++++++
1 file changed, 11 insertions(+)
-Index: b/lkcd_v8.c
-===================================================================
--- a/lkcd_v8.c
+++ b/lkcd_v8.c
@@ -130,6 +130,17 @@ lkcd_dump_init_v8_arch(dump_header_t *dh
++++++ crash-sles9-time.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -16,7 +16,7 @@
--- a/defs.h
+++ b/defs.h
-@@ -685,6 +685,7 @@ struct kernel_table {
+@@ -700,6 +700,7 @@ struct kernel_table {
ulong p2m_missing;
} pvops_xen;
int highest_irq;
@@ -24,7 +24,7 @@
#define IKCONFIG_AVAIL 0x1 /* kernel contains ikconfig data */
#define IKCONFIG_LOADED 0x2 /* ikconfig data is currently loaded */
int ikconfig_flags;
-@@ -5835,6 +5836,13 @@ extern struct lkcd_environment *lkcd;
+@@ -5987,6 +5988,13 @@ extern struct lkcd_environment *lkcd;
#endif /* LKCD_COMMON */
@@ -40,7 +40,7 @@
*/
--- a/kernel.c
+++ b/kernel.c
-@@ -252,6 +252,12 @@ kernel_init()
+@@ -254,6 +254,12 @@ kernel_init()
verify_version();
@@ -53,7 +53,7 @@
if (symbol_exists("__per_cpu_offset")) {
if (LKCD_KERNTYPES())
i = get_cpus_possible();
-@@ -4806,7 +4812,7 @@ get_uptime(char *buf, ulonglong *j64p)
+@@ -4918,7 +4924,7 @@ get_uptime(char *buf, ulonglong *j64p)
if (symbol_exists("jiffies_64")) {
get_symbol_data("jiffies_64", sizeof(ulonglong), &jiffies_64);
@@ -62,7 +62,7 @@
wrapped = (jiffies_64 & 0xffffffff00000000ULL);
if (wrapped) {
wrapped -= 0x100000000ULL;
-@@ -5358,6 +5364,7 @@ no_cpu_flags:
+@@ -5496,6 +5502,7 @@ no_cpu_flags:
if (symbol_exists("p2m_mid_missing"))
fprintf(fp, " p2m_mid_missing: %lx\n", kt->pvops_xen.p2m_mid_missing);
fprintf(fp, " p2m_missing: %lx\n", kt->pvops_xen.p2m_missing);
@@ -72,7 +72,7 @@
/*
--- a/task.c
+++ b/task.c
-@@ -3669,6 +3669,12 @@ start_time_timespec(void)
+@@ -3989,6 +3989,12 @@ start_time_timespec(void)
default:
break;
}
@@ -85,7 +85,7 @@
tt->flags |= NO_TIMESPEC;
-@@ -3700,6 +3706,11 @@ convert_start_time(ulonglong start_time,
+@@ -4020,6 +4026,11 @@ convert_start_time(ulonglong start_time,
ulong tmp1, tmp2;
ulonglong wrapped;
++++++ crash_enable_lzo_support.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -3,14 +3,10 @@
LDFLAGS.extra | 1 +
2 files changed, 2 insertions(+)
-Index: b/CFLAGS.extra
-===================================================================
--- /dev/null
+++ b/CFLAGS.extra
@@ -0,0 +1 @@
+-DLZO
-Index: b/LDFLAGS.extra
-===================================================================
--- /dev/null
+++ b/LDFLAGS.extra
@@ -0,0 +1 @@
++++++ eppic-switch-to-system-lib.patch ++++++
--- /var/tmp/diff_new_pack.brLF8p/_old 2014-11-26 10:33:27.000000000 +0100
+++ /var/tmp/diff_new_pack.brLF8p/_new 2014-11-26 10:33:27.000000000 +0100
@@ -1,10 +1,8 @@
---
- eppic/applications/crash/eppic.c | 1110 +++++++++++++++++++++++++++++++++++++++
- extensions/eppic.mk | 26
+ extensions/eppic.mk | 26
+ extensions/eppic/applications/crash/eppic.c | 1110 ++++++++++++++++++++++++++++
2 files changed, 1112 insertions(+), 24 deletions(-)
-Index: b/extensions/eppic.mk
-===================================================================
--- a/extensions/eppic.mk
+++ b/extensions/eppic.mk
@@ -28,29 +28,7 @@ all:
@@ -48,8 +46,6 @@
clean:
if [ -d eppic/libeppic ]; \
-Index: b/extensions/eppic/applications/crash/eppic.c
-===================================================================
--- /dev/null
+++ b/extensions/eppic/applications/crash/eppic.c
@@ -0,0 +1,1110 @@
--
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 java-1_8_0-openjdk for openSUSE:Factory checked in at 2014-11-26 10:33:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_8_0-openjdk (Old)
and /work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_8_0-openjdk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/java-1_8_0-openjdk/java-1_8_0-openjdk.changes 2014-11-13 09:17:45.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/java-1_8_0-openjdk.changes 2014-11-26 10:33:20.000000000 +0100
@@ -1,0 +2,5 @@
+Sun Nov 23 13:46:44 UTC 2014 - schwab(a)linux-m68k.org
+
+- Define bits to %__isa_bits if defined
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_8_0-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.eeO5mc/_old 2014-11-26 10:33:23.000000000 +0100
+++ /var/tmp/diff_new_pack.eeO5mc/_new 2014-11-26 10:33:23.000000000 +0100
@@ -134,6 +134,9 @@
%ifarch x86_64 ia64 s390x
%global bits 64
%endif
+%if 0%{?__isa_bits}
+%global bits %{__isa_bits}
+%endif
%bcond_with zero
# Turn on/off some features depending on openSUSE version
%if 0%{?suse_version} >= 1130
--
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 calibre for openSUSE:Factory checked in at 2014-11-26 10:33:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/calibre (Old)
and /work/SRC/openSUSE:Factory/.calibre.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calibre"
Changes:
--------
--- /work/SRC/openSUSE:Factory/calibre/calibre.changes 2014-11-18 22:49:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.calibre.new/calibre.changes 2014-11-26 10:33:18.000000000 +0100
@@ -1,0 +2,8 @@
+Sat Nov 22 18:06:25 UTC 2014 - cornelis(a)solcon.nl
+
+- Update to version 2.11.0:
+ * Edit Book: Add a new 'function mode' for the Search and Replace tool
+ * Bugfixes
+ * For details, see http://calibre-ebook.com/whats-new
+
+-------------------------------------------------------------------
Old:
----
calibre-2.10.0.tar.xz
New:
----
calibre-2.11.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ calibre.spec ++++++
--- /var/tmp/diff_new_pack.QuEdbr/_old 2014-11-26 10:33:19.000000000 +0100
+++ /var/tmp/diff_new_pack.QuEdbr/_new 2014-11-26 10:33:19.000000000 +0100
@@ -22,7 +22,7 @@
License: GPL-3.0
Group: Productivity/Other
Name: calibre
-Version: 2.10.0
+Version: 2.11.0
Release: 0
Url: http://calibre-ebook.com
Source0: http://download.calibre-ebook.com/%{version}/calibre-%{version}.tar.xz
++++++ calibre-2.10.0.tar.xz -> calibre-2.11.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/calibre/calibre-2.10.0.tar.xz /work/SRC/openSUSE:Factory/.calibre.new/calibre-2.11.0.tar.xz differ: char 26, line 1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package uClibc for openSUSE:Factory checked in at 2014-11-26 10:33:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/uClibc (Old)
and /work/SRC/openSUSE:Factory/.uClibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "uClibc"
Changes:
--------
--- /work/SRC/openSUSE:Factory/uClibc/uClibc.changes 2014-11-02 16:46:22.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.uClibc.new/uClibc.changes 2014-11-26 10:33:15.000000000 +0100
@@ -1,0 +2,6 @@
+Wed Nov 19 01:06:00 UTC 2014 - Led <ledest(a)gmail.com>
+
+- fix shebang in gcc-uClibc script that contains bash-specific
+ constructions
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gcc-uClibc.in ++++++
--- /var/tmp/diff_new_pack.6sYYI9/_old 2014-11-26 10:33:16.000000000 +0100
+++ /var/tmp/diff_new_pack.6sYYI9/_new 2014-11-26 10:33:16.000000000 +0100
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# This scripts is a simple wrapper to compile .c files statically with uClibc.
# Caution! Until now this has just been used to compile some helloworld.c and
# compiling busybox. Don't expect this to work out of the box.
--
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 hylafax+ for openSUSE:Factory checked in at 2014-11-26 10:33:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hylafax+ (Old)
and /work/SRC/openSUSE:Factory/.hylafax+.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hylafax+"
Changes:
--------
--- /work/SRC/openSUSE:Factory/hylafax+/hylafax+.changes 2014-11-15 12:16:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.hylafax+.new/hylafax+.changes 2014-11-26 10:33:14.000000000 +0100
@@ -1,0 +2,10 @@
+Fri Nov 14 17:48:58 UTC 2014 - axel.braun(a)gmx.de
+
+-fix inclusion of initscript for SysV startup
+
+-------------------------------------------------------------------
+Wed Nov 12 10:23:05 UTC 2014 - axel.braun(a)gmx.de
+
+- Adapt README.SUSE to renamed service files
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hylafax+.spec ++++++
--- /var/tmp/diff_new_pack.aqtC5i/_old 2014-11-26 10:33:15.000000000 +0100
+++ /var/tmp/diff_new_pack.aqtC5i/_new 2014-11-26 10:33:15.000000000 +0100
@@ -30,7 +30,9 @@
URL: http://hylafax.sourceforge.net
Source0: http://downloads.sourceforge.net/hylafax/hylafax-%{version}.tar.gz
+#%if 0%{?sles_version} < 1200
Source1: hylafax+_rh.init
+#%endif
Source2: hylafax+_daily.cron
Source3: hylafax+_hourly.cron
Source4: hylafax-hfaxd.service
@@ -177,7 +179,7 @@
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/{cron.daily,cron.hourly}
mkdir -p -m 755 %{buildroot}%{_sysconfdir}/hylafax
-%if 0%{?fedora} >= 16 || 0%{?suse_version} >= 1210
+%if 0%{?fedora} >= 16 || 0%{?suse_version} >= 1210 || 0%{?sles_version} >= 1200
mkdir -p -m 755 %{buildroot}%{_unitdir}
%endif
@@ -213,16 +215,31 @@
install -p -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/hylafax-faxgetty-ttyS0.service
%endif
-%if 0%{?suse_version} >= 1210
+%if 0%{?suse_version} >= 1210 || 0%{?sles_version} >= 1200
install -p -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/hylafax-hfaxd.service
install -p -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/hylafax-faxq.service
install -p -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/hylafax-faxgetty-ttyS0.service
+
%endif
+%if 0%{?sles_version} < 1200
install -p -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/hylafax+
+%endif
install -p -m 755 %{SOURCE2} %{buildroot}%{_sysconfdir}/cron.daily/hylafax
install -p -m 755 %{SOURCE3} %{buildroot}%{_sysconfdir}/cron.hourly/hylafax
+
+%if 0%{?fedora} >= 16 || 0%{?suse_version} >= 1210 || 0%{?sles_version} >= 1200
+for lnk in hylafax-hfaxd hylafax-faxgetty-ttyS0 hylafax-faxq; do
+ ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc$lnk
+done
+%endif
+
+# ABR: rchylafax+? No Service in non-systemd Distros
+#%if 0%{?fedora} < 16 || 0%{?sles_version} < 1200
+# ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rchylafax+
+#%endif
+
# Prepare docdir by removing non-doc files
# Remove files that are not needed on Linux
rm -f %{buildroot}%{_sbindir}/{faxsetup.irix,faxsetup.bsdi}
@@ -256,21 +273,35 @@
%endif
########SUSE adjust - begin
+#####Systemd settings
+
+%if 0%{?sles_version} >= 1200 || 0%{?suse_version} >= 1210
+%pre
+%service_add_pre hylafax-faxq.service
+%service_add_pre hylafax-faxgetty-ttyS0.service
+%service_add_pre hylafax-hfaxd.service
-%if 0%{?suse_version} >= 1210
%post
/sbin/ldconfig
-%service_add_post
+%service_add_post hylafax-faxq.service
+%service_add_post hylafax-faxgetty-ttyS0.service
+%service_add_post hylafax-hfaxd.service
%preun
-%service_del_preun
+%service_del_preun hylafax-faxq.service
+%service_del_preun hylafax-faxgetty-ttyS0.service
+%service_del_preun hylafax-hfaxd.service
%postun
/sbin/ldconfig
-%service_del_postun
+%service_del_postun hylafax-faxq.service
+%service_del_postun hylafax-faxgetty-ttyS0.service
+%service_del_postun hylafax-hfaxd.service
%endif
+#####End Systemd-setings
-%if 0%{?suse_version} && 0%{?suse_version} < 1210
+####SysV settings
+%if 0%{?sles_version} && 0%{?sles_version} < 1200
%post
%{fillup_and_insserv %{name}}
@@ -299,15 +330,19 @@
%{insserv_cleanup}
fi
%endif
+####End SysV settings
#######SUSE adjust - end
%files
-%if 0%{?fedora} >= 16 || 0%{?suse_version} >= 1210
+%if 0%{?fedora} >= 16 || 0%{?suse_version} >= 1210 || 0%{?sles_version} >= 1200
%defattr(-,root,root,-)
%{_unitdir}/hylafax-hfaxd.service
%{_unitdir}/hylafax-faxq.service
%{_unitdir}/hylafax-faxgetty-ttyS0.service
+%{_sbindir}/rchylafax-faxgetty-ttyS0
+%{_sbindir}/rchylafax-faxq
+%{_sbindir}/rchylafax-hfaxd
%endif
%defattr(-,uucp,uucp,-)
%doc CHANGES CONTRIBUTORS COPYRIGHT README TODO VERSION README.SUSE
@@ -394,9 +429,12 @@
%{faxspool}/etc/LiberationSans-25.pcf
%config(noreplace) %{faxspool}/etc/dialrules*
%defattr(755,root,root,-)
-%if 0%{?fedora} < 16 || 0%{?suse_version} < 1210
+
+%if 0%{?fedora} < 16 || 0%{?sles_version} < 1210
%{_initrddir}/hylafax+
+#%{_sbindir}/rchylafax+
%endif
+
%config(noreplace) %{_sysconfdir}/cron.daily/hylafax
%config(noreplace) %{_sysconfdir}/cron.hourly/hylafax
%{_sbindir}/choptest
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.aqtC5i/_old 2014-11-26 10:33:15.000000000 +0100
+++ /var/tmp/diff_new_pack.aqtC5i/_new 2014-11-26 10:33:15.000000000 +0100
@@ -18,13 +18,13 @@
hylafax comes with three systemd service files. The first two are needed when
you want to send faxes from your server:
-hylafax-hfaxd_systemd.service - the hylafax server
-hylafax-faxq_systemd.service - the fax scheduler
+hylafax-hfaxd.service - the hylafax server
+hylafax-faxq.service - the fax scheduler
Enable systemd service for the daemons. They will start at boot time:
-systemctl enable hylafax-hfaxd_systemd.service
-systemctl enable hylafax-faxq_systemd.service
+systemctl enable hylafax-hfaxd.service
+systemctl enable hylafax-faxq.service
Receiving faxes
---------------
@@ -48,7 +48,7 @@
Many installations run hylafax just for sending faxes. To get this up and running, the command
faxmodem
needs to run after hylafax is started.
-In a systemd environment, it is easiest to modify your hylafax-hfaxd_systemd.service in the way that you add the command
+In a systemd environment, it is easiest to modify your hylafax-hfaxd.service in the way that you add the command
ExecStartPost=/usr/bin/faxmodem ttyS0
right after the ExecStart - line. Parameter is the device the modem is attached to.
--
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 python-djvulibre for openSUSE:Factory checked in at 2014-11-26 10:33:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-djvulibre (Old)
and /work/SRC/openSUSE:Factory/.python-djvulibre.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-djvulibre"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-djvulibre/python-djvulibre.changes 2013-10-25 11:14:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-djvulibre.new/python-djvulibre.changes 2014-11-26 10:33:10.000000000 +0100
@@ -1,0 +2,26 @@
+Sun Nov 16 15:59:43 UTC 2014 - lazy.kent(a)opensuse.org
+
+- Add runtime dependency: djvulibre.
+
+-------------------------------------------------------------------
+Thu Nov 13 13:47:47 UTC 2014 - lazy.kent(a)opensuse.org
+
+- Update to 0.3.10.
+ * Improve error handling in examples.
+ * Improve the test suite:
+ + When running external programs, don't reset environment
+ completely, but only set LC_ALL=C.
+ + Skip more tests (instead of making them fail) when they are
+ run in an unsuitable environment.
+ + Correctly detect ASCII locale encoding on FreeBSD (and
+ possibly other non-GNU systems).
+ + Don't hard-code libc error messages.
+ + Fix test_bad_io failures with Cython ≥ 0.21.
+ * Improve setup.py:
+ + Make it possible to build the package natively on Windows.
+ * Use HTTPS URLs when they are available, in documentation and
+ code.
+- Run tests. BuildRequires: djvulibre, python-nose.
+- Add the source GPG signature and a keyring.
+
+-------------------------------------------------------------------
Old:
----
python-djvulibre-0.3.9.tar.gz
New:
----
python-djvulibre-0.3.10.tar.gz
python-djvulibre-0.3.10.tar.gz.asc
python-djvulibre.keyring
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-djvulibre.spec ++++++
--- /var/tmp/diff_new_pack.v4thA7/_old 2014-11-26 10:33:11.000000000 +0100
+++ /var/tmp/diff_new_pack.v4thA7/_new 2014-11-26 10:33:11.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-djvulibre
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,24 +17,28 @@
Name: python-djvulibre
-Version: 0.3.9
+Version: 0.3.10
Release: 0
Summary: Python Support for the DjVu Image Format
License: GPL-2.0
Group: Development/Libraries/Python
Url: http://jwilk.net/software/python-djvulibre
-Source0: http://pypi.python.org/packages/source/p/%{name}/%{name}-%{version}.tar.gz
+Source0: http://pypi.python.org/packages/source/p/python-djvulibre/%{name}-%{version…
+Source1: http://pypi.python.org/packages/source/p/python-djvulibre/%{name}-%{version…
+Source2: %{name}.keyring
BuildRequires: graphviz
BuildRequires: graphviz-gnome
BuildRequires: pkg-config
BuildRequires: python-Cython
+BuildRequires: python-Sphinx
BuildRequires: python-devel
BuildRequires: python-setuptools
-# Starting openSUSE 12.1 the package name is python-Sphinx.
-BuildRequires: python-sphinx
BuildRequires: pkgconfig(ddjvuapi)
+# Required for tests.
+BuildRequires: djvulibre
+BuildRequires: python-nose
+Requires: djvulibre
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%py_requires
%description
python-djvulibre is a set of Python bindings for the DjVuLibre library,
@@ -63,23 +67,28 @@
%install
python setup.py install \
--root=%{buildroot} \
- --prefix=%{_prefix} \
- --record-rpm=INSTALLED_FILES
-install -dm 0755 %{buildroot}%{_defaultdocdir}/%{name}-doc/_images
-install -dm 0755 %{buildroot}%{_defaultdocdir}/%{name}-doc/_static
+ --prefix=%{_prefix}
+install -dm 0755 %{buildroot}%{_defaultdocdir}/%{name}-doc/_images/
+install -dm 0755 %{buildroot}%{_defaultdocdir}/%{name}-doc/_static/
install -m 0644 build/sphinx/html/{*.html,*.js} \
- %{buildroot}%{_defaultdocdir}/%{name}-doc
+ %{buildroot}%{_defaultdocdir}/%{name}-doc/
install -m 0644 build/sphinx/html/_images/* \
- %{buildroot}%{_defaultdocdir}/%{name}-doc/_images
+ %{buildroot}%{_defaultdocdir}/%{name}-doc/_images/
install -m 0644 build/sphinx/html/_static/* \
- %{buildroot}%{_defaultdocdir}/%{name}-doc/_static
+ %{buildroot}%{_defaultdocdir}/%{name}-doc/_static/
-%files -f INSTALLED_FILES
+%check
+cd tests/
+ln -sf %{buildroot}%{python_sitearch}/djvu/ djvu
+python -m nose --verbose --no-skip
+
+%files
%defattr(-,root,root,-)
-%doc COPYING doc/changelog examples
+%doc COPYING doc/changelog examples/
+%{python_sitearch}/*
%files doc
%defattr(-,root,root,-)
-%doc %{_defaultdocdir}/%{name}-doc
+%doc %{_defaultdocdir}/%{name}-doc/
%changelog
++++++ python-djvulibre-0.3.9.tar.gz -> python-djvulibre-0.3.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/COPYING new/python-djvulibre-0.3.10/COPYING
--- old/python-djvulibre-0.3.9/COPYING 2009-06-04 16:55:28.000000000 +0200
+++ new/python-djvulibre-0.3.10/COPYING 2012-08-07 12:29:43.000000000 +0200
@@ -1,12 +1,12 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -56,7 +56,7 @@
The precise terms and conditions for copying, distribution and
modification follow.
- GNU GENERAL PUBLIC LICENSE
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
@@ -255,7 +255,7 @@
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -277,9 +277,9 @@
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
+ END OF TERMS AND CONDITIONS
- How to Apply These Terms to Your New Programs
+ How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/PKG-INFO new/python-djvulibre-0.3.10/PKG-INFO
--- old/python-djvulibre-0.3.9/PKG-INFO 2012-03-19 21:02:31.000000000 +0100
+++ new/python-djvulibre-0.3.10/PKG-INFO 2014-11-04 11:48:02.000000000 +0100
@@ -1,14 +1,14 @@
Metadata-Version: 1.1
Name: python-djvulibre
-Version: 0.3.9
+Version: 0.3.10
Summary: Python support for the DjVu image format
Home-page: http://jwilk.net/software/python-djvulibre
Author: Jakub Wilk
Author-email: jwilk(a)jwilk.net
License: GNU GPL 2
-Description: *python-djvulibre* is a set of `Python <http://python.org>`_ bindings for the
- `DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation of
- `DjVu <http://djvu.org/>`_.
+Description: *python-djvulibre* is a set of `Python <https://www.python.org>`_ bindings for
+ the `DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation
+ of `DjVu <http://djvu.org/>`_.
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/djvu/decode.pyx new/python-djvulibre-0.3.10/djvu/decode.pyx
--- old/python-djvulibre-0.3.9/djvu/decode.pyx 2012-03-18 23:18:33.000000000 +0100
+++ new/python-djvulibre-0.3.10/djvu/decode.pyx 2014-11-02 17:39:42.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright © 2007-2012 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2007-2014 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -57,7 +57,7 @@
from traceback import format_exc
# The two lines below are solely to work-around Cython bug:
-# http://bugs.debian.org/620859
+# https://bugs.debian.org/620859
cdef object MemoryError
IF PY3K:
from builtins import MemoryError
@@ -298,7 +298,7 @@
Exception.__init__(
self,
'A DjVuLibre bug has been encountered.\n'
- 'See <http://bugs.debian.org/%d> for details.\n'
+ 'See <https://bugs.debian.org/%d> for details.\n'
'Please upgrade your DjVuLibre.' % (debian_bug_no,)
)
@@ -1095,7 +1095,7 @@
.. warning::
Due to a DjVuLibre (<= 3.5.20) bug, this method may be broken.
- See http://bugs.debian.org/467282 for details.
+ See https://bugs.debian.org/467282 for details.
'''
cdef char * optv[2]
cdef int optc
@@ -1251,7 +1251,7 @@
**Warning***
------------
Due to a DjVuLibre (<= 3.5.20) bug, this method may be broken.
- See http://bugs.debian.org/469122 for details.
+ See https://bugs.debian.org/469122 for details.
'''
cdef FILE* output
cdef SaveJob job
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/djvu/sexpr.pyx new/python-djvulibre-0.3.10/djvu/sexpr.pyx
--- old/python-djvulibre-0.3.9/djvu/sexpr.pyx 2012-03-19 14:30:42.000000000 +0100
+++ new/python-djvulibre-0.3.10/djvu/sexpr.pyx 2014-11-02 17:39:47.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright © 2007-2012 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2007-2014 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -798,7 +798,7 @@
# Normally one would use
# self[len(self):] = …
# but Cython (at least 0.13) generates broken code for such a statement.
- # http://bugs.debian.org/604963
+ # https://bugs.debian.org/604963
iter(iterable)
self[slice(len(self), None, None)] = iterable
@@ -806,7 +806,7 @@
# Normally one would use
# self[len(self):] = …
# but Cython (at least 0.13) generates broken code for such a statement.
- # http://bugs.debian.org/604963
+ # https://bugs.debian.org/604963
iter(iterable)
self[slice(len(self), None, None)] = iterable
return self
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/doc/changelog new/python-djvulibre-0.3.10/doc/changelog
--- old/python-djvulibre-0.3.9/doc/changelog 2012-03-19 20:41:55.000000000 +0100
+++ new/python-djvulibre-0.3.10/doc/changelog 2014-11-04 11:44:13.000000000 +0100
@@ -1,14 +1,33 @@
+python-djvulibre (0.3.10) unstable; urgency=low
+
+ * Improve error handling in examples.
+ * Improve the test suite:
+ + When running external programs, don't reset environment completely, but
+ only set LC_ALL=C.
+ + Skip more tests (instead of making them fail) when they are run in
+ an unsuitable environment.
+ + Correctly detect ASCII locale encoding on FreeBSD (and possibly other
+ non-GNU systems).
+ + Don't hard-code libc error messages.
+ + Fix test_bad_io failures with Cython ≥ 0.21.
+ * Improve setup.py:
+ + Make it possible to build the package natively on Windows.
+ https://bitbucket.org/jwilk/python-djvulibre/issue/1
+ * Use HTTPS URLs when they are available, in documentation and code.
+
+ -- Jakub Wilk <jwilk(a)jwilk.net> Tue, 04 Nov 2014 11:44:09 +0100
+
python-djvulibre (0.3.9) unstable; urgency=low
* Ensure that all S-expression output is 7-bit.
- This is work-around for <http://bugs.debian.org/664626>.
+ This is work-around for <https://bugs.debian.org/664626>.
-- Jakub Wilk <jwilk(a)jwilk.net> Mon, 19 Mar 2012 20:41:53 +0100
python-djvulibre (0.3.8) unstable; urgency=low
* Ensure that S-expression input/output functions are always initialized.
- This is work-around for <http://bugs.debian.org/664442>.
+ This is work-around for <https://bugs.debian.org/664442>.
-- Jakub Wilk <jwilk(a)jwilk.net> Sun, 18 Mar 2012 23:44:55 +0100
@@ -49,10 +68,10 @@
* Optimize DocumentPages.__len__() and DocumentFiles.__len__().
* Fix compatibility with Python 3.X (broken in 0.3.3).
* Update various external documentation URLs.
- http://bugs.debian.org/627290
+ https://bugs.debian.org/627290
* Improve test suite:
+ Normalize whitespace in ps2ascii output.
- http://bugs.debian.org/646177
+ https://bugs.debian.org/646177
* Improve setup.py:
+ Print a more meaningful error message if pkg-config fails.
+ build_sphinx is now available even without setuptools.
@@ -67,7 +86,7 @@
* Add Windows-specific module djvu.dllpath, which is aimed to ease finding
DjVuLibre DLLs in non-standard locations.
* Make expression and symbol objects picklable.
- * Add work-around for <http://bugs.debian.org/620859>.
+ * Add work-around for <https://bugs.debian.org/620859>.
* Fix test suite compatibility with Python 3.
-- Jakub Wilk <jwilk(a)jwilk.net> Mon, 04 Apr 2011 21:06:01 +0200
@@ -81,9 +100,9 @@
* Add ‘+=’ and ‘del’ operators for list expressions.
* Fix compatibility with Cython 0.12.
* Fix compatibility with some non-POSIX operating systems.
- * Add work-around for <http://bugs.python.org/issue969718>.
+ * Add work-around for <https://bugs.python.org/issue969718>.
* Improve setup.py:
- + Add work-around for <http://bugs.debian.org/607112>.
+ + Add work-around for <https://bugs.debian.org/607112>.
+ Make ‘clean --all’ remove temporary *.pxi and *.c files.
+ Don't import Cython modules; calls the ‘cython’ binary instead.
+ Allow cross-compilation using MinGW cross compiler.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/doc/source/conf.py new/python-djvulibre-0.3.10/doc/source/conf.py
--- old/python-djvulibre-0.3.9/doc/source/conf.py 2012-03-18 23:28:16.000000000 +0100
+++ new/python-djvulibre-0.3.10/doc/source/conf.py 2014-05-12 12:37:54.000000000 +0200
@@ -38,7 +38,7 @@
html_use_modindex = True
html_use_index = False
-intersphinx_mapping = {'http://docs.python.org/': None}
+intersphinx_mapping = {'https://docs.python.org/': None}
rst_epilog = '''
.. |djvu3ref| replace:: Lizardtech DjVu Reference
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/doc/source/documents.txt new/python-djvulibre-0.3.10/doc/source/documents.txt
--- old/python-djvulibre-0.3.9/doc/source/documents.txt 2010-09-05 18:39:53.000000000 +0200
+++ new/python-djvulibre-0.3.10/doc/source/documents.txt 2014-05-12 12:36:27.000000000 +0200
@@ -88,7 +88,7 @@
.. warning::
Due to a DjVuLibre (≤ 3.5.20) bug, this method may be broken.
- See http://bugs.debian.org/467282 for details.
+ See https://bugs.debian.org/467282 for details.
.. method:: export_ps(file[, …][, wait=True])
@@ -211,7 +211,7 @@
.. warning::
Due to a DjVuLibre (≤ 3.5.20) bug, this method may be broken.
- See http://bugs.debian.org/469122 for details.
+ See https://bugs.debian.org/469122 for details.
.. currentmodule:: djvu.decode
.. class:: SaveJob
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/examples/djvu-crop-text new/python-djvulibre-0.3.10/examples/djvu-crop-text
--- old/python-djvulibre-0.3.9/examples/djvu-crop-text 2012-03-18 23:22:19.000000000 +0100
+++ new/python-djvulibre-0.3.10/examples/djvu-crop-text 2013-11-23 17:23:42.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/python
# encoding=UTF-8
-# Copyright © 2008-2010 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2008-2013 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -13,8 +13,9 @@
# General Public License for more details.
import argparse
-import sys
+import os
import subprocess
+import sys
import djvu.sexpr
import djvu.decode
@@ -68,7 +69,9 @@
def handle_message(self, message):
if isinstance(message, djvu.decode.ErrorMessage):
print >>sys.stderr, message
- sys.exit(1)
+ # Exceptions in handle_message() are ignored, so sys.exit()
+ # wouldn't work here.
+ os._exit(1)
def process_page(self, page):
print >>sys.stderr, '- Page #%d' % (page.n + 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/examples/djvu-dump-text new/python-djvulibre-0.3.10/examples/djvu-dump-text
--- old/python-djvulibre-0.3.9/examples/djvu-dump-text 2012-03-18 23:22:59.000000000 +0100
+++ new/python-djvulibre-0.3.10/examples/djvu-dump-text 2013-11-23 17:23:42.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/python
# encoding=UTF-8
-# Copyright © 2008-2010 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2008-2013 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -13,12 +13,16 @@
# General Public License for more details.
import sys
+import os
+
import djvu.decode
def print_text(sexpr, level=0):
if level > 0:
print ' ' * (2 * level - 1),
if isinstance(sexpr, djvu.sexpr.ListExpression):
+ if len(sexpr) == 0:
+ return
print str(sexpr[0].value), [sexpr[i].value for i in xrange(1, 5)]
for child in sexpr[5:]:
print_text(child, level + 1)
@@ -30,7 +34,9 @@
def handle_message(self, message):
if isinstance(message, djvu.decode.ErrorMessage):
print >>sys.stderr, message
- sys.exit(1)
+ # Exceptions in handle_message() are ignored, so sys.exit()
+ # wouldn't work here.
+ os._exit(1)
def process(self, path):
document = self.new_document(djvu.decode.FileURI(path))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/examples/djvu2png new/python-djvulibre-0.3.10/examples/djvu2png
--- old/python-djvulibre-0.3.9/examples/djvu2png 2012-03-18 23:25:09.000000000 +0100
+++ new/python-djvulibre-0.3.10/examples/djvu2png 2013-11-23 17:23:42.000000000 +0100
@@ -1,7 +1,7 @@
#!/usr/bin/python
# encoding=UTF-8
-# Copyright © 2010 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2010-2013 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -13,6 +13,7 @@
# General Public License for more details.
import argparse
+import os
import sys
import cairo
@@ -29,7 +30,9 @@
def handle_message(self, message):
if isinstance(message, djvu.decode.ErrorMessage):
print >>sys.stderr, message
- sys.exit(1)
+ # Exceptions in handle_message() are ignored, so sys.exit()
+ # wouldn't work here.
+ os._exit(1)
def process(self, djvu_path, png_path, mode):
document = self.new_document(djvu.decode.FileURI(djvu_path))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/python_djvulibre.egg-info/PKG-INFO new/python-djvulibre-0.3.10/python_djvulibre.egg-info/PKG-INFO
--- old/python-djvulibre-0.3.9/python_djvulibre.egg-info/PKG-INFO 2012-03-19 21:02:31.000000000 +0100
+++ new/python-djvulibre-0.3.10/python_djvulibre.egg-info/PKG-INFO 2014-11-04 11:48:02.000000000 +0100
@@ -1,14 +1,14 @@
Metadata-Version: 1.1
Name: python-djvulibre
-Version: 0.3.9
+Version: 0.3.10
Summary: Python support for the DjVu image format
Home-page: http://jwilk.net/software/python-djvulibre
Author: Jakub Wilk
Author-email: jwilk(a)jwilk.net
License: GNU GPL 2
-Description: *python-djvulibre* is a set of `Python <http://python.org>`_ bindings for the
- `DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation of
- `DjVu <http://djvu.org/>`_.
+Description: *python-djvulibre* is a set of `Python <https://www.python.org>`_ bindings for
+ the `DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation
+ of `DjVu <http://djvu.org/>`_.
Platform: all
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/setup.py new/python-djvulibre-0.3.10/setup.py
--- old/python-djvulibre-0.3.9/setup.py 2012-03-18 23:27:27.000000000 +0100
+++ new/python-djvulibre-0.3.10/setup.py 2014-11-04 11:10:05.000000000 +0100
@@ -1,6 +1,6 @@
# encoding=UTF-8
-# Copyright © 2007-2011 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2007-2014 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -12,9 +12,9 @@
# General Public License for more details.
'''
-*python-djvulibre* is a set of `Python <http://python.org>`_ bindings for the
-`DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation of
-`DjVu <http://djvu.org/>`_.
+*python-djvulibre* is a set of `Python <https://www.python.org>`_ bindings for
+the `DjVuLibre <http://djvu.sf.net/>`_ library, an open source implementation
+of `DjVu <http://djvu.org/>`_.
'''
classifiers = '''
@@ -30,10 +30,11 @@
Topic :: Multimedia :: Graphics
Topic :: Multimedia :: Graphics :: Graphics Conversion
Topic :: Text Processing
-'''.strip().split('\n')
+'''.strip().splitlines()
import glob
import os
+import re
import sys
import subprocess as ipc
@@ -42,6 +43,9 @@
else:
mingw32cross = None
+if os.name == 'nt':
+ import djvu.dllpath
+
# Just to make sure setuptools won't try to be clever:
fake_module = type(sys)('fake_module')
fake_module.build_ext = None
@@ -66,7 +70,7 @@
sphinx_setup_command = None
def ext_modules():
- for pyx_file in glob.glob(os.path.join('djvu', '*.pyx')):
+ for pyx_file in glob.iglob(os.path.join('djvu', '*.pyx')):
module, _ = os.path.splitext(os.path.basename(pyx_file))
yield module
ext_modules = list(ext_modules())
@@ -85,6 +89,16 @@
PKG_CONFIG_FLAG_MAP = {'-I': 'include_dirs', '-L': 'library_dirs', '-l': 'libraries'}
def pkg_config(*packages, **kwargs):
+ fallback = dict(
+ libraries=['djvulibre'],
+ )
+ if os.name == 'nt':
+ dll_path = djvu.dllpath.guess_dll_path()
+ if dll_path is not None:
+ fallback.update(
+ extra_compile_args=['-I' + os.path.join(dll_path, 'include')],
+ extra_link_args=['-L' + os.path.join(dll_path)],
+ )
try:
pkgconfig = ipc.Popen(
['pkg-config', '--libs', '--cflags'] + list(packages),
@@ -92,13 +106,14 @@
)
except OSError:
_, ex, _ = sys.exc_info()
- ex.strerror = 'pkg-config: ' + ex.strerror
- raise
+ distutils.log.warn('cannot execute pkg-config: ' + str(ex))
+ return fallback
stdout, stderr = pkgconfig.communicate()
stdout = stdout.decode('ASCII', 'replace')
stderr = stderr.decode('ASCII', 'replace')
if pkgconfig.returncode:
- raise IOError('[pkg-config] ' + stderr.strip())
+ distutils.log.warn('pkg-config failed: ' + stderr.strip())
+ return fallback
kwargs.setdefault('extra_link_args', [])
kwargs.setdefault('extra_compile_args', ['-Wno-uninitialized'])
for argument in stdout.split():
@@ -111,17 +126,9 @@
kwargs['extra_compile_args'].append(argument)
return kwargs
-if mingw32cross:
-
- def pkg_config(*packages, **kwargs):
- return dict(
- libraries=['libdjvulibre'],
- )
- return kwargs
-
__version__ = get_version()
-# Work-around for <http://bugs.python.org/issue969718>:
+# Work-around for <https://bugs.python.org/issue969718>:
try:
del os.environ['CFLAGS']
except KeyError:
@@ -164,25 +171,33 @@
distutils.log.info('cythoning %r extension', ext.name)
def build_c(source, target):
distutils.spawn.spawn(['cython', source])
- # XXX This is needed to work around <http://bugs.debian.org/607112>.
+ # XXX This is needed to work around <https://bugs.debian.org/607112>.
# Fortunately, python-djvulibre doesn't really need __Pyx_GetVtable().
- distutils.spawn.spawn(['sed', '-i~', '-e',
- r's/\(static int __Pyx_GetVtable(PyObject [*]dict, void [*]vtabptr) {\)/\1 return 0;/',
- target
- ])
+ file = open(target, 'r+')
+ try:
+ contents = file.read()
+ contents = re.compile(
+ r'(?<=^static int __Pyx_GetVtable\(PyObject [*]dict, void [*]vtabptr\) {)$',
+ re.MULTILINE
+ ).sub(' return 0;', contents)
+ file.seek(0)
+ file.truncate()
+ file.write(contents)
+ finally:
+ file.close()
self.make_file(depends, target, build_c, [source, target])
class clean(distutils.command.clean.clean):
def run(self):
if self.all:
- for wildcard in 'djvu/*.c', 'djvu/*.c~', 'djvu/config.pxi':
+ for wildcard in 'djvu/*.c', 'djvu/config.pxi':
filenames = glob.glob(wildcard)
if filenames:
distutils.log.info('removing %r', wildcard)
if self.dry_run:
continue
- for filename in glob.glob(wildcard):
+ for filename in filenames:
os.remove(filename)
return distutils.command.clean.clean.run(self)
@@ -198,12 +213,15 @@
# use instead.
build_ext = self.get_finalized_command('build_ext')
sys.path[:0] = [build_ext.build_lib]
- import djvu
+ for ext in ext_modules:
+ __import__('djvu.' + ext)
del sys.path[0]
sphinx_setup_command.BuildDoc.run(self)
else:
build_sphinx = None
+compiler_flags = pkg_config('ddjvuapi')
+
setup_params = dict(
name = 'python-djvulibre',
version = __version__,
@@ -220,7 +238,7 @@
distutils.command.build_ext.Extension(
'djvu.%s' % name, ['djvu/%s.pyx' % name],
depends = ['djvu/common.pxi'] + glob.glob('djvu/*.pxd'),
- **pkg_config('ddjvuapi')
+ **compiler_flags
)
for name in ext_modules
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/tests/common.py new/python-djvulibre-0.3.10/tests/common.py
--- old/python-djvulibre-0.3.9/tests/common.py 2012-03-19 20:38:40.000000000 +0100
+++ new/python-djvulibre-0.3.10/tests/common.py 2013-06-11 22:44:35.000000000 +0200
@@ -13,6 +13,7 @@
from __future__ import with_statement
+import codecs
import contextlib
import locale
import os
@@ -41,7 +42,7 @@
locale.LC_MESSAGES = locale.LC_ALL
locale_encoding = locale.getpreferredencoding()
-if locale_encoding == 'ANSI_X3.4-1968':
+if codecs.lookup(locale_encoding) == codecs.lookup('US-ASCII'):
locale_encoding = 'UTF-8'
py3k = sys.version_info >= (3, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/tests/test_decode.py new/python-djvulibre-0.3.10/tests/test_decode.py
--- old/python-djvulibre-0.3.9/tests/test_decode.py 2012-03-19 15:27:22.000000000 +0100
+++ new/python-djvulibre-0.3.10/tests/test_decode.py 2013-06-13 15:07:11.000000000 +0200
@@ -1,6 +1,6 @@
# encoding=UTF-8
-# Copyright © 2007-2012 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2007-2013 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -14,6 +14,7 @@
from __future__ import with_statement
import array
+import errno
import os
import shutil
import subprocess as ipc
@@ -68,29 +69,53 @@
Document()
def test_nonexistent(self):
+ path = '__nonexistent__'
+ try:
+ os.stat(path)
+ except OSError:
+ _, ex, _ = sys.exc_info()
+ c_message = ex.args[1]
+ else:
+ raise OSError(errno.EEXIST, os.strerror(errno.EEXIST), path)
+ c_message.encode('ASCII')
skip_unless_c_messages()
context = Context()
with raises(JobFailed):
- document = context.new_document(FileUri('__nonexistent__'))
+ document = context.new_document(FileUri(path))
message = context.get_message()
assert_equal(type(message), ErrorMessage)
assert_equal(type(message.message), unicode)
- assert_equal(message.message, "[1-11711] Failed to open '__nonexistent__': No such file or directory.")
+ assert_equal(message.message, "[1-11711] Failed to open '%s': %s." % (path, c_message))
assert_equal(str(message), message.message)
assert_equal(unicode(message), message.message)
def test_nonexistent_ja(self):
skip_unless_c_messages()
skip_unless_translation_exists('ja_JP.UTF-8')
+ path = '__nonexistent__'
context = Context()
+ try:
+ with amended_locale(LC_ALL='ja_JP.UTF-8'):
+ os.stat(path)
+ except OSError:
+ _, ex, _ = sys.exc_info()
+ c_message = ex.args[1]
+ else:
+ raise OSError(errno.EEXIST, os.strerror(errno.EEXIST), path)
+ try:
+ c_message.encode('ASCII')
+ except UnicodeError:
+ pass
+ else:
+ raise AssertionError('ja_JP error message is ASCII-only: %r' % c_message)
with amended_locale(LC_ALL='ja_JP.UTF-8'):
with raises(JobFailed):
- document = context.new_document(FileUri('__nonexistent__'))
+ document = context.new_document(FileUri(path))
message = context.get_message()
assert_equal(type(message), ErrorMessage)
assert_equal(type(message.message), unicode)
- assert_equal(message.message, u("[1-11711] Failed to open '__nonexistent__': そのようなファイルやディレクトリはありません."))
- assert_equal(str(message), "[1-11711] Failed to open '__nonexistent__': そのようなファイルやディレクトリはありません.")
+ assert_equal(message.message, u("[1-11711] Failed to open '%s': %s." % (path, c_message)))
+ assert_equal(str(message), "[1-11711] Failed to open '%s': %s." % (path, c_message))
assert_equal(unicode(message), message.message)
def test_new_document(self):
@@ -194,7 +219,9 @@
assert_equal(len(document.pages), 6)
assert_equal(len(document.files), 7)
- stdout0, stderr0 = ipc.Popen(['djvudump', original_filename], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ c_env = dict(os.environ, LC_ALL='C')
+
+ stdout0, stderr0 = ipc.Popen(['djvudump', original_filename], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr0, b(''))
stdout0 = stdout0.replace(b('\r\n'), b('\n'))
@@ -206,7 +233,7 @@
assert_true(job.is_done)
assert_false(job.is_error)
tmp.close()
- stdout, stderr = ipc.Popen(['djvudump', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['djvudump', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr, b(''))
stdout = stdout.replace(b('\r\n'), b('\n'))
assert_equal(stdout, stdout0)
@@ -222,7 +249,7 @@
assert_true(job.is_done)
assert_false(job.is_error)
tmp.close()
- stdout, stderr = ipc.Popen(['djvudump', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['djvudump', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr, b(''))
stdout = stdout.replace(b('\r\n'), b('\n'))
stdout0 = stdout0.split(b('\n'))
@@ -242,7 +269,7 @@
assert_equal(type(job), SaveJob)
assert_true(job.is_done)
assert_false(job.is_error)
- stdout, stderr = ipc.Popen(['djvudump', tmpfname], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['djvudump', tmpfname], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr, b(''))
stdout = stdout.replace(b('\r\n'), b('\n'))
stdout = stdout.split(b('\n'))
@@ -263,7 +290,7 @@
assert_equal(type(job), SaveJob)
assert_true(job.is_done)
assert_false(job.is_error)
- stdout, stderr = ipc.Popen(['djvudump', tmpfname], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['djvudump', tmpfname], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
stdout = stdout.replace(b('\r\n'), b('\n'))
assert_equal(stderr, b(''))
stdout = stdout.split(b('\n'))
@@ -287,13 +314,15 @@
assert_equal(len(document.pages), 6)
assert_equal(len(document.files), 7)
+ c_env = dict(os.environ, LC_ALL='C')
+
tmp = tempfile.NamedTemporaryFile()
try:
job = document.export_ps(tmp.file)
assert_equal(type(job), SaveJob)
assert_true(job.is_done)
assert_false(job.is_error)
- stdout, stderr = ipc.Popen(['ps2ascii', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['ps2ascii', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr, b(''))
assert_equal(stdout, b('\x0c') * 6)
finally:
@@ -305,7 +334,7 @@
assert_equal(type(job), SaveJob)
assert_true(job.is_done)
assert_false(job.is_error)
- stdout, stderr = ipc.Popen(['ps2ascii', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env={}).communicate()
+ stdout, stderr = ipc.Popen(['ps2ascii', tmp.name], stdout=ipc.PIPE, stderr=ipc.PIPE, env=c_env).communicate()
assert_equal(stderr, b(''))
stdout = stdout.split(b('\n'))
stdout = [b(' ').join(line.split()) for line in stdout]
@@ -555,7 +584,7 @@
try:
test_file = create_djvu(test_script)
except UnicodeEncodeError:
- raise AssertionError('You need to run this test with an UTF-8 locale')
+ raise SkipTest('you need to run this test with LC_CTYPE=C or LC_CTYPE=<lang>.UTF-8')
try:
context = Context()
document = context.new_document(FileUri(test_file.name))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/python-djvulibre-0.3.9/tests/test_sexpr.py new/python-djvulibre-0.3.10/tests/test_sexpr.py
--- old/python-djvulibre-0.3.9/tests/test_sexpr.py 2012-03-19 20:40:14.000000000 +0100
+++ new/python-djvulibre-0.3.10/tests/test_sexpr.py 2014-11-02 17:40:19.000000000 +0100
@@ -1,6 +1,6 @@
# encoding=UTF-8
-# Copyright © 2007-2012 Jakub Wilk <jwilk(a)jwilk.net>
+# Copyright © 2007-2014 Jakub Wilk <jwilk(a)jwilk.net>
#
# This package is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -406,10 +406,14 @@
with raises(ExpressionSyntaxError):
Expression.from_stream(42)
stderr = strip_line_numbers_from_traceback(stderr.getvalue())
+ stderr = stderr.replace(
+ '"sexpr.pyx"', # Cython < 0.21
+ '"djvu/sexpr.pyx"' # Cython ≥ 0.21
+ )
assert_multi_line_equal(stderr, '''\
Unhandled exception (42)
Traceback (most recent call last):
- File "sexpr.pyx", in djvu.sexpr._myio_getc (djvu/sexpr.c)
+ File "djvu/sexpr.pyx", in djvu.sexpr._myio_getc (djvu/sexpr.c)
AttributeError: 'int' object has no attribute 'read'
''')
@@ -467,10 +471,14 @@
with interim(sys, stderr=stderr):
self.expr.print_into(42)
stderr = strip_line_numbers_from_traceback(stderr.getvalue())
+ stderr = stderr.replace(
+ '"sexpr.pyx"', # Cython < 0.21
+ '"djvu/sexpr.pyx"' # Cython ≥ 0.21
+ )
expected_stderr = '''\
Unhandled exception (42)
Traceback (most recent call last):
- File "sexpr.pyx", in djvu.sexpr._myio_puts (djvu/sexpr.c)
+ File "djvu/sexpr.pyx", in djvu.sexpr._myio_puts (djvu/sexpr.c)
AttributeError: 'int' object has no attribute 'write'
'''
++++++ python-djvulibre.keyring ++++++
pub 4096R/015475F5 2009-10-23 [expires: 2015-01-01]
uid Jakub Wilk <jwilk(a)jwilk.net>
uid Jakub Wilk <jwilk(a)debian.org>
uid Jakub Wilk <ubanus(a)users.sf.net>
sub 4096R/E5874F63 2009-10-23
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
bN5AxyPui0i3KQXs09FW/+n9DTw=
=1quD
-----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