--- a/.hgtags Thu Oct 20 18:45:40 2016 +0200
+++ b/.hgtags Thu Oct 20 18:28:46 2016 +0200
@@ -273,8 +273,8 @@
a2b4f245aa57013cf8bbcfa2f3d021ee04bccfa0 cubicweb-version-3.16.2
b3c1ad0cbf001883058ab82be9474544a31b5294 cubicweb-debian-version-3.16.2-1
ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-version-3.16.3
+ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-centos-version-3.16.3-1
ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-debian-version-3.16.3-1
-ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-centos-version-3.16.3-1
041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-version-3.16.4
041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-centos-version-3.16.4-1
041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-debian-version-3.16.4-1
@@ -282,8 +282,8 @@
810a05fba1a46ab893b6cadac109097a047f8355 cubicweb-debiann-version-3.16.5-1
810a05fba1a46ab893b6cadac109097a047f8355 cubicweb-centos-version-3.16.5-1
b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-version-3.16.6
+b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-debian-version-3.16.6-1
b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-centos-version-3.16.6-1
-b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-debian-version-3.16.6-1
cc1a0aad580cf93d26959f97d8d6638e786c1082 cubicweb-version-3.17.0
22be40c492e9034483bfec379ca11462ea97825b cubicweb-debian-version-3.17.0-1
09a0c7ea6c3cb97bbbeed3795b3c3715ceb9566b cubicweb-debian-version-3.17.0-2
@@ -314,11 +314,11 @@
5668d210e49c910180ff27712b6ae9ce8286e06c cubicweb-version-3.17.9
5668d210e49c910180ff27712b6ae9ce8286e06c cubicweb-debian-version-3.17.9-1
fe0e1863a13772836f40f743cc6fe4865f288ed3 cubicweb-version-3.17.10
+fe0e1863a13772836f40f743cc6fe4865f288ed3 cubicweb-centos-version-3.17.10-1
fe0e1863a13772836f40f743cc6fe4865f288ed3 cubicweb-debian-version-3.17.10-1
-fe0e1863a13772836f40f743cc6fe4865f288ed3 cubicweb-centos-version-3.17.10-1
7f67db7c848ec20152daf489d9e11f0fc8402e9b cubicweb-version-3.17.11
+7f67db7c848ec20152daf489d9e11f0fc8402e9b cubicweb-debian-version-3.17.11-1
7f67db7c848ec20152daf489d9e11f0fc8402e9b cubicweb-centos-version-3.17.11-1
-7f67db7c848ec20152daf489d9e11f0fc8402e9b cubicweb-debian-version-3.17.11-1
b02e2912cad5d80395e488c55b548495e8320198 cubicweb-debian-version-3.17.11-2
838d58a30f7efc6a8f83ac27ae8de7d79b84b2bb cubicweb-version-3.17.12
838d58a30f7efc6a8f83ac27ae8de7d79b84b2bb cubicweb-centos-version-3.17.12-1
@@ -366,145 +366,145 @@
cb96f4403cf2837b595992ceb0dfef2070d55e70 cubicweb-debian-version-3.18.7-1
cb96f4403cf2837b595992ceb0dfef2070d55e70 cubicweb-centos-version-3.18.7-1
231094063d62fa7c5296f2e46bc204e728038e85 cubicweb-version-3.18.8
+231094063d62fa7c5296f2e46bc204e728038e85 cubicweb-centos-version-3.18.8-1
231094063d62fa7c5296f2e46bc204e728038e85 cubicweb-debian-version-3.18.8-1
-231094063d62fa7c5296f2e46bc204e728038e85 cubicweb-centos-version-3.18.8-1
+1141927b8494aabd16e31b0d0d9a50fe1fed5f2f 3.19.0
1141927b8494aabd16e31b0d0d9a50fe1fed5f2f cubicweb-version-3.19.0
+1141927b8494aabd16e31b0d0d9a50fe1fed5f2f debian/3.19.0-1
1141927b8494aabd16e31b0d0d9a50fe1fed5f2f cubicweb-debian-version-3.19.0-1
1141927b8494aabd16e31b0d0d9a50fe1fed5f2f cubicweb-centos-version-3.19.0-1
+1141927b8494aabd16e31b0d0d9a50fe1fed5f2f centos/3.19.0-1
+1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a 3.19.1
1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a cubicweb-version-3.19.1
+1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a debian/3.19.1-1
1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a cubicweb-debian-version-3.19.1-1
1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a cubicweb-centos-version-3.19.1-1
-8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-version-3.19.2
-8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-debian-version-3.19.2-1
-8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-centos-version-3.19.2-1
-37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-version-3.19.3
-37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-debian-version-3.19.3-1
-37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-centos-version-3.19.3-1
-c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-version-3.19.4
-c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-debian-version-3.19.4-1
-c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-centos-version-3.19.4-1
-3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-version-3.19.5
-3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-debian-version-3.19.5-1
-3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-centos-version-3.19.5-1
-934341b848a6874688314d7c154183aca3aed530 cubicweb-version-3.19.6
-934341b848a6874688314d7c154183aca3aed530 cubicweb-debian-version-3.19.6-1
-934341b848a6874688314d7c154183aca3aed530 cubicweb-centos-version-3.19.6-1
-ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-version-3.19.7
-ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-debian-version-3.19.7-1
-ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-centos-version-3.19.7-1
-efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-version-3.19.8
-efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-debian-version-3.19.8-1
-efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-centos-version-3.19.8-1
-b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-version-3.19.9
-b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-debian-version-3.19.9-1
-b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-centos-version-3.19.9-1
-3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-version-3.19.10
-3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-debian-version-3.19.10-1
-3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-centos-version-3.19.10-1
-1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-version-3.19.11
-1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-debian-version-3.19.11-1
-1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-centos-version-3.19.11-1
-6d265ea7d56fe49e9dff261d3b2caf3c2b6f9409 cubicweb-debian-version-3.19.11-2
-7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-version-3.20.0
-7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-debian-version-3.20.0-1
-7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-centos-version-3.20.0-1
-43eef610ef11673d01750459356aec5a96174ca0 cubicweb-version-3.20.1
-43eef610ef11673d01750459356aec5a96174ca0 cubicweb-debian-version-3.20.1-1
-43eef610ef11673d01750459356aec5a96174ca0 cubicweb-centos-version-3.20.1-1
-138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-version-3.20.2
-138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-debian-version-3.20.2-1
-138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-centos-version-3.20.2-1
-7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-version-3.20.3
-7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-debian-version-3.20.3-1
-7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-centos-version-3.20.3-1
-49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-version-3.20.4
-49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-debian-version-3.20.4-1
-49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-centos-version-3.20.4-1
-51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-version-3.20.5
-51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-debian-version-3.20.5-1
-51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-centos-version-3.20.5-1
-7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-version-3.20.6
-7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-debian-version-3.20.6-1
-7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-centos-version-3.20.6-1
-359d68bc12602c73559531b09d00399f4cbca785 cubicweb-version-3.20.7
-359d68bc12602c73559531b09d00399f4cbca785 cubicweb-debian-version-3.20.7-1
-359d68bc12602c73559531b09d00399f4cbca785 cubicweb-centos-version-3.20.7-1
-1141927b8494aabd16e31b0d0d9a50fe1fed5f2f 3.19.0
-1141927b8494aabd16e31b0d0d9a50fe1fed5f2f debian/3.19.0-1
-1141927b8494aabd16e31b0d0d9a50fe1fed5f2f centos/3.19.0-1
-1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a 3.19.1
-1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a debian/3.19.1-1
1fe4bc4a8ac8831a379e9ebea08d75fbb6fc5c2a centos/3.19.1-1
8ac2202866e747444ce12778ff8789edd9c92eae 3.19.2
+8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-version-3.19.2
8ac2202866e747444ce12778ff8789edd9c92eae debian/3.19.2-1
+8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-debian-version-3.19.2-1
+8ac2202866e747444ce12778ff8789edd9c92eae cubicweb-centos-version-3.19.2-1
8ac2202866e747444ce12778ff8789edd9c92eae centos/3.19.2-1
37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd 3.19.3
+37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-version-3.19.3
37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd debian/3.19.3-1
+37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-debian-version-3.19.3-1
+37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd cubicweb-centos-version-3.19.3-1
37f7c60f89f13dfcf326a4ea0a98ca20d959f7bd centos/3.19.3-1
c4e740e50fc7d371d14df17d26bc42d1f8060261 3.19.4
+c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-version-3.19.4
c4e740e50fc7d371d14df17d26bc42d1f8060261 debian/3.19.4-1
+c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-debian-version-3.19.4-1
c4e740e50fc7d371d14df17d26bc42d1f8060261 centos/3.19.4-1
+c4e740e50fc7d371d14df17d26bc42d1f8060261 cubicweb-centos-version-3.19.4-1
3ac86df519af2a1194cb3fc882d30d0e1bf44e3b 3.19.5
+3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-version-3.19.5
3ac86df519af2a1194cb3fc882d30d0e1bf44e3b debian/3.19.5-1
+3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-debian-version-3.19.5-1
3ac86df519af2a1194cb3fc882d30d0e1bf44e3b centos/3.19.5-1
+3ac86df519af2a1194cb3fc882d30d0e1bf44e3b cubicweb-centos-version-3.19.5-1
934341b848a6874688314d7c154183aca3aed530 3.19.6
+934341b848a6874688314d7c154183aca3aed530 cubicweb-version-3.19.6
934341b848a6874688314d7c154183aca3aed530 debian/3.19.6-1
+934341b848a6874688314d7c154183aca3aed530 cubicweb-debian-version-3.19.6-1
934341b848a6874688314d7c154183aca3aed530 centos/3.19.6-1
+934341b848a6874688314d7c154183aca3aed530 cubicweb-centos-version-3.19.6-1
ac4f5f615597575bec32f8f591260e5a91e53855 3.19.7
+ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-version-3.19.7
ac4f5f615597575bec32f8f591260e5a91e53855 debian/3.19.7-1
+ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-debian-version-3.19.7-1
+ac4f5f615597575bec32f8f591260e5a91e53855 cubicweb-centos-version-3.19.7-1
ac4f5f615597575bec32f8f591260e5a91e53855 centos/3.19.7-1
efc8645ece4300958e3628db81464fef12d5f6e8 3.19.8
+efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-version-3.19.8
efc8645ece4300958e3628db81464fef12d5f6e8 debian/3.19.8-1
+efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-debian-version-3.19.8-1
efc8645ece4300958e3628db81464fef12d5f6e8 centos/3.19.8-1
+efc8645ece4300958e3628db81464fef12d5f6e8 cubicweb-centos-version-3.19.8-1
b7c373d74754f5ba9344575cb179b47282c413b6 3.19.9
+b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-version-3.19.9
b7c373d74754f5ba9344575cb179b47282c413b6 debian/3.19.9-1
+b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-debian-version-3.19.9-1
b7c373d74754f5ba9344575cb179b47282c413b6 centos/3.19.9-1
+b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-centos-version-3.19.9-1
3bab0b9b0ee7355a6fea45c2adca88bffe130e5d 3.19.10
+3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-version-3.19.10
+3bab0b9b0ee7355a6fea45c2adca88bffe130e5d centos/3.19.10-1
+3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-centos-version-3.19.10-1
+3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-debian-version-3.19.10-1
3bab0b9b0ee7355a6fea45c2adca88bffe130e5d debian/3.19.10-1
-3bab0b9b0ee7355a6fea45c2adca88bffe130e5d centos/3.19.10-1
1ae64186af9448dffbeebdef910c8c7391c04313 3.19.11
+1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-version-3.19.11
+1ae64186af9448dffbeebdef910c8c7391c04313 centos/3.19.11-1
+1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-centos-version-3.19.11-1
+1ae64186af9448dffbeebdef910c8c7391c04313 cubicweb-debian-version-3.19.11-1
1ae64186af9448dffbeebdef910c8c7391c04313 debian/3.19.11-1
-1ae64186af9448dffbeebdef910c8c7391c04313 centos/3.19.11-1
+6d265ea7d56fe49e9dff261d3b2caf3c2b6f9409 cubicweb-debian-version-3.19.11-2
6d265ea7d56fe49e9dff261d3b2caf3c2b6f9409 debian/3.19.11-2
5932de3d50bf023544c8f54b47898e4db35eac7c 3.19.12
+5932de3d50bf023544c8f54b47898e4db35eac7c centos/3.19.12-1
5932de3d50bf023544c8f54b47898e4db35eac7c debian/3.19.12-1
-5932de3d50bf023544c8f54b47898e4db35eac7c centos/3.19.12-1
f933a38d7ab5fc6f2ad593fe1cf9985ce9d7e873 3.19.13
+f933a38d7ab5fc6f2ad593fe1cf9985ce9d7e873 centos/3.19.13-1
f933a38d7ab5fc6f2ad593fe1cf9985ce9d7e873 debian/3.19.13-1
-f933a38d7ab5fc6f2ad593fe1cf9985ce9d7e873 centos/3.19.13-1
72a0f70879ac40ea57575be90bc6427f61ce3bd6 3.19.14
+72a0f70879ac40ea57575be90bc6427f61ce3bd6 centos/3.19.14-1
72a0f70879ac40ea57575be90bc6427f61ce3bd6 debian/3.19.14-1
-72a0f70879ac40ea57575be90bc6427f61ce3bd6 centos/3.19.14-1
+7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-version-3.20.0
7e6b7739afe6128589ad51b0318decb767cbae36 3.20.0
-7e6b7739afe6128589ad51b0318decb767cbae36 debian/3.20.0-1
+7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-debian-version-3.20.0-1
+7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-centos-version-3.20.0-1
7e6b7739afe6128589ad51b0318decb767cbae36 centos/3.20.0-1
+7e6b7739afe6128589ad51b0318decb767cbae36 debian/3.20.0-1
43eef610ef11673d01750459356aec5a96174ca0 3.20.1
+43eef610ef11673d01750459356aec5a96174ca0 cubicweb-version-3.20.1
+43eef610ef11673d01750459356aec5a96174ca0 cubicweb-debian-version-3.20.1-1
+43eef610ef11673d01750459356aec5a96174ca0 centos/3.20.1-1
+43eef610ef11673d01750459356aec5a96174ca0 cubicweb-centos-version-3.20.1-1
43eef610ef11673d01750459356aec5a96174ca0 debian/3.20.1-1
-43eef610ef11673d01750459356aec5a96174ca0 centos/3.20.1-1
+138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-version-3.20.2
138464fc1c3397979b729cca3a30bc4481fd1e2d 3.20.2
+138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-debian-version-3.20.2-1
+138464fc1c3397979b729cca3a30bc4481fd1e2d centos/3.20.2-1
+138464fc1c3397979b729cca3a30bc4481fd1e2d cubicweb-centos-version-3.20.2-1
138464fc1c3397979b729cca3a30bc4481fd1e2d debian/3.20.2-1
-138464fc1c3397979b729cca3a30bc4481fd1e2d centos/3.20.2-1
+7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-version-3.20.3
7d3a583ed5392ba528e56ef6902ced5468613f4d 3.20.3
+7d3a583ed5392ba528e56ef6902ced5468613f4d centos/3.20.3-1
+7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-debian-version-3.20.3-1
7d3a583ed5392ba528e56ef6902ced5468613f4d debian/3.20.3-1
-7d3a583ed5392ba528e56ef6902ced5468613f4d centos/3.20.3-1
+7d3a583ed5392ba528e56ef6902ced5468613f4d cubicweb-centos-version-3.20.3-1
+49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-version-3.20.4
49831fdc84dc7e7bed01d5e8110a46242b5ccda6 3.20.4
+49831fdc84dc7e7bed01d5e8110a46242b5ccda6 centos/3.20.4-1
+49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-centos-version-3.20.4-1
+49831fdc84dc7e7bed01d5e8110a46242b5ccda6 cubicweb-debian-version-3.20.4-1
49831fdc84dc7e7bed01d5e8110a46242b5ccda6 debian/3.20.4-1
-49831fdc84dc7e7bed01d5e8110a46242b5ccda6 centos/3.20.4-1
+51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-version-3.20.5
51aa56e7d507958b3326abbb6a31d0e6dde6b47b 3.20.5
-51aa56e7d507958b3326abbb6a31d0e6dde6b47b debian/3.20.5-1
+51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-debian-version-3.20.5-1
51aa56e7d507958b3326abbb6a31d0e6dde6b47b centos/3.20.5-1
+51aa56e7d507958b3326abbb6a31d0e6dde6b47b cubicweb-centos-version-3.20.5-1
+51aa56e7d507958b3326abbb6a31d0e6dde6b47b debian/3.20.5-1
+7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-version-3.20.6
7f64859dcbcdc6394421b8a5175896ba2e5caeb5 3.20.6
+7f64859dcbcdc6394421b8a5175896ba2e5caeb5 centos/3.20.6-1
+7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-centos-version-3.20.6-1
7f64859dcbcdc6394421b8a5175896ba2e5caeb5 debian/3.20.6-1
-7f64859dcbcdc6394421b8a5175896ba2e5caeb5 centos/3.20.6-1
+7f64859dcbcdc6394421b8a5175896ba2e5caeb5 cubicweb-debian-version-3.20.6-1
+359d68bc12602c73559531b09d00399f4cbca785 cubicweb-version-3.20.7
359d68bc12602c73559531b09d00399f4cbca785 3.20.7
359d68bc12602c73559531b09d00399f4cbca785 debian/3.20.7-1
+359d68bc12602c73559531b09d00399f4cbca785 cubicweb-debian-version-3.20.7-1
+359d68bc12602c73559531b09d00399f4cbca785 cubicweb-centos-version-3.20.7-1
359d68bc12602c73559531b09d00399f4cbca785 centos/3.20.7-1
ec284980ed9e214fe6c15cc4cf9617961d88928d 3.20.8
+ec284980ed9e214fe6c15cc4cf9617961d88928d centos/3.20.8-1
ec284980ed9e214fe6c15cc4cf9617961d88928d debian/3.20.8-1
-ec284980ed9e214fe6c15cc4cf9617961d88928d centos/3.20.8-1
d477e64475821c21632878062bf68d142252ffc2 3.20.9
+d477e64475821c21632878062bf68d142252ffc2 centos/3.20.9-1
d477e64475821c21632878062bf68d142252ffc2 debian/3.20.9-1
-d477e64475821c21632878062bf68d142252ffc2 centos/3.20.9-1
8f82e95239625d153a9f1de6e79820d96d9efe8a 3.20.10
8f82e95239625d153a9f1de6e79820d96d9efe8a debian/3.20.10-1
8f82e95239625d153a9f1de6e79820d96d9efe8a centos/3.20.10-1
@@ -512,8 +512,8 @@
c44930ac9579fe4d526b26892954e56021af18be debian/3.20.11-1
c44930ac9579fe4d526b26892954e56021af18be centos/3.20.11-1
03e8fc9f79a6e489a1b5c695eb0cd3fbb1afe9d4 3.20.12
+03e8fc9f79a6e489a1b5c695eb0cd3fbb1afe9d4 centos/3.20.12-1
03e8fc9f79a6e489a1b5c695eb0cd3fbb1afe9d4 debian/3.20.12-1
-03e8fc9f79a6e489a1b5c695eb0cd3fbb1afe9d4 centos/3.20.12-1
8c5dabbcd4d9505c3a617f9dbe2b10172bdc2b3a 3.20.13
8c5dabbcd4d9505c3a617f9dbe2b10172bdc2b3a debian/3.20.13-1
8c5dabbcd4d9505c3a617f9dbe2b10172bdc2b3a centos/3.20.13-1
@@ -521,40 +521,44 @@
f66a4895759e0913b1203943fc2cd7be1a821e05 debian/3.20.14-1
f66a4895759e0913b1203943fc2cd7be1a821e05 centos/3.20.14-1
636a83e65870433c2560f3c49d55ca628bc96e11 3.20.15
+636a83e65870433c2560f3c49d55ca628bc96e11 centos/3.20.15-1
636a83e65870433c2560f3c49d55ca628bc96e11 debian/3.20.15-1
-636a83e65870433c2560f3c49d55ca628bc96e11 centos/3.20.15-1
+e60a8e5d29ef003eb78538a0d2ce083eebac7bfd 3.20.16
+e60a8e5d29ef003eb78538a0d2ce083eebac7bfd centos/3.20.16-1
+e60a8e5d29ef003eb78538a0d2ce083eebac7bfd debian/3.20.16-1
887c6eef807781560adcd4ecd2dea9011f5a6681 3.21.0
+887c6eef807781560adcd4ecd2dea9011f5a6681 centos/3.21.0-1
887c6eef807781560adcd4ecd2dea9011f5a6681 debian/3.21.0-1
-887c6eef807781560adcd4ecd2dea9011f5a6681 centos/3.21.0-1
a8a0de0298a58306d63dbc998ad60c48bf18c80a 3.21.1
+a8a0de0298a58306d63dbc998ad60c48bf18c80a centos/3.21.1-1
a8a0de0298a58306d63dbc998ad60c48bf18c80a debian/3.21.1-1
-a8a0de0298a58306d63dbc998ad60c48bf18c80a centos/3.21.1-1
a5428e1ab36491a8e6d66ce09d23b708b97e1337 3.21.2
a5428e1ab36491a8e6d66ce09d23b708b97e1337 debian/3.21.2-1
a5428e1ab36491a8e6d66ce09d23b708b97e1337 centos/3.21.2-1
9edfe9429209848e31d1998df48da7a84db0c819 3.21.3
+9edfe9429209848e31d1998df48da7a84db0c819 centos/3.21.3-1
9edfe9429209848e31d1998df48da7a84db0c819 debian/3.21.3-1
-9edfe9429209848e31d1998df48da7a84db0c819 centos/3.21.3-1
d3b92d3a7db098b25168beef9b3ee7b36263a652 3.21.4
+d3b92d3a7db098b25168beef9b3ee7b36263a652 centos/3.21.4-1
d3b92d3a7db098b25168beef9b3ee7b36263a652 debian/3.21.4-1
-d3b92d3a7db098b25168beef9b3ee7b36263a652 centos/3.21.4-1
e0572a786e6b4b0965d405dd95cf5bce754005a2 3.21.5
e0572a786e6b4b0965d405dd95cf5bce754005a2 debian/3.21.5-1
e0572a786e6b4b0965d405dd95cf5bce754005a2 centos/3.21.5-1
228b6d2777e44d7bc158d0b4579d09960acea926 debian/3.21.5-2
b3cbbb7690b6e193570ffe4846615d372868a923 3.21.6
+b3cbbb7690b6e193570ffe4846615d372868a923 centos/3.21.6-1
b3cbbb7690b6e193570ffe4846615d372868a923 debian/3.21.6-1
-b3cbbb7690b6e193570ffe4846615d372868a923 centos/3.21.6-1
de472896fc0a18d6b831e6fed0eeda5921ec522c 3.22.0
+de472896fc0a18d6b831e6fed0eeda5921ec522c centos/3.22.0-1
de472896fc0a18d6b831e6fed0eeda5921ec522c debian/3.22.0-1
-de472896fc0a18d6b831e6fed0eeda5921ec522c centos/3.22.0-1
d0d86803a804854be0a1b2d49079a94d1c193ee9 3.22.1
d0d86803a804854be0a1b2d49079a94d1c193ee9 debian/3.22.1-1
d0d86803a804854be0a1b2d49079a94d1c193ee9 centos/3.22.1-1
1b93ff37755b0588081f6fcb93da0dde772a6adb 3.22.2
+1b93ff37755b0588081f6fcb93da0dde772a6adb centos/3.22.2-1
1b93ff37755b0588081f6fcb93da0dde772a6adb debian/3.22.2-1
-1b93ff37755b0588081f6fcb93da0dde772a6adb centos/3.22.2-1
b1e7de00053628968ea364ee9044fb4f8714fb50 3.22.3
+b1e7de00053628968ea364ee9044fb4f8714fb50 centos/3.22.3-1
b1e7de00053628968ea364ee9044fb4f8714fb50 debian/3.22.3-1
b1e7de00053628968ea364ee9044fb4f8714fb50 centos/3.22.3-1
93b0f836cb075df970236b14f2128478c8b4bcbc 3.23.0
@@ -569,3 +573,9 @@
8f035d5d595301a335e005516c5ab1b124897d8c 3.23.1
8f035d5d595301a335e005516c5ab1b124897d8c centos/3.23.1-1
8f035d5d595301a335e005516c5ab1b124897d8c debian/3.23.1-1
+92db0bb8e26d2c82d3b096f29079ba73c00bad65 3.22.4
+92db0bb8e26d2c82d3b096f29079ba73c00bad65 debian/3.22.4-1
+92db0bb8e26d2c82d3b096f29079ba73c00bad65 centos/3.22.4-1
+8b287ad7b95bbd3b30914b3e98c26b5bb789b9bf 3.23.2
+8b287ad7b95bbd3b30914b3e98c26b5bb789b9bf centos/3.23.2-1
+8b287ad7b95bbd3b30914b3e98c26b5bb789b9bf debian/3.23.2-1
--- a/cubicweb/cwconfig.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/cwconfig.py Thu Oct 20 18:28:46 2016 +0200
@@ -368,8 +368,8 @@
quick_start = False
if 'VIRTUAL_ENV' in os.environ:
+ mode = _forced_mode or 'user'
_CUBES_DIR = join(_INSTALL_PREFIX, 'share', 'cubicweb', 'cubes')
- mode = 'user'
elif CWDEV and _forced_mode != 'system':
mode = 'user'
_CUBES_DIR = join(CW_SOFTWARE_ROOT, '../../cubes')
@@ -1182,6 +1182,9 @@
except OSError as ex:
self.warning('error while creating %s directory: %s', path, ex)
return
+ self.ensure_uid(path)
+
+ def get_uid(self):
if self['uid']:
try:
uid = int(self['uid'])
@@ -1193,22 +1196,37 @@
uid = os.getuid()
except AttributeError: # we are on windows
return
+ return uid
+
+ def ensure_uid(self, path, enforce_write=False):
+ if not exists(path):
+ return
+ uid = self.get_uid()
+ if uid is None:
+ return
fstat = os.stat(path)
if fstat.st_uid != uid:
- self.info('giving ownership of %s directory to %s', path, self['uid'])
+ self.info('giving ownership of %s to %s', path, self['uid'])
try:
os.chown(path, uid, os.getgid())
except OSError as ex:
- self.warning('error while giving ownership of %s directory to %s: %s',
+ self.warning('error while giving ownership of %s to %s: %s',
path, self['uid'], ex)
- if not (fstat.st_mode & stat.S_IWUSR):
- self.info('forcing write permission on directory %s', path)
+
+ if enforce_write and not (fstat.st_mode & stat.S_IWUSR):
+ self.info('forcing write permission on %s', path)
try:
os.chmod(path, fstat.st_mode | stat.S_IWUSR)
except OSError as ex:
- self.warning('error while forcing write permission on directory %s: %s',
+ self.warning('error while forcing write permission on %s: %s',
path, ex)
- return
+
+ def ensure_uid_directory(self, path, enforce_write=False):
+ self.check_writeable_uid_directory(path)
+ for dirpath, dirnames, filenames in os.walk(path):
+ for name in filenames:
+ self.ensure_uid(join(dirpath, name), enforce_write)
+ return path
@cached
def instance_md5_version(self):
--- a/cubicweb/dataimport/csv.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/dataimport/csv.py Thu Oct 20 18:28:46 2016 +0200
@@ -33,6 +33,7 @@
else:
f = stream_or_filename
f.seek(0)
+ i = 0 # useful is f is an empty file
for i, line in enumerate(f):
pass
f.seek(0)
--- a/cubicweb/misc/migration/3.23.0_Any.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/misc/migration/3.23.0_Any.py Thu Oct 20 18:28:46 2016 +0200
@@ -11,6 +11,24 @@
source = repo.system_source
helper = source.dbhelper
+# drop all relations primary keys
+for table, cstr in sql('''
+ SELECT DISTINCT tc.table_name, tc.constraint_name
+ FROM information_schema.table_constraints tc,
+ information_schema.key_column_usage kc
+ WHERE tc.constraint_type IN 'PRIMARY KEY'
+ AND kc.table_name = tc.table_name
+ AND kc.table_name LIKE '%\_relation'
+ AND kc.table_schema = tc.table_schema
+ AND kc.constraint_name = tc.constraint_name;
+'''):
+ sql('ALTER TABLE %s DROP CONSTRAINT' % (table, cstr))
+
+for table, cstr in sql("""
+ SELECT DISTINCT table_name, constraint_name FROM information_schema.constraint_column_usage
+ WHERE table_name LIKE 'cw\_%' AND constraint_name LIKE '%\_key'"""):
+ sql("ALTER TABLE %(table)s DROP CONSTRAINT %(cstr)s" % locals())
+
for rschema in schema.relations():
if rschema.rule or rschema in PURE_VIRTUAL_RTYPES:
continue
@@ -20,7 +38,7 @@
column = 'cw_{0}'.format(rdef.rtype)
if any(isinstance(cstr, UniqueConstraint) for cstr in rdef.constraints):
old_name = '%s_%s_key' % (table.lower(), column.lower())
- sql('ALTER TABLE %s DROP CONSTRAINT IF EXISTS %s' % (table, old_name))
+ sql('ALTER TABLE %s DROP CONSTRAINT %s' % (table, old_name))
source.create_index(cnx, table, column, unique=True)
if rschema.inlined or rdef.indexed:
old_name = '%s_%s_idx' % (table.lower(), column.lower())
@@ -28,7 +46,6 @@
source.create_index(cnx, table, column)
else:
table = '{0}_relation'.format(rschema)
- sql('ALTER TABLE %s DROP CONSTRAINT IF EXISTS %s_p_key' % (table, table))
sql('ALTER TABLE %s ADD CONSTRAINT %s PRIMARY KEY(eid_from, eid_to)'
% (table, build_index_name(table, ['eid_from', 'eid_to'], 'key_')))
for column in ('from', 'to'):
@@ -36,13 +53,12 @@
sql('CREATE INDEX %s ON %s(eid_%s);'
% (build_index_name(table, ['eid_' + column], 'idx_'), table, column))
-
# we changed constraint serialization, which also changes their name
for table, cstr in sql("""
- SELECT table_name, constraint_name FROM information_schema.constraint_column_usage
+ SELECT DISTINCT table_name, constraint_name FROM information_schema.constraint_column_usage
WHERE constraint_name LIKE 'cstr%'"""):
- sql("ALTER TABLE %(table)s DROP CONSTRAINT IF EXISTS %(cstr)s" % locals())
+ sql("ALTER TABLE %(table)s DROP CONSTRAINT %(cstr)s" % locals())
for cwconstraint in rql('Any C WHERE R constrained_by C').entities():
cwrdef = cwconstraint.reverse_constrained_by[0]
--- a/cubicweb/server/test/unittest_ldapsource.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/server/test/unittest_ldapsource.py Thu Oct 20 18:28:46 2016 +0200
@@ -44,10 +44,6 @@
user-attrs-map=uid=login,mail=email,userPassword=upassword
group-attrs-map=cn=name,memberUid=member
'''
-CONFIG_LDAPUSER = u'''
-user-base-dn=ou=People,dc=cubicweb,dc=test
-user-attrs-map=uid=login,mail=email,userPassword=upassword
-'''
URL = None
@@ -315,6 +311,24 @@
self.assertTrue(str(pwd))
+class LDAPGeneratePwdTC(LDAPFeedTestBase):
+ """
+ A testcase for password generation on CWUser when none is imported
+ """
+
+ def setup_database(self):
+ with self.admin_access.repo_cnx() as cnx:
+ lfsource = cnx.repo.sources_by_uri['ldap']
+ del lfsource.user_attrs['userPassword']
+ super(LDAPGeneratePwdTC, self).setup_database()
+
+ def test_no_password(self):
+ with self.admin_access.repo_cnx() as cnx:
+ cu = cnx.system_sql("SELECT cw_upassword FROM cw_cwuser WHERE cw_login='syt';")
+ pwd = cu.fetchall()[0][0]
+ self.assertTrue(pwd)
+
+
class LDAPFeedUserDeletionTC(LDAPFeedTestBase):
"""
A testcase for situations where users are deleted from or
--- a/cubicweb/sobjects/ldapparser.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/sobjects/ldapparser.py Thu Oct 20 18:28:46 2016 +0200
@@ -25,7 +25,7 @@
from logilab.common.decorators import cached, cachedproperty
from logilab.common.shellutils import generate_password
-from cubicweb import Binary, ConfigurationError
+from cubicweb import ConfigurationError
from cubicweb.server.utils import crypt_password
from cubicweb.server.sources import datafeed
from cubicweb.dataimport import stores, importer
@@ -149,7 +149,7 @@
# generate a dumb password if not fetched from ldap (see
# userPassword)
pwd = crypt_password(generate_password())
- attrs['upassword'] = set([Binary(pwd)])
+ attrs['upassword'] = set([pwd])
extuser = importer.ExtEntity('CWUser', userdict['dn'].encode('ascii'), attrs)
extuser.values['owned_by'] = set([extuser.extid])
for extemail in self._process_email(extuser, userdict):
--- a/cubicweb/web/captcha.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/web/captcha.py Thu Oct 20 18:28:46 2016 +0200
@@ -41,24 +41,24 @@
adapted from http://code.activestate.com/recipes/440588/
"""
# randomly select the foreground color
- fgcolor = randint(0, 0xffff00)
- # make the background color the opposite of fgcolor
- bgcolor = fgcolor ^ 0xffffff
+ fgcolor = (randint(100, 256), randint(100, 256), randint(100, 256))
# create a font object
font = ImageFont.truetype(fontfile, fontsize)
# determine dimensions of the text
dim = font.getsize(text)
# create a new image slightly larger that the text
- img = Image.new('RGB', (dim[0]+5, dim[1]+5), bgcolor)
+ img = Image.new('RGB', (dim[0]+15, dim[1]+5), 0)
draw = ImageDraw.Draw(img)
# draw 100 random colored boxes on the background
x, y = img.size
for num in range(100):
+ fill = (randint(0, 100), randint(0, 100), randint(0, 100))
draw.rectangle((randint(0, x), randint(0, y),
randint(0, x), randint(0, y)),
- fill=randint(0, 0xffffff))
+ fill=fill)
# add the text to the image
- draw.text((3, 3), text, font=font, fill=fgcolor)
+ # we add a trailing space to prevent the last char to be truncated
+ draw.text((3, 3), text + ' ', font=font, fill=fgcolor)
img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)
return img
--- a/cubicweb/web/propertysheet.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/web/propertysheet.py Thu Oct 20 18:28:46 2016 +0200
@@ -1,4 +1,4 @@
-# copyright 2010 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
+# copyright 2010-2016 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of CubicWeb.
@@ -29,10 +29,12 @@
('STYLESHEETS_IE', list), ('STYLESHEETS_PRINT', list),
]
+
class lazystr(object):
def __init__(self, string, context):
self.string = string
self.context = context
+
def __str__(self):
return self.string % self.context
@@ -105,7 +107,12 @@
tmpfd, tmpfile = tempfile.mkstemp(dir=rcachedir, prefix=osp.basename(cachefile))
with os.fdopen(tmpfd, 'w') as stream:
stream.write(content)
- os.rename(tmpfile, cachefile)
+ try:
+ os.rename(tmpfile, cachefile)
+ except IOError:
+ # Under windows, os.rename won't overwrite an existing file
+ os.unlink(cachefile)
+ os.rename(tmpfile, cachefile)
adirectory = self._cache_directory
return adirectory
--- a/cubicweb/web/request.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/web/request.py Thu Oct 20 18:28:46 2016 +0200
@@ -229,7 +229,7 @@
varmaker = self.get_page_data('rql_varmaker')
if varmaker is None:
varmaker = rqlvar_maker()
- self.set_page_data('rql_varmaker', varmaker)
+ self.set_page_data('rql_varmaker', varmaker)
return varmaker
# input form parameters management ########################################
--- a/cubicweb/web/webconfig.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/web/webconfig.py Thu Oct 20 18:28:46 2016 +0200
@@ -355,7 +355,9 @@
warn('[3.20] cubicweb.old.css has been renamed back to cubicweb.css',
DeprecationWarning)
rid = 'cubicweb.css'
- return self.uiprops.process_resource(join(directory, rdirectory), rid), rid
+ return self.ensure_uid_directory(
+ self.uiprops.process_resource(
+ join(directory, rdirectory), rid)), rid
return join(directory, rdirectory), rid
def locate_all_files(self, rid, rdirectory='wdoc'):
@@ -462,13 +464,14 @@
if rdir:
staticdir = join(staticdir, rdir)
if not isdir(staticdir) and 'w' in mode:
- os.makedirs(staticdir)
+ self.check_writeable_uid_directory(staticdir)
return open(join(staticdir, filename), mode)
def static_file_add(self, rpath, data):
stream = self.static_file_open(rpath)
stream.write(data)
stream.close()
+ self.ensure_uid(rpath)
def static_file_del(self, rpath):
if self.static_file_exists(rpath):
--- a/cubicweb/web/webctl.py Thu Oct 20 18:45:40 2016 +0200
+++ b/cubicweb/web/webctl.py Thu Oct 20 18:28:46 2016 +0200
@@ -78,6 +78,7 @@
for dirpath, dirnames, filenames in os.walk(datadir):
rel_dirpath = dirpath[len(datadir)+1:]
resources.update(osp.join(rel_dirpath, f) for f in filenames)
+
# locate resources and copy them to destination
for resource in resources:
dest_resource = osp.join(dest, resource)
@@ -88,6 +89,8 @@
copy(osp.join(resource_dir, resource_path), dest_resource)
# handle md5 version subdirectory
linkdir(dest, osp.join(dest, config.instance_md5_version()))
+ # ensure generated files are owned by configured uid
+ config.ensure_uid_directory(dest)
print('You can use apache rewrite rule below :\n'
'RewriteRule ^/data/(.*) %s/$1 [L]' % dest)
--- a/debian/changelog Thu Oct 20 18:45:40 2016 +0200
+++ b/debian/changelog Thu Oct 20 18:28:46 2016 +0200
@@ -1,3 +1,9 @@
+cubicweb (3.23.2-1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- Sylvain Thenault <sylvain.thenault@logilab.fr> Wed, 19 Oct 2016 19:21:09 +0200
+
cubicweb (3.23.1-1) unstable; urgency=medium
* new upstream release.
@@ -10,6 +16,12 @@
-- Denis Laxalde <denis.laxalde@logilab.fr> Thu, 23 Jun 2016 16:28:39 +0200
+cubicweb (3.22.4-1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- David Douard <david.douard@logilab.fr> Thu, 21 Jul 2016 21:02:14 +0200
+
cubicweb (3.22.3-1) unstable; urgency=medium
* New upstream release.
@@ -82,6 +94,12 @@
-- Julien Cristau <julien.cristau@logilab.fr> Fri, 10 Jul 2015 17:04:11 +0200
+cubicweb (3.20.16-1) unstable; urgency=medium
+
+ * new upstream release
+
+ -- David Douard <david.douard@logilab.fr> Tue, 19 Jul 2016 12:48:45 +0200
+
cubicweb (3.20.15-1) unstable; urgency=medium
* new upstream release
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/debian/source.lintian-overrides Thu Oct 20 18:28:46 2016 +0200
@@ -0,0 +1,1 @@
+cubicweb source: source-is-missing cubicweb/web/data/jquery.flot.js line length is * characters (>512)
--- a/doc/changes/3.23.rst Thu Oct 20 18:45:40 2016 +0200
+++ b/doc/changes/3.23.rst Thu Oct 20 18:28:46 2016 +0200
@@ -62,4 +62,14 @@
`logilab.common.testlib.TestCase`) is no longer available.
+Development
+-----------
+
+When installed within a virtualenv, CubicWeb will look for instances data as
+in ``user`` mode by default, that is in ``$HOME/etc/cubicweb.d``, as opposed
+to ``$VIRTUAL_ENV/etc/cubicweb.d`` previously. To restore this behavior,
+explicitly set ``CW_MODE`` to ``system``. Alternatively (and preferably), the
+``CW_INSTANCES_DIR`` environment variables may be used to specify instances
+data location.
+
.. _subtests: https://docs.python.org/3/library/unittest.html#distinguishing-test-iterations-using-subtests