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
January 2017
- 1 participants
- 679 discussions
Hello community,
here is the log from the commit of package php5-ice for openSUSE:Factory checked in at 2017-01-16 11:16:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/php5-ice (Old)
and /work/SRC/openSUSE:Factory/.php5-ice.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php5-ice"
Changes:
--------
--- /work/SRC/openSUSE:Factory/php5-ice/php5-ice.changes 2017-01-09 11:02:42.592484350 +0100
+++ /work/SRC/openSUSE:Factory/.php5-ice.new/php5-ice.changes 2017-01-16 11:16:09.558339883 +0100
@@ -1,0 +2,6 @@
+Sun Jan 15 18:05:25 UTC 2017 - mruz(a)poczta.onet.pl
+
+- Ice 1.2.4
+ * Model, add autoincrement property
+
+-------------------------------------------------------------------
Old:
----
php5-ice-1.2.3.tar.gz
New:
----
php5-ice-1.2.4.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ php5-ice.spec ++++++
--- /var/tmp/diff_new_pack.yfrBap/_old 2017-01-16 11:16:10.046270706 +0100
+++ /var/tmp/diff_new_pack.yfrBap/_new 2017-01-16 11:16:10.050270139 +0100
@@ -22,7 +22,7 @@
%define _name ice
Name: %{_php}-%{_name}
-Version: 1.2.3
+Version: 1.2.4
Release: 0
Summary: Simple and fast PHP framework delivered as C-extension
License: BSD-3-Clause
++++++ php5-ice-1.2.3.tar.gz -> php5-ice-1.2.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/CHANGELOG.md new/framework-1.2.4/CHANGELOG.md
--- old/framework-1.2.3/CHANGELOG.md 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/CHANGELOG.md 2017-01-15 19:16:39.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Sun Jan 15 18:05:25 UTC 2017
+
+- Ice 1.2.4
+ * Model, add autoincrement property
+
+-------------------------------------------------------------------
Sun Jan 8 18:39:44 UTC 2017
- Ice 1.2.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php5/ice/mvc/model.zep.c new/framework-1.2.4/build/php5/ice/mvc/model.zep.c
--- old/framework-1.2.3/build/php5/ice/mvc/model.zep.c 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php5/ice/mvc/model.zep.c 2017-01-15 19:16:39.000000000 +0100
@@ -46,6 +46,8 @@
zend_declare_property_null(ice_mvc_model_ce, SL("primary"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(ice_mvc_model_ce, SL("autoincrement"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
+
zend_declare_property_null(ice_mvc_model_ce, SL("filters"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_null(ice_mvc_model_ce, SL("fields"), ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -120,6 +122,18 @@
}
+PHP_METHOD(Ice_Mvc_Model, setAutoincrement) {
+
+ zval *autoincrement;
+
+ zephir_fetch_params(0, 1, 0, &autoincrement);
+
+
+
+ zephir_update_property_this(this_ptr, SL("autoincrement"), autoincrement TSRMLS_CC);
+
+}
+
PHP_METHOD(Ice_Mvc_Model, setFilters) {
zval *filters;
@@ -287,7 +301,7 @@
ZEPHIR_CALL_METHOD(&_12$$6, this_ptr, "loadone", NULL, 0, filters);
zephir_check_call_status();
if (!(zephir_is_true(_12$$6))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(ice_exception_ce, "Not Found", "ice/mvc/model.zep", 70);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(ice_exception_ce, "Not Found", "ice/mvc/model.zep", 71);
return;
}
}
@@ -464,7 +478,7 @@
zephir_array_fast_append(_6$$4, data);
ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(_4$$4, _5$$4, _6$$4 TSRMLS_CC);
zephir_check_call_status();
- zephir_array_append(&instances, _4$$4, PH_SEPARATE, "ice/mvc/model.zep", 155);
+ zephir_array_append(&instances, _4$$4, PH_SEPARATE, "ice/mvc/model.zep", 156);
}
_3$$3->funcs->dtor(_3$$3 TSRMLS_CC);
}
@@ -569,7 +583,7 @@
* Prepare fields for validation on create/update.
*
* @param mixed fields Fields to save or valid fields
- * @param booleat primary Keept primary keys
+ * @param boolean primary Keep primary key
* @return array
*/
PHP_METHOD(Ice_Mvc_Model, fields) {
@@ -692,10 +706,10 @@
*/
PHP_METHOD(Ice_Mvc_Model, create) {
- zend_bool _8$$4;
- zval *_5, *_29, *_32, *_41;
+ zend_bool _9$$4;
+ zval *_6, *_30, *_33, *_42;
int ZEPHIR_LAST_CALL_STATUS;
- zval *fields = NULL, *extra = NULL, *status = NULL, *_0 = NULL, *_1 = NULL, *_4, *_6, *_28, *_30, *_31, *_33, *_34, *_35 = NULL, *_40, *_2$$3 = NULL, *_3$$3 = NULL, *_7$$4, *_9$$4, *_11$$4, *_12$$4, *_13$$4, *_14$$4, *_15$$4, *_16$$4, *_17$$4, *_18$$4 = NULL, *_19$$4, *_20$$4 = NULL, *_21$$4, *_22$$4 = NULL, *_10$$5, *_23$$6, *_24$$6, *_25$$6, *_26$$6 = NULL, *_27$$6 = NULL, *_36$$8, *_37$$8 = NULL, *_38$$8, *_39$$8 = NULL;
+ zval *fields = NULL, *extra = NULL, *status = NULL, *_0 = NULL, *_1, *_2 = NULL, *_5, *_7, *_29, *_31, *_32, *_34, *_35, *_36 = NULL, *_41, *_3$$3 = NULL, *_4$$3 = NULL, *_8$$4, *_10$$4, *_12$$4, *_13$$4, *_14$$4, *_15$$4, *_16$$4, *_17$$4, *_18$$4, *_19$$4 = NULL, *_20$$4, *_21$$4 = NULL, *_22$$4, *_23$$4 = NULL, *_11$$5, *_24$$6, *_25$$6, *_26$$6, *_27$$6 = NULL, *_28$$6 = NULL, *_37$$8, *_38$$8 = NULL, *_39$$8, *_40$$8 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 2, &fields, &extra);
@@ -709,130 +723,132 @@
}
- ZEPHIR_INIT_VAR(_1);
- ZVAL_BOOL(_1, 0);
- ZEPHIR_CALL_METHOD(&_0, this_ptr, "fields", NULL, 0, fields, _1);
+ ZEPHIR_OBS_VAR(_1);
+ zephir_read_property_this(&_1, this_ptr, SL("autoincrement"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_2);
+ ZVAL_BOOL(_2, !zephir_is_true(_1));
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "fields", NULL, 0, fields, _2);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, this_ptr, "setdata", NULL, 0, _0);
zephir_check_call_status();
if (zephir_is_true(extra)) {
ZEPHIR_CALL_METHOD(NULL, extra, "validate", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2$$3, extra, "getmessages", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_3$$3, extra, "getmessages", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_3$$3, _2$$3, "all", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_4$$3, _3$$3, "all", NULL, 0);
zephir_check_call_status();
- zephir_update_property_this(this_ptr, SL("messages"), _3$$3 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("messages"), _4$$3 TSRMLS_CC);
}
- _4 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_5);
- zephir_create_array(_5, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(_5, this_ptr);
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_STRING(_1, "model.before.validate", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _4, "applyhook", NULL, 0, _1, _5);
- zephir_check_temp_parameter(_1);
- zephir_check_call_status();
- _6 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
- if (zephir_fast_count_int(_6 TSRMLS_CC)) {
- ZEPHIR_OBS_VAR(_7$$4);
- zephir_read_property_this(&_7$$4, this_ptr, SL("validation"), PH_NOISY_CC);
- _8$$4 = Z_TYPE_P(_7$$4) == IS_OBJECT;
- if (_8$$4) {
- ZEPHIR_OBS_VAR(_9$$4);
- zephir_read_property_this(&_9$$4, this_ptr, SL("validation"), PH_NOISY_CC);
- _8$$4 = zephir_instance_of_ev(_9$$4, ice_validation_ce TSRMLS_CC);
+ _5 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_6);
+ zephir_create_array(_6, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(_6, this_ptr);
+ ZEPHIR_INIT_NVAR(_2);
+ ZVAL_STRING(_2, "model.before.validate", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _5, "applyhook", NULL, 0, _2, _6);
+ zephir_check_temp_parameter(_2);
+ zephir_check_call_status();
+ _7 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
+ if (zephir_fast_count_int(_7 TSRMLS_CC)) {
+ ZEPHIR_OBS_VAR(_8$$4);
+ zephir_read_property_this(&_8$$4, this_ptr, SL("validation"), PH_NOISY_CC);
+ _9$$4 = Z_TYPE_P(_8$$4) == IS_OBJECT;
+ if (_9$$4) {
+ ZEPHIR_OBS_VAR(_10$$4);
+ zephir_read_property_this(&_10$$4, this_ptr, SL("validation"), PH_NOISY_CC);
+ _9$$4 = zephir_instance_of_ev(_10$$4, ice_validation_ce TSRMLS_CC);
}
- if (!(_8$$4)) {
- ZEPHIR_INIT_VAR(_10$$5);
- object_init_ex(_10$$5, ice_validation_ce);
- ZEPHIR_CALL_METHOD(NULL, _10$$5, "__construct", NULL, 11);
+ if (!(_9$$4)) {
+ ZEPHIR_INIT_VAR(_11$$5);
+ object_init_ex(_11$$5, ice_validation_ce);
+ ZEPHIR_CALL_METHOD(NULL, _11$$5, "__construct", NULL, 11);
zephir_check_call_status();
- zephir_update_property_this(this_ptr, SL("validation"), _10$$5 TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("validation"), _11$$5 TSRMLS_CC);
}
- _11$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- _12$$4 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(NULL, _11$$4, "rules", NULL, 0, _12$$4);
+ _12$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ _13$$4 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(NULL, _12$$4, "rules", NULL, 0, _13$$4);
zephir_check_call_status();
- _13$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- _14$$4 = zephir_fetch_nproperty_this(this_ptr, SL("filters"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(NULL, _13$$4, "setfilters", NULL, 0, _14$$4);
+ _14$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ _15$$4 = zephir_fetch_nproperty_this(this_ptr, SL("filters"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(NULL, _14$$4, "setfilters", NULL, 0, _15$$4);
zephir_check_call_status();
- _15$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- _16$$4 = zephir_fetch_nproperty_this(this_ptr, SL("labels"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(NULL, _15$$4, "setlabels", NULL, 0, _16$$4);
+ _16$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ _17$$4 = zephir_fetch_nproperty_this(this_ptr, SL("labels"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(NULL, _16$$4, "setlabels", NULL, 0, _17$$4);
zephir_check_call_status();
- _17$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_18$$4, this_ptr, "getdata", NULL, 0);
+ _18$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_19$$4, this_ptr, "getdata", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, _17$$4, "validate", NULL, 0, _18$$4);
+ ZEPHIR_CALL_METHOD(NULL, _18$$4, "validate", NULL, 0, _19$$4);
zephir_check_call_status();
- _19$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_20$$4, _19$$4, "getvalues", NULL, 0);
+ _20$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_21$$4, _20$$4, "getvalues", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "replace", NULL, 0, _20$$4);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "replace", NULL, 0, _21$$4);
zephir_check_call_status();
- _21$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_22$$4, _21$$4, "valid", NULL, 0);
+ _22$$4 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_23$$4, _22$$4, "valid", NULL, 0);
zephir_check_call_status();
- if (!(zephir_is_true(_22$$4))) {
- ZEPHIR_INIT_VAR(_23$$6);
- _24$$6 = zephir_fetch_nproperty_this(this_ptr, SL("messages"), PH_NOISY_CC);
- _25$$6 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_26$$6, _25$$6, "getmessages", NULL, 0);
+ if (!(zephir_is_true(_23$$4))) {
+ ZEPHIR_INIT_VAR(_24$$6);
+ _25$$6 = zephir_fetch_nproperty_this(this_ptr, SL("messages"), PH_NOISY_CC);
+ _26$$6 = zephir_fetch_nproperty_this(this_ptr, SL("validation"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_27$$6, _26$$6, "getmessages", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_27$$6, _26$$6, "all", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_28$$6, _27$$6, "all", NULL, 0);
zephir_check_call_status();
- zephir_fast_array_merge(_23$$6, &(_24$$6), &(_27$$6) TSRMLS_CC);
- zephir_update_property_this(this_ptr, SL("messages"), _23$$6 TSRMLS_CC);
+ zephir_fast_array_merge(_24$$6, &(_25$$6), &(_28$$6) TSRMLS_CC);
+ zephir_update_property_this(this_ptr, SL("messages"), _24$$6 TSRMLS_CC);
}
}
- _28 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_29);
- zephir_create_array(_29, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(_29, this_ptr);
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_STRING(_1, "model.after.validate", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _28, "applyhook", NULL, 0, _1, _29);
- zephir_check_temp_parameter(_1);
+ _29 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_30);
+ zephir_create_array(_30, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(_30, this_ptr);
+ ZEPHIR_INIT_NVAR(_2);
+ ZVAL_STRING(_2, "model.after.validate", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _29, "applyhook", NULL, 0, _2, _30);
+ zephir_check_temp_parameter(_2);
zephir_check_call_status();
- _30 = zephir_fetch_nproperty_this(this_ptr, SL("messages"), PH_NOISY_CC);
- if (zephir_fast_count_int(_30 TSRMLS_CC)) {
+ _31 = zephir_fetch_nproperty_this(this_ptr, SL("messages"), PH_NOISY_CC);
+ if (zephir_fast_count_int(_31 TSRMLS_CC)) {
RETURN_MM_BOOL(0);
}
- _31 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_32);
- zephir_create_array(_32, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(_32, this_ptr);
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_STRING(_1, "model.before.create", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _31, "applyhook", NULL, 0, _1, _32);
- zephir_check_temp_parameter(_1);
- zephir_check_call_status();
- _33 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
- _34 = zephir_fetch_nproperty_this(this_ptr, SL("from"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_35, this_ptr, "getdata", NULL, 0);
+ _32 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_33);
+ zephir_create_array(_33, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(_33, this_ptr);
+ ZEPHIR_INIT_NVAR(_2);
+ ZVAL_STRING(_2, "model.before.create", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _32, "applyhook", NULL, 0, _2, _33);
+ zephir_check_temp_parameter(_2);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&status, _33, "insert", NULL, 0, _34, _35);
+ _34 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
+ _35 = zephir_fetch_nproperty_this(this_ptr, SL("from"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_36, this_ptr, "getdata", NULL, 0);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&status, _34, "insert", NULL, 0, _35, _36);
zephir_check_call_status();
if (zephir_is_true(status)) {
- _36$$8 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_37$$8, _36$$8, "getid", NULL, 0);
+ _37$$8 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_38$$8, _37$$8, "getid", NULL, 0);
zephir_check_call_status();
- _38$$8 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
- ZEPHIR_CALL_METHOD(&_39$$8, _38$$8, "getlastinsertid", NULL, 0);
+ _39$$8 = zephir_fetch_nproperty_this(this_ptr, SL("db"), PH_NOISY_CC);
+ ZEPHIR_CALL_METHOD(&_40$$8, _39$$8, "getlastinsertid", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "set", NULL, 0, _37$$8, _39$$8);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "set", NULL, 0, _38$$8, _40$$8);
zephir_check_call_status();
}
- _40 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_41);
- zephir_create_array(_41, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(_41, this_ptr);
- ZEPHIR_INIT_NVAR(_1);
- ZVAL_STRING(_1, "model.after.create", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _40, "applyhook", NULL, 0, _1, _41);
- zephir_check_temp_parameter(_1);
+ _41 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_42);
+ zephir_create_array(_42, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(_42, this_ptr);
+ ZEPHIR_INIT_NVAR(_2);
+ ZVAL_STRING(_2, "model.after.create", ZEPHIR_TEMP_PARAM_COPY);
+ ZEPHIR_CALL_METHOD(NULL, _41, "applyhook", NULL, 0, _2, _42);
+ zephir_check_temp_parameter(_2);
zephir_check_call_status();
RETURN_CCTOR(status);
@@ -856,10 +872,10 @@
HashTable *_3$$3;
HashPosition _2$$3;
zend_bool _18;
- zval *_15, *_32, *_35, *_41;
+ zval *_15, *_32, *_35, *_42;
zephir_fcall_cache_entry *_6 = NULL, *_11 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *fields = NULL, *extra = NULL, *data = NULL, *status = NULL, *primary = NULL, *key = NULL, *_0, *_10 = NULL, *_14, *_16 = NULL, *_17, *_19, *_31, *_33, *_34, *_36, *_37, *_38 = NULL, *_39 = NULL, *_40, *_1$$3, **_4$$3, *_5$$4 = NULL, *_7$$5, *_8$$5 = NULL, *_9$$5, *_12$$6 = NULL, *_13$$6 = NULL, *_20$$7, *_21$$7 = NULL, *_22$$7, *_23$$7 = NULL, *_24$$7, *_25$$7 = NULL, *_26$$8, *_27$$8, *_28$$8, *_29$$8 = NULL, *_30$$8 = NULL;
+ zval *fields = NULL, *extra = NULL, *data = NULL, *status = NULL, *primary = NULL, *key = NULL, *_0, *_10 = NULL, *_14, *_16 = NULL, *_17, *_19, *_31, *_33, *_34, *_36, *_37, *_38 = NULL, *_39 = NULL, *_40, *_41, *_1$$3, **_4$$3, *_5$$4 = NULL, *_7$$5, *_8$$5 = NULL, *_9$$5, *_12$$6 = NULL, *_13$$6 = NULL, *_20$$7, *_21$$7 = NULL, *_22$$7, *_23$$7 = NULL, *_24$$7, *_25$$7 = NULL, *_26$$8, *_27$$8, *_28$$8, *_29$$8 = NULL, *_30$$8 = NULL;
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 2, &fields, &extra);
@@ -881,7 +897,7 @@
zephir_read_property_this(&_0, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(_0) == IS_ARRAY) {
_1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("primary"), PH_NOISY_CC);
- zephir_is_iterable(_1$$3, &_3$$3, &_2$$3, 0, 0, "ice/mvc/model.zep", 354);
+ zephir_is_iterable(_1$$3, &_3$$3, &_2$$3, 0, 0, "ice/mvc/model.zep", 355);
for (
; zephir_hash_get_current_data_ex(_3$$3, (void**) &_4$$3, &_2$$3) == SUCCESS
; zephir_hash_move_forward_ex(_3$$3, &_2$$3)
@@ -985,8 +1001,10 @@
_37 = zephir_fetch_nproperty_this(this_ptr, SL("from"), PH_NOISY_CC);
ZEPHIR_CALL_METHOD(&_39, this_ptr, "getdata", NULL, 0);
zephir_check_call_status();
+ ZEPHIR_OBS_VAR(_40);
+ zephir_read_property_this(&_40, this_ptr, SL("autoincrement"), PH_NOISY_CC);
ZEPHIR_INIT_NVAR(_16);
- ZVAL_BOOL(_16, 0);
+ ZVAL_BOOL(_16, !zephir_is_true(_40));
ZEPHIR_CALL_METHOD(&_38, this_ptr, "fields", &_11, 0, _39, _16);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&status, _36, "update", NULL, 0, _37, primary, _38);
@@ -995,13 +1013,13 @@
ZEPHIR_CALL_METHOD(NULL, this_ptr, "setdata", NULL, 0, data);
zephir_check_call_status();
}
- _40 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
- ZEPHIR_INIT_VAR(_41);
- zephir_create_array(_41, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(_41, this_ptr);
+ _41 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC);
+ ZEPHIR_INIT_VAR(_42);
+ zephir_create_array(_42, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(_42, this_ptr);
ZEPHIR_INIT_NVAR(_16);
ZVAL_STRING(_16, "model.after.update", ZEPHIR_TEMP_PARAM_COPY);
- ZEPHIR_CALL_METHOD(NULL, _40, "applyhook", NULL, 0, _16, _41);
+ ZEPHIR_CALL_METHOD(NULL, _41, "applyhook", NULL, 0, _16, _42);
zephir_check_temp_parameter(_16);
zephir_check_call_status();
RETURN_CCTOR(status);
@@ -1100,7 +1118,7 @@
zephir_read_property_this(&_0$$3, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(_0$$3) == IS_ARRAY) {
_1$$4 = zephir_fetch_nproperty_this(this_ptr, SL("primary"), PH_NOISY_CC);
- zephir_is_iterable(_1$$4, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 456);
+ zephir_is_iterable(_1$$4, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 457);
for (
; zephir_hash_get_current_data_ex(_3$$4, (void**) &_4$$4, &_2$$4) == SUCCESS
; zephir_hash_move_forward_ex(_3$$4, &_2$$4)
@@ -1162,7 +1180,7 @@
zephir_read_property_this(&_0$$3, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(_0$$3) == IS_ARRAY) {
_1$$4 = zephir_fetch_nproperty_this(this_ptr, SL("primary"), PH_NOISY_CC);
- zephir_is_iterable(_1$$4, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 487);
+ zephir_is_iterable(_1$$4, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 488);
for (
; zephir_hash_get_current_data_ex(_3$$4, (void**) &_4$$4, &_2$$4) == SUCCESS
; zephir_hash_move_forward_ex(_3$$4, &_2$$4)
@@ -1452,7 +1470,7 @@
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, _1$$3, "__construct", NULL, 13, _3$$3);
zephir_check_call_status();
- zephir_throw_exception_debug(_1$$3, "ice/mvc/model.zep", 638 TSRMLS_CC);
+ zephir_throw_exception_debug(_1$$3, "ice/mvc/model.zep", 639 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -1466,7 +1484,7 @@
zephir_get_class_ns(_4, referenceModel, 0 TSRMLS_CC);
ZEPHIR_INIT_VAR(from);
zephir_uncamelize(from, _4, NULL );
- zephir_array_fetch_string(&_5, relation, SL("type"), PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 647 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, relation, SL("type"), PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 648 TSRMLS_CC);
do {
if (ZEPHIR_IS_LONG(_5, 1) || ZEPHIR_IS_LONG(_5, 2)) {
ZEPHIR_INIT_VAR(_6$$4);
@@ -1551,7 +1569,7 @@
if (Z_TYPE_P(fields) == IS_ARRAY) {
ZEPHIR_INIT_VAR(rules);
array_init(rules);
- zephir_is_iterable(fields, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 698);
+ zephir_is_iterable(fields, &_3$$4, &_2$$4, 0, 0, "ice/mvc/model.zep", 699);
for (
; zephir_hash_get_current_data_ex(_3$$4, (void**) &_4$$4, &_2$$4) == SUCCESS
; zephir_hash_move_forward_ex(_3$$4, &_2$$4)
@@ -1560,14 +1578,14 @@
_5$$5 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
if (zephir_array_isset(_5$$5, field)) {
_6$$6 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
- zephir_array_fetch(&_7$$6, _6$$6, field, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 694 TSRMLS_CC);
+ zephir_array_fetch(&_7$$6, _6$$6, field, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 695 TSRMLS_CC);
zephir_array_update_zval(&rules, field, &_7$$6, PH_COPY | PH_SEPARATE);
}
}
RETURN_CCTOR(rules);
} else if (_0$$3) {
_8$$7 = zephir_fetch_nproperty_this(this_ptr, SL("rules"), PH_NOISY_CC);
- zephir_array_fetch(&_9$$7, _8$$7, fields, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 700 TSRMLS_CC);
+ zephir_array_fetch(&_9$$7, _8$$7, fields, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 701 TSRMLS_CC);
RETURN_CTOR(_9$$7);
}
}
@@ -1712,7 +1730,7 @@
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, _3, "__construct", NULL, 13, _5);
zephir_check_call_status();
- zephir_throw_exception_debug(_3, "ice/mvc/model.zep", 755 TSRMLS_CC);
+ zephir_throw_exception_debug(_3, "ice/mvc/model.zep", 756 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php5/ice/mvc/model.zep.h new/framework-1.2.4/build/php5/ice/mvc/model.zep.h
--- old/framework-1.2.3/build/php5/ice/mvc/model.zep.h 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php5/ice/mvc/model.zep.h 2017-01-15 19:16:39.000000000 +0100
@@ -8,6 +8,7 @@
PHP_METHOD(Ice_Mvc_Model, setFrom);
PHP_METHOD(Ice_Mvc_Model, setPrimary);
PHP_METHOD(Ice_Mvc_Model, getPrimary);
+PHP_METHOD(Ice_Mvc_Model, setAutoincrement);
PHP_METHOD(Ice_Mvc_Model, setFilters);
PHP_METHOD(Ice_Mvc_Model, getFilters);
PHP_METHOD(Ice_Mvc_Model, setFields);
@@ -52,6 +53,10 @@
ZEND_ARG_INFO(0, primary)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_mvc_model_setautoincrement, 0, 0, 1)
+ ZEND_ARG_INFO(0, autoincrement)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_mvc_model_setfilters, 0, 0, 1)
ZEND_ARG_INFO(0, filters)
ZEND_END_ARG_INFO()
@@ -181,6 +186,7 @@
PHP_ME(Ice_Mvc_Model, setFrom, arginfo_ice_mvc_model_setfrom, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setPrimary, arginfo_ice_mvc_model_setprimary, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, getPrimary, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Ice_Mvc_Model, setAutoincrement, arginfo_ice_mvc_model_setautoincrement, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setFilters, arginfo_ice_mvc_model_setfilters, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, getFilters, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setFields, arginfo_ice_mvc_model_setfields, ZEND_ACC_PUBLIC)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php5/ice/version.zep.c new/framework-1.2.4/build/php5/ice/version.zep.c
--- old/framework-1.2.3/build/php5/ice/version.zep.c 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php5/ice/version.zep.c 2017-01-15 19:16:39.000000000 +0100
@@ -47,7 +47,7 @@
zend_declare_class_constant_long(ice_version_ce, SL("MINOR"), 2 TSRMLS_CC);
- zend_declare_class_constant_long(ice_version_ce, SL("PATCH"), 3 TSRMLS_CC);
+ zend_declare_class_constant_long(ice_version_ce, SL("PATCH"), 4 TSRMLS_CC);
zend_declare_class_constant_long(ice_version_ce, SL("STAGE"), 4 TSRMLS_CC);
@@ -69,7 +69,7 @@
zephir_create_array(return_value, 5, 0 TSRMLS_CC);
add_assoc_long_ex(return_value, SS("major"), 1);
add_assoc_long_ex(return_value, SS("minor"), 2);
- add_assoc_long_ex(return_value, SS("patch"), 3);
+ add_assoc_long_ex(return_value, SS("patch"), 4);
add_assoc_long_ex(return_value, SS("stage"), 4);
add_assoc_long_ex(return_value, SS("build"), 0);
return;
@@ -138,7 +138,7 @@
ZEPHIR_SINIT_VAR(_8);
ZVAL_LONG(&_8, 2);
ZEPHIR_SINIT_VAR(_9);
- ZVAL_LONG(&_9, 3);
+ ZVAL_LONG(&_9, 4);
ZEPHIR_CONCAT_VSVSVV(return_value, &_7, ".", &_8, ".", &_9, suffix);
RETURN_MM();
@@ -171,7 +171,7 @@
ZEPHIR_SINIT_NVAR(_1);
ZVAL_STRING(&_1, "%02s", 0);
ZEPHIR_SINIT_NVAR(_2);
- ZVAL_LONG(&_2, 3);
+ ZVAL_LONG(&_2, 4);
ZEPHIR_CALL_FUNCTION(&_5, "sprintf", &_4, 12, &_1, &_2);
zephir_check_call_status();
ZEPHIR_SINIT_NVAR(_1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php5/php_ice.h new/framework-1.2.4/build/php5/php_ice.h
--- old/framework-1.2.3/build/php5/php_ice.h 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php5/php_ice.h 2017-01-15 19:16:39.000000000 +0100
@@ -11,7 +11,7 @@
#include "kernel/globals.h"
#define PHP_ICE_NAME "ice"
-#define PHP_ICE_VERSION "1.2.3"
+#define PHP_ICE_VERSION "1.2.4"
#define PHP_ICE_EXTNAME "ice"
#define PHP_ICE_AUTHOR "Ice Team"
#define PHP_ICE_ZEPVERSION "0.9.6a-dev-72dbb2063e"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php7/ice/mvc/model.zep.c new/framework-1.2.4/build/php7/ice/mvc/model.zep.c
--- old/framework-1.2.3/build/php7/ice/mvc/model.zep.c 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php7/ice/mvc/model.zep.c 2017-01-15 19:16:39.000000000 +0100
@@ -46,6 +46,8 @@
zend_declare_property_null(ice_mvc_model_ce, SL("primary"), ZEND_ACC_PROTECTED TSRMLS_CC);
+ zend_declare_property_bool(ice_mvc_model_ce, SL("autoincrement"), 1, ZEND_ACC_PROTECTED TSRMLS_CC);
+
zend_declare_property_null(ice_mvc_model_ce, SL("filters"), ZEND_ACC_PROTECTED TSRMLS_CC);
zend_declare_property_null(ice_mvc_model_ce, SL("fields"), ZEND_ACC_PROTECTED TSRMLS_CC);
@@ -129,6 +131,21 @@
}
+PHP_METHOD(Ice_Mvc_Model, setAutoincrement) {
+
+ zval *autoincrement, autoincrement_sub;
+ ZEPHIR_INIT_THIS();
+
+ ZVAL_UNDEF(&autoincrement_sub);
+
+ zephir_fetch_params(0, 1, 0, &autoincrement);
+
+
+
+ zephir_update_property_zval(this_ptr, SL("autoincrement"), autoincrement);
+
+}
+
PHP_METHOD(Ice_Mvc_Model, setFilters) {
zval *filters, filters_sub;
@@ -333,7 +350,7 @@
ZEPHIR_CALL_METHOD(&_12$$6, this_ptr, "loadone", NULL, 0, filters);
zephir_check_call_status();
if (!(zephir_is_true(&_12$$6))) {
- ZEPHIR_THROW_EXCEPTION_DEBUG_STR(ice_exception_ce, "Not Found", "ice/mvc/model.zep", 70);
+ ZEPHIR_THROW_EXCEPTION_DEBUG_STR(ice_exception_ce, "Not Found", "ice/mvc/model.zep", 71);
return;
}
}
@@ -545,7 +562,7 @@
zephir_array_fast_append(&_6$$4, &data);
ZEPHIR_LAST_CALL_STATUS = zephir_create_instance_params(&_4$$4, &_5$$4, &_6$$4 TSRMLS_CC);
zephir_check_call_status();
- zephir_array_append(&instances, &_4$$4, PH_SEPARATE, "ice/mvc/model.zep", 155);
+ zephir_array_append(&instances, &_4$$4, PH_SEPARATE, "ice/mvc/model.zep", 156);
}
zend_iterator_dtor(_3$$3);
}
@@ -668,7 +685,7 @@
* Prepare fields for validation on create/update.
*
* @param mixed fields Fields to save or valid fields
- * @param booleat primary Keept primary keys
+ * @param boolean primary Keep primary key
* @return array
*/
PHP_METHOD(Ice_Mvc_Model, fields) {
@@ -819,10 +836,10 @@
*/
PHP_METHOD(Ice_Mvc_Model, create) {
- zend_bool _8$$4;
- zval _4, _29, _32, _41;
+ zend_bool _9$$4;
+ zval _5, _30, _33, _42;
int ZEPHIR_LAST_CALL_STATUS;
- zval *fields = NULL, fields_sub, *extra = NULL, extra_sub, __$null, status, _0, _1, _5, _6, _28, _30, _31, _33, _34, _35, _40, _2$$3, _3$$3, _7$$4, _9$$4, _11$$4, _12$$4, _13$$4, _14$$4, _15$$4, _16$$4, _17$$4, _18$$4, _19$$4, _20$$4, _21$$4, _22$$4, _10$$5, _23$$6, _24$$6, _25$$6, _26$$6, _27$$6, _36$$8, _37$$8, _38$$8, _39$$8;
+ zval *fields = NULL, fields_sub, *extra = NULL, extra_sub, __$null, status, _0, _1, _2, _6, _7, _29, _31, _32, _34, _35, _36, _41, _3$$3, _4$$3, _8$$4, _10$$4, _12$$4, _13$$4, _14$$4, _15$$4, _16$$4, _17$$4, _18$$4, _19$$4, _20$$4, _21$$4, _22$$4, _23$$4, _11$$5, _24$$6, _25$$6, _26$$6, _27$$6, _28$$6, _37$$8, _38$$8, _39$$8, _40$$8;
ZEPHIR_INIT_THIS();
ZVAL_UNDEF(&fields_sub);
@@ -831,20 +848,20 @@
ZVAL_UNDEF(&status);
ZVAL_UNDEF(&_0);
ZVAL_UNDEF(&_1);
- ZVAL_UNDEF(&_5);
+ ZVAL_UNDEF(&_2);
ZVAL_UNDEF(&_6);
- ZVAL_UNDEF(&_28);
- ZVAL_UNDEF(&_30);
+ ZVAL_UNDEF(&_7);
+ ZVAL_UNDEF(&_29);
ZVAL_UNDEF(&_31);
- ZVAL_UNDEF(&_33);
+ ZVAL_UNDEF(&_32);
ZVAL_UNDEF(&_34);
ZVAL_UNDEF(&_35);
- ZVAL_UNDEF(&_40);
- ZVAL_UNDEF(&_2$$3);
+ ZVAL_UNDEF(&_36);
+ ZVAL_UNDEF(&_41);
ZVAL_UNDEF(&_3$$3);
- ZVAL_UNDEF(&_7$$4);
- ZVAL_UNDEF(&_9$$4);
- ZVAL_UNDEF(&_11$$4);
+ ZVAL_UNDEF(&_4$$3);
+ ZVAL_UNDEF(&_8$$4);
+ ZVAL_UNDEF(&_10$$4);
ZVAL_UNDEF(&_12$$4);
ZVAL_UNDEF(&_13$$4);
ZVAL_UNDEF(&_14$$4);
@@ -856,20 +873,21 @@
ZVAL_UNDEF(&_20$$4);
ZVAL_UNDEF(&_21$$4);
ZVAL_UNDEF(&_22$$4);
- ZVAL_UNDEF(&_10$$5);
- ZVAL_UNDEF(&_23$$6);
+ ZVAL_UNDEF(&_23$$4);
+ ZVAL_UNDEF(&_11$$5);
ZVAL_UNDEF(&_24$$6);
ZVAL_UNDEF(&_25$$6);
ZVAL_UNDEF(&_26$$6);
ZVAL_UNDEF(&_27$$6);
- ZVAL_UNDEF(&_36$$8);
+ ZVAL_UNDEF(&_28$$6);
ZVAL_UNDEF(&_37$$8);
ZVAL_UNDEF(&_38$$8);
ZVAL_UNDEF(&_39$$8);
- ZVAL_UNDEF(&_4);
- ZVAL_UNDEF(&_29);
- ZVAL_UNDEF(&_32);
- ZVAL_UNDEF(&_41);
+ ZVAL_UNDEF(&_40$$8);
+ ZVAL_UNDEF(&_5);
+ ZVAL_UNDEF(&_30);
+ ZVAL_UNDEF(&_33);
+ ZVAL_UNDEF(&_42);
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 2, &fields, &extra);
@@ -885,125 +903,127 @@
}
- ZVAL_BOOL(&_1, 0);
- ZEPHIR_CALL_METHOD(&_0, this_ptr, "fields", NULL, 0, fields, &_1);
+ ZEPHIR_OBS_VAR(&_1);
+ zephir_read_property(&_1, this_ptr, SL("autoincrement"), PH_NOISY_CC);
+ ZVAL_BOOL(&_2, !zephir_is_true(&_1));
+ ZEPHIR_CALL_METHOD(&_0, this_ptr, "fields", NULL, 0, fields, &_2);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, this_ptr, "setdata", NULL, 0, &_0);
zephir_check_call_status();
if (zephir_is_true(extra)) {
ZEPHIR_CALL_METHOD(NULL, extra, "validate", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_2$$3, extra, "getmessages", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_3$$3, extra, "getmessages", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_3$$3, &_2$$3, "all", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_4$$3, &_3$$3, "all", NULL, 0);
zephir_check_call_status();
- zephir_update_property_zval(this_ptr, SL("messages"), &_3$$3);
+ zephir_update_property_zval(this_ptr, SL("messages"), &_4$$3);
}
- zephir_read_property(&_1, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_INIT_VAR(&_4);
- zephir_create_array(&_4, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(&_4, this_ptr);
+ zephir_read_property(&_2, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
ZEPHIR_INIT_VAR(&_5);
- ZVAL_STRING(&_5, "model.before.validate");
- ZEPHIR_CALL_METHOD(NULL, &_1, "applyhook", NULL, 0, &_5, &_4);
- zephir_check_call_status();
- zephir_read_property(&_6, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
- if (zephir_fast_count_int(&_6 TSRMLS_CC)) {
- ZEPHIR_OBS_VAR(&_7$$4);
- zephir_read_property(&_7$$4, this_ptr, SL("validation"), PH_NOISY_CC);
- _8$$4 = Z_TYPE_P(&_7$$4) == IS_OBJECT;
- if (_8$$4) {
- ZEPHIR_OBS_VAR(&_9$$4);
- zephir_read_property(&_9$$4, this_ptr, SL("validation"), PH_NOISY_CC);
- _8$$4 = zephir_instance_of_ev(&_9$$4, ice_validation_ce TSRMLS_CC);
+ zephir_create_array(&_5, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(&_5, this_ptr);
+ ZEPHIR_INIT_VAR(&_6);
+ ZVAL_STRING(&_6, "model.before.validate");
+ ZEPHIR_CALL_METHOD(NULL, &_2, "applyhook", NULL, 0, &_6, &_5);
+ zephir_check_call_status();
+ zephir_read_property(&_7, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
+ if (zephir_fast_count_int(&_7 TSRMLS_CC)) {
+ ZEPHIR_OBS_VAR(&_8$$4);
+ zephir_read_property(&_8$$4, this_ptr, SL("validation"), PH_NOISY_CC);
+ _9$$4 = Z_TYPE_P(&_8$$4) == IS_OBJECT;
+ if (_9$$4) {
+ ZEPHIR_OBS_VAR(&_10$$4);
+ zephir_read_property(&_10$$4, this_ptr, SL("validation"), PH_NOISY_CC);
+ _9$$4 = zephir_instance_of_ev(&_10$$4, ice_validation_ce TSRMLS_CC);
}
- if (!(_8$$4)) {
- ZEPHIR_INIT_VAR(&_10$$5);
- object_init_ex(&_10$$5, ice_validation_ce);
- ZEPHIR_CALL_METHOD(NULL, &_10$$5, "__construct", NULL, 11);
+ if (!(_9$$4)) {
+ ZEPHIR_INIT_VAR(&_11$$5);
+ object_init_ex(&_11$$5, ice_validation_ce);
+ ZEPHIR_CALL_METHOD(NULL, &_11$$5, "__construct", NULL, 11);
zephir_check_call_status();
- zephir_update_property_zval(this_ptr, SL("validation"), &_10$$5);
+ zephir_update_property_zval(this_ptr, SL("validation"), &_11$$5);
}
- zephir_read_property(&_11$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- zephir_read_property(&_12$$4, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(NULL, &_11$$4, "rules", NULL, 0, &_12$$4);
+ zephir_read_property(&_12$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ zephir_read_property(&_13$$4, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(NULL, &_12$$4, "rules", NULL, 0, &_13$$4);
zephir_check_call_status();
- zephir_read_property(&_13$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- zephir_read_property(&_14$$4, this_ptr, SL("filters"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(NULL, &_13$$4, "setfilters", NULL, 0, &_14$$4);
+ zephir_read_property(&_14$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ zephir_read_property(&_15$$4, this_ptr, SL("filters"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(NULL, &_14$$4, "setfilters", NULL, 0, &_15$$4);
zephir_check_call_status();
- zephir_read_property(&_15$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- zephir_read_property(&_16$$4, this_ptr, SL("labels"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(NULL, &_15$$4, "setlabels", NULL, 0, &_16$$4);
+ zephir_read_property(&_16$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ zephir_read_property(&_17$$4, this_ptr, SL("labels"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(NULL, &_16$$4, "setlabels", NULL, 0, &_17$$4);
zephir_check_call_status();
- zephir_read_property(&_17$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_18$$4, this_ptr, "getdata", NULL, 0);
+ zephir_read_property(&_18$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_19$$4, this_ptr, "getdata", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, &_17$$4, "validate", NULL, 0, &_18$$4);
+ ZEPHIR_CALL_METHOD(NULL, &_18$$4, "validate", NULL, 0, &_19$$4);
zephir_check_call_status();
- zephir_read_property(&_19$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_20$$4, &_19$$4, "getvalues", NULL, 0);
+ zephir_read_property(&_20$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_21$$4, &_20$$4, "getvalues", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "replace", NULL, 0, &_20$$4);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "replace", NULL, 0, &_21$$4);
zephir_check_call_status();
- zephir_read_property(&_21$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_22$$4, &_21$$4, "valid", NULL, 0);
+ zephir_read_property(&_22$$4, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_23$$4, &_22$$4, "valid", NULL, 0);
zephir_check_call_status();
- if (!(zephir_is_true(&_22$$4))) {
- ZEPHIR_INIT_VAR(&_23$$6);
- zephir_read_property(&_24$$6, this_ptr, SL("messages"), PH_NOISY_CC | PH_READONLY);
- zephir_read_property(&_25$$6, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_26$$6, &_25$$6, "getmessages", NULL, 0);
+ if (!(zephir_is_true(&_23$$4))) {
+ ZEPHIR_INIT_VAR(&_24$$6);
+ zephir_read_property(&_25$$6, this_ptr, SL("messages"), PH_NOISY_CC | PH_READONLY);
+ zephir_read_property(&_26$$6, this_ptr, SL("validation"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_27$$6, &_26$$6, "getmessages", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&_27$$6, &_26$$6, "all", NULL, 0);
+ ZEPHIR_CALL_METHOD(&_28$$6, &_27$$6, "all", NULL, 0);
zephir_check_call_status();
- zephir_fast_array_merge(&_23$$6, &_24$$6, &_27$$6 TSRMLS_CC);
- zephir_update_property_zval(this_ptr, SL("messages"), &_23$$6);
+ zephir_fast_array_merge(&_24$$6, &_25$$6, &_28$$6 TSRMLS_CC);
+ zephir_update_property_zval(this_ptr, SL("messages"), &_24$$6);
}
}
- zephir_read_property(&_28, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_INIT_VAR(&_29);
- zephir_create_array(&_29, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(&_29, this_ptr);
- ZEPHIR_INIT_NVAR(&_5);
- ZVAL_STRING(&_5, "model.after.validate");
- ZEPHIR_CALL_METHOD(NULL, &_28, "applyhook", NULL, 0, &_5, &_29);
+ zephir_read_property(&_29, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_INIT_VAR(&_30);
+ zephir_create_array(&_30, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(&_30, this_ptr);
+ ZEPHIR_INIT_NVAR(&_6);
+ ZVAL_STRING(&_6, "model.after.validate");
+ ZEPHIR_CALL_METHOD(NULL, &_29, "applyhook", NULL, 0, &_6, &_30);
zephir_check_call_status();
- zephir_read_property(&_30, this_ptr, SL("messages"), PH_NOISY_CC | PH_READONLY);
- if (zephir_fast_count_int(&_30 TSRMLS_CC)) {
+ zephir_read_property(&_31, this_ptr, SL("messages"), PH_NOISY_CC | PH_READONLY);
+ if (zephir_fast_count_int(&_31 TSRMLS_CC)) {
RETURN_MM_BOOL(0);
}
- zephir_read_property(&_31, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_INIT_VAR(&_32);
- zephir_create_array(&_32, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(&_32, this_ptr);
- ZEPHIR_INIT_NVAR(&_5);
- ZVAL_STRING(&_5, "model.before.create");
- ZEPHIR_CALL_METHOD(NULL, &_31, "applyhook", NULL, 0, &_5, &_32);
- zephir_check_call_status();
- zephir_read_property(&_33, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
- zephir_read_property(&_34, this_ptr, SL("from"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_35, this_ptr, "getdata", NULL, 0);
+ zephir_read_property(&_32, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_INIT_VAR(&_33);
+ zephir_create_array(&_33, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(&_33, this_ptr);
+ ZEPHIR_INIT_NVAR(&_6);
+ ZVAL_STRING(&_6, "model.before.create");
+ ZEPHIR_CALL_METHOD(NULL, &_32, "applyhook", NULL, 0, &_6, &_33);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(&status, &_33, "insert", NULL, 0, &_34, &_35);
+ zephir_read_property(&_34, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
+ zephir_read_property(&_35, this_ptr, SL("from"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_36, this_ptr, "getdata", NULL, 0);
+ zephir_check_call_status();
+ ZEPHIR_CALL_METHOD(&status, &_34, "insert", NULL, 0, &_35, &_36);
zephir_check_call_status();
if (zephir_is_true(&status)) {
- zephir_read_property(&_36$$8, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_37$$8, &_36$$8, "getid", NULL, 0);
+ zephir_read_property(&_37$$8, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_38$$8, &_37$$8, "getid", NULL, 0);
zephir_check_call_status();
- zephir_read_property(&_38$$8, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_CALL_METHOD(&_39$$8, &_38$$8, "getlastinsertid", NULL, 0);
+ zephir_read_property(&_39$$8, this_ptr, SL("db"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_CALL_METHOD(&_40$$8, &_39$$8, "getlastinsertid", NULL, 0);
zephir_check_call_status();
- ZEPHIR_CALL_METHOD(NULL, this_ptr, "set", NULL, 0, &_37$$8, &_39$$8);
+ ZEPHIR_CALL_METHOD(NULL, this_ptr, "set", NULL, 0, &_38$$8, &_40$$8);
zephir_check_call_status();
}
- zephir_read_property(&_40, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_INIT_VAR(&_41);
- zephir_create_array(&_41, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(&_41, this_ptr);
- ZEPHIR_INIT_NVAR(&_5);
- ZVAL_STRING(&_5, "model.after.create");
- ZEPHIR_CALL_METHOD(NULL, &_40, "applyhook", NULL, 0, &_5, &_41);
+ zephir_read_property(&_41, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_INIT_VAR(&_42);
+ zephir_create_array(&_42, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(&_42, this_ptr);
+ ZEPHIR_INIT_NVAR(&_6);
+ ZVAL_STRING(&_6, "model.after.create");
+ ZEPHIR_CALL_METHOD(NULL, &_41, "applyhook", NULL, 0, &_6, &_42);
zephir_check_call_status();
RETURN_CCTOR(status);
@@ -1025,10 +1045,10 @@
PHP_METHOD(Ice_Mvc_Model, update) {
zend_bool _16;
- zval _13, _30, _33, _39;
+ zval _13, _30, _33, _40;
zephir_fcall_cache_entry *_4 = NULL, *_9 = NULL;
int ZEPHIR_LAST_CALL_STATUS;
- zval *fields = NULL, fields_sub, *extra = NULL, extra_sub, __$null, data, status, primary, key, _0, _8, _12, _14, _15, _17, _29, _31, _32, _34, _35, _36, _37, _38, _1$$3, *_2$$3, _3$$4, _5$$5, _6$$5, _7$$5, _10$$6, _11$$6, _18$$7, _19$$7, _20$$7, _21$$7, _22$$7, _23$$7, _24$$8, _25$$8, _26$$8, _27$$8, _28$$8;
+ zval *fields = NULL, fields_sub, *extra = NULL, extra_sub, __$null, data, status, primary, key, _0, _8, _12, _14, _15, _17, _29, _31, _32, _34, _35, _36, _37, _38, _39, _1$$3, *_2$$3, _3$$4, _5$$5, _6$$5, _7$$5, _10$$6, _11$$6, _18$$7, _19$$7, _20$$7, _21$$7, _22$$7, _23$$7, _24$$8, _25$$8, _26$$8, _27$$8, _28$$8;
ZEPHIR_INIT_THIS();
ZVAL_UNDEF(&fields_sub);
@@ -1052,6 +1072,7 @@
ZVAL_UNDEF(&_36);
ZVAL_UNDEF(&_37);
ZVAL_UNDEF(&_38);
+ ZVAL_UNDEF(&_39);
ZVAL_UNDEF(&_1$$3);
ZVAL_UNDEF(&_3$$4);
ZVAL_UNDEF(&_5$$5);
@@ -1073,7 +1094,7 @@
ZVAL_UNDEF(&_13);
ZVAL_UNDEF(&_30);
ZVAL_UNDEF(&_33);
- ZVAL_UNDEF(&_39);
+ ZVAL_UNDEF(&_40);
ZEPHIR_MM_GROW();
zephir_fetch_params(1, 0, 2, &fields, &extra);
@@ -1097,7 +1118,7 @@
zephir_read_property(&_0, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(&_0) == IS_ARRAY) {
zephir_read_property(&_1$$3, this_ptr, SL("primary"), PH_NOISY_CC | PH_READONLY);
- zephir_is_iterable(&_1$$3, 0, "ice/mvc/model.zep", 354);
+ zephir_is_iterable(&_1$$3, 0, "ice/mvc/model.zep", 355);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&_1$$3), _2$$3)
{
ZEPHIR_INIT_NVAR(&key);
@@ -1198,8 +1219,10 @@
zephir_read_property(&_35, this_ptr, SL("from"), PH_NOISY_CC | PH_READONLY);
ZEPHIR_CALL_METHOD(&_37, this_ptr, "getdata", NULL, 0);
zephir_check_call_status();
- ZVAL_BOOL(&_38, 0);
- ZEPHIR_CALL_METHOD(&_36, this_ptr, "fields", &_9, 0, &_37, &_38);
+ ZEPHIR_OBS_VAR(&_38);
+ zephir_read_property(&_38, this_ptr, SL("autoincrement"), PH_NOISY_CC);
+ ZVAL_BOOL(&_39, !zephir_is_true(&_38));
+ ZEPHIR_CALL_METHOD(&_36, this_ptr, "fields", &_9, 0, &_37, &_39);
zephir_check_call_status();
ZEPHIR_CALL_METHOD(&status, &_34, "update", NULL, 0, &_35, &primary, &_36);
zephir_check_call_status();
@@ -1207,13 +1230,13 @@
ZEPHIR_CALL_METHOD(NULL, this_ptr, "setdata", NULL, 0, &data);
zephir_check_call_status();
}
- zephir_read_property(&_38, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
- ZEPHIR_INIT_VAR(&_39);
- zephir_create_array(&_39, 1, 0 TSRMLS_CC);
- zephir_array_fast_append(&_39, this_ptr);
+ zephir_read_property(&_39, this_ptr, SL("di"), PH_NOISY_CC | PH_READONLY);
+ ZEPHIR_INIT_VAR(&_40);
+ zephir_create_array(&_40, 1, 0 TSRMLS_CC);
+ zephir_array_fast_append(&_40, this_ptr);
ZEPHIR_INIT_NVAR(&_14);
ZVAL_STRING(&_14, "model.after.update");
- ZEPHIR_CALL_METHOD(NULL, &_38, "applyhook", NULL, 0, &_14, &_39);
+ ZEPHIR_CALL_METHOD(NULL, &_39, "applyhook", NULL, 0, &_14, &_40);
zephir_check_call_status();
RETURN_CCTOR(status);
@@ -1331,7 +1354,7 @@
zephir_read_property(&_0$$3, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(&_0$$3) == IS_ARRAY) {
zephir_read_property(&_1$$4, this_ptr, SL("primary"), PH_NOISY_CC | PH_READONLY);
- zephir_is_iterable(&_1$$4, 0, "ice/mvc/model.zep", 456);
+ zephir_is_iterable(&_1$$4, 0, "ice/mvc/model.zep", 457);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&_1$$4), _2$$4)
{
ZEPHIR_INIT_NVAR(&key);
@@ -1408,7 +1431,7 @@
zephir_read_property(&_0$$3, this_ptr, SL("primary"), PH_NOISY_CC);
if (Z_TYPE_P(&_0$$3) == IS_ARRAY) {
zephir_read_property(&_1$$4, this_ptr, SL("primary"), PH_NOISY_CC | PH_READONLY);
- zephir_is_iterable(&_1$$4, 0, "ice/mvc/model.zep", 487);
+ zephir_is_iterable(&_1$$4, 0, "ice/mvc/model.zep", 488);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&_1$$4), _2$$4)
{
ZEPHIR_INIT_NVAR(&key);
@@ -1750,7 +1773,7 @@
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, &_1$$3, "__construct", NULL, 13, &_3$$3);
zephir_check_call_status();
- zephir_throw_exception_debug(&_1$$3, "ice/mvc/model.zep", 638 TSRMLS_CC);
+ zephir_throw_exception_debug(&_1$$3, "ice/mvc/model.zep", 639 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
}
@@ -1764,7 +1787,7 @@
zephir_get_class_ns(&_4, &referenceModel, 0 TSRMLS_CC);
ZEPHIR_INIT_VAR(&from);
zephir_uncamelize(&from, &_4, NULL );
- zephir_array_fetch_string(&_5, &relation, SL("type"), PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 647 TSRMLS_CC);
+ zephir_array_fetch_string(&_5, &relation, SL("type"), PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 648 TSRMLS_CC);
do {
if (ZEPHIR_IS_LONG(&_5, 1) || ZEPHIR_IS_LONG(&_5, 2)) {
ZEPHIR_INIT_VAR(&_6$$4);
@@ -1860,7 +1883,7 @@
if (Z_TYPE_P(fields) == IS_ARRAY) {
ZEPHIR_INIT_VAR(&rules);
array_init(&rules);
- zephir_is_iterable(fields, 0, "ice/mvc/model.zep", 698);
+ zephir_is_iterable(fields, 0, "ice/mvc/model.zep", 699);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(fields), _2$$4)
{
ZEPHIR_INIT_NVAR(&field);
@@ -1868,7 +1891,7 @@
zephir_read_property(&_3$$5, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
if (zephir_array_isset(&_3$$5, &field)) {
zephir_read_property(&_4$$6, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
- zephir_array_fetch(&_5$$6, &_4$$6, &field, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 694 TSRMLS_CC);
+ zephir_array_fetch(&_5$$6, &_4$$6, &field, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 695 TSRMLS_CC);
zephir_array_update_zval(&rules, &field, &_5$$6, PH_COPY | PH_SEPARATE);
}
} ZEND_HASH_FOREACH_END();
@@ -1876,7 +1899,7 @@
RETURN_CCTOR(rules);
} else if (_0$$3) {
zephir_read_property(&_6$$7, this_ptr, SL("rules"), PH_NOISY_CC | PH_READONLY);
- zephir_array_fetch(&_7$$7, &_6$$7, fields, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 700 TSRMLS_CC);
+ zephir_array_fetch(&_7$$7, &_6$$7, fields, PH_NOISY | PH_READONLY, "ice/mvc/model.zep", 701 TSRMLS_CC);
RETURN_CTOR(_7$$7);
}
}
@@ -2048,7 +2071,7 @@
zephir_check_call_status();
ZEPHIR_CALL_METHOD(NULL, &_3, "__construct", NULL, 13, &_5);
zephir_check_call_status();
- zephir_throw_exception_debug(&_3, "ice/mvc/model.zep", 755 TSRMLS_CC);
+ zephir_throw_exception_debug(&_3, "ice/mvc/model.zep", 756 TSRMLS_CC);
ZEPHIR_MM_RESTORE();
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php7/ice/mvc/model.zep.h new/framework-1.2.4/build/php7/ice/mvc/model.zep.h
--- old/framework-1.2.3/build/php7/ice/mvc/model.zep.h 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php7/ice/mvc/model.zep.h 2017-01-15 19:16:39.000000000 +0100
@@ -8,6 +8,7 @@
PHP_METHOD(Ice_Mvc_Model, setFrom);
PHP_METHOD(Ice_Mvc_Model, setPrimary);
PHP_METHOD(Ice_Mvc_Model, getPrimary);
+PHP_METHOD(Ice_Mvc_Model, setAutoincrement);
PHP_METHOD(Ice_Mvc_Model, setFilters);
PHP_METHOD(Ice_Mvc_Model, getFilters);
PHP_METHOD(Ice_Mvc_Model, setFields);
@@ -52,6 +53,10 @@
ZEND_ARG_INFO(0, primary)
ZEND_END_ARG_INFO()
+ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_mvc_model_setautoincrement, 0, 0, 1)
+ ZEND_ARG_INFO(0, autoincrement)
+ZEND_END_ARG_INFO()
+
ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_mvc_model_setfilters, 0, 0, 1)
ZEND_ARG_INFO(0, filters)
ZEND_END_ARG_INFO()
@@ -181,6 +186,7 @@
PHP_ME(Ice_Mvc_Model, setFrom, arginfo_ice_mvc_model_setfrom, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setPrimary, arginfo_ice_mvc_model_setprimary, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, getPrimary, NULL, ZEND_ACC_PUBLIC)
+ PHP_ME(Ice_Mvc_Model, setAutoincrement, arginfo_ice_mvc_model_setautoincrement, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setFilters, arginfo_ice_mvc_model_setfilters, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, getFilters, NULL, ZEND_ACC_PUBLIC)
PHP_ME(Ice_Mvc_Model, setFields, arginfo_ice_mvc_model_setfields, ZEND_ACC_PUBLIC)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php7/ice/version.zep.c new/framework-1.2.4/build/php7/ice/version.zep.c
--- old/framework-1.2.3/build/php7/ice/version.zep.c 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php7/ice/version.zep.c 2017-01-15 19:16:39.000000000 +0100
@@ -47,7 +47,7 @@
zephir_declare_class_constant_long(ice_version_ce, SL("MINOR"), 2);
- zephir_declare_class_constant_long(ice_version_ce, SL("PATCH"), 3);
+ zephir_declare_class_constant_long(ice_version_ce, SL("PATCH"), 4);
zephir_declare_class_constant_long(ice_version_ce, SL("STAGE"), 4);
@@ -70,7 +70,7 @@
zephir_create_array(return_value, 5, 0 TSRMLS_CC);
add_assoc_long_ex(return_value, SL("major"), 1);
add_assoc_long_ex(return_value, SL("minor"), 2);
- add_assoc_long_ex(return_value, SL("patch"), 3);
+ add_assoc_long_ex(return_value, SL("patch"), 4);
add_assoc_long_ex(return_value, SL("stage"), 4);
add_assoc_long_ex(return_value, SL("build"), 0);
return;
@@ -151,7 +151,7 @@
ZEPHIR_SINIT_VAR(_8);
ZVAL_LONG(&_8, 2);
ZEPHIR_SINIT_VAR(_9);
- ZVAL_LONG(&_9, 3);
+ ZVAL_LONG(&_9, 4);
ZEPHIR_CONCAT_VSVSVV(return_value, &_7, ".", &_8, ".", &_9, &suffix);
RETURN_MM();
@@ -192,7 +192,7 @@
zephir_check_call_status();
ZEPHIR_INIT_NVAR(&_1);
ZVAL_STRING(&_1, "%02s");
- ZVAL_LONG(&_2, 3);
+ ZVAL_LONG(&_2, 4);
ZEPHIR_CALL_FUNCTION(&_5, "sprintf", &_4, 12, &_1, &_2);
zephir_check_call_status();
ZEPHIR_SINIT_VAR(_6);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/build/php7/php_ice.h new/framework-1.2.4/build/php7/php_ice.h
--- old/framework-1.2.3/build/php7/php_ice.h 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/build/php7/php_ice.h 2017-01-15 19:16:39.000000000 +0100
@@ -11,7 +11,7 @@
#include "kernel/globals.h"
#define PHP_ICE_NAME "ice"
-#define PHP_ICE_VERSION "1.2.3"
+#define PHP_ICE_VERSION "1.2.4"
#define PHP_ICE_EXTNAME "ice"
#define PHP_ICE_AUTHOR "Ice Team"
#define PHP_ICE_ZEPVERSION "0.9.6a-dev-72dbb2063e"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/config.json new/framework-1.2.4/config.json
--- old/framework-1.2.3/config.json 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/config.json 2017-01-15 19:16:39.000000000 +0100
@@ -3,7 +3,7 @@
"name": "ice",
"description": "Simple and fast PHP framework delivered as C-extension.<br>Copyright (c) 2014-2016 Ice Team.",
"author": "Ice Team",
- "version": "1.2.3",
+ "version": "1.2.4",
"verbose": false,
"info": [
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/ice/mvc/model.zep new/framework-1.2.4/ice/mvc/model.zep
--- old/framework-1.2.3/ice/mvc/model.zep 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/ice/mvc/model.zep 2017-01-15 19:16:39.000000000 +0100
@@ -23,6 +23,7 @@
protected db { get };
protected from { set };
protected primary { set, get };
+ protected autoincrement = true { set };
protected filters = [] { set, get };
protected fields = [] { set, get };
protected validation { set, get };
@@ -212,7 +213,7 @@
* Prepare fields for validation on create/update.
*
* @param mixed fields Fields to save or valid fields
- * @param booleat primary Keept primary keys
+ * @param boolean primary Keep primary key
* @return array
*/
protected function fields(var fields = [], boolean primary = true)
@@ -254,7 +255,7 @@
}
}
- // Remove primary keys
+ // Remove primary key
if typeof this->primary == "string" && !primary {
unset fields[this->primary];
}
@@ -280,7 +281,7 @@
{
var status;
- this->setData(this->fields(fields, false));
+ this->setData(this->fields(fields, !this->autoincrement));
if extra {
extra->validate();
@@ -386,7 +387,7 @@
this->di->applyHook("model.before.update", [this]);
- let status = this->db->update(this->from, primary, this->fields(this->getData(), false));
+ let status = this->db->update(this->from, primary, this->fields(this->getData(), !this->autoincrement));
if !status {
// Rollback changes and restore old data
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.3/ice/version.zep new/framework-1.2.4/ice/version.zep
--- old/framework-1.2.3/ice/version.zep 2017-01-08 19:53:34.000000000 +0100
+++ new/framework-1.2.4/ice/version.zep 2017-01-15 19:16:39.000000000 +0100
@@ -22,7 +22,7 @@
// Don't forget to update config.json and run zephir fullclean
const MAJOR = 1;
const MINOR = 2;
- const PATCH = 3;
+ const PATCH = 4;
const STAGE = self::STABLE;
const BUILD = 0;
1
0
Hello community,
here is the log from the commit of package ctemplate for openSUSE:Factory checked in at 2017-01-16 11:15:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ctemplate (Old)
and /work/SRC/openSUSE:Factory/.ctemplate.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ctemplate"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ctemplate/ctemplate.changes 2015-04-23 08:04:08.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ctemplate.new/ctemplate.changes 2017-01-16 11:16:00.935562366 +0100
@@ -1,0 +2,7 @@
+Sun Jan 8 12:13:02 UTC 2017 - mpluskal(a)suse.com
+
+- Packaging cleanup
+ * Let test fail on error
+ * Move documentation to devel package
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ctemplate.spec ++++++
--- /var/tmp/diff_new_pack.z4Nv07/_old 2017-01-16 11:16:03.423209682 +0100
+++ /var/tmp/diff_new_pack.z4Nv07/_new 2017-01-16 11:16:03.423209682 +0100
@@ -1,7 +1,7 @@
#
# spec file for package ctemplate
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,8 @@
#
-%define libname libctemplate3
+%define sover 3
+%define libname lib%{name}%{sover}
Name: ctemplate
Version: 2.3
Release: 0
@@ -26,7 +27,7 @@
Url: https://github.com/OlafvdSpek/ctemplate
Source: https://github.com/OlafvdSpek/ctemplate/archive/%{name}-%{version}.tar.gz
BuildRequires: gcc-c++
-BuildRequires: pkg-config
+BuildRequires: pkgconfig
BuildRequires: python
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -64,38 +65,35 @@
make %{?_smp_mflags}
%install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+%make_install
find %{buildroot} -type f -name "*.la" -delete -print
-# remove not needed documentation (rpmlint recommended...)
-rm %{buildroot}%{_datadir}/doc/%{name}-%{version}/README_windows.txt
-rm %{buildroot}%{_datadir}/doc/%{name}-%{version}/INSTALL
-install -d %{buildroot}/%{_defaultdocdir}/%{name}-%{version}
-mv %{buildroot}%{_datadir}/doc/%{name}-%{version}/* %{buildroot}/%{_defaultdocdir}/%{name}-%{version}
+# remove not needed documentation
+rm -rf %{buildroot}%{_datadir}/doc/%{name}-%{version}
%check
-# 2 tests fail: seems while creating tmp files it dies
-# FAIL: template_cache_test
-# FAIL: template_nothreads_unittest
-make %{?_smp_mflags} check || :
+make %{?_smp_mflags} check
%post -n %{libname} -p /sbin/ldconfig
-
%postun -n %{libname} -p /sbin/ldconfig
%files -n %{libname}
%defattr(-,root,root)
-%{_libdir}/*.so.*
-%dir %{_defaultdocdir}/%{name}-%{version}
-%{_defaultdocdir}/%{name}-%{version}/[A-Z]*
+%doc COPYING AUTHORS
+%{_libdir}/libctemplate.so.%{sover}*
+%{_libdir}/libctemplate_nothreads.so.%{sover}*
%files -n libctemplate-devel
%defattr(-,root,root)
-%{_bindir}/*
-%{_libdir}/*.so
-%{_libdir}/pkgconfig/*.pc
+%doc doc/*.html ChangeLog COPYING AUTHORS
+%{_bindir}/diff_tpl_auto_escape
+%{_bindir}/make_tpl_varnames_h
+%{_bindir}/template-converter
%dir %{_includedir}/ctemplate
%{_includedir}/ctemplate/*.h
-%{_defaultdocdir}/%{name}-%{version}/[a-z]*
+%{_libdir}/libctemplate.so
+%{_libdir}/libctemplate_nothreads.so
+%{_libdir}/pkgconfig/libctemplate.pc
+%{_libdir}/pkgconfig/libctemplate_nothreads.pc
%changelog
1
0
Hello community,
here is the log from the commit of package lighttpd for openSUSE:Factory checked in at 2017-01-16 11:15:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lighttpd (Old)
and /work/SRC/openSUSE:Factory/.lighttpd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lighttpd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lighttpd/lighttpd.changes 2015-09-08 17:44:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lighttpd.new/lighttpd.changes 2017-01-16 11:15:47.637447693 +0100
@@ -1,0 +2,503 @@
+Mon Jan 9 12:43:49 UTC 2017 - stbuehler(a)web.de
+
+- lighttpd-1.4.13_geoip.patch is long gone; it was replaced with
+ mod_geoip-for-1.4.39.patch but is now included upstream
+
+-------------------------------------------------------------------
+Sat Dec 24 09:04:46 UTC 2016 - jenkins(a)lighttpd.net
+
+- update to 1.4.44
+ + - next is 1.4.44
+ + [mod_scgi] fix segfault (fixes #2762)
+ + [mod_authn_gssapi] fix memory leak
+ + [config] warn if mod_authn_ldap,mysql not listed
+ + [mod_magnet] fix magnet_cgi_set() set of env vars (fixes #2763)
+ + [mod_cgi] FreeBSD 9.3/MacOSX does not have pipe2() (fixes #2765)
+ + [mod_extforward] fix crash on invalid IP (fixes #2766)
+ + [mod_fastcgi] fix segfault if all backends down (fixes #2768)
+ + [mod_cgi] fix out of sockets error for POST to CGI (fixes #2771)
+ + [mod_auth] compile fix for Mac OS X XCode (fixes #2772)
+ + [mod_authn_gssapi] better resource cleanup
+ + [core] compile fix for Mac OS X 10.6 (old) (fixes #2773)
+ + fix race in dynamic handler configs (reentrancy) (fixes #2774)
+ + [mod_authn_mysql] close mysql_conn in cleanup
+ + [mod_webdav] compile fix when locking not enabled
+ + load mod_auth & mod_authn_file in sample/test.conf
+ + comment out auth.backend.ldap.* in tests/*.conf
+ + [mod_fastcgi,mod_scgi] warn if invalid "bin-path"
+ + RAND_pseudo_bytes() is deprecated in openssl 1.1.0
+ + openssl 1.1.0 init and cleanup
+ + [mod_cgi] remove direct calls to network_backend*
+ + [build] build network_*.c into lighttpd executable
+ + suggest inclusion of mod_geoip... before mod_ssi.
+ + set systemd settings similar to lighttpd2
+ + [doc] remove reference to Linux rt-signals
+ + [mod_authn_gssapi] fix missing error ret, coverity
+ + [core] rename li_rand() to li_rand_pseudo_bytes()
+ + remove #include "stream.h" where not used
+ + [mod_cml] include lua headers before base.h
+ + [core] combine duplicated connection reset code
+ + [mod_ssi] produce content in subrequest hook
+ + [core] remove srv->entropy[]
+ + [core] defer li_rand_init() until first use
+ + [core] permit connection-level state in modules
+ + [mod_dirlisting] render dirlisting as HTML (fixes #2767)
+ + [mod_proxy] replace HTTP Host sent to backend (fixes #2770)
+ + [mod_ssi] basic recursive SSI include virtual (fixes #536)
+ + [mod_ssi] implement, ignore <!--#comment ... -->
+ + [core] consolidate duplicated read-to-close code
+ + [core] fix segfault when parsing a bad config file
+ + [core] support Transfer-Encoding: chunked req body (fixes #2156)
+ + [autobuild] set NO_RDYNAMIC=yes for midipix
+ + [mod_proxy] proxy.balance = "sticky" option (fixes #2117)
+ + [mod_secdownload] warn if SHA used w/o SSL crypto
+ + [build] compile fixes for AIX
+ + [build] check for pipe2() at configure time
+ + [mod_evhost] fix an incorrect error trace
+ + [tests] mark tests/docroot/www/*.pl scripts a+x
+ + [mod_proxy] proxy.replace-http-host enable/disable
+ + [mod_cgi] fall back to pipe() if pipe2() fails
+ + fix SCons fullstatic build with glibc pthreads
+ + [TLS] openssl 1.1.0 makes SSL_OP_NO_SSLv2 no-op
+ + [doc] NEWS
+
+-------------------------------------------------------------------
+Mon Oct 31 13:40:23 UTC 2016 - jenkins(a)lighttpd.net
+
+- update to 1.4.43
+ + - next is 1.4.43
+ + [autobuild] remove mod_authn_gssapi dep on resolv
+ + [mod_deflate] ignore '*' in deflate.mimetypes
+ + minor: make packdist.sh more convenient for me
+ + [autobuild] omit module stubs when missing deps
+ + [autobuild] rm module stub code for missing deps
+ + [TLS] openssl 1.1.0 hides struct bignum_st
+ + [autobuild] move http_cgi_ssl_env() for Mac OS X (fixes #2757)
+ + [core] use paccept() on NetBSD (replace accept4())
+ + [TLS] remote IP conditions are valid for TLS SNI (fixes #2272)
+ + [doc] lighttpd-angel.8 (fixes #2254)
+ + [cmake] build fcgi-auth, fcgi-responder for tests
+ + [mod_accesslog] %{ratio}n logs compression ratio (fixes #2133)
+ + [mod_deflate] skip deflate if loadavg too high (fixes #1505)
+ + [mod_expire] expire by mimetype (fixes #423)
+ + [mod_evhost] partial matching patterns (fixes #1194)
+ + [mod_evhost] mod-evhost.t tests (#1194)
+ + build: use CC_FOR_BUILD for lemon when cross-compiling
+ + [lemon] standalone; remove #include "first.h"
+ + [mod_dirlisting] config header and readme files
+ + [config] warn if mod_authn_ldap,mysql not listed
+ + fix FastCGI, SCGI, proxy reconnect on failure
+ + [core] network_open_file_chunk() temp file opt
+ + [mod_rewrite] add more info in error log msg
+ + [core] fix fd leak when using libev (fixes #2761)
+ + [core] fix potential streaming tempfile corruption (fixes #2760)
+ + minor: coverity comments
+ + [mod_scgi] fix prefix matching to always match url
+ + move script to doc/scripts/ax_prog_cc_for_build.m4
+ + [autobuild] adjust Makefile.am for FreeBSD
+ + [core] check fcntl O_APPEND succeeds w/ mkstemp()
+ + [doc] NEWS
+ + [autobuild] add lemon.c to src/Makefile.am
+ + [autobuild] build fix for lemon.c
+ + [autobuild] put ax_prog_cc_for_build.m4 in top directory
+ + [scons] workaround FreeBSD11 fullstatic link error
+ + [scons] only apply FreeBSD11 workaround on FreeBSD
+ + [mod_cgi] FreeBSD 9.3 does not have pipe2()
+ + [build] move some build scripts to scripts/
+ + [autotools] fix configure.ac for opensuse 13.2
+ + [build] fix warning for (potentially) unused func
+
+Mon Oct 31 12:35:41 UTC 2016 - stbuehler(a)web.de
+-------------------------------------------------------------------
+
+- package new modules
+- remove mod_geoip_for_1.4.40.patch
+
+-------------------------------------------------------------------
+Sun Oct 16 12:12:02 UTC 2016 - jenkins(a)lighttpd.net
+
+- update to 1.4.42
+ + - next is 1.4.42
+ + [TLS] SSL_shutdown() only if handshake finished
+ + [mod_proxy,mod_scgi] shutdown remote only if local (#2743)
+ + [core] check if client half-closed TCP if POLLHUP (#2743)
+ + [core] enforce wait for POLLWR after EINPROGRESS (fixes #2744)
+ + [core] do not enter handler twice after read body
+ + [core] proxy,scgi omit shutdown() to backend (fixes #2743)
+ + [mod_dirlisting] dirlist does not handle POST
+ + [mod_dirlisting] js column sort for dirlist table (fixes #613, fixes #2315)
+ + [mod_auth] Digest auth fails after rewrite (fixes #2745)
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] extensible interface for auth backends
+ + [mod_auth] extensible interface for auth backends
+ + [core] better DragonFlyBSD support (fixes #2746)
+ + [mod_auth] include base.h for USE_OPENSSL def
+ + [mod_auth] support CRYPT-MD5-NTLM algorithm (fixes #1743)
+ + [mod_auth] terminate salt for CRYPT-MD5-NTLM
+ + [core] fix crash if ready events on abandoned fd (fixes #2748)
+ + fix mis-cast in unused code
+ + [mod_auth] http_auth_md5_hex2bin()
+ + [mod_auth] remove empty mod_auth.h
+ + [mod_auth] mod_authn_mysql.c MySQL auth backend (fixes #752, fixes #1845)
+ + [mod_cgi] permit CGI exec of unreadable files (fixes #2374)
+ + [mod_uploadprogress] add to default build
+ + [mod_geoip] add to default build (fixes #2705, fixes #2101, fixes #2092, fixes #2025, fixes #1962, fixes #1938)
+ + [mod_fastcgi] Authorizer support with Responder (fixes #321, fixes #322)
+ + [tests] test coverage for issues (#321, #322)
+ + dynamic handlers store debug flag in handler_ctx
+ + [mod_fastcgi] allow authorizer, responder for same path/ext (#321)
+ + backport mod_deflate to lighttpd 1.4 (fixes #1824, fixes #2753)
+ + [autobuild] test_configfile might need vector.c (fixes #2752)
+ + remove unused sys-mmap.h from stat_cache.c
+ + [mod_deflate] fix longjmp clobber compiler warning
+ + remove unused array type TYPE_COUNT data_count
+ + [mod_auth] structured data, register auth schemes
+ + [mod_auth] mod_authn_gssapi Kerberos auth backend (fixes #1899)
+ + silence warnings from clang ccc-analyzer
+ + [autobuild] skip two new tests if no fcgi-auth
+ + [SCons] define with_krb5 for SCons build
+ + [SCons] fix syntax error in SConstruct
+ + [SCons] define with_geoip for SCons build
+ + [CMake] fix clang -Wcast-align warnings in lemon.c
+ + remove excess initializers (fix compiler warnings)
+ + fix errors detected by Coverity Scan
+ + performance: use Linux extended syscalls and flags
+ + [mod_scgi] add uwsgi protocol support
+ + [mod_auth] refactor LDAP code into smaller funcs
+ + [mod_auth] HTTP Basic auth backends also do authz (#1817)
+ + [mod_auth] ldap filter subst user for multiple '$' (fixes #1508)
+ + [mod_auth] permit specifying ldap DN; skip search (fixes #1248)
+ + [autobuild] update module/feature report
+ + [cmake] build mod_authn_gssapi if WITH_KRB5
+ + DragonFlyBSD defines __DragonFly__ (#2746)
+ + [mod_auth] fix printing of IP in error trace
+ + quiet coverity warning
+ + [mod_mysql_vhost] support multiple '?' replacement (fixes #2163)
+ + [core] make server.max-request-size scopeable (#1901)
+ + [core] server.max-request-field-size (fixes #2130)
+ + [core] optional condition in config "else" clause (fixes #1268)
+ + [core] restrict where config "else" clauses occur (#1268)
+ + silence warnings from clang ccc-analyzer
+ + consistent, shared code to create CGI env
+ + [TLS] replace env entries in https_add_ssl_entries
+ + [TLS] set SSL_CLIENT_M_SERIAL w/ client cert SN (fixes #2268)
+ + [TLS] set SSL_CLIENT_VERIFY w/ client cert (#1288, #2693)
+ + [TLS] set SSL_PROTOCOL, SSL_CIPHER* (fixes #2511)
+ + [core] rand.[ch] to use better RNGs when available
+ + [mod_cgi] fix pipe_cloexec() when no O_CLOEXEC
+ + ignore return value from fcntl() FD_CLOEXEC
+ + silence warnings from clang ccc-analyzer
+ + fix SCons build
+ + build w/o compiler warnings if no zlib or bz2lib
+ + parallelize dist package build (packdist.sh)
+ + [doc] NEWS
+ + quiet coverity warning
+ + add random() to list of rand() fallbacks
++++ 306 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/lighttpd/lighttpd.changes
++++ and /work/SRC/openSUSE:Factory/.lighttpd.new/lighttpd.changes
Old:
----
lighttpd-1.4.13_geoip.patch
lighttpd_1.4.37-0.1.debian.tar.xz
lighttpd_1.4.37-0.1.dsc
lighttpd_1.4.37.orig.tar.xz
New:
----
lighttpd_1.4.44-0.1.debian.tar.xz
lighttpd_1.4.44-0.1.dsc
lighttpd_1.4.44.orig.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lighttpd.spec ++++++
--- /var/tmp/diff_new_pack.5aR2FC/_old 2017-01-16 11:15:48.821279856 +0100
+++ /var/tmp/diff_new_pack.5aR2FC/_new 2017-01-16 11:15:48.825279289 +0100
@@ -18,7 +18,7 @@
%define pkg_home %{_localstatedir}/lib/%{name}
Name: lighttpd
-Version: 1.4.37
+Version: 1.4.44
Release: 0
#
%define pkg_name %{name}
@@ -36,7 +36,6 @@
Source5: lighttpd.SuSEfirewall
Source6: lighttpd-ssl.SuSEfirewall
Source7: lighttpd.logrotate
-Patch0: lighttpd-1.4.13_geoip.patch
BuildRequires: FastCGI-devel
BuildRequires: GeoIP-devel
BuildRequires: automake
@@ -45,7 +44,7 @@
BuildRequires: iputils
BuildRequires: libattr-devel
BuildRequires: libbz2-devel
-BuildRequires: libmemcache-devel
+BuildRequires: libmemcached-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: mysql-devel
@@ -56,6 +55,7 @@
BuildRequires: pwdutils
BuildRequires: sqlite-devel >= 3
BuildRequires: zlib-devel
+BuildRequires: krb5-devel
BuildRequires: perl(CGI)
Requires: spawn-fcgi
Requires(pre): pwdutils
@@ -190,9 +190,32 @@
So far mounting a webdav resource into Windows XP works and the basic
litmus tests are passed.
+%package mod_authn_gssapi
+Summary: A module to provide GSSAPI authentication in lighttpd
+Group: Productivity/Networking/Web/Servers
+Requires: %{name} = %{version}
+
+%description mod_authn_gssapi
+A module to provide GSSAPI authentication in lighttpd.
+
+%package mod_authn_ldap
+Summary: A module to provide LDAP authentication in lighttpd
+Group: Productivity/Networking/Web/Servers
+Requires: %{name} = %{version}
+
+%description mod_authn_ldap
+A module to provide LDAP authentication in lighttpd.
+
+%package mod_authn_mysql
+Summary: A module to provide MySQL authentication in lighttpd
+Group: Productivity/Networking/Web/Servers
+Requires: %{name} = %{version}
+
+%description mod_authn_mysql
+A module to provide MySQL authentication in lighttpd.
+
%prep
%setup -q -n %{pkg_name}-%{pkg_version}
-%patch0
# Do not store build TIME and DATE
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
@@ -209,17 +232,19 @@
--libdir=%{_libdir}/%{name} \
--enable-lfs \
--enable-ipv6 \
+ --with-pcre \
--with-ldap \
--with-mysql \
--with-openssl \
- --with-kerberos5 \
+ --with-krb5 \
--with-gdbm \
--with-lua \
- --with-memcache \
+ --with-memcached \
--with-bzip2 \
--with-webdav-props \
--with-webdav-locks \
--with-fam \
+ --with-geoip \
--with-attr
make %{?_smp_mflags}
@@ -325,8 +350,10 @@
%{_libdir}/%{name}/mod_accesslog.so
%{_libdir}/%{name}/mod_alias.so
%{_libdir}/%{name}/mod_auth.so
+%{_libdir}/%{name}/mod_authn_file.so
%{_libdir}/%{name}/mod_cgi.so
%{_libdir}/%{name}/mod_compress.so
+%{_libdir}/%{name}/mod_deflate.so
%{_libdir}/%{name}/mod_dirlisting.so
%{_libdir}/%{name}/mod_evasive.so
%{_libdir}/%{name}/mod_evhost.so
@@ -345,6 +372,7 @@
%{_libdir}/%{name}/mod_ssi.so
%{_libdir}/%{name}/mod_staticfile.so
%{_libdir}/%{name}/mod_status.so
+%{_libdir}/%{name}/mod_uploadprogress.so
%{_libdir}/%{name}/mod_userdir.so
%{_libdir}/%{name}/mod_usertrack.so
%{_mandir}/man8/*.8*
@@ -420,7 +448,6 @@
%files mod_geoip
%defattr(-,root,root,-)
%config(noreplace) %attr(640,root,%{name}) %{_sysconfdir}/%{name}/conf.d/geoip.conf
-%doc doc/geoip.txt
%{_libdir}/%{name}/mod_geoip.so
%files mod_webdav
@@ -429,4 +456,16 @@
%{_libdir}/%{name}/mod_webdav.so
%doc doc/outdated/webdav.txt
+%files mod_authn_gssapi
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/mod_authn_gssapi.so
+
+%files mod_authn_ldap
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/mod_authn_ldap.so
+
+%files mod_authn_mysql
+%defattr(-,root,root,-)
+%{_libdir}/%{name}/mod_authn_mysql.so
+
%changelog
++++++ lighttpd_1.4.37-0.1.debian.tar.xz -> lighttpd_1.4.44-0.1.debian.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/NEWS new/debian/NEWS
--- old/debian/NEWS 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/NEWS 2016-10-31 13:38:11.000000000 +0100
@@ -1,3 +1,10 @@
+lighttpd (1.4.42-0.2) unstable; urgency=high
+ The authentication modules have been split into submodules; LDAP and
+ the new GSSAPI and MySQL authentication modules are now in separate
+ packages.
+
+ -- Stefan Bühler <stbuehler(a)web.de> Mon, 31 Oct 2016 11:38:33 +0100
+
lighttpd (1.4.31-4) unstable; urgency=high
The default Debian configuration file for PHP invoked from FastCGI was
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/changelog new/debian/changelog
--- old/debian/changelog 2015-08-30 14:13:18.000000000 +0200
+++ new/debian/changelog 2016-12-24 10:04:42.000000000 +0100
@@ -1,3 +1,545 @@
+lighttpd (1.4.44-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.44
+ + - next is 1.4.44
+ + [mod_scgi] fix segfault (fixes #2762)
+ + [mod_authn_gssapi] fix memory leak
+ + [config] warn if mod_authn_ldap,mysql not listed
+ + [mod_magnet] fix magnet_cgi_set() set of env vars (fixes #2763)
+ + [mod_cgi] FreeBSD 9.3/MacOSX does not have pipe2() (fixes #2765)
+ + [mod_extforward] fix crash on invalid IP (fixes #2766)
+ + [mod_fastcgi] fix segfault if all backends down (fixes #2768)
+ + [mod_cgi] fix out of sockets error for POST to CGI (fixes #2771)
+ + [mod_auth] compile fix for Mac OS X XCode (fixes #2772)
+ + [mod_authn_gssapi] better resource cleanup
+ + [core] compile fix for Mac OS X 10.6 (old) (fixes #2773)
+ + fix race in dynamic handler configs (reentrancy) (fixes #2774)
+ + [mod_authn_mysql] close mysql_conn in cleanup
+ + [mod_webdav] compile fix when locking not enabled
+ + load mod_auth & mod_authn_file in sample/test.conf
+ + comment out auth.backend.ldap.* in tests/*.conf
+ + [mod_fastcgi,mod_scgi] warn if invalid "bin-path"
+ + RAND_pseudo_bytes() is deprecated in openssl 1.1.0
+ + openssl 1.1.0 init and cleanup
+ + [mod_cgi] remove direct calls to network_backend*
+ + [build] build network_*.c into lighttpd executable
+ + suggest inclusion of mod_geoip... before mod_ssi.
+ + set systemd settings similar to lighttpd2
+ + [doc] remove reference to Linux rt-signals
+ + [mod_authn_gssapi] fix missing error ret, coverity
+ + [core] rename li_rand() to li_rand_pseudo_bytes()
+ + remove #include "stream.h" where not used
+ + [mod_cml] include lua headers before base.h
+ + [core] combine duplicated connection reset code
+ + [mod_ssi] produce content in subrequest hook
+ + [core] remove srv->entropy[]
+ + [core] defer li_rand_init() until first use
+ + [core] permit connection-level state in modules
+ + [mod_dirlisting] render dirlisting as HTML (fixes #2767)
+ + [mod_proxy] replace HTTP Host sent to backend (fixes #2770)
+ + [mod_ssi] basic recursive SSI include virtual (fixes #536)
+ + [mod_ssi] implement, ignore <!--#comment ... -->
+ + [core] consolidate duplicated read-to-close code
+ + [core] fix segfault when parsing a bad config file
+ + [core] support Transfer-Encoding: chunked req body (fixes #2156)
+ + [autobuild] set NO_RDYNAMIC=yes for midipix
+ + [mod_proxy] proxy.balance = "sticky" option (fixes #2117)
+ + [mod_secdownload] warn if SHA used w/o SSL crypto
+ + [build] compile fixes for AIX
+ + [build] check for pipe2() at configure time
+ + [mod_evhost] fix an incorrect error trace
+ + [tests] mark tests/docroot/www/*.pl scripts a+x
+ + [mod_proxy] proxy.replace-http-host enable/disable
+ + [mod_cgi] fall back to pipe() if pipe2() fails
+ + fix SCons fullstatic build with glibc pthreads
+ + [TLS] openssl 1.1.0 makes SSL_OP_NO_SSLv2 no-op
+ + [doc] NEWS
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Sat, 24 Dec 2016 09:04:42 +0000
+
+lighttpd (1.4.43-0.4) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * merge debian packaging from nightlies / debian
+
+ -- Stefan Bühler <stbuehler(a)web.de> Sat, 24 Dec 2016 09:55:32 +0100
+
+lighttpd (1.4.43-0.3) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Add "Multi-Arch: foreign" for lighttpd-doc (fixes lintian warning)
+ * Pass {CPPFLAGS,CFLAGS,LDFLAGS}_FOR_BUILD buildflags (fixes hardening
+ warnings)
+
+ -- Stefan Bühler <stbuehler(a)web.de> Sun, 04 Dec 2016 11:48:46 +0100
+
+lighttpd (1.4.43-0.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Pull some packaging changes from debian
+
+ -- Stefan Bühler <stbuehler(a)web.de> Sun, 04 Dec 2016 10:56:07 +0100
+
+lighttpd (1.4.43-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.43
+ + - next is 1.4.43
+ + [autobuild] remove mod_authn_gssapi dep on resolv
+ + [mod_deflate] ignore '*' in deflate.mimetypes
+ + minor: make packdist.sh more convenient for me
+ + [autobuild] omit module stubs when missing deps
+ + [autobuild] rm module stub code for missing deps
+ + [TLS] openssl 1.1.0 hides struct bignum_st
+ + [autobuild] move http_cgi_ssl_env() for Mac OS X (fixes #2757)
+ + [core] use paccept() on NetBSD (replace accept4())
+ + [TLS] remote IP conditions are valid for TLS SNI (fixes #2272)
+ + [doc] lighttpd-angel.8 (fixes #2254)
+ + [cmake] build fcgi-auth, fcgi-responder for tests
+ + [mod_accesslog] %{ratio}n logs compression ratio (fixes #2133)
+ + [mod_deflate] skip deflate if loadavg too high (fixes #1505)
+ + [mod_expire] expire by mimetype (fixes #423)
+ + [mod_evhost] partial matching patterns (fixes #1194)
+ + [mod_evhost] mod-evhost.t tests (#1194)
+ + build: use CC_FOR_BUILD for lemon when cross-compiling
+ + [lemon] standalone; remove #include "first.h"
+ + [mod_dirlisting] config header and readme files
+ + [config] warn if mod_authn_ldap,mysql not listed
+ + fix FastCGI, SCGI, proxy reconnect on failure
+ + [core] network_open_file_chunk() temp file opt
+ + [mod_rewrite] add more info in error log msg
+ + [core] fix fd leak when using libev (fixes #2761)
+ + [core] fix potential streaming tempfile corruption (fixes #2760)
+ + minor: coverity comments
+ + [mod_scgi] fix prefix matching to always match url
+ + move script to doc/scripts/ax_prog_cc_for_build.m4
+ + [autobuild] adjust Makefile.am for FreeBSD
+ + [core] check fcntl O_APPEND succeeds w/ mkstemp()
+ + [doc] NEWS
+ + [autobuild] add lemon.c to src/Makefile.am
+ + [autobuild] build fix for lemon.c
+ + [autobuild] put ax_prog_cc_for_build.m4 in top directory
+ + [scons] workaround FreeBSD11 fullstatic link error
+ + [scons] only apply FreeBSD11 workaround on FreeBSD
+ + [mod_cgi] FreeBSD 9.3 does not have pipe2()
+ + [build] move some build scripts to scripts/
+ + [autotools] fix configure.ac for opensuse 13.2
+ + [build] fix warning for (potentially) unused func
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Mon, 31 Oct 2016 13:40:19 +0000
+
+lighttpd (1.4.42-0.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Package new modules
+
+ -- Stefan Bühler <stbuehler(a)web.de> Mon, 31 Oct 2016 13:38:11 +0100
+
+lighttpd (1.4.42-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.42
+ + - next is 1.4.42
+ + [TLS] SSL_shutdown() only if handshake finished
+ + [mod_proxy,mod_scgi] shutdown remote only if local (#2743)
+ + [core] check if client half-closed TCP if POLLHUP (#2743)
+ + [core] enforce wait for POLLWR after EINPROGRESS (fixes #2744)
+ + [core] do not enter handler twice after read body
+ + [core] proxy,scgi omit shutdown() to backend (fixes #2743)
+ + [mod_dirlisting] dirlist does not handle POST
+ + [mod_dirlisting] js column sort for dirlist table (fixes #613, fixes #2315)
+ + [mod_auth] Digest auth fails after rewrite (fixes #2745)
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] refactor out auth backend code
+ + [mod_auth] extensible interface for auth backends
+ + [mod_auth] extensible interface for auth backends
+ + [core] better DragonFlyBSD support (fixes #2746)
+ + [mod_auth] include base.h for USE_OPENSSL def
+ + [mod_auth] support CRYPT-MD5-NTLM algorithm (fixes #1743)
+ + [mod_auth] terminate salt for CRYPT-MD5-NTLM
+ + [core] fix crash if ready events on abandoned fd (fixes #2748)
+ + fix mis-cast in unused code
+ + [mod_auth] http_auth_md5_hex2bin()
+ + [mod_auth] remove empty mod_auth.h
+ + [mod_auth] mod_authn_mysql.c MySQL auth backend (fixes #752, fixes #1845)
+ + [mod_cgi] permit CGI exec of unreadable files (fixes #2374)
+ + [mod_uploadprogress] add to default build
+ + [mod_geoip] add to default build (fixes #2705, fixes #2101, fixes #2092, fixes #2025, fixes #1962, fixes #1938)
+ + [mod_fastcgi] Authorizer support with Responder (fixes #321, fixes #322)
+ + [tests] test coverage for issues (#321, #322)
+ + dynamic handlers store debug flag in handler_ctx
+ + [mod_fastcgi] allow authorizer, responder for same path/ext (#321)
+ + backport mod_deflate to lighttpd 1.4 (fixes #1824, fixes #2753)
+ + [autobuild] test_configfile might need vector.c (fixes #2752)
+ + remove unused sys-mmap.h from stat_cache.c
+ + [mod_deflate] fix longjmp clobber compiler warning
+ + remove unused array type TYPE_COUNT data_count
+ + [mod_auth] structured data, register auth schemes
+ + [mod_auth] mod_authn_gssapi Kerberos auth backend (fixes #1899)
+ + silence warnings from clang ccc-analyzer
+ + [autobuild] skip two new tests if no fcgi-auth
+ + [SCons] define with_krb5 for SCons build
+ + [SCons] fix syntax error in SConstruct
+ + [SCons] define with_geoip for SCons build
+ + [CMake] fix clang -Wcast-align warnings in lemon.c
+ + remove excess initializers (fix compiler warnings)
+ + fix errors detected by Coverity Scan
+ + performance: use Linux extended syscalls and flags
+ + [mod_scgi] add uwsgi protocol support
+ + [mod_auth] refactor LDAP code into smaller funcs
+ + [mod_auth] HTTP Basic auth backends also do authz (#1817)
+ + [mod_auth] ldap filter subst user for multiple '$' (fixes #1508)
+ + [mod_auth] permit specifying ldap DN; skip search (fixes #1248)
+ + [autobuild] update module/feature report
+ + [cmake] build mod_authn_gssapi if WITH_KRB5
+ + DragonFlyBSD defines __DragonFly__ (#2746)
+ + [mod_auth] fix printing of IP in error trace
+ + quiet coverity warning
+ + [mod_mysql_vhost] support multiple '?' replacement (fixes #2163)
+ + [core] make server.max-request-size scopeable (#1901)
+ + [core] server.max-request-field-size (fixes #2130)
+ + [core] optional condition in config "else" clause (fixes #1268)
+ + [core] restrict where config "else" clauses occur (#1268)
+ + silence warnings from clang ccc-analyzer
+ + consistent, shared code to create CGI env
+ + [TLS] replace env entries in https_add_ssl_entries
+ + [TLS] set SSL_CLIENT_M_SERIAL w/ client cert SN (fixes #2268)
+ + [TLS] set SSL_CLIENT_VERIFY w/ client cert (#1288, #2693)
+ + [TLS] set SSL_PROTOCOL, SSL_CIPHER* (fixes #2511)
+ + [core] rand.[ch] to use better RNGs when available
+ + [mod_cgi] fix pipe_cloexec() when no O_CLOEXEC
+ + ignore return value from fcntl() FD_CLOEXEC
+ + silence warnings from clang ccc-analyzer
+ + fix SCons build
+ + build w/o compiler warnings if no zlib or bz2lib
+ + parallelize dist package build (packdist.sh)
+ + [doc] NEWS
+ + quiet coverity warning
+ + add random() to list of rand() fallbacks
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Sun, 16 Oct 2016 12:11:58 +0000
+
+lighttpd (1.4.41-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.41
+ + - next is 1.4.41
+ + remove long-deprecated, non-functional config opts
+ + [config] inherit server.use-ipv6 and server.set-v6only (fixes #678)
+ + [build] allow AUTHOR, KEYID overrides to packdist
+ + [mod_auth] fix Digest auth to be better than Basic (fixes #1844)
+ + [doc] update memcache references to memcached
+ + [mod_ssi] fix #config sizefmt="bytes"
+ + fix some warnings reported by cppcheck
+ + workaround clang compiler warning
+ + [autobuild] move inet_pton detection later
+ + [core] #include <sys/filio.h> for FIONREAD (fixes #2726)
+ + [autobuild] clock_gettime() -lrt with glibc < 2.17
+ + minor: spelling changes in some comments/messages
+ + [security] do not emit HTTP_PROXY to CGI env
+ + [build_cmake] clock_gettime() -lrt w/ glibc < 2.17 (fixes #2737)
+ + [core] avoid spurious trace and error abort
+ + [core] stay in CON_STATE_CLOSE until done with req
+ + [core] $HTTP["remoteip"] must handle IPv6 w/o []
+ + [mod_status] show keep-alive status w/ text output (fixes #2740)
+ + do not set REDIRECT_URI in mod_magnet, mod_rewrite (#2738)
+ + revert 1.4.40 swap of REQUEST_URI, REDIRECT_URI (fixes #2738)
+ + [core] permit IPv6 address scope identifier
+ + [core] consolidate duplicated response_end code
+ + [TLS] better handling of SSL_ERROR_WANT_READ/WRITE
+ + [TLS] read all available records from SSL_read()
+ + [core] try AF_INET after AF_INET6 if use-ipv6
+ + [core] fix result copy from getaddrinfo()
+ + [core] set chunkqueue tempdirs at startup
+ + [core] check if EAI_ADDRFAMILY is defined
+ + [core] set chunkqueue tempdirs at startup /var/tmp
+ + [security] ensure gid != 0 if server.username set (fixes #2725)
+ + [security] disable stat_cache if !follow-symlink (fixes #2724)
+ + [core] fix buffer_copy_string_hex() assert (fixes #2742)
+ + fix buffer.c comments to match encoded_chars_*
+ + [security] encode quoting chars in HTML and XML
+ + [cmake] always define _GNU_SOURCE
+ + [cmake] enable warnings for GCC and Clang
+ + [cmake] set cmake_minimum_required to 2.8.2
+ + [doc] NEWS
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Sun, 31 Jul 2016 13:56:27 +0000
+
+lighttpd (1.4.40-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.40
+ + - next is 1.4.40
+ + [mod_ssi] enhance support for ssi vars
+ + add handling for lua 5.2 and 5.3 (fixes #2674)
+ + use libmemcached instead of deprecated libmemcache
+ + add force_assert for more allocation results
+ + cleanup dead keyvalue code
+ + [autobuild] fix lua configure error handling
+ + [mod_cgi] use MAP_PRIVATE to mmap temporary file instead of MAP_SHARED (fixes #2715)
+ + [core] do not send SIGHUP to process group unless server.max-workers is used (fixes #2711)
+ + [mod_cgi] edge case chdir "/" when docroot "/" (fixes #2460)
+ + fix links to online docs in template config files
+ + [mod_cgi] issue trace and exit if execve() fails (closes #2302)
+ + [configparser] don't continue after parse error (fixes #2717)
+ + [core] never evaluate else branches until the previous branches are aready (fixes #2598)
+ + [core] fix conditional cache handling
+ + [core] improve conditional enabling (thx Gwenlliana, #2598)
+ + [buffer] use explicit integer promotion to make the code more readable
+ + [config] extend duplicate-array-key error (fixes #2704)
+ + [mod_compress] case-insensitive content-codings (fixes #2645)
+ + [plugins] don't include dlfcn.h if not needed (fixes #2548)
+ + [mod_fastcgi] 404 for X-Sendfile file not found (fixes #2474)
+ + [mod_cgi] send 500 if CGI ends and there is no response (fixes #2542)
+ + [mod_cgi] consolidate CGI cleanup code
+ + [mod_cgi] simplify mod_cgi_handle_subrequest()
+ + [mod_cgi] kill CGI if fail to write request body
+ + [mod_proxy] use case-insensitive comparision to filter headers, send Connection: Close to backend (fixes #421)
+ + [mod_dirlisting] dir-listing.hide-dotfiles = "enabled" by default (fixes #1081)
+ + [mod_rewrite] fix return type of process_rewrite_rules
+ + [mod_secdownload] fix buffer overflow in secdl_verify_mac (reported by Fortify Open Review Project)
+ + [mod_fastcgi,mod_scgi] fix leaking file-descriptor when backend spawning failed (reported by Fortify Open Review Project)
+ + [core] improve array API to prevent theoretical memory leaks
+ + [core] rename variable in array.c
+ + [core] refactor array search; raise array size limit to SSIZE_MAX
+ + [core] fix memory leak in configparser_merge_data
+ + [core] provide array_extract_element and use it
+ + [core] configparser: error on duplicate keys in array merge (fixes #2685)
+ + [core] more careful parse of $SERVER["socket"] config str (prepare #2204)
+ + [core] accept $SERVER["socket"] without port, use server.port as fallback (fixes #2204)
+ + [mod_magnet] define lua_pushglobaltable (for lua5.1) and use it (fixes #2719)
+ + [ssl] support disabling ssl.verifyclient.activate in SNI callback (fixes #2531)
+ + restart (some) syscalls after SIGCHLD interrupted them; should fix LDAP problems (fixes #2464)
+ + [core] log remote address on request timeouts (fixes #652)
+ + [autobuild] use AC_CANONICAL_HOST instead of AC_CANONICAL_TARGET (fixes #1866)
+ + [core] fix request_start in keep-alive requests to mark time when received first byte (fixes #2412)
+ + [core] truncate pidfile on exit (fixes #2695)
+ + consistent inclusion of config.h at top of files (fixes #2073)
+ + [autobuild] include first.h in make dist
+ + [core] add generic vector implementation
+ + [core] replace array weakref with vector
+ + [base64] fix crash due to broken force_assert
+ + [unittests] add test_buffer and test_base64 unit tests
+ + [base64] fix another crash due to broken force_assert conditions
+ + [buffer] refactor buffer_path_simplify (fixes #2560)
+ + [http_auth/mod_fastcgi] check get_http_*_name() for NULL return (#2583)
+ + validate return values from strtol, strtoul (fixes #2564)
+ + add NEWS entry for previous commit
+ + [mod_ssi] Add SSI vars SCRIPT_{URI,URL} and REQUEST_SCHEME (fixes #2721)
+ + [config] warn if server.upload-dirs has non-existent dirs (fixes #2508)
+ + [mod_proxy] accept LF delimited headers, not just CRLF (fixes #2594)
+ + [core] wait for grandchild to be ready when daemonizing (fixes #2712, thx pasdVn)
+ + [core] respond 411 Length Required if request has Transfer-Encoding: chunked (fixes #631)
+ + [core] fixed the loading for default modules if they are specified explicitly
+ + [core] lighttpd -tt performs preflight startup checks (fixes #411)
+ + [stat] mimetype.xattr-name global config option (fixes #2631)
+ + [configparser] fix small leak on config failure
+ + [mod_webdav] allow Depth: Infinity lock on file (fixes #2296)
+ + [mod_status] use snprintf() instead of sprintf()
+ + pass buf size to li_tohex()
+ + use li_[iu]tostrn() instead of li_[iu]tostr()
+ + [stream] fstat() after open() to obtain file size
+ + [core] clean up srv before exiting for lighttpd -[vVh]
+ + [mod_fastcgi,mod_scgi] check for spawning on same unix socket (fixes #319)
+ + [mod_cgi] always set QUERY_STRING (fixes #1339)
+ + [mod_auth] send charset="UTF-8" in WWW-Authenticate (fixes #1468)
+ + [mod_magnet] rename var for clarity (fixes #1483)
+ + [mod_extforward] reset cond_cache for scheme (fixes #1499)
+ + [mod_webdav] readdir POSIX compat (fixes #1826)
+ + [mod_expire] reset caching response headers for error docs (fixes #1919)
+ + [mod_status] page refresh option (fixes #2170)
+ + [mod_status] table w/ count of con states (fixes #2427)
+ + [mod_dirlisting] class for dir <tr> (fixes #2304)
+ + skip spawning backends for preflight tests (#2642)
+ + [core] define __STDC_WANT_LIB_EXT1__ (fixes #2722)
+ + [core] setrlimit max-fds <= rlim_max for non-root (fixes #2723)
+ + [mod_ssi] config ssi.conditional-requests
+ + [mod_ssi] config ssi.exec (fixes #2051)
+ + [mod_redirect,mod-rewrite] short-circuit if blank replacement (fixes #2085)
+ + [mod_indexfile] save physical path to env (fixes #448, #892)
+ + [core] open fd when appending file to cq (fixes #2655)
+ + [config] server.listen-backlog option (fixes #1825, #2116)
+ + [core] retry tempdirs on partial write, ENOSPC (fixes #2588)
+ + untangle overly complex control flow logic
+ + defer reading request body until handle subrequest (fixes #2541)
+ + mv funcs from connections.c to connections-glue.c
+ + defer reading request body until handle subrequest
+ + always poll for client POLLHUP/POLLERR events (fixes #399)
+ + remove handle_joblist hook
+ + handlers can read response before sending req body (fixes #131, #2566)
+ + [mod_cgi] asynchronous send of request body to CGI
+ + improve dynamic handler control flow logic
+ + [doc] add mimetype.use-xattr to conf.d/mime.conf
+ + [doc] enhance error msg for backend server config
+ + [doc] add ref to RFC 7232 for conditional requests
+ + make (compile and link) cleanly under cygwin
+ + [core] compile with upcoming openssl 1.1.0 release (fixes #2727)
+ + fix some warnings reported by static analysis tool
+ + [core] set REDIRECT_STATUS to error_handler_saved_status (fixes #1828)
+ + remove unused con->error_handler member
+ + [core] server.error-handler new directive for error pages (fixes #2702)
+ + set REDIRECT_URI in mod_rewrite, mod_magnet
+ + [doc] add server.error-handler
+ + server.error-handler new directive for error pages
+ + [core] support IPv6 in $HTTP["remote-ip"] CIDR cond match (fixes #2706)
+ + [doc] NEWS
+ + [core] http_response_send_file() shared code (#2017)
+ + [mod_fastcgi] use http_response_xsendfile() (fixes #799, fixes #851, fixes #2017, fixes #2076)
+ + [mod_scgi] X-Sendfile feature (fixes #2253)
+ + [mod_cgi] X-Sendfile feature (fixes #2313)
+ + [mod_cgi,mod_fastcgi,mod_scgi] X-Sendfile features
+ + [mod_webdav] lseek,read if fs can not mmap (#2666, fixes #962)
+ + [mod_compress] use mmap and trap SIGBUS (#2666, fixes #1879)
+ + fallback to lseek()/read() if mmap() fails (#fixes 2666)
+ + [mod_auth] skip blank lines and comment lines (fixes #2327)
+ + [core] fallback to write if sendfile not supported (fixes #471, #987)
+ + minor: add missing #include <errno.h>
+ + [core] preserve PATH_INFO case on case-insensitive fs (fixes #406)
+ + [doc] add mimetype.use-xattr to create-mime.conf.pl
+ + [doc] NEWS
+ + [mod_ssi, mod_cml] set DOCUMENT_ROOT to basedir (fixes #2383)
+ + [core] cmd line opt to shutdown after idle time limit (fixes #2696)
+ + [network] separate addr trans from socket creation
+ + [core] lighttpd -1 handles single request on stdin socket (fixes #1584)
+ + lighttpd run modes for idle timeout, one-shot
+ + [mod_fastcgi,mod_scgi] IPv6 support (fixes #2372)
+ + [mod_status] add JSON output option (fixed #2432)
+ + [mod_webdav] map COPY/MOVE Destination to aliases (fixes #1787)
+ + [mod_webdav] improve PROPFIND,PROPPATCH (#1818, #1953)
+ + [mod_webdav] improve PROPFIND,PROPPATCH; map COPY/MOVE Destination
+ + [doc] NEWS
+ + reset response headers, write_queue for error docs
+ + fix typo in new cgi.x-sendfile directives
+ + clean up oneshot_fd resource upon startup error
+ + minor: fix compiler warning for extra ';'
+ + build with libressl
+ + [core] fix IPv6 address + port parsing (#2204)
+ + static build instructions using SCons or make
+ + [core] fix config merge of array lists
+ + [core] simplify config merge of array lists
+ + [core] add default modules while processing server config
+ + [mod_auth] preserve WWW-Authenticate for error docs (fixes #2730)
+ + check close() return code after writing to file
+ + [doc] NEWS
+ + adjustments for openssl 1.1.0 pre-release
+ + [config] support include file glob (fixes #1221)
+ + [mod_evasive] 302 redirect option if limit reached (fixes #2199)
+ + [build] enhancements for cross-compiling (fixes #2276)
+ + [mod_accesslog] report aborted con state with %X (fixes #1890)
+ + [mod_ssi] fix SSI statement parser
+ + [mod_ssi] include relative to alias,userdir (fixes #222)
+ + [mod_ssi] add PCRE_* options to constrain regex
+ + [mod_ssi] more flexible quoting (fixes #1768)
+ + [core] wrap IPv6 literal in "[]" in redirect URL
+ + [mod_ssi] fix parse of tag across buf boundary (fixes #2732)
+ + [mod_cgi,mod_scgi] X-Sendfile sets file_started (fixes #2733)
+ + [mod_fastcgi] no chunked response w/ X-Sendfile (fixes #2733)
+ + [config] opts for http header parsing strictness (fixes #551, fixes #1086, fixes #1184, fixes #2143, #2258, #2281, fixes #946, fixes #1330, fixes #602, #1016)
+ + [config] normalize IP strings in lighttpd.conf
+ + [build_cmake] use MODULE on Mac OS X (fixes #1761)
+ + minor: quiet some compiler warnings
+ + use buffer_string_set_length() to truncate strings
+ + use buffer_string_set_length() to truncate strings
+ + [config] server.bsd-accept-filter option
+ + [mod_webdav] create file w/ LOCK request if ENOENT
+ + [doc] NEWS
+ + [mod_webdav] getetag and lockdiscovery live props
+ + [mod_webdav] create file w/ LOCK request if ENOENT
+ + [core] buffer large responses to tempfiles (fixes #758, fixes #760, fixes #933, fixes #1387, #1283, fixes #2083)
+ + [core] stream response to client (#949)
+ + [TLS] release openssl buffers as used (fixes #1265, fixes #1283, #881)
+ + [config] config options to stream request/response (#949, #376)
+ + [core] option to stream request body to backend (fixes #376)
+ + separate routines for reading output from backends
+ + [core] option to stream response body to client (fixes #949, #760, #1283, #1387)
+ + drain backend socket/pipe bufs upon FDEVENT_HUP
+ + http_response_backend_error()
+ + remove excess calls to joblist_append()
+ + defer choosing "Transfer-Encoding: chunked"
+ + asynchronous, bidirectional streaming options
+ + fix errors detected by Coverity Scan
+ + [build] update Makefile.am EXTRA_DIST w/ new files
+ + chunkqueue_append_chunkqueue()
+ + fix errors detected by Coverity Scan
+ + [cygwin] fix mod_proxy and mod_fastcgi ioctl use
+ + use con->conf.server_tag in modules
+ + [mod_webdav] remove excess SQL param to UNLOCK
+ + [doc] NEWS
+ + graceful shutdown without unnecessary 1 sec delay
+ + fix error handling for portability (NetBSD)
+ + [core] disable Nagle algorithm (TCP_NODELAY)
+ + [core] add declarations to fdevent.h (#2373)
+ + [build] add $(ATTR_LIB) to liblightcomp_la_LIBADD
+ + [cygwin] minor: fix compiler warning
+ + [tests] remove dependency on CGI.pm
+ + [core] fix s6_addr type-punned compiler warning
+ + [TLS] fix return value checks during cert init
+ + [core] fix server.max-request-size to be precise (fixes #2131)
+ + [mod_webdav] fix proppatch mem leak, other fixes (#fixes 1334, #fixes 2000)
+ + [autobuild] CMake check for struct tm tm_gmtoff (fixes #2014)
+ + [core] remove assert in fdevent_unregister()
+ + [mod_uploadprogress] fix mem leak (#1858)
+ + [core] make server.max-request-size scopeable (fixes #1901)
+ + [mod_fastcgi,mod_scgi] check for spawning on same unix socket (#319)
+ + [mod_fastcgi,mod_scgi] check for spawning on same unix socket (#319)
+ + fix gcc 6.1.1 compiler warn misleading-indentation
+ + [mod_accesslog] %a %A %C %D %k %{}t %{}T (fixes #1145, fixes #1415, fixes #2081)
+ + [mod_access] new directive url.access-allow (fixes #1421)
+ + [core] fdevent_libev: update use of ev_timer
+ + [core] fdevent_libev: workaround compiler warning
+ + [tests] remove some tests duplicated in mod-cgi.t
+ + [mod_cgi] handle local redirect response (fixes #2108)
+ + update lighttpd -h
+ + [doc] add self to AUTHORS (discussed w/ stbuehler)
+ + [doc] NEWS
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Sat, 16 Jul 2016 11:54:52 +0000
+
+lighttpd (1.4.39-0.99) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Prepare package for 1.4.40 release
+ * Add libmemcached-dev build dependency, fix configure flags
+ * Bump standard to 3.9.8
+
+ -- Stefan Bühler <stbuehler(a)web.de> Sat, 16 Jul 2016 13:50:52 +0200
+
+lighttpd (1.4.39-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * new snapshot 1.4.39
+ + -next is 1.4.38
+ + fix packdist.sh output links
+ + [stat-cache] fix handling of collisions, might have returned wrong data (fixes #2669)
+ + [core] allocate at least 4k buffer for incoming data
+ + [core] fix search for header end if split across chunks (fixes #2670)
+ + [core] check configparserAlloc() result with force_assert
+ + [mod_auth] implement and use safe_memclear, using memset_s or explicit_bzero if available
+ + [core] don't buffer request bodies smaller than 64k on disk
+ + add force_assert for many allocations and function results
+ + [mod_secdownload] use a hopefully constant time comparison to check hash (fixes #2679)
+ + [config] check config option scope; warn if server option is given in conditional
+ + [core] revert increase of temp file size back to 1MB, provide a configure option "server.upload-temp-file-size" instead (fixes #2680)
+ + [core] add '~' to safe characters in ENCODING_REL_URI/ENCODING_REL_URI_PART encoding
+ + [core] encode path with ENCODING_REL_URI in redirect to directory (fixes #2661, thx gstrauss)
+ + [core] refactor base64 functions into separate file
+ + [mod_secdownload] add required algorithm option; old behaviour available as "md5", new options "hmac-sha1" and "hmac-sha256"
+ + [autobuild] fix missing header in tar ball
+ + mod-auth.t: no crypt md5 for darwin
+ + [tests] test apr-md5 in mod-auth.t
+ + [tests] do not half-close socket before having received the response (fixes #2688)
+ + [mod_fastcgi/mod_scgi] zero sockaddr structs before use (fixes #2691)
+ + [network] add darwin-sendfile backend (fixes #2687)
+ + [core] show correct crypt support result (fixes #2690)
+ + - next ist 1.4.39
+ + [core] fix memset_s call (fixes #2698)
+ + [chunk] fix use after free / double free (fixes #2700)
+ + [scons] fix fullstatic build
+
+ -- Jenkins (autobuilder) <jenkins(a)lighttpd.net> Sat, 02 Jan 2016 13:30:53 +0000
+
lighttpd (1.4.37-0.1) unstable; urgency=low
* Non-maintainer upload.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/clean new/debian/clean
--- old/debian/clean 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/clean 2016-12-23 11:25:26.000000000 +0100
@@ -0,0 +1,16 @@
+aclocal.m4
+ar-lib
+compile
+configure
+config.log
+depcomp
+install-sh
+ltmain.sh
+m4/*
+Makefile.in
+missing
+
+src/configparser.h
+src/configparser.c
+src/mod_ssi_exprparser.h
+src/mod_ssi_exprparser.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/control new/debian/control
--- old/debian/control 2015-07-11 14:36:01.000000000 +0200
+++ new/debian/control 2016-12-23 11:31:09.000000000 +0100
@@ -18,12 +18,14 @@
libbz2-dev,
libattr1-dev,
libpcre3-dev,
- libmysqlclient-dev,
+ default-libmysqlclient-dev | libmysqlclient-dev,
libfam-dev,
libldap2-dev,
libfcgi-dev,
libgdbm-dev,
+ libgeoip-dev,
liblua5.1-0-dev,
+ libmemcached-dev,
pkg-config,
uuid-dev,
libsqlite3-dev,
@@ -33,19 +35,26 @@
libcgi-pm-perl,
Vcs-Git: git://anonscm.debian.org/pkg-lighttpd/lighttpd.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-lighttpd/lighttpd.git
-Standards-Version: 3.9.6
+Standards-Version: 3.9.8
Package: lighttpd
Architecture: any
-# Omitting this triggers a Lintian error
-# That's a false positive these days
-Pre-Depends: ${misc:Pre-Depends}
-Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends},
- lsb-base (>= 3.2-14) | systemd (>= 29.1), mime-support,
- libterm-readline-perl-perl
-Provides: httpd, httpd-cgi
-Suggests: openssl, rrdtool, apache2-utils
-Recommends: spawn-fcgi
+Provides:
+ httpd,
+ httpd-cgi
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ mime-support,
+ lsb-base (>= 3.0-6),
+Recommends:
+ spawn-fcgi,
+Suggests:
+ openssl,
+ rrdtool,
+ php5-cgi,
+ apache2-utils,
+ lighttpd-doc,
Description: fast webserver with minimal memory footprint
lighttpd is a small webserver and fast webserver developed with
security in mind and a lot of features.
@@ -60,10 +69,13 @@
and configuration is straight-forward and easy.
Package: lighttpd-doc
+Multi-Arch: foreign
Architecture: all
Section: doc
-Depends: ${misc:Depends}
-Suggests: lighttpd
+Depends:
+ ${misc:Depends},
+Suggests:
+ lighttpd,
Description: documentation for lighttpd
lighttpd is a small webserver and fast webserver developed with
security in mind and a lot of features.
@@ -72,7 +84,10 @@
Package: lighttpd-mod-mysql-vhost
Architecture: any
-Depends: lighttpd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
Description: MySQL-based virtual host configuration for lighttpd
This package contains the myqsl_vhost module for lighttpd. With
this module, it is possible to write the configuration for virtual
@@ -81,9 +96,12 @@
Package: lighttpd-mod-trigger-b4-dl
Architecture: any
-Depends: lighttpd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Replaces: lighttpd (<< 1.4.10-5)
-Recommends: memcached
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Recommends:
+ memcached,
Description: anti-deep-linking module for lighttpd
The trigger-b4-dl module for lighttpd can prevent deep linking
from other sites by requiring users to visit a trigger URL to
@@ -91,8 +109,12 @@
Package: lighttpd-mod-cml
Architecture: any
-Depends: lighttpd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Recommends: memcached
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Recommends:
+ memcached,
Description: cache meta language module for lighttpd
With the cache meta language, it is possible to describe to the
dependencies of a cached file to its source files/scripts. For the
@@ -103,7 +125,10 @@
Package: lighttpd-mod-magnet
Architecture: any
-Depends: lighttpd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
Description: control the request handling module for lighttpd
mod_magnet can attract a request in several stages in the request-handling.
either at the same level as mod_rewrite, before any parsing of the URL is done
@@ -112,7 +137,10 @@
Package: lighttpd-mod-webdav
Architecture: any
-Depends: lighttpd (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
Description: WebDAV module for lighttpd
The WebDAV module is a very minimalistic implementation of RFC 2518.
Minimalistic means that not all operations are implemented yet.
@@ -126,3 +154,46 @@
MKCOL
DELETE
PUT
+
+Package: lighttpd-mod-authn-gssapi
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Description: GGSAPI authentication for lighttpd
+ This package contains the authn_gssapi module for lighttpd. With
+ this module, it is possible to perform GSSAPI authentication.
+
+Package: lighttpd-mod-authn-ldap
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Description: LDAP authentication for lighttpd
+ This package contains the authn_ldap module for lighttpd. With
+ this module, it is possible to perform authentication against an LDAP
+ server.
+
+Package: lighttpd-mod-authn-mysql
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Description: MySQL authentication for lighttpd
+ This package contains the authn_mysql module for lighttpd. With
+ this module, it is possible to perform authentication using a MySQL
+ table.
+
+Package: lighttpd-mod-geoip
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+ lighttpd (= ${binary:Version}),
+Description: GeoIP restrictions for lighttpd
+ This package contains the geoip module for lighttpd. With
+ this module, it is possible to distinguish users based on the location
+ using a GeoIP database.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/copyright new/debian/copyright
--- old/debian/copyright 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/copyright 2016-12-19 01:04:25.000000000 +0100
@@ -1,92 +1,93 @@
-This package was debianized by Vincent Wagelaar <vincent(a)ricardis.tudelft.nl> on
-Wed, 24 Mar 2004 08:20:58 +0100.
-
-It was downloaded from http://www.incremental.de/products/lighttpd/download/
-
-Upstream Author: Jan Kneschke <jan(a)kneschke.de>
-
-Copyright:
-
-Copyright (c) 2004, Jan Kneschke, incremental
- All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-- Neither the name of the 'incremental' nor the names of its contributors may
- be used to endorse or promote products derived from this software without
- specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGE.
-
-src/fastcgi.h
-Copyright (c) 1995-1996 Open Market, Inc
-
-This FastCGI application library source and object code (the
-"Software") and its documentation (the "Documentation") are
-copyrighted by Open Market, Inc ("Open Market"). The following terms
-apply to all files associated with the Software and Documentation
-unless explicitly disclaimed in individual files.
-
-Open Market permits you to use, copy, modify, distribute, and license
-this Software and the Documentation for any purpose, provided that
-existing copyright notices are retained in all copies and that this
-notice is included verbatim in any distributions. No written
-agreement, license, or royalty fee is required for any of the
-authorized uses. Modifications to this Software and Documentation may
-be copyrighted by their authors and need not follow the licensing
-terms described here. If modifications to this Software and
-Documentation have new licensing terms, the new terms must be clearly
-indicated on the first page of each file where they apply.
-
-OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE
-SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY
-WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN
-NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY
-DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE
-DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR
-CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR
-LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS".
-OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR
-OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION.
-
-
-src/md5.h, src/md5.c
-Copyright (c) 1991-2, RSA Data Security , Inc.
- All rights reserved.
-
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-
-These notices must be retained in any copies of any part of this
-documentation and/or software.
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0
+Upstream-Name: lighttpd
+Files-Excluded:
+ autogen.sh
+ config.py-sample
+
+Files: *
+Author: Copyright (c) 2004, Jan Kneschke, incremental
+License: BSD-3-clause
+
+Files: src/fastcgi.h
+Copyright: Copyright (c) 1995-1996 Open Market, Inc
+License: Open-Market
+
+Files: src/md5.h, src/md5.c
+Copyright: Copyright (c) 1991-2, RSA Data Security , Inc. All rights reserved.
+License: RSA
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+ - Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ .
+ - Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+ .
+ - Neither the name of the 'incremental' nor the names of its contributors may
+ be used to endorse or promote products derived from this software without
+ specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ THE POSSIBILITY OF SUCH DAMAGE.
+
+License: Open-Market
+ This FastCGI application library source and object code (the
+ "Software") and its documentation (the "Documentation") are
+ copyrighted by Open Market, Inc ("Open Market"). The following terms
+ apply to all files associated with the Software and Documentation
+ unless explicitly disclaimed in individual files.
+ .
+ Open Market permits you to use, copy, modify, distribute, and license
+ this Software and the Documentation for any purpose, provided that
+ existing copyright notices are retained in all copies and that this
+ notice is included verbatim in any distributions. No written
+ agreement, license, or royalty fee is required for any of the
+ authorized uses. Modifications to this Software and Documentation may
+ be copyrighted by their authors and need not follow the licensing
+ terms described here. If modifications to this Software and
+ Documentation have new licensing terms, the new terms must be clearly
+ indicated on the first page of each file where they apply.
+ .
+ OPEN MARKET MAKES NO EXPRESS OR IMPLIED WARRANTY WITH RESPECT TO THE
+ SOFTWARE OR THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION ANY
+ WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN
+ NO EVENT SHALL OPEN MARKET BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY
+ DAMAGES ARISING FROM OR RELATING TO THIS SOFTWARE OR THE
+ DOCUMENTATION, INCLUDING, WITHOUT LIMITATION, ANY INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES OR SIMILAR DAMAGES, INCLUDING LOST PROFITS OR
+ LOST DATA, EVEN IF OPEN MARKET HAS BEEN ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGES. THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS".
+ OPEN MARKET HAS NO LIABILITY IN CONTRACT, TORT, NEGLIGENCE OR
+ OTHERWISE ARISING OUT OF THIS SOFTWARE OR THE DOCUMENTATION.
+
+License: RSA
+ License to copy and use this software is granted provided that it
+ is identified as the "RSA Data Security, Inc. MD5 Message-Digest
+ Algorithm" in all material mentioning or referencing this software
+ or this function.
+ .
+ License is also granted to make and use derivative works provided
+ that such works are identified as "derived from the RSA Data
+ Security, Inc. MD5 Message-Digest Algorithm" in all material
+ mentioning or referencing the derived work.
+ .
+ RSA Data Security, Inc. makes no representations concerning either
+ the merchantability of this software or the suitability of this
+ software for any particular purpose. It is provided "as is"
+ without express or implied warranty of any kind.
+ .
+ These notices must be retained in any copies of any part of this
+ documentation and/or software.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/index.html new/debian/index.html
--- old/debian/index.html 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/index.html 2016-12-19 01:04:25.000000000 +0100
@@ -28,7 +28,7 @@
Unless you changed its configuration, your new server is configured as follows:
<ul>
<li>Configuration files can be found in <span class="tt">/etc/lighttpd</span>. Please read <span class="tt">/etc/lighttpd/conf-available/README</span> file.</li>
- <li>The DocumentRoot, which is the directory under which all your HTML files should exist, is set to <span class="tt">/var/www</span>.</li>
+ <li>The DocumentRoot, which is the directory under which all your HTML files should exist, is set to <span class="tt">/var/www/html</span>.</li>
<li>CGI scripts are looked for in <span class="tt">/usr/lib/cgi-bin</span>, which is where Debian packages will place their scripts. You can enable cgi module by using command <span class="bold tt">"lighty-enable-mod cgi"</span>.</li>
<li>Log files are placed in <span class="tt">/var/log/lighttpd</span>, and will be rotated weekly. The frequency of rotation can be easily changed by editing <span class="tt">/etc/logrotate.d/lighttpd</span>.</li>
<li>The default directory index is <span class="tt">index.html</span>, meaning that requests for a directory <span class="tt">/foo/bar/</span> will give the contents of the file /var/www/foo/bar/index.html if it exists (assuming that <span class="tt">/var/www</span> is your DocumentRoot).</li>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd-mod-authn-gssapi.install new/debian/lighttpd-mod-authn-gssapi.install
--- old/debian/lighttpd-mod-authn-gssapi.install 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/lighttpd-mod-authn-gssapi.install 2016-10-31 11:31:01.000000000 +0100
@@ -0,0 +1 @@
+debian/tmp/usr/lib/lighttpd/mod_authn_gssapi.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd-mod-authn-ldap.install new/debian/lighttpd-mod-authn-ldap.install
--- old/debian/lighttpd-mod-authn-ldap.install 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/lighttpd-mod-authn-ldap.install 2016-10-31 11:30:58.000000000 +0100
@@ -0,0 +1 @@
+debian/tmp/usr/lib/lighttpd/mod_authn_ldap.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd-mod-authn-mysql.install new/debian/lighttpd-mod-authn-mysql.install
--- old/debian/lighttpd-mod-authn-mysql.install 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/lighttpd-mod-authn-mysql.install 2016-10-31 11:30:52.000000000 +0100
@@ -0,0 +1 @@
+debian/tmp/usr/lib/lighttpd/mod_authn_mysql.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd-mod-geoip.install new/debian/lighttpd-mod-geoip.install
--- old/debian/lighttpd-mod-geoip.install 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/lighttpd-mod-geoip.install 2016-10-31 11:30:49.000000000 +0100
@@ -0,0 +1 @@
+debian/tmp/usr/lib/lighttpd/mod_geoip.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd.conf new/debian/lighttpd.conf
--- old/debian/lighttpd.conf 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/lighttpd.conf 2016-12-19 01:04:25.000000000 +0100
@@ -3,7 +3,6 @@
"mod_alias",
"mod_compress",
"mod_redirect",
-# "mod_rewrite",
)
server.document-root = "/var/www/html"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd.docs new/debian/lighttpd.docs
--- old/debian/lighttpd.docs 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/lighttpd.docs 2016-12-19 01:04:25.000000000 +0100
@@ -1,2 +1,2 @@
-NEWS
README
+debian/tmp/changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd.install new/debian/lighttpd.install
--- old/debian/lighttpd.install 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/lighttpd.install 2016-12-04 10:31:51.000000000 +0100
@@ -4,8 +4,10 @@
debian/tmp/usr/lib/lighttpd/mod_accesslog.so
debian/tmp/usr/lib/lighttpd/mod_alias.so
debian/tmp/usr/lib/lighttpd/mod_auth.so
+debian/tmp/usr/lib/lighttpd/mod_authn_file.so
debian/tmp/usr/lib/lighttpd/mod_cgi.so
debian/tmp/usr/lib/lighttpd/mod_compress.so
+debian/tmp/usr/lib/lighttpd/mod_deflate.so
debian/tmp/usr/lib/lighttpd/mod_dirlisting.so
debian/tmp/usr/lib/lighttpd/mod_evasive.so
debian/tmp/usr/lib/lighttpd/mod_evhost.so
@@ -25,6 +27,7 @@
debian/tmp/usr/lib/lighttpd/mod_ssi.so
debian/tmp/usr/lib/lighttpd/mod_staticfile.so
debian/tmp/usr/lib/lighttpd/mod_status.so
+debian/tmp/usr/lib/lighttpd/mod_uploadprogress.so
debian/tmp/usr/lib/lighttpd/mod_userdir.so
debian/tmp/usr/lib/lighttpd/mod_usertrack.so
debian/lighttpd.conf /etc/lighttpd
@@ -34,5 +37,5 @@
debian/use-ipv6.pl /usr/share/lighttpd/
debian/lighty-enable-mod /usr/sbin/
debian/index.html /usr/share/lighttpd/
-debian/lighttpd.service /lib/systemd/system/
debian/lighttpd.tmpfile.conf /usr/lib/tmpfiles.d/
+doc/systemd/lighttpd.service /lib/systemd/system/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/lighttpd.service new/debian/lighttpd.service
--- old/debian/lighttpd.service 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/lighttpd.service 1970-01-01 01:00:00.000000000 +0100
@@ -1,10 +0,0 @@
-[Unit]
-Description=Lighttpd Daemon
-After=network.target
-
-[Service]
-ExecStartPre=/usr/sbin/lighttpd -t -f /etc/lighttpd/lighttpd.conf
-ExecStart=/usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
-
-[Install]
-WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/rules new/debian/rules
--- old/debian/rules 2014-08-18 06:00:16.000000000 +0200
+++ new/debian/rules 2016-12-19 01:04:25.000000000 +0100
@@ -17,16 +17,23 @@
--with-attr \
--with-fam \
--with-gdbm \
- --with-kerberos5 \
+ --with-krb5 \
--with-ldap \
+ --with-geoip \
+ --with-memcached \
--with-lua=lua5.1 \
- --with-memcache \
--with-mysql \
--with-openssl \
--with-pcre \
--with-webdav-locks \
--with-webdav-props \
- $(shell dpkg-buildflags --export=configure)
+ CFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get CFLAGS)" \
+ LDFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get LDFLAGS)" \
+ CPPFLAGS_FOR_BUILD="$(shell dpkg-buildflags --get CPPFLAGS)" \
+
+override_dh_install:
+ cp NEWS debian/tmp/changelog
+ dh_install
override_dh_fixperms:
dh_fixperms
@@ -39,18 +46,3 @@
override_dh_installinit:
dh_installinit --error-handler=start_failed
-
-override_dh_clean:
- dh_clean -- \
- aclocal.m4 \
- ar-lib \
- autogen.sh \
- compile \
- config.* \
- configure \
- depcomp \
- install-sh \
- ltmain.sh \
- m4/* \
- Makefile.in \
- missing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/upstream/signing-key.asc new/debian/upstream/signing-key.asc
--- old/debian/upstream/signing-key.asc 1970-01-01 01:00:00.000000000 +0100
+++ new/debian/upstream/signing-key.asc 2016-11-26 06:08:22.000000000 +0100
@@ -0,0 +1,418 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+=NCHr
+-----END PGP PUBLIC KEY BLOCK-----
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+PLzMEwXPJuoph4V0IF4hQAftYg==
+=b+E5
+-----END PGP PUBLIC KEY BLOCK-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/debian/watch new/debian/watch
--- old/debian/watch 2014-08-18 05:39:29.000000000 +0200
+++ new/debian/watch 2016-12-19 01:04:25.000000000 +0100
@@ -1,3 +1,3 @@
version=3
-http://download.lighttpd.net/lighttpd/releases-1.4.x/ lighttpd-(.*)\.tar\.gz
-
+opts="pgpsigurlmangle=s/$/.asc/" \
+http://download.lighttpd.net/lighttpd/releases-1.4.x/ lighttpd-(.*)\.tar\.xz
++++++ lighttpd_1.4.37-0.1.dsc -> lighttpd_1.4.44-0.1.dsc ++++++
--- /work/SRC/openSUSE:Factory/lighttpd/lighttpd_1.4.37-0.1.dsc 2015-09-08 17:44:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lighttpd.new/lighttpd_1.4.44-0.1.dsc 2017-01-16 11:15:47.721435785 +0100
@@ -3,42 +3,46 @@
Format: 3.0 (quilt)
Source: lighttpd
-Binary: lighttpd, lighttpd-doc, lighttpd-mod-mysql-vhost, lighttpd-mod-trigger-b4-dl, lighttpd-mod-cml, lighttpd-mod-magnet, lighttpd-mod-webdav
+Binary: lighttpd, lighttpd-doc, lighttpd-mod-mysql-vhost, lighttpd-mod-trigger-b4-dl, lighttpd-mod-cml, lighttpd-mod-magnet, lighttpd-mod-webdav, lighttpd-mod-authn-gssapi, lighttpd-mod-authn-ldap, lighttpd-mod-authn-mysql, lighttpd-mod-geoip
Architecture: any all
-Version: 1.4.37-0.1
+Version: 1.4.44-0.1
Maintainer: Debian lighttpd maintainers <pkg-lighttpd-maintainers(a)lists.alioth.debian.org>
Uploaders: Krzysztof Krzyżaniak (eloy) <eloy(a)debian.org>, Olaf van der Spek <olafvdspek(a)gmail.com>, Arno Töll <arno(a)debian.org>, Michael Gilbert <mgilbert(a)debian.org>
Homepage: http://lighttpd.net/
-Standards-Version: 3.9.6
+Standards-Version: 3.9.8
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-lighttpd/lighttpd.git
Vcs-Git: git://anonscm.debian.org/pkg-lighttpd/lighttpd.git
-Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9.20130624~), dh-systemd (>= 1.3), dh-autoreconf, mime-support, libssl-dev, zlib1g-dev, libbz2-dev, libattr1-dev, libpcre3-dev, libmysqlclient-dev, libfam-dev, libldap2-dev, libfcgi-dev, libgdbm-dev, liblua5.1-0-dev, pkg-config, uuid-dev, libsqlite3-dev, libxml2-dev, libkrb5-dev, perl, libcgi-pm-perl
+Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9.20130624~), dh-systemd (>= 1.3), dh-autoreconf, mime-support, libssl-dev, zlib1g-dev, libbz2-dev, libattr1-dev, libpcre3-dev, default-libmysqlclient-dev | libmysqlclient-dev, libfam-dev, libldap2-dev, libfcgi-dev, libgdbm-dev, libgeoip-dev, liblua5.1-0-dev, libmemcached-dev, pkg-config, uuid-dev, libsqlite3-dev, libxml2-dev, libkrb5-dev, perl, libcgi-pm-perl
Package-List:
lighttpd deb httpd optional arch=any
lighttpd-doc deb doc optional arch=all
+ lighttpd-mod-authn-gssapi deb httpd optional arch=any
+ lighttpd-mod-authn-ldap deb httpd optional arch=any
+ lighttpd-mod-authn-mysql deb httpd optional arch=any
lighttpd-mod-cml deb httpd optional arch=any
+ lighttpd-mod-geoip deb httpd optional arch=any
lighttpd-mod-magnet deb httpd optional arch=any
lighttpd-mod-mysql-vhost deb httpd optional arch=any
lighttpd-mod-trigger-b4-dl deb httpd optional arch=any
lighttpd-mod-webdav deb httpd optional arch=any
Checksums-Sha1:
- c2c19e4b82296954884fbc1081894d9786f6ecc4 574020 lighttpd_1.4.37.orig.tar.xz
- ef937ee614e9bff12aea2f379c77b8f8d841d19f 27608 lighttpd_1.4.37-0.1.debian.tar.xz
+ 3597b9c71aabada26129e3ebc0838cb10317d72c 660304 lighttpd_1.4.44.orig.tar.xz
+ 2cf54510a2ccdef90a90cf86d4f02f4a0f2b60fa 56364 lighttpd_1.4.44-0.1.debian.tar.xz
Checksums-Sha256:
- 804e6f60567ca1da2b3927f92b7e9332b93aca9560f282ca135b86b7558979bd 574020 lighttpd_1.4.37.orig.tar.xz
- 3783409ce460eec025fd8003dfcf326447f7bf32f2b521d6687e633b276221ec 27608 lighttpd_1.4.37-0.1.debian.tar.xz
+ adb66ca985651957feb209c91c55ebbf917d23630bfc3a216a2f70043c7b5422 660304 lighttpd_1.4.44.orig.tar.xz
+ d359ec0efcb7666aa58ee9087153a0150f4d4bf43389245b998b32288252fdfb 56364 lighttpd_1.4.44-0.1.debian.tar.xz
Files:
- ca40168f54b46ee29475868ced8507d6 574020 lighttpd_1.4.37.orig.tar.xz
- ea03dea8c92904e530dff5c1ec5ddbd3 27608 lighttpd_1.4.37-0.1.debian.tar.xz
+ eb9355543ce0248397acc3245005b110 660304 lighttpd_1.4.44.orig.tar.xz
+ aa814c84306516c352db05e639a5a1e6 56364 lighttpd_1.4.44-0.1.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQEcBAEBCAAGBQJV4vNgAAoJEE3M2orHRjXr29AH/2LDBSJlxfin8/EspmLBQbKk
-2EhL6VNy8rEyR7QZbpzES0wTOvvgSHcRc7VVghz2SmD3wBO8MEitPUEL0VGEz7zV
-4rVaL+tjKpoEyQ7MWLvMROpQqjLe3eksDJmhq8L5f6wEkGeFilrxaB3BLcW9rHy2
-Z/YoQK2SaJ49an50seXO24hWqvxbSfeEsRwppfChwntjIlPjUxU6aVRxuOQUEiT8
-XTFJ7G11iiHsAOpP2pplBCgP3TtvfYu30lPTBURpC3AWZ7EFw2e9JeM2BhrSUCxz
-k1qPVS9PUczz2j9hYZCOm/qsVIF8Lv/uuSc7XzT1WZpg9r/vz2V3VZBNA9t59qM=
-=M4zI
+iQEcBAEBCAAGBQJYXjotAAoJEE3M2orHRjXrJSIIAKx2ZO6s+b58cD5jvcz+0pH7
+D/9sm5c2TeMlooSrqY6gQEYkjoKDOOL33Ke7iCX/GRs6THUTPYZoSEjZMNZfJ/CT
+oK6XAWvYqeUEWkvnVLktFGc5POIxzlvg6xvTs15dhO4gsLttDOlneuzVJH4ooKVz
+n4+A+U2v13dsZGDcr2UfZSRTD2oTVWrsyiI4Smu5kbXeO+WbnT5u+iyAdHt9bb7U
++wA2aNUfcTmyfyV9p1XSNWAfGCN0Hh2t+eI3idhlPXaD+plhEChRzt4UVqDCClP6
+t5ahicohtJUTB3Cou6uMzzLKk1zEaj4WbvOBJZVGeZ434FpWtIFNAC+SDKmDa2I=
+=oRnr
-----END PGP SIGNATURE-----
++++++ lighttpd_1.4.37.orig.tar.xz -> lighttpd_1.4.44.orig.tar.xz ++++++
++++ 78601 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python3-CherryPy for openSUSE:Factory checked in at 2017-01-16 11:15:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-CherryPy (Old)
and /work/SRC/openSUSE:Factory/.python3-CherryPy.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-CherryPy"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-CherryPy/python3-CherryPy.changes 2016-10-04 15:59:09.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-CherryPy.new/python3-CherryPy.changes 2017-01-16 11:15:35.907110752 +0100
@@ -1,0 +2,49 @@
+Sun Jan 15 03:39:56 UTC 2017 - arun(a)gmx.de
+
+- specfile:
+ * update copyright year
+ * updated %doc files
+
+- update to version 8.9.0:
+ * #1547: Replaced cherryd distutils script with a setuptools console
+ entry point.
+
+- changes from version 8.8.0:
+ * #1528: Allow a timeout of 0 to server.
+
+- changes from version 8.7.0:
+ * #645: Setting a bind port of 0 will bind to an ephemeral port.
+
+- changes from version 8.6.0:
+ * #1538 and #1090: Removed cruft from the setup script and instead
+ rely on include_package_data to ensure the relevant files are
+ included in the package. Note, this change does cause LICENSE.md
+ no longer to be included in the installed package.
+
+- changes from version 8.5.0:
+ * The pyOpenSSL support is now included on Python 3 builds, removing
+ the last disparity between Python 2 and Python 3 in the CherryPy
+ package. This change is one small step in consideration of
+ #1399. This change also fixes RPM builds, as reported in #1149.
+
+- changes from version 8.4.0:
+ * #1532: Also release wheels for Python 2, enabling offline
+ installation.
+
+- changes from version 8.3.1:
+ * #1537: Disable dependency on pypiwin32 on Python 3.6 until a
+ viable build of pypiwin32 can be made on that Python version.
+
+- changes from version 8.3.0:
+ * Consolidated some documentation and include the more concise
+ readme in the package long description, as found on PyPI.
+
+- changes from version 8.2.0:
+ * #1463: CherryPy tests are now run under pytest and invoked using
+ tox.
+
+- changes from version 8.1.3:
+ * #1530: Fix the issue with TypeError being swallowed by decorated
+ handlers.
+
+-------------------------------------------------------------------
Old:
----
CherryPy-8.1.2.tar.gz
New:
----
CherryPy-8.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-CherryPy.spec ++++++
--- /var/tmp/diff_new_pack.rzKPLQ/_old 2017-01-16 11:15:36.411039308 +0100
+++ /var/tmp/diff_new_pack.rzKPLQ/_new 2017-01-16 11:15:36.415038741 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python3-CherryPy
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: python3-CherryPy
-Version: 8.1.2
+Version: 8.9.0
Release: 0
Url: http://www.cherrypy.org
Summary: Object-Oriented HTTP framework
@@ -56,7 +56,7 @@
%files
%defattr(-,root,root,-)
-%doc cherrypy/LICENSE.txt
+%doc CHANGES.rst CONTRIBUTING.rst LICENSE.md README.rst
%{_bindir}/cherryd-python%{py3_ver}
%{python3_sitelib}/cherrypy/
%{python3_sitelib}/CherryPy-%{version}-py%{py3_ver}.egg-info
++++++ CherryPy-8.1.2.tar.gz -> CherryPy-8.9.0.tar.gz ++++++
++++ 3816 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python3-pyflakes for openSUSE:Factory checked in at 2017-01-16 11:15:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pyflakes (Old)
and /work/SRC/openSUSE:Factory/.python3-pyflakes.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python3-pyflakes"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pyflakes/python3-pyflakes.changes 2017-01-09 11:01:36.333863988 +0100
+++ /work/SRC/openSUSE:Factory/.python3-pyflakes.new/python3-pyflakes.changes 2017-01-16 11:15:25.180631493 +0100
@@ -1,0 +2,8 @@
+Sun Jan 15 03:33:48 UTC 2017 - arun(a)gmx.de
+
+- update to version 1.5.0:
+ * Change formatting of ImportStarMessage to be consistent with other
+ errors
+ * Support PEP 498 "f-strings"
+
+-------------------------------------------------------------------
Old:
----
pyflakes-1.4.0.tar.gz
New:
----
pyflakes-1.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python3-pyflakes.spec ++++++
--- /var/tmp/diff_new_pack.riXQu8/_old 2017-01-16 11:15:25.604571389 +0100
+++ /var/tmp/diff_new_pack.riXQu8/_new 2017-01-16 11:15:25.604571389 +0100
@@ -17,7 +17,7 @@
Name: python3-pyflakes
-Version: 1.4.0
+Version: 1.5.0
Release: 0
Url: https://github.com/pyflakes/pyflakes
Summary: Passive checker of Python 3 programs
++++++ pyflakes-1.4.0.tar.gz -> pyflakes-1.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/NEWS.txt new/pyflakes-1.5.0/NEWS.txt
--- old/pyflakes-1.4.0/NEWS.txt 2016-12-30 16:13:09.000000000 +0100
+++ new/pyflakes-1.5.0/NEWS.txt 2017-01-10 02:00:33.000000000 +0100
@@ -1,3 +1,6 @@
+1.5.0 (2017-01-09)
+ - Enable support for PEP 526 annotated assignments
+
1.4.0 (2016-12-30):
- Change formatting of ImportStarMessage to be consistent with other errors
- Support PEP 498 "f-strings"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/PKG-INFO new/pyflakes-1.5.0/PKG-INFO
--- old/pyflakes-1.4.0/PKG-INFO 2016-12-30 16:17:36.000000000 +0100
+++ new/pyflakes-1.5.0/PKG-INFO 2017-01-10 02:01:20.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyflakes
-Version: 1.4.0
+Version: 1.5.0
Summary: passive checker of Python programs
Home-page: https://github.com/PyCQA/pyflakes
Author: A lot of people
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/pyflakes/__init__.py new/pyflakes-1.5.0/pyflakes/__init__.py
--- old/pyflakes-1.4.0/pyflakes/__init__.py 2016-12-30 16:14:08.000000000 +0100
+++ new/pyflakes-1.5.0/pyflakes/__init__.py 2017-01-10 02:00:48.000000000 +0100
@@ -1 +1 @@
-__version__ = '1.4.0'
+__version__ = '1.5.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/pyflakes/checker.py new/pyflakes-1.5.0/pyflakes/checker.py
--- old/pyflakes-1.4.0/pyflakes/checker.py 2016-12-30 16:09:43.000000000 +0100
+++ new/pyflakes-1.5.0/pyflakes/checker.py 2017-01-10 01:59:55.000000000 +0100
@@ -1335,3 +1335,21 @@
del self.scope[node.name]
except KeyError:
pass
+
+ def ANNASSIGN(self, node):
+ """
+ Annotated assignments don't have annotations evaluated on function
+ scope, hence the custom implementation.
+
+ See: PEP 526.
+ """
+ if node.value:
+ # Only bind the *targets* if the assignment has a value.
+ # Otherwise it's not really ast.Store and shouldn't silence
+ # UndefinedLocal warnings.
+ self.handleNode(node.target, node)
+ if not isinstance(self.scope, FunctionScope):
+ self.handleNode(node.annotation, node)
+ if node.value:
+ # If the assignment has value, handle the *value* now.
+ self.handleNode(node.value, node)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/pyflakes/test/test_other.py new/pyflakes-1.5.0/pyflakes/test/test_other.py
--- old/pyflakes-1.4.0/pyflakes/test/test_other.py 2016-12-30 16:09:43.000000000 +0100
+++ new/pyflakes-1.5.0/pyflakes/test/test_other.py 2017-01-10 01:59:55.000000000 +0100
@@ -1808,3 +1808,64 @@
mom = 'mom'
f'{hi} {mom}'
''')
+
+ @skipIf(version_info < (3, 6), 'new in Python 3.6')
+ def test_variable_annotations(self):
+ self.flakes('''
+ name: str
+ age: int
+ ''')
+ self.flakes('''
+ name: str = 'Bob'
+ age: int = 18
+ ''')
+ self.flakes('''
+ class C:
+ name: str
+ age: int
+ ''')
+ self.flakes('''
+ class C:
+ name: str = 'Bob'
+ age: int = 18
+ ''')
+ self.flakes('''
+ def f():
+ name: str
+ age: int
+ ''')
+ self.flakes('''
+ def f():
+ name: str = 'Bob'
+ age: int = 18
+ foo: not_a_real_type = None
+ ''', m.UnusedVariable, m.UnusedVariable, m.UnusedVariable)
+ self.flakes('''
+ def f():
+ name: str
+ print(name)
+ ''', m.UndefinedName)
+ self.flakes('''
+ foo: not_a_real_type
+ ''', m.UndefinedName)
+ self.flakes('''
+ foo: not_a_real_type = None
+ ''', m.UndefinedName)
+ self.flakes('''
+ class C:
+ foo: not_a_real_type
+ ''', m.UndefinedName)
+ self.flakes('''
+ class C:
+ foo: not_a_real_type = None
+ ''', m.UndefinedName)
+ self.flakes('''
+ def f():
+ class C:
+ foo: not_a_real_type
+ ''', m.UndefinedName)
+ self.flakes('''
+ def f():
+ class C:
+ foo: not_a_real_type = None
+ ''', m.UndefinedName)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyflakes-1.4.0/pyflakes.egg-info/PKG-INFO new/pyflakes-1.5.0/pyflakes.egg-info/PKG-INFO
--- old/pyflakes-1.4.0/pyflakes.egg-info/PKG-INFO 2016-12-30 16:17:34.000000000 +0100
+++ new/pyflakes-1.5.0/pyflakes.egg-info/PKG-INFO 2017-01-10 02:01:19.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pyflakes
-Version: 1.4.0
+Version: 1.5.0
Summary: passive checker of Python programs
Home-page: https://github.com/PyCQA/pyflakes
Author: A lot of people
1
0
Hello community,
here is the log from the commit of package darktable for openSUSE:Factory checked in at 2017-01-16 11:15:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/darktable (Old)
and /work/SRC/openSUSE:Factory/.darktable.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "darktable"
Changes:
--------
--- /work/SRC/openSUSE:Factory/darktable/darktable.changes 2017-01-04 19:35:49.621586562 +0100
+++ /work/SRC/openSUSE:Factory/.darktable.new/darktable.changes 2017-01-16 11:15:17.409733209 +0100
@@ -1,0 +2,24 @@
+Sat Jan 14 22:56:40 UTC 2017 - mrueckert(a)suse.de
+
+- update to 2.2.1:
+ - New features:
+ - Show a dialog window that tells when locking the
+ database/library failed
+ - Ask before deleting history stack from lightable.
+ - preferences: make features that are not available (greyed
+ out) more obvious
+ - Bugfixes:
+ - Always cleanup undo list before entering darkroom view. Fixes
+ crash when using undo after re-entering darkroom
+ - Darkroom: properly delete module instances. Fixes rare
+ crashes after deleting second instance of module.
+ - Levels and tonecurve modules now also use 256 bins.
+ - Rawoverexposed module: fix visualization when a camera custom
+ white balance preset is used
+
+-------------------------------------------------------------------
+Sat Jan 14 22:55:37 UTC 2017 - mrueckert(a)suse.de
+
+- fix building with openjpeg2
+
+-------------------------------------------------------------------
Old:
----
darktable-2.2.0.tar.xz
New:
----
darktable-2.2.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ darktable.spec ++++++
--- /var/tmp/diff_new_pack.ZU1jwM/_old 2017-01-16 11:15:19.221476350 +0100
+++ /var/tmp/diff_new_pack.ZU1jwM/_new 2017-01-16 11:15:19.225475783 +0100
@@ -1,7 +1,7 @@
#
# spec file for package darktable
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -47,7 +47,7 @@
%define cmake_options -DCMAKE_SKIP_RPATH:BOOL=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBINARY_PACKAGE_BUILD=1 -DCMAKE_INSTALL_DATAROOTDIR="share" -DCMAKE_INSTALL_LIBDIR="%{_lib}"
Name: darktable
-Version: 2.2.0
+Version: 2.2.1
Release: 0
Url: http://www.darktable.org/
Source0: %{name}-%{version}.tar.xz
@@ -102,7 +102,7 @@
%if 0%{?suse_version} && 0%{?suse_version} < 1315
BuildRequires: libGraphicsMagick3
%endif
-BuildRequires: pkgconfig(libopenjpeg1)
+BuildRequires: pkgconfig(libopenjp2)
%endif
BuildRequires: pkgconfig(OpenEXR)
BuildRequires: pkgconfig(atk)
++++++ darktable-2.2.0.tar.xz -> darktable-2.2.1.tar.xz ++++++
++++ 2780 lines of diff (skipped)
1
0
16 Jan '17
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-AssetPack for openSUSE:Factory checked in at 2017-01-16 11:14:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-AssetPack"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-AssetPack/perl-Mojolicious-Plugin-AssetPack.changes 2017-01-11 12:05:08.029764526 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-AssetPack.new/perl-Mojolicious-Plugin-AssetPack.changes 2017-01-16 11:14:53.621105841 +0100
@@ -1,0 +2,23 @@
+Wed Jan 11 11:32:58 UTC 2017 - coolo(a)suse.com
+
+- updated to 1.36
+ see /usr/share/doc/packages/perl-Mojolicious-Plugin-AssetPack/Changes
+
+ 1.36 2017-01-11T11:18:45+0100
+ - Fix bug in Fetch pipe, fixing t/font-awesome.t
+ - Change Mojolicious::Plugin::AssetPack::Asset::path() to return a Mojo::File object
+
+ 1.35 2017-01-11T10:30:09+0100
+ - Forgot to remove Carp::Always from t/recreate.t after debugging
+
+ 1.34 2017-01-10T23:22:16+0100
+ - Compatible with Mojolicious 7.15
+
+ 1.33 2017-01-08T14:20:03+0100
+ - Fix t/reloader.t when CSS::Minifier::XS is missing #113
+
+ 1.32 2017-01-08T11:50:36+0100
+ - Fix Mojo::Home::rel_dir is DEPRECATED in favor of Mojo::Hom::rel_file #112
+ - Disable "Reloader" pipe, unless in development
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-AssetPack-1.31.tar.gz
New:
----
Mojolicious-Plugin-AssetPack-1.36.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-AssetPack.spec ++++++
--- /var/tmp/diff_new_pack.fX0DRr/_old 2017-01-16 11:14:54.380998107 +0100
+++ /var/tmp/diff_new_pack.fX0DRr/_new 2017-01-16 11:14:54.384997540 +0100
@@ -17,7 +17,7 @@
Name: perl-Mojolicious-Plugin-AssetPack
-Version: 1.31
+Version: 1.36
Release: 0
%define cpan_name Mojolicious-Plugin-AssetPack
Summary: Compress and convert css, less, sass, javascript and coffeescript files
@@ -32,11 +32,11 @@
BuildRequires: perl-macros
BuildRequires: perl(File::Which) >= 1.21
BuildRequires: perl(IPC::Run3) >= 0.048
-BuildRequires: perl(Mojolicious) >= 6.50
+BuildRequires: perl(Mojolicious) >= 7.17
BuildRequires: perl(Test::More) >= 0.88
Requires: perl(File::Which) >= 1.21
Requires: perl(IPC::Run3) >= 0.048
-Requires: perl(Mojolicious) >= 6.50
+Requires: perl(Mojolicious) >= 7.17
%{perl_requires}
%description
++++++ Mojolicious-Plugin-AssetPack-1.31.tar.gz -> Mojolicious-Plugin-AssetPack-1.36.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/.travis.yml new/Mojolicious-Plugin-AssetPack-1.36/.travis.yml
--- old/Mojolicious-Plugin-AssetPack-1.31/.travis.yml 2016-09-11 16:27:11.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/.travis.yml 2017-01-10 23:20:45.000000000 +0100
@@ -8,7 +8,7 @@
packages:
- libpng12-dev
env:
- - 'HARNESS_OPTIONS=j1 TEST_ONLINE=1'
+ - 'HARNESS_OPTIONS=j1 TEST_ONLINE=1 TEST_RELOADER=1'
install:
- 'cpanm -n Test::Pod Test::Pod::Coverage IO::Socket::SSL'
- 'cpanm -n CSS::Minifier::XS Imager::File::PNG JavaScript::Minifier::XS'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/Changes new/Mojolicious-Plugin-AssetPack-1.36/Changes
--- old/Mojolicious-Plugin-AssetPack-1.31/Changes 2017-01-04 14:19:34.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/Changes 2017-01-11 11:18:45.000000000 +0100
@@ -1,5 +1,22 @@
Revision history for perl distribution Mojolicious-Plugin-AssetPack
+1.36 2017-01-11T11:18:45+0100
+ - Fix bug in Fetch pipe, fixing t/font-awesome.t
+ - Change Mojolicious::Plugin::AssetPack::Asset::path() to return a Mojo::File object
+
+1.35 2017-01-11T10:30:09+0100
+ - Forgot to remove Carp::Always from t/recreate.t after debugging
+
+1.34 2017-01-10T23:22:16+0100
+ - Compatible with Mojolicious 7.15
+
+1.33 2017-01-08T14:20:03+0100
+ - Fix t/reloader.t when CSS::Minifier::XS is missing #113
+
+1.32 2017-01-08T11:50:36+0100
+ - Fix Mojo::Home::rel_dir is DEPRECATED in favor of Mojo::Hom::rel_file #112
+ - Disable "Reloader" pipe, unless in development
+
1.31 2017-01-04T14:19:34+0100
- Fix generating favicons once with MOJO_ASSETPACK_LAZY
- Made Reloader call process() later
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/META.json new/Mojolicious-Plugin-AssetPack-1.36/META.json
--- old/Mojolicious-Plugin-AssetPack-1.31/META.json 2017-01-04 14:19:35.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/META.json 2017-01-11 11:18:46.000000000 +0100
@@ -34,7 +34,7 @@
"requires" : {
"File::Which" : "1.21",
"IPC::Run3" : "0.048",
- "Mojolicious" : "6.50"
+ "Mojolicious" : "7.17"
}
}
},
@@ -48,6 +48,6 @@
"url" : "https://github.com/jhthorsen/mojolicious-plugin-assetpack.git"
}
},
- "version" : "1.31",
+ "version" : "1.36",
"x_serialization_backend" : "JSON::PP version 2.27300"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/META.yml new/Mojolicious-Plugin-AssetPack-1.36/META.yml
--- old/Mojolicious-Plugin-AssetPack-1.31/META.yml 2017-01-04 14:19:35.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/META.yml 2017-01-11 11:18:46.000000000 +0100
@@ -20,10 +20,10 @@
requires:
File::Which: '1.21'
IPC::Run3: '0.048'
- Mojolicious: '6.50'
+ Mojolicious: '7.17'
resources:
bugtracker: https://github.com/jhthorsen/mojolicious-plugin-assetpack/issues
homepage: https://github.com/jhthorsen/mojolicious-plugin-assetpack
repository: https://github.com/jhthorsen/mojolicious-plugin-assetpack.git
-version: '1.31'
+version: '1.36'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/Makefile.PL new/Mojolicious-Plugin-AssetPack-1.36/Makefile.PL
--- old/Mojolicious-Plugin-AssetPack-1.31/Makefile.PL 2017-01-04 14:19:34.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/Makefile.PL 2017-01-11 11:18:45.000000000 +0100
@@ -21,7 +21,7 @@
PREREQ_PM => {
'File::Which' => '1.21',
'IPC::Run3' => '0.048',
- 'Mojolicious' => '6.50'
+ 'Mojolicious' => '7.17'
}
,
test => {TESTS => (-e 'META.yml' ? 't/*.t' : 't/*.t xt/*.t')},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/README new/Mojolicious-Plugin-AssetPack-1.36/README
--- old/Mojolicious-Plugin-AssetPack-1.31/README 2017-01-04 14:19:34.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/README 2017-01-11 11:18:45.000000000 +0100
@@ -3,7 +3,7 @@
javascript and coffeescript files
VERSION
- 1.31
+ 1.36
SYNOPSIS
Application
@@ -81,7 +81,7 @@
Set this environment variable if you want to delay processing the
assets until they are requested. This can be very useful while
- developing, and the assets are changed frequently.
+ developing when the assets are changed frequently.
OPTIONAL MODULES
There are some optional modules you might want to install:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/cpanfile new/Mojolicious-Plugin-AssetPack-1.36/cpanfile
--- old/Mojolicious-Plugin-AssetPack-1.31/cpanfile 2016-08-10 19:06:48.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/cpanfile 2017-01-11 11:16:59.000000000 +0100
@@ -1,5 +1,5 @@
# You can install this projct with curl -L http://cpanmin.us | perl - https://github.com/jhthorsen/mojolicious-plugin-assetpack/archive/master.ta…
-requires "Mojolicious" => "6.50";
+requires "Mojolicious" => "7.17";
requires "IPC::Run3" => "0.048";
# required in old code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Asset.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Asset.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Asset.pm 2016-12-23 02:10:42.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Asset.pm 2017-01-11 11:16:59.000000000 +0100
@@ -3,6 +3,7 @@
use Mojo::Asset::Memory;
use Mojo::URL;
+use Mojo::File;
use Mojo::Util 'deprecated';
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro DEBUG);
@@ -55,7 +56,7 @@
my $orig = $self->_asset;
my $clone = $orig->new;
- if ($orig->can('path')) {
+ if ($orig->is_file) {
$clone->cleanup(0)->path($orig->path);
}
else {
@@ -84,7 +85,10 @@
sub get_chunk { deprecated 'get_chunk() is deprecated'; shift->_asset->get_chunk(@_) }
sub is_range { deprecated 'is_range() is deprecated'; shift->_asset->is_range }
sub mtime { deprecated 'mtime() is deprecated'; shift->_asset->mtime }
-sub path { $_[0]->_asset->isa('Mojo::Asset::File') ? $_[0]->_asset->path : '' }
+
+sub path {
+ $_[0]->_asset->isa('Mojo::Asset::File') ? Mojo::File->new($_[0]->_asset->path) : undef;
+}
sub size { $_[0]->_asset->size }
sub start_range {
@@ -189,7 +193,8 @@
$str = $self->path;
-Returns the path to the asset, if it exists on disk.
+Returns a L<Mojo::File> object that holds the location to the asset on disk or
+C<undef> if this asset is in memory.
=head2 size
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Less.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Less.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Less.pm 2016-06-21 20:09:34.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Less.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,7 +1,6 @@
package Mojolicious::Plugin::AssetPack::Pipe::Less;
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
use Mojolicious::Plugin::AssetPack::Util qw(diag $CWD DEBUG);
-use File::Basename 'dirname';
sub process {
my ($self, $assets) = @_;
@@ -19,7 +18,7 @@
my @args = qw(lessc --no-color);
my $file
= $asset->path ? $asset : Mojo::Asset::File->new->add_chunk($asset->content);
- push @args, '--include-path='.dirname($asset->path) if $asset->path;
+ push @args, '--include-path=' . $asset->path->dirname if $asset->path;
push @args, $file->path;
$self->run(\@args, undef, \my $css);
$asset->content($store->save(\$css, $attrs))->FROM_JSON($attrs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm 2017-01-04 14:18:24.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Reloader.pm 2017-01-11 11:17:51.000000000 +0100
@@ -2,16 +2,27 @@
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
use Mojo::Loader ();
+has enabled => sub {
+ return $ENV{MOJO_ASSETPACK_LAZY} || shift->app->mode eq 'development';
+};
+
has _files => sub { +{} };
+sub after_process {
+ my ($self, $assets) = @_;
+ $self->_files->{$_} = 1
+ for grep {$_} map { ($_->path, @{$_->{dependencies} || []}) } @$assets;
+}
+
sub before_process {
my ($self, $assets) = @_;
- $self->_files->{$_} = 1 for map { ($_->path, @{$_->{dependencies} || []}) } @$assets;
+ $self->_files->{$_} = 1
+ for grep {$_} map { ($_->path, @{$_->{dependencies} || []}) } @$assets;
}
sub new {
my $self = shift->SUPER::new(@_);
-
+ return $self unless $self->enabled;
push @{$self->assetpack->store->classes}, __PACKAGE__;
$self->assetpack->{lazy} = 1;
$self->_add_route;
@@ -20,6 +31,7 @@
sub process {
my $self = shift;
+ return unless $self->enabled;
return if $self->{processed}++;
# Cannot call assetpack->process() in new(), since it will initialize and start building
@@ -89,14 +101,33 @@
the browser when one of the assets change on disk. This is done without the
need of L<morbo|Mojo::Server::Morbo>.
+This pipe should be loaded last to enable it to watch all input assets.
+
This feature is EXPERIMENTAL, UNSTABLE and only meant to be used while
developing.
+=head1 ATTRIBUTES
+
+=head2 enabled
+
+ $bool = $self->enabled;
+
+This pipe is only enabled if either
+L<Mojolicious::Plugin::AssetPack/MOJO_ASSETPACK_LAZY> is
+set or L<Mojolicious/mode> is "development".
+
=head1 METHODS
+=head2 after_process
+
+This method will look for all the input assets and dependencies and add them to
+a list of watched files.
+
+See L<Mojolicious::Plugin::AssetPack::Pipe/after_process>.
+
=head2 before_process
-See L<Mojolicious::Plugin::AssetPack::Pipe/before_process>.
+See L</after_process> and L<Mojolicious::Plugin::AssetPack::Pipe/before_process>.
=head2 new
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Riotjs.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Riotjs.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Riotjs.pm 2016-08-19 14:57:56.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Riotjs.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,15 +1,14 @@
package Mojolicious::Plugin::AssetPack::Pipe::Riotjs;
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
+
+use Mojo::File 'path';
use Mojolicious::Plugin::AssetPack::Util qw(diag $CWD DEBUG);
-use File::Basename 'dirname';
use Cwd ();
has _riotjs => sub {
my $self = shift;
- return [
- $self->_find_app([qw(nodejs node)]),
- Cwd::abs_path(File::Spec->catfile(dirname(__FILE__), 'riot.js')),
+ return [$self->_find_app([qw(nodejs node)]), path(__FILE__)->dirname->child('riot.js'),
];
};
@@ -27,7 +26,7 @@
return unless $asset->format eq 'tag';
return $asset->content($file)->FROM_JSON($attrs) if $file = $store->load($attrs);
local $CWD = $self->app->home->to_string;
- local $ENV{NODE_PATH} = $self->app->home->rel_dir('node_modules');
+ local $ENV{NODE_PATH} = $self->app->home->rel_file('node_modules');
$self->run([qw(riot --version)], undef, \undef) unless $self->{installed}++;
$self->run($self->_riotjs, \$asset->content, \my $js);
$asset->content($store->save(\$js, $attrs))->FROM_JSON($attrs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2016-12-16 09:41:25.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/Sass.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,7 +1,6 @@
package Mojolicious::Plugin::AssetPack::Pipe::Sass;
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
use Mojolicious::Plugin::AssetPack::Util qw(checksum diag dumper load_module DEBUG);
-use File::Basename 'dirname';
use Mojo::Util;
my $FORMAT_RE = qr{^s[ac]ss$};
@@ -35,7 +34,7 @@
return $asset->content($file)->FROM_JSON($attrs) if $file = $store->load($attrs);
return if $asset->isa('Mojolicious::Plugin::AssetPack::Asset::Null');
- $opts{include_paths}[0] = $asset->path ? dirname $asset->path : undef;
+ $opts{include_paths}[0] = $asset->path ? $asset->path->dirname : undef;
$opts{include_paths} = [grep {$_} @{$opts{include_paths}}];
diag 'Process "%s" with checksum %s.', $asset->url, $attrs->{checksum} if DEBUG;
@@ -103,13 +102,18 @@
return checksum join ':', @c;
}
-sub _include_path { $_[0]->url =~ m!^https?://! ? $_[0]->url : dirname $_[0]->path }
+sub _include_path {
+ my $asset = shift;
+ return $asset->url if $asset->url =~ m!^https?://!;
+ return $asset->path->dirname if $asset->path;
+ return '';
+}
sub _install_sass {
my $self = shift;
$self->run([qw(ruby -rubygems -e), 'puts Gem.user_dir'], undef, \my $base);
chomp $base;
- my $path = File::Spec->catfile($base, qw(bin sass));
+ my $path = path($base, qw(bin sass));
return $path if -e $path;
$self->app->log->warn(
'Installing sass... Please wait. (gem install --user-install sass)');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/TypeScript.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/TypeScript.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe/TypeScript.pm 2016-08-19 15:03:40.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe/TypeScript.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,7 +1,7 @@
package Mojolicious::Plugin::AssetPack::Pipe::TypeScript;
use Mojo::Base 'Mojolicious::Plugin::AssetPack::Pipe';
-use File::Basename 'dirname';
+use Mojo::File 'path';
use Mojolicious::Plugin::AssetPack::Util qw(diag $CWD DEBUG);
has _typescript => sub {
@@ -9,7 +9,7 @@
return [
$self->_find_app([qw(nodejs node)]),
- Cwd::abs_path(File::Spec->catfile(dirname(__FILE__), 'typescript.js')),
+ path(__FILE__)->dirname->child('typescript.js')->to_abs,
];
};
@@ -29,7 +29,7 @@
$self->_install_typescript unless $self->{installed}++;
local $CWD = $self->app->home->to_string;
- local $ENV{NODE_PATH} = $self->app->home->rel_dir('node_modules');
+ local $ENV{NODE_PATH} = $self->app->home->rel_file('node_modules');
$self->run($self->_typescript, \$asset->content, \my $js);
$asset->content($store->save(\$js, $attrs))->FROM_JSON($attrs);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Pipe.pm 2016-08-19 15:03:41.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Pipe.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,11 +1,10 @@
package Mojolicious::Plugin::AssetPack::Pipe;
use Mojo::Base -base;
-use Mojo::Util;
+use Mojo::File 'path';
use Mojolicious::Plugin::AssetPack::Asset;
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro DEBUG);
-use File::Basename ();
-use File::Temp ();
-use IPC::Run3 ();
+use File::Temp ();
+use IPC::Run3 ();
use List::Util 'first';
$ENV{PATH} ||= '';
@@ -17,7 +16,7 @@
sub run {
my ($self, $cmd, @args) = @_;
- my $name = File::Basename::basename($cmd->[0]);
+ my $name = path($cmd->[0])->basename;
local $cmd->[0] = $self->_find_app($name, $cmd->[0]);
die qq(@{[ref $self]} was unable to locate the "$name" application.) unless $cmd->[0];
diag '$ %s', join ' ', @$cmd if DEBUG > 1;
@@ -32,7 +31,7 @@
sub _find_app {
my ($self, $apps, $path) = @_;
- return $path if $path and File::Spec->file_name_is_absolute($path);
+ return $path if $path and path($path)->is_abs;
$apps = [$apps] unless ref $apps eq 'ARRAY';
for my $name (@$apps) {
@@ -42,7 +41,7 @@
return $self->{apps}{$name} if $self->{apps}{$name}; # Already found
diag 'Looking for "%s" in $PATH.', $name if DEBUG > 1;
- $path = first {-e} map { File::Spec->catfile($_, $name) } File::Spec->path;
+ $path = first {-e} map { path($_, $name) } File::Spec->path;
return $self->{apps}{$name} = $path if $path; # Found in $PATH
}
@@ -77,7 +76,7 @@
if ($tmp) {
$self->run([$self->app, @args]);
- $output = Mojo::Util::slurp("$tmp");
+ $output = path($tmp)->slurp;
}
else {
$self->run([$self->app, @args], \$asset->content, \$output);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Store.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Store.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Store.pm 2016-12-23 02:10:42.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Store.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,12 +1,10 @@
package Mojolicious::Plugin::AssetPack::Store;
use Mojo::Base 'Mojolicious::Static';
-use Mojo::Util 'spurt';
+use Mojo::File 'path';
use Mojo::URL;
use Mojolicious::Types;
use Mojolicious::Plugin::AssetPack::Asset;
use Mojolicious::Plugin::AssetPack::Util qw(diag checksum has_ro DEBUG);
-use File::Basename 'dirname';
-use File::Path 'make_path';
# MOJO_ASSETPACK_DB_FILE is used in tests
use constant DB_FILE_NAME => $ENV{MOJO_ASSETPACK_DB_FILE} || 'assetpack.db';
@@ -87,17 +85,17 @@
sub save {
my ($self, $ref, $attrs) = @_;
- my $path = File::Spec->catfile($self->paths->[0], $self->_cache_path($attrs));
- my $dir = dirname $path;
+ my $path = path($self->paths->[0], $self->_cache_path($attrs));
+ my $dir = $path->dirname;
# Do not care if this fail. Can fallback to temp files.
- mkdir $dir if !-d $dir and -w dirname $dir;
+ mkdir $dir if !-d $dir and -w $dir->dirname;
diag 'Save "%s" = %s', $path, -d $dir ? 1 : 0 if DEBUG;
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, content => $$ref)
unless -w $dir;
$self->_db_set($attrs);
- spurt $$ref, $path;
+ $path->spurt($$ref);
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, path => $path);
}
@@ -207,10 +205,10 @@
}
if ($url->host ne 'local') {
- $path = File::Spec->catdir($self->paths->[0], split '/', $rel);
+ $path = path($self->paths->[0], split '/', $rel);
$self->ua->server->app->log->info(qq(Caching "$req_url" to "$path".));
- make_path(dirname $path) unless -d dirname $path;
- spurt $tx->res->body, $path;
+ $path->dirname->make_path unless -d $path->dirname;
+ $path->spurt($tx->res->body);
}
if (my $lm = $h->last_modified) {
@@ -222,7 +220,7 @@
}
$attrs->{format} ||= $tx->req->url->path->[-1] =~ /\.(\w+)$/ ? $1 : undef;
- @$attrs{qw(key rel url)} = ('original', $rel, $url->to_string);
+ @$attrs{qw(key rel url)} = ('original', $rel, $url);
$self->_db_set($attrs);
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs, path => $path) if $path;
return Mojolicious::Plugin::AssetPack::Asset->new(%$attrs)->content($tx->res->body);
@@ -230,7 +228,7 @@
sub _files {
my ($self, $name, $check) = @_;
- my @files = map { File::Spec->catfile($_, split '/', $name) } @{$self->paths};
+ my @files = map { path($_, split '/', $name) } @{$self->paths};
return [grep $check, @files] if $check;
return \@files;
}
@@ -269,12 +267,12 @@
# Change where assets can be found
app->asset->store->paths([
- app->home->rel_dir("some/directory"),
+ app->home->rel_file("some/directory"),
"/some/other/directory",
]);
# Change where assets are stored
- app->asset->store->paths->[0] = app->home->rel_dir("some/directory");
+ app->asset->store->paths->[0] = app->home->rel_file("some/directory");
# Define asset
app->asset->process($moniker => @assets);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Util.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Util.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack/Util.pm 2016-04-02 21:25:43.000000000 +0200
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack/Util.pm 2017-01-11 11:16:59.000000000 +0100
@@ -1,7 +1,6 @@
package Mojolicious::Plugin::AssetPack::Util;
use Mojo::Base 'Exporter';
use Mojo::Util;
-use File::Spec;
use constant DEBUG => $ENV{MOJO_ASSETPACK_DEBUG} || 0;
use constant TESTING => $ENV{HARNESS_IS_VERBOSE} || 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack.pm new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/lib/Mojolicious/Plugin/AssetPack.pm 2017-01-04 14:19:34.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/lib/Mojolicious/Plugin/AssetPack.pm 2017-01-11 11:18:45.000000000 +0100
@@ -6,7 +6,7 @@
use Mojolicious::Plugin::AssetPack::Store;
use Mojolicious::Plugin::AssetPack::Util qw(diag has_ro load_module DEBUG);
-our $VERSION = '1.31';
+our $VERSION = '1.36';
my %TAG_TEMPLATE;
$TAG_TEMPLATE{css} = [qw(link rel stylesheet href)];
@@ -26,7 +26,7 @@
my $self = shift;
Mojolicious::Plugin::AssetPack::Store->new(
classes => [@{$self->_app->static->classes}],
- paths => [$self->_app->home->rel_dir('assets')],
+ paths => [$self->_app->home->rel_file('assets')],
ua => $self->ua,
);
};
@@ -130,7 +130,6 @@
sub _pipes {
my ($self, $names) = @_;
- unshift @$names, 'Reloader' if $ENV{MOJO_ASSETPACK_RELOADER}; # experimental
$self->{pipes} = [
map {
@@ -152,8 +151,7 @@
for my $asset (@$assets) {
if (my $prev = $self->{by_topic}{$topic}) {
- delete $self->{by_checksum}{$_->checksum} for @$prev;
- delete $asset->{$_} for qw(checksum format mtime);
+ delete $asset->{$_} for qw(checksum format);
$asset->content($self->store->asset($asset->url));
}
$asset->checksum;
@@ -165,7 +163,7 @@
local $pipe->{topic} = $topic;
diag '%s->%s("%s")', ref $pipe, $method, $topic if DEBUG;
$pipe->$method($assets);
- push @{$self->{asset_paths}}, $_->path for @$assets;
+ push @{$self->{asset_paths}}, $_->path->to_string for grep { $_->path } @$assets;
}
}
@@ -279,7 +277,7 @@
=head1 VERSION
-1.31
+1.36
=head1 SYNOPSIS
@@ -366,7 +364,7 @@
=item * MOJO_ASSETPACK_LAZY
Set this environment variable if you want to delay processing the assets until
-they are requested. This can be very useful while developing, and the assets
+they are requested. This can be very useful while developing when the assets
are changed frequently.
=back
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/t/Helper.pm new/Mojolicious-Plugin-AssetPack-1.36/t/Helper.pm
--- old/Mojolicious-Plugin-AssetPack-1.31/t/Helper.pm 2016-12-15 22:17:52.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/t/Helper.pm 2017-01-10 23:05:38.000000000 +0100
@@ -18,8 +18,8 @@
$ENV{MOJO_ASSETPACK_CLEANUP} //= 1; # remove generated assets
$ENV{MOJO_ASSETPACK_DB_FILE} = sprintf '%s.db', basename $0;
+ ${$app->home} = Cwd::abs_path(dirname __FILE__);
delete $app->log->{$_} for qw(handle path);
- $app->home->parse(Cwd::abs_path(dirname __FILE__));
$app->routes->get('/' => 'index');
$app->plugin(AssetPack => $args);
return Test::Mojo->new($app);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/t/lazy.t new/Mojolicious-Plugin-AssetPack-1.36/t/lazy.t
--- old/Mojolicious-Plugin-AssetPack-1.31/t/lazy.t 2016-12-23 02:10:42.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/t/lazy.t 2017-01-11 11:16:57.000000000 +0100
@@ -22,7 +22,11 @@
->element_exists(qq(link[href="/asset/0dfb452e32/sass-two.css"]))
->element_exists_not(qq(link[href="/asset/9f0d8f784a/sass-two.css"]));
-$t->get_ok('/asset/9f0d8f784a/sass-two.css')->status_is(404);
+{
+ local $TODO = 'Not sure if we need to clear out old checksums';
+ $t->get_ok('/asset/9f0d8f784a/sass-two.css')->status_is(404);
+}
+
$t->get_ok('/asset/0dfb452e32/sass-two.css')->status_is(200)
->content_like(qr{body\W+background:\s*black}s);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/t/recreate.t new/Mojolicious-Plugin-AssetPack-1.36/t/recreate.t
--- old/Mojolicious-Plugin-AssetPack-1.31/t/recreate.t 2016-11-14 19:55:19.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/t/recreate.t 2017-01-11 10:30:24.000000000 +0100
@@ -1,6 +1,7 @@
BEGIN { $ENV{MOJO_MODE} = 'not_development' }
use lib '.';
use t::Helper;
+use Mojo::File 'path';
use Mojo::Loader 'data_section';
use Mojolicious::Plugin::AssetPack::Util 'checksum';
@@ -11,16 +12,11 @@
$INC{'CSS/Minifier/XS.pm'} = 'mocked';
*CSS::Minifier::XS::minify = sub { local $_ = shift; s!\s+!!g; $_ };
-my $t = t::Helper->t(pipes => [qw(Css Combine)]);
-my @assets = qw(one.css recreate.css);
-my $recreate_path = File::Spec->catfile(qw(t assets recreate.css));
-
-Mojo::Util::spurt ".recreate { color: #aaa }\n" => $recreate_path;
-
-# Add support for merging assetpack.db files
-unshift @{$t->app->asset->store->paths},
- $t->app->home->parse(
- File::Spec->catdir(Cwd::abs_path(File::Basename::dirname(__FILE__)), 'no-such-dir'));
+my $t = t::Helper->t(pipes => [qw(Css Combine)]);
+my @assets = qw(one.css recreate.css);
+my $recreate = path(qw(t assets recreate.css));
+
+$recreate->spurt(".recreate { color: #aaa }\n");
$t->app->asset->process('app.css' => @assets);
@@ -34,7 +30,7 @@
is $t->tx->res->dom->at('link')->{href}, $link, 'same link href';
# recreate
-Mojo::Util::spurt ".recreate { color: #bbb }\n" => $recreate_path;
+$recreate->spurt(".recreate { color: #bbb }\n");
my $tr = t::Helper->t(pipes => [qw(Css Combine)]);
$tr->app->asset->process('app.css' => @assets);
$tr->get_ok('/')->status_is(200);
@@ -43,7 +39,7 @@
->content_like(qr{color:\#bbb});
# reset asset
-Mojo::Util::spurt ".recreate { color: #aaa }\n" => $recreate_path;
+$recreate->spurt(".recreate { color: #aaa }\n");
$ENV{MOJO_ASSETPACK_CLEANUP} = 1;
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/t/reloader-process.t new/Mojolicious-Plugin-AssetPack-1.36/t/reloader-process.t
--- old/Mojolicious-Plugin-AssetPack-1.31/t/reloader-process.t 2016-12-23 03:11:14.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/t/reloader-process.t 2017-01-10 23:20:50.000000000 +0100
@@ -1,5 +1,7 @@
use lib '.';
use t::Helper;
+
+plan skip_all => 'TEST_RELOADER=1' unless $ENV{TEST_RELOADER} or -e '.test-everything';
plan skip_all => 'cpanm CSS::Sass' unless eval 'use CSS::Sass 3.3.0;1';
my $file = Mojo::Asset::File->new(path => 't/assets/t-reloader.scss');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-AssetPack-1.31/t/reloader.t new/Mojolicious-Plugin-AssetPack-1.36/t/reloader.t
--- old/Mojolicious-Plugin-AssetPack-1.31/t/reloader.t 2016-12-23 03:06:50.000000000 +0100
+++ new/Mojolicious-Plugin-AssetPack-1.36/t/reloader.t 2017-01-10 23:20:50.000000000 +0100
@@ -1,12 +1,15 @@
-BEGIN { $ENV{MOJO_ASSETPACK_RELOADER} = 1 }
use lib '.';
use t::Helper;
+plan skip_all => 'TEST_RELOADER=1' unless $ENV{TEST_RELOADER} or -e '.test-everything';
+
my $file = Mojo::Asset::File->new(path => 't/assets/t-reloader.css');
eval { $file->add_chunk("body{color:#000;}\n") } or plan skip_all => "t-reloader.css: $!";
-my $t = t::Helper->t(pipes => [qw(Css Combine)]);
+my $t = t::Helper->t(pipes => [qw(Css Combine Reloader)]);
my $asset = $t->app->asset->store->asset('t-reloader.css');
+ok $t->app->asset->pipe('Reloader')->enabled, 'enabled';
+
$t->app->asset->process('app.css' => $asset);
$t->get_ok('/')->status_is(200)
->element_exists(qq(link[href="/asset/36b3e7b800/t-reloader.css"]));
@@ -22,6 +25,20 @@
$t->get_ok($t->tx->res->dom->at('link')->{href})
->content_is("body{color:#000;}\ndiv{color:#fff;}\n");
+if (eval 'require CSS::Minifier::XS;1') {
+ $ENV{MOJO_MODE} = 'whatever';
+ $t = t::Helper->t(pipes => [qw(Css Combine Reloader)]);
+ ok !$t->app->asset->pipe('Reloader')->enabled, 'disabled';
+ $t->app->asset->process('app.css' => $asset);
+ $t->get_ok('/')->status_is(200)
+ ->element_exists(qq(link[href="/asset/ee9b1ee297/app.css"]));
+
+ $t->get_ok('/mojo-assetpack-reloader-ws')->status_is(404);
+ $file->add_chunk("div{color:#456;}\n");
+ $t->get_ok('/')->status_is(200)
+ ->element_exists(qq(link[href="/asset/ee9b1ee297/app.css"]));
+}
+
unlink $file->path;
done_testing;
1
0
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2017-01-16 11:14:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
and /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes 2016-12-26 21:44:42.013572842 +0100
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes 2017-01-16 11:14:03.140262799 +0100
@@ -1,0 +2,72 @@
+Thu Jan 12 12:32:53 CET 2017 - tiwai(a)suse.de
+
+- drm: Fix broken VT switch with video=1366x768 option
+ (bsc#1018358).
+- commit 2c7dfab
+
+-------------------------------------------------------------------
+Thu Jan 12 11:48:58 CET 2017 - jslaby(a)suse.cz
+
+- Linux 4.9.3 (bnc#1012628 bsc#1000433).
+- Delete
+ patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu.
+- commit 7204b59
+
+-------------------------------------------------------------------
+Mon Jan 9 10:22:07 CET 2017 - jslaby(a)suse.cz
+
+- Linux 4.9.2 (bnc#1012628 bsc#1000433).
+- Refresh
+ patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu.
+- Delete
+ patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur.
+- Delete
+ patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun.
+- commit 2d3c294
+
+-------------------------------------------------------------------
+Fri Jan 6 13:04:49 CET 2017 - jslaby(a)suse.cz
+
+- Linux 4.9.1 (bnc#1012628 bnc#1016101 bsc#1010690).
+- Delete
+ patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card.
+- Delete
+ patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch.
+- commit da02006
+
+-------------------------------------------------------------------
+Thu Jan 5 09:51:31 CET 2017 - tiwai(a)suse.de
+
+- fbcon: Fix vc attr at deinit (bsc#1000619).
+- commit e989b9d
+
+-------------------------------------------------------------------
+Mon Jan 2 10:56:20 CET 2017 - jslaby(a)suse.cz
+
+- drm: Use u64 for intermediate dotclock calculations
+ (bnc#1006472).
+- commit 1af4b0f
+
+-------------------------------------------------------------------
+Mon Jan 2 10:01:14 CET 2017 - jslaby(a)suse.cz
+
+- x86/kbuild: enable modversions for symbols exported from asm
+ (bnc#1016101).
+ Replace by the upstream version.
+- commit 772efd7
+
+-------------------------------------------------------------------
+Wed Dec 28 20:39:34 CET 2016 - tiwai(a)suse.de
+
+- rpm/kernel-binary.spec.in: Obsolete ftsteutates KMP (boo#997172)
+- commit 8519edc
+
+-------------------------------------------------------------------
+Mon Dec 19 12:03:38 CET 2016 - jdelvare(a)suse.de
+
+- config: Disable GPIO_TS4900 in most kernels
+ The gpio-ts4900 driver is only useful on i.MX6 boards, and only one
+ of our kernels supports them.
+- commit 92e9ad3
+
+-------------------------------------------------------------------
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
kernel-64kb.changes: same change
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-syzkaller.changes: same change
kernel-vanilla.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:09.739327209 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:09.743326642 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dtb-aarch64
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,14 +16,14 @@
#
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%include %_sourcedir/kernel-spec-macros
Name: dtb-aarch64
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
dtb-armv6l.spec: same change
dtb-armv7l.spec: same change
++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:09.827314735 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:09.831314168 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-64kb
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define srcversion 4.9
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel with 64kb PAGE_SIZE
License: GPL-2.0
Group: System/Kernel
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
@@ -351,6 +351,8 @@
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
+# TW 4.8
+%obsolete_kmp ftsteutates 20160601
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
kernel-debug.spec: same change
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:09.911302827 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:09.911302827 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-docs
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -33,9 +33,9 @@
Summary: Kernel Documentation (man pages)
License: GPL-2.0
Group: Documentation/Man
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:09.943298291 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:09.947297724 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-lpae
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define srcversion 4.9
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel for LPAE enabled systems
License: GPL-2.0
Group: System/Kernel
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
@@ -351,6 +351,8 @@
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
+# TW 4.8
+%obsolete_kmp ftsteutates 20160601
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:09.971294322 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:09.971294322 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-build
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -51,9 +51,9 @@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0
Group: SLES
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.003289786 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.007289219 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-qa
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
Summary: Basic QA tests for the kernel
License: GPL-2.0
Group: SLES
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.035285250 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.039284683 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-pae
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define srcversion 4.9
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel with PAE Support
License: GPL-2.0
Group: System/Kernel
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
@@ -373,6 +373,8 @@
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
+# TW 4.8
+%obsolete_kmp ftsteutates 20160601
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.059281847 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.063281280 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-source
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define srcversion 4.9
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%define vanilla_only 0
@@ -30,9 +30,9 @@
Summary: The Linux Kernel Sources
License: GPL-2.0
Group: Development/Sources
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.087277878 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.087277878 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-syms
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 4.9.0
+Version: 4.9.3
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
++++++ kernel-syzkaller.spec ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.115273909 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.115273909 +0100
@@ -1,7 +1,7 @@
#
# spec file for package kernel-syzkaller
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define srcversion 4.9
-%define patchversion 4.9.0
+%define patchversion 4.9.3
%define variant %{nil}
%define vanilla_only 0
@@ -58,9 +58,9 @@
Summary: Kernel used for fuzzing by syzkaller
License: GPL-2.0
Group: System/Kernel
-Version: 4.9.0
+Version: 4.9.3
%if 0%{?is_kotd}
-Release: <RELEASE>.g6fbc0c0
+Release: <RELEASE>.g2c7dfab
%else
Release: 0
%endif
@@ -351,6 +351,8 @@
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
+# TW 4.8
+%obsolete_kmp ftsteutates 20160601
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
kernel-vanilla.spec: same change
++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/arm64/default new/config/arm64/default
--- old/config/arm64/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/arm64/default 2016-12-19 12:03:38.000000000 +0100
@@ -3882,7 +3882,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default
--- old/config/armv6hl/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/armv6hl/default 2016-12-19 12:03:38.000000000 +0100
@@ -3124,7 +3124,7 @@
CONFIG_GPIO_PCF857X=m
CONFIG_GPIO_SX150X=y
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae
--- old/config/armv7hl/lpae 2016-12-12 15:21:46.000000000 +0100
+++ new/config/armv7hl/lpae 2016-12-19 12:03:38.000000000 +0100
@@ -3984,7 +3984,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/debug new/config/i386/debug
--- old/config/i386/debug 2016-12-12 15:21:46.000000000 +0100
+++ new/config/i386/debug 2016-12-19 12:03:38.000000000 +0100
@@ -4091,7 +4091,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/default new/config/i386/default
--- old/config/i386/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/i386/default 2016-12-19 12:03:38.000000000 +0100
@@ -4106,7 +4106,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/i386/pae new/config/i386/pae
--- old/config/i386/pae 2016-12-12 15:21:46.000000000 +0100
+++ new/config/i386/pae 2016-12-19 12:03:38.000000000 +0100
@@ -4013,7 +4013,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/debug new/config/ppc64/debug
--- old/config/ppc64/debug 2016-12-12 15:21:46.000000000 +0100
+++ new/config/ppc64/debug 2016-12-19 12:03:38.000000000 +0100
@@ -3525,7 +3525,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default
--- old/config/ppc64/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/ppc64/default 2016-12-19 12:03:38.000000000 +0100
@@ -3514,7 +3514,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64le/debug new/config/ppc64le/debug
--- old/config/ppc64le/debug 2016-12-12 15:21:46.000000000 +0100
+++ new/config/ppc64le/debug 2016-12-19 12:03:38.000000000 +0100
@@ -3395,7 +3395,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/ppc64le/default new/config/ppc64le/default
--- old/config/ppc64le/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/ppc64le/default 2016-12-19 12:03:38.000000000 +0100
@@ -3384,7 +3384,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/debug new/config/x86_64/debug
--- old/config/x86_64/debug 2016-12-12 15:21:46.000000000 +0100
+++ new/config/x86_64/debug 2016-12-19 12:03:38.000000000 +0100
@@ -4020,7 +4020,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default 2016-12-12 15:21:46.000000000 +0100
+++ new/config/x86_64/default 2016-12-19 12:03:38.000000000 +0100
@@ -4006,7 +4006,7 @@
CONFIG_GPIO_PCF857X=m
# CONFIG_GPIO_SX150X is not set
CONFIG_GPIO_TPIC2810=m
-CONFIG_GPIO_TS4900=m
+# CONFIG_GPIO_TS4900 is not set
#
# MFD GPIO expanders
++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:10.859168443 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:10.863167876 +0100
@@ -223,6 +223,8 @@
# sle12-sp1 / Leap 42.1
%obsolete_kmp xen 4.6.1
%obsolete_kmp compat-wireless 4.4
+# TW 4.8
+%obsolete_kmp ftsteutates 20160601
# Provide the exported symbols as "ksym(symbol) = hash"
%define _use_internal_dependency_generator 0
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-Fix-broken-VT-switch-with-video-1366x768-option new/patches.drivers/drm-Fix-broken-VT-switch-with-video-1366x768-option
--- old/patches.drivers/drm-Fix-broken-VT-switch-with-video-1366x768-option 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/drm-Fix-broken-VT-switch-with-video-1366x768-option 2017-01-12 12:32:53.000000000 +0100
@@ -0,0 +1,71 @@
+From fdf35a6b22247746a7053fc764d04218a9306f82 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai(a)suse.de>
+Date: Mon, 9 Jan 2017 15:56:14 +0100
+Subject: [PATCH] drm: Fix broken VT switch with video=1366x768 option
+Mime-version: 1.0
+Content-type: text/plain; charset=UTF-8
+Content-transfer-encoding: 8bit
+Git-commit: fdf35a6b22247746a7053fc764d04218a9306f82
+References: bsc#1018358
+Git-repo: git://anongit.freedesktop.org/git/drm-misc
+Patch-mainline: Queued in subsystem maintainer repository
+
+I noticed that the VT switch doesn't work any longer with a Dell
+laptop with 1366x768 eDP when the machine is connected with a DP
+monitor. It behaves as if VT were switched, but the graphics remain
+frozen. Actually the keyboard works, so I could switch back to VT7
+again.
+
+I tried to track down the problem, and encountered a long story until
+we reach to this error:
+
+- The machine is booted with video=1366x768 option (the distro
+ installer seems to add it as default).
+- Recently, drm_helper_probe_single_connector_modes() deals with
+ cmdline modes, and it tries to create a new mode when no
+ matching mode is found.
+- The drm_mode_create_from_cmdline_mode() creates a mode based on
+ either CVT of GFT according to the given cmdline mode; in our case,
+ it's 1366x768.
+- Since both CVT and GFT can't express the width 1366 due to
+ alignment, the resultant mode becomes 1368x768, slightly larger than
+ the given size.
+- Later on, the atomic commit is performed, and in
+ drm_atomic_check_only(), the size of each plane is checked.
+- The size check of 1366x768 fails due to the above, and eventually
+ the whole VT switch fails.
+
+Back in the history, we've had a manual fix-up of 1368x768 in various
+places via c09dedb7a50e ("drm/edid: Add a workaround for 1366x768 HD
+panel"), but they have been all in drm_edid.c at probing the modes
+from EDID. For addressing the problem above, we need a similar hack
+to the mode newly created from cmdline, manually adjusting the width
+when the expected size is 1366 while we get 1368 instead.
+
+Fixes: eaf99c749d43 ("drm: Perform cmdline mode parsing during...")
+Cc: <stable(a)vger.kernel.org>
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+Link: http://patchwork.freedesktop.org/patch/msgid/20170109145614.29454-1-tiwai@s…
+Reviewed-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
+Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
+
+---
+ drivers/gpu/drm/drm_modes.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/gpu/drm/drm_modes.c
++++ b/drivers/gpu/drm/drm_modes.c
+@@ -1466,6 +1466,13 @@ drm_mode_create_from_cmdline_mode(struct
+ return NULL;
+
+ mode->type |= DRM_MODE_TYPE_USERDEF;
++ /* fix up 1368x768: GFT/CVT can't express 1366 width due to alignment */
++ if (cmd->xres == 1366 && mode->hdisplay == 1368) {
++ mode->hdisplay = 1366;
++ mode->hsync_start--;
++ mode->hsync_end--;
++ drm_mode_set_name(mode);
++ }
+ drm_mode_set_crtcinfo(mode, CRTC_INTERLACE_HALVE_V);
+ return mode;
+ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur new/patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur
--- old/patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur 2016-10-27 17:32:08.000000000 +0200
+++ new/patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur 1970-01-01 01:00:00.000000000 +0100
@@ -1,46 +0,0 @@
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer(a)amd.com>
-Date: Thu, 27 Oct 2016 16:59:42 +0900
-Subject: [PATCH 2/3] drm/radeon: Also call cursor_move_locked when the cursor size changes
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-References: bsc#1000433
-Patch-mainline: Submitted, amd-gfx ML
-
-The cursor size also affects the register programming.
-
-Cc: stable(a)vger.kernel.org
-Signed-off-by: Michel Dänzer <michel.daenzer(a)amd.com>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/radeon/radeon_cursor.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
---- a/drivers/gpu/drm/radeon/radeon_cursor.c
-+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
-@@ -297,12 +297,11 @@ int radeon_crtc_cursor_set2(struct drm_c
- return ret;
- }
-
-- radeon_crtc->cursor_width = width;
-- radeon_crtc->cursor_height = height;
--
- radeon_lock_cursor(crtc, true);
-
-- if (hot_x != radeon_crtc->cursor_hot_x ||
-+ if (width != radeon_crtc->cursor_width ||
-+ height != radeon_crtc->cursor_height ||
-+ hot_x != radeon_crtc->cursor_hot_x ||
- hot_y != radeon_crtc->cursor_hot_y) {
- int x, y;
-
-@@ -311,6 +310,8 @@ int radeon_crtc_cursor_set2(struct drm_c
-
- radeon_cursor_move_locked(crtc, x, y);
-
-+ radeon_crtc->cursor_width = width;
-+ radeon_crtc->cursor_height = height;
- radeon_crtc->cursor_hot_x = hot_x;
- radeon_crtc->cursor_hot_y = hot_y;
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu new/patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu
--- old/patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu 2016-10-27 17:32:08.000000000 +0200
+++ new/patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu 1970-01-01 01:00:00.000000000 +0100
@@ -1,45 +0,0 @@
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer(a)amd.com>
-Date: Thu, 27 Oct 2016 16:59:43 +0900
-Subject: [PATCH 1/3] drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-References: bsc#1000433
-Patch-mainline: Submitted, amd-gfx ML
-
-We were storing viewport relative coordinates for AVIVO/DCE display
-engines. However, radeon_crtc_cursor_set2 and radeon_cursor_reset pass
-radeon_crtc->cursor_x/y as the x/y parameters of
-radeon_cursor_move_locked, which would break if the CRTC isn't located
-at (0, 0).
-
-Cc: stable(a)vger.kernel.org
-Signed-off-by: Michel Dänzer <michel.daenzer(a)amd.com>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/radeon/radeon_cursor.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
---- a/drivers/gpu/drm/radeon/radeon_cursor.c
-+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
-@@ -143,6 +143,9 @@ static int radeon_cursor_move_locked(str
- int xorigin = 0, yorigin = 0;
- int w = radeon_crtc->cursor_width;
-
-+ radeon_crtc->cursor_x = x;
-+ radeon_crtc->cursor_y = y;
-+
- if (ASIC_IS_AVIVO(rdev)) {
- /* avivo cursor are offset into the total surface */
- x += crtc->x;
-@@ -229,9 +232,6 @@ static int radeon_cursor_move_locked(str
- yorigin * 256);
- }
-
-- radeon_crtc->cursor_x = x;
-- radeon_crtc->cursor_y = y;
--
- return 0;
- }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun new/patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun
--- old/patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun 2016-10-27 17:32:08.000000000 +0200
+++ new/patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun 1970-01-01 01:00:00.000000000 +0100
@@ -1,158 +0,0 @@
-From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer(a)amd.com>
-Date: Thu, 27 Oct 2016 16:59:44 +0900
-Subject: [PATCH 3/3] drm/radeon: Hide the HW cursor while it's out of bounds
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-References: bsc#1000433
-Patch-mainline: Submitted, amd-gfx ML
-
-Fixes hangs in that case under some circumstances.
-
-Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1000433
-Cc: stable(a)vger.kernel.org
-Signed-off-by: Michel Dänzer <michel.daenzer(a)amd.com>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- drivers/gpu/drm/radeon/radeon_cursor.c | 66 ++++++++++++++++++++-------------
- drivers/gpu/drm/radeon/radeon_mode.h | 1
- 2 files changed, 42 insertions(+), 25 deletions(-)
-
---- a/drivers/gpu/drm/radeon/radeon_cursor.c
-+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
-@@ -90,6 +90,9 @@ static void radeon_show_cursor(struct dr
- struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
- struct radeon_device *rdev = crtc->dev->dev_private;
-
-+ if (radeon_crtc->cursor_out_of_bounds)
-+ return;
-+
- if (ASIC_IS_DCE4(rdev)) {
- WREG32(EVERGREEN_CUR_SURFACE_ADDRESS_HIGH + radeon_crtc->crtc_offset,
- upper_32_bits(radeon_crtc->cursor_addr));
-@@ -146,21 +149,14 @@ static int radeon_cursor_move_locked(str
- radeon_crtc->cursor_x = x;
- radeon_crtc->cursor_y = y;
-
-- if (ASIC_IS_AVIVO(rdev)) {
-- /* avivo cursor are offset into the total surface */
-- x += crtc->x;
-- y += crtc->y;
-- }
-- DRM_DEBUG("x %d y %d c->x %d c->y %d\n", x, y, crtc->x, crtc->y);
--
-- if (x < 0) {
-+ if (x < 0)
- xorigin = min(-x, radeon_crtc->max_cursor_width - 1);
-- x = 0;
-- }
-- if (y < 0) {
-+ if (y < 0)
- yorigin = min(-y, radeon_crtc->max_cursor_height - 1);
-- y = 0;
-- }
-+
-+ x += crtc->x;
-+ y += crtc->y;
-+ DRM_DEBUG("x %d y %d c->x %d c->y %d\n", x, y, crtc->x, crtc->y);
-
- /* fixed on DCE6 and newer */
- if (ASIC_IS_AVIVO(rdev) && !ASIC_IS_DCE6(rdev)) {
-@@ -183,27 +179,31 @@ static int radeon_cursor_move_locked(str
- if (i > 1) {
- int cursor_end, frame_end;
-
-- cursor_end = x - xorigin + w;
-+ cursor_end = x + w;
- frame_end = crtc->x + crtc->mode.crtc_hdisplay;
- if (cursor_end >= frame_end) {
- w = w - (cursor_end - frame_end);
- if (!(frame_end & 0x7f))
- w--;
-- } else {
-- if (!(cursor_end & 0x7f))
-- w--;
-+ } else if (cursor_end <= 0) {
-+ goto out_of_bounds;
-+ } else if (!(cursor_end & 0x7f)) {
-+ w--;
- }
- if (w <= 0) {
-- w = 1;
-- cursor_end = x - xorigin + w;
-- if (!(cursor_end & 0x7f)) {
-- x--;
-- WARN_ON_ONCE(x < 0);
-- }
-+ goto out_of_bounds;
- }
- }
- }
-
-+ if (x <= (crtc->x - w) || y <= (crtc->y - radeon_crtc->cursor_height) ||
-+ x >= (crtc->x + crtc->mode.crtc_hdisplay) ||
-+ y >= (crtc->y + crtc->mode.crtc_vdisplay))
-+ goto out_of_bounds;
-+
-+ x += xorigin;
-+ y += yorigin;
-+
- if (ASIC_IS_DCE4(rdev)) {
- WREG32(EVERGREEN_CUR_POSITION + radeon_crtc->crtc_offset, (x << 16) | y);
- WREG32(EVERGREEN_CUR_HOT_SPOT + radeon_crtc->crtc_offset, (xorigin << 16) | yorigin);
-@@ -215,6 +215,9 @@ static int radeon_cursor_move_locked(str
- WREG32(AVIVO_D1CUR_SIZE + radeon_crtc->crtc_offset,
- ((w - 1) << 16) | (radeon_crtc->cursor_height - 1));
- } else {
-+ x -= crtc->x;
-+ y -= crtc->y;
-+
- if (crtc->mode.flags & DRM_MODE_FLAG_DBLSCAN)
- y *= 2;
-
-@@ -232,6 +235,19 @@ static int radeon_cursor_move_locked(str
- yorigin * 256);
- }
-
-+ if (radeon_crtc->cursor_out_of_bounds) {
-+ radeon_crtc->cursor_out_of_bounds = false;
-+ if (radeon_crtc->cursor_bo)
-+ radeon_show_cursor(crtc);
-+ }
-+
-+ return 0;
-+
-+ out_of_bounds:
-+ if (!radeon_crtc->cursor_out_of_bounds) {
-+ radeon_hide_cursor(crtc);
-+ radeon_crtc->cursor_out_of_bounds = true;
-+ }
- return 0;
- }
-
-@@ -308,12 +324,12 @@ int radeon_crtc_cursor_set2(struct drm_c
- x = radeon_crtc->cursor_x + radeon_crtc->cursor_hot_x - hot_x;
- y = radeon_crtc->cursor_y + radeon_crtc->cursor_hot_y - hot_y;
-
-- radeon_cursor_move_locked(crtc, x, y);
--
- radeon_crtc->cursor_width = width;
- radeon_crtc->cursor_height = height;
- radeon_crtc->cursor_hot_x = hot_x;
- radeon_crtc->cursor_hot_y = hot_y;
-+
-+ radeon_cursor_move_locked(crtc, x, y);
- }
-
- radeon_show_cursor(crtc);
---- a/drivers/gpu/drm/radeon/radeon_mode.h
-+++ b/drivers/gpu/drm/radeon/radeon_mode.h
-@@ -330,6 +330,7 @@ struct radeon_crtc {
- u16 lut_r[256], lut_g[256], lut_b[256];
- bool enabled;
- bool can_tile;
-+ bool cursor_out_of_bounds;
- uint32_t crtc_offset;
- struct drm_gem_object *cursor_bo;
- uint64_t cursor_addr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/fbcon-Fix-vc-attr-at-deinit new/patches.drivers/fbcon-Fix-vc-attr-at-deinit
--- old/patches.drivers/fbcon-Fix-vc-attr-at-deinit 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.drivers/fbcon-Fix-vc-attr-at-deinit 2017-01-12 12:32:53.000000000 +0100
@@ -0,0 +1,142 @@
+From: Takashi Iwai <tiwai(a)suse.de>
+Date: Tue, 3 Jan 2017 14:47:46 +0100
+Subject: [PATCH] fbcon: Fix vc attr at deinit
+Message-Id: <20170103150322.10350-1-tiwai(a)suse.de>
+Patch-mainline: Submitted, linux-fbdev ML
+References: bsc#1000619
+
+fbcon can deal with vc_hi_font_mask (the upper 256 chars) and adjust
+the vc attrs dynamically when vc_hi_font_mask is changed at
+fbcon_init(). When the vc_hi_font_mask is set, it remaps the attrs in
+the existing console buffer with one bit shift up (for 9 bits), while
+it remaps with one bit shift down (for 8 bits) when the value is
+cleared. It works fine as long as the font gets updated after fbcon
+was initialized.
+
+However, we hit a bizarre problem when the console is switched to
+another fb driver (typically from vesafb or efifb to drmfb). At
+switching to the new fb driver, we temporarily rebind the console to
+the dummy console, then rebind to the new driver. During the
+switching, we leave the modified attrs as is. Thus, the new fbcon
+takes over the old buffer as if it were to contain 8 bits chars
+(although the attrs are still shifted for 9 bits), and effectively
+this results in the yellow color texts instead of the original white
+color, as found in the bugzilla entry below.
+
+An easy fix for this is to re-adjust the attrs before leaving the
+fbcon at con_deinit callback. Since the code to adjust the attrs is
+already present in the current fbcon code, in this patch, we simply
+factor out the relevant code, and call it from fbcon_deinit().
+
+Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1000619
+Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
+---
+ drivers/video/console/fbcon.c | 67 +++++++++++++++++++++++++-----------------
+ 1 file changed, 40 insertions(+), 27 deletions(-)
+
+--- a/drivers/video/console/fbcon.c
++++ b/drivers/video/console/fbcon.c
+@@ -1165,6 +1165,8 @@ static void fbcon_free_font(struct displ
+ p->userfont = 0;
+ }
+
++static void set_vc_hi_font(struct vc_data *vc, bool set);
++
+ static void fbcon_deinit(struct vc_data *vc)
+ {
+ struct display *p = &fb_display[vc->vc_num];
+@@ -1200,6 +1202,9 @@ finished:
+ if (free_font)
+ vc->vc_font.data = NULL;
+
++ if (vc->vc_hi_font_mask)
++ set_vc_hi_font(vc, false);
++
+ if (!con_is_bound(&fb_con))
+ fbcon_exit();
+
+@@ -2436,32 +2441,10 @@ static int fbcon_get_font(struct vc_data
+ return 0;
+ }
+
+-static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
+- const u8 * data, int userfont)
++/* set/clear vc_hi_font_mask and update vc attrs accordingly */
++static void set_vc_hi_font(struct vc_data *vc, bool set)
+ {
+- struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
+- struct fbcon_ops *ops = info->fbcon_par;
+- struct display *p = &fb_display[vc->vc_num];
+- int resize;
+- int cnt;
+- char *old_data = NULL;
+-
+- if (con_is_visible(vc) && softback_lines)
+- fbcon_set_origin(vc);
+-
+- resize = (w != vc->vc_font.width) || (h != vc->vc_font.height);
+- if (p->userfont)
+- old_data = vc->vc_font.data;
+- if (userfont)
+- cnt = FNTCHARCNT(data);
+- else
+- cnt = 256;
+- vc->vc_font.data = (void *)(p->fontdata = data);
+- if ((p->userfont = userfont))
+- REFCOUNT(data)++;
+- vc->vc_font.width = w;
+- vc->vc_font.height = h;
+- if (vc->vc_hi_font_mask && cnt == 256) {
++ if (!set) {
+ vc->vc_hi_font_mask = 0;
+ if (vc->vc_can_do_color) {
+ vc->vc_complement_mask >>= 1;
+@@ -2484,7 +2467,7 @@ static int fbcon_do_set_font(struct vc_d
+ ((c & 0xfe00) >> 1) | (c & 0xff);
+ vc->vc_attr >>= 1;
+ }
+- } else if (!vc->vc_hi_font_mask && cnt == 512) {
++ } else {
+ vc->vc_hi_font_mask = 0x100;
+ if (vc->vc_can_do_color) {
+ vc->vc_complement_mask <<= 1;
+@@ -2516,8 +2499,38 @@ static int fbcon_do_set_font(struct vc_d
+ } else
+ vc->vc_video_erase_char = c & ~0x100;
+ }
+-
+ }
++}
++
++static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
++ const u8 * data, int userfont)
++{
++ struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
++ struct fbcon_ops *ops = info->fbcon_par;
++ struct display *p = &fb_display[vc->vc_num];
++ int resize;
++ int cnt;
++ char *old_data = NULL;
++
++ if (con_is_visible(vc) && softback_lines)
++ fbcon_set_origin(vc);
++
++ resize = (w != vc->vc_font.width) || (h != vc->vc_font.height);
++ if (p->userfont)
++ old_data = vc->vc_font.data;
++ if (userfont)
++ cnt = FNTCHARCNT(data);
++ else
++ cnt = 256;
++ vc->vc_font.data = (void *)(p->fontdata = data);
++ if ((p->userfont = userfont))
++ REFCOUNT(data)++;
++ vc->vc_font.width = w;
++ vc->vc_font.height = h;
++ if (vc->vc_hi_font_mask && cnt == 256)
++ set_vc_hi_font(vc, false);
++ else if (!vc->vc_hi_font_mask && cnt == 512)
++ set_vc_hi_font(vc, true);
+
+ if (resize) {
+ int cols, rows;
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card new/patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card
--- old/patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card 2016-12-15 10:39:22.000000000 +0100
+++ new/patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card 1970-01-01 01:00:00.000000000 +0100
@@ -1,63 +0,0 @@
-From: Takashi Iwai <tiwai(a)suse.de>
-Date: Fri, 25 Nov 2016 14:50:51 +0100
-Subject: [PATCH] ASoC: intel: Fix crash at suspend/resume without card
- registration
-References: bsc#1010690
-Patch-mainline: Submitted, alsa-devel ML Fri, 25 Nov 2016
-
-When ASoC Intel SST Medfield driver is probed but without codec / card
-assigned, it causes an Oops and freezes the kernel at suspend/resume,
-
- PM: Suspending system (freeze)
- Suspending console(s) (use no_console_suspend to debug)
- BUG: unable to handle kernel NULL pointer dereference at 0000000000000018
- IP: [<ffffffffc09d9409>] sst_soc_prepare+0x19/0xa0 [snd_soc_sst_mfld_platform]
- Oops: 0000 [#1] PREEMPT SMP
- CPU: 0 PID: 1552 Comm: systemd-sleep Tainted: G W 4.9.0-rc6-1.g5f5c2ad-default #1
- Call Trace:
- [<ffffffffb45318f9>] dpm_prepare+0x209/0x460
- [<ffffffffb4531b61>] dpm_suspend_start+0x11/0x60
- [<ffffffffb40d3cc2>] suspend_devices_and_enter+0xb2/0x710
- [<ffffffffb40d462e>] pm_suspend+0x30e/0x390
- [<ffffffffb40d2eba>] state_store+0x8a/0x90
- [<ffffffffb43c670f>] kobj_attr_store+0xf/0x20
- [<ffffffffb42b0d97>] sysfs_kf_write+0x37/0x40
- [<ffffffffb42b02bc>] kernfs_fop_write+0x11c/0x1b0
- [<ffffffffb422be68>] __vfs_write+0x28/0x140
- [<ffffffffb43728a8>] ? apparmor_file_permission+0x18/0x20
- [<ffffffffb433b2ab>] ? security_file_permission+0x3b/0xc0
- [<ffffffffb422d095>] vfs_write+0xb5/0x1a0
- [<ffffffffb422e3d6>] SyS_write+0x46/0xa0
- [<ffffffffb4719fbb>] entry_SYSCALL_64_fastpath+0x1e/0xad
-
-Add proper NULL checks in the PM code of mdfld driver.
-
-Cc: <stable(a)vger.kernel.org>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/sound/soc/intel/atom/sst-mfld-platform-pcm.c
-+++ b/sound/soc/intel/atom/sst-mfld-platform-pcm.c
-@@ -771,6 +771,9 @@ static int sst_soc_prepare(struct device
- struct sst_data *drv = dev_get_drvdata(dev);
- struct snd_soc_pcm_runtime *rtd;
-
-+ if (!drv->soc_card)
-+ return 0;
-+
- /* suspend all pcms first */
- snd_soc_suspend(drv->soc_card->dev);
- snd_soc_poweroff(drv->soc_card->dev);
-@@ -793,6 +796,9 @@ static void sst_soc_complete(struct devi
- struct sst_data *drv = dev_get_drvdata(dev);
- struct snd_soc_pcm_runtime *rtd;
-
-+ if (!drv->soc_card)
-+ return;
-+
- /* restart SSPs */
- list_for_each_entry(rtd, &drv->soc_card->rtd_list, list) {
- struct snd_soc_dai *dai = rtd->cpu_dai;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch new/patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch
--- old/patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch 2017-01-06 13:04:49.000000000 +0100
@@ -0,0 +1,53 @@
+From: Chris Wilson <chris(a)chris-wilson.co.uk>
+Date: Fri, 21 Oct 2016 15:15:40 +0100
+Subject: drm: Use u64 for intermediate dotclock calculations
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Git-commit: 8a5bbf327aa16025c78491266a6425807c7fbee0
+Patch-mainline: v4.10-rc1
+References: bnc#1006472
+
+We have reached the era where monitor bandwidths now exceed 31bits in
+frequency calculations, though as we stored them in kHz units we are
+safe from overflow in the modelines for some time.
+
+[ 48.723720] UBSAN: Undefined behaviour in ../drivers/gpu/drm/drm_modes.c:325:49
+[ 48.726943] signed integer overflow:
+[ 48.728503] 2240 * 1000000 cannot be represented in type 'int'
+
+Reported-by: Martin Liška <marxin.liska(a)gmail.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98372
+Signed-off-by: Chris Wilson <chris(a)chris-wilson.co.uk>
+Reviewed-by: Alex Deucher <alexander.deucher(a)amd.com>
+Signed-off-by: Daniel Vetter <daniel.vetter(a)ffwll.ch>
+Link: http://patchwork.freedesktop.org/patch/msgid/20161021141540.26837-1-chris@c…
+Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
+---
+ drivers/gpu/drm/drm_modes.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/drm_modes.c
++++ b/drivers/gpu/drm/drm_modes.c
+@@ -165,6 +165,7 @@ struct drm_display_mode *drm_cvt_mode(st
+ unsigned int vfieldrate, hperiod;
+ int hdisplay_rnd, hmargin, vdisplay_rnd, vmargin, vsync;
+ int interlace;
++ u64 tmp;
+
+ /* allocate the drm_display_mode structure. If failure, we will
+ * return directly
+@@ -322,8 +323,11 @@ struct drm_display_mode *drm_cvt_mode(st
+ drm_mode->vsync_end = drm_mode->vsync_start + vsync;
+ }
+ /* 15/13. Find pixel clock frequency (kHz for xf86) */
+- drm_mode->clock = drm_mode->htotal * HV_FACTOR * 1000 / hperiod;
+- drm_mode->clock -= drm_mode->clock % CVT_CLOCK_STEP;
++ tmp = drm_mode->htotal; /* perform intermediate calcs in u64 */
++ tmp *= HV_FACTOR * 1000;
++ do_div(tmp, hperiod);
++ tmp -= drm_mode->clock % CVT_CLOCK_STEP;
++ drm_mode->clock = tmp;
+ /* 18/16. Find actual vertical frame frequency */
+ /* ignore - just set the mode flag for interlaced */
+ if (interlaced) {
++++++ patches.kernel.org.tar.bz2 ++++++
++++ 15511 lines of diff (skipped)
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch new/patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch
--- old/patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch 2016-12-16 20:49:48.000000000 +0100
+++ new/patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,56 +0,0 @@
-From: Adam Borowski <kilobyte(a)angband.pl>
-Date: Mon, 17 Oct 2016 11:42:35 +0200
-Subject: kbuild: provide include/asm/asm-prototypes.h for x86
-References: bnc#1016101
-Patch-mainline: submitted, http://marc.info/?l=linux-kernel&m=147669851906489&w=2
-
-Nicholas Piggin wrote:
-> Architectures will need to have an include/asm/asm-prototypes.h that
-> defines or #include<>s C-style prototypes for exported asm functions.
-> We can do an asm-generic version for the common ones like memset so
-> there's not a lot of pointless duplication there.
-
-Signed-off-by: Adam Borowski <kilobyte(a)angband.pl>
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
----
- arch/x86/include/asm/asm-prototypes.h | 13 +++++++++++++
- include/asm-generic/asm-prototypes.h | 7 +++++++
- 2 files changed, 20 insertions(+)
- create mode 100644 arch/x86/include/asm/asm-prototypes.h
- create mode 100644 include/asm-generic/asm-prototypes.h
-
-diff --git a/arch/x86/include/asm/asm-prototypes.h b/arch/x86/include/asm/asm-prototypes.h
-new file mode 100644
-index 000000000000..072c97c56508
---- /dev/null
-+++ b/arch/x86/include/asm/asm-prototypes.h
-@@ -0,0 +1,13 @@
-+#include <asm/ftrace.h>
-+#include <asm/uaccess.h>
-+#include <asm/uaccess.h>
-+#include <asm/string.h>
-+#include <asm/page.h>
-+#include <asm/checksum.h>
-+
-+#include <asm-generic/asm-prototypes.h>
-+
-+#include <asm/page.h>
-+#include <asm/pgtable.h>
-+#include <asm/special_insns.h>
-+#include <asm/preempt.h>
-diff --git a/include/asm-generic/asm-prototypes.h b/include/asm-generic/asm-prototypes.h
-new file mode 100644
-index 000000000000..df13637e4017
---- /dev/null
-+++ b/include/asm-generic/asm-prototypes.h
-@@ -0,0 +1,7 @@
-+#include <linux/bitops.h>
-+extern void *__memset(void *, int, __kernel_size_t);
-+extern void *__memcpy(void *, const void *, __kernel_size_t);
-+extern void *__memmove(void *, const void *, __kernel_size_t);
-+extern void *memset(void *, int, __kernel_size_t);
-+extern void *memcpy(void *, const void *, __kernel_size_t);
-+extern void *memmove(void *, const void *, __kernel_size_t);
---
-2.11.0
-
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:11.523074317 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:11.523074317 +0100
@@ -27,6 +27,9 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
+ patches.kernel.org/patch-4.9.1
+ patches.kernel.org/patch-4.9.1-2
+ patches.kernel.org/patch-4.9.2-3
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -50,7 +53,6 @@
patches.rpmify/firmware-path
patches.rpmify/cloneconfig.diff
patches.rpmify/get_builtin_firmware-gcc-7.patch
- patches.rpmify/kbuild-provide-include-asm-asm-prototypes.h-for-x86.patch
########################################################
# kbuild/module infrastructure fixes
@@ -313,9 +315,8 @@
# DRM/Video
########################################################
patches.fixes/drm-i915-Fix-S4-resume-breakage
- patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu
- patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur
- patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun
+ patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch
+ patches.drivers/drm-Fix-broken-VT-switch-with-video-1366x768-option
########################################################
# video4linux
@@ -364,12 +365,12 @@
##########################################################
# Sound
##########################################################
- patches.fixes/ASoC-intel-Fix-crash-at-suspend-resume-without-card
########################################################
# Char / serial
########################################################
patches.fixes/revert-tty-serial-8250-add-CON_CONSDEV-to-flags.patch
+ patches.drivers/fbcon-Fix-vc-attr-at-deinit
########################################################
# Other driver fixes
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.PJIOAe/_old 2017-01-16 11:14:11.555069781 +0100
+++ /var/tmp/diff_new_pack.PJIOAe/_new 2017-01-16 11:14:11.555069781 +0100
@@ -1,3 +1,3 @@
-2016-12-16 20:51:27 +0100
-GIT Revision: 6fbc0c027176b3d960a58adeff1c433623dc8497
+2017-01-12 12:32:53 +0100
+GIT Revision: 2c7dfab6a4e89109339d071c5bcf7729ebf791d1
GIT Branch: stable
1
0
Hello community,
here is the log from the commit of package lz4 for openSUSE:Factory checked in at 2017-01-16 10:34:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lz4 (Old)
and /work/SRC/openSUSE:Factory/.lz4.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lz4"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lz4/lz4.changes 2016-04-07 13:35:48.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lz4.new/lz4.changes 2017-01-16 10:34:24.577465788 +0100
@@ -1,0 +2,6 @@
+Mon Jan 16 07:57:03 UTC 2017 - dimstar(a)opensuse.org
+
+- Add baselibs.conf: provide liblz4-1_7 as -32bit compatibility
+ package, required by systemd-32bit.
+
+-------------------------------------------------------------------
New:
----
baselibs.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lz4.spec ++++++
--- /var/tmp/diff_new_pack.6BHXfu/_old 2017-01-16 10:34:25.041400074 +0100
+++ /var/tmp/diff_new_pack.6BHXfu/_new 2017-01-16 10:34:25.045399507 +0100
@@ -1,7 +1,7 @@
#
# spec file for package lz4
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -27,6 +27,7 @@
#Git-Clone: https://github.com/Cyan4973/lz4
Source: https://github.com/Cyan4973/lz4/archive/r%version.tar.gz
+Source99: baselibs.conf
Patch1: lz4-soversion.diff
Patch2: lz4-use-shlib.diff
Patch3: lz4-killdate.diff
++++++ baselibs.conf ++++++
liblz4-1_7
1
0