Accepting request 223274 from home:AndreasStieger:branches:devel:tools:scm:svn
Apache Subversion 1.8.8 OBS-URL: https://build.opensuse.org/request/show/223274 OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm:svn/subversion?expand=0&rev=165
This commit is contained in:
parent
5a17d84723
commit
6db5e36bcc
9
_constraints
Normal file
9
_constraints
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="M">768</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</constraints>
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd522bf1ecda1c09426ed6c436f0744ab95c31702b0904add089864c73ee7564
|
||||
size 6881572
|
@ -1,93 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQIcBAABCgAGBQJShYJ6AAoJEGLUj60WoN4B7GUQAIDYngOzNjzoV1ZL+gVAO3gf
|
||||
ZlqWl+7OUhnM3AahPhsDcrNjZ2CBEsdgvFLLqEyP5tKZFPOi6Jgy5EccZcHlie1F
|
||||
fMDaaXrqB8u5sOP1LLdE3lnQdOQuXV2oIamDRLRxLTJlJLhRHi7Y4RMUhzUuuGII
|
||||
L2l9XWZ0sCElY5P2Ca1e0fDVxEAIsfPDB6R1BZlBI/gH3n7WhKkmusnHSjtl9FzV
|
||||
nOJIyu87oax/Vd0tum5tNr5NP0P04ml+FWhLAM9CmYoEkA/cQMR2LgMu8HbRm8IL
|
||||
HTHXqvVGQ0SYROTx3hvHEBvAfpFnX5RyzdKvVItr8ZgTSM2LaXxm2U4AyZP3mel5
|
||||
/tpSHvyXdm3z75s8rcpWgdyfGnuwH8Kpo7SfcAIi4D/z4Oheh508OxUZpRG+iW9w
|
||||
ajvkRLnMS6O+WlMCxfa3+cJGRjLnk23JQE3iF5yj4SLu/02hsOWmvr1pDTMXGvdw
|
||||
kIeiGB6ZfZcdJsjE8QKhlG+SAbKErXGwrNugJqWA9M+AB3KcVJi715IwTcL2nnwP
|
||||
w8jcxypy8qd5afv0W9TlNlN+wjw7HeQwa1+gOIm4yra2d9MlX0BPbtfhk+FxeUHy
|
||||
LHYcE8vH8ls2AwxX21sLoM7e0Uw8x/D5NrTtDaHCgV21FtKolXMtASmRxCMLDAMU
|
||||
AVrt7eBDhtBuxkA8V/KW
|
||||
=UM+F
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.14 (GNU/Linux)
|
||||
|
||||
iQIcBAABAgAGBQJShlnuAAoJEJnsdBtXkhrM/ikP+gKSYB7KC/qcfRbZS4/VugjB
|
||||
zolKwiKeW7RgAQHmiy+o6OROTGglvM06sY32rRxHL0Yy2wCH7oO+B7/3GQM0oBET
|
||||
bDMJVhfmsU/9AOoZ7L22HOL1x/VgC1/9u7o45wHjTDABYWECK4XjYixOq8Cs1tyF
|
||||
+3ALwEYucNx/rwC7UoI9SaDB3qQI3UKp2a6Qvy+fQ/4IK5hYIis4COYCDZgb015M
|
||||
2Mv1o54tGNU8gzIx/p9b0T3J2GrxMf/P9tC6crE3HTbdLVa9fvKYMZqYoHvKyYsh
|
||||
87zGfoUYoVfANx8eWeFeyvrZpaa1i3XT9PULD1Lp9s/XeD1s+KFEqDS+fhQaObYF
|
||||
tW2Q4pleMbbzZ74OObgjCHH4AJSIWYA1dGlgzKPKJOKHU9rKtt1lFUztQfr4SuNZ
|
||||
km1RAdDz4wPYua/ZfMwS917WKNyFtMoQqck6OHyd88TWWbEfVbpokh3aR5bR84Hn
|
||||
vN403Xn6pEYeJUpPG7bFygQodqeJM2vilVSE9VoCXTJ0toXgcfB2dFEJypRGmwZF
|
||||
kn914/01mGRmazgyOrx3HGZ1uxBfa1v09zve+Ndv0UQ5rI7R1XCVABvb7+mWzs46
|
||||
AJu6QByr6HJIX2pC8A60TqJCdzLoRziLysDApIVVmtD8hu9lhzD4fiSjgtAWJB0W
|
||||
n+txESGTXiMKbq2O2s/K
|
||||
=2ap9
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQIcBAABCgAGBQJSiRLMAAoJEBvKZYajR5Q/SgUP/3waXR4ZomAj3MRllQ9xzh2c
|
||||
ZcR7lpTbhd3PbxUHB/6JHwBF8VgYPxo0O9FQC4+Cueqve6W7BDozm3p5j0UZh0fl
|
||||
pYA8eiGmmCmeiv6fqKsUASa2obGRHDyqLwWlJPu7D6hrH6iMr2cIzKnJrvjycglG
|
||||
C3NcIi85CxxbBxuoG0aY/vIB7pioJI3pRpy3Hy/kyHWXDfU73SQTVmg8Ii5XrTz3
|
||||
30/xmBb7OMxIvCe3eWcYWWCN8rtM7+se5KuMGf4HlEBfExm/EY8Mj8jFG6ZgXKUN
|
||||
dURDGbnaZb/+2O7/+SIje9Kcbfp4FbEA/xbZ/+37eEEN38gG0HFIXLsMmO4y55Gy
|
||||
zzFTls+3zTS3kEeq8Cwjm20T2VlEVUFATSiANQ49YrP9D0FSFi7nqL1MdO0FPNm4
|
||||
hHBhB8SVXUsRX05fniZRGrD9hgMyJrsC2GTWMq/8OzTNijybl6KKRlzg8RCSYP8i
|
||||
Q4IH1eMLJwLzpoggCveFP8uMsGFrWiRHqWeP8bcQXlzK43QOpMRUx42kB82qcUzS
|
||||
zxhXh/Rgu68nZpCrL7WqY3mzWvutyfKIvK7iOzByXtNknt9bXEb1zQkRzNnDOanP
|
||||
eTORGhO8oK32POW3jiGuZ57RIp40R1OHPdFEzbsk4P/5J5URZdXja1HRhUatob0f
|
||||
iui3Ee5b5wEXig8/9wka
|
||||
=S1ol
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQEcBAABCgAGBQJSiRL0AAoJECm4ktDIYoUB9V8H/0PaBIUNIdTzeN7SsznVZg6z
|
||||
Q2O9Buk1X97HwBixxMGfdaViH0OZG2p97nPXJgNomDjV1puhcDXHdFtM8N137Hdi
|
||||
jYBiGh8BXRS4e33/6AiGKYZZQ0e1riADhqXEY0FgiiR5AXEed1zpyJyGlFLIfzK6
|
||||
/jqV0wLCYO6hcpROxzfsJY4YX97iqLtDveedbB7HaA9riZ5xlkIiRdt44j1FJJkx
|
||||
qN/p/LFlxFl2vUNacQHLY3fHY09XS78KI7gpLM1rbXSAx79cxqPcMSpw14YRLyta
|
||||
cyuj7M2Lkbb/eRBuwoXt7ROjsODrP1OsWSmm1rGftDwYaRpTrqIYvqwlZyJ9ICA=
|
||||
=KpLh
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||
|
||||
iQEcBAABCAAGBQJSijlfAAoJEHbXiOHtGlmcdkoH/jySpfY0TE+MqrdJCLoG24Bs
|
||||
EBM4DOX1OAsHmY3/WxqViRllZxIBpTUSqlHC6XXVi9FAVp2Bwj/Raw3hOi6TtegY
|
||||
KpZQ53KCBPmepQBThUAWyosqVWOr0TItOfDxS7o6U/XQmB3cF/Z2oYFWjfvF+DdM
|
||||
/guMrzzLnUJN0Q5ReeYezzLNraG4Zf20CRtQ3PV47WpK6MIs/vXImoVyr4jtApwY
|
||||
Xnv0aL64liPuDY4RQSGZrGQjb/xyky0+FmziDrK5h+4ykC4y7lMGRNvky+hQU5p/
|
||||
5J3WSwRlro3zP2xmY7gW2s8l2T8+paoW2fFEs617I/cA2y/s+9VTcrBg1hwy41s=
|
||||
=oLcM
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
iQIcBAABCAAGBQJSjdDgAAoJEB+wZLhO7MSTLzIQAIF1IMbZiJW/fD68or6wYcte
|
||||
OVysoNODy5/KpgovgsUq917BpDSg/pG63M4zo6H4MHXUrPiHub2zDJp7QsaqXK0C
|
||||
HNIgx3NJ3jyaDerrrvwQkzMgBZkwH7Jq4g/j9mkGW7bJ2+JErbPDkmkVM4BpcC2E
|
||||
1DdDDbLxCQf3KiBaz5s4Rx3cp/ZmTkKUvJU0MrCTZpVL83d8iNjEK6yO83z3NAGf
|
||||
gtjaI6qGQhlpsbd9yCmJjIr31V2w6KkYmDZ/gxkg/ySflJ2gIAN6suR3Y93c89Dg
|
||||
JEQl7gUQ9KvyKblQXPS/Q51UMKLQu4YcrjT+g3FqeOVZAqZ+jdiGBMblVeKkCyNB
|
||||
YmtLXrvpcB8Qj3oR88avvQ5mSfWNfDTJ2rTV/t2/eTfVOH13x/gfwVBBEiHBoPE7
|
||||
d7gH+a3irl3k1j0yO0J6Q1WgX98HMJWK2sR3/SpV0aKNGfYXByQ1MV3ViHpuE4f1
|
||||
zJO51isBgiVANiRTRx1oQUVEEA7CeqZpLjm8ca3fUAHqgY5tujpJL/tOJPA+nm6/
|
||||
Zir5SNNfIuWZzX3ZNg0BhThuQbFhezkiLAVMUUJ7Fi5hC6zDTwMXns1gebIq2RY1
|
||||
Pt/fkAT+MkVV7hnPlbWM/zng9fG+pxCTnpR5tyfmyCa2nPNqHVAmrKc0mxgn45Gh
|
||||
sv1uzhqhtIfqAXYVVZeH
|
||||
=FfmI
|
||||
-----END PGP SIGNATURE-----
|
3
subversion-1.8.8.tar.bz2
Normal file
3
subversion-1.8.8.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1569931cd85ae27052895554bc14125e0795d7a17d3e4a7c2aceb7289be71db3
|
||||
size 6821200
|
110
subversion-1.8.8.tar.bz2.asc
Normal file
110
subversion-1.8.8.tar.bz2.asc
Normal file
@ -0,0 +1,110 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQIcBAABCgAGBQJS/VfiAAoJEGLUj60WoN4BNtcQAKK7SnArQnpUgDVQ6scA7zc0
|
||||
bV23nxDqEEKMAblB+P/Jms/kKDjC//33PGUOxx0o6hmP+8Dze+zbbk11DRgvKPHQ
|
||||
+Jr209k2bRC7Wbp/NUrTfLwQV1HNjx17/vya/vbspXRcAXTc4zpCWkSy+/TPbiyh
|
||||
m21C3+E4W1YsKhnrSrcWozTQn+XAWccYNiDmc6mzu0XTyxYVWsCg+qxnNAq+mS1l
|
||||
wsC1Kvkm1DGbSHCCgocPop+Woq8GT2p7JV1T5/jE4iLlXCo17cGOG3gSUCqbzKU3
|
||||
TCBz8soSrP7w9RbDqxDlaSifjZuBo31OYx3r68CtF63tRvUkjojZTHcVRjk6EqxQ
|
||||
ysCUUnfYqsouJwJiOO3ez0LsTIexVJASgsEvv4S5KzXEo/McmKSp/JubvaH6qmTp
|
||||
n0dA5PyuwoAt5ufUYZ5DFjAmVZXjtMHE7hPWAoX7hepfFVE7EodMslo1ffWwlOr6
|
||||
xN9BJc7mIJbcdf0cEca7Vak49HPFYndNXOwgdW+VQe0oRPEAsaZulZMMfhAi95SX
|
||||
NqgHxF2afJkvGUUtLtnHyuyoyG1CSQ8taMZ9M+zUzw0uu/vE2KTwj2N8FnWLqthr
|
||||
prHU5wpf0TXS+kA1WhTYADTJG/P/ZZAQJpGfbAA8sjj+ZmeYjY1h5ubtyGhrQ7Bz
|
||||
nXc9B1r3AYAG9lPgUDaA
|
||||
=yIev
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||
|
||||
iQEcBAABCAAGBQJS/gFOAAoJEHbXiOHtGlmc02oH/RRkG310NDQsKF22BdKZeokN
|
||||
KZ2zX3FbJc3v+4ExqP0kJ2YtZ03n9V09VG4ymqaEjoZzjHnkeVYRcgqd9jCldU46
|
||||
C4E0iH5DZOOQ2JtGEhDHzThCnuEt/IzlC04U6ErCCAdyqemDjiSe43MPq0cKpVFJ
|
||||
qczO2CPE4bPyWcNfYmfp97nNq6d9Je6cesqkWvc3oPaI1C3JgHwu4OFAy7NKYRUD
|
||||
3P+SyDZMeztzyGcVAwNiWlzFxxOyE7B/cA4MCjt2cHN9Vf9L6nAmNh02EddltdeR
|
||||
SBNLXnfXmNhDTT21mf4dN693dKy8oCPgBEiCN1Ehj9e4YkX58fith97pxdcxsSM=
|
||||
=AvzE
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.14 (GNU/Linux)
|
||||
|
||||
iQIcBAABAgAGBQJS/m0EAAoJEJnsdBtXkhrMu5UP/3Z01NZeSYDkbwHibr8uH2dh
|
||||
0ojZSdeOC46nfhWv/9qF3y0fa0Y9QASMCS4Q8G5kgYbQHQ0vQwmhGrhtjLT05uIL
|
||||
06dvqeDWg8LLfGbqODF8fYuQF+uIZ6z1+v+zl3pqG1BCB5e5X9F2K9C5yojD5ApC
|
||||
BH9Icd/9ZxJdwfPouCMRv5QzSrCS+2nBMjmw5gP/D1MHNoa4zV5wDaBWvEnAUjIq
|
||||
tQPwkTzLqtaGlsQmUGxW7VEuOsD5kM8B+5w6KZu3as1cGrwskUXEns+h3kkZzRCB
|
||||
/7w7IsQm5zn4qmweJwzmv7R+pkdxh6vgxJByByk/zXssRN8LXvh7VYL/JXNJMlub
|
||||
QcQv8N3Y+Ia39R/nv23VqVQpkvBfCsqBcPAo6TX4ozr1NOwR8deLNNHpg8TSuj3J
|
||||
5xWJkpSZzQOZUDmatSBdgHjc7fRzGZtX0oULZVAuvE9U8w1vGWv+NtxorKWXnfGN
|
||||
MoiY2qZBGSrY/oeeqy7TRV3MjV+VT2ELG51RyTE+pdHArf+nTUxZq5JY5i9HMSr5
|
||||
9Js9SHwyOP8N4Hlf4HMH2CAWkCwvsA/MOxqMTZgzgXnw/yFW/zLsu3SuixDbU8Dy
|
||||
F9JTaaOCjQdXpR0FrbkFNIhkNibjxsThaCA+eTSRqBk5VZHcajQx919yTHXa7qsx
|
||||
spLjcOZuVD8BK2TvonzO
|
||||
=uliA
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQEcBAABCgAGBQJTAL2/AAoJECm4ktDIYoUBoUoIAI+uqQ/ZYrtY2MkBbyNq+lzX
|
||||
rKqwuzMKsn1eS8Za8zkbvmRcL6ZFiI4grLaDpHBVAlsmW+U+PtpGb9iubJ1vglki
|
||||
JWI+zXvtFiyBjF1AJ7XnjJuHco8ejcQ/D6DTQYz/S0cft+LPy8x3h14VQ2bwe5pK
|
||||
sS2yxJIKlP6rPqHwQugJiUz1igD3r1n0N5aiglKsPACBEIOgN2O0RXad/EwHW2d1
|
||||
kCvdO4Nck6MziP5cykzxyXAnCAAs/pjZaGlnXY+oJHR/XcpI3qetCLDDhLLr2y0u
|
||||
ZYp/cx10Ryy8ZC9R22ziV3ja92SvGcatL8YaZ2Sw/jAHQSiD1T+AhLRP9WVvwuM=
|
||||
=xfEA
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG/MacGPG2 v2.0.19 (Darwin)
|
||||
Comment: GPGTools - http://gpgtools.org
|
||||
|
||||
iQIcBAABCgAGBQJTAL3vAAoJEBvKZYajR5Q/IfAP/RhXUNe5SLIBBNu16ul7hndW
|
||||
1dah/rgEj9bJXIlUnKm+pc5zCIjcUTx7MtSn63sW6c7UuC1qGOULnr+9zOwfv4KD
|
||||
wX5iu6bxrJ7SIlHSfQEfTttpFTJ1GwQM1mQttwsglWC4uwC2d7UPizixWHJ7+vqA
|
||||
k8rVyn4b8kkxeGp8a1LPwPKGq8sohV5byQmIagr4O+ipybAN+YiLlpqvL/VMBhoj
|
||||
k4YM/aZdefPxVraShWwsv/kpZOai0cZ2hA2+5LO1mhsmyeGcIochAblqD86OlIQ7
|
||||
Vvnd8ELN4WwwsTy81PQ49qcz/jml0WerIvEwp1sP98DCC5YrNfKcQ2qMEEziuqKP
|
||||
owMtOEFS52epf8at40H9gMLTDQeLKuuy+Li2i6DTIgbiT3p1HEA04Ahew5XqVW4g
|
||||
RsDG+90JwYIKuWwdaGXHhiMw/boLGWWSRwEMVwVWTNt2kRrgbOae25donFJXvZHK
|
||||
M992+MSjhDuNjFcyRpRaS2nN242MCciMnROi1iK+/bUW7Fu/8Wt53cfsU+AViRzE
|
||||
gF/b5OVOmOS2C+MwVMyzqFOXEyXv1EuUFEqnzsxgksPec1nPmYA0eCXu7X6m0aFL
|
||||
5HaUvDqLVV4V2H63GIewBRp244aEuyOuYja38EI5U416l79+vHPKUjzXDGCLlDml
|
||||
vA178ubt0OgGS68lv5eV
|
||||
=Xc+2
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.22 (FreeBSD)
|
||||
|
||||
iQIcBAABAgAGBQJTAO3zAAoJEMSmxiXMyOHffc8P/02/izm1B5AWhTO+XrOZJ+32
|
||||
gN/ehfsI7nmzOE4nMkzSPB7C04F8Ag9UjEzqJQ1DgvxEZfrjUNGpXoDczXkCDdh2
|
||||
kKdfQCwRMwgOlxHmRwWl+t/Gafein79GFmDVWbs74meC+Qjykpgy4IMi5PvauZcS
|
||||
LJrnkF16TYm0/2JxVDomkSiKpJSw9QMntKJSihfUUxR9wkdYNHmpmqRWIn5AxMyL
|
||||
Uau93hby5/+scV9cHMJY4yM0xdHvPrukVHB1FNyuTxHwwVRSCijtpjgegViy4x41
|
||||
c0lLKfSluQTaBPbqlmSYN/WB4veDsPW5GvckTGYuS91iqXH8SXJprFRijT1nGiw1
|
||||
h4CKbgilOElmbuwbeTSnHCorCkXG8I+5keW3VfzxdwT6R//w+zwv1dR+47QKHQEc
|
||||
tXIRssm5k5vQGL6Vy200NXLnRVL6hCpQ6bsdUC8NT3yJuJ+K4On2GDdTl82IOsWr
|
||||
ekSCcSK2iMaKg4yj0Uh9xsUt1m+Dn5lhiMBLtirzQbn9dJmlx02dl9waJrtoleIk
|
||||
4dErPMYqeWoUo7bs4eOapSxAzzFvcKok7Fm/5RR7hdTiQHFWIZowZc/jUH3JLlNP
|
||||
zpy+KxP9F7xchcDS1bGWrVgKW4Lk/GNA9925rpUr5rUqzSHF6r5HXVwocB/G4pMF
|
||||
jaSnaE4hK4B1BpztNMti
|
||||
=vWIR
|
||||
-----END PGP SIGNATURE-----
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2.0.22 (FreeBSD)
|
||||
|
||||
iQIcBAABAgAGBQJTAO45AAoJEMSmxiXMyOHfnDcP/2YOom3jiQuTIxPxDqxJEyUE
|
||||
fWnYQJI7r5gTb0f86re6nA46XD7gaQbHhdrbgm9hSEdebQ1GlZW97AZ0NVzTdv+4
|
||||
uRrbtiVaI5jwOAE9pxdw4nWlGdPaHlj4B71iG4uaFegwx/biq1ZUa7SQqm2ayGRU
|
||||
aX/UIEzx2ysrS+rVIpZcFbEfpKA8k4qecDRQpNmZcIR+BvQurALYSnf1vjprUd8i
|
||||
DjFAEahCztWOarbiQarX5n1/eRtrOSMYy+7NmlpcyRIB76ozpN76FolwRCShObRT
|
||||
fBxquW3XxZb7FsgqrgVBKu/52U1COu3VsdUhSlLTki3ZsqBJU6UQ04EeHddMLkWz
|
||||
uOavnLKErA1xg78UerY6HrkZ4keOdHHbC3Lfpu5sHoXCBpI/57RCnGLXDJQht8be
|
||||
OvD8XlVfUCXBC+Opughz1CZRJb4Swampru50dR33GXXSDMm3PZQzPzgGb//cbhPE
|
||||
EDfkX+g0a6pnFaftVeS08lRvlPqIpdOzrm1WWOSPKrAYmz4+vmx4TiGEiQevt4/g
|
||||
RJ/wVslblYupjjT91lneQ8uCwq2Vkpm6slLUlYpm0OpE53b8OTlWCX2Z9NbROdwH
|
||||
He92xOUqHWbahyPZqtqRQqX4Jn2lolwaL4gryOU9PpmLO8j1O9b+/brjZPgse6kq
|
||||
psW7iStIzjaJa1sIuDFC
|
||||
=dsh8
|
||||
-----END PGP SIGNATURE-----
|
@ -1,384 +0,0 @@
|
||||
From: Andreas Stieger <andreas.stieger@gmx.de>
|
||||
Date: Sun, 01 Dec 2013 22:05:57 +0000
|
||||
Subject: fix performance issues with SQLite 3.8 and false positive test failures
|
||||
Upstream: committed
|
||||
References: https://svn.apache.org/viewvc?view=revision&revision=1542765 https://svn.apache.org/viewvc?view=revision&revision=1542767 https://svn.apache.org/viewvc?view=revision&revision=1542774
|
||||
|
||||
Addresses performance issues with SQLite 3.8 and fixes false
|
||||
positive test failes in wc-queries-tests. Allows dynamic linking
|
||||
against SQLite 3.8 in openSUSE > 13.1. The patch below is combined
|
||||
from the three upstream commits, with upstream adjustments in last
|
||||
hunk of wc-queries-test.c adjusted for differences upstream.
|
||||
|
||||
While this does not create a new working copy format version,
|
||||
working copies that were created with a 1.8 client linked against
|
||||
SQLite 3.7 need to have "svn upgrade" run once to enjoy the benefits
|
||||
while otherwise maintaining compatibility. The step is optional and
|
||||
not required for new working copies.
|
||||
|
||||
Upstream, this set is currently proposed for backporting into 1.8.x.
|
||||
|
||||
---
|
||||
subversion/libsvn_wc/upgrade.c | 4
|
||||
subversion/libsvn_wc/wc-metadata.sql | 48 +++++++
|
||||
subversion/libsvn_wc/wc_db.c | 11 +
|
||||
subversion/libsvn_wc/wc_db.h | 10 +
|
||||
subversion/tests/libsvn_wc/wc-queries-test.c | 175 ++++++++++++++++++++++++++-
|
||||
5 files changed, 243 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: subversion-1.8.5/subversion/libsvn_wc/upgrade.c
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/libsvn_wc/upgrade.c 2013-07-03 05:00:58.000000000 +0100
|
||||
+++ subversion-1.8.5/subversion/libsvn_wc/upgrade.c 2013-12-01 22:03:13.000000000 +0000
|
||||
@@ -1958,6 +1958,10 @@ svn_wc__upgrade_sdb(int *result_format,
|
||||
case SVN_WC__VERSION:
|
||||
/* already upgraded */
|
||||
*result_format = SVN_WC__VERSION;
|
||||
+
|
||||
+ SVN_SQLITE__WITH_LOCK(
|
||||
+ svn_wc__db_install_schema_statistics(sdb, scratch_pool),
|
||||
+ sdb);
|
||||
}
|
||||
|
||||
#ifdef SVN_DEBUG
|
||||
Index: subversion-1.8.5/subversion/libsvn_wc/wc-metadata.sql
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/libsvn_wc/wc-metadata.sql 2013-04-30 05:01:16.000000000 +0100
|
||||
+++ subversion-1.8.5/subversion/libsvn_wc/wc-metadata.sql 2013-12-01 22:03:13.000000000 +0000
|
||||
@@ -573,6 +573,54 @@ CREATE UNIQUE INDEX I_EXTERNALS_DEFINED
|
||||
local_relpath);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
+/* This statement provides SQLite with the necessary information about our
|
||||
+ indexes to make better decisions in the query planner.
|
||||
+
|
||||
+ For every interesting index this contains a number of rows where the
|
||||
+ statistics ar calculated for and then for every column in the index the
|
||||
+ average number of rows with the same value in all columns left of this
|
||||
+ column including the column itself.
|
||||
+
|
||||
+ See http://www.sqlite.org/fileformat2.html#stat1tab for more details.
|
||||
+
|
||||
+ The important thing here is that this tells Sqlite that the wc_id column
|
||||
+ of the NODES and ACTUAL_NODE table is usually a single value, so queries
|
||||
+ should use more than one column for index usage.
|
||||
+
|
||||
+ The current hints describe NODES+ACTUAL_NODE as a working copy with
|
||||
+ 8000 nodes in 1 a single working copy(=wc_id), 10 nodes per directory
|
||||
+ and an average of 2 op-depth layers per node.
|
||||
+
|
||||
+ The number of integers must be number of index columns + 1, which is
|
||||
+ verified via the test_schema_statistics() test.
|
||||
+ */
|
||||
+-- STMT_INSTALL_SCHEMA_STATISTICS
|
||||
+ANALYZE sqlite_master; /* Creates empty sqlite_stat1 if necessary */
|
||||
+
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('NODES', 'sqlite_autoindex_NODES_1', '8000 8000 2 1');
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('NODES', 'I_NODES_PARENT', '8000 8000 10 2 1');
|
||||
+/* Tell a lie: We ignore that 99.9% of all moved_to values are NULL */
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('NODES', 'I_NODES_MOVED', '8000 8000 1 1');
|
||||
+
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('ACTUAL_NODE', 'sqlite_autoindex_ACTUAL_NODE_1', '8000 8000 1');
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('ACTUAL_NODE', 'I_ACTUAL_PARENT', '8000 8000 10 1');
|
||||
+
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('LOCK', 'sqlite_autoindex_LOCK_1', '100 100 1');
|
||||
+
|
||||
+INSERT OR REPLACE INTO sqlite_stat1(tbl, idx, stat) VALUES
|
||||
+ ('WC_LOCK', 'sqlite_autoindex_WC_LOCK_1', '100 100 1');
|
||||
+
|
||||
+/* sqlite_autoindex_WORK_QUEUE_1 doesn't exist because WORK_QUEUE is
|
||||
+ a INTEGER PRIMARY KEY AUTOINCREMENT table */
|
||||
+
|
||||
+ANALYZE sqlite_master; /* Loads sqlite_stat1 data for query optimizer */
|
||||
+/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* Format 20 introduces NODES and removes BASE_NODE and WORKING_NODE */
|
||||
|
||||
Index: subversion-1.8.5/subversion/libsvn_wc/wc_db.c
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/libsvn_wc/wc_db.c 2013-10-22 18:01:42.000000000 +0100
|
||||
+++ subversion-1.8.5/subversion/libsvn_wc/wc_db.c 2013-12-01 22:03:13.000000000 +0000
|
||||
@@ -1390,6 +1390,15 @@ does_node_exist(svn_boolean_t *exists,
|
||||
return svn_error_trace(svn_sqlite__reset(stmt));
|
||||
}
|
||||
|
||||
+svn_error_t *
|
||||
+svn_wc__db_install_schema_statistics(svn_sqlite__db_t *sdb,
|
||||
+ apr_pool_t *scratch_pool)
|
||||
+{
|
||||
+ SVN_ERR(svn_sqlite__exec_statements(sdb, STMT_INSTALL_SCHEMA_STATISTICS));
|
||||
+
|
||||
+ return SVN_NO_ERROR;
|
||||
+}
|
||||
+
|
||||
/* Helper for create_db(). Initializes our wc.db schema.
|
||||
*/
|
||||
static svn_error_t *
|
||||
@@ -1417,6 +1426,8 @@ init_db(/* output values */
|
||||
SVN_ERR(create_repos_id(repos_id, repos_root_url, repos_uuid,
|
||||
db, scratch_pool));
|
||||
|
||||
+ SVN_ERR(svn_wc__db_install_schema_statistics(db, scratch_pool));
|
||||
+
|
||||
/* Insert the wcroot. */
|
||||
/* ### Right now, this just assumes wc metadata is being stored locally. */
|
||||
SVN_ERR(svn_sqlite__get_statement(&stmt, db, STMT_INSERT_WCROOT));
|
||||
Index: subversion-1.8.5/subversion/libsvn_wc/wc_db.h
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/libsvn_wc/wc_db.h 2013-10-22 18:01:42.000000000 +0100
|
||||
+++ subversion-1.8.5/subversion/libsvn_wc/wc_db.h 2013-12-01 22:03:13.000000000 +0000
|
||||
@@ -2831,6 +2831,16 @@ svn_wc__db_scan_deletion(const char **ba
|
||||
@{
|
||||
*/
|
||||
|
||||
+/* Installs or updates Sqlite schema statistics for the current (aka latest)
|
||||
+ working copy schema.
|
||||
+
|
||||
+ This function should be called once on initializing the database and after
|
||||
+ an schema update completes */
|
||||
+svn_error_t *
|
||||
+svn_wc__db_install_schema_statistics(svn_sqlite__db_t *sdb,
|
||||
+ apr_pool_t *scratch_pool);
|
||||
+
|
||||
+
|
||||
/* Create a new wc.db file for LOCAL_DIR_ABSPATH, which is going to be a
|
||||
working copy for the repository REPOS_ROOT_URL with uuid REPOS_UUID.
|
||||
Return the raw sqlite handle, repository id and working copy id
|
||||
Index: subversion-1.8.5/subversion/tests/libsvn_wc/wc-queries-test.c
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/tests/libsvn_wc/wc-queries-test.c 2013-05-27 05:01:42.000000000 +0100
|
||||
+++ subversion-1.8.5/subversion/tests/libsvn_wc/wc-queries-test.c 2013-12-01 22:04:41.000000000 +0000
|
||||
@@ -77,6 +77,7 @@ static const int schema_statements[] =
|
||||
STMT_CREATE_NODES,
|
||||
STMT_CREATE_NODES_TRIGGERS,
|
||||
STMT_CREATE_EXTERNALS,
|
||||
+ STMT_INSTALL_SCHEMA_STATISTICS,
|
||||
/* Memory tables */
|
||||
STMT_CREATE_TARGETS_LIST,
|
||||
STMT_CREATE_CHANGELIST_LIST,
|
||||
@@ -95,8 +96,8 @@ static const int slow_statements[] =
|
||||
/* Operate on the entire WC */
|
||||
STMT_SELECT_ALL_NODES, /* schema validation code */
|
||||
|
||||
- /* Is there a record? ### Can we somehow check for LIMIT 1? */
|
||||
- STMT_LOOK_FOR_WORK,
|
||||
+ /* Updates all records for a repository (designed slow) */
|
||||
+ STMT_UPDATE_LOCK_REPOS_ID,
|
||||
|
||||
/* Full temporary table read */
|
||||
STMT_INSERT_ACTUAL_EMPTIES,
|
||||
@@ -114,6 +115,19 @@ static const int slow_statements[] =
|
||||
-1 /* final marker */
|
||||
};
|
||||
|
||||
+/* Statements that just read the first record from a table,
|
||||
+ using the primary key. Specialized as different sqlite
|
||||
+ versions produce different results */
|
||||
+static const int primary_key_statements[] =
|
||||
+{
|
||||
+ /* Is there a record? ### Can we somehow check for LIMIT 1,
|
||||
+ and primary key instead of adding a list? */
|
||||
+ STMT_LOOK_FOR_WORK,
|
||||
+ STMT_SELECT_WORK_ITEM,
|
||||
+
|
||||
+ -1 /* final marker */
|
||||
+};
|
||||
+
|
||||
/* Helper function to determine if a statement is in a list */
|
||||
static svn_boolean_t
|
||||
in_list(const int list[], int stmt_idx)
|
||||
@@ -529,6 +543,7 @@ is_node_table(const char *table_name)
|
||||
return (apr_strnatcasecmp(table_name, "nodes") == 0
|
||||
|| apr_strnatcasecmp(table_name, "actual_node") == 0
|
||||
|| apr_strnatcasecmp(table_name, "externals") == 0
|
||||
+ || apr_strnatcasecmp(table_name, "lock") == 0
|
||||
|| apr_strnatcasecmp(table_name, "wc_lock") == 0
|
||||
|| FALSE);
|
||||
}
|
||||
@@ -651,14 +666,24 @@ test_query_expectations(apr_pool_t *scra
|
||||
|| (item->expression_vars < 1))
|
||||
&& !is_result_table(item->table))
|
||||
{
|
||||
- warned = TRUE;
|
||||
- if (!is_slow_statement(i))
|
||||
- warnings = svn_error_createf(SVN_ERR_TEST_FAILED, warnings,
|
||||
+ if (in_list(primary_key_statements, i))
|
||||
+ {
|
||||
+ /* Reported as primary key index usage in Sqlite 3.7,
|
||||
+ as table scan in 3.8+, while the execution plan is
|
||||
+ identical: read first record from table */
|
||||
+ }
|
||||
+ else if (!is_slow_statement(i))
|
||||
+ {
|
||||
+ warned = TRUE;
|
||||
+ warnings = svn_error_createf(SVN_ERR_TEST_FAILED, warnings,
|
||||
"%s: "
|
||||
"Uses %s with only %d index component: (%s)\n%s",
|
||||
wc_query_info[i][0], item->table,
|
||||
item->expression_vars, item->expressions,
|
||||
wc_queries[i]);
|
||||
+ }
|
||||
+ else
|
||||
+ warned = TRUE;
|
||||
}
|
||||
else if (item->search && !item->index)
|
||||
{
|
||||
@@ -718,6 +743,144 @@ test_query_expectations(apr_pool_t *scra
|
||||
return warnings;
|
||||
}
|
||||
|
||||
+/* Helper to verify a bit of data in the sqlite3 statistics */
|
||||
+static int
|
||||
+parse_stat_data(const char *stat)
|
||||
+{
|
||||
+ int n = 0;
|
||||
+ apr_int64_t last = APR_INT64_MAX;
|
||||
+ while (*stat)
|
||||
+ {
|
||||
+ apr_int64_t v;
|
||||
+ char *next;
|
||||
+
|
||||
+ if (*stat < '0' || *stat > '9')
|
||||
+ return -2;
|
||||
+
|
||||
+ errno = 0;
|
||||
+ v = apr_strtoi64(stat, &next, 10);
|
||||
+
|
||||
+ /* All numbers specify the average number of rows
|
||||
+ with the same values in all columns left of it,
|
||||
+ so the value must be >= 1 and lower than or equal
|
||||
+ to all previous seen numbers */
|
||||
+ if (v <= 0 || (v > last) || (errno != 0))
|
||||
+ return -1;
|
||||
+
|
||||
+ last = v;
|
||||
+
|
||||
+ n++;
|
||||
+ stat = next;
|
||||
+
|
||||
+ if (*stat == ' ')
|
||||
+ stat++;
|
||||
+ }
|
||||
+
|
||||
+ return n;
|
||||
+}
|
||||
+
|
||||
+static svn_error_t *
|
||||
+test_schema_statistics(apr_pool_t *scratch_pool)
|
||||
+{
|
||||
+ sqlite3 *sdb;
|
||||
+ sqlite3_stmt *stmt;
|
||||
+
|
||||
+ SVN_ERR(create_memory_db(&sdb, scratch_pool));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "CREATE TABLE shadow_stat1(tbl TEXT, idx TEXT, stat TEXT)",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO shadow_stat1 (tbl, idx, stat) "
|
||||
+ "SELECT tbl, idx, stat FROM sqlite_stat1",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "DROP TABLE sqlite_stat1",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ /* Insert statement to give index at least 1 record */
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO nodes (wc_id, local_relpath, op_depth,"
|
||||
+ " presence, kind) "
|
||||
+ "VALUES (1, '', 0, 'normal', 'dir')",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO actual_node (wc_id, local_relpath) "
|
||||
+ "VALUES (1, '')",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO lock (repos_id, repos_relpath, lock_token) "
|
||||
+ "VALUES (1, '', '')",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ /* These are currently not necessary for query optimization, but it's better
|
||||
+ to tell Sqlite how we intend to use this table anyway */
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO wc_lock (wc_id, local_dir_relpath) "
|
||||
+ "VALUES (1, '')",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "INSERT INTO WORK_QUEUE (work) "
|
||||
+ "VALUES ('')",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_exec(sdb,
|
||||
+ "ANALYZE",
|
||||
+ NULL, NULL, NULL));
|
||||
+
|
||||
+ SQLITE_ERR(
|
||||
+ sqlite3_prepare(sdb, "SELECT s.tbl, s.idx, s.stat, r.stat "
|
||||
+ "FROM shadow_stat1 s "
|
||||
+ "LEFT JOIN sqlite_stat1 r ON "
|
||||
+ "s.tbl=r.tbl and s.idx=r.idx",
|
||||
+ -1, &stmt, NULL));
|
||||
+
|
||||
+ while (sqlite3_step(stmt) == SQLITE_ROW)
|
||||
+ {
|
||||
+ const char *wc_stat = (const char*)sqlite3_column_text(stmt, 2);
|
||||
+ const char *sqlite_stat = (const char*)sqlite3_column_text(stmt, 3);
|
||||
+
|
||||
+ if (! sqlite_stat)
|
||||
+ {
|
||||
+ return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
|
||||
+ "Schema statistic failure:"
|
||||
+ " Refering to unknown index '%s' on '%s'",
|
||||
+ sqlite3_column_text(stmt, 1),
|
||||
+ sqlite3_column_text(stmt, 0));
|
||||
+ }
|
||||
+
|
||||
+ if (parse_stat_data(wc_stat) != parse_stat_data(sqlite_stat))
|
||||
+ {
|
||||
+ return svn_error_createf(SVN_ERR_TEST_FAILED, NULL,
|
||||
+ "Schema statistic failure:"
|
||||
+ " Column mismatch for '%s' on '%s'",
|
||||
+ sqlite3_column_text(stmt, 1),
|
||||
+ sqlite3_column_text(stmt, 0));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ SQLITE_ERR(sqlite3_reset(stmt));
|
||||
+ SQLITE_ERR(sqlite3_finalize(stmt));
|
||||
+
|
||||
+ SQLITE_ERR(sqlite3_close(sdb)); /* Close the DB if ok; otherwise leaked */
|
||||
+
|
||||
+ return SVN_NO_ERROR;
|
||||
+}
|
||||
+
|
||||
struct svn_test_descriptor_t test_funcs[] =
|
||||
{
|
||||
SVN_TEST_NULL,
|
||||
@@ -727,5 +890,7 @@ struct svn_test_descriptor_t test_funcs[
|
||||
"queries are parsable"),
|
||||
SVN_TEST_PASS2(test_query_expectations,
|
||||
"test query expectations"),
|
||||
+ SVN_TEST_PASS2(test_schema_statistics,
|
||||
+ "test schema statistics"),
|
||||
SVN_TEST_NULL
|
||||
};
|
@ -1,47 +0,0 @@
|
||||
From: Bert Huijben <rhuijben@collab.net>
|
||||
Date: Mon, 18 Nov 2013 20:43:23 +0000
|
||||
Subject: [PATCH] fix regression test failures on ppc/ppc64
|
||||
Upstream: committed
|
||||
References: https://svn.apache.org/viewvc?view=revision&revision=1543145
|
||||
|
||||
Fixes regression test failures on ppc/ppc64.
|
||||
[ 1518s] At least one test FAILED, checking /home/abuild/rpmbuild/BUILD/subversion-1.8.5/tests.log
|
||||
[ 1518s] FAIL: wc_tests.py 7: inaccessible .svn/wc.db
|
||||
[ 1518s] FAIL: wc_tests.py 8: corrupt .svn/wc.db
|
||||
[ 1518s] FAIL: wc_tests.py 9: zero-length .svn/wc.db
|
||||
[ 1518s] FAIL: wc_tests.py 10: missing .svn/wc.db
|
||||
[ 1518s] FAIL: wc_tests.py 12: missing .svn/wc.db, maybe valid .svn/entries
|
||||
[ 1518s] Summary of test results:
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1543145 | rhuijben | 2013-11-18 20:43:23 +0000 (Mon, 18 Nov 2013) | 9 lines
|
||||
Changed paths:
|
||||
M /subversion/trunk/subversion/svn/status-cmd.c
|
||||
|
||||
Resolve a strange error that somehow occurred only on some specific powerpc
|
||||
architectures. The real problem is that we didn't properly detect the end of
|
||||
the variable argument list, so it can fail on all architectures.
|
||||
|
||||
Found by: astieger
|
||||
|
||||
* subversion/svn/status-cmd.c
|
||||
(svn_cl__status): Add missing end of warning status values marker.
|
||||
|
||||
---
|
||||
subversion/svn/status-cmd.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: subversion-1.8.4/subversion/svn/status-cmd.c
|
||||
===================================================================
|
||||
--- subversion-1.8.4.orig/subversion/svn/status-cmd.c 2013-07-27 05:00:17.000000000 +0100
|
||||
+++ subversion-1.8.4/subversion/svn/status-cmd.c 2013-11-18 20:57:53.000000000 +0000
|
||||
@@ -358,7 +358,8 @@ svn_cl__status(apr_getopt_t *os,
|
||||
NULL, opt_state->quiet,
|
||||
/* not versioned: */
|
||||
SVN_ERR_WC_NOT_WORKING_COPY,
|
||||
- SVN_ERR_WC_PATH_NOT_FOUND));
|
||||
+ SVN_ERR_WC_PATH_NOT_FOUND,
|
||||
+ SVN_NO_ERROR));
|
||||
|
||||
if (opt_state->xml)
|
||||
SVN_ERR(print_finish_target_xml(repos_rev, iterpool));
|
@ -1,59 +0,0 @@
|
||||
From: Ben Reser <ben@reser.org>
|
||||
Subject: [PATCH] Disallow methods other than GET/HEAD for the parentpath list.
|
||||
Date: Sat, 11 Jan 2014 07:19:54 +0000
|
||||
References: bnc#862459 CVE-2014-0032 http://svn.apache.org/viewvc?view=revision&revision=r1557320
|
||||
Upstream: committed
|
||||
|
||||
------------------------------------------------------------------------
|
||||
r1557320 | breser | 2014-01-11 07:19:54 +0000 (Sat, 11 Jan 2014) | 13 lines
|
||||
Changed paths:
|
||||
M /subversion/trunk/subversion/mod_dav_svn/repos.c
|
||||
|
||||
Disallow methods other than GET/HEAD for the parentpath list.
|
||||
|
||||
Fixes the segfault for `svn ls http://svn.example.com` when SVN is handling
|
||||
the server root and SVNListParentPath is on.
|
||||
|
||||
CVE-2014-0032
|
||||
|
||||
* subversion/mod_dav_svn/repos.c
|
||||
(get_resource): Return an error when we try to get a parentpath list
|
||||
resource and the method isn't GET.
|
||||
|
||||
Found by: lgo
|
||||
|
||||
------------------------------------------------------------------------
|
||||
---
|
||||
subversion/mod_dav_svn/repos.c | 19 +++++++++++++++++++
|
||||
1 file changed, 19 insertions(+)
|
||||
|
||||
Index: subversion-1.8.5/subversion/mod_dav_svn/repos.c
|
||||
===================================================================
|
||||
--- subversion-1.8.5.orig/subversion/mod_dav_svn/repos.c 2013-11-14 21:02:26.000000000 +0000
|
||||
+++ subversion-1.8.5/subversion/mod_dav_svn/repos.c 2014-02-09 22:25:05.000000000 +0000
|
||||
@@ -1971,6 +1971,25 @@ get_resource(request_rec *r,
|
||||
of private resource, iff the SVNListParentPath directive is 'on'. */
|
||||
if (dav_svn__is_parentpath_list(r))
|
||||
{
|
||||
+ /* Only allow GET and HEAD on the parentpath resource
|
||||
+ * httpd uses the same method_number for HEAD as GET */
|
||||
+ if (r->method_number != M_GET)
|
||||
+ {
|
||||
+ int status;
|
||||
+
|
||||
+ /* Marshall the error back to the client by generating by
|
||||
+ * way of the dav_svn__error_response_tag trick. */
|
||||
+ err = dav_svn__new_error(r->pool, HTTP_METHOD_NOT_ALLOWED,
|
||||
+ SVN_ERR_APMOD_MALFORMED_URI,
|
||||
+ "The URI does not contain the name "
|
||||
+ "of a repository.");
|
||||
+ /* can't use r->allowed since the default handler isn't called */
|
||||
+ apr_table_setn(r->headers_out, "Allow", "GET,HEAD");
|
||||
+ status = dav_svn__error_response_tag(r, err);
|
||||
+
|
||||
+ return dav_push_error(r->pool, status, err->error_id, NULL, err);
|
||||
+ }
|
||||
+
|
||||
err = get_parentpath_resource(r, resource);
|
||||
if (err)
|
||||
return err;
|
@ -1,3 +1,59 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 19 00:00:00 UTC 2014 - andreas.stieger@gmx.de
|
||||
|
||||
- Apache Subversion 1.8.8
|
||||
- Client-side bugfixes:
|
||||
* fix automatic relocate for wcs not at repository root
|
||||
* wc: improve performance when used with SQLite 3.8
|
||||
* copy: fix some scenarios that broke the working copy
|
||||
* move: fix errors when moving files between an external and the
|
||||
parent working copy
|
||||
* log: resolve performance regression in certain scenarios
|
||||
* merge: decrease work to detect differences between 3 files
|
||||
* commit: don't change file permissions inappropriately
|
||||
* commit: fix assertion due to invalid pool lifetime
|
||||
* version: don't cut off the distribution version on Linux
|
||||
* flush stdout before exiting to avoid information being lost
|
||||
* status: fix missing sentinel value on warning codes
|
||||
* update/switch: improve some WC db queries that may return
|
||||
incorrect results depending on how SQLite is built
|
||||
- Server-side bugfixes:
|
||||
* reduce memory usage during checkout and export
|
||||
* fsfs: create rep-cache.db with proper permissions
|
||||
* mod_dav_svn: prevent crashes with SVNListParentPath on
|
||||
(previously patched in this package)
|
||||
* mod_dav_svn: fix SVNAllowBulkUpdates directive merging
|
||||
* mod_dav_svn: include requested property changes in reports
|
||||
* svnserve: correct default cache size in help text
|
||||
* svnadmin dump: reduce size of dump files with '--deltas'
|
||||
* resolve integer underflow that resulted in infinite loops
|
||||
- developer visible changes:
|
||||
* fix ocassional failure of check_tests.py 12
|
||||
* fix failure with SQLite 3.8.1-3.8.3 when built with
|
||||
SQLITE_ENABLE_STAT3/4 due to bug in SQLite
|
||||
* specify SQLite defaults that can be changed when SQLite is
|
||||
built to avoid unexpected behavior with Subversion
|
||||
* numerous documentation fixes
|
||||
* svn_client_commit_item3_dup() fix pool lifetime issues
|
||||
* ra_serf: properly ask multiple certificate validation providers
|
||||
for acceptance of certificate failures
|
||||
* release internal fs objects when closing commit editor
|
||||
* svn_client_proplist4() don't call the callback multiple times
|
||||
for the same path in order to deliver inherited properties
|
||||
- Bindings:
|
||||
* swig-pl: fix with --enable-sqlite-compatibility-version
|
||||
* swig: fix building from tarball with an out-of-tree build
|
||||
- removed patches:
|
||||
* subversion-1.8.x-SQLite-3.8.patch, committed upstream
|
||||
* subversion-1.8.x-fix-ppc-tests.patch, committed upstream
|
||||
* subversion-CVE-2014-0032.patch, now upstream
|
||||
- packaging changes:
|
||||
* only require and build with junit when building with java and
|
||||
running regression tests
|
||||
* specify memory constraints for reliable builds with regression
|
||||
tests
|
||||
- 1.8.6 and 1.8.7 were not released
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Feb 9 22:30:22 UTC 2014 - andreas.stieger@gmx.de
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
||||
%define svnuser svn
|
||||
|
||||
Name: subversion
|
||||
Version: 1.8.5
|
||||
Version: 1.8.8
|
||||
Release: 0
|
||||
# in-tree SWIG version to use for the build:
|
||||
%define swig_version 1.3.36
|
||||
@ -107,7 +107,9 @@ BuildRequires: libqt4-devel
|
||||
%if 0%{?suse_version} >= 1130
|
||||
%define with_java 1
|
||||
BuildRequires: java-devel >= 1.6.0
|
||||
%if %{with regression_tests}
|
||||
BuildRequires: junit
|
||||
%endif
|
||||
%else
|
||||
%define with_java 0
|
||||
%endif
|
||||
@ -178,9 +180,6 @@ Patch20: subversion-swig-perl-install_vendor.patch
|
||||
Patch23: subversion.libtool-pie-flags.patch
|
||||
Patch31: subversion.perl.LD_RUN_PATH.patch
|
||||
Patch37: subversion-no-build-date.patch
|
||||
Patch38: subversion-1.8.x-fix-ppc-tests.patch
|
||||
Patch39: subversion-1.8.x-SQLite-3.8.patch
|
||||
Patch40: subversion-CVE-2014-0032.patch
|
||||
#
|
||||
%if %with_ruby
|
||||
%define rb_arch %(echo "%{_host_cpu}-%{_os}" | sed -e "s/i686/i586/" -e "s/armv5tel/armv4l/" -e "s/hppa2.0/hppa/")
|
||||
@ -345,9 +344,6 @@ popd #./sqlite-amalgamation
|
||||
%patch23 -p1
|
||||
%patch31 -p1
|
||||
%patch37 -p1
|
||||
%patch38 -p1
|
||||
%patch39 -p1
|
||||
%patch40 -p1
|
||||
|
||||
SQLITE_RECOMMENDED_VER=$(grep -E '^SQLITE_RECOMMENDED_VER=' configure.ac|cut -f2 -d=|cut -f2 -d\")
|
||||
#"
|
||||
@ -484,7 +480,9 @@ export PATH="${SWIG_ROOT}/bin:${PATH}"
|
||||
--with-apache-libexecdir=%{apache_libexecdir} \
|
||||
$with_jdk \
|
||||
%if %with_java
|
||||
%if %{with regression_tests}
|
||||
--with-junit="%{_usr}/share/java/junit.jar" \
|
||||
%endif
|
||||
%endif
|
||||
--with-jikes=no \
|
||||
%if %with_intree_swig
|
||||
|
Loading…
x
Reference in New Issue
Block a user