openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2019
- 1 participants
- 2232 discussions
Hello community,
here is the log from the commit of package nginx for openSUSE:Factory checked in at 2019-05-24 11:33:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nginx (Old)
and /work/SRC/openSUSE:Factory/.nginx.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nginx"
Fri May 24 11:33:33 2019 rev:36 rq:705181 version:1.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nginx/nginx.changes 2019-05-07 23:19:03.904931672 +0200
+++ /work/SRC/openSUSE:Factory/.nginx.new.5148/nginx.changes 2019-05-24 11:33:35.233362168 +0200
@@ -1,0 +2,11 @@
+Thu May 23 19:51:31 UTC 2019 - seanlew(a)opensuse.org
+
+- update to version 1.17.0
+ * Feature: variables support in the "limit_rate" directives
+ * Feature: variables support in the "proxy rate" directies
+ * Change: min supported OpenSSL is 0.9.8
+ * Change: now the postpone filter is always built
+ * Bugfix: the "include" directive didn't work inside "if"
+ * Bugfix: in byte ranges processing
+
+-------------------------------------------------------------------
Old:
----
nginx-1.16.0.tar.gz
nginx-1.16.0.tar.gz.asc
New:
----
nginx-1.17.0.tar.gz
nginx-1.17.0.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nginx.spec ++++++
--- /var/tmp/diff_new_pack.o096kd/_old 2019-05-24 11:33:36.353361741 +0200
+++ /var/tmp/diff_new_pack.o096kd/_new 2019-05-24 11:33:36.353361741 +0200
@@ -70,7 +70,7 @@
%define ngx_doc_dir %{_datadir}/doc/packages/%{name}
#
Name: nginx
-Version: 1.16.0
+Version: 1.17.0
Release: 0
%define ngx_fancyindex_version 0.4.2
%define ngx_fancyindex_module_path ngx-fancyindex-%{ngx_fancyindex_version}
++++++ nginx-1.16.0.tar.gz -> nginx-1.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES new/nginx-1.17.0/CHANGES
--- old/nginx-1.16.0/CHANGES 2019-04-23 15:13:01.000000000 +0200
+++ new/nginx-1.17.0/CHANGES 2019-05-21 16:24:01.000000000 +0200
@@ -1,7 +1,20 @@
-Changes with nginx 1.16.0 23 Apr 2019
+Changes with nginx 1.17.0 21 May 2019
- *) 1.16.x stable branch.
+ *) Feature: variables support in the "limit_rate" and "limit_rate_after"
+ directives.
+
+ *) Feature: variables support in the "proxy_upload_rate" and
+ "proxy_download_rate" directives in the stream module.
+
+ *) Change: minimum supported OpenSSL version is 0.9.8.
+
+ *) Change: now the postpone filter is always built.
+
+ *) Bugfix: the "include" directive did not work inside the "if" and
+ "limit_except" blocks.
+
+ *) Bugfix: in byte ranges processing.
Changes with nginx 1.15.12 16 Apr 2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES.ru new/nginx-1.17.0/CHANGES.ru
--- old/nginx-1.16.0/CHANGES.ru 2019-04-23 15:13:00.000000000 +0200
+++ new/nginx-1.17.0/CHANGES.ru 2019-05-21 16:24:00.000000000 +0200
@@ -1,7 +1,20 @@
-Изменения в nginx 1.16.0 23.04.2019
+Изменения в nginx 1.17.0 21.05.2019
- *) Стабильная ветка 1.16.x.
+ *) Добавление: директивы limit_rate и limit_rate_after поддерживают
+ переменные.
+
+ *) Добавление: директивы proxy_upload_rate и proxy_download_rate в
+ модуле stream поддерживают переменные.
+
+ *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.8.
+
+ *) Изменение: теперь postpone-фильтр собирается всегда.
+
+ *) Исправление: директива include не работала в блоках if и
+ limit_except.
+
+ *) Исправление: в обработке byte ranges.
Изменения в nginx 1.15.12 16.04.2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/modules new/nginx-1.17.0/auto/modules
--- old/nginx-1.16.0/auto/modules 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/modules 2019-05-21 16:23:57.000000000 +0200
@@ -102,21 +102,6 @@
fi
- if [ $HTTP_SSI = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_SLICE = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_ADDITION = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
# the module order is important
# ngx_http_static_module
# ngx_http_gzip_static_module
@@ -252,13 +237,13 @@
. auto/module
fi
- if [ $HTTP_POSTPONE = YES ]; then
+ if :; then
ngx_module_name=ngx_http_postpone_filter_module
ngx_module_incs=
ngx_module_deps=
ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
ngx_module_libs=
- ngx_module_link=$HTTP_POSTPONE
+ ngx_module_link=YES
. auto/module
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/options new/nginx-1.17.0/auto/options
--- old/nginx-1.16.0/auto/options 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/options 2019-05-21 16:23:57.000000000 +0200
@@ -60,7 +60,6 @@
HTTP_SSL=NO
HTTP_V2=NO
HTTP_SSI=YES
-HTTP_POSTPONE=NO
HTTP_REALIP=NO
HTTP_XSLT=NO
HTTP_IMAGE_FILTER=NO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/nginx.h new/nginx-1.17.0/src/core/nginx.h
--- old/nginx-1.16.0/src/core/nginx.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/nginx.h 2019-05-21 16:23:57.000000000 +0200
@@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_
-#define nginx_version 1016000
-#define NGINX_VERSION "1.16.0"
+#define nginx_version 1017000
+#define NGINX_VERSION "1.17.0"
#define NGINX_VER "nginx/" NGINX_VERSION
#ifdef NGX_BUILD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/ngx_conf_file.h new/nginx-1.17.0/src/core/ngx_conf_file.h
--- old/nginx-1.16.0/src/core/ngx_conf_file.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/ngx_conf_file.h 2019-05-21 16:23:57.000000000 +0200
@@ -49,7 +49,7 @@
#define NGX_DIRECT_CONF 0x00010000
#define NGX_MAIN_CONF 0x01000000
-#define NGX_ANY_CONF 0x1F000000
+#define NGX_ANY_CONF 0xFF000000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl.c new/nginx-1.17.0/src/event/ngx_event_openssl.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl.c 2019-05-21 16:23:57.000000000 +0200
@@ -164,7 +164,6 @@
#endif
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef SSL_OP_NO_COMPRESSION
{
/*
@@ -182,7 +181,6 @@
}
}
#endif
-#endif
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
@@ -904,13 +902,6 @@
return NGX_ERROR;
}
- /*
- * before 0.9.7h and 0.9.8 SSL_load_client_CA_file()
- * always leaved an error in the error queue
- */
-
- ERR_clear_error();
-
SSL_CTX_set_client_CA_list(ssl->ctx, list);
return NGX_OK;
@@ -1076,8 +1067,8 @@
* added to wbio, and set buffer size.
*/
- rbio = SSL_get_rbio((ngx_ssl_conn_t *) ssl_conn);
- wbio = SSL_get_wbio((ngx_ssl_conn_t *) ssl_conn);
+ rbio = SSL_get_rbio(ssl_conn);
+ wbio = SSL_get_wbio(ssl_conn);
if (rbio != wbio) {
(void) BIO_set_write_buffer_size(wbio, NGX_SSL_BUFSIZE);
@@ -1360,7 +1351,6 @@
ngx_int_t
ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef OPENSSL_NO_ECDH
/*
@@ -1435,7 +1425,6 @@
EC_KEY_free(ecdh);
#endif
#endif
-#endif
return NGX_OK;
}
@@ -3364,17 +3353,8 @@
}
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
session_id = (u_char *) SSL_SESSION_get_id(sess, &session_id_length);
-#else
-
- session_id = sess->session_id;
- session_id_length = sess->session_id_length;
-
-#endif
-
#if (NGX_PTR_SIZE == 8)
id = sess_id->sess_id;
@@ -3450,13 +3430,10 @@
#endif
u_char *id, int len, int *copy)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
size_t slen;
uint32_t hash;
ngx_int_t rc;
+ const u_char *p;
ngx_shm_zone_t *shm_zone;
ngx_slab_pool_t *shpool;
ngx_rbtree_node_t *node, *sentinel;
@@ -3578,17 +3555,8 @@
cache = shm_zone->data;
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
id = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- id = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
hash = ngx_crc32_short(id, len);
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0,
@@ -4387,17 +4355,8 @@
return NGX_OK;
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
buf = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- buf = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
s->len = 2 * len;
s->data = ngx_pnalloc(pool, 2 * len);
if (s->data == NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c 2019-05-21 16:23:57.000000000 +0200
@@ -589,15 +589,12 @@
static void
ngx_ssl_stapling_ocsp_handler(ngx_ssl_ocsp_ctx_t *ctx)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
int n;
size_t len;
time_t now, valid;
ngx_str_t response;
X509_STORE *store;
+ const u_char *p;
STACK_OF(X509) *chain;
OCSP_CERTID *id;
OCSP_RESPONSE *ocsp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c
--- old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -700,8 +700,9 @@
ngx_http_range_filter_ctx_t *ctx, ngx_chain_t *in)
{
off_t start, last;
+ ngx_int_t rc;
ngx_buf_t *buf;
- ngx_chain_t *out, *cl, **ll;
+ ngx_chain_t *out, *cl, *tl, **ll;
ngx_http_range_t *range;
out = NULL;
@@ -721,8 +722,22 @@
"http range body buf: %O-%O", start, last);
if (ngx_buf_special(buf)) {
- *ll = cl;
- ll = &cl->next;
+
+ if (range->end <= start) {
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
continue;
}
@@ -764,21 +779,42 @@
buf->last_buf = (r == r->main) ? 1 : 0;
buf->last_in_chain = 1;
- *ll = cl;
- cl->next = NULL;
- break;
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
}
- *ll = cl;
- ll = &cl->next;
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
}
- if (out == NULL) {
- return NGX_OK;
+ rc = ngx_http_next_body_filter(r, out);
+
+ while (out) {
+ cl = out;
+ out = out->next;
+ ngx_free_chain(r->pool, cl);
}
- return ngx_http_next_body_filter(r, out);
+ return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.c new/nginx-1.17.0/src/http/ngx_http_core_module.c
--- old/nginx-1.16.0/src/http/ngx_http_core_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -479,7 +479,7 @@
{ ngx_string("limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate),
NULL },
@@ -487,7 +487,7 @@
{ ngx_string("limit_rate_after"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate_after),
NULL },
@@ -1281,10 +1281,6 @@
r->connection->tcp_nopush = NGX_TCP_NOPUSH_DISABLED;
}
- if (r->limit_rate == 0) {
- r->limit_rate = clcf->limit_rate;
- }
-
if (clcf->handler) {
r->content_handler = clcf->handler;
}
@@ -3387,6 +3383,8 @@
* clcf->exact_match = 0;
* clcf->auto_redirect = 0;
* clcf->alias = 0;
+ * clcf->limit_rate = NULL;
+ * clcf->limit_rate_after = NULL;
* clcf->gzip_proxied = 0;
* clcf->keepalive_disable = 0;
*/
@@ -3417,8 +3415,6 @@
clcf->send_timeout = NGX_CONF_UNSET_MSEC;
clcf->send_lowat = NGX_CONF_UNSET_SIZE;
clcf->postpone_output = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate_after = NGX_CONF_UNSET_SIZE;
clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC;
clcf->keepalive_header = NGX_CONF_UNSET;
clcf->keepalive_requests = NGX_CONF_UNSET_UINT;
@@ -3647,9 +3643,15 @@
ngx_conf_merge_size_value(conf->send_lowat, prev->send_lowat, 0);
ngx_conf_merge_size_value(conf->postpone_output, prev->postpone_output,
1460);
- ngx_conf_merge_size_value(conf->limit_rate, prev->limit_rate, 0);
- ngx_conf_merge_size_value(conf->limit_rate_after, prev->limit_rate_after,
- 0);
+
+ if (conf->limit_rate == NULL) {
+ conf->limit_rate = prev->limit_rate;
+ }
+
+ if (conf->limit_rate_after == NULL) {
+ conf->limit_rate_after = prev->limit_rate_after;
+ }
+
ngx_conf_merge_msec_value(conf->keepalive_timeout,
prev->keepalive_timeout, 75000);
ngx_conf_merge_sec_value(conf->keepalive_header,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.h new/nginx-1.17.0/src/http/ngx_http_core_module.h
--- old/nginx-1.16.0/src/http/ngx_http_core_module.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.h 2019-05-21 16:23:57.000000000 +0200
@@ -349,13 +349,14 @@
size_t client_body_buffer_size; /* client_body_buffer_size */
size_t send_lowat; /* send_lowat */
size_t postpone_output; /* postpone_output */
- size_t limit_rate; /* limit_rate */
- size_t limit_rate_after; /* limit_rate_after */
size_t sendfile_max_chunk; /* sendfile_max_chunk */
size_t read_ahead; /* read_ahead */
size_t subrequest_output_buffer_size;
/* subrequest_output_buffer_size */
+ ngx_http_complex_value_t *limit_rate; /* limit_rate */
+ ngx_http_complex_value_t *limit_rate_after; /* limit_rate_after */
+
ngx_msec_t client_body_timeout; /* client_body_timeout */
ngx_msec_t send_timeout; /* send_timeout */
ngx_msec_t keepalive_timeout; /* keepalive_timeout */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_request.h new/nginx-1.17.0/src/http/ngx_http_request.h
--- old/nginx-1.16.0/src/http/ngx_http_request.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_request.h 2019-05-21 16:23:57.000000000 +0200
@@ -515,6 +515,9 @@
unsigned limit_conn_set:1;
unsigned limit_req_set:1;
+ unsigned limit_rate_set:1;
+ unsigned limit_rate_after_set:1;
+
#if 0
unsigned cacheable:1;
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.c new/nginx-1.17.0/src/http/ngx_http_script.c
--- old/nginx-1.16.0/src/http/ngx_http_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -104,6 +104,37 @@
}
+size_t
+ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_http_complex_value(r, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv)
{
@@ -241,6 +272,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_http_complex_value_t *cv;
+
+ rv = ngx_http_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_http_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.h new/nginx-1.17.0/src/http/ngx_http_script.h
--- old/nginx-1.16.0/src/http/ngx_http_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -68,6 +68,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_http_complex_value_t;
@@ -207,9 +211,13 @@
ngx_http_complex_value_t *val);
ngx_int_t ngx_http_complex_value(ngx_http_request_t *r,
ngx_http_complex_value_t *val, ngx_str_t *value);
+size_t ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value);
ngx_int_t ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv);
char *ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_int_t ngx_http_test_predicates(ngx_http_request_t *r,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream.c new/nginx-1.17.0/src/http/ngx_http_upstream.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream.c 2019-05-21 16:23:57.000000000 +0200
@@ -2979,6 +2979,7 @@
ngx_http_upstream_process_non_buffered_downstream;
r->limit_rate = 0;
+ r->limit_rate_set = 1;
if (u->input_filter_init(u->input_filter_ctx) == NGX_ERROR) {
ngx_http_upstream_finalize_request(r, u, NGX_ERROR);
@@ -4806,6 +4807,7 @@
if (n != NGX_ERROR) {
r->limit_rate = (size_t) n;
+ r->limit_rate_set = 1;
}
return NGX_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -669,10 +669,7 @@
ngx_http_upstream_rr_peer_t *peer;
#if (NGX_HTTP_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_http_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_variables.c new/nginx-1.17.0/src/http/ngx_http_variables.c
--- old/nginx-1.16.0/src/http/ngx_http_variables.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_variables.c 2019-05-21 16:23:57.000000000 +0200
@@ -22,8 +22,6 @@
#endif
static ngx_int_t ngx_http_variable_request_get_size(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
-static void ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_header(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -124,6 +122,8 @@
ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_sent_transfer_encoding(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
+static void ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_connection(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -321,7 +321,7 @@
{ ngx_string("sent_http_link"), NULL, ngx_http_variable_headers,
offsetof(ngx_http_request_t, headers_out.link), 0, 0 },
- { ngx_string("limit_rate"), ngx_http_variable_request_set_size,
+ { ngx_string("limit_rate"), ngx_http_variable_set_limit_rate,
ngx_http_variable_request_get_size,
offsetof(ngx_http_request_t, limit_rate),
NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 },
@@ -788,32 +788,6 @@
}
-static void
-ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data)
-{
- ssize_t s, *sp;
- ngx_str_t val;
-
- val.len = v->len;
- val.data = v->data;
-
- s = ngx_parse_size(&val);
-
- if (s == NGX_ERROR) {
- ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
- "invalid size \"%V\"", &val);
- return;
- }
-
- sp = (ssize_t *) ((char *) r + data);
-
- *sp = s;
-
- return;
-}
-
-
static ngx_int_t
ngx_http_variable_header(ngx_http_request_t *r, ngx_http_variable_value_t *v,
uintptr_t data)
@@ -1993,6 +1967,29 @@
}
+static void
+ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data)
+{
+ ssize_t s;
+ ngx_str_t val;
+
+ val.len = v->len;
+ val.data = v->data;
+
+ s = ngx_parse_size(&val);
+
+ if (s == NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid $limit_rate \"%V\"", &val);
+ return;
+ }
+
+ r->limit_rate = s;
+ r->limit_rate_set = 1;
+}
+
+
static ngx_int_t
ngx_http_variable_request_completion(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c
--- old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -250,9 +250,17 @@
return NGX_ERROR;
}
+ if (!r->limit_rate_set) {
+ r->limit_rate = ngx_http_complex_value_size(r, clcf->limit_rate, 0);
+ r->limit_rate_set = 1;
+ }
+
if (r->limit_rate) {
- if (r->limit_rate_after == 0) {
- r->limit_rate_after = clcf->limit_rate_after;
+
+ if (!r->limit_rate_after_set) {
+ r->limit_rate_after = ngx_http_complex_value_size(r,
+ clcf->limit_rate_after, 0);
+ r->limit_rate_after_set = 1;
}
limit = (off_t) r->limit_rate * (ngx_time() - r->start_sec + 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c
--- old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -24,8 +24,8 @@
ngx_msec_t timeout;
ngx_msec_t next_upstream_timeout;
size_t buffer_size;
- size_t upload_rate;
- size_t download_rate;
+ ngx_stream_complex_value_t *upload_rate;
+ ngx_stream_complex_value_t *download_rate;
ngx_uint_t requests;
ngx_uint_t responses;
ngx_uint_t next_upstream_tries;
@@ -184,14 +184,14 @@
{ ngx_string("proxy_upload_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, upload_rate),
NULL },
{ ngx_string("proxy_download_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, download_rate),
NULL },
@@ -895,6 +895,9 @@
u->proxy_protocol = 0;
}
+ u->upload_rate = ngx_stream_complex_value_size(s, pscf->upload_rate, 0);
+ u->download_rate = ngx_stream_complex_value_size(s, pscf->download_rate, 0);
+
u->connected = 1;
pc->read->handler = ngx_stream_proxy_upstream_handler;
@@ -1532,7 +1535,7 @@
src = pc;
dst = c;
b = &u->upstream_buf;
- limit_rate = pscf->download_rate;
+ limit_rate = u->download_rate;
received = &u->received;
packets = &u->responses;
out = &u->downstream_out;
@@ -1544,7 +1547,7 @@
src = c;
dst = pc;
b = &u->downstream_buf;
- limit_rate = pscf->upload_rate;
+ limit_rate = u->upload_rate;
received = &s->received;
packets = &u->requests;
out = &u->upstream_out;
@@ -1955,6 +1958,8 @@
* conf->ssl_certificate = { 0, NULL };
* conf->ssl_certificate_key = { 0, NULL };
*
+ * conf->upload_rate = NULL;
+ * conf->download_rate = NULL;
* conf->ssl = NULL;
* conf->upstream = NULL;
* conf->upstream_value = NULL;
@@ -1964,8 +1969,6 @@
conf->timeout = NGX_CONF_UNSET_MSEC;
conf->next_upstream_timeout = NGX_CONF_UNSET_MSEC;
conf->buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upload_rate = NGX_CONF_UNSET_SIZE;
- conf->download_rate = NGX_CONF_UNSET_SIZE;
conf->requests = NGX_CONF_UNSET_UINT;
conf->responses = NGX_CONF_UNSET_UINT;
conf->next_upstream_tries = NGX_CONF_UNSET_UINT;
@@ -2005,11 +2008,13 @@
ngx_conf_merge_size_value(conf->buffer_size,
prev->buffer_size, 16384);
- ngx_conf_merge_size_value(conf->upload_rate,
- prev->upload_rate, 0);
+ if (conf->upload_rate == NULL) {
+ conf->upload_rate = prev->upload_rate;
+ }
- ngx_conf_merge_size_value(conf->download_rate,
- prev->download_rate, 0);
+ if (conf->download_rate == NULL) {
+ conf->download_rate = prev->download_rate;
+ }
ngx_conf_merge_uint_value(conf->requests,
prev->requests, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.c new/nginx-1.17.0/src/stream/ngx_stream_script.c
--- old/nginx-1.16.0/src/stream/ngx_stream_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -105,6 +105,37 @@
}
+size_t
+ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_stream_complex_value(s, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, s->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_stream_compile_complex_value(ngx_stream_compile_complex_value_t *ccv)
{
@@ -243,6 +274,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_stream_complex_value_t *cv;
+
+ rv = ngx_stream_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_stream_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.h new/nginx-1.17.0/src/stream/ngx_stream_script.h
--- old/nginx-1.16.0/src/stream/ngx_stream_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -56,6 +56,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_stream_complex_value_t;
@@ -102,10 +106,14 @@
ngx_stream_complex_value_t *val);
ngx_int_t ngx_stream_complex_value(ngx_stream_session_t *s,
ngx_stream_complex_value_t *val, ngx_str_t *value);
+size_t ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value);
ngx_int_t ngx_stream_compile_complex_value(
ngx_stream_compile_complex_value_t *ccv);
char *ngx_stream_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_uint_t ngx_stream_script_variables_count(ngx_str_t *value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream.h new/nginx-1.17.0/src/stream/ngx_stream_upstream.h
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream.h 2019-05-21 16:23:57.000000000 +0200
@@ -132,6 +132,9 @@
ngx_uint_t responses;
ngx_msec_t start_time;
+ size_t upload_rate;
+ size_t download_rate;
+
ngx_str_t ssl_name;
ngx_stream_upstream_srv_conf_t *upstream;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -701,10 +701,7 @@
ngx_stream_upstream_rr_peer_t *peer;
#if (NGX_STREAM_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_stream_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
1
0
Hello community,
here is the log from the commit of package python-django-sekizai for openSUSE:Factory checked in at 2019-05-24 11:33:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-sekizai (Old)
and /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-sekizai"
Fri May 24 11:33:26 2019 rev:2 rq:705177 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-sekizai/python-django-sekizai.changes 2019-01-11 14:04:35.551854179 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148/python-django-sekizai.changes 2019-05-24 11:33:28.073364903 +0200
@@ -1,0 +2,9 @@
+Fri May 24 07:17:38 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.0.0:
+ * Fixes for new djangos/python releases
+- Remove merged patches:
+ * django-sekizai-py37.patch
+ * django-sekizai-django2.patch
+
+-------------------------------------------------------------------
Old:
----
0.10.0.tar.gz
django-sekizai-django2.patch
django-sekizai-py37.patch
New:
----
1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-sekizai.spec ++++++
--- /var/tmp/diff_new_pack.7ULQBO/_old 2019-05-24 11:33:28.941364572 +0200
+++ /var/tmp/diff_new_pack.7ULQBO/_new 2019-05-24 11:33:28.945364570 +0200
@@ -18,16 +18,14 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-sekizai
-Version: 0.10.0
+Version: 1.0.0
Release: 0
Summary: Django Template Blocks with extra functionality
License: MIT
Group: Development/Languages/Python
URL: https://github.com/ojii/django-sekizai
Source: https://github.com/divio/django-sekizai/archive/%{version}.tar.gz
-Patch0: django-sekizai-django2.patch
-Patch1: django-sekizai-pycodestyle.patch
-Patch2: django-sekizai-py37.patch
+Patch0: django-sekizai-pycodestyle.patch
BuildRequires: %{python_module Django >= 1.11}
BuildRequires: %{python_module django-classy-tags >= 0.3.1}
BuildRequires: %{python_module pycodestyle}
@@ -44,9 +42,7 @@
%prep
%setup -q -n django-sekizai-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%autopatch -p1
%build
%python_build
++++++ 0.10.0.tar.gz -> 1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/.travis.yml new/django-sekizai-1.0.0/.travis.yml
--- old/django-sekizai-0.10.0/.travis.yml 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/.travis.yml 2019-04-11 14:03:34.000000000 +0200
@@ -1,19 +1,17 @@
+dist: xenial
language: python
sudo: false
python:
- 2.7
- - 3.3
- 3.4
- 3.5
+ - 3.6
+ - 3.7
env:
- - DJANGO='django>=1.3,<1.4'
- - DJANGO='django>=1.4,<1.5'
- - DJANGO='django>=1.5,<1.6'
- - DJANGO='django>=1.6,<1.7'
- - DJANGO='django>=1.7,<1.8'
- - DJANGO='django>=1.8,<1.9'
- - DJANGO='django>=1.9,<1.10'
- - DJANGO='django>=1.10,<1.11'
+ - DJANGO='django>=1.11,<2.0'
+ - DJANGO='django>=2.0,<2.1'
+ - DJANGO='django>=2.1,<2.2'
+ - DJANGO='django>=2.2a1,<3.0'
install:
- pip install $DJANGO django-classy-tags pep8 backport-collections
script: python runtests.py
@@ -21,25 +19,13 @@
email: false
matrix:
exclude:
- - python: 3.3
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.3
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.3
- env: DJANGO='django>=1.9,<1.10'
- - python: 3.3
- env: DJANGO='django>=1.10,<1.11'
+ - python: 2.7
+ env: DJANGO='django>=2.0,<2.1'
+ - python: 2.7
+ env: DJANGO='django>=2.1,<2.2'
+ - python: 2.7
+ env: DJANGO='django>=2.2a1,<3.0'
- python: 3.4
- env: DJANGO='django>=1.3,<1.4'
+ env: DJANGO='django>=2.1,<2.2'
- python: 3.4
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.5
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.5,<1.6'
- - python: 3.5
- env: DJANGO='django>=1.6,<1.7'
- - python: 3.5
- env: DJANGO='django>=1.7,<1.8'
+ env: DJANGO='django>=2.2a1,<3.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/README.rst new/django-sekizai-1.0.0/README.rst
--- old/django-sekizai-0.10.0/README.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/README.rst 2019-04-11 14:03:34.000000000 +0200
@@ -7,7 +7,7 @@
forms in django, but really that doesn't work that well. Usually the frontend
guys want to decide on css and javascript files to be included and they don't
want to have to edit Python files to change that neither did I want them to
-change my Python files. Therefor there was a need to allow you to edit contents
+change my Python files. Therefore there was a need to allow you to edit contents
of templates which are before or after the point where you are now. Also I
wanted duplicates to be removed. As a result I wrote django-sekizai, which does
exactly that. It's similar to blocks, just instead of inheriting them, you
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/docs/index.rst new/django-sekizai-1.0.0/docs/index.rst
--- old/django-sekizai-0.10.0/docs/index.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/docs/index.rst 2019-04-11 14:03:34.000000000 +0200
@@ -24,15 +24,14 @@
blocks. This is especially useful for css and javascript. Your sub-templates can
now define css and Javascript files to be included, and the css will be nicely
put at the top and the Javascript to the bottom, just like you should. Also
-sekizai will ignore any duplicate content in a single block.
+sekizai will ignore any duplicate content in a single block.
************
Dependencies
************
-* Python 2.7, 3.3, 3.4 or 3.5.
-* Django 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9 or 1.10.
+* Django 1.11, 2.0, 2.1, or 2.2.
* django-classy-tags 0.3.1 or higher.
*****
@@ -47,15 +46,10 @@
* Put 'sekizai' into your ``INSTALLED_APPS`` setting.
* Use one of the following:
- * For Django versions before 1.10, add
- ``sekizai.context_processors.sekizai`` to your
- ``TEMPLATE_CONTEXT_PROCESSORS`` setting and use
+ * Add ``sekizai.context_processors.sekizai`` to your
+ ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
``django.template.RequestContext`` when rendering your templates.
- For Django versions after 1.10, add ``sekizai.context_processors.sekizai``
- to your ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
- ``django.template.RequestContext`` when rendering your templates.
-
or
* Use ``sekizai.context.SekizaiContext`` when rendering your templates.
@@ -137,7 +131,7 @@
.. warning::
``{% render_block %}`` tags **must not** be placed inside a template tag block (a template tag which has an
- end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
+ end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
.. warning::
@@ -148,6 +142,10 @@
If the ``{% addtoblock %}`` tag is used in an **extending** template, the tags **must** be
placed within ``{% block %}...{% endblock %}`` tags.
+.. warning::
+
+ ``{% addtoblock %}`` tags **must not** be used in a template included with ``only`` option!
+
Handling data
-------------
@@ -430,6 +428,12 @@
Changelog
*********
+0.11.0
+======
+
+* Added support for Django 1.11, 2.0, 2.1, and 2.2
+* Removed support for Django < 1.11
+
0.10.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/runtests.py new/django-sekizai-1.0.0/runtests.py
--- old/django-sekizai-0.10.0/runtests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/runtests.py 2019-04-11 14:03:34.000000000 +0200
@@ -4,8 +4,6 @@
urlpatterns = []
-TEMPLATE_DEBUG = True
-
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
@@ -13,59 +11,38 @@
}
}
-
INSTALLED_APPS = [
'sekizai',
]
-TEMPLATE_DIRS = [
- os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates'),
-]
-
-TEMPLATE_CONTEXT_PROCESSORS = [
- 'sekizai.context_processors.sekizai',
-]
-
-
ROOT_URLCONF = 'runtests'
-
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': TEMPLATE_DIRS,
+ 'DIRS': [os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates')],
'OPTIONS': {
- 'context_processors': TEMPLATE_CONTEXT_PROCESSORS,
- 'debug': TEMPLATE_DEBUG
+ 'context_processors': ['sekizai.context_processors.sekizai'],
+ 'debug': True,
},
},
]
def runtests():
- from django import VERSION
+ from django import setup
from django.conf import settings
- if VERSION[0] == 1 and VERSION[1] < 6:
- runner = 'django.test.simple.DjangoTestSuiteRunner'
- else:
- runner = 'django.test.runner.DiscoverRunner'
+ from django.test.utils import get_runner
settings.configure(
INSTALLED_APPS=INSTALLED_APPS,
ROOT_URLCONF=ROOT_URLCONF,
DATABASES=DATABASES,
- TEST_RUNNER=runner,
- TEMPLATE_DIRS=TEMPLATE_DIRS,
- TEMPLATE_CONTEXT_PROCESSORS=TEMPLATE_CONTEXT_PROCESSORS,
- TEMPLATE_DEBUG=TEMPLATE_DEBUG,
- MIDDLEWARE_CLASSES=[],
+ TEST_RUNNER='django.test.runner.DiscoverRunner',
TEMPLATES=TEMPLATES,
)
- if VERSION[1] >= 7:
- from django import setup
- setup()
+ setup()
# Run the test suite, including the extra validation tests.
- from django.test.utils import get_runner
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=1, interactive=False, failfast=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/__init__.py new/django-sekizai-1.0.0/sekizai/__init__.py
--- old/django-sekizai-0.10.0/sekizai/__init__.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/__init__.py 2019-04-11 14:03:34.000000000 +0200
@@ -1 +1 @@
-__version__ = '0.10.0'
+__version__ = '1.0.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/helpers.py new/django-sekizai-1.0.0/sekizai/helpers.py
--- old/django-sekizai-0.10.0/sekizai/helpers.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/helpers.py 2019-04-11 14:03:34.000000000 +0200
@@ -5,11 +5,6 @@
from django.template.loader import get_template
from django.template.loader_tags import BlockNode, ExtendsNode
-try:
- from django.template import engines
-except ImportError:
- engines = None
-
def _get_nodelist(tpl):
if isinstance(tpl, Template):
@@ -29,12 +24,9 @@
def get_context():
- if engines is not None:
- context = Context()
- context.template = Template('')
- return context
- else:
- return Context()
+ context = Context()
+ context.template = Template('')
+ return context
def _extend_blocks(extend_node, blocks):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py
--- old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py 2019-04-11 14:03:34.000000000 +0200
@@ -29,12 +29,8 @@
try:
template_debug = context.template.engine.debug
except AttributeError:
- try:
- # Get the default engine debug value
- template_debug = template.Engine.get_default().debug
- except AttributeError:
- # Django 1.9 and below fallback
- template_debug = settings.TEMPLATE_DEBUG
+ # Get the default engine debug value
+ template_debug = template.Engine.get_default().debug
if get_varname() in context:
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/tests.py new/django-sekizai-1.0.0/sekizai/tests.py
--- old/django-sekizai-0.10.0/sekizai/tests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/tests.py 2019-04-11 14:03:34.000000000 +0200
@@ -8,8 +8,10 @@
from django import template
from django.conf import settings
from django.template.loader import render_to_string
+from django.template.engine import Engine
import pep8
+from sekizai import context_processors
from sekizai.context import SekizaiContext
from sekizai.helpers import get_namespaces
from sekizai.helpers import get_varname
@@ -39,7 +41,7 @@
class SettingsOverride(object):
"""
- Overrides Django settings within a context and resets them to their inital
+ Overrides Django settings within a context and resets them to their initial
values on exit.
Example:
@@ -171,57 +173,40 @@
:return: SettingsOverride object
"""
- if django.VERSION[0] == 1 and django.VERSION[1] < 8:
- return SettingsOverride(TEMPLATE_DEBUG=debug)
- else:
- # Create our overridden template settings with debug turned off.
- templates_override = settings.TEMPLATES
- templates_override[0]['OPTIONS'].update({
- 'debug': debug
- })
-
- from django.template.engine import Engine
- # Engine gets created based on template settings initial value so
- # changing the settings after the fact won't update, so do it
- # manually. Necessary when testing validate_context
- # with render method and want debug off.
- Engine.get_default().debug = debug
- return SettingsOverride(TEMPLATES=templates_override)
+ # Create our overridden template settings with debug turned off.
+ templates_override = settings.TEMPLATES
+ templates_override[0]['OPTIONS'].update({'debug': debug})
+ # Engine gets created based on template settings initial value so
+ # changing the settings after the fact won't update, so do it
+ # manually. Necessary when testing validate_context
+ # with render method and want debug off.
+ Engine.get_default().debug = debug
+ return SettingsOverride(TEMPLATES=templates_override)
class SekizaiTestCase(TestCase):
- @classmethod
- def setUpClass(cls):
- cls._template_dirs = settings.TEMPLATE_DIRS
- template_dir = os.path.join(
- os.path.dirname(__file__),
- 'test_templates'
- )
- settings.TEMPLATE_DIRS = list(cls._template_dirs) + [template_dir]
-
- @classmethod
- def tearDownClass(cls):
- settings.TEMPLATE_DIRS = cls._template_dirs
- def _render(self, tpl, ctx=None, ctxclass=SekizaiContext):
- ctx = ctx or {}
- return render_to_string(tpl, ctxclass(ctx))
+ def _render(self, tpl, ctx=None, sekizai_context=True):
+ ctx = dict(ctx) if ctx else {}
+ if sekizai_context:
+ ctx.update(context_processors.sekizai())
+ return render_to_string(tpl, ctx)
- def _get_bits(self, tpl, ctx=None, ctxclass=SekizaiContext):
+ def _get_bits(self, tpl, ctx=None, sekizai_context=True):
ctx = ctx or {}
- rendered = self._render(tpl, ctx, ctxclass)
+ rendered = self._render(tpl, ctx, sekizai_context)
bits = [
bit for bit in [bit.strip('\n')
for bit in rendered.split('\n')] if bit
]
return bits, rendered
- def _test(self, tpl, res, ctx=None, ctxclass=SekizaiContext):
+ def _test(self, tpl, res, ctx=None, sekizai_context=True):
"""
Helper method to render template and compare it's bits
"""
ctx = ctx or {}
- bits, rendered = self._get_bits(tpl, ctx, ctxclass)
+ bits, rendered = self._get_bits(tpl, ctx, sekizai_context)
differ = BitDiff(res)
result = differ.test(bits)
self.assertTrue(result.status, result.message)
@@ -257,7 +242,7 @@
def test_eat_content_before_render_block(self):
"""
- Testing that content get's eaten if no render_blocks is available
+ Testing that content gets eaten if no render_blocks is available
"""
bits = ["mycontent"]
self._test("eat.html", bits)
@@ -267,10 +252,8 @@
Test that the template tags properly fail if not used with either
SekizaiContext or the context processor.
"""
- self.assertRaises(
- template.TemplateSyntaxError,
- self._render, 'basic.html', {}, template.Context
- )
+ with self.assertRaises(template.TemplateSyntaxError):
+ self._render('basic.html', {}, sekizai_context=False)
def test_complex_template_inheritance(self):
"""
@@ -383,7 +366,7 @@
self.assertEqual(validate_context(django_ctx), False)
self.assertEqual(validate_context(sekizai_ctx), True)
bits = ['some content', 'more content', 'final content']
- self._test('basic.html', bits, ctxclass=template.Context)
+ self._test('basic.html', bits, sekizai_context=False)
def test_post_processor_null(self):
bits = ['header', 'footer']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/setup.py new/django-sekizai-1.0.0/setup.py
--- old/django-sekizai-0.10.0/setup.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/setup.py 2019-04-11 14:03:34.000000000 +0200
@@ -14,6 +14,7 @@
zip_safe=False,
include_package_data=True,
install_requires=[
+ 'django>=1.11',
'django-classy-tags>=0.3.1',
],
test_suite='runtests.main',
@@ -21,13 +22,18 @@
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
+ 'Framework :: Django :: 1.11',
+ 'Framework :: Django :: 2.0',
+ 'Framework :: Django :: 2.1',
+ 'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
]
)
1
0
Hello community,
here is the log from the commit of package libmodulemd for openSUSE:Factory checked in at 2019-05-24 11:33:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmodulemd (Old)
and /work/SRC/openSUSE:Factory/.libmodulemd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmodulemd"
Fri May 24 11:33:23 2019 rev:6 rq:705109 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmodulemd/libmodulemd.changes 2019-05-12 11:44:51.951887694 +0200
+++ /work/SRC/openSUSE:Factory/.libmodulemd.new.5148/libmodulemd.changes 2019-05-24 11:33:25.061366054 +0200
@@ -1,0 +2,12 @@
+Fri May 24 03:25:00 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to 2.5.0 (v2) and 1.8.11 (v1)
+ + Ensure that XMD is always emitted in the same order
+ + Add .clear_*() functions for all .add_*() functions
+ + Add ModuleStream.equals()
+ + Add ModuleIndex.get_default_streams()
+ + Add ModuleStreamV2.clear_dependencies() and .remove_dependencies()
+ + Fix bugs and memory issues with the XMD python bindings
+ + Assorted documentation enhancements
+
+-------------------------------------------------------------------
Old:
----
modulemd-2.3.1.tar.xz
New:
----
modulemd-2.5.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmodulemd.spec ++++++
--- /var/tmp/diff_new_pack.uqCkTc/_old 2019-05-24 11:33:25.869365745 +0200
+++ /var/tmp/diff_new_pack.uqCkTc/_new 2019-05-24 11:33:25.869365745 +0200
@@ -17,8 +17,8 @@
%global majorversion 2
-%global minorversion 3
-%global patchversion 1
+%global minorversion 5
+%global patchversion 0
%global majorminorversion %{majorversion}.%{minorversion}
%global nsversion %{majorversion}.0
@@ -31,7 +31,7 @@
# Legacy modulemd API
%global oldmajorver 1
%global oldminorver 8
-%global oldpatchver 8
+%global oldpatchver 11
%global oldmajorminorver %{oldmajorver}.%{oldminorver}
%global oldnsver %{oldmajorver}.0
++++++ modulemd-2.3.1.tar.xz -> modulemd-2.5.0.tar.xz ++++++
++++ 3298 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package librepo for openSUSE:Factory checked in at 2019-05-24 11:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librepo (Old)
and /work/SRC/openSUSE:Factory/.librepo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librepo"
Fri May 24 11:33:21 2019 rev:8 rq:705108 version:1.10.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/librepo/librepo.changes 2019-05-12 11:46:25.228161549 +0200
+++ /work/SRC/openSUSE:Factory/.librepo.new.5148/librepo.changes 2019-05-24 11:33:22.701366955 +0200
@@ -1,0 +2,7 @@
+Fri May 24 03:18:15 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Upgrade to 1.10.3
+ + Exit gpg-agent after repokey import (rh#1650266)
+ + Make sure to check next transfer if current zck transfer already exists (rh#1706627)
+
+-------------------------------------------------------------------
Old:
----
librepo-1.10.2.tar.gz
New:
----
librepo-1.10.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librepo.spec ++++++
--- /var/tmp/diff_new_pack.ClKO9j/_old 2019-05-24 11:33:23.249366745 +0200
+++ /var/tmp/diff_new_pack.ClKO9j/_new 2019-05-24 11:33:23.253366744 +0200
@@ -35,7 +35,7 @@
%define devname %{name}-devel
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 0
Summary: Repodata downloading library
License: LGPL-2.0-or-later
++++++ librepo-1.10.2.tar.gz -> librepo-1.10.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/VERSION.cmake new/librepo-1.10.3/VERSION.cmake
--- old/librepo-1.10.2/VERSION.cmake 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/VERSION.cmake 2019-05-24 05:06:30.000000000 +0200
@@ -1,3 +1,3 @@
SET(LIBREPO_MAJOR "1")
SET(LIBREPO_MINOR "10")
-SET(LIBREPO_PATCH "2")
+SET(LIBREPO_PATCH "3")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/downloader.c new/librepo-1.10.3/librepo/downloader.c
--- old/librepo-1.10.2/librepo/downloader.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/downloader.c 2019-05-24 05:06:30.000000000 +0200
@@ -1450,7 +1450,7 @@
goto fail;
}
- // If zchunk is finished, we're done
+ // If zchunk is finished, we're done, so move to next target
if(target->zck_state == LR_ZCK_DL_FINISHED) {
g_debug("%s: Target already fully downloaded: %s", __func__, target->target->path);
target->state = LR_DS_FINISHED;
@@ -1461,7 +1461,7 @@
fclose(target->f);
target->f = NULL;
lr_downloadtarget_set_error(target->target, LRE_OK, NULL);
- return TRUE;
+ return prepare_next_transfer(dd, candidatefound, err);
}
}
# endif /* WITH_ZCHUNK */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/gpg.c new/librepo-1.10.3/librepo/gpg.c
--- old/librepo-1.10.2/librepo/gpg.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/gpg.c 2019-05-24 05:06:30.000000000 +0200
@@ -32,6 +32,30 @@
#include "util.h"
#include "gpg.h"
+static void
+kill_gpg_agent(gpgme_ctx_t context, const char *home_dir)
+{
+ gpgme_error_t gpgerr;
+
+ gpgerr = gpgme_set_protocol(context, GPGME_PROTOCOL_ASSUAN);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_set_protocol: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ if (home_dir) {
+ gchar * gpg_agent_sock = g_build_filename(home_dir, "S.gpg-agent", NULL);
+ gpgerr = gpgme_ctx_set_engine_info(context, GPGME_PROTOCOL_ASSUAN, gpg_agent_sock, home_dir);
+ g_free(gpg_agent_sock);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_ctx_set_engine_info: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ }
+ gpgerr = gpgme_op_assuan_transact_ext(context, "KILLAGENT", NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (gpgerr != GPG_ERR_NO_ERROR)
+ g_debug("%s: gpgme_op_assuan_transact_ext: %s", __func__, gpgme_strerror(gpgerr));
+}
+
gboolean
lr_gpg_check_signature_fd(int signature_fd,
int data_fd,
@@ -295,6 +319,14 @@
}
close(key_fd);
+
+ // Running gpg-agent kept opened sockets on the system.
+ // It tries to exit gpg-agent. Path to the communication socket is derived from homedir.
+ // The gpg-agent automaticaly removes all its socket before exit.
+ // Newer gpg-agent creates sockets under [/var]/run/user/{pid}/... if directory exists.
+ // In this case gpg-agent will not be exited.
+ kill_gpg_agent(context, home_dir);
+
gpgme_release(context);
return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo.spec new/librepo-1.10.3/librepo.spec
--- old/librepo-1.10.2/librepo.spec 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo.spec 2019-05-24 05:06:30.000000000 +0200
@@ -26,7 +26,7 @@
%global dnf_conflict 2.8.8
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 1%{?dist}
Summary: Repodata downloading library
1
0
Hello community,
here is the log from the commit of package python-coconut for openSUSE:Factory checked in at 2019-05-24 11:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-coconut (Old)
and /work/SRC/openSUSE:Factory/.python-coconut.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-coconut"
Fri May 24 11:33:18 2019 rev:5 rq:705105 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-coconut/python-coconut.changes 2019-04-05 11:57:12.670360010 +0200
+++ /work/SRC/openSUSE:Factory/.python-coconut.new.5148/python-coconut.changes 2019-05-24 11:33:19.821368055 +0200
@@ -1,0 +2,13 @@
+Fri May 24 03:06:34 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Add conflicts with python2 version since we are dropping
+ update-alternatives.
+
+-------------------------------------------------------------------
+Wed May 22 14:34:21 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support since some of its dependencies have also
+ dropped python2 support.
+- Use new jupyter package names.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-coconut.spec ++++++
--- /var/tmp/diff_new_pack.bC8kv1/_old 2019-05-24 11:33:20.501367795 +0200
+++ /var/tmp/diff_new_pack.bC8kv1/_new 2019-05-24 11:33:20.505367793 +0200
@@ -17,6 +17,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-coconut
Version: 1.4.0
Release: 0
@@ -26,26 +27,23 @@
URL: https://github.com/evhub/coconut
Source: https://files.pythonhosted.org/packages/source/c/coconut/coconut-%{version}…
BuildRequires: %{python_module Pygments >= 2.2}
+BuildRequires: %{python_module prompt_toolkit >= 2}
BuildRequires: %{python_module pyparsing >= 2.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
-# IPython python2 version requires prompt_toolkit 1 while python3 version requires prompt_toolkit 2
BuildRequires: fdupes
-BuildRequires: python-prompt_toolkit1
BuildRequires: python-rpm-macros
-BuildRequires: python2-futures >= 3.1
-BuildRequires: python3-prompt_toolkit >= 2
# SECTION test requirements
BuildRequires: %{python_module cPyparsing >= 2.2.0.1.1}
BuildRequires: %{python_module jupyter >= 1}
BuildRequires: %{python_module jupyter_console >= 5.2}
-BuildRequires: %{python_module jupyter_ipykernel >= 4.6}
-BuildRequires: %{python_module jupyter_ipython >= 5.4}
+BuildRequires: %{python_module ipykernel >= 4.6}
+BuildRequires: %{python_module ipython >= 5.4}
+BuildRequires: %{python_module mypy >= 0.540}
BuildRequires: %{python_module psutil >= 5}
BuildRequires: %{python_module pytest >= 3}
BuildRequires: %{python_module requests >= 2}
BuildRequires: %{python_module watchdog >= 0.8}
-BuildRequires: python3-mypy >= 0.540
# /SECTION
Requires: python-Pygments >= 2.2
Requires: python-pyparsing >= 2.2
@@ -53,22 +51,16 @@
Recommends: python-cPyparsing >= 2.2.0.1.1
Recommends: python-jupyter >= 1
Recommends: python-jupyter_console >= 5.2
-Recommends: python-jupyter_ipykernel >= 4.6
-Recommends: python-jupyter_ipython >= 5.4
+Recommends: python-ipykernel >= 4.6
+Recommends: python-ipython >= 5.4
Recommends: python-mypy >= 0.540
+Requires: python-prompt_toolkit >= 2
Recommends: python-psutil >= 5
Recommends: python-requests >= 2
Recommends: python-watchdog >= 0.8
-%ifpython2
-Requires: python-futures >= 3.1
-Requires: python-prompt_toolkit1
-%endif
-%ifpython3
-Requires: python-prompt_toolkit >= 2
-%endif
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Conflicts: python2-coconut <= 1.4.0
BuildArch: noarch
+
%python_subpackages
%description
@@ -91,23 +83,15 @@
%install
%python_install
%python_expand %fdupes %{buildroot}/%{$python_sitelib}/
-%python_clone -a %{buildroot}%{_bindir}/coconut
-
-%post
-%python_install_alternative coconut
-
-%postun
-%python_uninstall_alternative coconut
%files %{python_files}
%doc README.rst CONTRIBUTING.md DOCS.md FAQ.md HELP.md
%license LICENSE.txt
-%python2_only %{_bindir}/coconut-py2*
-%python3_only %{_bindir}/coconut-py3*
-%python_alternative %{_bindir}/coconut
-%python3_only %{_bindir}/coconut-v1*
-%python3_only %{_bindir}/coconut-release*
-%python3_only %{_bindir}/coconut-run
+%{_bindir}/coconut-py3*
+%{_bindir}/coconut
+%{_bindir}/coconut-v1*
+%{_bindir}/coconut-release*
+%{_bindir}/coconut-run
%{python_sitelib}/coconut/
%{python_sitelib}/coconut-%{version}-py*.egg-info
1
0
Hello community,
here is the log from the commit of package dnf-plugins-core for openSUSE:Factory checked in at 2019-05-24 11:33:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dnf-plugins-core (Old)
and /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnf-plugins-core"
Fri May 24 11:33:13 2019 rev:8 rq:705103 version:4.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/dnf-plugins-core/dnf-plugins-core.changes 2019-04-28 20:12:06.114468873 +0200
+++ /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148/dnf-plugins-core.changes 2019-05-24 11:33:16.865369184 +0200
@@ -1,0 +2,12 @@
+Fri May 24 02:56:30 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to version 4.0.7
+ + Fix: copr disable command traceback (rh#1693551)
+ + [doc] state repoid as repo identifier of config-manager (rh#1686779)
+ + Fix download of src when not the latest requested (rh#1649627)
+- Add missing dependencies on dateutil and distro Python modules
+- Drop backported fixes that are part of this release
+ * 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
+ * 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
dnf-plugins-core-4.0.6.tar.gz
New:
----
dnf-plugins-core-4.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dnf-plugins-core.spec ++++++
--- /var/tmp/diff_new_pack.FmWYmb/_old 2019-05-24 11:33:17.989368754 +0200
+++ /var/tmp/diff_new_pack.FmWYmb/_new 2019-05-24 11:33:17.993368753 +0200
@@ -35,7 +35,7 @@
#global prerel rc1
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 0
Summary: Core Plugins for DNF
License: GPL-2.0+
@@ -43,10 +43,6 @@
Url: https://github.com/rpm-software-management/dnf-plugins-core
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-# Backports from upstream
-Patch0001: 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
-Patch0002: 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
-
BuildArch: noarch
BuildRequires: cmake
@@ -107,6 +103,8 @@
BuildRequires: python3-nose
Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
+Requires: python3-dateutil
+Requires: python3-distro
Conflicts: %{name} <= 0.1.5
# let the both python plugin versions be updated simultaneously
++++++ dnf-plugins-core-4.0.6.tar.gz -> dnf-plugins-core-4.0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec
--- old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec 2019-05-07 14:43:47.000000000 +0200
@@ -23,7 +23,7 @@
%endif
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 1%{?dist}
Summary: Core Plugins for DNF
License: GPLv2+
@@ -684,6 +684,11 @@
%endif
%changelog
+* Tue May 07 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.7-1
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
* Mon Mar 11 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.6-1
- Use improved config parser that preserves order of data
- [leaves] Show multiply satisfied dependencies as leaves
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/config_manager.rst new/dnf-plugins-core-4.0.7/doc/config_manager.rst
--- old/dnf-plugins-core-4.0.6/doc/config_manager.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/config_manager.rst 2019-05-07 14:43:47.000000000 +0200
@@ -26,15 +26,15 @@
Synopsis
--------
-``dnf config-manager [options] <repo>...``
+``dnf config-manager [options] <repoid>...``
---------
Arguments
---------
-``<repo>``
- Display / modify specified repository. If not specified display / modify main DNF configuration.
- Repositories can be specified using globs.
+``<repoid>``
+ Display / modify a repository identified by <repoid>. If not specified, display / modify
+ main DNF configuration. Repositories can be specified using globs.
-------
Options
@@ -71,11 +71,12 @@
``dnf config-manager --dump``
Display main DNF configuration.
-``dnf config-manager repo --dump``
- Display configuration of repo.
+``dnf config-manager <repoid> --dump``
+ Display configuration of a repository identified by <repoid>.
-``dnf config-manager --set-enabled repo``
- Enable repo and make the change permanent.
+``dnf config-manager --set-enabled <repoid>``
+ Enable repository identified by <repoid> and make the change permanent.
-``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ repo1 repo2 --save``
- Update proxy setting in repo1 and repo2 and make the change permanent.
+``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ <repo1> <repo2> --save``
+ Update proxy setting in repositories with repoid <repo1> and <repo2> and make the change
+ permanent.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/release_notes.rst new/dnf-plugins-core-4.0.7/doc/release_notes.rst
--- old/dnf-plugins-core-4.0.6/doc/release_notes.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/release_notes.rst 2019-05-07 14:43:47.000000000 +0200
@@ -22,6 +22,18 @@
.. contents::
===================
+4.0.7 Release Notes
+===================
+
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
+Bugs fixed in 4.0.7:
+
+* :rhbug:`1693551`
+
+===================
4.0.6 Release Notes
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/summaries_cache new/dnf-plugins-core-4.0.7/doc/summaries_cache
--- old/dnf-plugins-core-4.0.6/doc/summaries_cache 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/summaries_cache 2019-05-07 14:43:47.000000000 +0200
@@ -430,5 +430,9 @@
[
1666648,
"dnf download command downloads also a srpm"
+ ],
+ [
+ 1693551,
+ "Problem with dnf copr disable command"
]
]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/copr.py new/dnf-plugins-core-4.0.7/plugins/copr.py
--- old/dnf-plugins-core-4.0.6/plugins/copr.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/copr.py 2019-05-07 14:43:47.000000000 +0200
@@ -518,7 +518,7 @@
.format(copr_username, copr_projectname)))
self.base.conf.write_raw_configfile(repo.repofile, repo.id,
- self.base.conf.substitutions, {"enabled": 0})
+ self.base.conf.substitutions, {"enabled": "0"})
@classmethod
def _get_data(cls, f):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/download.py new/dnf-plugins-core-4.0.7/plugins/download.py
--- old/dnf-plugins-core-4.0.6/plugins/download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/download.py 2019-05-07 14:43:47.000000000 +0200
@@ -270,13 +270,11 @@
def _get_query_source(self, pkg_spec):
"""Return a query to match a source rpm file name."""
pkg_spec = pkg_spec[:-4] # skip the .rpm
- nevra = hawkey.split_nevra(pkg_spec)
- q = self.base.sack.query()
- q = q.available()
- q = q.latest()
- q = q.filter(name=nevra.name, version=nevra.version,
- release=nevra.release, arch=nevra.arch)
- if len(q.run()) == 0:
- msg = _("No package %s available.") % (pkg_spec)
- raise dnf.exceptions.PackageNotFoundError(msg)
- return q
+ subj = dnf.subject.Subject(pkg_spec)
+ for nevra_obj in subj.get_nevra_possibilities():
+ tmp_query = nevra_obj.to_query(self.base.sack).available()
+ if tmp_query:
+ return tmp_query.latest()
+
+ msg = _("No package %s available.") % (pkg_spec)
+ raise dnf.exceptions.PackageNotFoundError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core
--- old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core 2019-05-07 14:43:47.000000000 +0200
@@ -1 +1 @@
-4.0.6-1 ./
+4.0.7-1 ./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/tests/test_download.py new/dnf-plugins-core-4.0.7/tests/test_download.py
--- old/dnf-plugins-core-4.0.6/tests/test_download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/tests/test_download.py 2019-05-07 14:43:47.000000000 +0200
@@ -271,12 +271,6 @@
finally:
os.remove(rpm_path)
- def test_get_query_source(self):
- pkgs = self.cmd._get_query_source('foo-2.0-1.src.rpm')
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
-
def test_get_packages(self):
pkgs = self.cmd._get_packages(['bar'])
self.assertEqual(len(pkgs), 1)
@@ -299,10 +293,6 @@
self.cmd.base.conf.strict = strict_orig
self.assertEqual(pkgs[0].name, 'bar')
- pkgs = self.cmd._get_packages(['foo-2.0-1.src.rpm'], source=True)
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
def test_download_rpms(self):
pkgs = self.cmd._get_pkg_objs_rpms(['foo'])
@@ -316,17 +306,6 @@
self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.noarch.rpm')
self.assertTrue(self.cmd.base.download_packages.called)
- def test_download_source(self):
- pkgs = self.cmd._get_pkg_objs_source(['foo'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 1)
- self.assertEqual(locations[0], '/tmp/dnf/foo-2.0-1.src.rpm')
- pkgs = self.cmd._get_pkg_objs_source(['foo', 'bar'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 2)
- self.assertEqual(locations[0], '/tmp/dnf/bar-2.0-1.src.rpm')
- self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.src.rpm')
-
def test_download_debuginfo(self):
pkgs = self.cmd._get_pkg_objs_debuginfo(['kernel-PAE'])
locations = self.cmd._do_downloads(pkgs)
1
0
Hello community,
here is the log from the commit of package icinga2 for openSUSE:Factory checked in at 2019-05-24 11:33:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icinga2 (Old)
and /work/SRC/openSUSE:Factory/.icinga2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icinga2"
Fri May 24 11:33:09 2019 rev:18 rq:705093 version:2.10.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/icinga2/icinga2.changes 2019-03-21 09:53:31.646785174 +0100
+++ /work/SRC/openSUSE:Factory/.icinga2.new.5148/icinga2.changes 2019-05-24 11:33:11.341371293 +0200
@@ -1,0 +2,20 @@
+Thu May 23 20:23:57 UTC 2019 - ecsos(a)opensuse.org
+
+- update to 2.10.5
+ * Core
+ - Fix crashes with logrotate signals #6737 (thanks Elias Ohm)
+ * API
+ - Fix crashes and problems with permission filters from recent
+ Namespace introduction #6785 (thanks Elias Ohm) #6874 (backported from 2.11)
+ - Reduce log spam with locked connections (real fix is the network stack rewrite in 2.11) #6877
+ * Cluster
+ - Fix problems with replay log rotation and storage #6932 (thanks Peter Eckel)
+ * IDO DB
+ - Fix that reload shutdown deactivates hosts and hostgroups (introduced in 2.9) #7157
+ * Documentation
+ - Improve the REST API chapter: Unix timestamp handling, filters, unify POST requests with filters in the body
+ - Better layout for the features chapter, specifically metrics and events
+ - Split object types into monitoring, runtime, features
+ - Add technical concepts for cluster messages
+
+-------------------------------------------------------------------
Old:
----
v2.10.4.tar.gz
New:
----
v2.10.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icinga2.spec ++++++
--- /var/tmp/diff_new_pack.FaKcPS/_old 2019-05-24 11:33:12.337370913 +0200
+++ /var/tmp/diff_new_pack.FaKcPS/_new 2019-05-24 11:33:12.341370912 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -86,7 +86,7 @@
%else
%endif # suse
Name: icinga2
-Version: 2.10.4
+Version: 2.10.5
Release: %{revision}%{?dist}
Url: https://www.icinga.com/
Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
++++++ v2.10.4.tar.gz -> v2.10.5.tar.gz ++++++
++++ 16651 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package v4l2loopback for openSUSE:Factory checked in at 2019-05-24 11:33:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old)
and /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v4l2loopback"
Fri May 24 11:33:06 2019 rev:6 rq:705074 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes 2019-01-24 14:15:37.711208975 +0100
+++ /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148/v4l2loopback.changes 2019-05-24 11:33:08.165372507 +0200
@@ -1,0 +2,6 @@
+Thu May 23 16:51:39 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Added v4l2loopback-no_deprecated_function.patch (fix build with
+ newer kernels)
+
+-------------------------------------------------------------------
New:
----
v4l2loopback-no_deprecated_function.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ v4l2loopback.spec ++++++
--- /var/tmp/diff_new_pack.T4IfMg/_old 2019-05-24 11:33:08.905372224 +0200
+++ /var/tmp/diff_new_pack.T4IfMg/_new 2019-05-24 11:33:08.909372222 +0200
@@ -25,6 +25,8 @@
URL: https://github.com/umlaeute/v4l2loopback
Source: https://github.com/umlaeute/v4l2loopback/archive/v%{version}.tar.gz#/%{name…
Source1: preamble
+# PATCH-FIX-UPSTREAM v4l2loopback-no_deprecated_function.patch
+Patch0: v4l2loopback-no_deprecated_function.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: gcc
BuildRequires: help2man
@@ -47,6 +49,7 @@
%prep
%setup -q
+%patch0 -p1
set -- *
mkdir source
mv "$@" source/
++++++ v4l2loopback-no_deprecated_function.patch ++++++
>From 0b8feb80fdef9a415d8250bca1790b3ff23e8391 Mon Sep 17 00:00:00 2001
From: Theodore Cipicchio <okready(a)users.noreply.github.com>
Date: Thu, 25 Apr 2019 21:51:11 -0700
Subject: [PATCH] Replace v4l2_get_timestamp with ktime_get_ts(64)
v4l2_get_timestamp is being removed in Linux 5.1. This replaces its use
with equivalent code (ktime_get_ts64 is used in favor of ktime_get_ts
with supported kernel versions, as the latter is considered deprecated).
Closes: https://github.com/umlaeute/v4l2loopback/issues/214
---
v4l2loopback.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/v4l2loopback.c b/v4l2loopback.c
index 322ce17..42d611f 100644
--- a/v4l2loopback.c
+++ b/v4l2loopback.c
@@ -134,6 +134,20 @@ void *v4l2l_vzalloc(unsigned long size)
# define v4l2l_vzalloc vzalloc
#endif
+static inline void v4l2l_get_timestamp(struct timeval *tv) {
+ /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+ struct timespec ts;
+ ktime_get_ts(&ts);
+#else
+ struct timespec64 ts;
+ ktime_get_ts64(&ts);
+#endif
+
+ tv->tv_sec = (time_t)ts.tv_sec;
+ tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
+}
+
/* module constants
* can be overridden during he build process using something like
@@ -1506,7 +1520,7 @@ static int vidioc_qbuf(struct file *file, void *private_data, struct v4l2_buffer
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
dprintkrw("output QBUF pos: %d index: %d\n", dev->write_position, index);
if (buf->timestamp.tv_sec == 0 && buf->timestamp.tv_usec == 0)
- v4l2_get_timestamp(&b->buffer.timestamp);
+ v4l2l_get_timestamp(&b->buffer.timestamp);
else
b->buffer.timestamp = buf->timestamp;
b->buffer.bytesused = buf->bytesused;
@@ -1933,7 +1947,7 @@ static ssize_t v4l2_loopback_write(struct file *file,
count);
return -EFAULT;
}
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
b->bytesused = count;
b->sequence = dev->write_position;
buffer_written(dev, &dev->buffers[write_index]);
@@ -2038,7 +2052,7 @@ static void init_buffers(struct v4l2_loopback_device *dev)
b->timestamp.tv_usec = 0;
b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
}
dev->timeout_image_buffer = dev->buffers[0];
dev->timeout_image_buffer.buffer.m.offset = MAX_BUFFERS * buffer_size;
1
0
Hello community,
here is the log from the commit of package python-nltk for openSUSE:Factory checked in at 2019-05-24 11:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nltk (Old)
and /work/SRC/openSUSE:Factory/.python-nltk.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nltk"
Fri May 24 11:33:03 2019 rev:4 rq:705020 version:3.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nltk/python-nltk.changes 2019-02-24 17:14:08.276464045 +0100
+++ /work/SRC/openSUSE:Factory/.python-nltk.new.5148/python-nltk.changes 2019-05-24 11:33:04.737373816 +0200
@@ -1,0 +2,12 @@
+Thu May 23 12:41:31 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.4.1
+ * add chomsky_normal_form for CFGs
+ * add meteor score
+ * add minimum edit/Levenshtein distance based alignment function
+ * allow access to collocation list via text.collocation_list()
+ * support corenlp server options
+ * drop support for Python 3.4
+ * other minor fixes
+
+-------------------------------------------------------------------
Old:
----
nltk-3.4.zip
New:
----
nltk-3.4.1.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nltk.spec ++++++
--- /var/tmp/diff_new_pack.nCypzI/_old 2019-05-24 11:33:05.437373548 +0200
+++ /var/tmp/diff_new_pack.nCypzI/_new 2019-05-24 11:33:05.441373547 +0200
@@ -21,7 +21,7 @@
%define pyname nltk
Name: python-nltk
-Version: 3.4
+Version: 3.4.1
Release: 0
Summary: Natural Language Toolkit
License: Apache-2.0
1
0
Hello community,
here is the log from the commit of package python-QDarkStyle for openSUSE:Factory checked in at 2019-05-24 11:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QDarkStyle (Old)
and /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-QDarkStyle"
Fri May 24 11:33:00 2019 rev:2 rq:705019 version:2.6.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QDarkStyle/python-QDarkStyle.changes 2019-02-24 17:10:34.516502142 +0100
+++ /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148/python-QDarkStyle.changes 2019-05-24 11:33:02.409374705 +0200
@@ -1,0 +2,18 @@
+Thu May 23 12:14:36 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 2.6.8
+ - Fix double border in QtabWidget for pyqt5
+ - Fix widgets border in QTabWidget as QLabel #141, #123, #126
+ - Fix QTab scroller buttons background #136
+ - Update color from images, fix #127
+ - Add retina resolution @2x, fix #140
+ - Intermediate version before merge PR #142 adding scripts
+ - Fix combobox indicator and padding #132
+ - Fix PyQtGraph plot axes covered by padding #134
+ - Update authors
+ - Fix tabbed bordeless frames and add more examples, #123, #126
+ - Add feedback to pressed buttons, #133
+ - Change future warning to pending deprecation for developers, #125 in v2.x
+ - Fix hover in qtabwidget, #128
+
+-------------------------------------------------------------------
Old:
----
QDarkStyle-2.6.5.tar.gz
New:
----
QDarkStyle-2.6.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-QDarkStyle.spec ++++++
--- /var/tmp/diff_new_pack.PCboba/_old 2019-05-24 11:33:03.273374375 +0200
+++ /var/tmp/diff_new_pack.PCboba/_new 2019-05-24 11:33:03.285374371 +0200
@@ -12,26 +12,28 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-QDarkStyle
-Version: 2.6.5
+Version: 2.6.8
Release: 0
-License: MIT
Summary: A dark stylesheet for Python and Qt applications
-Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
+License: MIT
Group: Development/Languages/Python
+Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
Source: https://github.com/ColinDuquesnoy/QDarkStyleSheet/archive/%{version}.tar.gz…
-BuildRequires: python-rpm-macros
-BuildRequires: python3-pyside2
-BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module QtPy}
BuildRequires: %{python_module pytest-qt}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module qt5-devel}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module QtPy}
BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+BuildRequires: python3-pyside2
+Requires: python-setuptools
BuildArch: noarch
%python_subpackages
++++++ QDarkStyle-2.6.5.tar.gz -> QDarkStyle-2.6.8.tar.gz ++++++
++++ 19730 lines of diff (skipped)
1
0