mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-02-08 17:02:34 +01:00
Compare commits
1588 Commits
3.6
...
3.7.beta1_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10f7b23dfc | ||
|
|
d4ad7236e5 | ||
|
|
81e203eef1 | ||
|
|
c186f13218 | ||
|
|
ec4b29c65d | ||
|
|
539a201d3e | ||
|
|
445f696d28 | ||
|
|
741adc79b2 | ||
|
|
ad661256c0 | ||
|
|
d98bfb1d8d | ||
|
|
d0fb732cce | ||
|
|
683cdaf881 | ||
|
|
11eb7de596 | ||
|
|
4df754f36f | ||
|
|
ac2c7c4f81 | ||
|
|
58c06264e4 | ||
|
|
eb41fc2765 | ||
|
|
962c4b9c32 | ||
|
|
7faedf0c69 | ||
|
|
e53157b28b | ||
|
|
a46a6cccaf | ||
|
|
a3ab22e27d | ||
|
|
425a853e07 | ||
|
|
8dba0f9c85 | ||
|
|
6bac744709 | ||
|
|
6cee8e1294 | ||
|
|
38c2dc8747 | ||
|
|
0a1f5eff41 | ||
|
|
0131acd930 | ||
|
|
d164b2d0e1 | ||
|
|
608fa5eaed | ||
|
|
81f0d953e3 | ||
|
|
da258cd4b0 | ||
|
|
137b3f898d | ||
|
|
62bf7759f3 | ||
|
|
6eabad65b7 | ||
|
|
47ebe21f7b | ||
|
|
d9b27fc280 | ||
|
|
7177c04378 | ||
|
|
c268b1fb64 | ||
|
|
8fc5faf4a8 | ||
|
|
7da4edda01 | ||
|
|
50f690787b | ||
|
|
29298c73b9 | ||
|
|
6fd89c4b41 | ||
|
|
dd824f2972 | ||
|
|
fb0ec34ad0 | ||
|
|
1dcca6e553 | ||
|
|
9ae03f533d | ||
|
|
da345a09d8 | ||
|
|
7ca2e275df | ||
|
|
429cae5d2e | ||
|
|
6762b98c00 | ||
|
|
4c1b1408ed | ||
|
|
e3f4db85af | ||
|
|
8a89997c79 | ||
|
|
83d441f8ff | ||
|
|
3d5a45e274 | ||
|
|
0b70d26275 | ||
|
|
0559e29c92 | ||
|
|
5094c2c066 | ||
|
|
5cb6b11878 | ||
|
|
9e92b469b9 | ||
|
|
5ad6b69ce9 | ||
|
|
3880013940 | ||
|
|
2f30e769f6 | ||
|
|
64a9c2dba0 | ||
|
|
acbbe823e8 | ||
|
|
a8b3153f54 | ||
|
|
e421741fc4 | ||
|
|
633e34da52 | ||
|
|
9ec71e18fc | ||
|
|
b68bfac593 | ||
|
|
0f22ebb7b5 | ||
|
|
c422024cb9 | ||
|
|
6f9d283ddc | ||
|
|
b60f834d8d | ||
|
|
4c95cab35f | ||
|
|
16126891a6 | ||
|
|
b47e899e57 | ||
|
|
0ae1bfab04 | ||
|
|
eadb10e71e | ||
|
|
89296e3011 | ||
|
|
4cb3dc4238 | ||
|
|
cc1b14e9f8 | ||
|
|
b601afc92b | ||
|
|
e052010941 | ||
|
|
60ca5aa026 | ||
|
|
44882f4035 | ||
|
|
5e0946bdc2 | ||
|
|
f7e71d8848 | ||
|
|
90fb05805c | ||
|
|
5742e42689 | ||
|
|
e37741c114 | ||
|
|
0d62556fa0 | ||
|
|
504a9a92a4 | ||
|
|
5656773430 | ||
|
|
5c2862dae3 | ||
|
|
26bd214e72 | ||
|
|
ebb061e68d | ||
|
|
c41e908dba | ||
|
|
e296e52531 | ||
|
|
899fecb484 | ||
|
|
c9c499717b | ||
|
|
6837ff730b | ||
|
|
0a0dd81c9a | ||
|
|
19980ec708 | ||
|
|
796f2409a1 | ||
|
|
0b41df7c35 | ||
|
|
f3d7da8feb | ||
|
|
b6b6cced30 | ||
|
|
a4a01de8a1 | ||
|
|
5074feacd6 | ||
|
|
54e2803926 | ||
|
|
cf6a0df3e4 | ||
|
|
17b372a4b9 | ||
|
|
155452ba91 | ||
|
|
b2ed53b785 | ||
|
|
29c6797835 | ||
|
|
5dacf3c3cd | ||
|
|
111b2e83f1 | ||
|
|
3ee4cfe30b | ||
|
|
ddf737daed | ||
|
|
a1980a1917 | ||
|
|
bacf5290d3 | ||
|
|
39e83576a2 | ||
|
|
5b23180303 | ||
|
|
1f4f2291f6 | ||
|
|
84653f70be | ||
|
|
5a18904bb4 | ||
|
|
5bf5b9b16f | ||
|
|
10ed271e38 | ||
|
|
2b8abf2794 | ||
|
|
df5d34266c | ||
|
|
85f0462c20 | ||
|
|
bebf039599 | ||
|
|
1dcb7a58f3 | ||
|
|
ff68c685c0 | ||
|
|
6109529c6c | ||
|
|
d6a42bda95 | ||
|
|
5086450f35 | ||
|
|
b74bdb8f7d | ||
|
|
64b9299eb6 | ||
|
|
e48350fdc1 | ||
|
|
98299f88e8 | ||
|
|
77f1e587e6 | ||
|
|
f23f16da86 | ||
|
|
a1a10edc30 | ||
|
|
5586893ca2 | ||
|
|
167ec6917a | ||
|
|
762eb1cd48 | ||
|
|
b8faed9fe8 | ||
|
|
26c63f3ea4 | ||
|
|
5122b32ccc | ||
|
|
a0d3dbd93c | ||
|
|
9e07c3a7b6 | ||
|
|
abfa1a5fde | ||
|
|
4951feeb8f | ||
|
|
24d0568e5a | ||
|
|
82aa8458bf | ||
|
|
9c51effe5c | ||
|
|
e43de8b815 | ||
|
|
557cbaf3d7 | ||
|
|
24862d6314 | ||
|
|
6e0e812531 | ||
|
|
2f5c7e5f9d | ||
|
|
08e958152c | ||
|
|
f18e513046 | ||
|
|
4226c27ccf | ||
|
|
a035d7d176 | ||
|
|
d5f21caca6 | ||
|
|
8d964e03d2 | ||
|
|
871c4f1b20 | ||
|
|
82812aa679 | ||
|
|
3e12239f11 | ||
|
|
fb4858a5d3 | ||
|
|
058a7a9743 | ||
|
|
9d9a1e0701 | ||
|
|
6a1a0303d8 | ||
|
|
28c0c55780 | ||
|
|
80581b2908 | ||
|
|
f7552c83d2 | ||
|
|
d6c1b71350 | ||
|
|
87901d07de | ||
|
|
c15191375a | ||
|
|
23e9e228c7 | ||
|
|
38a939771c | ||
|
|
6e3d984e5b | ||
|
|
a5700c8f44 | ||
|
|
2dc1cb7c27 | ||
|
|
3ffd4432df | ||
|
|
47c2dc4fcf | ||
|
|
8821fbac76 | ||
|
|
8248ab4f9a | ||
|
|
750944d718 | ||
|
|
65b73ab778 | ||
|
|
a0c9af2385 | ||
|
|
3243958a70 | ||
|
|
fa61faec58 | ||
|
|
e875f0c2b8 | ||
|
|
4ff570571e | ||
|
|
a32817db9d | ||
|
|
1669700148 | ||
|
|
0abeea059e | ||
|
|
132ddf65d6 | ||
|
|
0775744b37 | ||
|
|
8b179c0d2a | ||
|
|
31d8f792e5 | ||
|
|
dd20d04002 | ||
|
|
7b7b7e79e9 | ||
|
|
fda32f6638 | ||
|
|
a5739c248e | ||
|
|
42008fcf98 | ||
|
|
efd99a6f44 | ||
|
|
6f77dc83c4 | ||
|
|
2b08417b77 | ||
|
|
9619c0cdea | ||
|
|
7bd27a13fa | ||
|
|
cb2744a866 | ||
|
|
374b761fdf | ||
|
|
26ccb79f24 | ||
|
|
3a626d8503 | ||
|
|
c8378b6b84 | ||
|
|
64a5a260dd | ||
|
|
e08146d053 | ||
|
|
68fa6cec70 | ||
|
|
a1a03a8061 | ||
|
|
0fc1c85b34 | ||
|
|
4d515d660c | ||
|
|
b2a9b48a78 | ||
|
|
6a1d5edf9d | ||
|
|
8b4706cacd | ||
|
|
1bbdd3798e | ||
|
|
ccbaba79fb | ||
|
|
48a9be28a1 | ||
|
|
335b0b3c56 | ||
|
|
63e4275afb | ||
|
|
36ff576d15 | ||
|
|
463904706b | ||
|
|
10f419e372 | ||
|
|
19e194dd81 | ||
|
|
ba9d2c3690 | ||
|
|
7ad0a3d8d6 | ||
|
|
d396c62499 | ||
|
|
639d4f03a0 | ||
|
|
d267a788d0 | ||
|
|
8e63f09764 | ||
|
|
c103a5927a | ||
|
|
9278d21048 | ||
|
|
e324df2cb9 | ||
|
|
1eba744e8b | ||
|
|
866b2a7a88 | ||
|
|
881d338fca | ||
|
|
42a600412d | ||
|
|
4df9fb38fb | ||
|
|
0fba70d4d1 | ||
|
|
718b3b19b4 | ||
|
|
8d937d2d36 | ||
|
|
3fe4c58e95 | ||
|
|
9b24cccd0b | ||
|
|
a14d07930a | ||
|
|
761fc32cc1 | ||
|
|
8133b67878 | ||
|
|
5e946d6466 | ||
|
|
5b9a134d69 | ||
|
|
a1bedcc263 | ||
|
|
4a60d57544 | ||
|
|
3144fd6845 | ||
|
|
3ab8e13157 | ||
|
|
446e73d8b8 | ||
|
|
eefb211be7 | ||
|
|
8bb0ce0f7f | ||
|
|
489045d715 | ||
|
|
dd5ea670e2 | ||
|
|
a794180586 | ||
|
|
830ec9c9cb | ||
|
|
2107a61bbe | ||
|
|
9c69ab966f | ||
|
|
0193b31a37 | ||
|
|
13590a876b | ||
|
|
b80b45c086 | ||
|
|
873f8a6f27 | ||
|
|
3a49965820 | ||
|
|
98db599c69 | ||
|
|
96aee6eed4 | ||
|
|
2466a55193 | ||
|
|
e53c328767 | ||
|
|
331e047c6d | ||
|
|
720cf0782f | ||
|
|
ad0f842b60 | ||
|
|
1f5b64c98e | ||
|
|
6bbeaee8fe | ||
|
|
9f6a460d42 | ||
|
|
889dbec97b | ||
|
|
6a9d825a65 | ||
|
|
85ce8f8fef | ||
|
|
90d47cffae | ||
|
|
97f98d7e16 | ||
|
|
79c6d50668 | ||
|
|
fb76fc94b5 | ||
|
|
14ea66f3b7 | ||
|
|
b43d96f86c | ||
|
|
58b15fa736 | ||
|
|
dbbf31d87b | ||
|
|
f7b1115ab0 | ||
|
|
f49f9e24b7 | ||
|
|
a2d23fd699 | ||
|
|
5dbdb50cd7 | ||
|
|
8095bbf809 | ||
|
|
e2afa48caa | ||
|
|
a99bd1c835 | ||
|
|
4b34455f0a | ||
|
|
fb04b1aedb | ||
|
|
8581e953f9 | ||
|
|
5513a44a07 | ||
|
|
f1e4f35471 | ||
|
|
78d289110d | ||
|
|
7988532e4e | ||
|
|
589a3fdf95 | ||
|
|
5bd665f10d | ||
|
|
e2524fbf77 | ||
|
|
b4a9e6a119 | ||
|
|
01957de5a2 | ||
|
|
7a68d9a940 | ||
|
|
08c9ff275a | ||
|
|
8e3a3500c2 | ||
|
|
18426ab8fc | ||
|
|
c1d016a531 | ||
|
|
c8dd0383d8 | ||
|
|
b90011aeb1 | ||
|
|
2f4822e73b | ||
|
|
ec18bd3845 | ||
|
|
38e4100e47 | ||
|
|
5d57c59241 | ||
|
|
5de7bfffa6 | ||
|
|
737cafef4e | ||
|
|
a1210da513 | ||
|
|
850771206d | ||
|
|
ee4b807a5d | ||
|
|
68179c8794 | ||
|
|
452636b0e4 | ||
|
|
815c79270d | ||
|
|
861583bb77 | ||
|
|
2cf21f856c | ||
|
|
536b579b35 | ||
|
|
e42ab9ea84 | ||
|
|
6d1b3c1f83 | ||
|
|
f498921715 | ||
|
|
86d25146cc | ||
|
|
e101bfceea | ||
|
|
99dde1ad1e | ||
|
|
dc6817813e | ||
|
|
7f308bf9b5 | ||
|
|
3bac7c9e11 | ||
|
|
33bb150b44 | ||
|
|
8df8fb2fe0 | ||
|
|
f5f50045d6 | ||
|
|
052e507271 | ||
|
|
f25c4f18e6 | ||
|
|
dad9a54959 | ||
|
|
71dafac03c | ||
|
|
633f01e5a2 | ||
|
|
77d7764215 | ||
|
|
e6e953b4d8 | ||
|
|
7dab06952c | ||
|
|
bba6dc6398 | ||
|
|
65f47f7d10 | ||
|
|
f08759a17e | ||
|
|
9768550696 | ||
|
|
591b40e674 | ||
|
|
a69fb2126c | ||
|
|
13090ed778 | ||
|
|
5a8f625ff1 | ||
|
|
5e0c7688d5 | ||
|
|
5f0c2b34dc | ||
|
|
44e2cd2194 | ||
|
|
2b479aa0b4 | ||
|
|
f7a44347cb | ||
|
|
6c3c1d3a0a | ||
|
|
e9881997ed | ||
|
|
bbdf408314 | ||
|
|
52e1bd2ad1 | ||
|
|
77ed7bf5df | ||
|
|
a9e6e93c59 | ||
|
|
2800faffa8 | ||
|
|
a804fe62b4 | ||
|
|
cd8936a224 | ||
|
|
0dc82cddf1 | ||
|
|
8a98f8461d | ||
|
|
eb06c8a33e | ||
|
|
f1104275b4 | ||
|
|
2f3abd3774 | ||
|
|
c01edd76f6 | ||
|
|
269b960d9a | ||
|
|
f4f1f45d5a | ||
|
|
7978b4503d | ||
|
|
48fb353aec | ||
|
|
4f024acc3e | ||
|
|
00c5c940c9 | ||
|
|
00fd9acf31 | ||
|
|
e76b5a370d | ||
|
|
31a96aa4c6 | ||
|
|
a19e8aa89d | ||
|
|
60a6e2a579 | ||
|
|
06cc08026b | ||
|
|
bc669f1702 | ||
|
|
0390085f54 | ||
|
|
417fd13663 | ||
|
|
f9377a4715 | ||
|
|
de5005ca54 | ||
|
|
4c4485d0ee | ||
|
|
56f5c666cc | ||
|
|
168b0db094 | ||
|
|
cc553514af | ||
|
|
b8a40a1b32 | ||
|
|
2bbede6465 | ||
|
|
0a4d040e9d | ||
|
|
95dc569fe2 | ||
|
|
e8ac6567b7 | ||
|
|
75eb61702e | ||
|
|
cfc5bb845a | ||
|
|
1e6240953e | ||
|
|
3ddcac5ced | ||
|
|
a2446e51db | ||
|
|
a2fed6f214 | ||
|
|
60f643cf1a | ||
|
|
968b021985 | ||
|
|
3b6c533b85 | ||
|
|
81c28f528d | ||
|
|
85f0d6c3ea | ||
|
|
bb852592e6 | ||
|
|
c51b964b19 | ||
|
|
5c5f725a34 | ||
|
|
11d1be882c | ||
|
|
5601c979ab | ||
|
|
97eec37f1c | ||
|
|
69475b7bf8 | ||
|
|
e70aebf2c7 | ||
|
|
d9f898ab8c | ||
|
|
02512180e0 | ||
|
|
dde3b3ef65 | ||
|
|
f9d78c0c57 | ||
|
|
e7a9447d94 | ||
|
|
269df77873 | ||
|
|
844b5f30df | ||
|
|
cbd48f5129 | ||
|
|
bcc5bebd77 | ||
|
|
840a98d8ac | ||
|
|
166853dd56 | ||
|
|
bc1279ccfa | ||
|
|
1b0b49cceb | ||
|
|
494e6786b3 | ||
|
|
33ddbd7425 | ||
|
|
eae5e1d8f0 | ||
|
|
4c28454729 | ||
|
|
b5be8ff620 | ||
|
|
5ac63ec534 | ||
|
|
7fb2d4d1c9 | ||
|
|
8bc57e38d1 | ||
|
|
4248c7bed2 | ||
|
|
30221ae8cf | ||
|
|
2425fdfadd | ||
|
|
1541be8790 | ||
|
|
add55e480e | ||
|
|
47538071d3 | ||
|
|
769d824e7b | ||
|
|
f178aa65ca | ||
|
|
d6c8f65dad | ||
|
|
cf2ba78fc1 | ||
|
|
12e6d1bf6c | ||
|
|
820e6e5d95 | ||
|
|
f3eec7582e | ||
|
|
11b3b94e6f | ||
|
|
f0551fe6d2 | ||
|
|
ba95251ea2 | ||
|
|
bbf07641ed | ||
|
|
ec2a8b5551 | ||
|
|
e35135d5b1 | ||
|
|
056e3ec2af | ||
|
|
cb302c16e7 | ||
|
|
46f673fb5f | ||
|
|
ba33f73767 | ||
|
|
78de38d0db | ||
|
|
f01e76f686 | ||
|
|
3d82f0965e | ||
|
|
334cdf7dca | ||
|
|
c5a7dfbabb | ||
|
|
e0aa140960 | ||
|
|
8ccb581185 | ||
|
|
f1f4fc18e9 | ||
|
|
4124ee6bc4 | ||
|
|
7b0861842a | ||
|
|
ce145cc056 | ||
|
|
f233d4f610 | ||
|
|
27d42aa9a4 | ||
|
|
06494b085a | ||
|
|
cd4c81d15d | ||
|
|
2b95bd2fcc | ||
|
|
eea034e0e5 | ||
|
|
a760fca08c | ||
|
|
52340e9176 | ||
|
|
f527602753 | ||
|
|
0997a7960d | ||
|
|
ec95aacd52 | ||
|
|
4244979f4f | ||
|
|
14ab409ca9 | ||
|
|
a3436135c9 | ||
|
|
722e939e19 | ||
|
|
8e95f2e223 | ||
|
|
c0e93a17da | ||
|
|
bf4b99fa64 | ||
|
|
16facc81aa | ||
|
|
3ab8b6f7d1 | ||
|
|
44cecb8e7d | ||
|
|
82a2bb1690 | ||
|
|
179da9a220 | ||
|
|
64b757ed81 | ||
|
|
3daf06960d | ||
|
|
3bc227b467 | ||
|
|
e9374e8c08 | ||
|
|
6149994b43 | ||
|
|
396bae21d6 | ||
|
|
cff713ad07 | ||
|
|
f7aa08f3fd | ||
|
|
53e1bb8615 | ||
|
|
c2cbbffd12 | ||
|
|
63c6bd5d17 | ||
|
|
14ca936cfc | ||
|
|
f9fb73ee82 | ||
|
|
cdca651ded | ||
|
|
dad82fa1fa | ||
|
|
a4d8739477 | ||
|
|
d6385fe1cc | ||
|
|
40c1b02a6c | ||
|
|
f6445f9cef | ||
|
|
74cba062b4 | ||
|
|
dd86453020 | ||
|
|
691658cde3 | ||
|
|
518d23f278 | ||
|
|
7224f64224 | ||
|
|
640bf7c34b | ||
|
|
aba4c90d2b | ||
|
|
65a486a48b | ||
|
|
7bf922c8d6 | ||
|
|
dc96e10215 | ||
|
|
bd6afa10ed | ||
|
|
4ff6b1ab1a | ||
|
|
d0da5ef047 | ||
|
|
e1fec958ef | ||
|
|
d1136beef1 | ||
|
|
e163b0237f | ||
|
|
08d4195504 | ||
|
|
b73fe26d6e | ||
|
|
469ff4320a | ||
|
|
f7f0059767 | ||
|
|
de0d53a2bb | ||
|
|
8f492a6677 | ||
|
|
016c889aa8 | ||
|
|
9244ef23af | ||
|
|
8e1f9c8d70 | ||
|
|
9220419409 | ||
|
|
4b4fe9811f | ||
|
|
1bcc2c92a3 | ||
|
|
e147259e95 | ||
|
|
cec7464410 | ||
|
|
13f91a645c | ||
|
|
e97a84102b | ||
|
|
bf7f4c1cab | ||
|
|
ca9e33e809 | ||
|
|
3602155c5e | ||
|
|
119be5da42 | ||
|
|
565de5258f | ||
|
|
7aecce526a | ||
|
|
1592968709 | ||
|
|
6d26a7a46d | ||
|
|
cf7973d0fa | ||
|
|
b252680346 | ||
|
|
ad8b92541d | ||
|
|
d74c1a81ab | ||
|
|
dd78363f0f | ||
|
|
cbe64bf09d | ||
|
|
f426b9dcd2 | ||
|
|
ee4d697172 | ||
|
|
ca3c5d9513 | ||
|
|
7e491c479c | ||
|
|
2a9275d0de | ||
|
|
bc2d8ebabd | ||
|
|
f9976bdb6a | ||
|
|
e39373ed9a | ||
|
|
d16a1e587e | ||
|
|
ab9226aab6 | ||
|
|
0b20369dd7 | ||
|
|
b22aef3521 | ||
|
|
9da597d56e | ||
|
|
7a9ce455d9 | ||
|
|
2b602e7b5a | ||
|
|
f2acb048cc | ||
|
|
e64e161a58 | ||
|
|
f1d1be83ac | ||
|
|
13abff1ed7 | ||
|
|
2b69358c9c | ||
|
|
fd890c0b81 | ||
|
|
46f117b0f9 | ||
|
|
6c522f8772 | ||
|
|
99f1876aa2 | ||
|
|
49db9d1304 | ||
|
|
65a69d3019 | ||
|
|
5a14a44100 | ||
|
|
9666d5e3ae | ||
|
|
90edd96646 | ||
|
|
9379e28a94 | ||
|
|
736320ba47 | ||
|
|
ae3240bad8 | ||
|
|
bfb923f54b | ||
|
|
dfa071e093 | ||
|
|
fac24889f6 | ||
|
|
ba67483421 | ||
|
|
68ff0aa7c9 | ||
|
|
47d423aae4 | ||
|
|
b781cf2067 | ||
|
|
64fe082539 | ||
|
|
f6df17bc01 | ||
|
|
3611ac673f | ||
|
|
9cc01635aa | ||
|
|
3a11a46101 | ||
|
|
12ae552486 | ||
|
|
c15849df2d | ||
|
|
099daf4296 | ||
|
|
9ed77c6060 | ||
|
|
fe9e7a0fa9 | ||
|
|
900cdd5368 | ||
|
|
d976a5575b | ||
|
|
6eb3fe1ae4 | ||
|
|
a834796181 | ||
|
|
9ae7486555 | ||
|
|
5216bbca72 | ||
|
|
b9954f5b2b | ||
|
|
15d680ea4b | ||
|
|
fc65421b2e | ||
|
|
32c777a78b | ||
|
|
bb612d24db | ||
|
|
14ab058f34 | ||
|
|
3561c8e6f3 | ||
|
|
9dbf054026 | ||
|
|
4b3191b64e | ||
|
|
610dc8cd0c | ||
|
|
c195c6fd10 | ||
|
|
28e20f1826 | ||
|
|
db4be17f5b | ||
|
|
c3b255bce9 | ||
|
|
e71dc6bc32 | ||
|
|
d1879c1b9f | ||
|
|
e1a40bd8bd | ||
|
|
0f3db1e912 | ||
|
|
83447243ae | ||
|
|
d4bcea0799 | ||
|
|
d8e8b34605 | ||
|
|
8487913209 | ||
|
|
c97692a664 | ||
|
|
06dbc4e36c | ||
|
|
9ea3e33f94 | ||
|
|
19e2bd8c90 | ||
|
|
7fc8799c3d | ||
|
|
0d6d064e7e | ||
|
|
2dbbc76645 | ||
|
|
b94d913440 | ||
|
|
a0543d1752 | ||
|
|
6f718af1b6 | ||
|
|
17f1638ec2 | ||
|
|
14889f0c11 | ||
|
|
9a1a1eec21 | ||
|
|
4e21891f14 | ||
|
|
bd35395d13 | ||
|
|
20bec865fd | ||
|
|
23eee1b83a | ||
|
|
2cfe088ee4 | ||
|
|
68994823dd | ||
|
|
71a1857b49 | ||
|
|
c23fab267c | ||
|
|
08a4713101 | ||
|
|
744f370920 | ||
|
|
86d8870939 | ||
|
|
0d37d51cef | ||
|
|
215d6ec0bb | ||
|
|
8af28c74c6 | ||
|
|
aa2fc8605c | ||
|
|
1785943580 | ||
|
|
495a261bfd | ||
|
|
4c52a6ee6f | ||
|
|
25b66e0491 | ||
|
|
8f818529a6 | ||
|
|
7cc3fe9c95 | ||
|
|
653d9d4167 | ||
|
|
27ba1680bf | ||
|
|
40686fde0d | ||
|
|
f19e469b5f | ||
|
|
9f2b0b4f29 | ||
|
|
9e2a0cb671 | ||
|
|
2fb806bfc2 | ||
|
|
1223be1e5b | ||
|
|
289f46977b | ||
|
|
56071cb142 | ||
|
|
70b8ccd441 | ||
|
|
a3bbf2aff9 | ||
|
|
562c47dd62 | ||
|
|
2f6493dabd | ||
|
|
b63cfccf49 | ||
|
|
9720ab1ea5 | ||
|
|
2c46613f4a | ||
|
|
0cefe5af43 | ||
|
|
97c9d6bafc | ||
|
|
342e26f679 | ||
|
|
789427b75d | ||
|
|
c2701d735b | ||
|
|
9d2d165cfc | ||
|
|
02f45b7f43 | ||
|
|
012643a892 | ||
|
|
63bfc093c3 | ||
|
|
bc7d839c64 | ||
|
|
91a894f459 | ||
|
|
bf0b578e5a | ||
|
|
fad9fe71bc | ||
|
|
f9dc25cf3f | ||
|
|
cbaa7816bf | ||
|
|
70494bab95 | ||
|
|
b543f76ac9 | ||
|
|
be0f091474 | ||
|
|
7bbeca147b | ||
|
|
a86de9b685 | ||
|
|
de0cf14ece | ||
|
|
175e3eca6b | ||
|
|
6c7d2cdd12 | ||
|
|
04c2c4379a | ||
|
|
531a48388b | ||
|
|
a93ad958ac | ||
|
|
ffc730d82f | ||
|
|
5b34897927 | ||
|
|
60c633fd8b | ||
|
|
e7e48f6b2b | ||
|
|
a57e0d3505 | ||
|
|
73ad0f9302 | ||
|
|
a9fb86e506 | ||
|
|
6da0077738 | ||
|
|
4333e96ecb | ||
|
|
8ec61b8ac6 | ||
|
|
782aaf52ae | ||
|
|
32fd2e03ce | ||
|
|
5aaba31c6a | ||
|
|
ec47bc05b5 | ||
|
|
102e85e1e7 | ||
|
|
fa6941efc6 | ||
|
|
2cba7ab9e6 | ||
|
|
de63388d33 | ||
|
|
291d70fa9d | ||
|
|
058cf8782c | ||
|
|
354aee2457 | ||
|
|
1389f75933 | ||
|
|
b1b69336ae | ||
|
|
7021f4fb01 | ||
|
|
1eaf615426 | ||
|
|
be3f458754 | ||
|
|
be0c7ba28f | ||
|
|
ca322942ae | ||
|
|
1375e20fe2 | ||
|
|
4f41ee9f4c | ||
|
|
9d08f4c5f5 | ||
|
|
e4f51d8f7a | ||
|
|
df70450073 | ||
|
|
229cbc2342 | ||
|
|
a87314f732 | ||
|
|
0254edb426 | ||
|
|
adc96cc826 | ||
|
|
38233ca05d | ||
|
|
4fdfe05168 | ||
|
|
05ed96f7fa | ||
|
|
cb189ed83e | ||
|
|
cc858b2af0 | ||
|
|
e6a387cb65 | ||
|
|
dc46d59d68 | ||
|
|
f245f43a3f | ||
|
|
f2affade35 | ||
|
|
de548ba610 | ||
|
|
6e54577167 | ||
|
|
def53d92bd | ||
|
|
6d3b166340 | ||
|
|
c5a36f67ec | ||
|
|
18a6a3f499 | ||
|
|
f9076162b6 | ||
|
|
bf5d2ec336 | ||
|
|
9f92446dba | ||
|
|
0721974c05 | ||
|
|
445bac25fe | ||
|
|
154d1520fb | ||
|
|
0ccd29c6cd | ||
|
|
5738d6de98 | ||
|
|
f6be7d7930 | ||
|
|
f64cb085a7 | ||
|
|
3b8a3ccb14 | ||
|
|
d3a14c514a | ||
|
|
6bad77d8fb | ||
|
|
74ef9d5c59 | ||
|
|
d6b2cb0b31 | ||
|
|
cc9f26a035 | ||
|
|
b27cf2cbd6 | ||
|
|
b25db97c28 | ||
|
|
1a7c88751c | ||
|
|
07377e7156 | ||
|
|
5dc35ec137 | ||
|
|
a448b7e36a | ||
|
|
4fe83ebbf9 | ||
|
|
e4dbf6a9e4 | ||
|
|
bc686a7995 | ||
|
|
bb7aa9f29c | ||
|
|
711e7e6fc6 | ||
|
|
5e95daad91 | ||
|
|
4d506d29d9 | ||
|
|
0b24a6e2d6 | ||
|
|
b182bf1eb7 | ||
|
|
139cf10c7c | ||
|
|
615122bf37 | ||
|
|
328b8b9643 | ||
|
|
3e2ed270e1 | ||
|
|
22fb37f856 | ||
|
|
8bdf02b340 | ||
|
|
911cccba80 | ||
|
|
4a91476be3 | ||
|
|
b810e6e556 | ||
|
|
dcce6731fe | ||
|
|
a1e92b464f | ||
|
|
013023204f | ||
|
|
d43c6e57c7 | ||
|
|
fbf51302dd | ||
|
|
a486b4e415 | ||
|
|
bb45b8bbc5 | ||
|
|
5b3be47b47 | ||
|
|
84dff915c1 | ||
|
|
9b3a3a47c2 | ||
|
|
6f8234dd60 | ||
|
|
add4528e6c | ||
|
|
d03763f6c3 | ||
|
|
76cb6f760a | ||
|
|
071c405bad | ||
|
|
71265558d2 | ||
|
|
c3fe0c1ae9 | ||
|
|
4b4360af32 | ||
|
|
a31fec1b0b | ||
|
|
00856eb277 | ||
|
|
7af788729b | ||
|
|
35fca84f19 | ||
|
|
40aadc8125 | ||
|
|
85228fd8e7 | ||
|
|
a3469f1f01 | ||
|
|
9dafdf41bb | ||
|
|
d710d9f114 | ||
|
|
a5deeebfdc | ||
|
|
7cb283d0ea | ||
|
|
8e6a40d475 | ||
|
|
cd5d3f5368 | ||
|
|
b602b7098c | ||
|
|
16204d9261 | ||
|
|
b14a1b2ae6 | ||
|
|
137efaa1f4 | ||
|
|
e3fede595f | ||
|
|
fc02f0f08f | ||
|
|
ff6368b39f | ||
|
|
04b611f758 | ||
|
|
eb3c53d897 | ||
|
|
cb3cb1f734 | ||
|
|
061a3384fc | ||
|
|
2c1e892efe | ||
|
|
c799f0f10f | ||
|
|
bc0c5fb55e | ||
|
|
c3b30893fc | ||
|
|
29ca4b7a0a | ||
|
|
1d5fb1320b | ||
|
|
9f02bc78a7 | ||
|
|
820ae82088 | ||
|
|
0f7e09d01f | ||
|
|
af92eb3725 | ||
|
|
86d91ff698 | ||
|
|
a220634d30 | ||
|
|
a26a7cedf8 | ||
|
|
30d4a7fadc | ||
|
|
7437eb8088 | ||
|
|
3b8fefdb2a | ||
|
|
d4414bc0f2 | ||
|
|
ecd90ddbff | ||
|
|
6ab41766c8 | ||
|
|
f774ff487b | ||
|
|
8d13ab0d4b | ||
|
|
68aca6f2bb | ||
|
|
1ec7d4b488 | ||
|
|
f32125497f | ||
|
|
be6f99c10e | ||
|
|
b6ff6527bc | ||
|
|
b58f6b36a8 | ||
|
|
cf80f97b95 | ||
|
|
45927cc986 | ||
|
|
e713c8dadc | ||
|
|
f392eb4c94 | ||
|
|
3e9ddbfcd0 | ||
|
|
3f4978d786 | ||
|
|
25cc27c857 | ||
|
|
bac870dc3b | ||
|
|
2eb01cfbf9 | ||
|
|
8eac8c0c84 | ||
|
|
7edf2eacea | ||
|
|
8750b60a81 | ||
|
|
96cb9fe6cb | ||
|
|
aee35c86d6 | ||
|
|
823825075e | ||
|
|
37cc0dc4f3 | ||
|
|
c79fc516d3 | ||
|
|
1ffb964dd1 | ||
|
|
c17f5e7f00 | ||
|
|
75a46030de | ||
|
|
6b26ae6f1f | ||
|
|
5a0c66b9ad | ||
|
|
4c0059266c | ||
|
|
b8b56e2d26 | ||
|
|
5d81eca1a3 | ||
|
|
fe3939debe | ||
|
|
dfe0052e27 | ||
|
|
32e7c91b2b | ||
|
|
d6c4993c40 | ||
|
|
52630dca7d | ||
|
|
80a68a8295 | ||
|
|
18b44ccfae | ||
|
|
1fad543f67 | ||
|
|
de3d66eaeb | ||
|
|
64513c10d9 | ||
|
|
40349a9f53 | ||
|
|
b35b5690c2 | ||
|
|
3cc3d4d82f | ||
|
|
69d23b3ea0 | ||
|
|
abb845b579 | ||
|
|
351705b76b | ||
|
|
4343d82874 | ||
|
|
cc86e280f9 | ||
|
|
e3f96802fb | ||
|
|
e424ae5b86 | ||
|
|
e0a874b5fd | ||
|
|
98f140962a | ||
|
|
454cb1cbf8 | ||
|
|
6727385765 | ||
|
|
b465d71535 | ||
|
|
3c96063165 | ||
|
|
ca05345a60 | ||
|
|
bab7533578 | ||
|
|
db7478098a | ||
|
|
eca9408c91 | ||
|
|
8b6d613cb0 | ||
|
|
49d1983acd | ||
|
|
1ce4996a34 | ||
|
|
1a87d98357 | ||
|
|
f7c31d651c | ||
|
|
e3ced8487a | ||
|
|
f2b9b8b1bb | ||
|
|
3548f72d8a | ||
|
|
526066803c | ||
|
|
671f8e0be5 | ||
|
|
7d433f9845 | ||
|
|
48006cb42d | ||
|
|
6fd77e7ef6 | ||
|
|
4ce2495a33 | ||
|
|
b713bd7b88 | ||
|
|
d85f319a86 | ||
|
|
c207daa18c | ||
|
|
a6f6d5d74f | ||
|
|
483905b9e3 | ||
|
|
9af336b53b | ||
|
|
0738103da8 | ||
|
|
5514598536 | ||
|
|
c9c54e38cc | ||
|
|
9bf32603fe | ||
|
|
ebcc68cdfa | ||
|
|
4922071af9 | ||
|
|
06fcbe12a8 | ||
|
|
2a025b16ec | ||
|
|
4eeb92d082 | ||
|
|
111d215ef1 | ||
|
|
2eea7cdc7f | ||
|
|
75eb9cadc7 | ||
|
|
ef23f6fc46 | ||
|
|
42d992b009 | ||
|
|
7d09b4b45c | ||
|
|
973d61fe13 | ||
|
|
055397a94b | ||
|
|
80653409a2 | ||
|
|
7deacdf851 | ||
|
|
3819529d86 | ||
|
|
885c26f27b | ||
|
|
1c59f2df1c | ||
|
|
3b14fa2b35 | ||
|
|
9bc2957257 | ||
|
|
c64ffb3087 | ||
|
|
b7cb2e6b9d | ||
|
|
96b49cfabe | ||
|
|
c94c0699d8 | ||
|
|
180cc0b200 | ||
|
|
cfe35f32e8 | ||
|
|
e52d8a609f | ||
|
|
35d2e4f84c | ||
|
|
5e63f16d32 | ||
|
|
3622b472dd | ||
|
|
cffc92a5c0 | ||
|
|
82921232f5 | ||
|
|
2169a8668d | ||
|
|
4bd257f007 | ||
|
|
bbb58dd365 | ||
|
|
2bfde7ba30 | ||
|
|
83564b2b04 | ||
|
|
75f01cbead | ||
|
|
1751b58ef8 | ||
|
|
e77be9e529 | ||
|
|
0514fa02d5 | ||
|
|
0397fa7dc3 | ||
|
|
2624632fde | ||
|
|
e95a9cad03 | ||
|
|
1b3efbb9a3 | ||
|
|
4f47bddd0a | ||
|
|
90c397d1a4 | ||
|
|
f863604621 | ||
|
|
d09f4bed21 | ||
|
|
164c9e0b75 | ||
|
|
17aed0f360 | ||
|
|
20d6920a0c | ||
|
|
9436b1d046 | ||
|
|
fe2f96ab20 | ||
|
|
c2be3364e0 | ||
|
|
b8a0f6aec9 | ||
|
|
4e8ec8e598 | ||
|
|
96362b40e4 | ||
|
|
be89fddc52 | ||
|
|
92a5030f8f | ||
|
|
50f18ff939 | ||
|
|
defb9a772f | ||
|
|
7ac22cf7d2 | ||
|
|
8d867dde69 | ||
|
|
3024d82536 | ||
|
|
7d3c266a1d | ||
|
|
1f2cc71975 | ||
|
|
42008ae8cb | ||
|
|
12ff7a8af5 | ||
|
|
c11ff57fbe | ||
|
|
331cb38a10 | ||
|
|
8ed21f606e | ||
|
|
9eab1f51cc | ||
|
|
bc478a75ee | ||
|
|
21168308af | ||
|
|
f4738dc1d4 | ||
|
|
83b27c33d8 | ||
|
|
250e8aacaf | ||
|
|
6a815dd585 | ||
|
|
7c1af329f2 | ||
|
|
be76fd93fd | ||
|
|
eee17589b2 | ||
|
|
1c39e7ecbd | ||
|
|
67a7a210fd | ||
|
|
7318d0fbc0 | ||
|
|
ed52fc20d6 | ||
|
|
605919be76 | ||
|
|
0b5707c1cf | ||
|
|
bb8ec0c8f9 | ||
|
|
268aabbacd | ||
|
|
e18caccdc9 | ||
|
|
d2016632e6 | ||
|
|
94fee7af70 | ||
|
|
f58da0fa73 | ||
|
|
96a4aa2d26 | ||
|
|
852b78f79f | ||
|
|
bdc9d5b463 | ||
|
|
b1e3ac5181 | ||
|
|
1e09200347 | ||
|
|
b78537730a | ||
|
|
218fb88eef | ||
|
|
9fff30416a | ||
|
|
202774de0b | ||
|
|
41865f934c | ||
|
|
0b2b84a50d | ||
|
|
59e98f97e3 | ||
|
|
212e9825a3 | ||
|
|
95da79108f | ||
|
|
37d22d1e94 | ||
|
|
8e5cbb1f6c | ||
|
|
5aea97affd | ||
|
|
5f80e9ed20 | ||
|
|
b2ad8c74a5 | ||
|
|
c70a7ee63a | ||
|
|
1e7b100770 | ||
|
|
d8ede4147d | ||
|
|
6645b8a454 | ||
|
|
50e3049fd7 | ||
|
|
1c97b3f779 | ||
|
|
972d3c69b6 | ||
|
|
42c7fc1c8d | ||
|
|
a779eea202 | ||
|
|
55a51a9724 | ||
|
|
d5db0eee76 | ||
|
|
141895b904 | ||
|
|
86b410ab22 | ||
|
|
882af6405b | ||
|
|
2d97ad5177 | ||
|
|
36c4d272e7 | ||
|
|
a12f4da978 | ||
|
|
600801a442 | ||
|
|
0f9aa69e4e | ||
|
|
b57371bfa1 | ||
|
|
6226d39cda | ||
|
|
fada3ca9a2 | ||
|
|
d8cf23ad95 | ||
|
|
6349e5e4a2 | ||
|
|
18f6718e06 | ||
|
|
0b31bfc067 | ||
|
|
6bff4dde77 | ||
|
|
c80d1285e3 | ||
|
|
dcb507fd37 | ||
|
|
c895c892a5 | ||
|
|
2783ec7dc8 | ||
|
|
09af3e1efe | ||
|
|
1f936ef584 | ||
|
|
bcd441cc1e | ||
|
|
6d5767e464 | ||
|
|
c20256f702 | ||
|
|
910eeee4b8 | ||
|
|
f8b6b004cd | ||
|
|
3011ecf6df | ||
|
|
827bf4b22a | ||
|
|
00d8e65629 | ||
|
|
92160b167b | ||
|
|
395b003266 | ||
|
|
36c5b2d69c | ||
|
|
f61e9ecc04 | ||
|
|
0228cd9db7 | ||
|
|
b31bf68376 | ||
|
|
355ec7fd27 | ||
|
|
25d18f225f | ||
|
|
9e91baca36 | ||
|
|
bf9313dd87 | ||
|
|
709bf20deb | ||
|
|
9681b9abad | ||
|
|
b964f9e9e3 | ||
|
|
a771f34c96 | ||
|
|
5baf48fc15 | ||
|
|
3d56c8ff6a | ||
|
|
0450498e2b | ||
|
|
78dc958685 | ||
|
|
9ef3683acc | ||
|
|
c5b26fa42a | ||
|
|
234ba0ca1c | ||
|
|
2bec2b4bec | ||
|
|
3b9cfea8c9 | ||
|
|
8f6023ab5f | ||
|
|
31fb2e9293 | ||
|
|
76d4dee411 | ||
|
|
4d331aeef5 | ||
|
|
289a2c6312 | ||
|
|
5258c522ce | ||
|
|
df5d4795bf | ||
|
|
5aa4d61afe | ||
|
|
f1d8f3cb8e | ||
|
|
f9dc010b3c | ||
|
|
ed47b27ed9 | ||
|
|
5caa7ccd13 | ||
|
|
6dddcbfe49 | ||
|
|
2df2c12cfd | ||
|
|
d61d4778fb | ||
|
|
4fcff3e2e5 | ||
|
|
393f32097b | ||
|
|
f0a7cc3268 | ||
|
|
add5328d8f | ||
|
|
2b3bd260c6 | ||
|
|
304e9d2c83 | ||
|
|
948bcaaad7 | ||
|
|
108cf11c8b | ||
|
|
d2b2f29e4b | ||
|
|
f96f8384e6 | ||
|
|
a2760aeacb | ||
|
|
5239620356 | ||
|
|
c28c6e578e | ||
|
|
5ef626813c | ||
|
|
f3cbe1beac | ||
|
|
37c7d05a9e | ||
|
|
1a254b310e | ||
|
|
203dc5518a | ||
|
|
f5d1d1563b | ||
|
|
c813077f82 | ||
|
|
4f582609f4 | ||
|
|
097e8d33a2 | ||
|
|
31adeb7477 | ||
|
|
76725c61ed | ||
|
|
9b3e65d80f | ||
|
|
76f72d5bcc | ||
|
|
0327738aa9 | ||
|
|
a01c985018 | ||
|
|
f0bfe46ebc | ||
|
|
8613cdf24a | ||
|
|
94e1f41849 | ||
|
|
161f5eadd4 | ||
|
|
d5ab896782 | ||
|
|
c024037c62 | ||
|
|
42a4af3b6e | ||
|
|
acaca341ab | ||
|
|
f08f4d7c5e | ||
|
|
8b8615c13b | ||
|
|
cf63f1a40d | ||
|
|
70a83f5ef9 | ||
|
|
2fdda8cbfb | ||
|
|
7ac4a6f43c | ||
|
|
8bc655b44f | ||
|
|
9eb54ffb4b | ||
|
|
5572364d2b | ||
|
|
dec7fe42af | ||
|
|
d7163fe543 | ||
|
|
cfc337a79a | ||
|
|
ad104470d8 | ||
|
|
bd095f597d | ||
|
|
4f173d095c | ||
|
|
a6275181ec | ||
|
|
cf1a2c44a3 | ||
|
|
ecd99608c3 | ||
|
|
f6b8017386 | ||
|
|
bf926cd791 | ||
|
|
f46db55f71 | ||
|
|
5be7e75fe6 | ||
|
|
ffe7b531a6 | ||
|
|
d80de2cdd4 | ||
|
|
4f4ac30fc0 | ||
|
|
43597c1731 | ||
|
|
ac824728bc | ||
|
|
434bb1bec7 | ||
|
|
d87e146e47 | ||
|
|
04a20d2008 | ||
|
|
b42a33b203 | ||
|
|
8156b1400b | ||
|
|
8e9d760903 | ||
|
|
a6992e116b | ||
|
|
3e160fb209 | ||
|
|
a3ceb2a970 | ||
|
|
55bfc98d48 | ||
|
|
2c7b2cf227 | ||
|
|
997a7ff843 | ||
|
|
214fe2d552 | ||
|
|
2142ab997d | ||
|
|
e2912b5f7f | ||
|
|
5c59d291ce | ||
|
|
f8f9e0355c | ||
|
|
0c4a3b23af | ||
|
|
f7c1203d4c | ||
|
|
cbd10106b8 | ||
|
|
7e29889eab | ||
|
|
dfd8b5e20c | ||
|
|
c11431177c | ||
|
|
2f68afaff3 | ||
|
|
c8338f45c4 | ||
|
|
63585ea9ca | ||
|
|
bcafa2c790 | ||
|
|
37d4d303b3 | ||
|
|
cdc40ca76f | ||
|
|
2564413a70 | ||
|
|
6e1f6f7485 | ||
|
|
ef2629d309 | ||
|
|
9394f3f405 | ||
|
|
1bad6ebc78 | ||
|
|
92a5ebc459 | ||
|
|
6a19cc614a | ||
|
|
8a8a90de78 | ||
|
|
f096253a6d | ||
|
|
0cb11a537d | ||
|
|
8a17feb69b | ||
|
|
ad4512cb24 | ||
|
|
3a625ce6bf | ||
|
|
0025b507a7 | ||
|
|
dda17f4082 | ||
|
|
2031cdfdd7 | ||
|
|
ccf32636f8 | ||
|
|
9410b18473 | ||
|
|
8eced58ba0 | ||
|
|
fcc0632beb | ||
|
|
1ae4341d57 | ||
|
|
2dd3bacd4f | ||
|
|
ec661d0c6c | ||
|
|
43f6d3deaf | ||
|
|
0c8765bfe3 | ||
|
|
94bcb0dc40 | ||
|
|
f1853c435b | ||
|
|
d02814192f | ||
|
|
630bf8f8e0 | ||
|
|
494e5b20a5 | ||
|
|
d0cc935cd5 | ||
|
|
893240ce21 | ||
|
|
dbb2d464db | ||
|
|
b6edde320b | ||
|
|
a209c0ba5b | ||
|
|
6fcc33e6d0 | ||
|
|
9c2aaf7d23 | ||
|
|
ff19a87941 | ||
|
|
d27ec6306c | ||
|
|
1ab938895b | ||
|
|
8a3fbf9533 | ||
|
|
78ce6c0b1c | ||
|
|
2766b1d8f1 | ||
|
|
185d478fc3 | ||
|
|
f1ef8b8faa | ||
|
|
33f293ae19 | ||
|
|
2d8fee8adb | ||
|
|
d2e17eb321 | ||
|
|
ca97c0bef3 | ||
|
|
5e7c0639b0 | ||
|
|
5093fecc60 | ||
|
|
42ef7149fd | ||
|
|
bbdaa59921 | ||
|
|
b8499a80ec | ||
|
|
971ae8ae59 | ||
|
|
728ca22183 | ||
|
|
a7afb5bdae | ||
|
|
c1a004106d | ||
|
|
fc61cc9bfa | ||
|
|
bbe400e01f | ||
|
|
8e64ea274d | ||
|
|
4dfaf9ce38 | ||
|
|
32b015e661 | ||
|
|
d167fb4fcd | ||
|
|
f6848e8655 | ||
|
|
55d062784d | ||
|
|
a6c1cfca7e | ||
|
|
5e75dd27e8 | ||
|
|
5c81074483 | ||
|
|
a8dbcf4d36 | ||
|
|
9b35e0985f | ||
|
|
14e3aa8a02 | ||
|
|
c7d31f4570 | ||
|
|
fb3392a7b2 | ||
|
|
b206ceea9e | ||
|
|
4a57a2adcd | ||
|
|
d476ca4a68 | ||
|
|
ab57c236be | ||
|
|
742bdcb715 | ||
|
|
387d36e4b0 | ||
|
|
8c7b8bba52 | ||
|
|
e659b9e693 | ||
|
|
682d765de9 | ||
|
|
c8e6387e52 | ||
|
|
8bad4a3c1d | ||
|
|
e624049161 | ||
|
|
beb471980e | ||
|
|
2b83d3fda7 | ||
|
|
9b6b5feb4f | ||
|
|
94cd8debeb | ||
|
|
5d2a81a4f0 | ||
|
|
932206a152 | ||
|
|
7cbee97f6e | ||
|
|
076a842488 | ||
|
|
865fea37e9 | ||
|
|
a2911cef11 | ||
|
|
ad4babb154 | ||
|
|
aaa2d75dc3 | ||
|
|
90a5f6c7ef | ||
|
|
3c81c99656 | ||
|
|
07ff74b069 | ||
|
|
8c1abac3de | ||
|
|
688d58413b | ||
|
|
a2bc97210b | ||
|
|
8b9755e7c2 | ||
|
|
9eaa096c79 | ||
|
|
1e28653aa9 | ||
|
|
9cca9f352f | ||
|
|
0cb5220d4d | ||
|
|
8e612b532a | ||
|
|
9949713d20 | ||
|
|
83d3af9bf8 | ||
|
|
516632e41d | ||
|
|
4e08e2b5d5 | ||
|
|
1a2ed2138b | ||
|
|
f43dd6c834 | ||
|
|
4dbc1dd1c6 | ||
|
|
8ed0798939 | ||
|
|
f29eeceb1a | ||
|
|
ce3fa14511 | ||
|
|
f7586cdbfa | ||
|
|
2080f58c2c | ||
|
|
9ed659f75f | ||
|
|
0c99e1d46c | ||
|
|
e294fe1edd | ||
|
|
7892852f44 | ||
|
|
1aa719272b | ||
|
|
823e976f39 | ||
|
|
e5d5a25433 | ||
|
|
fa82cbceb9 | ||
|
|
9eaeaae2fb | ||
|
|
be78e96313 | ||
|
|
b4bffb902f | ||
|
|
9aa234255d | ||
|
|
baea822ed5 | ||
|
|
74b42f6cb4 | ||
|
|
65d303999f | ||
|
|
2ca01741ac | ||
|
|
c5bb55064f | ||
|
|
8e4e08f907 | ||
|
|
e4ad082214 | ||
|
|
c70bdabeda | ||
|
|
4666de85e2 | ||
|
|
4063260cc8 | ||
|
|
012fc4e8fe | ||
|
|
1ded34aa97 | ||
|
|
fc6382ea7e | ||
|
|
42f33fc10e | ||
|
|
ad15f3f1e9 | ||
|
|
6144f90770 | ||
|
|
3ea52a7967 | ||
|
|
8e2999f73f | ||
|
|
e496823778 | ||
|
|
389554bd9d | ||
|
|
f9ee4b3c9d | ||
|
|
62832167a0 | ||
|
|
a636c58cef | ||
|
|
fdb938af0f | ||
|
|
be4fe3d0d0 | ||
|
|
466086dca3 | ||
|
|
9fa44e6221 | ||
|
|
9631dc908b | ||
|
|
8c306a968f | ||
|
|
3679a4ba90 | ||
|
|
747b6a9f94 | ||
|
|
72243d4f38 | ||
|
|
9fa3d8ddd1 | ||
|
|
a432e57b12 | ||
|
|
416577a6aa | ||
|
|
1631985d11 | ||
|
|
11c1bdecdf | ||
|
|
811ac6701a | ||
|
|
c7e20c9a80 | ||
|
|
a2ac578712 | ||
|
|
8fc2d5ebb8 | ||
|
|
8874e59284 | ||
|
|
24b2b83b85 | ||
|
|
4c7eba0ee0 | ||
|
|
e30649dcd2 | ||
|
|
e0201535e2 | ||
|
|
023e7ce8ce | ||
|
|
07f2d9474e | ||
|
|
cb4c3a4431 | ||
|
|
538cf90f5e | ||
|
|
f0323e5b80 | ||
|
|
685b7b23ad | ||
|
|
174edb6140 | ||
|
|
7d30df42a2 | ||
|
|
1e5c35093b | ||
|
|
a1b6aedc90 | ||
|
|
e351657cc0 | ||
|
|
b301c54b7e | ||
|
|
ece46a9a85 | ||
|
|
460fb7a453 | ||
|
|
7e1cf124b8 | ||
|
|
d38bebf990 | ||
|
|
96876992d4 | ||
|
|
7dca46df57 | ||
|
|
61ff1d2fb4 | ||
|
|
b985dc3342 | ||
|
|
25ce734638 | ||
|
|
ebc6bede13 | ||
|
|
0044a1a334 | ||
|
|
6cf8c3d08c | ||
|
|
d8b9cdf5c2 | ||
|
|
39e4cc1dda | ||
|
|
e2472351c3 | ||
|
|
31c27b8f7c | ||
|
|
5cc8ec4f5f | ||
|
|
5c9edcd6a3 | ||
|
|
bb2e843fc9 | ||
|
|
53bd5022e0 | ||
|
|
46320071a0 | ||
|
|
8cfdfbe47d | ||
|
|
faeeca533b | ||
|
|
6f0250cb94 | ||
|
|
330c965cb9 | ||
|
|
a96655c363 | ||
|
|
65febb6e7b | ||
|
|
7d16f62a9d | ||
|
|
56bc99a558 | ||
|
|
567280e85d | ||
|
|
6916d251b5 | ||
|
|
03c6d8fdc3 | ||
|
|
0e36295e12 | ||
|
|
a8e4391887 | ||
|
|
b7ee10a074 | ||
|
|
2c493a4fe3 | ||
|
|
7d72b6c3a1 | ||
|
|
442e15e94e | ||
|
|
e5a06635dc | ||
|
|
a153480bc6 | ||
|
|
773caf808e | ||
|
|
6ce1ef08cf | ||
|
|
96da5bf0e0 | ||
|
|
4cd3a4f4aa | ||
|
|
51270ab28a | ||
|
|
338ad5add6 | ||
|
|
29dfb71bbd | ||
|
|
d5e0bcfaee | ||
|
|
8de6748b67 | ||
|
|
1dafb58f09 | ||
|
|
8acd702cd1 | ||
|
|
f25bb79d80 | ||
|
|
534e574379 | ||
|
|
656dd94011 | ||
|
|
722847cbe6 | ||
|
|
e2790895ad | ||
|
|
b1f858a461 | ||
|
|
79dec7ad90 | ||
|
|
f336becdb3 | ||
|
|
a2f610ffbe | ||
|
|
93611e6e5b | ||
|
|
a79aa1f203 | ||
|
|
31c60cc8ce | ||
|
|
0b38fcb830 | ||
|
|
abfe36620a | ||
|
|
2deadea40a | ||
|
|
012d2c2a9e | ||
|
|
430f8ad619 | ||
|
|
92f1778c9d | ||
|
|
289a7ecf14 | ||
|
|
396012f7e7 | ||
|
|
3269b463bb | ||
|
|
56785f1149 | ||
|
|
865d853af8 | ||
|
|
3612fb02bc | ||
|
|
fa75ef3b57 | ||
|
|
b34947b37c | ||
|
|
496379ced8 | ||
|
|
24e780cb0c | ||
|
|
a31d5cc193 | ||
|
|
8070030c45 | ||
|
|
ec1a6e1c29 | ||
|
|
754b028ec6 | ||
|
|
31c2815d0f | ||
|
|
66dc82621d | ||
|
|
c963a6d8a1 | ||
|
|
ff31fff2d7 | ||
|
|
9bb537f399 | ||
|
|
c2fc40d62a | ||
|
|
4b78c8e11a | ||
|
|
c4912c5e25 | ||
|
|
df9f153142 | ||
|
|
f4efd3b2e8 | ||
|
|
b9c1da7d27 | ||
|
|
8490a415c3 | ||
|
|
088d34b4b2 | ||
|
|
56abf1cd72 | ||
|
|
74ee3e9823 | ||
|
|
2e2cecb6c7 | ||
|
|
0ed2481a20 | ||
|
|
88cd5dec40 | ||
|
|
ca0a6cb307 | ||
|
|
7e7958cf73 | ||
|
|
d1d4c6d8a5 | ||
|
|
9fbd7806f0 | ||
|
|
57b4cb08b7 | ||
|
|
81e715f34c | ||
|
|
84f1b8c02b | ||
|
|
ae4bd4445e | ||
|
|
e30fd28b02 | ||
|
|
32a1086ff7 | ||
|
|
2503a69f98 | ||
|
|
174b4ee6a2 | ||
|
|
f806b4373a | ||
|
|
37c908aa99 | ||
|
|
d0bab2f7e2 | ||
|
|
06690431f2 | ||
|
|
67f05515d9 | ||
|
|
0de66e838c | ||
|
|
f87772f3ec | ||
|
|
a88491ecc6 | ||
|
|
0cfd4504ad | ||
|
|
d15c3b2c23 | ||
|
|
d304c7785e | ||
|
|
c19eabf711 | ||
|
|
b384f91096 | ||
|
|
dce9c2bc76 | ||
|
|
3d7b6e9a26 | ||
|
|
1e3b8e56f2 | ||
|
|
0d71350c76 | ||
|
|
30a25251d9 | ||
|
|
86e0d377f8 | ||
|
|
c8067931e3 | ||
|
|
b210d7a00f | ||
|
|
2f78446433 | ||
|
|
45067c63d8 | ||
|
|
3a053e3fed |
5
.gitignore
vendored
Normal file → Executable file
5
.gitignore
vendored
Normal file → Executable file
@@ -17,7 +17,4 @@ doxygen_warnings.log
|
||||
*.iml
|
||||
Thumbs.db
|
||||
# Vagrant generated files
|
||||
.vagrant
|
||||
/index.html
|
||||
/phpmyadmin
|
||||
/xhprof
|
||||
.vagrant
|
||||
@@ -180,8 +180,38 @@ tools:
|
||||
- 'htdocs/includes/*'
|
||||
paths: { }
|
||||
|
||||
php_changetracking:
|
||||
enabled: false
|
||||
bug_patterns:
|
||||
- '\bfix(?:es|ed)?\b'
|
||||
feature_patterns:
|
||||
- '\badd(?:s|ed)?\b'
|
||||
- '\bimplement(?:s|ed)?\b'
|
||||
filter:
|
||||
excluded_paths:
|
||||
- 'build/*'
|
||||
- 'dev/*'
|
||||
- 'doc/*'
|
||||
- 'test/*'
|
||||
- 'htdocs/includes/*'
|
||||
paths: { }
|
||||
|
||||
# Coding-Style / Bug Detection
|
||||
js_hint: false
|
||||
js_hint:
|
||||
enabled: false
|
||||
use_native_config: true
|
||||
extensions:
|
||||
- js
|
||||
filter:
|
||||
excluded_paths:
|
||||
- 'build/*'
|
||||
- 'dev/*'
|
||||
- 'doc/*'
|
||||
- 'test/*'
|
||||
- 'htdocs/includes/*'
|
||||
paths: { }
|
||||
config: { }
|
||||
path_configs: { }
|
||||
|
||||
|
||||
before_commands: { }
|
||||
|
||||
383
.travis.yml
383
.travis.yml
@@ -1,302 +1,113 @@
|
||||
# This script is used by Travis CI to run automatically Continuous test integration
|
||||
# from Dolibarr GitHub repository.
|
||||
# Command run is phpunit
|
||||
# For syntax, see http://about.travis-ci.org/docs/user/languages/php/
|
||||
|
||||
sudo: required
|
||||
|
||||
language: php
|
||||
|
||||
php:
|
||||
- '5.3'
|
||||
- '5.4'
|
||||
- '5.5'
|
||||
- '5.6'
|
||||
- '7.0'
|
||||
- nightly
|
||||
|
||||
addons:
|
||||
mariadb: '10.0'
|
||||
# FIXME: find a way to import a MySQL dump into PostgreSQL
|
||||
#postgresql: '9.3'
|
||||
apt:
|
||||
packages:
|
||||
# We need a webserver to test the webservices
|
||||
# Let's install Apache with.
|
||||
- apache2
|
||||
# mod_php is not supported by Travis. Add fcgi. We install FPM later on.
|
||||
- libapache2-mod-fastcgi
|
||||
|
||||
# Start on every boot
|
||||
services:
|
||||
- memcached
|
||||
|
||||
env:
|
||||
global:
|
||||
# Set to true for very verbose output
|
||||
- DEBUG=false
|
||||
matrix:
|
||||
# MariaDB overrides MySQL installation so it's not possible to test both yet
|
||||
#- DB=mysql
|
||||
- DB=mariadb
|
||||
# FIXME: find a way to import a MySQL dump into PostgreSQL
|
||||
#- DB=postgresql
|
||||
# TODO
|
||||
#- DB=sqlite
|
||||
# See https://docs.travis-ci.com/user/languages/php/#Apache-%2B-PHP
|
||||
#- WS=apache
|
||||
# See https://github.com/DracoBlue/travis-ci-nginx-php-fpm-test
|
||||
#- WS=nginx
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
allow_failures:
|
||||
- php: '7.0'
|
||||
- php: nightly
|
||||
# FIXME
|
||||
#- env: DB=postgresql
|
||||
# TODO
|
||||
#- env: DB=sqlite
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_success: never # [always|never|change] default: change
|
||||
on_failure: change # [always|never|change] default: always
|
||||
irc:
|
||||
channels:
|
||||
- "chat.freenode.net#dolibarr"
|
||||
on_success: change
|
||||
on_failure: always
|
||||
use_notice: true
|
||||
|
||||
services:
|
||||
- memcached # will start memcached
|
||||
|
||||
before_install:
|
||||
- |
|
||||
echo "Disabling Xdebug for composer"
|
||||
export PHP_VERSION_NAME=$(phpenv version-name)
|
||||
cp ~/.phpenv/versions/$PHP_VERSION_NAME/etc/conf.d/xdebug.ini /tmp/xdebug.ini
|
||||
phpenv config-rm xdebug.ini
|
||||
echo
|
||||
# This will tell travis to run phpunit
|
||||
language: php
|
||||
php:
|
||||
# - "5.2" is not supported because pyrus to install PHP_Codesniffer is not available
|
||||
- "5.3"
|
||||
- "5.4"
|
||||
- "5.5"
|
||||
|
||||
install:
|
||||
- |
|
||||
echo "Updating Composer"
|
||||
composer self-update
|
||||
echo
|
||||
env:
|
||||
- DB=mysql
|
||||
# - DB=postgres
|
||||
|
||||
- |
|
||||
echo "Installing Parallel Lint"
|
||||
composer -n require jakub-onderka/php-parallel-lint ^0
|
||||
composer -n require jakub-onderka/php-console-highlighter ^0
|
||||
echo
|
||||
before_script:
|
||||
- echo Start travis
|
||||
- echo Current dir is `pwd`
|
||||
- echo Home dir is `echo ~`
|
||||
- export PHPV=`phpenv version-name`
|
||||
- echo PHP version $PHPV
|
||||
# - echo Update composer
|
||||
# - ~/.phpenv/versions/$(phpenv version-name)/bin/composer.phar self-update
|
||||
- echo PHPUnit version
|
||||
- phpunit --version
|
||||
- echo Install phpcs then show installed rules
|
||||
- pyrus install pear/PHP_CodeSniffer
|
||||
- phpenv rehash
|
||||
- phpcs -i
|
||||
- echo Create dir $(pwd)/htdocs/documents
|
||||
- sudo mkdir -p $(pwd)/htdocs/documents/admin/temp;
|
||||
- sudo touch $(pwd)/htdocs/documents/dolibarr.log;
|
||||
- sudo chmod a+rwx /home; sudo chmod a+rwx /home/travis; sudo chmod -R a+rwx /home/travis/build;
|
||||
- sudo chmod -R a+rwx $(pwd);
|
||||
- sudo chown -R www-data:travis $(pwd)/htdocs/documents;
|
||||
- find $(pwd)/htdocs/documents -type d -exec ls -alt {} \;
|
||||
- echo Edit php.ini file
|
||||
- echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
# - echo "extension = memcache.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension = memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- sh -c "if [ '$PHPV' = '5.3' ]; then echo 'extension = apc.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.4' ]; then echo 'extension = apc.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.3' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- sh -c "if [ '$PHPV' = '5.4' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi"
|
||||
- cat ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo Mysql version
|
||||
- mysql --version
|
||||
- echo Init database
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS myapp_test;' -U postgres; fi"
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'DROP DATABASE IF EXISTS myapp_test;'; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE IF NOT EXISTS myapp_test;'; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.5.0.sql; fi"
|
||||
- echo Create config file htdocs/conf/conf.php
|
||||
- echo '<?php ' > htdocs/conf/conf.php
|
||||
- sh -c "if [ '$DB' = 'pgsql' ]; then echo '$'dolibarr_main_db_type=\'pgsql\'';' >> htdocs/conf/conf.php; fi"
|
||||
- sh -c "if [ '$DB' = 'mysql' ]; then echo '$'dolibarr_main_db_type=\'mysqli\'';' >> htdocs/conf/conf.php; fi"
|
||||
- echo '$'dolibarr_main_url_root=\'http://localhost/\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_document_root=\'$(pwd)/htdocs\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_data_root=\'$(pwd)/htdocs/documents\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_db_host=\'localhost\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_db_name=\'myapp_test\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_db_user=\'travis\'';' >> htdocs/conf/conf.php
|
||||
- echo '$'dolibarr_main_authentication=\'dolibarr\'';' >> htdocs/conf/conf.php
|
||||
- echo '?>' >> htdocs/conf/conf.php
|
||||
- echo Show conf.php content
|
||||
- cat htdocs/conf/conf.php
|
||||
- echo Install apache server
|
||||
- sudo apt-get update
|
||||
- sudo apt-get install -y --force-yes apache2 libapache2-mod-php5 php5-curl php5-mysql php5-pgsql php5-intl
|
||||
- sudo sed -i -e "s,/var/www,$(pwd)/htdocs,g" /etc/apache2/sites-available/default
|
||||
- echo Show default virtual host
|
||||
- sudo cat /etc/apache2/sites-available/default
|
||||
- sudo /etc/init.d/apache2 restart
|
||||
- wget http://localhost/
|
||||
- cat index.html
|
||||
|
||||
- |
|
||||
echo "Installing PHP Unit"
|
||||
if [ "$TRAVIS_PHP_VERSION" = '5.3' ] || [ "$TRAVIS_PHP_VERSION" = '5.4' ] || [ "$TRAVIS_PHP_VERSION" = '5.5' ]; then
|
||||
composer -n require phpunit/phpunit ^4
|
||||
fi
|
||||
if [ "$TRAVIS_PHP_VERSION" = '5.6' ] || [ "$TRAVIS_PHP_VERSION" = '7.0' ] || [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
|
||||
composer -n require phpunit/phpunit ^5
|
||||
fi
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Installing PHP CodeSniffer"
|
||||
composer require squizlabs/php_codesniffer ^2
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Adding Composer binaries to the path"
|
||||
export PATH="$TRAVIS_BUILD_DIR/htdocs/includes/bin:$PATH"
|
||||
echo
|
||||
|
||||
before_script:
|
||||
- |
|
||||
echo Start travis
|
||||
echo Current dir is `pwd`
|
||||
echo Home dir is `echo ~`
|
||||
echo TRAVIS_BUILD_DIR is $TRAVIS_BUILD_DIR
|
||||
|
||||
- |
|
||||
echo "Re-enabling Xdebug for PHP CodeSniffer and PHP Unit"
|
||||
phpenv config-add /tmp/xdebug.ini
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Setting up PHP"
|
||||
echo
|
||||
echo "Set timezone"
|
||||
echo 'date.timezone = "Europe/Paris"' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
|
||||
if [ "$TRAVIS_PHP_VERSION" = '5.3' ] || [ "$TRAVIS_PHP_VERSION" = '5.4' ]; then
|
||||
echo
|
||||
echo "Enabling APC for PHP <= 5.4"
|
||||
# Documentation says it should be available for PHP <= 5.6 but it's not for 5.5 and 5.6!
|
||||
echo 'extension = apc.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
|
||||
echo
|
||||
echo "Enabling Memcached for PHP <= 5.4"
|
||||
# Documentation says it should be available for all PHP versions but it's not for 5.5 and 5.6, 7.0 and nightly!
|
||||
echo 'extension = memcached.so' >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
|
||||
fi
|
||||
phpenv rehash
|
||||
echo
|
||||
|
||||
- |
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "Debugging informations"
|
||||
# Check PHP
|
||||
php -i
|
||||
# Check PHP CodeSniffer installation
|
||||
which phpcs
|
||||
phpcs --version
|
||||
phpcs -i
|
||||
# Check PHPUnit installation
|
||||
which phpunit
|
||||
phpunit --version
|
||||
# Check MySQL
|
||||
mysql --version
|
||||
mysql -e "SELECT VERSION();"
|
||||
echo
|
||||
fi
|
||||
|
||||
- |
|
||||
echo "Setting up database"
|
||||
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ]; then
|
||||
echo "MySQL"
|
||||
mysql -e 'DROP DATABASE IF EXISTS travis;'
|
||||
mysql -e 'CREATE DATABASE IF NOT EXISTS travis;'
|
||||
mysql -D travis < dev/initdata/mysqldump_dolibarr_3.5.0.sql
|
||||
fi
|
||||
# FIXME: find a way to import a MySQL dump into PostgreSQL
|
||||
#if [ "$DB" = 'postgresql' ]; then
|
||||
# pgsql travis < dev/initdata/mysqldump_dolibarr_3.5.0.sql
|
||||
#fi
|
||||
# TODO: SQLite
|
||||
echo
|
||||
|
||||
- |
|
||||
export CONF_FILE=htdocs/conf/conf.php
|
||||
echo "Setting up Dolibarr $CONF_FILE"
|
||||
echo '<?php ' > $CONF_FILE
|
||||
echo '$'dolibarr_main_url_root=\'http://127.0.0.1\'';' >> $CONF_FILE
|
||||
echo '$'dolibarr_main_document_root=\'$TRAVIS_BUILD_DIR/htdocs\'';' >> $CONF_FILE
|
||||
echo '$'dolibarr_main_data_root=\'$TRAVIS_BUILD_DIR/documents\'';' >> $CONF_FILE
|
||||
echo '$'dolibarr_main_db_host=\'127.0.0.1\'';' >> $CONF_FILE
|
||||
echo '$'dolibarr_main_db_name=\'travis\'';' >> $CONF_FILE
|
||||
echo '$'dolibarr_main_db_user=\'travis\'';' >> $CONF_FILE
|
||||
if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ]; then
|
||||
echo '$'dolibarr_main_db_type=\'mysqli\'';' >> $CONF_FILE
|
||||
fi
|
||||
# FIXME
|
||||
#if [ "$DB" = 'postgresql' ]; then
|
||||
# echo '$'dolibarr_main_db_type=\'pgsql\'';' >> $CONF_FILE
|
||||
#fi
|
||||
# TODO: SQLite
|
||||
echo '$'dolibarr_main_authentication=\'dolibarr\'';' >> $CONF_FILE
|
||||
cat $CONF_FILE
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Create documents directory and set permissions"
|
||||
# and admin/temp subdirectory needed for unit tests
|
||||
mkdir -p documents/admin/temp
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Setting up Apache + FPM"
|
||||
# enable php-fpm
|
||||
cp ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php-fpm.conf.default ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php-fpm.conf
|
||||
if [ "$TRAVIS_PHP_VERSION" = '7.0' ] || [ "$TRAVIS_PHP_VERSION" = 'nightly' ]; then
|
||||
# Copy the included pool
|
||||
cp ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php-fpm.d/www.conf.default ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php-fpm.d/www.conf
|
||||
fi
|
||||
if [ "$DEBUG" = true ]; then
|
||||
cat ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php-fpm.conf
|
||||
fi
|
||||
sudo a2enmod rewrite actions fastcgi alias
|
||||
echo "cgi.fix_pathinfo = 1" >> ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
|
||||
if [ "$DEBUG" = true ]; then
|
||||
cat ~/.phpenv/versions/$PHP_VERSION_NAME/etc/php.ini
|
||||
fi
|
||||
~/.phpenv/versions/$PHP_VERSION_NAME/sbin/php-fpm
|
||||
# configure apache virtual hosts
|
||||
sudo cp -f build/travis-ci/apache.conf /etc/apache2/sites-available/default
|
||||
sudo sed -e "s?%TRAVIS_BUILD_DIR%?$TRAVIS_BUILD_DIR?g" --in-place /etc/apache2/sites-available/default
|
||||
if [ "$DEBUG" = true ]; then
|
||||
sudo cat /etc/apache2/sites-available/default
|
||||
fi
|
||||
sudo service apache2 restart
|
||||
echo
|
||||
|
||||
script:
|
||||
- |
|
||||
echo "Checking webserver availability"
|
||||
# Ensure we catch errors
|
||||
set -e
|
||||
wget http://127.0.0.1
|
||||
if [ "$DEBUG" = true ]; then
|
||||
cat index.html
|
||||
fi
|
||||
set +e
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Checking PHP syntax errors"
|
||||
# Ensure we catch errors
|
||||
set -e
|
||||
parallel-lint --exclude htdocs/includes --blame .
|
||||
set +e
|
||||
echo
|
||||
|
||||
# TODO: dev/* checks
|
||||
|
||||
- |
|
||||
echo "Checking coding style"
|
||||
# Ensure we catch errors
|
||||
set -e
|
||||
# Exclusions are defined in the ruleset.xml file
|
||||
phpcs -s -n -p -d memory_limit=-1 --colors --tab-width=4 --standard=dev/codesniffer/ruleset.xml --encoding=utf-8 .
|
||||
set +e
|
||||
echo
|
||||
|
||||
# TODO: Check Javascript (jshint?)
|
||||
|
||||
# TODO: Check CSS (csslint?)
|
||||
|
||||
# TODO: check SQL syntax (pgsanity?)
|
||||
|
||||
- |
|
||||
echo "Upgrading Dolibarr"
|
||||
# Ensure we catch errors
|
||||
set -e
|
||||
cd htdocs/install
|
||||
php upgrade.php 3.5.0 3.6.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade350360.log
|
||||
php upgrade2.php 3.5.0 3.6.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade350360-2.log
|
||||
cd -
|
||||
set +e
|
||||
echo
|
||||
|
||||
- |
|
||||
echo "Unit testing"
|
||||
# Ensure we catch errors
|
||||
set -e
|
||||
phpunit -d memory_limit=-1 -c test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
||||
set +e
|
||||
echo
|
||||
|
||||
after_success:
|
||||
|
||||
after_failure:
|
||||
- |
|
||||
if [ "$DEBUG" = true ]; then
|
||||
echo "Debugging informations"
|
||||
# Upgrade log files
|
||||
cat *.log
|
||||
# Dolibarr log file
|
||||
cat documents/dolibarr.log
|
||||
# Apache log file
|
||||
sudo cat /var/log/apache2/error.log
|
||||
# MariaDB log file
|
||||
sudo cat /var/log/mysql/error.log
|
||||
# TODO: PostgreSQL log file
|
||||
echo
|
||||
fi
|
||||
script:
|
||||
- cd htdocs/install
|
||||
- date
|
||||
# - php upgrade.php 3.4.0 3.5.0 > upgrade.log
|
||||
# - php upgrade2.php 3.4.0 3.5.0 > upgrade2.log
|
||||
- php upgrade.php 3.5.0 3.6.0 >> upgrade.log
|
||||
- php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log
|
||||
- php upgrade.php 3.6.0 3.7.0 >> upgrade.log
|
||||
# - cat upgrade360370.log
|
||||
- php upgrade2.php 3.6.0 3.7.0 >> upgrade2.log
|
||||
# - cat upgrade2.log
|
||||
- cd ../..
|
||||
- date
|
||||
- phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php
|
||||
- date
|
||||
# - phpcs -p --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php 2>&1
|
||||
- phpcs -p --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/dev/vagrant/,/documents/,/includes/,/test/report/ . 2>&1
|
||||
- date
|
||||
|
||||
after_script:
|
||||
# - echo Output dolibarr log file; cat $(pwd)/htdocs/documents/dolibarr.log
|
||||
- echo Output apache log file; sudo cat /var/log/apache2/error.log
|
||||
- echo End travis
|
||||
|
||||
|
||||
12
.tx/config
12
.tx/config
@@ -2,6 +2,12 @@
|
||||
host = https://www.transifex.com
|
||||
lang_map = uz: uz_UZ
|
||||
|
||||
[dolibarr.accountancy]
|
||||
file_filter = htdocs/langs/<lang>/accountancy.lang
|
||||
source_file = htdocs/langs/en_US/accountancy.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.admin]
|
||||
file_filter = htdocs/langs/<lang>/admin.lang
|
||||
source_file = htdocs/langs/en_US/admin.lang
|
||||
@@ -266,12 +272,6 @@ source_file = htdocs/langs/en_US/sendings.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.shop]
|
||||
file_filter = htdocs/langs/<lang>/shop.lang
|
||||
source_file = htdocs/langs/en_US/shop.lang
|
||||
source_lang = en_US
|
||||
type = MOZILLAPROPERTIES
|
||||
|
||||
[dolibarr.sms]
|
||||
file_filter = htdocs/langs/<lang>/sms.lang
|
||||
source_file = htdocs/langs/en_US/sms.lang
|
||||
|
||||
65
COPYRIGHT
65
COPYRIGHT
@@ -9,41 +9,41 @@ More information: http://www.gnu.org/licenses/gpl-3.0.txt
|
||||
|
||||
Dolibarr uses some external libraries released under different licenses. This is compatibility summary:
|
||||
|
||||
Component Version License GPL Compatible Usage
|
||||
Component Version License GPL Compatible Usage
|
||||
-------------------------------------------------------------------------------------
|
||||
PHP libraries:
|
||||
AdoDb-Date 0.32 Modified BSD License Yes Date convertion (not into rpm package)
|
||||
CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG
|
||||
FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management
|
||||
FPDF_TPL 1.2 Apache Software License 2.0 Yes PDF templates management
|
||||
GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package)
|
||||
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
|
||||
odtPHP 1.0.1 GPL-2+ b Yes Library to build/edit ODT files
|
||||
PHPExcel 1.7.6 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
|
||||
PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests
|
||||
TCPDF 6.0.093 LGPL-3+ Yes PDF generation
|
||||
AdoDb-Date 0.32 Modified BSD License Yes Date convertion (not into rpm package)
|
||||
CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG
|
||||
FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management
|
||||
FPDF_TPL 1.2 Apache Software License 2.0 Yes PDF templates management
|
||||
GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package)
|
||||
NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package)
|
||||
odtPHP 1.0.1 GPL-2+ b Yes Library to build/edit ODT files
|
||||
PHPExcel 1.7.8 LGPL-2.1+ Yes Read/Write XLS files, read ODS files
|
||||
PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests
|
||||
TCPDF 6.0.093 LGPL-3+ Yes PDF generation
|
||||
|
||||
JS libraries:
|
||||
jQuery 1.8.2 MIT License Yes JS library
|
||||
jQuery UI 1.9.1 GPL and MIT License Yes JS library plugin UI
|
||||
jQuery UI Multiselect ? GPL and MIT License Yes JS library plugin for sexier multiselect
|
||||
jQuery blockUI 2.43 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups)
|
||||
jQuery Colorpicker 1.1 MIT License Yes JS library for color picker for a defined list of colors
|
||||
jQuery DataTables 1.9.4 BSD Yes JS library for tables output
|
||||
jQuery FileUpload 5.0.3 GPL and MIT License Yes JS library to upload files
|
||||
jQuery Flot 0.7 MIT License Yes JS library to build graph
|
||||
jQuery JCrop 0.9.8 GPL and MIT License Yes JS library plugin Crop (to crop images)
|
||||
jQuery Jeditable 1.7.1 GPL and MIT License Yes JS library plugin jeditable (to edit in place)
|
||||
jQuery jNotify 1.1.00 Apache Software License 2.0 Yes JS library plugin jNotify (to use ajax popups)
|
||||
jQuery jPicker 1.1.6 GPL and MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery jqueryFileTree 1.0.1 GPL and MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery jquerytreeview 1.4.1 MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery Layout 1.3.0rc30.74 GPL and MIT License Yes JS library plugin Layout (RC-29.15)
|
||||
jQuery Mobile 1.3.0 GPL and MIT License Yes JS library for smartphone (not used)
|
||||
jQuery TableDnD 0.6 GPL and MIT License Yes JS library plugin TableDnD (to reorder table rows)
|
||||
jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker
|
||||
jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips
|
||||
jsGantt 1.2 BSD License Yes JS library (to build Gantt reports)
|
||||
jQuery 1.8.2 MIT License Yes JS library
|
||||
jQuery UI 1.9.1 GPL and MIT License Yes JS library plugin UI
|
||||
jQuery select2 3.5.2 GPL and Apache License Yes JS library plugin for sexier multiselect
|
||||
jQuery blockUI 2.43 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups)
|
||||
jQuery Colorpicker 1.1 MIT License Yes JS library for color picker for a defined list of colors
|
||||
jQuery DataTables 1.9.4 BSD Yes JS library for tables output
|
||||
jQuery FileUpload 5.0.3 GPL and MIT License Yes JS library to upload files
|
||||
jQuery Flot 0.7 MIT License Yes JS library to build graph
|
||||
jQuery JCrop 0.9.8 GPL and MIT License Yes JS library plugin Crop (to crop images)
|
||||
jQuery Jeditable 1.7.1 GPL and MIT License Yes JS library plugin jeditable (to edit in place)
|
||||
jQuery jNotify 1.1.00 Apache Software License 2.0 Yes JS library plugin jNotify (to use ajax popups)
|
||||
jQuery jPicker 1.1.6 GPL and MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery jqueryFileTree 1.0.1 GPL and MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery jquerytreeview 1.4.1 MIT License Yes JS library for color picker with not defined list of colors
|
||||
jQuery Layout 1.3.0rc30.74 GPL and MIT License Yes JS library plugin Layout (RC-29.15)
|
||||
jQuery Mobile 1.3.0 GPL and MIT License Yes JS library for smartphone (not used)
|
||||
jQuery TableDnD 0.6 GPL and MIT License Yes JS library plugin TableDnD (to reorder table rows)
|
||||
jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker
|
||||
jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips
|
||||
jsGantt 1.2 BSD License Yes JS library (to build Gantt reports)
|
||||
|
||||
For licenses compatibility informations:
|
||||
http://www.fsf.org/licensing/licenses/index_html
|
||||
@@ -52,9 +52,6 @@ http://www.fsf.org/licensing/licenses/index_html
|
||||
Copyright
|
||||
---------
|
||||
|
||||
Copyright (C) 2015
|
||||
- Marcos García <marcosgdf@gmail.com>
|
||||
|
||||
Copyright (C) 2014
|
||||
- Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
- Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
|
||||
342
ChangeLog
342
ChangeLog
@@ -2,120 +2,179 @@
|
||||
English Dolibarr ChangeLog
|
||||
--------------------------------------------------------------
|
||||
|
||||
***** ChangeLog for 3.6.7 compared to 3.6.6 *****
|
||||
FIX: #4291 Correctly filter external calendar GETPOSTs
|
||||
FIX: CVE CVE-2015-8685
|
||||
|
||||
***** ChangeLog for 3.6.6 compared to 3.6.5 *****
|
||||
FIX: #3734 Do not show empty links of deleted source objects in stock movement list
|
||||
FIX: #4081 Added missing translation
|
||||
FIX: #4097 Public holiday calculation
|
||||
FIX: #4242 Allow disabling dashes in documents
|
||||
FIX: #4243 sql injection
|
||||
FIX: Add a protection to not make release if ChangeLog was not generated. Prepare package 3.6.5
|
||||
FIX: export with category contact extrafields
|
||||
FIX: Not delete a product when have customer price
|
||||
FIX: Not deleting contrats on element_element table
|
||||
***** ChangeLog for 3.7 compared to 3.6.* *****
|
||||
For users:
|
||||
- New: Match other auth system: Login can be done entering login or user
|
||||
email (this open the road for SSO).
|
||||
- New: Agenda export by project #1967.
|
||||
- New: Increase length of thirdparty to 128 chars.
|
||||
- New: "Is Order shippable" icon #1975.
|
||||
- New: statistics on supplier orders and invoices on home page.
|
||||
- New: Add permissions to read all trips and expenses.
|
||||
- New: Can filter on date into tab "Referring object" of a project.
|
||||
- New: Module notification has been enhanced:
|
||||
EMail use now language of target contact.
|
||||
Can also define a fixed email for notifications.
|
||||
- New: Feature to link manually an order to an invoice does not disappear once
|
||||
link has been done.
|
||||
- New: Can set a color on user card (visible into agenda view).
|
||||
- New: extrafields for projects and tasks are exported to ODT documents.
|
||||
- New: Add number of active notification into tab title (like we do for notes and documents)
|
||||
- New: Can add product into category from category card.
|
||||
- New: PDF event report show project and status of event.
|
||||
- New: Can filter on status on interventions.
|
||||
- New: Add help info of field type into dictionary of payment types.
|
||||
- New: Add proposals into referer page of thirdparty.
|
||||
- New: On contact list can set filter on both active and not active (no more exclusive select).
|
||||
- New: Intervention documents are now available in ECM module.
|
||||
- New: Can attach supplier order to a customer order.
|
||||
- New: Supervisor is now visible into user list.
|
||||
- New: Add user of creation and validation on invoice export.
|
||||
- New: Add info page about browser.
|
||||
- New: Enable feature developed for 3.6 we forgot to enabled: Adding prefix
|
||||
on uploaded file names.
|
||||
- New: No more dependency between contract and service module.
|
||||
- New: [ task #867 ] Remove ESAEB external module code from core.
|
||||
- New: Can create proposal from an intervention.
|
||||
- New: An event can be assigned to several users.
|
||||
- New: Can filter events on a group of users.
|
||||
- New: Can filter events of a thirdparty.
|
||||
- New: Onto event summary of elements, end date and status are visible.
|
||||
- New: Split Agenda view (month, week, day) into different tabs.
|
||||
- New: Add a view "per user" of agenda events (with different colors according to type of event).
|
||||
- New: Each user can include its own external ics calendar into dolibarr agenda view.
|
||||
- New: Add event FICHINTER_CLASSIFY_BILLED into list of possible events to
|
||||
create an automatic event into agenda.
|
||||
- New: Add new type of event (when type of events are used, not by default).
|
||||
- New: Can disable predefined type of events.
|
||||
- New: Form to add a photo is immediatly available on photo page if
|
||||
permissions are ok (save one click per photo to add).
|
||||
- New: Add option PRODUCT_MAX_VISIBLE_PHOTO to limit number of photos
|
||||
shown on main product card.
|
||||
- New: Add country into table of thirdparties type. This will allow to provide
|
||||
a list of thirdparty types specific to a country (like argentina that
|
||||
need type A or B).
|
||||
- New: Can force a specific bank account onto an invoice/order.
|
||||
- New: Home page of project area shows list of draft project (like other main page).
|
||||
- New: Can search on project ref or string from project main page (like other main page).
|
||||
- New: First change to match accessibility rules: http://www.w3.org/TR/WCAG10-HTML-TECHS/
|
||||
Differentiate text and img.
|
||||
Use label into quick search form.
|
||||
Use accesskey on form search.
|
||||
- New: Intervention documents are now available in ECM module.
|
||||
- New: Add attachments on user card + in ECM module.
|
||||
- New: Can add __PROJECT_REF__ and __TIHRPARTY_NAME__ into email topic or content template.
|
||||
- New: [ task #1204 ] add Numering contrat module free (like leopard in product module).
|
||||
- New: [ task #712 ] Add warning when creating invoice from proposal or order, when there is already one invoice.
|
||||
- New: Enable supplier price log table.
|
||||
- New: [ task #1204 ] add a supplier reference to contract.
|
||||
- New: [ task #1218 ] Can drag and drop an event from calendar to change its day.
|
||||
- New: Optimize size of image static resources.
|
||||
- New: Add hourly and daily amount on user card. Add weekly working hours and salary on user card.
|
||||
- New: Content of predefined email come firstly from table llx_c_email_template, then translation key.
|
||||
- New: Add option MAIN_GENERATE_INVOICES_WITH_PICTURE to show picture
|
||||
onto PDF like MAIN_GENERATE_PROPOSALS_WITH_PICTURE dir for proposals.
|
||||
- New: Add more search field in list of cheque deposits.
|
||||
- New: Add feature to order to invoice on supplier part.
|
||||
- New : Use of MAIN_USE_FILECACHE_EXPORT_EXCEL_DIR to use disk cache for big excel export.
|
||||
- New: Direct invoice creation from predefined invoice.
|
||||
- New: Add dunning into accountancy report.
|
||||
- New: Add favorite button into country dictionary to put value on top select list
|
||||
- Upgrade phpexcel lib to 1.7.8
|
||||
- New : Use of MAIN_USE_FILECACHE_EXPORT_EXCEL_DIR to use disk cache for big excel export
|
||||
- New : Option on extrafields to have them always editable regardless of the document status
|
||||
- Fix: [ bug #1487 ] PAYMENT_DELETE trigger does not intercept trigger action
|
||||
- Fix: [ bug #1470, #1472, #1473] User trigger problem
|
||||
- Fix: [ bug #1489, #1491 ] Intervention trigger problem
|
||||
- Fix: [ bug #1492, #1493 ] Member trigger problem
|
||||
- Fix: [ bug #1474, #1475 ] Contract trigger problem
|
||||
- Fix: [ bug #1496 ] ACTION_DELETE trigger does not show trigger error
|
||||
- Fix: [ bug #1494 ] CATEGORY_CREATE and CATEGORY_MODIFY triggers do not intercept trigger action
|
||||
- Fix: [ bug #1502 ] DON_CREATE trigger does not intercept trigger action
|
||||
- Fix: [ bug #1505, #1504] Project trigger problem
|
||||
- Fix: [ bug #1463, #1464 ] Proposal triggers problem
|
||||
- Fix: [ bug #1498, #1499 ] Shipment/Delivery triggers problem
|
||||
- Fix: [ bug #1465, #1466 ] Product triggers problem
|
||||
- Fix: [ bug #1508 ] STOCK_MOVEMENT does not show trigger error message
|
||||
- Fix: [ bug #1501 ] DEPLACEMENT_CREATE trigger do not intercept trigger action
|
||||
- Fix: [ bug #1506, #1507 ] ECM trigger error problem
|
||||
- Fix: [ bug #1469 ] Triggers CONTACT_MODIFY and CONTACT_DELETE duplicates error message
|
||||
- Fix: [ bug #1537 ] Difference between societe.nom and adherent.societe.
|
||||
- Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown
|
||||
|
||||
***** ChangeLog for 3.6.5 compared to 3.6.4 *****
|
||||
FIX: #2957 : missing $langs object for trigger
|
||||
FIX: #2983 Load gravatar avatar images securely over HTTPS
|
||||
FIX: #3009: Better filtering to prevent SQL injection
|
||||
FIX: #3841 creation of a task completed has not status set to finished by default
|
||||
FIX: #3890 Expected transactions bank account page, shows negative numbers
|
||||
FIX: #3928 Creating a Customer order and a Customer invoice from a project, does not inherit payment conditions and method of payment of customer card
|
||||
FIX: bad calculation for stock value
|
||||
FIX: bad stock valo
|
||||
FIX: bad stock valorisation
|
||||
FIX: [ bug #2893 ] Dolibarr error when viewing an invoice after changing invoice mask
|
||||
FIX: button create payment hide if tax amount is less than 1
|
||||
FIX: change object statut on close shipping and remove erratic db commit
|
||||
FIX: change order date on clone (as everywhere else)
|
||||
FIX: Close #2835 Customer prices of a product shows incorrect history order
|
||||
FIX: Close #2837 Product list table column header does not match column body
|
||||
FIX: Close bug #2861 Undefined variable $res when migrating from 3.6.2 to 3.7.0
|
||||
FIX: Close bug #2891 Category hooks do not work
|
||||
FIX: Close bug #2976: "Report" tab is the current tab but it is not marked as selected by the UI
|
||||
FIX: contact country had wrong display if the country dont have translate
|
||||
FIX: double db escape add too quote
|
||||
FIX: End log must use same level then start log.
|
||||
FIX: error in SQL due to a previous fix
|
||||
FIX: event for restricted user was restricted if company null
|
||||
FIX: facturestat bad sql when customer view is limited
|
||||
FIX: If supplier invoice block linked element is display after other block total HT amount is not reset to 0 and sum other block (like customer orders values)
|
||||
FIX: keep filter by category or by not enough stock if we switch page
|
||||
FIX: no need to remove file into mail form, the temp dir will be deleted after any sending
|
||||
FIX: no projet_task_time id from trigger TASK_TIMESPENT_CREATE
|
||||
FIX: pmp
|
||||
FIX: send mail, copy sendto don't read the list of contact
|
||||
FIX: The hours of date filter aren't correct
|
||||
FIX: tool export handle the type "select" extrafields and return the value instead of id
|
||||
FIX: top links menu have target attribute with wrong value
|
||||
FIX: total amount in tpl linked object are not reset
|
||||
FIX: when multicompany was enabled, this function didn't check just on the good entity (problem when both company use same mask)
|
||||
For users, new experimental module (need to set feature level of instance to experimental to see them):
|
||||
- New: Module Accounting Expert to manage accountancy
|
||||
Special Thanks to developpers :
|
||||
Olivier Geffroy
|
||||
Alexandre Spangaro
|
||||
Ari Elbaz
|
||||
Florian Henry
|
||||
Juanjo Menent
|
||||
And to the contributors :
|
||||
Jeff Info 2000 euros
|
||||
Nord Anim 120 euros
|
||||
Hydroflex 120 euros
|
||||
Asysteo 120 euros
|
||||
Fournisseur médical 120 euros
|
||||
- Removed: unmaintained OScommerce module
|
||||
|
||||
For translators:
|
||||
- Update language files.
|
||||
- New: When a translation is not available we always jump to en_US and only en_US.
|
||||
|
||||
For developers:
|
||||
- New: Add a css style "cursorpointer".
|
||||
- New: Select list of users can return user into hierarchy.
|
||||
- New: getBrowserInfo can return type of layout of browser (classic/phone/tablet)
|
||||
- New: Add hook "searchAgendaFrom" and "beforePDFCreation".
|
||||
- New: Add trigger DON_UPDATE, DON_DELETE
|
||||
- New: Add country iso code on 3 chars into table of countries.
|
||||
- Qual: Removed hard coded rowid into data init of table llx_c_action_trigger.
|
||||
- LINEBILL_DELETE, LINK_DELETE, ORDER_SUPPLIER_DELETE, RESOURCE_DELETE trigger called before SQL delete
|
||||
- New: [ Task #1481 ] Add trigger BILL_SUPPLIER_UPDATE.
|
||||
- New: [ Task #1495 ] Add trigger LINECONTRACT_CREATE.
|
||||
- New: Added hook "formConfirm" and "doActions" for supplier invoice card.
|
||||
- New: [ task #1511, #1426 ] Added hook "doActions" for supplier card and supplier order card.
|
||||
- New: renamed table llx_c_pays to llx_c_country & libelle field to label.
|
||||
- New: Added hook "formConfirm" and "doActions" for fichinter card
|
||||
- New: Can search list of thirdparties from web service on part of name.
|
||||
- New: Function getCurrencyAmount is marked as deprecated. Use function price to output a price
|
||||
including currency symbol.
|
||||
- Qual: Renamed table llx_c_civilite into llx_c_civility,
|
||||
field civilite into label in the same table,
|
||||
and field civilite into civility in other table.
|
||||
- Qual: Renamed all files & links "liste.php" into "list.php".
|
||||
- Qual: Renamed all files & links "fiche.php" into "card.php".
|
||||
- Qual: Replace all constants COMPTA_* by ACCOUNTING_*.
|
||||
- Qual: Replace all constants ACCOUNTINGEX_* by ACCOUNTING_* to simplify migration of the module
|
||||
|
||||
WARNING: Following changes may create regression for some external modules, but was necessary to make
|
||||
Dolibarr better:
|
||||
|
||||
- If you can't see trips and expenses records, check that you have the new permission "read all
|
||||
trips and expenses".
|
||||
- Deprecated module "oscommerce" were removed.
|
||||
- Changed the way parameters are provided to scripts sync_xxx_ldap2dolibarr.php
|
||||
- Some field into database were renamed from "libelle" to "label".
|
||||
- Table llx_c_pays were renamed into llx_c_country.
|
||||
- Triggers *_BUILDDOC are removed. Building a doc is not a business event. For action after
|
||||
creation of a pdf or odt, hook "afterPDFCreation" or "afterODTCreation" must be used instead.
|
||||
- A lot of pages called fiche.php were renamed into card.php
|
||||
- A lot of pages called liste.php were renamed into list.php
|
||||
|
||||
***** ChangeLog for 3.6.4 compared to 3.6.3 *****
|
||||
- Fix: [ bug #2893 ] Dolibarr error when viewing an invoice after changing invoice mask
|
||||
|
||||
***** ChangeLog for 3.6.3 compared to 3.6.2 *****
|
||||
- Fix: ref_ext was not saved when recording a customer order from web service
|
||||
- Fix: amarok is a bugged theme making dolidroid failed. We switch to eldy automatically with dolidroid.
|
||||
- Fix: [ bug #1788 ] Duplicated doActions hook in product/fournisseurs.php
|
||||
- Fix: withdrawal create error if in the same month are deleted previous withdrawals.
|
||||
- Fix: [ bug #1801 ] FAC_FORCE_DATE_VALIDATION constant alters supplier invoice date given to numeration modules
|
||||
- Fix: [ bug #1802 ] SQL error when updating a task with PostgreSQL database
|
||||
- Fix: [ bug #1785 ] Start date is lost in Project > Linked objects
|
||||
- Fix: [ bug #1804 ] SQL error when sending email without address
|
||||
- Fix: [ bug #1803 ] AJAX company contact input is not aligned
|
||||
- Fix: [ bug #1787 ] Incorrect behaviour of doActions hook
|
||||
- Fix: [ bug #1796 ] Unable to use numeration modules from an external module
|
||||
- Fix: [ bug #1783 ] SQL error when enabling 3rd party module with PostgreSQL and MySQL strict mode ON
|
||||
- Fix: [ bug #1717 ] Sorting unpaid invoices by amount received brings due amount
|
||||
- Fix: [ bug #1784 ] MOTD doesn't show up in Amarok theme
|
||||
- Fix: Tracking number not visible on shipment pdf
|
||||
- Fix: [ bug #1812 ] SQL Error message while sending emailing with PostgreSQL database
|
||||
- Fix: [ bug #1819 ] SQL error when searching for an invoice payment
|
||||
- Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes
|
||||
- Fix: [ bug #1822 ] SQL error in clientfourn.php report with PostgreSQL
|
||||
- Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object
|
||||
- Fix: [ bug #1833 ] user permissions in contact/note.php not working
|
||||
- Fix: [ bug #1826 ] Supplier payment types are not translated into fourn/facture/paiement.php
|
||||
- Fix: [ bug #1830 ] Salaries payment only allows checking accounts
|
||||
- Fix: [ bug #1825 ] External agenda: hide/show checkbox doesn't work
|
||||
- Fix: [ bug #1790 ] Email form behaves in an unexpected way when pressing Enter key
|
||||
- Fix: Bad SEPA xml file creation
|
||||
- Fix: [ bug #1892 ] PHP Fatal error when using USER_UPDATE_SESSION trigger and adding a supplier invoice payment
|
||||
- Fix: Showing system error if not enough stock of product into orders creation with lines
|
||||
- Fix: [ bug #2543 ] Untranslated "Contract" origin string when creating an invoice from a contract
|
||||
- Fix: [ bug #2534 ] SQL error when editing a supplier invoice line
|
||||
- Fix: [ bug #2535 ] Untranslated string in "Linked objects" page of a project
|
||||
- Fix: [ bug #2545 ] Missing object_margin.png in Amarok theme
|
||||
- Fix: [ bug #2542 ] Contracts store localtax preferences
|
||||
- Fix: Bad permission assignments for stock movements actions
|
||||
- Fix: [ bug #2891 ] Category hooks do not work
|
||||
- Fix: [ bug #2696 ] Adding complementary attribute fails if code is numerics
|
||||
- Fix: [ bug #3074 ] Accruals accounting use payment date instead of commitment date in turnover reports for salaries
|
||||
- Fix: Not showing product supplier reference when page break
|
||||
- Fix: [ bug #3341 ] Missing translation in /compta/paiement_charge.php
|
||||
- Fix: [ bug #3342 ] Taxes dictionary page does not accept localized decimals for localtax2 rate
|
||||
|
||||
***** ChangeLog for 3.6.2 compared to 3.6.1 *****
|
||||
- Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice.
|
||||
- Fix: bug 1588 : relative discount.
|
||||
- Fix: label of input method not translated.
|
||||
- Fix: box of customer and prospects were not correctly disabled.
|
||||
- Fix: label of input method not tranlated.
|
||||
- Fix: box of customer and propsects were not correctly disabled.
|
||||
- Fix: [ bug #1618 ] PHP Error thrown when saving a barcode
|
||||
- Fix: Civility & birthdate wasn't save into adherent module.
|
||||
- Fix: webservice Thirdparty parameter lastname for individual creation is now lastname and not ref
|
||||
- Fix: webservice Thirdparty parameter lastname for invidual creation is now lastname and not ref
|
||||
- Fix: Chars - is no more allowed into value for code for extra fields.
|
||||
- Fix: [ bug #1622 ] Requesting holiday than spans across two years cause high CPU usage by Apache
|
||||
- Fix: [ bug #1595 ] Selected boolean extrafield in intervention creation page, does not save state
|
||||
- Fix: Show sender Country on PDF docs when sender Country <> receiver Country
|
||||
- Fix: [ bug #1624 ] Use lowest buying price for margin when selling with POS
|
||||
- Fix: [ bug #1749 ] Undefined $mailchimp
|
||||
- Fix: [ bug #1649 ] Cancel button of several thirdparty actions, does the same thing as modify
|
||||
- Fix: [ bug #1736 ] Failing supplier Elephant numeration module with some masks
|
||||
- Fix: [ bug #1731 ] Can't use quick navigation on project tasks secondary tabs
|
||||
( Fix: [ bug #1622 ] Requesting holiday than spans across two years cause high CPU usage by Apache
|
||||
|
||||
***** ChangeLog for 3.6.1 compared to 3.6.* *****
|
||||
For users:
|
||||
@@ -133,14 +192,14 @@ For users:
|
||||
- Fix: Iban was used instead of Bic into SEPA file.
|
||||
- Fix: Must unaccent strings into SEPA file.
|
||||
- Fix: Extrafield feature select from table should try to translate multiple column when not needed
|
||||
- Fix: cents for indian ruppes are called paisa and paise.
|
||||
- Fix: cents for indian ruppes are calle paisa and paise.
|
||||
- Fix: Invoices payments may be older than invoices.
|
||||
- Fix: Withdrawal total amount is double
|
||||
- Fix: [ bug #1593 ] Spanish Localtax IRPF not being calculated since 3.6.0 in supplier invoices when adding a line
|
||||
- Fix: Web service categorie WDSL declaration is correct
|
||||
- Fix: ErrorBadValueForParamNotAString was displayed in virtual product if no base price defined
|
||||
- Fix: Category creation failed and no message output
|
||||
- Fix: Lang for Payment Type
|
||||
- Fix: Lanf for Payment Type
|
||||
- Fix: PHPCheckstyle 1.5.5
|
||||
|
||||
***** ChangeLog for 3.6 compared to 3.5.* *****
|
||||
@@ -162,12 +221,12 @@ For users:
|
||||
- New: Improved Opensurvey module:
|
||||
Added options to disable comments and disable public votes.
|
||||
Limit dates use calendar popup.
|
||||
Description of survey use wysiwyg editor.
|
||||
Description of survey use wysiwig editor.
|
||||
More information shown on result tab.
|
||||
Renamed "survey" into "poll" (better translation).
|
||||
- New: Add filter on text and status into survey list. Can also sort on id, text and date end.
|
||||
- New: The box "balance of bank accounts" show all opened accounts.
|
||||
- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale representative into public
|
||||
- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE to add sale represnative into public
|
||||
note of generated documents.
|
||||
- New: Add warning if supplier payment is higher that due amount.
|
||||
- New: Increase length of url into bookmark module.
|
||||
@@ -180,7 +239,7 @@ For users:
|
||||
- New: Add barcode fields into user database.
|
||||
- New: Add manager name (ceo, director, president...) into main company information page.
|
||||
- New: Add field url as product properties.
|
||||
- New: More options to create a credit note (can be filled automatically according to remain to pay).
|
||||
- New: More options to create a credit note (can be filled autatically according to remain to pay).
|
||||
- New: Can define custom fields for categories.
|
||||
- New: Prepare generation of SEPA files into module withdrawal.
|
||||
- New: [ task #1164 ] Add "Ref. supplier" search box in supplier orders
|
||||
@@ -197,7 +256,7 @@ For users:
|
||||
- New: [ task #926 ] Add extrafield feature on order lines.
|
||||
- New: [ task #927 ] Add extrafield feature on Proposal lines.
|
||||
- New: [ task #928 ] Add extrafield feature on invoice lines.
|
||||
- New: Paypal/paybox email sent after backcall of a payment is now a formatted and translated
|
||||
- New: Paypal/paybox email sent after backcall of a payment is now a formated and translated
|
||||
HTML content. For member subscription renewal, there is also a link to member.
|
||||
- New: When a subscription is recorded with invoice and payment:
|
||||
- the document (PDF) of invoice is also generated.
|
||||
@@ -207,6 +266,9 @@ For users:
|
||||
- Fix: Add actions events not implemented.
|
||||
- Fix: Price min of composition is not supplier price min by quantity.
|
||||
- Fix: [ bug #1356 ] Bank accountancy number is limited to 8 numbers.
|
||||
- Fix: [ bug #1439 ] impossible to remove a a translation (multilanguage-feature)
|
||||
- New: If multilangue is enabled, mail (from propal, invoice, etc...) message is pre-defaulted in Customer language
|
||||
- Fix: [ bug #1459 ] _ADD_CONTACT and _DEL_CONTACT triggers do not intercept insertion when reported an error
|
||||
- Fix: [ bug #1478 ] BILL_PAYED trigger action does not intercept failure under some circumstances
|
||||
- Fix: [ bug #1479 ] Several customer invoice triggers do not intercept trigger action
|
||||
- Fix: [ bug #1477 ] Several customer invoice triggers do not show trigger error messages
|
||||
@@ -234,6 +296,8 @@ For developers:
|
||||
- New: A module can disable a standard ECM view.
|
||||
- New: Add multilang support into product webservice.
|
||||
- New: Add hooks on project card page.
|
||||
- New: Add call_trigger method on CommonObject class. So new trigger call within object is just :
|
||||
$result = $this->call_trigger($trigger_name, $user)
|
||||
|
||||
WARNING: Following change may create regression for some external modules, but was necessary to make
|
||||
Dolibarr better:
|
||||
@@ -241,69 +305,21 @@ Dolibarr better:
|
||||
- The deprecated way (with 4 parameters) to declare a new tab into a module descriptor file has been
|
||||
removed. You must now use the 6 parameters way. See file modMyModule.class.php for example.
|
||||
- Remove the javascript function ac_delay() that is not used anymore by core code.
|
||||
- Properties "dictionnaries" into module descriptor files has been renamed into "dictionaries".
|
||||
- Properties "dictionnaries" into module descriptor files have been renamed into "dictionaries".
|
||||
- Method form->select_currency() has been removed. Use instead print form->selectCurrency().
|
||||
- Method form->select_methodes_commande() has been renamed into english name selectInputMethod().
|
||||
- The following hooks are now 'addreplace' hooks: "formCreateThirdpartyOptions"
|
||||
So check that return value is 0 to keep default standard behaviour after hook or 1 to disable
|
||||
So check that return value is 0 to keep default standard behaviour after hook, or 1 to disable
|
||||
default standard behaviour.
|
||||
- Properties "civilite_id" were renamed into "civility_id".
|
||||
- Remove add_photo_web() that is not used anymore by core code.
|
||||
- Remove add_photo_web() that is ot used anymore by core code.
|
||||
|
||||
|
||||
***** ChangeLog for 3.5.8 compared to 3.5.7 *****
|
||||
FIX: #4291 Correctly filter external calendar GETPOSTs
|
||||
FIX: bad calculation for stock value
|
||||
FIX: bad stock valo
|
||||
FIX: change order date on clone (as everywhere else)
|
||||
FIX: CVE CVE-2015-8685
|
||||
FIX: The hours of date filter aren't correct
|
||||
FIX: #3442 Remove useless syslog
|
||||
FIX: #3448 Pass expected date format
|
||||
FIX: #3471 3.5 Rounding issue when dispatching non-integer
|
||||
|
||||
***** ChangeLog for 3.5.7 compared to 3.5.6 *****
|
||||
Fix: Paypal link were broken due to SSL v3 closed.
|
||||
Fix: [ bug #1769 ] Error when installing to a PostgreSQL DB that contains numbers
|
||||
Fix: [ bug #1752 ] Date filter of margins module, filters since 12H instead of 00H
|
||||
Fix: [ bug #1757 ] Sorting breaks product/service statistics
|
||||
Fix: [ bug #1797 ] Tulip supplier invoice module takes creation date instead of invoice date
|
||||
Fix: [ bug #1792 ] Users are not allowed to see margins module index page when no product view permission is enabled
|
||||
Fix: [ bug #1846 ] Browser IE11 not detected
|
||||
Fix: [ bug #1906 ] Deplacement does not allow translated decimal format
|
||||
Fix: [ bug #1905 ] Custom deplacement types do not get translated in deplacement card
|
||||
Fix: [ bug #2583 ] Unable to create a bank transfer with localized numbers
|
||||
Fix: [ bug #2577 ] Incorrect invoice status in "Linked objects" page of a project
|
||||
Fix: [ bug #2576 ] Unable to edit a dictionary entry that has # in its ref
|
||||
Fix: [ bug #2758 ] Product::update sets product note to "null" when $prod->note is null
|
||||
Fix: [ bug #2757 ] Deleting product category photo gives "Forbidden access" error
|
||||
Fix: [ bug #2976 ] "Report" tab is the current tab but it is not marked as selected by the UI
|
||||
Fix: [ bug #2861 ] Undefined variable $res when migrating
|
||||
Fix: [ bug #2837 ] Product list table column header does not match column body
|
||||
Fix: [ bug #2835 ] Customer prices of a product shows incorrect history order
|
||||
Fix: [ bug #2814 ] JPEG photos are not displayed in Product photos page
|
||||
Fix: [ bug #2715 ] Statistics page has broken layout with long thirdparty names
|
||||
Fix: [ bug #2570 ] [Contacts] Page should not process if ID is invalid
|
||||
Fix: [ bug #3268 ] SQL error when accessing thirdparty log page without a socid parameter
|
||||
Fix: [ bug #3180 ] formObjectOptions hook when editing thirdparty card does not print result
|
||||
Fix: [ bug #1791 ] Margin menu not available if any Finance module is not enabled
|
||||
Fix: [ bug #3310 ] OrderLine::fetch, FactureLigne::fetch and PropaleLigne::fetch do not return anything
|
||||
Fix: [ bug #3206 ] PropaleLigne, OrderLine and FactureLigne given to triggers through update function does not contain all the information
|
||||
Fix: [ bug #3313 ] Error enabling module with PostgreSQL database
|
||||
|
||||
***** ChangeLog for 3.5.6 compared to 3.5.5 *****
|
||||
Fix: Avoid missing class error for fetch_thirdparty method #1973
|
||||
Fix: Can't update phone_pro from web service
|
||||
Fix: Some security holes.
|
||||
Fix: copy extrafields when creating order from proposal.
|
||||
Fix: report on action was not filtering by environment.
|
||||
Fix: Avoid missing class error.
|
||||
Fix: Add function dolEscapeXML.
|
||||
Fix: Bad days and month reported by function.
|
||||
Fix: Bad margin calculation.
|
||||
|
||||
***** ChangeLog for 3.5.5 compared to 3.5.4 *****
|
||||
Fix: Holiday module was broken. Initialization of amount of holidays failed.
|
||||
Fix: Holiday module was broken. Initializaion of amount of holidays failed.
|
||||
Fix: [ bug #1523 ] suite bug #1334 : filtre et ordre de tri conjoints ne s'appliquent pas.
|
||||
Fix: Fusion PDF button on unpaid invoice is no more displayed.
|
||||
Fix: Unpaid invoice launch fusion PDF action even if it is only search (with enter keyboard input instead of lens click).
|
||||
@@ -338,7 +354,7 @@ Fix: When using option MAIN_MAIL_ALLOW_SENDMAIL_F, a mail was sent to sender.
|
||||
Fix: Question about warehouse must not be done when module stock is disabled.
|
||||
Fix: Option STOCK_SUPPORTS_SERVICES was not correctly implemented
|
||||
(missing test at some places).
|
||||
Fix: Renaming a project with uploaded files failed.
|
||||
Fix: Renaming a project with uplaoded files failed.
|
||||
Fix: [ bug #1476 ] Invoice creation form loses invoice date when there is a validation error.
|
||||
Fix: [ bug #1431 ] Reception and Send supplier order box has a weird top margin.
|
||||
Fix: [ bug #1428 ] "Nothing" is shown in the middle of the screen in a supplier order.
|
||||
@@ -359,7 +375,7 @@ Fix: [ bug #1449 ] Trigger ORDER_CREATE, LINEORDER_DELETE, LINEORDER_UPDATE and
|
||||
Fix: [ bug #1450 ] Several Customer order's triggers do not report the error from the trigger handler.
|
||||
Fix: [ bug #1451 ] Interrupted order clone through trigger, loads nonexistent order.
|
||||
Fix: [ bug #1454 ] Mention de bas de page erroné
|
||||
Fix: Do not display dictionary for non activated module
|
||||
Fix: Do not display dictionnay for non activated module
|
||||
Fix: Link element from element project pages
|
||||
Fix: [ bug #1509 ] Expedition admin free text & watermark submit error
|
||||
Fix: [ bug #1349 ] AJAX contact selector does not work fine in Project card
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="dolibarr" default="hudson" basedir=".">
|
||||
|
||||
fdfds
|
||||
<!-- Exclude/ignore paths -->
|
||||
<property name="ignorepaths" value="${basedir}/htdocs/conf,${basedir}/htdocs/core/filemanagerdol,${basedir}/htdocs/includes" />
|
||||
<property name="ignoreregexp" value="**/PEAR/*,**/NET/*,**/HTTP/*,**/zendgdata/*,**/reportico/*" />
|
||||
|
||||
0
build/.gitignore
vendored
Normal file → Executable file
0
build/.gitignore
vendored
Normal file → Executable file
0
build/aps/APP-META-1.1.xml
Normal file → Executable file
0
build/aps/APP-META-1.1.xml
Normal file → Executable file
0
build/aps/APP-META-1.2.xml
Normal file → Executable file
0
build/aps/APP-META-1.2.xml
Normal file → Executable file
0
build/aps/README
Normal file → Executable file
0
build/aps/README
Normal file → Executable file
1
build/aps/install.forced.php.install
Normal file → Executable file
1
build/aps/install.forced.php.install
Normal file → Executable file
@@ -21,3 +21,4 @@ $force_install_databaserootpass='';
|
||||
$force_install_dolibarrlogin='admin';
|
||||
$force_install_nophpinfo='1';
|
||||
$force_install_lockinstall='444';
|
||||
?>
|
||||
@@ -153,6 +153,9 @@ from origin/upstream and origin/pristine.
|
||||
|
||||
* Into root dir, launch:
|
||||
> debian/get-orig-source.sh
|
||||
If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0" to solve this.
|
||||
|
||||
* Some files are removed from archive by the get-orig-source.sh
|
||||
|
||||
* Staying into git root directory, run
|
||||
> git-import-orig -vv ../tcpdf_x.y.z+dfsg.orig.tar.xz
|
||||
@@ -160,9 +163,9 @@ from origin/upstream and origin/pristine.
|
||||
Note: If there was errors solved manually, you may need to make a git commit
|
||||
|
||||
* Add an entry into debian/changelog
|
||||
> dch -v x.y.z-dsfg-1 "My comment" will add entry.
|
||||
For example: dch -v x.y.z-dsfg-1 "New upstream release." for a new version
|
||||
Then modify changelog to replace "unstable" with "UNRELEASED".
|
||||
> dch -v x.y.z+dfsg-1 "My comment" will add entry.
|
||||
For example: dch -v x.y.z+dfsg-1 "New upstream release." for a new version
|
||||
Then modify changelog to replace "version" or "unstable" with "UNRELEASED".
|
||||
|
||||
Warning: Date must have format reported by "date -R"
|
||||
Warning: Name and email must match value into debian/control file (Entry added here is used by next step).
|
||||
@@ -228,23 +231,29 @@ from origin/upstream and origin/pristine.
|
||||
|
||||
* If new upstream is available onto sourceforge, launch:
|
||||
> debian/get-orig-source.sh
|
||||
If script fails with error Bad certificate, you can set "export PERL_LWP_SSL_VERIFY_HOSTNAME=0" to solve this.
|
||||
|
||||
* Edit tgz file to remove ckeditor and phpexcel and rename file into
|
||||
dolibarr-x.y.z+dsfgw.tgz
|
||||
(x.y.z = version, w start from 1 and is increased for each new import)
|
||||
* Edit tgz file to remove
|
||||
- htdocs/includes/ckeditor
|
||||
- htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf
|
||||
- htdocs/includes/phpexcel
|
||||
- htdocs/includes/tcpdf
|
||||
And rename file into
|
||||
dolibarr-x.y.z+dfsgw.tgz
|
||||
(x.y.z = version, w start from 1 and is increased for each new git-import-orig already done)
|
||||
|
||||
* Staying into git root directory, run
|
||||
> git-import-orig -vv ../dolibarr-x.y.z+dsfgw.tgz
|
||||
> git-import-orig -vv ../dolibarr-x.y.z+dfsgw.tgz
|
||||
and enter version when requested with format
|
||||
x.y.z+dsfgw
|
||||
x.y.z+dfsgw
|
||||
(x.y.z = version, w start from 1 and is increased for each new import)
|
||||
|
||||
Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit
|
||||
|
||||
* Add an entry into debian/changelog
|
||||
> dch -v x.y.z-w "My comment" will add entry.
|
||||
For example: dch -v x.y.z-w "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import)
|
||||
Then modify changelog to replace "unstable" with "UNRELEASED".
|
||||
> dch -v x.y.z+dfsg-w "My comment" will add entry.
|
||||
For example: dch -v x.y.z+dfsgw-1 "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import)
|
||||
Then modify changelog to replace "version" or "unstable" with "UNRELEASED".
|
||||
Then check/modify also the user/date signature:
|
||||
- Date must have format reported by "date -R"
|
||||
- Name and email must match value into debian/control file (Entry added here is used by next step).
|
||||
|
||||
@@ -1,6 +1,83 @@
|
||||
dolibarr (__VERSION__) UNRELEASED; urgency=low
|
||||
dolibarr (3.7.0-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 12 May 2015 12:00:00 +0100
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 21 Oct 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.6.1-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 23 Sep 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.6.0-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 15 July 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.5-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 8 July 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.4-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Tue, 1 July 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.3-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 2 May 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.2-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 14 March 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.1-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 7 Feb 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.5.0-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* New upstream release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Fri, 31 Jan 2014 12:00:00 +0100
|
||||
|
||||
dolibarr (3.4.2-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* Maintenance release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 30 Dec 2013 12:00:00 +0100
|
||||
|
||||
dolibarr (3.4.1-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* Maintenance release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 27 Apr 2013 12:00:00 +0100
|
||||
|
||||
dolibarr (3.4.0-3) UNRELEASED; urgency=low
|
||||
|
||||
[ Laurent Destailleur (eldy) ]
|
||||
* Maintenance release.
|
||||
|
||||
-- Laurent Destailleur (eldy) <eldy@users.sourceforge.net> Mon, 22 Apr 2013 12:00:00 +0100
|
||||
|
||||
2
build/debian/conf.php.install
Normal file → Executable file
2
build/debian/conf.php.install
Normal file → Executable file
@@ -226,3 +226,5 @@ $dolibarr_main_prod='0';
|
||||
# Default value: 0 (use database value if exist)
|
||||
# Examples:
|
||||
# $dolibarr_mailing_limit_sendbyweb='0';
|
||||
|
||||
?>
|
||||
|
||||
0
build/debian/control
Normal file → Executable file
0
build/debian/control
Normal file → Executable file
@@ -159,7 +159,7 @@ Comments:
|
||||
Those files are not shipped in the binary package as we
|
||||
configure Dolibarr to use Dejavu fonts from "fonts-dejavu-core".
|
||||
|
||||
Files: doc/images/*
|
||||
Files: docs/images/*
|
||||
Copyright: Laurent Destailleur
|
||||
License: CC-BY-SA-3.0
|
||||
You are free:
|
||||
@@ -176,7 +176,7 @@ License: CC-BY-SA-3.0
|
||||
.
|
||||
For more information, see http://creativecommons.org/licenses/by-sa/3.0/
|
||||
|
||||
Files: htdocs/includes/fpdfi/*
|
||||
Files: htdocs/includes/fpdi/*
|
||||
Copyright: 2004-2011 Setasign - Jan Slabon
|
||||
License: GPL-2+
|
||||
This program is free software; you can redistribute it
|
||||
|
||||
0
build/debian/dolibarr.install
Normal file → Executable file
0
build/debian/dolibarr.install
Normal file → Executable file
0
build/debian/dolibarr.lintian-overrides
Normal file → Executable file
0
build/debian/dolibarr.lintian-overrides
Normal file → Executable file
0
build/debian/dolibarr.templates.futur
Normal file → Executable file
0
build/debian/dolibarr.templates.futur
Normal file → Executable file
@@ -1,10 +1,9 @@
|
||||
#!/bin/sh
|
||||
# Scan for new official sources and download file
|
||||
# run with debian/get-orig-source.sh [x.y.z]
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
echo "tmpdir = $tmpdir"
|
||||
|
||||
|
||||
# Download source file
|
||||
if [ -n "$1" ]; then
|
||||
uscan_opts="--download-version=$1"
|
||||
fi
|
||||
|
||||
2
build/debian/install.forced.php.install
Normal file → Executable file
2
build/debian/install.forced.php.install
Normal file → Executable file
@@ -42,3 +42,5 @@ $force_install_lockinstall='444';
|
||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
//$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
0
build/debian/po/POTFILES.in
Normal file → Executable file
0
build/debian/po/POTFILES.in
Normal file → Executable file
0
build/debian/po/fr.po
Normal file → Executable file
0
build/debian/po/fr.po
Normal file → Executable file
0
build/doxygen/doxygen_footer.html
Normal file → Executable file
0
build/doxygen/doxygen_footer.html
Normal file → Executable file
0
build/doxygen/doxygen_header.html
Normal file → Executable file
0
build/doxygen/doxygen_header.html
Normal file → Executable file
1
build/exe/doliwamp/.gitignore
vendored
1
build/exe/doliwamp/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
/doliwamp.tmp.iss
|
||||
@@ -16,10 +16,10 @@
|
||||
[Setup]
|
||||
; ----- Change this -----
|
||||
AppName=DoliWamp
|
||||
; Replace key with DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
AppVerName=__FILENAMEEXEDOLIWAMP__
|
||||
; Replace key with DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
OutputBaseFilename=__FILENAMEEXEDOLIWAMP__
|
||||
; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
AppVerName=DoliWamp-3.7.0-beta
|
||||
; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x
|
||||
OutputBaseFilename=DoliWamp-3.7.0-beta
|
||||
; ----- End of change
|
||||
;OutputManifestFile=build\doliwampbuild.log
|
||||
; Define full path from which all relative path are defined
|
||||
@@ -32,7 +32,7 @@ AppPublisherURL=http://www.nltechno.com
|
||||
AppSupportURL=http://www.dolibarr.org
|
||||
AppUpdatesURL=http://www.dolibarr.org
|
||||
AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql softwares.
|
||||
AppCopyright=Copyright (C) 2008-2015 Laurent Destailleur, NLTechno
|
||||
AppCopyright=Copyright (C) 2008-2014 Laurent Destailleur, NLTechno
|
||||
DefaultDirName=c:\dolibarr
|
||||
DefaultGroupName=Dolibarr
|
||||
;LicenseFile=COPYING
|
||||
@@ -108,7 +108,7 @@ Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\m
|
||||
; Mysql data files (does not overwrite if exists)
|
||||
Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db"
|
||||
; Dolibarr
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,nltechno*\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php"
|
||||
Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,nltechno*\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php"
|
||||
Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,vagrant\*,xdebug\*"
|
||||
Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png"
|
||||
Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php"
|
||||
|
||||
@@ -61,13 +61,17 @@ If you want to build/test package locally:
|
||||
|
||||
- List of series are visible here: https://launchpad.net/dolibarr/+series
|
||||
|
||||
# To update Dolibarr into launchpad (when repository for sources already exists)
|
||||
# To update Dolibarr into launchpad (when remote repository for sources already exists)
|
||||
#----------------------------------
|
||||
# create local repository
|
||||
cd bzr
|
||||
bzr branch lp:~yourlogin/dolibarr/[dev|beta|stable]
|
||||
bzr branch lp:~yourlogin/dolibarr/[develop|beta|stable] dolibarr-[dev|beta|stable]
|
||||
cd dolibarr-[dev|beta|stable]
|
||||
# Update
|
||||
bzr update
|
||||
-- Update files here. Remove all and overwrite --
|
||||
bzr status
|
||||
-- Update files here --
|
||||
bzr add *
|
||||
bzr commit -m "Description of change"
|
||||
bzr push
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#----------------------------------------------------------------------------
|
||||
# \file build/makepack-dolibarr.pl
|
||||
# \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps)
|
||||
# \author (c)2004-2015 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
# \author (c)2004-2013 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
#
|
||||
# This is list of constant you can set to have generated packages moved into a specific dir:
|
||||
#DESTIBETARC='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/lastbuild'
|
||||
@@ -15,15 +15,10 @@
|
||||
|
||||
use Cwd;
|
||||
|
||||
|
||||
# Change this to defined target for option 98 and 99
|
||||
$PROJECT="dolibarr";
|
||||
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
||||
$PUBLISHBETARC="ldestailleur\@asso.dolibarr.org:/home/dolibarr/dolibarr.org/httpdocs/files";
|
||||
$RPMSUBVERSION="auto"; # auto use value found into BUILD
|
||||
|
||||
|
||||
#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||
@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
|
||||
%REQUIREMENTPUBLISH=(
|
||||
"SF"=>"git ssh rsync",
|
||||
"ASSO"=>"git ssh rsync"
|
||||
@@ -46,7 +41,6 @@ $PUBLISHBETARC="ldestailleur\@asso.dolibarr.org:/home/dolibarr/dolibarr.org/http
|
||||
"makensis.exe"=>"NSIS"
|
||||
);
|
||||
|
||||
$RPMSUBVERSION="auto"; # auto use value found into BUILD
|
||||
if (-d "/usr/src/redhat") { $RPMDIR="/usr/src/redhat"; } # redhat
|
||||
if (-d "/usr/src/packages") { $RPMDIR="/usr/src/packages"; } # opensuse
|
||||
if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } # mandrake
|
||||
@@ -65,13 +59,8 @@ $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/;
|
||||
|
||||
$SOURCE="$DIR/..";
|
||||
$DESTI="$SOURCE/build";
|
||||
if ($SOURCE !~ /^\//)
|
||||
{
|
||||
print "Error: Launch the script $PROG.$Extension with its full path from /.\n";
|
||||
print "$PROG.$Extension aborted.\n";
|
||||
sleep 2;
|
||||
exit 1;
|
||||
}
|
||||
$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr";
|
||||
$PUBLISHBETARC="ldestailleur\@asso.dolibarr.org:/home/dolibarr/dolibarr.org/files";
|
||||
if (! $ENV{"DESTIBETARC"} || ! $ENV{"DESTISTABLE"})
|
||||
{
|
||||
print "Error: Missing environment variables.\n";
|
||||
@@ -215,21 +204,18 @@ else {
|
||||
my $NUM_SCRIPT;
|
||||
my $cpt=0;
|
||||
while (! $found) {
|
||||
$cpt=0;
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"ALL (1..10)","Need ".join(",",values %REQUIREMENTTARGET));
|
||||
$cpt++;
|
||||
printf(" %2d - %-14s\n",$cpt,"Generate check file");
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"ALL (1..9)","Need ".join(",",values %REQUIREMENTTARGET));
|
||||
foreach my $target (@LISTETARGET) {
|
||||
$cpt++;
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target});
|
||||
}
|
||||
$cpt=98;
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"ASSO (publish)","Need ".$REQUIREMENTPUBLISH{"ASSO"});
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"ASSO (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
|
||||
$cpt=99;
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"SF (publish)","Need ".$REQUIREMENTPUBLISH{"SF"});
|
||||
printf(" %2d - %-14s (%s)\n",$cpt,"SF (publish)","Need ".join(",",values %REQUIREMENTPUBLISH));
|
||||
|
||||
# Ask which target to build
|
||||
print "Choose one target number or several separated with space (0 - ".$cpt."): ";
|
||||
print "Choose one package number or several separated with space (0 - ".$cpt."): ";
|
||||
$NUM_SCRIPT=<STDIN>;
|
||||
chomp($NUM_SCRIPT);
|
||||
if ($NUM_SCRIPT !~ /^[0-9\s]+$/)
|
||||
@@ -246,30 +232,30 @@ else {
|
||||
if ($NUM_SCRIPT eq "98") {
|
||||
$CHOOSEDPUBLISH{"ASSO"}=1;
|
||||
}
|
||||
elsif ($NUM_SCRIPT eq "99") {
|
||||
$CHOOSEDPUBLISH{"SF"}=1;
|
||||
}
|
||||
elsif ($NUM_SCRIPT eq "0") {
|
||||
$CHOOSEDTARGET{"-CHKSUM"}=1;
|
||||
foreach my $key (@LISTETARGET) {
|
||||
if ($key ne 'SNAPSHOT' && $key ne 'ASSO' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
|
||||
else
|
||||
{
|
||||
if ($NUM_SCRIPT eq "99") {
|
||||
$CHOOSEDPUBLISH{"SF"}=1;
|
||||
}
|
||||
}
|
||||
elsif ($NUM_SCRIPT eq "1") {
|
||||
$CHOOSEDTARGET{"-CHKSUM"}=1
|
||||
}
|
||||
else {
|
||||
foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
|
||||
$CHOOSEDTARGET{$LISTETARGET[$num-2]}=1;
|
||||
else {
|
||||
if ($NUM_SCRIPT eq "0") {
|
||||
foreach my $key (@LISTETARGET) {
|
||||
if ($key ne 'SNAPSHOT' && $key ne 'ASSO' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; }
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach my $num (split(/\s+/,$NUM_SCRIPT)) {
|
||||
$CHOOSEDTARGET{$LISTETARGET[$num-1]}=1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Test if requirement is ok
|
||||
#--------------------------
|
||||
$atleastonerpm=0;
|
||||
foreach my $target (sort keys %CHOOSEDTARGET) {
|
||||
foreach my $target (keys %CHOOSEDTARGET) {
|
||||
if ($target =~ /RPM/i)
|
||||
{
|
||||
if ($atleastonerpm && ($DESTI eq "$SOURCE/build"))
|
||||
@@ -311,32 +297,20 @@ foreach my $target (sort keys %CHOOSEDTARGET) {
|
||||
|
||||
print "\n";
|
||||
|
||||
# Build xml check file
|
||||
#-----------------------
|
||||
if ($CHOOSEDTARGET{'-CHKSUM'})
|
||||
{
|
||||
print 'Create xml check file with md5 checksum with command php '.$SOURCE.'/build/generate_filecheck_xml.php release='.$MAJOR.'.'.$MINOR.'.'.$BUILD."\n";
|
||||
$ret=`php $SOURCE/build/generate_filecheck_xml.php release=$MAJOR.$MINOR.$BUILD`;
|
||||
print $ret."\n";
|
||||
}
|
||||
|
||||
|
||||
#print join(',',sort keys %CHOOSEDTARGET)."\n";
|
||||
|
||||
# Check if there is at least one target to build
|
||||
# Check if there is at least on target to build
|
||||
#----------------------------------------------
|
||||
$nboftargetok=0;
|
||||
$nboftargetneedbuildroot=0;
|
||||
$nbofpublishneedtag=0;
|
||||
foreach my $target (sort keys %CHOOSEDTARGET) {
|
||||
foreach my $target (keys %CHOOSEDTARGET) {
|
||||
if ($CHOOSEDTARGET{$target} < 0) { next; }
|
||||
if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP' && $target ne '-CHKSUM')
|
||||
if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP')
|
||||
{
|
||||
$nboftargetneedbuildroot++;
|
||||
}
|
||||
$nboftargetok++;
|
||||
}
|
||||
foreach my $target (sort keys %CHOOSEDPUBLISH) {
|
||||
foreach my $target (keys %CHOOSEDPUBLISH) {
|
||||
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
|
||||
if ($target eq 'ASSO') { $nbofpublishneedtag++; }
|
||||
if ($target eq 'SF') { $nbofpublishneedtag++; }
|
||||
@@ -345,38 +319,16 @@ foreach my $target (sort keys %CHOOSEDPUBLISH) {
|
||||
|
||||
if ($nboftargetok) {
|
||||
|
||||
# Update GIT tag if required
|
||||
#---------------------------
|
||||
# Update CVS if required
|
||||
#-----------------------
|
||||
if ($nbofpublishneedtag)
|
||||
{
|
||||
print "Go to directory $SOURCE\n";
|
||||
$olddir=getcwd();
|
||||
chdir("$SOURCE");
|
||||
|
||||
# Test that the ChangeLog is ok
|
||||
$ret=`grep "ChangeLog for $MAJOR.$MINOR\.$BUILD" "$SOURCE/ChangeLog" 2>&1`;
|
||||
if (! $ret)
|
||||
{
|
||||
print "Error: The ChangeLogFile was not updated. Run the following command first:\n";
|
||||
if (! $BUILD)
|
||||
{
|
||||
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log `git rev-list --boundary '.$MAJOR.'.'.$MINOR.'..origin/develop | grep ^- | cut -c2- | head -n`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||
}
|
||||
else
|
||||
{
|
||||
print 'cd ~/git/dolibarr_'.$MAJOR.'.'.$MINOR.'; git log '.$MAJOR.'.'.$MINOR.'.'.($BUILD-1).'.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e \'^FIX\|NEW\' | sort -u | sed \'s/FIXED:/FIX:/g\' | sed \'s/FIXED :/FIX:/g\' | sed \'s/FIX :/FIX:/g\' | sed \'s/FIX /FIX: /g\' | sed \'s/NEW :/NEW:/g\' | sed \'s/NEW /NEW: /g\' > /tmp/aaa';
|
||||
}
|
||||
print "\n";
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
print "ChangeLog for $MAJOR.$MINOR\.$BUILD was found into '$SOURCE/ChangeLog'\n";
|
||||
}
|
||||
|
||||
print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n";
|
||||
$ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`;
|
||||
if ($ret =~ /(already exists|existe déjà)/)
|
||||
if ($ret =~ /already exists/)
|
||||
{
|
||||
print "WARNING: Tag ".$MAJOR.'.'.$MINOR.'.'.$BUILD." already exists. Overwrite (y/N) ? ";
|
||||
$QUESTIONOVERWRITETAG=<STDIN>;
|
||||
@@ -413,7 +365,6 @@ if ($nboftargetok) {
|
||||
print "Clean $BUILDROOT\n";
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/.buildpath`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.cache`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.editorconfig`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.externalToolBuilders`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.git*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.project`;
|
||||
@@ -422,6 +373,7 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.travis.yml`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/.tx`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/build.xml`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/quickbuild.xml`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/pom.xml`;
|
||||
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/build/html`;
|
||||
@@ -450,7 +402,6 @@ if ($nboftargetok) {
|
||||
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/install/mssql`;
|
||||
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/ansible`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/codesniffer`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/codetemplates`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/dbmodel`;
|
||||
@@ -459,7 +410,6 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/ldap`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/licence`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/mail`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/multitail`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpcheckstyle`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpunit`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/dev/security`;
|
||||
@@ -482,67 +432,52 @@ if ($nboftargetok) {
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`;
|
||||
|
||||
# Security to avoid to package data files
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/document`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/documents`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`;
|
||||
|
||||
# Removed known external modules to avoid any error when packaging from env where external modules are tested
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom/*`; # For custom we want to keep dir
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/allscreens*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/cabinetmed*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/lead*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ndf*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/oscim*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`;
|
||||
# Removed other test files
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/api/explorer`; # This is a dev tool
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl`; # Avoid errors into rpmlint
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/template`; # Package not valid for most linux distributions (errors reported into compile.js). Package should be embed by modules to avoid problems.
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpmailer`; # Package not valid for most linux distributions (errors reported into file LICENSE). Package should be embed by modules to avoid problems.
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries
|
||||
#$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball
|
||||
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/php-iban/docs`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/test`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/.gitignore $BUILDROOT/$PROJECT/*/.gitignore $BUILDROOT/$PROJECT/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/.gitignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.gitignore`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/geoip/sample*.*`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl`; # Avoid errors into rpmlint
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/template`; # Package not valid for most linux distributions (errors reported into compile.js). Package should be embed by modules to avoid problems.
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpmailer`; # Package not valid for most linux distributions (errors reported into file LICENSE). Package should be embed by modules to avoid problems.
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries
|
||||
#$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball due to debian policies
|
||||
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`;
|
||||
$ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`;
|
||||
}
|
||||
|
||||
# Build package for each target
|
||||
#------------------------------
|
||||
foreach my $target (sort keys %CHOOSEDTARGET)
|
||||
foreach my $target (keys %CHOOSEDTARGET)
|
||||
{
|
||||
if ($CHOOSEDTARGET{$target} < 0) { next; }
|
||||
if ($target eq '-CHKSUM') { next; }
|
||||
|
||||
|
||||
print "\nBuild package for target $target\n";
|
||||
|
||||
if ($target eq 'SNAPSHOT')
|
||||
@@ -714,11 +649,6 @@ if ($nboftargetok) {
|
||||
if ($target =~ /MAND/i) { $BUILDFICSRC="${FILENAME}_mandriva.spec"; }
|
||||
if ($target =~ /OPEN/i) { $BUILDFICSRC="${FILENAME}_opensuse.spec"; }
|
||||
|
||||
use Date::Language;
|
||||
$lang=Date::Language->new('English');
|
||||
$datestring = $lang->time2str("%a %b %e %Y", time);
|
||||
$changelogstring="* ".$datestring." Laurent Destailleur (eldy) $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n";
|
||||
|
||||
print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n";
|
||||
open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error";
|
||||
open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error";
|
||||
@@ -726,7 +656,6 @@ if ($nboftargetok) {
|
||||
$_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/;
|
||||
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/;
|
||||
$_ =~ s/__RELEASE__/$RPMSUBVERSION/;
|
||||
$_ =~ s/__CHANGELOGSTRING__/$changelogstring/;
|
||||
print SPECTO $_;
|
||||
}
|
||||
close SPECFROM;
|
||||
@@ -749,7 +678,7 @@ if ($nboftargetok) {
|
||||
$ret=`$cmd`;
|
||||
print "Move $RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz into $NEWDESTI/".$FILENAMETGZ2.".tgz\n";
|
||||
$cmd="mv \"$RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz\" \"$NEWDESTI/".$FILENAMETGZ2.".tgz\"";
|
||||
#$ret=`$cmd`;
|
||||
$ret=`$cmd`;
|
||||
next;
|
||||
}
|
||||
|
||||
@@ -839,17 +768,8 @@ if ($nboftargetok) {
|
||||
print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n";
|
||||
$ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
print "Copy $SOURCE/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n";
|
||||
# Add files for dpkg-source (changelog)
|
||||
#$ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
open (SPECFROM,"<$SOURCE/build/debian/changelog") || die "Error";
|
||||
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/debian/changelog") || die "Error";
|
||||
while (<SPECFROM>) {
|
||||
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$newbuild/;
|
||||
print SPECTO $_;
|
||||
}
|
||||
close SPECFROM;
|
||||
close SPECTO;
|
||||
# Add files for dpkg-source
|
||||
$ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
$ret=`cp -f "$SOURCE/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`;
|
||||
@@ -977,89 +897,82 @@ if ($nboftargetok) {
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/zip`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/perl`;
|
||||
|
||||
$APSVERSION="1.2";
|
||||
print "Create APS files $BUILDROOT/$PROJECT.tmp/$PROJECT/APP-META.xml\n";
|
||||
open (SPECFROM,"<$BUILDROOT/$PROJECT/build/aps/APP-META-$APSVERSION.xml") || die "Error";
|
||||
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/$PROJECT/APP-META.xml") || die "Error";
|
||||
while (<SPECFROM>) {
|
||||
$newbuild = $BUILD;
|
||||
$newbuild =~ s/(dev|alpha)/0/gi; # dev
|
||||
$newbuild =~ s/beta/1/gi; # beta
|
||||
$newbuild =~ s/rc./2/gi; # rc
|
||||
if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale
|
||||
# now newbuild is 0-0 or 0-3 for example
|
||||
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/;
|
||||
$_ =~ s/__RELEASE__/$RPMSUBVERSION/;
|
||||
print SPECTO $_;
|
||||
}
|
||||
close SPECFROM;
|
||||
close SPECTO;
|
||||
print "Version set to $MAJOR.$MINOR.$newbuild\n";
|
||||
$cmd="cp -pr \"$BUILDROOT/$PROJECT/build/aps/configure.php\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/scripts/configure.php\"";
|
||||
$ret=`$cmd`;
|
||||
$cmd="cp -pr \"$BUILDROOT/$PROJECT/doc/images\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/images\"";
|
||||
$ret=`$cmd`;
|
||||
|
||||
print "Remove other files\n";
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/doc`;
|
||||
|
||||
print "Build APP-LIST.xml files\n";
|
||||
|
||||
print "Compress $BUILDROOT/$PROJECT.tmp/$PROJECT into $FILENAMEAPS.zip...\n";
|
||||
|
||||
print "Go to directory $BUILDROOT/$PROJECT.tmp\/$PROJECT\n";
|
||||
$olddir=getcwd();
|
||||
chdir("$BUILDROOT\/$PROJECT.tmp\/$PROJECT");
|
||||
$cmd= "zip -9 -r $BUILDROOT/$FILENAMEAPS.zip \*";
|
||||
print $cmd."\n";
|
||||
$ret= `$cmd`;
|
||||
chdir("$olddir");
|
||||
|
||||
# Move to final dir
|
||||
print "Move $BUILDROOT/$FILENAMEAPS.zip to $NEWDESTI/$FILENAMEAPS.zip\n";
|
||||
$ret=`mv "$BUILDROOT/$FILENAMEAPS.zip" "$NEWDESTI/$FILENAMEAPS.zip"`;
|
||||
next;
|
||||
}
|
||||
$APSVERSION="1.2";
|
||||
print "Create APS files $BUILDROOT/$PROJECT.tmp/$PROJECT/APP-META.xml\n";
|
||||
open (SPECFROM,"<$BUILDROOT/$PROJECT/build/aps/APP-META-$APSVERSION.xml") || die "Error";
|
||||
open (SPECTO,">$BUILDROOT/$PROJECT.tmp/$PROJECT/APP-META.xml") || die "Error";
|
||||
while (<SPECFROM>) {
|
||||
$newbuild = $BUILD;
|
||||
$newbuild =~ s/(dev|alpha)/0/gi; # dev
|
||||
$newbuild =~ s/beta/1/gi; # beta
|
||||
$newbuild =~ s/rc./2/gi; # rc
|
||||
if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale
|
||||
# now newbuild is 0-0 or 0-3 for example
|
||||
$_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/;
|
||||
$_ =~ s/__RELEASE__/$RPMSUBVERSION/;
|
||||
print SPECTO $_;
|
||||
}
|
||||
close SPECFROM;
|
||||
close SPECTO;
|
||||
print "Version set to $MAJOR.$MINOR.$newbuild\n";
|
||||
#$cmd="cp -pr \"$BUILDROOT/$PROJECT/build/aps/configure\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/scripts/configure\"";
|
||||
#$ret=`$cmd`;
|
||||
$cmd="cp -pr \"$BUILDROOT/$PROJECT/build/aps/configure.php\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/scripts/configure.php\"";
|
||||
$ret=`$cmd`;
|
||||
$cmd="cp -pr \"$BUILDROOT/$PROJECT/doc/images\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/images\"";
|
||||
$ret=`$cmd`;
|
||||
|
||||
print "Remove other files\n";
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/dev`;
|
||||
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/doc`;
|
||||
|
||||
print "Build APP-LIST.xml files\n";
|
||||
|
||||
print "Compress $BUILDROOT/$PROJECT.tmp/$PROJECT into $FILENAMEAPS.zip...\n";
|
||||
|
||||
print "Go to directory $BUILDROOT/$PROJECT.tmp\/$PROJECT\n";
|
||||
$olddir=getcwd();
|
||||
chdir("$BUILDROOT\/$PROJECT.tmp\/$PROJECT");
|
||||
$cmd= "zip -9 -r $BUILDROOT/$FILENAMEAPS.zip \*";
|
||||
print $cmd."\n";
|
||||
$ret= `$cmd`;
|
||||
chdir("$olddir");
|
||||
|
||||
# Move to final dir
|
||||
print "Move $BUILDROOT/$FILENAMEAPS.zip to $NEWDESTI/$FILENAMEAPS.zip\n";
|
||||
$ret=`mv "$BUILDROOT/$FILENAMEAPS.zip" "$NEWDESTI/$FILENAMEAPS.zip"`;
|
||||
next;
|
||||
}
|
||||
|
||||
if ($target eq 'EXEDOLIWAMP')
|
||||
{
|
||||
$NEWDESTI=$DESTI;
|
||||
mkdir($DESTI.'/package_windows');
|
||||
if (-d $DESTI.'/package_windows') { $NEWDESTI=$DESTI.'/package_windows'; }
|
||||
|
||||
print "Remove target $FILENAMEEXEDOLIWAMP.exe...\n";
|
||||
unlink "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe";
|
||||
|
||||
print "Remove target $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe...\n";
|
||||
unlink "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe";
|
||||
|
||||
print "Check that in your Wine setup, you create a Z: drive that point to your / directory.\n";
|
||||
|
||||
$SOURCEBACK=$SOURCE;
|
||||
$SOURCEBACK =~ s/\//\\/g;
|
||||
|
||||
print "Prepare file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss from \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"\n";
|
||||
$ret=`cat "$SOURCE/build/exe/doliwamp/doliwamp.iss" | sed -e 's/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g' > "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`;
|
||||
|
||||
print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\"\n";
|
||||
$cmd= "ISCC.exe \"Z:$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\"";
|
||||
$SOURCEBACK=$SOURCE;
|
||||
$SOURCEBACK =~ s/\//\\/g;
|
||||
print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"\n";
|
||||
$cmd= "ISCC.exe \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"";
|
||||
print "$cmd\n";
|
||||
$ret= `$cmd`;
|
||||
#print "$ret\n";
|
||||
|
||||
# Move to final dir
|
||||
print "Move \"$SOURCE\\build\\$FILENAMEEXEDOLIWAMP.exe\" to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n";
|
||||
rename("$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe","$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe");
|
||||
print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n";
|
||||
$ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`;
|
||||
|
||||
$ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`;
|
||||
|
||||
next;
|
||||
}
|
||||
}
|
||||
rename("$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe","$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe");
|
||||
print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n";
|
||||
$ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`;
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
||||
# Publish package for each target
|
||||
#--------------------------------
|
||||
foreach my $target (sort keys %CHOOSEDPUBLISH)
|
||||
foreach my $target (keys %CHOOSEDPUBLISH)
|
||||
{
|
||||
if ($CHOOSEDPUBLISH{$target} < 0) { next; }
|
||||
|
||||
@@ -1110,16 +1023,9 @@ if ($nboftargetok) {
|
||||
if (! $filesize) { next; }
|
||||
|
||||
print "\n";
|
||||
|
||||
if ($target eq 'SF') {
|
||||
$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
|
||||
print "Publish file ".$file." to $NEWPUBLISH/".$filestoscan{$file}."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$destFolder="$NEWPUBLISH";
|
||||
print "Publish file ".$file." to $NEWPUBLISH\n";
|
||||
}
|
||||
print "Publish file ".$file." to ".$filestoscan{$file}."\n";
|
||||
|
||||
$destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD;
|
||||
|
||||
# mkdir
|
||||
#my $ssh = Net::SSH::Perl->new("frs.sourceforge.net");
|
||||
@@ -1149,8 +1055,7 @@ if ($nboftargetok) {
|
||||
}
|
||||
|
||||
print "\n----- Summary -----\n";
|
||||
foreach my $target (sort keys %CHOOSEDTARGET) {
|
||||
if ($target eq '-CHKSUM') { print "Checksum was generated"; next; }
|
||||
foreach my $target (keys %CHOOSEDTARGET) {
|
||||
if ($CHOOSEDTARGET{$target} < 0) {
|
||||
print "Package $target not built (bad requirement).\n";
|
||||
} else {
|
||||
|
||||
@@ -1,300 +0,0 @@
|
||||
#!/usr/bin/perl
|
||||
#----------------------------------------------------------------------------
|
||||
# \file build/makepack-dolibarrlang.pl
|
||||
# \brief Package builder (tgz, zip, rpm, deb, exe)
|
||||
# \author (c)2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
use Cwd;
|
||||
|
||||
$PROJECT = "dolibarr";
|
||||
|
||||
@LISTETARGET = ("TGZ"); # Possible packages
|
||||
%REQUIREMENTTARGET = ( # Tool requirement for each package
|
||||
"TGZ" => "tar",
|
||||
"ZIP" => "7z",
|
||||
"EXE" => "makensis.exe"
|
||||
);
|
||||
%ALTERNATEPATH = (
|
||||
"7z" => "7-ZIP",
|
||||
"makensis.exe" => "NSIS"
|
||||
);
|
||||
|
||||
use vars qw/ $REVISION $VERSION /;
|
||||
$REVISION = '1.10';
|
||||
$VERSION = "1.0 (build $REVISION)";
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# MAIN
|
||||
#------------------------------------------------------------------------------
|
||||
( $DIR = $0 ) =~ s/([^\/\\]+)$//;
|
||||
( $PROG = $1 ) =~ s/\.([^\.]*)$//;
|
||||
$Extension = $1;
|
||||
$DIR ||= '.';
|
||||
$DIR =~ s/([^\/\\])[\\\/]+$/$1/;
|
||||
|
||||
# Detect OS type
|
||||
# --------------
|
||||
if ( "$^O" =~ /linux/i || ( -d "/etc" && -d "/var" && "$^O" !~ /cygwin/i ) ) {
|
||||
$OS = 'linux';
|
||||
$CR = '';
|
||||
}
|
||||
elsif ( -d "/etc" && -d "/Users" ) { $OS = 'macosx'; $CR = ''; }
|
||||
elsif ( "$^O" =~ /cygwin/i || "$^O" =~ /win32/i ) {
|
||||
$OS = 'windows';
|
||||
$CR = "\r";
|
||||
}
|
||||
if ( !$OS ) {
|
||||
print "$PROG.$Extension was not able to detect your OS.\n";
|
||||
print "Can't continue.\n";
|
||||
print "$PROG.$Extension aborted.\n";
|
||||
sleep 2;
|
||||
exit 1;
|
||||
}
|
||||
|
||||
# Define buildroot
|
||||
# ----------------
|
||||
if ( $OS =~ /linux/ ) {
|
||||
$TEMP = $ENV{"TEMP"} || $ENV{"TMP"} || "/tmp";
|
||||
}
|
||||
if ( $OS =~ /macos/ ) {
|
||||
$TEMP = $ENV{"TEMP"} || $ENV{"TMP"} || "/tmp";
|
||||
}
|
||||
if ( $OS =~ /windows/ ) {
|
||||
$TEMP = $ENV{"TEMP"} || $ENV{"TMP"} || "c:/temp";
|
||||
$PROGPATH = $ENV{"ProgramFiles"};
|
||||
}
|
||||
if ( !$TEMP || !-d $TEMP ) {
|
||||
print "Error: A temporary directory can not be find.\n";
|
||||
print "Check that TEMP or TMP environment variable is set correctly.\n";
|
||||
print "makepack-dolibarrlang.pl aborted.\n";
|
||||
sleep 2;
|
||||
exit 2;
|
||||
}
|
||||
$BUILDROOT = "$TEMP/dolibarr-buildroot";
|
||||
|
||||
my $copyalreadydone = 0;
|
||||
my $batch = 0;
|
||||
|
||||
print "Makepack langs version $VERSION\n";
|
||||
print "Enter language code to package (en_US, fr_FR, ...) : ";
|
||||
$PROJECT = <STDIN>;
|
||||
chomp($PROJECT);
|
||||
|
||||
# Ask and set version $MAJOR and $MINOR
|
||||
print "Enter value for version: ";
|
||||
$PROJVERSION = <STDIN>;
|
||||
chomp($PROJVERSION);
|
||||
( $MAJOR, $MINOR ) = split( /\./, $PROJVERSION, 2 );
|
||||
if ( $MINOR eq '' ) {
|
||||
print "Enter value for minor version: ";
|
||||
$MINOR = <STDIN>;
|
||||
chomp($MINOR);
|
||||
}
|
||||
|
||||
$FILENAME = "$PROJECT";
|
||||
$FILENAMETGZ = "lang_$PROJECT-$MAJOR.$MINOR";
|
||||
if ( -d "/usr/src/redhat" ) {
|
||||
|
||||
# redhat
|
||||
$RPMDIR = "/usr/src/redhat";
|
||||
}
|
||||
if ( -d "/usr/src/RPM" ) {
|
||||
|
||||
# mandrake
|
||||
$RPMDIR = "/usr/src/RPM";
|
||||
}
|
||||
|
||||
$SOURCE = "$DIR/../../dolibarr";
|
||||
$DESTI = "$SOURCE/build";
|
||||
|
||||
# Choose package targets
|
||||
#-----------------------
|
||||
$target = "ZIP"; # Les langs sont au format zip
|
||||
if ($target) {
|
||||
$CHOOSEDTARGET{ uc($target) } = 1;
|
||||
}
|
||||
else {
|
||||
my $found = 0;
|
||||
my $NUM_SCRIPT;
|
||||
while ( !$found ) {
|
||||
my $cpt = 0;
|
||||
printf( " %d - %3s (%s)\n",
|
||||
$cpt, "All", "Need " . join( ",", values %REQUIREMENTTARGET ) );
|
||||
foreach my $target (@LISTETARGET) {
|
||||
$cpt++;
|
||||
printf( " %d - %3s (%s)\n",
|
||||
$cpt, $target, "Need " . $REQUIREMENTTARGET{$target} );
|
||||
}
|
||||
|
||||
# Are asked to select the file to move
|
||||
print "Choose one package number or several separated with space: ";
|
||||
$NUM_SCRIPT = <STDIN>;
|
||||
chomp($NUM_SCRIPT);
|
||||
if ( $NUM_SCRIPT =~ s/-//g ) {
|
||||
|
||||
# Do not do copy
|
||||
$copyalreadydone = 1;
|
||||
}
|
||||
if ( $NUM_SCRIPT !~ /^[0-$cpt\s]+$/ ) {
|
||||
print "This is not a valid package number list.\n";
|
||||
$found = 0;
|
||||
}
|
||||
else {
|
||||
$found = 1;
|
||||
}
|
||||
}
|
||||
print "\n";
|
||||
if ($NUM_SCRIPT) {
|
||||
foreach my $num ( split( /\s+/, $NUM_SCRIPT ) ) {
|
||||
$CHOOSEDTARGET{ $LISTETARGET[ $num - 1 ] } = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
foreach my $key (@LISTETARGET) {
|
||||
$CHOOSEDTARGET{$key} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Test if requirement is ok
|
||||
#--------------------------
|
||||
foreach my $target ( keys %CHOOSEDTARGET ) {
|
||||
foreach my $req ( split( /[,\s]/, $REQUIREMENTTARGET{$target} ) ) {
|
||||
|
||||
# Test
|
||||
print "Test requirement for target $target: Search '$req'... ";
|
||||
$ret = `"$req" 2>&1`;
|
||||
$coderetour = $?;
|
||||
$coderetour2 = $coderetour >> 8;
|
||||
if (
|
||||
$coderetour != 0
|
||||
&& ( ( $coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i )
|
||||
|| ( $coderetour2 == 127 && $OS !~ /windows/ ) )
|
||||
&& $PROGPATH
|
||||
)
|
||||
{
|
||||
|
||||
# Not found error, we try in PROGPATH
|
||||
$ret = `"$PROGPATH/$ALTERNATEPATH{$req}/$req\" 2>&1`;
|
||||
$coderetour = $?;
|
||||
$coderetour2 = $coderetour >> 8;
|
||||
$REQUIREMENTTARGET{$target} = "$PROGPATH/$ALTERNATEPATH{$req}/$req";
|
||||
}
|
||||
|
||||
if (
|
||||
$coderetour != 0
|
||||
&& ( ( $coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i )
|
||||
|| ( $coderetour2 == 127 && $OS !~ /windows/ ) )
|
||||
)
|
||||
{
|
||||
|
||||
# Not found error
|
||||
print
|
||||
"Not found\nCan't build target $target. Requirement '$req' not found in PATH\n";
|
||||
$CHOOSEDTARGET{$target} = -1;
|
||||
last;
|
||||
}
|
||||
else {
|
||||
|
||||
# Pas erreur ou erreur autre que programme absent
|
||||
print " Found " . $REQUIREMENTTARGET{$target} . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "\n";
|
||||
|
||||
# Check if there is at least on target to build
|
||||
#----------------------------------------------
|
||||
$nboftargetok = 0;
|
||||
foreach my $target ( keys %CHOOSEDTARGET ) {
|
||||
if ( $CHOOSEDTARGET{$target} < 0 ) { next; }
|
||||
$nboftargetok++;
|
||||
}
|
||||
|
||||
if ($nboftargetok) {
|
||||
|
||||
# Update buildroot
|
||||
#-----------------
|
||||
if ( !$copyalreadydone ) {
|
||||
print "Delete directory $BUILDROOT\n";
|
||||
$ret = `rm -fr "$BUILDROOT"`;
|
||||
mkdir "$BUILDROOT";
|
||||
mkdir "$BUILDROOT/htdocs";
|
||||
mkdir "$BUILDROOT/htdocs/langs";
|
||||
mkdir "$BUILDROOT/htdocs/langs/$PROJECT";
|
||||
|
||||
print "Copy $SOURCE into $BUILDROOT\n";
|
||||
mkdir "$BUILDROOT";
|
||||
$ret =
|
||||
`cp -pr "$SOURCE/htdocs/langs/$PROJECT" "$BUILDROOT/htdocs/langs"`;
|
||||
}
|
||||
print "Clean $BUILDROOT\n";
|
||||
$ret =
|
||||
`rm -fr $BUILDROOT/htdocs/langs/$PROJECT/Thumbs.db $BUILDROOT/htdocs/langs/$PROJECT/*/Thumbs.db $BUILDROOT/htdocs/langs/$PROJECT/*/*/Thumbs.db $BUILDROOT/htdocs/langs/$PROJECT/*/*/*/Thumbs.db`;
|
||||
$ret =
|
||||
`rm -fr $BUILDROOT/htdocs/langs/$PROJECT/CVS* $BUILDROOT/htdocs/langs/$PROJECT/*/CVS* $BUILDROOT/htdocs/langs/$PROJECT/*/*/CVS* $BUILDROOT/htdocs/langs/$PROJECT/*/*/*/CVS* $BUILDROOT/htdocs/langs/$PROJECT/*/*/*/*/CVS* $BUILDROOT/htdocs/langs/$PROJECT/*/*/*/*/*/CVS*`;
|
||||
|
||||
# Build package for each target
|
||||
#------------------------------
|
||||
foreach my $target ( keys %CHOOSEDTARGET )
|
||||
{
|
||||
if ( $CHOOSEDTARGET{$target} < 0 ) { next; }
|
||||
|
||||
print "\nBuild package for target $target\n";
|
||||
|
||||
if ( $target eq 'TGZ' )
|
||||
{
|
||||
unlink $FILENAMETGZ . tgz;
|
||||
|
||||
# unlink $BUILDROOT/$FILENAMETGZ.tgz;
|
||||
print "Compress $BUILDROOT/htdocs into $FILENAMETGZ.tgz...\n";
|
||||
$cmd =
|
||||
"tar --exclude-vcs --exclude-from \"$DESTI/tgz/tar.exclude\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$FILENAMETGZ.tgz\" htdocs";
|
||||
$ret = `$cmd`;
|
||||
|
||||
# $cmd="tar --exclude-vcs --exclude-from \"$DESTI/tgz/tar.exclude\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMETGZ.tgz\" htdocs\n";
|
||||
# $ret=`$cmd`;
|
||||
if ( $OS =~ /windows/i ) {
|
||||
print "Move $FILENAMETGZ.tgz to $DESTI/$FILENAMETGZ.tgz\n";
|
||||
$ret = `mv "$FILENAMETGZ.tgz" "$DESTI/$FILENAMETGZ.tgz"`;
|
||||
|
||||
# $ret=`mv "$BUILDROOT/$FILENAMETGZ.tgz" "$DESTI/$FILENAMETGZ.tgz"`;
|
||||
}
|
||||
next;
|
||||
}
|
||||
|
||||
if ( $target eq 'ZIP' )
|
||||
{
|
||||
unlink $FILENAMEZIP . zip;
|
||||
print "Compress $FILENAMETGZ into $FILENAMEZIP.zip...\n";
|
||||
chdir("$BUILDROOT");
|
||||
|
||||
#print "cd $BUILDROOTNT & 7z a -r -tzip -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMETGZ\\*.*\n";
|
||||
#$ret=`cd $BUILDROOTNT & 7z a -r -tzip -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMETGZ\\*.*`;
|
||||
$ret =
|
||||
`7z a -r -tzip -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMETGZ\\*.*`;
|
||||
print "Move $FILENAMEZIP.zip to $DESTI\n";
|
||||
rename( "$BUILDROOT/$FILENAMEZIP.zip", "$DESTI/$FILENAMEZIP.zip" );
|
||||
next;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "\n----- Summary -----\n";
|
||||
foreach my $target ( keys %CHOOSEDTARGET ) {
|
||||
if ( $CHOOSEDTARGET{$target} < 0 ) {
|
||||
print "Package $target not built (bad requirement).\n";
|
||||
}
|
||||
else {
|
||||
print "Package $target built succeessfully in $DESTI\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ( !$btach ) {
|
||||
print "\nPress key to finish...";
|
||||
my $WAITKEY = <STDIN>;
|
||||
}
|
||||
|
||||
0;
|
||||
@@ -8,20 +8,20 @@ This files describe steps made by Dolibarr packaging team to make a
|
||||
beta version of Dolibarr, step by step.
|
||||
|
||||
- Check all files are commited.
|
||||
- Update version/info in ChangeLog.
|
||||
To generate a changelog of a major new version x.y.0, you can do "cd ~/git/dolibarr_x.y; git log `git rev-list --boundary x.y..origin/develop | grep ^- | cut -c2- | head -n`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
To generate a changelog of a maintenance version x.y.z, you can do "cd ~/git/dolibarr_x.y; git log x.y.z-1.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
- Update version/info in /ChangeLog
|
||||
- Update version number with x.y.z-w in htdocs/filefunc.inc.php
|
||||
- Update version number with x.y.z-w in build/debian/changelog
|
||||
- Update version number with x.y.z-w in build/exe/doliwamp/doliwamp.iss
|
||||
- Update version number with x.y.z-w in build/rpm/*.spec
|
||||
- Commit all changes.
|
||||
- Add a Tag (x.y.betaz_YYYYMMDD) and push it: git push --tags
|
||||
- Create a branch (x.y).
|
||||
|
||||
- Run makepack-dolibarr.pl to generate all packages.
|
||||
|
||||
- Create a branch (x.y), if version seems stable enough.
|
||||
|
||||
- Move build files into www.dolibarr.org web site
|
||||
(/home/dolibarr/wwwroot/files/lastbuild).
|
||||
|
||||
- Post a news on dolibarr.org/dolibarr.fr + social networks
|
||||
- Post a news on dolibarr.org/dolibarr.fr
|
||||
- Send mail on mailings-list
|
||||
|
||||
|
||||
@@ -30,22 +30,21 @@ This files describe steps made by Dolibarr packaging team to make a
|
||||
complete release of Dolibarr, step by step.
|
||||
|
||||
- Check all files are commited.
|
||||
- Update version/info in ChangeLog.
|
||||
To generate a changelog of a major new version x.y.0, you can do "cd ~/git/dolibarr_x.y; git log `git rev-list --boundary x.y..origin/develop | grep ^- | cut -c2- | head -n`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
To generate a changelog of a maintenance version x.y.z, you can do "cd ~/git/dolibarr_x.y; git log x.y.z-1.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa"
|
||||
- Update version/info in ChangeLog
|
||||
- Update version number with x.y.z in htdocs/filefunc.inc.php
|
||||
- Update version number with x.y.z in build/debian/changelog
|
||||
- Update version number with x.y.z in build/exe/doliwamp/doliwamp.iss
|
||||
- Update version number with x.y.z in build/rpm/*.spec
|
||||
- Commit all changes.
|
||||
|
||||
- Run makepack-dolibarr.pl to generate all packages.
|
||||
|
||||
- Build Dolibarr and DoliWamp packages with makepack-dolibarr.pl
|
||||
- Check content of built packages.
|
||||
- Move build files into www.dolibarr.org web site
|
||||
(/home/dolibarr/wwwroot/files/stable).
|
||||
|
||||
- Run makepack-dolibarr.pl again with option to publish files on
|
||||
sourceforge. This will also add official tag.
|
||||
- Edit symbolic links in directory "/home/dolibarr/wwwroot/files/stable/xxx"
|
||||
on server to point to new files (used by some web sites).
|
||||
|
||||
- Post a news on dolibarr.org/dolibarr.fr + social networks
|
||||
- Send mail on mailings-list
|
||||
- Send news on OpenSource web sites (if major beta or release)
|
||||
|
||||
0
build/rpm/conf.php
Normal file → Executable file
0
build/rpm/conf.php
Normal file → Executable file
0
build/rpm/dolibarr-forrpm.patch
Normal file → Executable file
0
build/rpm/dolibarr-forrpm.patch
Normal file → Executable file
0
build/rpm/dolibarr.desktop
Normal file → Executable file
0
build/rpm/dolibarr.desktop
Normal file → Executable file
28
build/rpm/dolibarr_fedora.spec
Normal file → Executable file
28
build/rpm/dolibarr_fedora.spec
Normal file → Executable file
@@ -162,7 +162,6 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
%_datadir/dolibarr/htdocs/boutique
|
||||
%_datadir/dolibarr/htdocs/cashdesk
|
||||
%_datadir/dolibarr/htdocs/categories
|
||||
%_datadir/dolibarr/htdocs/comm
|
||||
@@ -333,4 +332,29 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
__CHANGELOGSTRING__
|
||||
* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Sep 24 2014 Laurent Destailleur 3.6.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
28
build/rpm/dolibarr_generic.spec
Normal file → Executable file
28
build/rpm/dolibarr_generic.spec
Normal file → Executable file
@@ -242,7 +242,6 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
%_datadir/dolibarr/htdocs/boutique
|
||||
%_datadir/dolibarr/htdocs/cashdesk
|
||||
%_datadir/dolibarr/htdocs/categories
|
||||
%_datadir/dolibarr/htdocs/comm
|
||||
@@ -569,4 +568,29 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
__CHANGELOGSTRING__
|
||||
* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Sep 24 2014 Laurent Destailleur 3.6.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
28
build/rpm/dolibarr_mandriva.spec
Normal file → Executable file
28
build/rpm/dolibarr_mandriva.spec
Normal file → Executable file
@@ -159,7 +159,6 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
%_datadir/dolibarr/htdocs/boutique
|
||||
%_datadir/dolibarr/htdocs/cashdesk
|
||||
%_datadir/dolibarr/htdocs/categories
|
||||
%_datadir/dolibarr/htdocs/comm
|
||||
@@ -338,4 +337,29 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
__CHANGELOGSTRING__
|
||||
* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Sep 24 2014 Laurent Destailleur 3.6.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
28
build/rpm/dolibarr_opensuse.spec
Normal file → Executable file
28
build/rpm/dolibarr_opensuse.spec
Normal file → Executable file
@@ -170,7 +170,6 @@ done >>%{name}.lang
|
||||
%_datadir/dolibarr/htdocs/asterisk
|
||||
%_datadir/dolibarr/htdocs/barcode
|
||||
%_datadir/dolibarr/htdocs/bookmarks
|
||||
%_datadir/dolibarr/htdocs/boutique
|
||||
%_datadir/dolibarr/htdocs/cashdesk
|
||||
%_datadir/dolibarr/htdocs/categories
|
||||
%_datadir/dolibarr/htdocs/comm
|
||||
@@ -349,4 +348,29 @@ fi
|
||||
|
||||
# version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release
|
||||
%changelog
|
||||
__CHANGELOGSTRING__
|
||||
* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Sep 24 2014 Laurent Destailleur 3.6.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Wed Jul 15 2014 Laurent Destailleur 3.6.0-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3
|
||||
- Upstream release
|
||||
|
||||
* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3
|
||||
- Upstream release
|
||||
|
||||
* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3
|
||||
- Upstream release
|
||||
|
||||
* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3
|
||||
- Initial version (#723326)
|
||||
|
||||
0
build/rpm/file_contexts.dolibarr
Normal file → Executable file
0
build/rpm/file_contexts.dolibarr
Normal file → Executable file
2
build/rpm/install.forced.php.fedora
Normal file → Executable file
2
build/rpm/install.forced.php.fedora
Normal file → Executable file
@@ -31,3 +31,5 @@ $force_dolibarr_lib_TCPDF_PATH='';
|
||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
1
build/rpm/install.forced.php.generic
Normal file → Executable file
1
build/rpm/install.forced.php.generic
Normal file → Executable file
@@ -20,3 +20,4 @@ $force_install_lockinstall='444';
|
||||
|
||||
// Value to overwrite path to use shared libraries/fonts instead of embedded one
|
||||
// We don't force any external lib with generic package
|
||||
?>
|
||||
2
build/rpm/install.forced.php.mandriva
Normal file → Executable file
2
build/rpm/install.forced.php.mandriva
Normal file → Executable file
@@ -31,3 +31,5 @@ $force_dolibarr_lib_TCPDF_PATH='';
|
||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/TTF/dejavu/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
2
build/rpm/install.forced.php.opensuse
Normal file → Executable file
2
build/rpm/install.forced.php.opensuse
Normal file → Executable file
@@ -31,3 +31,5 @@ $force_dolibarr_lib_TCPDF_PATH='';
|
||||
//$force_dolibarr_js_JQUERY_UI='/javascript/jquery-ui';
|
||||
//$force_dolibarr_js_JQUERY_FLOT='/javascript/flot';
|
||||
$force_dolibarr_font_DOL_DEFAULT_TTF_BOLD='/usr/share/fonts/truetype/DejaVuSans-Bold.ttf';
|
||||
|
||||
?>
|
||||
@@ -1,18 +0,0 @@
|
||||
<VirtualHost *:80>
|
||||
DocumentRoot %TRAVIS_BUILD_DIR%/htdocs
|
||||
|
||||
<Directory "%TRAVIS_BUILD_DIR%/htdocs">
|
||||
Options FollowSymLinks MultiViews ExecCGI
|
||||
AllowOverride All
|
||||
Order deny,allow
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
# Wire up Apache to use Travis CI's php-fpm.
|
||||
<IfModule mod_fastcgi.c>
|
||||
AddHandler php5-fcgi .php
|
||||
Action php5-fcgi /php5-fcgi
|
||||
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
|
||||
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
|
||||
</IfModule>
|
||||
</VirtualHost>
|
||||
@@ -6,32 +6,26 @@
|
||||
"homepage": "http://www.dolibarr.org",
|
||||
"license": "GPL-3.0+",
|
||||
"support": {
|
||||
"issues": "https://github.com/Dolibarr/dolibarr/issues",
|
||||
"issues": "https://doliforge.org/projects/dolibarr",
|
||||
"forum": "http://www.dolibarr.org/forum",
|
||||
"wiki": "http://wiki.dolibarr.org",
|
||||
"irc": "irc://chat.freenode.net/dolibarr",
|
||||
"source": "https://github.com/Dolibarr/dolibarr"
|
||||
"wiki": "http://wiki.dolibarr.org"
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0",
|
||||
"ext-gd": "*",
|
||||
"ext-curl": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-mysqlnd": "To use with MySQL or MariaDB",
|
||||
"ext-mysqli": "To use with MySQL or MariaDB",
|
||||
"ext-pgsql": "To use with PostgreSQL",
|
||||
"ext-mssql": "To use with MSSQL (experimental)",
|
||||
"ext-pdo_sqlite": "To use with SQLite (experimental)",
|
||||
"ext-gd": "Image manipulation (Required but maybe built-in PHP)",
|
||||
"ext-imagick": "Image manipulation (TCPDF)",
|
||||
"ext-mcrypt": "(Required but maybe built-in PHP)",
|
||||
"ext-openssl": "Secure connections (Emails, SOAP…)",
|
||||
"ext-mbstring": "Handle non UTF-8 databases",
|
||||
"ext-soap": "Native SOAP",
|
||||
"ext-zip": "ODT and Excel support",
|
||||
"ext-xml": "Excel support"
|
||||
},
|
||||
"config": {
|
||||
"vendor-dir": "htdocs/includes"
|
||||
"ext-mysqli": "*",
|
||||
"ext-pgsql": "*",
|
||||
"ext-mssql": "*",
|
||||
"ext-pdo_sqlite": "*",
|
||||
"ext-imagick": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-soap": "*",
|
||||
"ext-zip": "*",
|
||||
"ext-xml": "*"
|
||||
}
|
||||
}
|
||||
|
||||
0
dev/codesniffer/README
Normal file → Executable file
0
dev/codesniffer/README
Normal file → Executable file
0
dev/codesniffer/php.ini
Normal file → Executable file
0
dev/codesniffer/php.ini
Normal file → Executable file
0
dev/codesniffer/ruleset.dtd
Normal file → Executable file
0
dev/codesniffer/ruleset.dtd
Normal file → Executable file
118
dev/codesniffer/ruleset.xml
Normal file → Executable file
118
dev/codesniffer/ruleset.xml
Normal file → Executable file
@@ -6,11 +6,10 @@
|
||||
<exclude-pattern>*/conf.php</exclude-pattern>
|
||||
<exclude-pattern>*/includes/*</exclude-pattern>
|
||||
<exclude-pattern>*/documents/*</exclude-pattern>
|
||||
<exclude-pattern>*/dev/vagrant/*</exclude-pattern>
|
||||
<exclude-pattern>*/custom/*</exclude-pattern>
|
||||
<exclude-pattern>*/nltechno*</exclude-pattern>
|
||||
|
||||
<!-- List of all tests -->
|
||||
|
||||
<!-- List of all tests -->
|
||||
|
||||
|
||||
<!-- Rules from Internal Standard -->
|
||||
@@ -23,23 +22,7 @@
|
||||
<!-- Rules from Generic Standard -->
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement" />
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedCATCH">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedFOREACH">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedIF">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedELSE">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.DetectedELSEIF">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
|
||||
<rule ref="Generic.CodeAnalysis.EmptyStatement.NotAllowed">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
@@ -164,6 +147,8 @@
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="Generic.VersionControl.SubversionProperties" />
|
||||
|
||||
<!-- Disallow usage of tab -->
|
||||
<!-- <rule ref="Generic.WhiteSpace.DisallowTabIndent" /> -->
|
||||
|
||||
@@ -173,44 +158,18 @@
|
||||
|
||||
|
||||
|
||||
<!-- Rules from PEAR Standard -->
|
||||
<!-- Rules from PEAR Standard -->
|
||||
|
||||
<rule ref="PEAR.Classes.ClassDeclaration" />
|
||||
<rule ref="PEAR.Classes.ClassDeclaration" />
|
||||
|
||||
<!-- Check for duplicate class names -->
|
||||
<!-- <rule ref="Generic.Classes.DuplicateClassName" /> -->
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment" />
|
||||
|
||||
<!-- TODO Remove this and fix reported errors -->
|
||||
<rule ref="PEAR.Commenting.ClassComment.Missing">
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingTag" />
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingAuthorTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingCategoryTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingLicenseTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingLinkTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.ClassComment.MissingPackageTag">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
<rule ref="PEAR.Commenting.FileComment" />
|
||||
<rule ref="PEAR.Commenting.FileComment.WrongStyle">
|
||||
@@ -223,40 +182,15 @@
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
-->
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment" />
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.Empty">
|
||||
<severity>5</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.MissingReturn">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Commenting.FunctionComment.Missing">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamType" />
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamName">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamType">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.SpacingAfterParamName" />
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.ReturnNotRequired">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.WrongStyle">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment.Empty">
|
||||
<severity>5</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Commenting.FunctionComment" />
|
||||
<rule ref="PEAR.Commenting.FunctionComment.SpacingBeforeParamType">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
@@ -289,30 +223,9 @@
|
||||
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature" />
|
||||
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.CloseBracketLine">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.ContentAfterOpenBracket">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.EmptyLine">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.Indent">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeOpenBracket">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterOpenBracket">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceBeforeCloseBracket">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
<rule ref="PEAR.Functions.FunctionCallSignature.SpaceAfterCloseBracket">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.Functions.ValidDefaultValue" />
|
||||
|
||||
@@ -353,11 +266,6 @@
|
||||
</rule>
|
||||
<rule ref="PEAR.NamingConventions.ValidVariableName" />
|
||||
|
||||
<!-- This is not in PSR2 -->
|
||||
<rule ref="PEAR.NamingConventions.ValidVariableName.PrivateNoUnderscore">
|
||||
<severity>0</severity>
|
||||
</rule>
|
||||
|
||||
<rule ref="PEAR.WhiteSpace.ObjectOperatorIndent" />
|
||||
|
||||
<!-- Need to be commented to be disabled
|
||||
|
||||
0
dev/codetemplates/README
Normal file → Executable file
0
dev/codetemplates/README
Normal file → Executable file
0
dev/codetemplates/codetemplates.dtd
Normal file → Executable file
0
dev/codetemplates/codetemplates.dtd
Normal file → Executable file
0
dev/codetemplates/codetemplates.xml
Normal file → Executable file
0
dev/codetemplates/codetemplates.xml
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_categories.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_categories.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_customer.key.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_customer.key.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_customer.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_customer.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_order.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_order.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_product.sql
Normal file → Executable file
0
dev/dbmodel/emulate_oscommerce/llx_osc_product.sql
Normal file → Executable file
@@ -44,6 +44,8 @@ In htdocs/includes/tcpdf/tcpdf.php
|
||||
- protected $default_monospaced_font = 'courier';
|
||||
+ protected $default_monospaced_font = 'freemono';
|
||||
|
||||
* Renamed getmypid into dol_getmypid().
|
||||
|
||||
|
||||
JSGANTT:
|
||||
--------
|
||||
|
||||
0
dev/examples/README
Normal file → Executable file
0
dev/examples/README
Normal file → Executable file
@@ -25,4 +25,6 @@ then
|
||||
find ./htdocs -type f -iname "*.php" -exec chmod a-x {} \;
|
||||
chmod a+x ./scripts/*/*.php
|
||||
chmod a+x ./scripts/*/*.sh
|
||||
chmod g-w ./scripts/*/*.php
|
||||
chmod g-w ./scripts/*/*.sh
|
||||
fi
|
||||
|
||||
@@ -94,7 +94,7 @@ while ($i < GEN_NUMBER_FACTURE && $result >= 0)
|
||||
|
||||
print "Invoice ".$i." for socid ".$socid;
|
||||
|
||||
$facture = new Facture($db, $socids[$socid]);
|
||||
$facture = new Facture($db);
|
||||
$facture->date = time();
|
||||
$facture->cond_reglement_id = 3;
|
||||
$facture->mode_reglement_id = 3;
|
||||
|
||||
@@ -122,7 +122,7 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
|
||||
$soc = new Societe($db);
|
||||
|
||||
|
||||
$propal = new Propal($db, $socids[$socid]);
|
||||
$propal = new Propal($db);
|
||||
|
||||
$obj = $conf->global->PROPALE_ADDON;
|
||||
$modPropale = new $obj;
|
||||
@@ -130,6 +130,7 @@ while ($i < GEN_NUMBER_PROPAL && $result >= 0)
|
||||
|
||||
$propal->ref = $numpr;
|
||||
$propal->contactid = $contids[$socids[$socid]][0];
|
||||
$propal->socid = $socids[$socid];
|
||||
$propal->datep = time();
|
||||
$propal->cond_reglement_id = 3;
|
||||
$propal->mode_reglement_id = 3;
|
||||
|
||||
0
dev/iso-normes/GURULABS-RPM-GUIDE-v1.0.PDF
Normal file → Executable file
0
dev/iso-normes/GURULABS-RPM-GUIDE-v1.0.PDF
Normal file → Executable file
0
dev/iso-normes/address_format.txt
Normal file → Executable file
0
dev/iso-normes/address_format.txt
Normal file → Executable file
0
dev/iso-normes/banknumber_format.txt
Normal file → Executable file
0
dev/iso-normes/banknumber_format.txt
Normal file → Executable file
0
dev/iso-normes/xmlexport.txt
Normal file → Executable file
0
dev/iso-normes/xmlexport.txt
Normal file → Executable file
195
dev/optimize_images.sh
Executable file
195
dev/optimize_images.sh
Executable file
@@ -0,0 +1,195 @@
|
||||
#!/bin/bash
|
||||
# Borrowed from https://gist.github.com/lgiraudel/6065155
|
||||
# Inplace mode added by Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
|
||||
|
||||
PROGNAME=${0##*/}
|
||||
INPUT=''
|
||||
QUIET='0'
|
||||
NOSTATS='0'
|
||||
INPLACE='0'
|
||||
max_input_size=0
|
||||
max_output_size=0
|
||||
|
||||
usage()
|
||||
{
|
||||
cat <<EO
|
||||
Usage: $PROGNAME [options]
|
||||
|
||||
Script to optimize JPG and PNG images in a directory.
|
||||
|
||||
Options:
|
||||
EO
|
||||
cat <<EO | column -s\& -t
|
||||
-h, --help & shows this help
|
||||
-q, --quiet & disables output
|
||||
-i, --input [dir] & specify input directory (current directory by default)
|
||||
-o, --output [dir] & specify output directory ("output" by default)
|
||||
-ns, --no-stats & no stats at the end
|
||||
-p, --inplace & optimizes files inplace
|
||||
EO
|
||||
}
|
||||
|
||||
# $1: input image
|
||||
# $2: output image
|
||||
optimize_image()
|
||||
{
|
||||
input_file_size=$(stat -c%s "$1")
|
||||
max_input_size=$(expr $max_input_size + $input_file_size)
|
||||
|
||||
if [ "${1##*.}" = "png" ]; then
|
||||
optipng -o1 -clobber -quiet $1 -out $2.firstpass
|
||||
pngcrush -q -rem alla -reduce $2.firstpass $2 >/dev/null
|
||||
rm -fr $2.firstpass
|
||||
fi
|
||||
if [ "${1##*.}" = "jpg" -o "${1##*.}" = "jpeg" ]; then
|
||||
jpegtran -copy none -progressive $1 > $2
|
||||
fi
|
||||
|
||||
output_file_size=$(stat -c%s "$2")
|
||||
max_output_size=$(expr $max_output_size + $output_file_size)
|
||||
}
|
||||
|
||||
get_max_file_length()
|
||||
{
|
||||
local maxlength=0
|
||||
|
||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
||||
|
||||
for CURRENT_IMAGE in $IMAGES; do
|
||||
filename=$(basename "$CURRENT_IMAGE")
|
||||
if [[ ${#filename} -gt $maxlength ]]; then
|
||||
maxlength=${#filename}
|
||||
fi
|
||||
done
|
||||
|
||||
echo "$maxlength"
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
# If $INPUT is empty, then we use current directory
|
||||
if [[ "$INPUT" == "" ]]; then
|
||||
INPUT=$(pwd)
|
||||
fi
|
||||
|
||||
# If $OUTPUT is empty, then we use the directory "output" in the current directory
|
||||
if [[ "$OUTPUT" == "" ]]; then
|
||||
OUTPUT=$(pwd)/output
|
||||
fi
|
||||
# If inplace, we use /tmp for output
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
OUTPUT='/tmp/optimize'
|
||||
fi
|
||||
|
||||
# We create the output directory
|
||||
mkdir -p $OUTPUT
|
||||
|
||||
# To avoid some troubles with filename with spaces, we store the current IFS (Internal File Separator)...
|
||||
SAVEIFS=$IFS
|
||||
# ...and we set a new one
|
||||
IFS=$(echo -en "\n\b")
|
||||
|
||||
max_filelength=`get_max_file_length`
|
||||
pad=$(printf '%0.1s' "."{1..600})
|
||||
sDone=' [ DONE ]'
|
||||
linelength=$(expr $max_filelength + ${#sDone} + 5)
|
||||
|
||||
# Search of all jpg/jpeg/png in $INPUT
|
||||
# We remove images from $OUTPUT if $OUTPUT is a subdirectory of $INPUT
|
||||
IMAGES=$(find $INPUT -regextype posix-extended -regex '.*\.(jpg|jpeg|png)' | grep -v $OUTPUT)
|
||||
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
echo --- Optimizing $INPUT ---
|
||||
echo
|
||||
fi
|
||||
for CURRENT_IMAGE in $IMAGES; do
|
||||
filename=$(basename $CURRENT_IMAGE)
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
printf '%s ' "$filename"
|
||||
printf '%*.*s' 0 $((linelength - ${#filename} - ${#sDone} )) "$pad"
|
||||
fi
|
||||
|
||||
optimize_image $CURRENT_IMAGE $OUTPUT/$filename
|
||||
|
||||
# Replace file
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
mv $OUTPUT/$filename $CURRENT_IMAGE
|
||||
fi
|
||||
|
||||
if [ "$QUIET" == "0" ]; then
|
||||
printf '%s\n' "$sDone"
|
||||
fi
|
||||
done
|
||||
|
||||
# Cleanup
|
||||
if [[ "$INPLACE" == "1" ]]; then
|
||||
rm -rf $OUTPUT
|
||||
fi
|
||||
|
||||
# we restore the saved IFS
|
||||
IFS=$SAVEIFS
|
||||
|
||||
if [ "$NOSTATS" == "0" -a "$QUIET" == "0" ]; then
|
||||
echo
|
||||
echo "Input: " $(human_readable_filesize $max_input_size)
|
||||
echo "Output: " $(human_readable_filesize $max_output_size)
|
||||
space_saved=$(expr $max_input_size - $max_output_size)
|
||||
echo "Space save: " $(human_readable_filesize $space_saved)
|
||||
fi
|
||||
}
|
||||
|
||||
human_readable_filesize()
|
||||
{
|
||||
echo -n $1 | awk 'function human(x) {
|
||||
s=" b Kb Mb Gb Tb"
|
||||
while (x>=1024 && length(s)>1)
|
||||
{x/=1024; s=substr(s,4)}
|
||||
s=substr(s,1,4)
|
||||
xf=(s==" b ")?"%5d ":"%.2f"
|
||||
return sprintf( xf"%s", x, s)
|
||||
}
|
||||
{gsub(/^[0-9]+/, human($1)); print}'
|
||||
}
|
||||
|
||||
SHORTOPTS="h,i:,o:,q,s,p"
|
||||
LONGOPTS="help,input:,output:,quiet,no-stats,inplace"
|
||||
ARGS=$(getopt -s bash --options $SHORTOPTS --longoptions $LONGOPTS --name $PROGNAME -- "$@")
|
||||
|
||||
eval set -- "$ARGS"
|
||||
while true; do
|
||||
case $1 in
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
-i|--input)
|
||||
shift
|
||||
INPUT=$1
|
||||
;;
|
||||
-o|--output)
|
||||
shift
|
||||
OUTPUT=$1
|
||||
;;
|
||||
-q|--quiet)
|
||||
QUIET='1'
|
||||
;;
|
||||
-s|--no-stats)
|
||||
NOSTATS='1'
|
||||
;;
|
||||
-p|--inplace)
|
||||
INPLACE='1'
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
main
|
||||
|
||||
0
dev/phpunit/README
Normal file → Executable file
0
dev/phpunit/README
Normal file → Executable file
0
dev/phpunit/eclipse_setup_for_pti_phpunit.png
Normal file → Executable file
0
dev/phpunit/eclipse_setup_for_pti_phpunit.png
Normal file → Executable file
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
@@ -254,11 +254,11 @@ foreach($property as $key => $prop)
|
||||
$varprop.="\t\t\$sql.= \" ";
|
||||
if ($prop['istime'])
|
||||
{
|
||||
$varprop.='".(! isset($this->'.$prop['field'].') || dol_strlen($this->'.$prop['field'].')==0?\'NULL\':$this->db->idate(';
|
||||
$varprop.='".(! isset($this->'.$prop['field'].') || dol_strlen($this->'.$prop['field'].')==0?\'NULL\':"\'".$this->db->idate(';
|
||||
$varprop.="\$this->".$prop['field']."";
|
||||
$varprop.='))."';
|
||||
$varprop.=')."\'")."';
|
||||
if ($i < count($property)) $varprop.=",";
|
||||
$varprop.="\";";
|
||||
$varprop.='";';
|
||||
}
|
||||
elseif ($prop['ischar'])
|
||||
{
|
||||
|
||||
0
dev/skeletons/build_webservice_from_class.php
Executable file → Normal file
0
dev/skeletons/build_webservice_from_class.php
Executable file → Normal file
@@ -173,7 +173,7 @@ class modMyModule extends DolibarrModules
|
||||
|
||||
// Add here list of permission defined by an id, a label, a boolean and two constant strings.
|
||||
// Example:
|
||||
// $this->rights[$r][0] = 2000; // Permission id (must not be already used)
|
||||
// $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used)
|
||||
// $this->rights[$r][1] = 'Permision label'; // Permission label
|
||||
// $this->rights[$r][3] = 1; // Permission by default for new user (0/1)
|
||||
// $this->rights[$r][4] = 'level1'; // In php code, permission will be checked by test if ($user->rights->permkey->level1->level2)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007-2012 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2014 Juanjo Menent <jmenent@2byte.es>
|
||||
* Copyright (C) ---Put here your own copyright and developer email---
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
@@ -79,7 +80,7 @@ class Skeleton_Class extends CommonObject
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
// Insert request
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."mytable(";
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."(";
|
||||
$sql.= " field1,";
|
||||
$sql.= " field2";
|
||||
//...
|
||||
@@ -91,13 +92,13 @@ class Skeleton_Class extends CommonObject
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(__METHOD__, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."mytable");
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX.$this->table_element);
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
@@ -105,10 +106,8 @@ class Skeleton_Class extends CommonObject
|
||||
// want this action calls a trigger.
|
||||
|
||||
//// Call triggers
|
||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
//$interface=new Interfaces($this->db);
|
||||
//$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
|
||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
//$result=$this->call_trigger('MYOBJECT_CREATE',$user);
|
||||
//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
|
||||
//// End call triggers
|
||||
}
|
||||
}
|
||||
@@ -118,7 +117,7 @@ class Skeleton_Class extends CommonObject
|
||||
{
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
||||
dol_syslog(__METHOD__." ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
@@ -135,10 +134,11 @@ class Skeleton_Class extends CommonObject
|
||||
/**
|
||||
* Load object in memory from the database
|
||||
*
|
||||
* @param int $id Id object
|
||||
* @param int $id Id object
|
||||
* @param string $ref Ref
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch($id)
|
||||
function fetch($id,$ref='')
|
||||
{
|
||||
global $langs;
|
||||
$sql = "SELECT";
|
||||
@@ -146,10 +146,11 @@ class Skeleton_Class extends CommonObject
|
||||
$sql.= " t.field1,";
|
||||
$sql.= " t.field2";
|
||||
//...
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."mytable as t";
|
||||
$sql.= " WHERE t.rowid = ".$id;
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as t";
|
||||
if ($ref) $sql.= " WHERE t.ref = '".$ref."'";
|
||||
else $sql.= " WHERE t.rowid = ".$id;
|
||||
|
||||
dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(get_class($this)."::fetch");
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@@ -169,7 +170,6 @@ class Skeleton_Class extends CommonObject
|
||||
else
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -182,7 +182,7 @@ class Skeleton_Class extends CommonObject
|
||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||
* @return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($user=0, $notrigger=0)
|
||||
function update($user, $notrigger=0)
|
||||
{
|
||||
global $conf, $langs;
|
||||
$error=0;
|
||||
@@ -196,7 +196,7 @@ class Skeleton_Class extends CommonObject
|
||||
// Put here code to add a control on parameters values
|
||||
|
||||
// Update request
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."mytable SET";
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET";
|
||||
$sql.= " field1=".(isset($this->field1)?"'".$this->db->escape($this->field1)."'":"null").",";
|
||||
$sql.= " field2=".(isset($this->field2)?"'".$this->db->escape($this->field2)."'":"null")."";
|
||||
//...
|
||||
@@ -204,7 +204,7 @@ class Skeleton_Class extends CommonObject
|
||||
|
||||
$this->db->begin();
|
||||
|
||||
dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog(__METHOD__);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
||||
|
||||
@@ -216,12 +216,10 @@ class Skeleton_Class extends CommonObject
|
||||
// want this action calls a trigger.
|
||||
|
||||
//// Call triggers
|
||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
//$interface=new Interfaces($this->db);
|
||||
//$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
|
||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
//$result=$this->call_trigger('MYOBJECT_MODIFY',$user);
|
||||
//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
|
||||
//// End call triggers
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Commit or rollback
|
||||
@@ -229,7 +227,7 @@ class Skeleton_Class extends CommonObject
|
||||
{
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR);
|
||||
dol_syslog(__METHOD__." ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
@@ -264,21 +262,19 @@ class Skeleton_Class extends CommonObject
|
||||
// Uncomment this and change MYOBJECT to your own tag if you
|
||||
// want this action calls a trigger.
|
||||
|
||||
//// Call triggers
|
||||
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
//$interface=new Interfaces($this->db);
|
||||
//$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
|
||||
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||
//// End call triggers
|
||||
//// Call triggers
|
||||
//$result=$this->call_trigger('MYOBJECT_DELETE',$user);
|
||||
//if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail}
|
||||
//// End call triggers
|
||||
}
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."mytable";
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element;
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
|
||||
dol_syslog(get_class($this)."::delete sql=".$sql);
|
||||
dol_syslog(__METHOD__);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); }
|
||||
}
|
||||
@@ -288,7 +284,7 @@ class Skeleton_Class extends CommonObject
|
||||
{
|
||||
foreach($this->errors as $errmsg)
|
||||
{
|
||||
dol_syslog(get_class($this)."::delete ".$errmsg, LOG_ERR);
|
||||
dol_syslog(__METHOD__." ".$errmsg, LOG_ERR);
|
||||
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||
}
|
||||
$this->db->rollback();
|
||||
|
||||
@@ -43,6 +43,7 @@ if (! $res && file_exists("../../../dolibarr/htdocs/main.inc.php")) $res=@includ
|
||||
if (! $res && file_exists("../../../../dolibarr/htdocs/main.inc.php")) $res=@include '../../../../dolibarr/htdocs/main.inc.php'; // Used on dev env only
|
||||
if (! $res) die("Include of main fails");
|
||||
// Change this following line to use the correct relative path from htdocs
|
||||
include_once(DOL_DOCUMENT_ROOT.'/core/class/formcompany.class.php');
|
||||
dol_include_once('/module/class/skeleton_class.class.php');
|
||||
|
||||
// Load traductions files requiredby by page
|
||||
@@ -52,6 +53,7 @@ $langs->load("other");
|
||||
// Get parameters
|
||||
$id = GETPOST('id','int');
|
||||
$action = GETPOST('action','alpha');
|
||||
$backtopage = GETPOST('backtopage');
|
||||
$myparam = GETPOST('myparam','alpha');
|
||||
|
||||
// Protection if external user
|
||||
@@ -60,6 +62,16 @@ if ($user->societe_id > 0)
|
||||
//accessforbidden();
|
||||
}
|
||||
|
||||
if (empty($action) && empty($id) && empty($ref)) $action='create';
|
||||
|
||||
// Load object if id or ref is provided as parameter
|
||||
$object=new Skeleton_Class($db);
|
||||
if (($id > 0 || ! empty($ref)) && $action != 'add')
|
||||
{
|
||||
$result=$object->fetch($id,$ref);
|
||||
if ($result < 0) dol_print_error($db);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
@@ -68,19 +80,104 @@ if ($user->societe_id > 0)
|
||||
* Put here all code to do according to value of "action" parameter
|
||||
********************************************************************/
|
||||
|
||||
// Action to add record
|
||||
if ($action == 'add')
|
||||
{
|
||||
$object=new Skeleton_Class($db);
|
||||
$object->prop1=$_POST["field1"];
|
||||
$object->prop2=$_POST["field2"];
|
||||
$result=$object->create($user);
|
||||
if (GETPOST('cancel'))
|
||||
{
|
||||
$urltogo=$backtopage?$backtopage:dol_buildpath('/buildingmanagement/list.php',1);
|
||||
header("Location: ".$urltogo);
|
||||
exit;
|
||||
}
|
||||
|
||||
$error=0;
|
||||
|
||||
/* object_prop_getpost_prop */
|
||||
$object->prop1=GETPOST("field1");
|
||||
$object->prop2=GETPOST("field2");
|
||||
|
||||
if (empty($object->ref))
|
||||
{
|
||||
$error++;
|
||||
setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Ref")),'errors');
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$result=$object->create($user);
|
||||
if ($result > 0)
|
||||
{
|
||||
// Creation OK
|
||||
$urltogo=$backtopage?$backtopage:dol_buildpath('/mymodule/list.php',1);
|
||||
header("Location: ".$urltogo);
|
||||
exit;
|
||||
}
|
||||
{
|
||||
// Creation KO
|
||||
if (! empty($object->errors)) setEventMessages(null, $object->errors, 'errors');
|
||||
else setEventMessages($object->error, null, 'errors');
|
||||
$action='create';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$action='create';
|
||||
}
|
||||
}
|
||||
|
||||
// Cancel
|
||||
if ($action == 'update' && GETPOST('cancel')) $action='view';
|
||||
|
||||
// Action to update record
|
||||
if ($action == 'update' && ! GETPOST('cancel'))
|
||||
{
|
||||
$error=0;
|
||||
|
||||
$object->prop1=GETPOST("field1");
|
||||
$object->prop2=GETPOST("field2");
|
||||
|
||||
if (empty($object->ref))
|
||||
{
|
||||
$error++;
|
||||
setEventMessages($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Ref")),null,'errors');
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$result=$object->update($user);
|
||||
if ($result > 0)
|
||||
{
|
||||
$action='view';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Creation KO
|
||||
if (! empty($object->errors)) setEventMessages(null, $object->errors, 'errors');
|
||||
else setEventMessages($object->error, null, 'errors');
|
||||
$action='edit';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$action='edit';
|
||||
}
|
||||
}
|
||||
|
||||
// Action to delete
|
||||
if ($action == 'confirm_delete')
|
||||
{
|
||||
$result=$object->delete($user);
|
||||
if ($result > 0)
|
||||
{
|
||||
// Creation OK
|
||||
// Delete OK
|
||||
setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
|
||||
header("Location: ".dol_buildpath('/buildingmanagement/list.php',1));
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Creation KO
|
||||
$mesg=$object->error;
|
||||
if (! empty($object->errors)) setEventMessages(null,$object->errors,'errors');
|
||||
else setEventMessages($object->error,null,'errors');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,7 +198,7 @@ $form=new Form($db);
|
||||
|
||||
// Put here content of your page
|
||||
|
||||
// Example 1 : Adding jquery code
|
||||
// Example : Adding jquery code
|
||||
print '<script type="text/javascript" language="javascript">
|
||||
jQuery(document).ready(function() {
|
||||
function init_myfunc()
|
||||
@@ -117,13 +214,8 @@ jQuery(document).ready(function() {
|
||||
</script>';
|
||||
|
||||
|
||||
// Example 2 : Adding links to objects
|
||||
// The class must extends CommonObject class to have this method available
|
||||
//$somethingshown=$object->showLinkedObjectBlock();
|
||||
|
||||
|
||||
// Example 3 : List of data
|
||||
if ($action == 'list')
|
||||
// Part to show a list
|
||||
if ($action == 'list' || empty($id))
|
||||
{
|
||||
$sql = "SELECT";
|
||||
$sql.= " t.rowid,";
|
||||
@@ -139,27 +231,24 @@ if ($action == 'list')
|
||||
print_liste_field_titre($langs->trans('field2'),$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder);
|
||||
print '</tr>';
|
||||
|
||||
dol_syslog($script_file." sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog($script_file, LOG_DEBUG);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
if ($num)
|
||||
while ($i < $num)
|
||||
{
|
||||
while ($i < $num)
|
||||
$obj = $db->fetch_object($resql);
|
||||
if ($obj)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
if ($obj)
|
||||
{
|
||||
// You can use here results
|
||||
print '<tr><td>';
|
||||
print $obj->field1;
|
||||
print $obj->field2;
|
||||
print '</td></tr>';
|
||||
}
|
||||
$i++;
|
||||
// You can use here results
|
||||
print '<tr><td>';
|
||||
print $obj->field1;
|
||||
print $obj->field2;
|
||||
print '</td></tr>';
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -173,6 +262,102 @@ if ($action == 'list')
|
||||
|
||||
|
||||
|
||||
// Part to create
|
||||
if ($action == 'create')
|
||||
{
|
||||
print_fiche_titre($langs->trans("NewResidence"));
|
||||
|
||||
dol_fiche_head();
|
||||
|
||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
||||
|
||||
print '<table class="border centpercent">'."\n";
|
||||
print '<tr><td class="fieldrequired">'.$langs->trans("Label").'</td><td>';
|
||||
print '<input class="flat" type="text" size="36" name="label" value="'.$label.'">';
|
||||
print '</td></tr>';
|
||||
|
||||
print '</table>'."\n";
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<center><input type="submit" class="button" name="add" value="'.$langs->trans("Create").'"> <input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></center>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
dol_fiche_end();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Part to edit record
|
||||
if (($id || $ref) && $action == 'edit')
|
||||
{
|
||||
dol_fiche_head();
|
||||
|
||||
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
||||
print '<input type="hidden" name="id" value="'.$object->id.'">';
|
||||
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<center><input type="submit" class="button" name="add" value="'.$langs->trans("Create").'"></center>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
dol_fiche_end();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Part to show record
|
||||
if ($id && (empty($action) || $action == 'view'))
|
||||
{
|
||||
dol_fiche_head();
|
||||
|
||||
|
||||
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
// Buttons
|
||||
print '<div class="tabsAction">'."\n";
|
||||
$parameters=array();
|
||||
$reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook
|
||||
if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
||||
|
||||
if (empty($reshook))
|
||||
{
|
||||
if ($user->rights->mymodule->write)
|
||||
{
|
||||
print '<div class="inline-block divButAction"><a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit">'.$langs->trans("Modify").'</a></div>'."\n";
|
||||
}
|
||||
|
||||
if ($user->rights->mymodule->delete)
|
||||
{
|
||||
if ($conf->use_javascript_ajax && empty($conf->dol_use_jmobile)) // We can't use preloaded confirm form with jmobile
|
||||
{
|
||||
print '<div class="inline-block divButAction"><span id="action-delete" class="butActionDelete">'.$langs->trans('Delete').'</span></div>'."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<div class="inline-block divButAction"><a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete">'.$langs->trans('Delete').'</a></div>'."\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
print '</div>'."\n";
|
||||
|
||||
|
||||
// Example 2 : Adding links to objects
|
||||
// The class must extends CommonObject class to have this method available
|
||||
//$somethingshown=$object->showLinkedObjectBlock();
|
||||
|
||||
}
|
||||
|
||||
|
||||
// End of page
|
||||
llxFooter();
|
||||
$db->close();
|
||||
|
||||
@@ -57,7 +57,7 @@ if (! $result > 0) { dol_print_error('',$user->error); exit; }
|
||||
$user->getrights();
|
||||
|
||||
|
||||
print "***** ".$script_file." (".$version.") pid=".getmypid()." *****\n";
|
||||
print "***** ".$script_file." (".$version.") pid=".dol_getmypid()." *****\n";
|
||||
if (! isset($argv[1])) { // Check parameters
|
||||
print "Usage: ".$script_file." param1 param2 ...\n";
|
||||
exit(-1);
|
||||
@@ -119,7 +119,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."skeleton";
|
||||
$sql.= " WHERE field3 = 'xxx'";
|
||||
$sql.= " ORDER BY field1 ASC";
|
||||
|
||||
dol_syslog($script_file." sql=".$sql, LOG_DEBUG);
|
||||
dol_syslog($script_file, LOG_DEBUG);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
|
||||
@@ -269,5 +269,4 @@ function createSkeleton($authentication,$skeleton)
|
||||
}
|
||||
|
||||
// Return the results.
|
||||
$server->service($HTTP_RAW_POST_DATA);
|
||||
|
||||
$server->service(file_get_contents("php://input"));
|
||||
|
||||
0
dev/test/testtcpdf.php
Normal file → Executable file
0
dev/test/testtcpdf.php
Normal file → Executable file
@@ -23,7 +23,7 @@ Usage
|
||||
|
||||
`cd` into the vagrant box directory and simply type `vagrant up`.
|
||||
|
||||
That's all you need to do. It will build a brand new VirtalBox machine for you with everything you need to develop on Dolibarr.
|
||||
That's all you need to do. It will build a brand new VirtualBox machine for you with everything you need to develop on Dolibarr.
|
||||
|
||||
### Name resolution
|
||||
For easy access to the VM you need to setup name resolution to the machines IP.
|
||||
@@ -45,9 +45,16 @@ Somewhat bleeding edge vagrant box for develop branch related work.
|
||||
|
||||
- IP: 192.168.42.101
|
||||
- Vhost: dev.dolibarr.org
|
||||
- OS: Debian Wheezy 7.5
|
||||
- OS: Debian Wheezy 7.5 x64
|
||||
- Webserver: Apache 2.2.22
|
||||
- PHP: mod_php 5.5.13-1~dotdeb.1
|
||||
- PHP: mod_php 5.5.14-1~dotdeb.1
|
||||
Installed modules:
|
||||
- cli
|
||||
- curl
|
||||
- gd
|
||||
- imagick
|
||||
- intl
|
||||
- mcrypt
|
||||
- Database: MySQL 5.5
|
||||
- Root user: root
|
||||
- Root password: root
|
||||
@@ -55,7 +62,13 @@ Somewhat bleeding edge vagrant box for develop branch related work.
|
||||
- Database user: user
|
||||
- Database password: user
|
||||
- Initial data: dev/initdata/mysqldump_dolibarr-3.5.0.sql
|
||||
- Database: PostgreSQL 9.3
|
||||
- Adminer: lightweight database management. Access through http://192.168.42.101/adminer
|
||||
- Debugger: XDebug
|
||||
- Profiler: Xhprof
|
||||
- Profiler: Xhprof. Access through http://192.168.42.101/xhprof/xhprof_html
|
||||
|
||||
You can access MailCatcher to read all outgoing emails at http://192.168.42.101:1080
|
||||
|
||||
To access the machine you must use the following private keys:
|
||||
- User root: located at puphpet/files/dot/ssh/root_rsa
|
||||
- User vagrant: located at puphpet/files/dot/ssh/id_rsa
|
||||
|
||||
82
dev/vagrant/dolibarrdev/Vagrantfile
vendored
82
dev/vagrant/dolibarrdev/Vagrantfile
vendored
@@ -23,13 +23,62 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
end
|
||||
|
||||
if Vagrant.has_plugin?('vagrant-hostsupdater')
|
||||
hosts = Array.new()
|
||||
|
||||
if !configValues['apache']['install'].nil? &&
|
||||
configValues['apache']['install'].to_i == 1 &&
|
||||
configValues['apache']['vhosts'].is_a?(Hash)
|
||||
configValues['apache']['vhosts'].each do |i, vhost|
|
||||
hosts.push(vhost['servername'])
|
||||
|
||||
if vhost['serveraliases'].is_a?(Array)
|
||||
vhost['serveraliases'].each do |vhost_alias|
|
||||
hosts.push(vhost_alias)
|
||||
end
|
||||
end
|
||||
end
|
||||
elsif !configValues['nginx']['install'].nil? &&
|
||||
configValues['nginx']['install'].to_i == 1 &&
|
||||
configValues['nginx']['vhosts'].is_a?(Hash)
|
||||
configValues['nginx']['vhosts'].each do |i, vhost|
|
||||
hosts.push(vhost['server_name'])
|
||||
|
||||
if vhost['server_aliases'].is_a?(Array)
|
||||
vhost['server_aliases'].each do |x, vhost_alias|
|
||||
hosts.push(vhost_alias)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if hosts.any?
|
||||
contents = File.open("#{dir}/puphpet/shell/hostsupdater-notice.txt", 'r'){ |file| file.read }
|
||||
puts "\n\033[34m#{contents}\033[0m\n"
|
||||
|
||||
if config.vm.hostname.to_s.strip.length == 0
|
||||
config.vm.hostname = 'puphpet-dev-machine'
|
||||
end
|
||||
|
||||
config.hostsupdater.aliases = hosts
|
||||
end
|
||||
end
|
||||
|
||||
data['vm']['synced_folder'].each do |i, folder|
|
||||
if folder['source'] != '' && folder['target'] != ''
|
||||
nfs = (folder['nfs'] == "true") ? "nfs" : nil
|
||||
if nfs == "nfs"
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs
|
||||
if folder['sync_type'] == 'nfs'
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: "nfs"
|
||||
elsif folder['sync_type'] == 'smb'
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: "smb"
|
||||
elsif folder['sync_type'] == 'rsync'
|
||||
rsync_args = !folder['rsync']['args'].nil? ? folder['rsync']['args'] : ["--verbose", "--archive", "--delete", "-z"]
|
||||
rsync_auto = !folder['rsync']['auto'].nil? ? folder['rsync']['auto'] : true
|
||||
rsync_exclude = !folder['rsync']['exclude'].nil? ? folder['rsync']['exclude'] : [".vagrant/"]
|
||||
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}",
|
||||
rsync__args: rsync_args, rsync__exclude: rsync_exclude, rsync__auto: rsync_auto, type: "rsync"
|
||||
else
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}", type: nfs,
|
||||
config.vm.synced_folder "#{folder['source']}", "#{folder['target']}", id: "#{i}",
|
||||
group: 'www-data', owner: 'www-data', mount_options: ["dmode=775", "fmode=764"]
|
||||
end
|
||||
end
|
||||
@@ -45,6 +94,9 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memory"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
if key == "natdnshostresolver1"
|
||||
value = value ? "on" : "off"
|
||||
@@ -54,6 +106,7 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
|
||||
virtualbox.customize ["modifyvm", :id, "--memory", "#{data['vm']['memory']}"]
|
||||
virtualbox.customize ["modifyvm", :id, "--cpus", "#{data['vm']['cpus']}"]
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
virtualbox.customize ["modifyvm", :id, "--name", config.vm.hostname]
|
||||
@@ -69,11 +122,15 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memsize"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
v.vmx["#{key}"] = "#{value}"
|
||||
end
|
||||
|
||||
v.vmx["memsize"] = "#{data['vm']['memory']}"
|
||||
v.vmx["numvcpus"] = "#{data['vm']['cpus']}"
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
v.vmx["displayName"] = config.vm.hostname
|
||||
@@ -89,11 +146,15 @@ Vagrant.configure("2") do |config|
|
||||
if key == "memsize"
|
||||
next
|
||||
end
|
||||
if key == "cpus"
|
||||
next
|
||||
end
|
||||
|
||||
v.customize ["set", :id, "--#{key}", "#{value}"]
|
||||
end
|
||||
|
||||
v.memory = "#{data['vm']['memory']}"
|
||||
v.cpus = "#{data['vm']['cpus']}"
|
||||
|
||||
if data['vm']['hostname'].to_s.strip.length != 0
|
||||
v.name = config.vm.hostname
|
||||
@@ -111,7 +172,8 @@ Vagrant.configure("2") do |config|
|
||||
kg.path = "puphpet/shell/ssh-keygen.sh"
|
||||
kg.args = "#{ssh_username}"
|
||||
end
|
||||
config.vm.provision :shell, :path => "puphpet/shell/update-puppet.sh"
|
||||
config.vm.provision :shell, :path => "puphpet/shell/install-ruby.sh"
|
||||
config.vm.provision :shell, :path => "puphpet/shell/install-puppet.sh"
|
||||
|
||||
config.vm.provision :puppet do |puppet|
|
||||
puppet.facter = {
|
||||
@@ -128,7 +190,14 @@ Vagrant.configure("2") do |config|
|
||||
end
|
||||
end
|
||||
|
||||
config.vm.provision :shell, :path => "puphpet/shell/execute-files.sh"
|
||||
config.vm.provision :shell do |s|
|
||||
s.path = "puphpet/shell/execute-files.sh"
|
||||
s.args = ["exec-once", "exec-always"]
|
||||
end
|
||||
config.vm.provision :shell, run: "always" do |s|
|
||||
s.path = "puphpet/shell/execute-files.sh"
|
||||
s.args = ["startup-once", "startup-always"]
|
||||
end
|
||||
config.vm.provision :shell, :path => "puphpet/shell/important-notices.sh"
|
||||
|
||||
if File.file?("#{dir}/puphpet/files/dot/ssh/id_rsa")
|
||||
@@ -168,3 +237,4 @@ Vagrant.configure("2") do |config|
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
@@ -2,9 +2,4 @@
|
||||
* text=auto
|
||||
|
||||
# Force the following filetypes to have unix eols, so Windows does not break them
|
||||
*.pp text eol=lf
|
||||
*.sh text eol=lf
|
||||
*.yaml text eol=lf
|
||||
Puppetfile text eol=lf
|
||||
.bash_aliases text eol=lf
|
||||
.vimrc text eol=lf
|
||||
*.* text eol=lf
|
||||
|
||||
34
dev/vagrant/dolibarrdev/puphpet/config.yaml
vendored
34
dev/vagrant/dolibarrdev/puphpet/config.yaml
vendored
@@ -5,6 +5,7 @@ vagrantfile-local:
|
||||
box_url: puphpet/debian75-x64
|
||||
hostname: null
|
||||
memory: '512'
|
||||
cpus: '1'
|
||||
chosen_provider: virtualbox
|
||||
network:
|
||||
private_network: 192.168.42.101
|
||||
@@ -29,10 +30,12 @@ vagrantfile-local:
|
||||
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
|
||||
- '--parser future'
|
||||
synced_folder:
|
||||
PL1BkioqqvGY:
|
||||
w6GqzzS2a7lu:
|
||||
source: ../../../
|
||||
target: /var/www
|
||||
nfs: 'false'
|
||||
target: /var/www/dolibarr
|
||||
sync_type: default
|
||||
rsync:
|
||||
auto: 'false'
|
||||
usable_port_range: 2200..2250
|
||||
ssh:
|
||||
host: null
|
||||
@@ -61,8 +64,7 @@ mailcatcher:
|
||||
smtp_port: 1025
|
||||
http_ip: 0.0.0.0
|
||||
http_port: '1080'
|
||||
mailcatcher_path: /usr/local/bin
|
||||
log_path: /var/log/mailcatcher/mailcatcher.log
|
||||
mailcatcher_path: /usr/local/rvm/wrappers/default
|
||||
firewall:
|
||||
install: '1'
|
||||
rules: null
|
||||
@@ -71,7 +73,7 @@ apache:
|
||||
settings:
|
||||
user: www-data
|
||||
group: www-data
|
||||
default_vhost: false
|
||||
default_vhost: true
|
||||
manage_user: false
|
||||
manage_group: false
|
||||
sendfile: 0
|
||||
@@ -79,9 +81,9 @@ apache:
|
||||
- php
|
||||
- rewrite
|
||||
vhosts:
|
||||
CGyWQB0fx4x0:
|
||||
syTi8VestVdG:
|
||||
servername: dev.dolibarr.org
|
||||
docroot: /var/www/htdocs
|
||||
docroot: /var/www/dolibarr/htdocs
|
||||
port: '80'
|
||||
setenv:
|
||||
- 'APP_ENV dev'
|
||||
@@ -96,8 +98,12 @@ apache:
|
||||
mod_spdy: 0
|
||||
nginx:
|
||||
install: 0
|
||||
settings:
|
||||
default_vhost: 1
|
||||
proxy_buffer_size: 128k
|
||||
proxy_buffers: '4 256k'
|
||||
vhosts:
|
||||
jeF1sybIJ3V2:
|
||||
kZiLLcLAIVAF:
|
||||
server_name: awesome.dev
|
||||
server_aliases:
|
||||
- www.awesome.dev
|
||||
@@ -152,7 +158,7 @@ mysql:
|
||||
root_password: root
|
||||
adminer: 0
|
||||
databases:
|
||||
2OfuuapoIqsl:
|
||||
HHTBm64g1siG:
|
||||
grant:
|
||||
- ALTER
|
||||
- CREATE
|
||||
@@ -166,16 +172,16 @@ mysql:
|
||||
host: localhost
|
||||
user: user
|
||||
password: user
|
||||
sql_file: /var/www/dev/initdata/mysqldump_dolibarr_3.5.0.sql
|
||||
sql_file: /var/www/dolibarr/dev/initdata/mysqldump_dolibarr_3.5.0.sql
|
||||
postgresql:
|
||||
install: 0
|
||||
install: '1'
|
||||
settings:
|
||||
root_password: '123'
|
||||
root_password: root
|
||||
user_group: postgres
|
||||
encoding: UTF8
|
||||
version: '9.3'
|
||||
databases: { }
|
||||
adminer: 0
|
||||
adminer: '1'
|
||||
mariadb:
|
||||
install: 0
|
||||
root_password: '123'
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
ssh/id_rsa
|
||||
ssh/id_rsa.pub
|
||||
ssh/insecure_private_key
|
||||
ssh/id_rsa.ppk
|
||||
ssh/*
|
||||
0
dev/vagrant/dolibarrdev/puphpet/files/startup-once/empty
vendored
Normal file
0
dev/vagrant/dolibarrdev/puphpet/files/startup-once/empty
vendored
Normal file
241
dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp
vendored
241
dev/vagrant/dolibarrdev/puphpet/puppet/manifest.pp
vendored
@@ -197,8 +197,8 @@ if is_array($server_values['packages']) and count($server_values['packages']) >
|
||||
}
|
||||
|
||||
define add_dotdeb ($release){
|
||||
apt::source { $name:
|
||||
location => 'http://packages.dotdeb.org',
|
||||
apt::source { "${name}-repo.puphpet":
|
||||
location => 'http://repo.puphpet.com/dotdeb/',
|
||||
release => $release,
|
||||
repos => 'all',
|
||||
required_packages => 'debian-keyring debian-archive-keyring',
|
||||
@@ -270,7 +270,7 @@ if hash_key_equals($mailcatcher_values, 'install', 1) {
|
||||
|
||||
create_resources('class', { 'mailcatcher' => $mailcatcher_values['settings'] })
|
||||
|
||||
if ! defined(Firewall["100 tcp/${mailcatcher_values['settings']['smtp_port']},${mailcatcher_values['settings']['http_port']}"]) {
|
||||
if ! defined(Firewall["100 tcp/${mailcatcher_values['settings']['smtp_port']}, ${mailcatcher_values['settings']['http_port']}"]) {
|
||||
firewall { "100 tcp/${mailcatcher_values['settings']['smtp_port']}, ${mailcatcher_values['settings']['http_port']}":
|
||||
port => [$mailcatcher_values['settings']['smtp_port'], $mailcatcher_values['settings']['http_port']],
|
||||
proto => tcp,
|
||||
@@ -279,30 +279,39 @@ if hash_key_equals($mailcatcher_values, 'install', 1) {
|
||||
}
|
||||
|
||||
if ! defined(Class['supervisord']) {
|
||||
class{ 'puphpet::python::pip': }
|
||||
|
||||
class { 'supervisord':
|
||||
install_pip => true,
|
||||
install_pip => false,
|
||||
require => [
|
||||
Class['my_fw::post'],
|
||||
Class['Puphpet::Python::Pip'],
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
$supervisord_mailcatcher_options = sort(join_keys_to_values({
|
||||
$mailcatcher_path = $mailcatcher_values['settings']['mailcatcher_path']
|
||||
|
||||
$mailcatcher_options = sort(join_keys_to_values({
|
||||
' --smtp-ip' => $mailcatcher_values['settings']['smtp_ip'],
|
||||
' --smtp-port' => $mailcatcher_values['settings']['smtp_port'],
|
||||
' --http-ip' => $mailcatcher_values['settings']['http_ip'],
|
||||
' --http-port' => $mailcatcher_values['settings']['http_port']
|
||||
}, ' '))
|
||||
|
||||
$supervisord_mailcatcher_cmd = "mailcatcher ${supervisord_mailcatcher_options} -f >> ${mailcatcher_values['settings']['log']}"
|
||||
|
||||
supervisord::program { 'mailcatcher':
|
||||
command => $supervisord_mailcatcher_cmd,
|
||||
command => "${mailcatcher_path}/mailcatcher ${mailcatcher_options} -f",
|
||||
priority => '100',
|
||||
user => 'mailcatcher',
|
||||
autostart => true,
|
||||
autorestart => 'true',
|
||||
environment => {
|
||||
'PATH' => "/bin:/sbin:/usr/bin:/usr/sbin:${mailcatcher_values['settings']['path']}"
|
||||
'PATH' => "/bin:/sbin:/usr/bin:/usr/sbin:${mailcatcher_path}"
|
||||
},
|
||||
require => Package['mailcatcher']
|
||||
require => [
|
||||
Class['mailcatcher::config'],
|
||||
File['/var/log/mailcatcher']
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -312,10 +321,6 @@ if $firewall_values == undef {
|
||||
$firewall_values = hiera('firewall', false)
|
||||
}
|
||||
|
||||
resources { 'firewall':
|
||||
purge => true
|
||||
}
|
||||
|
||||
Firewall {
|
||||
before => Class['my_fw::post'],
|
||||
require => Class['my_fw::pre'],
|
||||
@@ -383,16 +388,15 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
include puphpet::params
|
||||
include apache::params
|
||||
|
||||
$webroot_location = $puphpet::params::apache_webroot_location
|
||||
$webroot_location = $puphpet::params::apache_webroot_location
|
||||
$apache_provider_types = ['virtualbox', 'vmware_fusion', 'vmware_desktop', 'parallels']
|
||||
|
||||
exec { "exec mkdir -p ${webroot_location}":
|
||||
command => "mkdir -p ${webroot_location}",
|
||||
creates => $webroot_location,
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
if (downcase($::provisioner_type) in $apache_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
mode => 0775,
|
||||
@@ -401,11 +405,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
Group['www-data']
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
} elsif ! (downcase($::provisioner_type) in $apache_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
group => 'www-data',
|
||||
@@ -435,8 +435,8 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
}
|
||||
|
||||
if $::operatingsystem == 'ubuntu'
|
||||
and hash_key_equals($php_values, 'install', 1)
|
||||
and hash_key_equals($php_values, 'version', 55)
|
||||
and hash_key_equals($php_values, 'install', 1)
|
||||
and hash_key_equals($php_values, 'version', 55)
|
||||
{
|
||||
$apache_version = '2.4'
|
||||
} else {
|
||||
@@ -467,15 +467,16 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
$apache_vhosts = merge($apache_values['vhosts'], {
|
||||
'default_vhost_80' => {
|
||||
'servername' => 'default',
|
||||
'serveraliases' => ['*'],
|
||||
'docroot' => '/var/www/default',
|
||||
'port' => 80,
|
||||
'default_vhost' => true,
|
||||
},
|
||||
'default_vhost_443' => {
|
||||
'servername' => 'default',
|
||||
'serveraliases' => ['*'],
|
||||
'docroot' => '/var/www/default',
|
||||
'port' => 443,
|
||||
'default_vhost' => true,
|
||||
'ssl' => 1,
|
||||
},
|
||||
})
|
||||
} else {
|
||||
@@ -489,7 +490,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
creates => $vhost['docroot'],
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
if (downcase($::provisioner_type) in $apache_provider_types)
|
||||
and ! defined(File[$vhost['docroot']])
|
||||
{
|
||||
file { $vhost['docroot']:
|
||||
@@ -497,9 +498,7 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
mode => 0765,
|
||||
require => Exec["exec mkdir -p ${vhost['docroot']} @ key ${key}"]
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
} elsif !(downcase($::provisioner_type) in $apache_provider_types)
|
||||
and ! defined(File[$vhost['docroot']])
|
||||
{
|
||||
file { $vhost['docroot']:
|
||||
@@ -515,11 +514,11 @@ if hash_key_equals($apache_values, 'install', 1) {
|
||||
|
||||
create_resources(apache::vhost, { "${key}" => merge($vhost, {
|
||||
'custom_fragment' => template('puphpet/apache/custom_fragment.erb'),
|
||||
'ssl' => 'ssl' in $vhost and str2bool($vhost['ssl']) ? { true => true, default => false },
|
||||
'ssl_cert' => 'ssl_cert' in $vhost and $vhost['ssl_cert'] ? { undef => undef, '' => undef, default => $vhost['ssl_cert'] },
|
||||
'ssl_key' => 'ssl_key' in $vhost and $vhost['ssl_key'] ? { undef => undef, '' => undef, default => $vhost['ssl_key'] },
|
||||
'ssl_chain' => 'ssl_chain' in $vhost and $vhost['ssl_chain'] ? { undef => undef, '' => undef, default => $vhost['ssl_chain'] },
|
||||
'ssl_certs_dir' => 'ssl_certs_dir' in $vhost and $vhost['ssl_certs_dir'] ? { undef => undef, '' => undef, default => $vhost['ssl_certs_dir'] }
|
||||
'ssl' => 'ssl' in $vhost and str2bool($vhost['ssl']) ? { true => true, default => false },
|
||||
'ssl_cert' => hash_key_true($vhost, 'ssl_cert') ? { true => $vhost['ssl_cert'], default => undef },
|
||||
'ssl_key' => hash_key_true($vhost, 'ssl_key') ? { true => $vhost['ssl_key'], default => undef },
|
||||
'ssl_chain' => hash_key_true($vhost, 'ssl_chain') ? { true => $vhost['ssl_chain'], default => undef },
|
||||
'ssl_certs_dir' => hash_key_true($vhost, 'ssl_certs_dir') ? { true => $vhost['ssl_certs_dir'], default => undef }
|
||||
})
|
||||
})
|
||||
|
||||
@@ -578,33 +577,25 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
}
|
||||
}
|
||||
|
||||
$webroot_location = $puphpet::params::nginx_webroot_location
|
||||
$webroot_location = $puphpet::params::nginx_webroot_location
|
||||
$nginx_provider_types = ['virtualbox', 'vmware_fusion', 'vmware_desktop', 'parallels']
|
||||
|
||||
exec { "exec mkdir -p ${webroot_location}":
|
||||
command => "mkdir -p ${webroot_location}",
|
||||
creates => $webroot_location,
|
||||
}
|
||||
|
||||
if (downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
if (downcase($::provisioner_type) in $nginx_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
mode => 0775,
|
||||
require => [
|
||||
Exec["exec mkdir -p ${webroot_location}"],
|
||||
Group['www-data']
|
||||
]
|
||||
require => Exec["exec mkdir -p ${webroot_location}"],
|
||||
}
|
||||
}
|
||||
|
||||
if !(downcase($::provisioner_type) in ['virtualbox', 'vmware_fusion'])
|
||||
and ! defined(File[$webroot_location])
|
||||
{
|
||||
} elsif ! (downcase($::provisioner_type) in $nginx_provider_types) and ! defined(File[$webroot_location]) {
|
||||
file { $webroot_location:
|
||||
ensure => directory,
|
||||
group => 'www-data',
|
||||
mode => 0775,
|
||||
group => 'www-data',
|
||||
require => [
|
||||
Exec["exec mkdir -p ${webroot_location}"],
|
||||
Group['www-data']
|
||||
@@ -626,12 +617,10 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
if hash_key_equals($php_values, 'install', 1) {
|
||||
$php5_fpm_sock = '/var/run/php5-fpm.sock'
|
||||
|
||||
if $php_values['version'] == undef {
|
||||
$fastcgi_pass = null
|
||||
} elsif $php_values['version'] == '53' {
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
} else {
|
||||
$fastcgi_pass = "unix:${php5_fpm_sock}"
|
||||
$fastcgi_pass = $php_values['version'] ? {
|
||||
'53' => '127.0.0.1:9000',
|
||||
undef => null,
|
||||
default => "unix:${php5_fpm_sock}"
|
||||
}
|
||||
|
||||
if $::osfamily == 'redhat' and $fastcgi_pass == "unix:${php5_fpm_sock}" {
|
||||
@@ -641,7 +630,7 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
require => Package['nginx'],
|
||||
}
|
||||
|
||||
exec { "listen = 127.0.0.1:9000 => listen = ${php5_fpm_sock}":
|
||||
exec { "'listen = 127.0.0.1:9000' => 'listen = ${php5_fpm_sock}'":
|
||||
command => "perl -p -i -e 's#listen = 127.0.0.1:9000#listen = ${php5_fpm_sock}#gi' /etc/php-fpm.d/www.conf",
|
||||
unless => "grep -c 'listen = 127.0.0.1:9000' '${php5_fpm_sock}'",
|
||||
notify => [
|
||||
@@ -651,29 +640,51 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
require => Exec["create ${php5_fpm_sock} file"]
|
||||
}
|
||||
|
||||
set_php5_fpm_sock_group_and_user { 'php_rhel':
|
||||
set_nginx_php5_fpm_sock_group_and_user { 'php_rhel':
|
||||
require => Exec["create ${php5_fpm_sock} file"],
|
||||
}
|
||||
} else {
|
||||
set_php5_fpm_sock_group_and_user { 'php':
|
||||
set_nginx_php5_fpm_sock_group_and_user { 'php':
|
||||
require => Package['nginx'],
|
||||
subscribe => Service['php5-fpm'],
|
||||
}
|
||||
}
|
||||
} elsif hash_key_equals($hhvm_values, 'install', 1) {
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
|
||||
set_php5_fpm_sock_group_and_user { 'hhvm':
|
||||
require => Package['nginx'],
|
||||
}
|
||||
$fastcgi_pass = '127.0.0.1:9000'
|
||||
} else {
|
||||
$fastcgi_pass = ''
|
||||
$fastcgi_pass = null
|
||||
}
|
||||
|
||||
class { 'nginx': }
|
||||
|
||||
if count($nginx_values['vhosts']) > 0 {
|
||||
each( $nginx_values['vhosts'] ) |$key, $vhost| {
|
||||
if hash_key_equals($nginx_values['settings'], 'default_vhost', 1) {
|
||||
$nginx_vhosts = merge($nginx_values['vhosts'], {
|
||||
'default' => {
|
||||
'server_name' => '_',
|
||||
'server_aliases' => [],
|
||||
'www_root' => '/var/www/html',
|
||||
'listen_port' => 80,
|
||||
'index_files' => ['index', 'index.html', 'index.htm', 'index.php'],
|
||||
'envvars' => [],
|
||||
'ssl' => '0',
|
||||
'ssl_cert' => '',
|
||||
'ssl_key' => '',
|
||||
},
|
||||
})
|
||||
|
||||
if ! defined(File[$puphpet::params::nginx_default_conf_location]) {
|
||||
file { $puphpet::params::nginx_default_conf_location:
|
||||
ensure => absent,
|
||||
require => Package['nginx'],
|
||||
notify => Class['nginx::service'],
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$nginx_vhosts = $nginx_values['vhosts']
|
||||
}
|
||||
|
||||
if count($nginx_vhosts) > 0 {
|
||||
each( $nginx_vhosts ) |$key, $vhost| {
|
||||
exec { "exec mkdir -p ${vhost['www_root']} @ key ${key}":
|
||||
command => "mkdir -p ${vhost['www_root']}",
|
||||
creates => $vhost['www_root'],
|
||||
@@ -695,7 +706,7 @@ if hash_key_equals($nginx_values, 'install', 1) {
|
||||
}
|
||||
}
|
||||
|
||||
create_resources(nginx_vhost, $nginx_values['vhosts'])
|
||||
create_resources(nginx_vhost, $nginx_vhosts)
|
||||
}
|
||||
|
||||
if ! defined(Firewall['100 tcp/443']) {
|
||||
@@ -743,41 +754,12 @@ define nginx_vhost (
|
||||
$fastcgi_param_parts = []
|
||||
}
|
||||
|
||||
if $ssl == 0 or $ssl == false or $ssl == '' {
|
||||
$ssl_set = false
|
||||
} else {
|
||||
$ssl_set = true
|
||||
}
|
||||
|
||||
if $ssl_cert == 0 or $ssl_cert == false or $ssl_cert == '' {
|
||||
$ssl_cert_set = $puphpet::params::ssl_cert_location
|
||||
} else {
|
||||
$ssl_cert_set = $ssl_cert
|
||||
}
|
||||
|
||||
if $ssl_key == 0 or $ssl_key == false or $ssl_key == '' {
|
||||
$ssl_key_set = $puphpet::params::ssl_key_location
|
||||
} else {
|
||||
$ssl_key_set = $ssl_key
|
||||
}
|
||||
|
||||
if $ssl_port == 0 or $ssl_port == false or $ssl_port == '' {
|
||||
$ssl_port_set = '443'
|
||||
} else {
|
||||
$ssl_port_set = $ssl_port
|
||||
}
|
||||
|
||||
if $rewrite_to_https == 0 or $rewrite_to_https == false or $rewrite_to_https == '' {
|
||||
$rewrite_to_https_set = false
|
||||
} else {
|
||||
$rewrite_to_https_set = true
|
||||
}
|
||||
|
||||
if $spdy == off or $spdy == 0 or $spdy == false or $spdy == '' {
|
||||
$spdy_set = off
|
||||
} else {
|
||||
$spdy_set = on
|
||||
}
|
||||
$ssl_set = value_true($ssl) ? { true => true, default => false, }
|
||||
$ssl_cert_set = value_true($ssl_cert) ? { true => $ssl_cert, default => $puphpet::params::ssl_cert_location, }
|
||||
$ssl_key_set = value_true($ssl_key) ? { true => $ssl_key, default => $puphpet::params::ssl_key_location, }
|
||||
$ssl_port_set = value_true($ssl_port) ? { true => $ssl_port, default => '443', }
|
||||
$rewrite_to_https_set = value_true($rewrite_to_https) ? { true => true, default => false, }
|
||||
$spdy_set = value_true($spdy) ? { true => on, default => off, }
|
||||
|
||||
nginx::resource::vhost { $server_name:
|
||||
server_name => $merged_server_name,
|
||||
@@ -798,6 +780,19 @@ define nginx_vhost (
|
||||
|
||||
$fastcgi_param = concat($fastcgi_param_parts, $envvars)
|
||||
|
||||
$fastcgi_pass_hash = fastcgi_pass ? {
|
||||
null => {},
|
||||
'' => {},
|
||||
default => {'fastcgi_pass' => $fastcgi_pass},
|
||||
}
|
||||
|
||||
$location_cfg_append = merge({
|
||||
'fastcgi_split_path_info' => '^(.+\.php)(/.+)$',
|
||||
'fastcgi_param' => $fastcgi_param,
|
||||
'fastcgi_index' => 'index.php',
|
||||
'include' => 'fastcgi_params'
|
||||
}, $fastcgi_pass_hash)
|
||||
|
||||
nginx::resource::location { "${server_name}-php":
|
||||
ensure => present,
|
||||
vhost => $server_name,
|
||||
@@ -806,20 +801,17 @@ define nginx_vhost (
|
||||
try_files => ['$uri', '$uri/', "/${try_files}?\$args"],
|
||||
ssl => $ssl_set,
|
||||
www_root => $www_root,
|
||||
location_cfg_append => {
|
||||
'fastcgi_split_path_info' => '^(.+\.php)(/.+)$',
|
||||
'fastcgi_param' => $fastcgi_param,
|
||||
'fastcgi_pass' => $fastcgi_pass,
|
||||
'fastcgi_index' => 'index.php',
|
||||
'include' => 'fastcgi_params'
|
||||
},
|
||||
location_cfg_append => $location_cfg_append,
|
||||
notify => Class['nginx::service'],
|
||||
}
|
||||
}
|
||||
|
||||
define set_php5_fpm_sock_group_and_user (){
|
||||
define set_nginx_php5_fpm_sock_group_and_user () {
|
||||
exec { 'set php5_fpm_sock group and user':
|
||||
command => "chmod 660 ${php5_fpm_sock} && chown www-data ${php5_fpm_sock} && chgrp www-data ${php5_fpm_sock} && touch /.puphpet-stuff/php5_fpm_sock",
|
||||
command => "chmod 660 ${php5_fpm_sock} && \
|
||||
chown www-data ${php5_fpm_sock} && \
|
||||
chgrp www-data ${php5_fpm_sock} && \
|
||||
touch /.puphpet-stuff/php5_fpm_sock",
|
||||
creates => '/.puphpet-stuff/php5_fpm_sock',
|
||||
}
|
||||
}
|
||||
@@ -998,7 +990,7 @@ if hash_key_equals($php_values, 'install', 1) {
|
||||
{
|
||||
puphpet::ini { 'sendmail_path':
|
||||
entry => 'CUSTOM/sendmail_path',
|
||||
value => '/usr/bin/env catchmail',
|
||||
value => "${mailcatcher_values['settings']['mailcatcher_path']}/catchmail -f",
|
||||
php_version => $php_values['version'],
|
||||
webserver => $php_webserver_service_ini
|
||||
}
|
||||
@@ -1096,7 +1088,7 @@ if hash_key_equals($xhprof_values, 'install', 1)
|
||||
}
|
||||
|
||||
if hash_key_equals($apache_values, 'install', 1) {
|
||||
$xhprof_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$xhprof_webroot_location = '/var/www/default'
|
||||
$xhprof_webserver_service = 'httpd'
|
||||
} elsif hash_key_equals($nginx_values, 'install', 1) {
|
||||
$xhprof_webroot_location = $puphpet::params::nginx_webroot_location
|
||||
@@ -1216,11 +1208,11 @@ if hash_key_equals($mysql_values, 'install', 1) {
|
||||
|
||||
if hash_key_equals($mysql_values, 'adminer', 1) and $mysql_php_installed {
|
||||
if hash_key_equals($apache_values, 'install', 1) {
|
||||
$mysql_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$mysql_adminer_webroot_location = '/var/www/default'
|
||||
} elsif hash_key_equals($nginx_values, 'install', 1) {
|
||||
$mysql_adminer_webroot_location = $puphpet::params::nginx_webroot_location
|
||||
} else {
|
||||
$mysql_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$mysql_adminer_webroot_location = '/var/www/default'
|
||||
}
|
||||
|
||||
class { 'puphpet::adminer':
|
||||
@@ -1329,11 +1321,11 @@ if hash_key_equals($postgresql_values, 'install', 1) {
|
||||
|
||||
if hash_key_equals($postgresql_values, 'adminer', 1) and $postgresql_php_installed {
|
||||
if hash_key_equals($apache_values, 'install', 1) {
|
||||
$postgresql_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$postgresql_adminer_webroot_location = '/var/www/default'
|
||||
} elsif hash_key_equals($nginx_values, 'install', 1) {
|
||||
$postgresql_adminer_webroot_location = $puphpet::params::nginx_webroot_location
|
||||
} else {
|
||||
$postgresql_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$postgresql_adminer_webroot_location = '/var/www/default'
|
||||
}
|
||||
|
||||
class { 'puphpet::adminer':
|
||||
@@ -1364,7 +1356,7 @@ define postgresql_db (
|
||||
$table = "${name}.*"
|
||||
|
||||
exec{ "${name}-import":
|
||||
command => "psql ${name} < ${sql_file}",
|
||||
command => "sudo -u postgres psql ${name} < ${sql_file}",
|
||||
logoutput => true,
|
||||
refreshonly => $refresh,
|
||||
require => Postgresql::Server::Db[$name],
|
||||
@@ -1491,11 +1483,11 @@ if hash_key_equals($mariadb_values, 'install', 1) {
|
||||
|
||||
if hash_key_equals($mariadb_values, 'adminer', 1) and $mariadb_php_installed {
|
||||
if hash_key_equals($apache_values, 'install', 1) {
|
||||
$mariadb_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$mariadb_adminer_webroot_location = '/var/www/default'
|
||||
} elsif hash_key_equals($nginx_values, 'install', 1) {
|
||||
$mariadb_adminer_webroot_location = $puphpet::params::nginx_webroot_location
|
||||
} else {
|
||||
$mariadb_adminer_webroot_location = $puphpet::params::apache_webroot_location
|
||||
$mariadb_adminer_webroot_location = '/var/www/default'
|
||||
}
|
||||
|
||||
class { 'puphpet::adminer':
|
||||
@@ -1662,7 +1654,7 @@ if $beanstalkd_values == undef {
|
||||
}
|
||||
|
||||
if hash_key_equals($apache_values, 'install', 1) {
|
||||
$beanstalk_console_webroot_location = "${puphpet::params::apache_webroot_location}/beanstalk_console"
|
||||
$beanstalk_console_webroot_location = '/var/www/default/beanstalk_console'
|
||||
} elsif hash_key_equals($nginx_values, 'install', 1) {
|
||||
$beanstalk_console_webroot_location = "${puphpet::params::nginx_webroot_location}/beanstalk_console"
|
||||
} else {
|
||||
@@ -1724,6 +1716,11 @@ if hash_key_equals($apache_values, 'install', 1)
|
||||
}
|
||||
|
||||
if hash_key_equals($rabbitmq_values, 'install', 1) {
|
||||
if $::osfamily == 'redhat' {
|
||||
Class['erlang'] -> Class['rabbitmq']
|
||||
include 'erlang'
|
||||
}
|
||||
|
||||
create_resources('class', { 'rabbitmq' => $rabbitmq_values['settings'] })
|
||||
|
||||
if hash_key_equals($php_values, 'install', 1) and ! defined(Php::Pecl::Module['amqp']) {
|
||||
|
||||
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Gemfile
vendored
Normal file
15
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Gemfile
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
source 'https://rubygems.org'
|
||||
|
||||
group :development, :test do
|
||||
gem 'rake', :require => false
|
||||
gem 'rspec-puppet', :require => false
|
||||
gem 'puppetlabs_spec_helper', :require => false
|
||||
gem 'puppet-lint', :require => false
|
||||
gem 'rspec-system-puppet', '~>2.0.0'
|
||||
end
|
||||
|
||||
if puppetversion = ENV['PUPPET_GEM_VERSION']
|
||||
gem 'puppet', puppetversion, :require => false
|
||||
else
|
||||
gem 'puppet', :require => false
|
||||
end
|
||||
13
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/LICENSE
vendored
Normal file
13
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/LICENSE
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
Copyright 2012-2014 Michael Stahnke
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Modulefile
vendored
Normal file
8
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Modulefile
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
name 'stahnma-epel'
|
||||
version '0.1.0'
|
||||
source 'http://github.com/stahnma/puppet-module-epel'
|
||||
author 'stahnma'
|
||||
license 'Apache License, Version 2.0'
|
||||
summary 'Setup the EPEL package repo'
|
||||
description 'Setup the EPEL package repo on Centos/RHEL et all'
|
||||
project_page 'http://github.com/stahnma/puppet-module-epel'
|
||||
90
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/README.md
vendored
Normal file
90
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/README.md
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
# Configure EPEL (Extra Repository for Enterprise Linux)
|
||||
|
||||
# About
|
||||
This module basically just mimics the epel-release rpm. The same repos are
|
||||
enabled/disabled and the GPG key is imported. In the end you will end up with
|
||||
the EPEL repos configured.
|
||||
|
||||
The following Repos will be setup and enabled by default:
|
||||
|
||||
* epel
|
||||
|
||||
Other repositories that will setup but disabled (as per the epel-release setup)
|
||||
|
||||
* epel-debuginfo
|
||||
* epel-source
|
||||
* epel-testing
|
||||
* epel-testing-debuginfo
|
||||
* epel-testing-source
|
||||
|
||||
# Proxy
|
||||
If you have an http proxy required to access the internet, you can use either
|
||||
a class parameter in the _epel_ class, or edit the $proxy variable in the
|
||||
params.pp file. By default no proxy is assumed.
|
||||
|
||||
# Why?
|
||||
I am a big fan of EPEL. I actually was one of the people who helped get it
|
||||
going. I am also the owner of the epel-release package, so in general this
|
||||
module should stay fairly up to date with the official upstream package.
|
||||
|
||||
I just got sick of coding Puppet modules and basically having an assumption
|
||||
that EPEL was setup or installed. I can now depend on this module instead.
|
||||
|
||||
I realize it is fairly trivial to get EPEL setup. Every now-and-then however
|
||||
the path to epel-release changes because something changes in the package (mass
|
||||
rebuild, rpm build macros updates, etc). This module will bypass the changing
|
||||
URL and just setup the package mirrors.
|
||||
|
||||
This does mean that if you are looking for RPM macros that are normally
|
||||
included with EPEL release, this will not have them.
|
||||
|
||||
# Futher Information
|
||||
|
||||
* [EPEL Wiki](http://fedoraproject.org/wiki/EPEL)
|
||||
* [epel-release package information](http://mirrors.servercentral.net/fedora/epel/6/i386/repoview/epel-release.html)
|
||||
|
||||
# Testing
|
||||
|
||||
* This is commonly used on Puppet Enterprise 3.x
|
||||
* This was tested using Puppet 3.3.0 on Centos5/6
|
||||
* This was tested using Puppet 3.1.1 on Amazon's AWS Linux
|
||||
* I assume it will work on any RHEL variant (Amazon Linux is debatable as a variant)
|
||||
|
||||
# Lifecycle
|
||||
* No functionality has been introduced that should break Puppet 2.6 or 2.7, but I am no longer testing these versions of Puppet as they are end-of-lifed from Puppet Labs.
|
||||
|
||||
## Unit tests
|
||||
|
||||
Install the necessary gems
|
||||
|
||||
bundle install
|
||||
|
||||
Run the RSpec and puppet-lint tests
|
||||
|
||||
bundle exec rake ci
|
||||
|
||||
## System tests
|
||||
|
||||
If you have Vagrant >=1.1.0 you can also run system tests:
|
||||
|
||||
RSPEC_SET=centos-64-x64 bundle exec rake spec:system
|
||||
|
||||
Available RSPEC_SET options are in .nodeset.yml
|
||||
|
||||
# License
|
||||
Apache Software License 2.0
|
||||
|
||||
# Author/Contributors
|
||||
* Chad Metcalf <metcalfc@gmail.com>
|
||||
* Joseph Swick <joseph.swick@meltwater.com>
|
||||
* Matthaus Owens <mlitteken@gmail.com>
|
||||
* Michael Stahnke <stahnma@puppetlabs.com>
|
||||
* Michael Stahnke <stahnma@websages.com>
|
||||
* Pro Cabales <proletaryo@gmail.com>
|
||||
* Proletaryo Cabales <proletaryo@gmail.com>
|
||||
* Stefan Goethals <stefan@zipkid.eu>
|
||||
* Tim Rupp <caphrim007@gmail.com>
|
||||
* Trey Dockendorf <treydock@gmail.com>
|
||||
* Troy Bollinger <troy@us.ibm.com>
|
||||
* Vlastimil Holer <holer@ics.muni.cz>
|
||||
* Ewoud Kohl van Wijngaarden <e.kohlvanwijngaarden@oxilion.nl>
|
||||
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Rakefile
vendored
Normal file
17
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/Rakefile
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
require 'puppetlabs_spec_helper/rake_tasks'
|
||||
require 'puppet-lint/tasks/puppet-lint'
|
||||
require 'rspec-system/rake_task'
|
||||
|
||||
task :default do
|
||||
sh %{rake -T}
|
||||
end
|
||||
|
||||
# Disable specific puppet-lint checks
|
||||
PuppetLint.configuration.send("disable_80chars")
|
||||
PuppetLint.configuration.send("disable_class_inherits_from_params_class")
|
||||
|
||||
desc "Run rspec-puppet and puppet-lint tasks"
|
||||
task :ci => [
|
||||
:lint,
|
||||
:spec,
|
||||
]
|
||||
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-5
vendored
Normal file
30
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-5
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.2.6 (GNU/Linux)
|
||||
|
||||
mQGiBEXopTIRBACZDBMOoFOakAjaxw1LXjeSvh/kmE35fU1rXfM7T0AV31NATCLF
|
||||
l5CQiNDA4oWreDThg2Bf6+LIVTsGQb1V+XXuLak4Em5yTYwMTVB//4/nMxQEbpl/
|
||||
QB2XwlJ7EQ0vW+kiPDz/7pHJz1p1jADzd9sQQicMtzysS4qT2i5A23j0VwCg1PB/
|
||||
lpYqo0ZhWTrevxKMa1n34FcD/REavj0hSLQFTaKNLHRotRTF8V0BajjSaTkUT4uk
|
||||
/RTaZ8Kr1mTosVtosqmdIAA2XHxi8ZLiVPPSezJjfElsSqOAxEKPL0djfpp2wrTm
|
||||
l/1iVnX+PZH5DRKCbjdCMLDJhYap7YUhcPsMGSeUKrwmBCBJUPc6DhjFvyhA9IMl
|
||||
1T0+A/9SKTv94ToP/JYoCTHTgnG5MoVNafisfe0wojP2mWU4gRk8X4dNGKMj6lic
|
||||
vM6gne3hESyjcqZSmr7yELPPGhI9MNauJ6Ob8cTR2T12Fmv9w03DD3MnBstR6vhP
|
||||
QcqZKhc5SJYYY7oVfxlSOfF4xfwcHQKoD5TOKwIAQ6T8jyFpKbQkRmVkb3JhIEVQ
|
||||
RUwgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iGQEExECACQFAkXopTICGwMFCRLM
|
||||
AwAGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQEZzANiF1IfabmQCgzvE60MnHSOBa
|
||||
ZXXF7uU2Vzu8EOkAoKg9h+j0NuNom6WUYZyJQt4zc5seuQINBEXopTYQCADapnR/
|
||||
blrJ8FhlgNPl0X9S3JE/kygPbNXIqne4XBVYisVp0uzNCRUxNZq30MpY027JCs2J
|
||||
nL2fMpwvx33f0phU029vrIZKA3CmnnwVsjcWfMJOVPBmVN7m5bGU68F+PdRIcDsl
|
||||
PMOWRLkTBZOGolLgIbM4719fqA8etewILrX6uPvRDwywV7/sPCFpRcfNNBUY+Zx3
|
||||
5bf4fnkaCKxgXgQS3AT+hGYhlzIqQVTkGNveHTnt4SSzgAqR9sSwQwqvEfVtYNeS
|
||||
w5rDguLG41HQm1Hojv59HNYjH6F/S1rClZi21bLgZbKpCFX76qPt8CTw+iQLBPPd
|
||||
yoOGHfzyp7nsfhUrAAMFB/9/H9Gpk822ZpBexQW4y3LGFo9ZSnmu+ueOZPU3SqDA
|
||||
DW1ovZdYzGuJTGGM9oMl6bL8eZrcUBBOFaWge5wZczIE3hx2exEOkDdvq+MUDVD1
|
||||
axmN45q/7h1NYRp5GQL2ZsoV4g9U2gMdzHOFtZCER6PP9ErVlfJpgBUCdSL93V4H
|
||||
Sgpkk7znmTOklbCM6l/G/A6q4sCRqfzHwVSTiruyTBiU9lfROsAl8fjIq2OzWJ2T
|
||||
P9sadBe1llUYaow7txYSUxssW+89avct35gIyrBbof5M+CBXyAOUaSWmpM2eub24
|
||||
0qbqiSr/Y6Om0t6vSzR8gRk7g+1H6IE0Tt1IJCvCAMimiE8EGBECAA8FAkXopTYC
|
||||
GwwFCRLMAwAACgkQEZzANiF1IfZQYgCgiZHCv4xb+sTHCn/otc1Ovvi/OgMAnRXY
|
||||
bbsLFWOfmzAnNIGvFRWy+YHi
|
||||
=MMNL
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-6
vendored
Normal file
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-6
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.5 (GNU/Linux)
|
||||
|
||||
mQINBEvSKUIBEADLGnUj24ZVKW7liFN/JA5CgtzlNnKs7sBg7fVbNWryiE3URbn1
|
||||
JXvrdwHtkKyY96/ifZ1Ld3lE2gOF61bGZ2CWwJNee76Sp9Z+isP8RQXbG5jwj/4B
|
||||
M9HK7phktqFVJ8VbY2jfTjcfxRvGM8YBwXF8hx0CDZURAjvf1xRSQJ7iAo58qcHn
|
||||
XtxOAvQmAbR9z6Q/h/D+Y/PhoIJp1OV4VNHCbCs9M7HUVBpgC53PDcTUQuwcgeY6
|
||||
pQgo9eT1eLNSZVrJ5Bctivl1UcD6P6CIGkkeT2gNhqindRPngUXGXW7Qzoefe+fV
|
||||
QqJSm7Tq2q9oqVZ46J964waCRItRySpuW5dxZO34WM6wsw2BP2MlACbH4l3luqtp
|
||||
Xo3Bvfnk+HAFH3HcMuwdaulxv7zYKXCfNoSfgrpEfo2Ex4Im/I3WdtwME/Gbnwdq
|
||||
3VJzgAxLVFhczDHwNkjmIdPAlNJ9/ixRjip4dgZtW8VcBCrNoL+LhDrIfjvnLdRu
|
||||
vBHy9P3sCF7FZycaHlMWP6RiLtHnEMGcbZ8QpQHi2dReU1wyr9QgguGU+jqSXYar
|
||||
1yEcsdRGasppNIZ8+Qawbm/a4doT10TEtPArhSoHlwbvqTDYjtfV92lC/2iwgO6g
|
||||
YgG9XrO4V8dV39Ffm7oLFfvTbg5mv4Q/E6AWo/gkjmtxkculbyAvjFtYAQARAQAB
|
||||
tCFFUEVMICg2KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAjYEEwECACAFAkvS
|
||||
KUICGw8GCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRA7Sd8qBgi4lR/GD/wLGPv9
|
||||
qO39eyb9NlrwfKdUEo1tHxKdrhNz+XYrO4yVDTBZRPSuvL2yaoeSIhQOKhNPfEgT
|
||||
9mdsbsgcfmoHxmGVcn+lbheWsSvcgrXuz0gLt8TGGKGGROAoLXpuUsb1HNtKEOwP
|
||||
Q4z1uQ2nOz5hLRyDOV0I2LwYV8BjGIjBKUMFEUxFTsL7XOZkrAg/WbTH2PW3hrfS
|
||||
WtcRA7EYonI3B80d39ffws7SmyKbS5PmZjqOPuTvV2F0tMhKIhncBwoojWZPExft
|
||||
HpKhzKVh8fdDO/3P1y1Fk3Cin8UbCO9MWMFNR27fVzCANlEPljsHA+3Ez4F7uboF
|
||||
p0OOEov4Yyi4BEbgqZnthTG4ub9nyiupIZ3ckPHr3nVcDUGcL6lQD/nkmNVIeLYP
|
||||
x1uHPOSlWfuojAYgzRH6LL7Idg4FHHBA0to7FW8dQXFIOyNiJFAOT2j8P5+tVdq8
|
||||
wB0PDSH8yRpn4HdJ9RYquau4OkjluxOWf0uRaS//SUcCZh+1/KBEOmcvBHYRZA5J
|
||||
l/nakCgxGb2paQOzqqpOcHKvlyLuzO5uybMXaipLExTGJXBlXrbbASfXa/yGYSAG
|
||||
iVrGz9CE6676dMlm8F+s3XXE13QZrXmjloc6jwOljnfAkjTGXjiB7OULESed96MR
|
||||
XtfLk0W5Ab9pd7tKDR6QHI7rgHXfCopRnZ2VVQ==
|
||||
=V/6I
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-7
vendored
Normal file
29
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/files/RPM-GPG-KEY-EPEL-7
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.11 (GNU/Linux)
|
||||
|
||||
mQINBFKuaIQBEAC1UphXwMqCAarPUH/ZsOFslabeTVO2pDk5YnO96f+rgZB7xArB
|
||||
OSeQk7B90iqSJ85/c72OAn4OXYvT63gfCeXpJs5M7emXkPsNQWWSju99lW+AqSNm
|
||||
jYWhmRlLRGl0OO7gIwj776dIXvcMNFlzSPj00N2xAqjMbjlnV2n2abAE5gq6VpqP
|
||||
vFXVyfrVa/ualogDVmf6h2t4Rdpifq8qTHsHFU3xpCz+T6/dGWKGQ42ZQfTaLnDM
|
||||
jToAsmY0AyevkIbX6iZVtzGvanYpPcWW4X0RDPcpqfFNZk643xI4lsZ+Y2Er9Yu5
|
||||
S/8x0ly+tmmIokaE0wwbdUu740YTZjCesroYWiRg5zuQ2xfKxJoV5E+Eh+tYwGDJ
|
||||
n6HfWhRgnudRRwvuJ45ztYVtKulKw8QQpd2STWrcQQDJaRWmnMooX/PATTjCBExB
|
||||
9dkz38Druvk7IkHMtsIqlkAOQMdsX1d3Tov6BE2XDjIG0zFxLduJGbVwc/6rIc95
|
||||
T055j36Ez0HrjxdpTGOOHxRqMK5m9flFbaxxtDnS7w77WqzW7HjFrD0VeTx2vnjj
|
||||
GqchHEQpfDpFOzb8LTFhgYidyRNUflQY35WLOzLNV+pV3eQ3Jg11UFwelSNLqfQf
|
||||
uFRGc+zcwkNjHh5yPvm9odR1BIfqJ6sKGPGbtPNXo7ERMRypWyRz0zi0twARAQAB
|
||||
tChGZWRvcmEgRVBFTCAoNykgPGVwZWxAZmVkb3JhcHJvamVjdC5vcmc+iQI4BBMB
|
||||
AgAiBQJSrmiEAhsPBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBqL66iNSxk
|
||||
5cfGD/4spqpsTjtDM7qpytKLHKruZtvuWiqt5RfvT9ww9GUUFMZ4ZZGX4nUXg49q
|
||||
ixDLayWR8ddG/s5kyOi3C0uX/6inzaYyRg+Bh70brqKUK14F1BrrPi29eaKfG+Gu
|
||||
MFtXdBG2a7OtPmw3yuKmq9Epv6B0mP6E5KSdvSRSqJWtGcA6wRS/wDzXJENHp5re
|
||||
9Ism3CYydpy0GLRA5wo4fPB5uLdUhLEUDvh2KK//fMjja3o0L+SNz8N0aDZyn5Ax
|
||||
CU9RB3EHcTecFgoy5umRj99BZrebR1NO+4gBrivIfdvD4fJNfNBHXwhSH9ACGCNv
|
||||
HnXVjHQF9iHWApKkRIeh8Fr2n5dtfJEF7SEX8GbX7FbsWo29kXMrVgNqHNyDnfAB
|
||||
VoPubgQdtJZJkVZAkaHrMu8AytwT62Q4eNqmJI1aWbZQNI5jWYqc6RKuCK6/F99q
|
||||
thFT9gJO17+yRuL6Uv2/vgzVR1RGdwVLKwlUjGPAjYflpCQwWMAASxiv9uPyYPHc
|
||||
ErSrbRG0wjIfAR3vus1OSOx3xZHZpXFfmQTsDP7zVROLzV98R3JwFAxJ4/xqeON4
|
||||
vCPFU6OsT3lWQ8w7il5ohY95wmujfr6lk89kEzJdOTzcn7DBbUru33CQMGKZ3Evt
|
||||
RjsC7FDbL017qxS+ZVA/HGkyfiu4cpgV8VUnbql5eAZ+1Ll6Dw==
|
||||
=hdPa
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
11
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/lib/facter/os_maj_version.rb
vendored
Normal file
11
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/lib/facter/os_maj_version.rb
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# This is a simple fact to get the Major version of an OS without having to
|
||||
# have the entire LSB suite installed. LSB seems to pull in about 300 megs of
|
||||
# stuff I often don't require. This fact is quick to load so it shouldn't be
|
||||
# much of an issue.
|
||||
|
||||
Facter.add(:os_maj_version) do
|
||||
setcode do
|
||||
v = Facter.value(:operatingsystemrelease)
|
||||
v.split('.')[0].strip
|
||||
end
|
||||
end
|
||||
135
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/init.pp
vendored
Normal file
135
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/init.pp
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
# Class epel
|
||||
#
|
||||
# Actions:
|
||||
# Configure the proper repositories and import GPG keys
|
||||
#
|
||||
# Reqiures:
|
||||
# You should probably be on an Enterprise Linux variant. (Centos, RHEL,
|
||||
# Scientific, Oracle, Ascendos, et al)
|
||||
#
|
||||
# Sample Usage:
|
||||
# include epel
|
||||
#
|
||||
class epel (
|
||||
$epel_mirrorlist = $epel::params::epel_mirrorlist,
|
||||
$epel_baseurl = $epel::params::epel_baseurl,
|
||||
$epel_failovermethod = $epel::params::epel_failovermethod,
|
||||
$epel_proxy = $epel::params::epel_proxy,
|
||||
$epel_enabled = $epel::params::epel_enabled,
|
||||
$epel_gpgcheck = $epel::params::epel_gpgcheck,
|
||||
$epel_testing_baseurl = $epel::params::epel_testing_baseurl,
|
||||
$epel_testing_failovermethod = $epel::params::epel_testing_failovermethod,
|
||||
$epel_testing_proxy = $epel::params::epel_testing_proxy,
|
||||
$epel_testing_enabled = $epel::params::epel_testing_enabled,
|
||||
$epel_testing_gpgcheck = $epel::params::epel_testing_gpgcheck,
|
||||
$epel_source_mirrorlist = $epel::params::epel_source_mirrorlist,
|
||||
$epel_source_baseurl = $epel::params::epel_source_baseurl,
|
||||
$epel_source_failovermethod = $epel::params::epel_source_failovermethod,
|
||||
$epel_source_proxy = $epel::params::epel_source_proxy,
|
||||
$epel_source_enabled = $epel::params::epel_source_enabled,
|
||||
$epel_source_gpgcheck = $epel::params::epel_source_gpgcheck,
|
||||
$epel_debuginfo_mirrorlist = $epel::params::epel_debuginfo_mirrorlist,
|
||||
$epel_debuginfo_baseurl = $epel::params::epel_debuginfo_baseurl,
|
||||
$epel_debuginfo_failovermethod = $epel::params::epel_debuginfo_failovermethod,
|
||||
$epel_debuginfo_proxy = $epel::params::epel_debuginfo_proxy,
|
||||
$epel_debuginfo_enabled = $epel::params::epel_debuginfo_enabled,
|
||||
$epel_debuginfo_gpgcheck = $epel::params::epel_debuginfo_gpgcheck,
|
||||
$epel_testing_source_baseurl = $epel::params::epel_testing_source_baseurl,
|
||||
$epel_testing_source_failovermethod = $epel::params::epel_testing_source_failovermethod,
|
||||
$epel_testing_source_proxy = $epel::params::epel_testing_source_proxy,
|
||||
$epel_testing_source_enabled = $epel::params::epel_testing_source_enabled,
|
||||
$epel_testing_source_gpgcheck = $epel::params::epel_testing_source_gpgcheck,
|
||||
$epel_testing_debuginfo_baseurl = $epel::params::epel_testing_debuginfo_baseurl,
|
||||
$epel_testing_debuginfo_failovermethod = $epel::params::epel_testing_debuginfo_failovermethod,
|
||||
$epel_testing_debuginfo_proxy = $epel::params::epel_testing_debuginfo_proxy,
|
||||
$epel_testing_debuginfo_enabled = $epel::params::epel_testing_debuginfo_enabled,
|
||||
$epel_testing_debuginfo_gpgcheck = $epel::params::epel_testing_debuginfo_gpgcheck
|
||||
) inherits epel::params {
|
||||
|
||||
if $::osfamily == 'RedHat' and $::operatingsystem !~ /Fedora|Amazon/ {
|
||||
yumrepo { 'epel-testing':
|
||||
baseurl => $epel_testing_baseurl,
|
||||
failovermethod => $epel_testing_failovermethod,
|
||||
proxy => $epel_testing_proxy,
|
||||
enabled => $epel_testing_enabled,
|
||||
gpgcheck => $epel_testing_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch ",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-testing-debuginfo':
|
||||
baseurl => $epel_testing_debuginfo_baseurl,
|
||||
failovermethod => $epel_testing_debuginfo_failovermethod,
|
||||
proxy => $epel_testing_debuginfo_proxy,
|
||||
enabled => $epel_testing_debuginfo_enabled,
|
||||
gpgcheck => $epel_testing_debuginfo_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch - Debug",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-testing-source':
|
||||
baseurl => $epel_testing_source_baseurl,
|
||||
failovermethod => $epel_testing_source_failovermethod,
|
||||
proxy => $epel_testing_source_proxy,
|
||||
enabled => $epel_testing_source_enabled,
|
||||
gpgcheck => $epel_testing_source_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - Testing - \$basearch - Source",
|
||||
}
|
||||
|
||||
yumrepo { 'epel':
|
||||
mirrorlist => $epel_mirrorlist,
|
||||
baseurl => $epel_baseurl,
|
||||
failovermethod => $epel_failovermethod,
|
||||
proxy => $epel_proxy,
|
||||
enabled => $epel_enabled,
|
||||
gpgcheck => $epel_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-debuginfo':
|
||||
mirrorlist => $epel_debuginfo_mirrorlist,
|
||||
baseurl => $epel_debuginfo_baseurl,
|
||||
failovermethod => $epel_debuginfo_failovermethod,
|
||||
proxy => $epel_debuginfo_proxy,
|
||||
enabled => $epel_debuginfo_enabled,
|
||||
gpgcheck => $epel_debuginfo_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch - Debug",
|
||||
}
|
||||
|
||||
yumrepo { 'epel-source':
|
||||
mirrorlist => $epel_source_mirrorlist,
|
||||
baseurl => $epel_source_baseurl,
|
||||
failovermethod => $epel_source_failovermethod,
|
||||
proxy => $epel_source_proxy,
|
||||
enabled => $epel_source_enabled,
|
||||
gpgcheck => $epel_source_gpgcheck,
|
||||
gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
descr => "Extra Packages for Enterprise Linux ${::os_maj_version} - \$basearch - Source",
|
||||
}
|
||||
|
||||
file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}":
|
||||
ensure => present,
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
mode => '0644',
|
||||
source => "puppet:///modules/epel/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
}
|
||||
|
||||
epel::rpm_gpg_key{ "EPEL-${::os_maj_version}":
|
||||
path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${::os_maj_version}",
|
||||
before => Yumrepo['epel','epel-source','epel-debuginfo','epel-testing','epel-testing-source','epel-testing-debuginfo'],
|
||||
}
|
||||
|
||||
} elsif $::osfamily == 'RedHat' and $::operatingsystem == 'Amazon' {
|
||||
yumrepo { 'epel':
|
||||
enabled => $epel_enabled,
|
||||
gpgcheck => $epel_gpgcheck,
|
||||
}
|
||||
} else {
|
||||
notice ("Your operating system ${::operatingsystem} will not have the EPEL repository applied")
|
||||
}
|
||||
|
||||
}
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/params.pp
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/params.pp
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
# Optional parameters in setting up EPEL
|
||||
class epel::params {
|
||||
# Setting to 'absent' will fall back to the yum.conf
|
||||
# Setting proxy here will be the default for all repos.
|
||||
#
|
||||
# If you wish to set a proxy for an individual set of repos,
|
||||
# you can declare $proxy in that class, and should scope to
|
||||
# the most specific declaration of proxy.
|
||||
$proxy = 'absent'
|
||||
|
||||
$epel_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_baseurl = 'absent'
|
||||
$epel_failovermethod = 'priority'
|
||||
$epel_proxy = $proxy
|
||||
$epel_enabled = '1'
|
||||
$epel_gpgcheck = '1'
|
||||
$epel_testing_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/\$basearch"
|
||||
$epel_testing_failovermethod = 'priority'
|
||||
$epel_testing_proxy = $proxy
|
||||
$epel_testing_enabled = '0'
|
||||
$epel_testing_gpgcheck = '1'
|
||||
$epel_source_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-source-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_source_baseurl = 'absent'
|
||||
$epel_source_failovermethod = 'priority'
|
||||
$epel_source_proxy = $proxy
|
||||
$epel_source_enabled = '0'
|
||||
$epel_source_gpgcheck = '1'
|
||||
$epel_debuginfo_mirrorlist = "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-debug-${::os_maj_version}&arch=\$basearch"
|
||||
$epel_debuginfo_baseurl = 'absent'
|
||||
$epel_debuginfo_failovermethod = 'priority'
|
||||
$epel_debuginfo_proxy = $proxy
|
||||
$epel_debuginfo_enabled = '0'
|
||||
$epel_debuginfo_gpgcheck = '1'
|
||||
$epel_testing_source_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/SRPMS"
|
||||
$epel_testing_source_failovermethod = 'priority'
|
||||
$epel_testing_source_proxy = $proxy
|
||||
$epel_testing_source_enabled = '0'
|
||||
$epel_testing_source_gpgcheck = '1'
|
||||
$epel_testing_debuginfo_baseurl = "http://download.fedoraproject.org/pub/epel/testing/${::os_maj_version}/\$basearch/debug"
|
||||
$epel_testing_debuginfo_failovermethod = 'priority'
|
||||
$epel_testing_debuginfo_proxy = $proxy
|
||||
$epel_testing_debuginfo_enabled = '0'
|
||||
$epel_testing_debuginfo_gpgcheck = '1'
|
||||
|
||||
}
|
||||
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/rpm_gpg_key.pp
vendored
Normal file
28
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/manifests/rpm_gpg_key.pp
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
# Define epel::rpm_gpg_key
|
||||
#
|
||||
# Actions:
|
||||
# Import a RPM gpg key
|
||||
#
|
||||
# Parameters:
|
||||
#
|
||||
# [*path*]
|
||||
# Path of the RPM GPG key to import
|
||||
#
|
||||
# Reqiures:
|
||||
# You should probably be on an Enterprise Linux variant. (Centos, RHEL, Scientific, Oracle, Ascendos, et al)
|
||||
#
|
||||
# Sample Usage:
|
||||
# epel::rpm_gpg_key{ "EPEL-6":
|
||||
# path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6"
|
||||
# }
|
||||
#
|
||||
define epel::rpm_gpg_key($path) {
|
||||
# Given the path to a key, see if it is imported, if not, import it
|
||||
exec { "import-${name}":
|
||||
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
command => "rpm --import ${path}",
|
||||
unless => "rpm -q gpg-pubkey-$(echo $(gpg --throw-keyids < ${path}) | cut --characters=11-18 | tr '[A-Z]' '[a-z]')",
|
||||
require => File[$path],
|
||||
logoutput => 'on_failure',
|
||||
}
|
||||
}
|
||||
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/metadata.json
vendored
Normal file
45
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/metadata.json
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"name": "stahnma-epel",
|
||||
"version": "0.1.0",
|
||||
"source": "http://github.com/stahnma/puppet-module-epel",
|
||||
"author": "stahnma",
|
||||
"license": "Apache License, Version 2.0",
|
||||
"summary": "Setup the EPEL package repo",
|
||||
"description": "Setup the EPEL package repo on Centos/RHEL et all",
|
||||
"project_page": "http://github.com/stahnma/puppet-module-epel",
|
||||
"dependencies": [
|
||||
|
||||
],
|
||||
"types": [
|
||||
|
||||
],
|
||||
"checksums": {
|
||||
"Gemfile": "3189476f30a99858b367d955298fe469",
|
||||
"LICENSE": "94f0b1430ad7e59227ccabf8232f81d5",
|
||||
"Modulefile": "250a4370b189d3f2e68ffd359ee02bb5",
|
||||
"README.md": "6b4c4d2e7f0f9c1b6197529fa1120c88",
|
||||
"Rakefile": "946eced163d7f8e0da85bda4baa7fa9c",
|
||||
"files/RPM-GPG-KEY-EPEL-5": "0466c259781def56dafe0a2cdc9de0c5",
|
||||
"files/RPM-GPG-KEY-EPEL-6": "d865e6b948a74cb03bc3401c0b01b785",
|
||||
"files/RPM-GPG-KEY-EPEL-7": "58fa8ae27c89f37b08429f04fd4a88cc",
|
||||
"lib/facter/os_maj_version.rb": "806fb856251b605df379e973c716a41c",
|
||||
"manifests/init.pp": "61856de8db1eb00700e0a9a93aea506f",
|
||||
"manifests/params.pp": "4fb2e283b4ba6e41abd7a914bdd001b8",
|
||||
"manifests/rpm_gpg_key.pp": "69086f12752a14b200e462afaa59a93c",
|
||||
"spec/classes/epel_spec.rb": "7e8e5973fdccb866e91ed00a3fd0af4c",
|
||||
"spec/classes/shared_base.rb": "a6a46eb7225a1814b9343f32190ba75b",
|
||||
"spec/classes/shared_debuginfo.rb": "1bd23934bc1f7d14d2491c7741f10299",
|
||||
"spec/classes/shared_gpgkey.rb": "38a62fe24acfc9cc8d740d242c9f1c85",
|
||||
"spec/classes/shared_source.rb": "6581989ed1ca2edd589ed98ecb08bdfa",
|
||||
"spec/classes/shared_testing.rb": "50e936b9cf241c9849cf551961492532",
|
||||
"spec/classes/shared_testing_debuginfo.rb": "41e8a2215d347246ff241f1b3a819c91",
|
||||
"spec/classes/shared_testing_source.rb": "8cd827b2cb0b08b1633d70784417f946",
|
||||
"spec/defines/rpm_gpg_key_spec.rb": "489fa716eaa2aba013089a6cf552c5a6",
|
||||
"spec/spec_helper.rb": "a5ad64bd67aa3fe2512fa7ba505c8e8b",
|
||||
"spec/spec_helper_system.rb": "d24a7ffdf4b67dbbd3ef5687292f51cf",
|
||||
"spec/system/basic_spec.rb": "bc475b95f390134b31d905590bf8b039",
|
||||
"spec/system/usage_spec.rb": "04506df5627ecbe975acd1fd0407ae40",
|
||||
"spec/unit/facter/os_maj_version_spec.rb": "67ab2730991d4a8430f1115aad46bcea",
|
||||
"tests/init.pp": "7c69b7adf2ba141cb62cfc9e0704d59e"
|
||||
}
|
||||
}
|
||||
80
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/epel_spec.rb
vendored
Normal file
80
dev/vagrant/dolibarrdev/puphpet/puppet/modules/epel/spec/classes/epel_spec.rb
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
require 'spec_helper'
|
||||
require 'classes/shared_gpgkey'
|
||||
require 'classes/shared_base'
|
||||
require 'classes/shared_source'
|
||||
require 'classes/shared_debuginfo'
|
||||
require 'classes/shared_testing'
|
||||
require 'classes/shared_testing_source'
|
||||
require 'classes/shared_testing_debuginfo'
|
||||
|
||||
describe 'epel' do
|
||||
it { should create_class('epel') }
|
||||
it { should contain_class('epel::params') }
|
||||
|
||||
context "operatingsystem => #{default_facts[:operatingsystem]}" do
|
||||
context 'os_maj_version => 6' do
|
||||
include_context :base_6
|
||||
include_context :gpgkey_6
|
||||
include_context :epel_source_6
|
||||
include_context :epel_debuginfo_6
|
||||
include_context :epel_testing_6
|
||||
include_context :epel_testing_source_6
|
||||
include_context :epel_testing_debuginfo_6
|
||||
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '6.4',
|
||||
:os_maj_version => '6',
|
||||
})
|
||||
end
|
||||
|
||||
context 'epel_baseurl => http://example.com/epel/6/x86_64' do
|
||||
let(:params) {{ :epel_baseurl => "http://example.com/epel/6/x86_64" }}
|
||||
it { should contain_yumrepo('epel').with('baseurl' => 'http://example.com/epel/6/x86_64') }
|
||||
end
|
||||
|
||||
context 'epel_mirrorlist => absent' do
|
||||
let(:params) {{ :epel_mirrorlist => 'absent' }}
|
||||
it { should contain_yumrepo('epel').with('mirrorlist' => 'absent') }
|
||||
end
|
||||
end
|
||||
|
||||
context 'os_maj_version => 5' do
|
||||
include_context :base_5
|
||||
include_context :gpgkey_5
|
||||
include_context :epel_source_5
|
||||
include_context :epel_debuginfo_5
|
||||
include_context :epel_testing_5
|
||||
include_context :epel_testing_source_5
|
||||
include_context :epel_testing_debuginfo_5
|
||||
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystemrelease => '5.9',
|
||||
:os_maj_version => '5',
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
context 'operatingsystem => Amazon' do
|
||||
let :facts do
|
||||
default_facts.merge({
|
||||
:operatingsystem => 'Amazon',
|
||||
})
|
||||
end
|
||||
|
||||
it { should_not contain_yumrepo('epel-testing') }
|
||||
it { should_not contain_yumrepo('epel-testing-debuginfo') }
|
||||
it { should_not contain_yumrepo('epel-testing-source') }
|
||||
it { should_not contain_yumrepo('epel-debuginfo') }
|
||||
it { should_not contain_yumrepo('epel-source') }
|
||||
|
||||
it do
|
||||
should contain_yumrepo('epel').with({
|
||||
'enabled' => '1',
|
||||
'gpgcheck' => '1',
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user