perl-www.spec 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. ##
  2. ## perl-www.spec -- OpenPKG RPM Specification
  3. ## Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
  4. ## Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com>
  5. ## Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
  6. ##
  7. ## Permission to use, copy, modify, and distribute this software for
  8. ## any purpose with or without fee is hereby granted, provided that
  9. ## the above copyright notice and this permission notice appear in all
  10. ## copies.
  11. ##
  12. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  13. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  14. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  15. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  16. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  17. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  18. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  19. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  20. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  21. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  22. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. ## SUCH DAMAGE.
  24. ##
  25. # versions of individual parts
  26. %define V_perl 5.8.4
  27. %define V_libwww_perl 5.79
  28. %define V_uri 1.30
  29. %define V_cgi 3.05
  30. %define V_cgi_untaint 1.00
  31. %define V_cgi_auth 3.00
  32. %define V_cgi_simple 0.071
  33. %define V_cgi_echo 1.03
  34. %define V_cgi_lite 2.02
  35. %define V_cgi_panel 0.97
  36. %define V_cgi_application 3.22
  37. %define V_cgi_formbuilder 2.12
  38. %define V_cgi_formmagick 0.89
  39. %define V_cgi_minimal 1.11
  40. %define V_cgi_safe 1.24
  41. %define V_cgi_session 3.95
  42. %define V_fcgi 0.67
  43. %define V_rpc_xml 0.54
  44. %define V_soap_lite 0.60a
  45. %define V_soap_lite_smartproxy 0.11
  46. %define V_soap_payload 1.02
  47. %define V_net_google 0.61
  48. %define V_www_mechanize 1.02
  49. %define V_www_mechanize_cached 1.32
  50. %define V_www_mechanize_formfi 0.05
  51. %define V_www_mechanize_shell 0.34
  52. %define V_www_mechanize_sleepy 0.5
  53. %define V_www_mechanize_timed 0.42
  54. %define V_www_search 2.47
  55. %define V_www_search_google 0.21
  56. %define V_www_search_yahoo 2.394
  57. %define V_www_search_lycos 2.22
  58. %define V_www_search_alltheweb 1.5
  59. # package information
  60. Name: perl-www
  61. Summary: Perl Module for WWW client and server behavior
  62. URL: http://www.cpan.org/
  63. Vendor: Perl Community
  64. Packager: The OpenPKG Project
  65. Distribution: OpenPKG
  66. Class: BASE
  67. Group: Language
  68. License: GPL/Artistic
  69. Version: %{V_perl}
  70. Release: 20040508
  71. # list of sources
  72. Source0: http://www.cpan.org/modules/by-module/URI/URI-%{V_uri}.tar.gz
  73. Source1: http://www.cpan.org/modules/by-module/WWW/libwww-perl-%{V_libwww_perl}.tar.gz
  74. Source2: http://www.cpan.org/modules/by-module/CGI/CGI.pm-%{V_cgi}.tar.gz
  75. Source3: http://www.cpan.org/modules/by-module/CGI/CGI-Untaint-%{V_cgi_untaint}.tar.gz
  76. Source4: http://www.cpan.org/modules/by-module/CGI/CGI-Auth-%{V_cgi_auth}.tar.gz
  77. Source5: http://www.cpan.org/modules/by-module/CGI/Cgi-Simple-%{V_cgi_simple}.tar.gz
  78. Source6: http://www.cpan.org/modules/by-module/CGI/CGI-Echo-%{V_cgi_echo}.tgz
  79. Source7: http://www.cpan.org/modules/by-module/CGI/CGI-Lite-%{V_cgi_lite}.tar.gz
  80. Source8: http://www.cpan.org/modules/by-module/CGI/CGI-Panel-%{V_cgi_panel}.tar.gz
  81. Source9: http://www.cpan.org/modules/by-module/CGI/CGI-Application-%{V_cgi_application}.tar.gz
  82. Source10: http://www.cpan.org/modules/by-module/CGI/CGI-FormBuilder-%{V_cgi_formbuilder}.tar.gz
  83. Source11: http://www.cpan.org/modules/by-module/CGI/CGI-FormMagick-%{V_cgi_formmagick}.tar.gz
  84. Source12: http://www.cpan.org/modules/by-module/CGI/CGI-Minimal-%{V_cgi_minimal}.tar.gz
  85. Source13: http://www.cpan.org/modules/by-module/CGI/CGI-Safe-%{V_cgi_safe}.tar.gz
  86. Source14: http://www.cpan.org/modules/by-module/CGI/CGI-Session-%{V_cgi_session}.tar.gz
  87. Source15: http://www.cpan.org/modules/by-module/FCGI/FCGI-%{V_fcgi}.tar.gz
  88. Source16: http://www.cpan.org/modules/by-module/RPC/RPC-XML-%{V_rpc_xml}.tar.gz
  89. Source17: http://www.cpan.org/modules/by-module/SOAP/SOAP-Lite-%{V_soap_lite}.tar.gz
  90. Source18: http://www.cpan.org/modules/by-module/SOAP/SOAP-Lite-SmartProxy-%{V_soap_lite_smartproxy}.tar.gz
  91. Source19: http://www.cpan.org/modules/by-module/SOAP/SOAP-payload-%{V_soap_payload}.tar.gz
  92. Source20: http://www.cpan.org/modules/by-module/Net/Net-Google-%{V_net_google}.tar.gz
  93. Source21: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-%{V_www_mechanize}.tar.gz
  94. Source22: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-Cached-%{V_www_mechanize_cached}.tar.gz
  95. Source23: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-FormFiller-%{V_www_mechanize_formfi}.tar.gz
  96. Source24: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-Shell-%{V_www_mechanize_shell}.tar.gz
  97. Source25: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-Sleepy-%{V_www_mechanize_sleepy}.tar.gz
  98. Source26: http://www.cpan.org/modules/by-module/WWW/WWW-Mechanize-Timed-%{V_www_mechanize_timed}.tar.gz
  99. Source27: http://www.cpan.org/modules/by-module/WWW/WWW-Search-%{V_www_search}.tar.gz
  100. Source28: http://www.cpan.org/modules/by-module/WWW/WWW-Search-Google-%{V_www_search_google}.tar.gz
  101. Source29: http://www.cpan.org/modules/by-module/WWW/WWW-Search-Yahoo-%{V_www_search_yahoo}.tar.gz
  102. Source30: http://www.cpan.org/modules/by-module/WWW/WWW-Search-Lycos-%{V_www_search_lycos}.tar.gz
  103. Source31: http://www.cpan.org/modules/by-module/WWW/WWW-Search-AlltheWeb-%{V_www_search_alltheweb}.tar.gz
  104. # build information
  105. Prefix: %{l_prefix}
  106. BuildRoot: %{l_buildroot}
  107. BuildPreReq: OpenPKG, openpkg >= 20040130, perl >= %{V_perl}, perl-openpkg >= %{V_perl}-20040126
  108. PreReq: OpenPKG, openpkg >= 20040130, perl >= %{V_perl}
  109. BuildPreReq: perl-crypto, perl-mail, perl-xml, perl-net
  110. PreReq: perl-crypto, perl-mail, perl-xml, perl-net
  111. AutoReq: no
  112. AutoReqProv: no
  113. %description
  114. Various Perl modules related to World Wide Web (WWW):
  115. - libwww-perl (%{V_libwww_perl})
  116. - URI (%{V_uri})
  117. - CGI (%{V_cgi})
  118. - CGI::Application (%{V_cgi_application})
  119. - CGI::FormBuilder (%{V_cgi_formbuilder})
  120. - CGI::FormMagick (%{V_cgi_formmagick})
  121. - CGI::Minimal (%{V_cgi_minimal})
  122. - CGI::Safe (%{V_cgi_safe})
  123. - CGI::Session (%{V_cgi_session})
  124. - CGI::Untaint (%{V_cgi_untaint})
  125. - CGI::Auth (%{V_cgi_auth})
  126. - CGI::Simple (%{V_cgi_simple})
  127. - CGI::Echo (%{V_cgi_echo})
  128. - CGI::Lite (%{V_cgi_lite})
  129. - CGI::Panel (%{V_cgi_panel})
  130. - FCGI (%{V_fcgi})
  131. - RPC::XML (%{V_rpc_xml})
  132. - SOAP::Lite (%{V_soap_lite})
  133. - SOAP::Lite::SmartProxy (%{V_soap_lite_smartproxy})
  134. - SOAP::payload (%{V_soap_payload})
  135. - Net::Google (%{V_net_google})
  136. - WWW::Mechanize (%{V_www_mechanize})
  137. - WWW-Mechanize-Cached (%{V_www_mechanize_cached})
  138. - WWW-Mechanize-FormFiller (%{V_www_mechanize_formfi})
  139. - WWW-Mechanize-Shell (%{V_www_mechanize_shell})
  140. - WWW-Mechanize-Sleepy (%{V_www_mechanize_sleepy})
  141. - WWW-Mechanize-Timed (%{V_www_mechanize_timed})
  142. - WWW-Search (%{V_www_search})
  143. - WWW-Search-Google (%{V_www_search_google})
  144. - WWW-Search-Yahoo (%{V_www_search_yahoo})
  145. - WWW-Search-Lycos (%{V_www_search_lycos})
  146. - WWW-Search-AlltheWeb (%{V_www_search_alltheweb})
  147. %track
  148. prog perl-www:CGI-Application = {
  149. version = %{V_cgi_application}
  150. url = http://www.cpan.org/modules/by-module/CGI/
  151. regex = CGI-Application-(__VER__)\.tar\.gz
  152. }
  153. prog perl-www:CGI-Auth = {
  154. version = %{V_cgi_auth}
  155. url = http://www.cpan.org/modules/by-module/CGI/
  156. regex = CGI-Auth-(__VER__)\.tar\.gz
  157. }
  158. prog perl-www:CGI-Echo = {
  159. version = %{V_cgi_echo}
  160. url = http://www.cpan.org/modules/by-module/CGI/
  161. regex = CGI-Echo-(__VER__)\.tgz
  162. }
  163. prog perl-www:CGI-FormBuilder = {
  164. version = %{V_cgi_formbuilder}
  165. url = http://www.cpan.org/modules/by-module/CGI/
  166. regex = CGI-FormBuilder-(__VER__)\.tar\.gz
  167. }
  168. prog perl-www:CGI-FormMagick = {
  169. version = %{V_cgi_formmagick}
  170. url = http://www.cpan.org/modules/by-module/CGI/
  171. regex = CGI-FormMagick-(__VER__)\.tar\.gz
  172. }
  173. prog perl-www:CGI-Lite = {
  174. version = %{V_cgi_lite}
  175. url = http://www.cpan.org/modules/by-module/CGI/
  176. regex = CGI-Lite-(__VER__)\.tar\.gz
  177. }
  178. prog perl-www:CGI-Minimal = {
  179. version = %{V_cgi_minimal}
  180. url = http://www.cpan.org/modules/by-module/CGI/
  181. regex = CGI-Minimal-(__VER__)\.tar\.gz
  182. }
  183. prog perl-www:CGI-Panel = {
  184. version = %{V_cgi_panel}
  185. url = http://www.cpan.org/modules/by-module/CGI/
  186. regex = CGI-Panel-(__VER__)\.tar\.gz
  187. }
  188. prog perl-www:CGI-Safe = {
  189. version = %{V_cgi_safe}
  190. url = http://www.cpan.org/modules/by-module/CGI/
  191. regex = CGI-Safe-(__VER__)\.tar\.gz
  192. }
  193. prog perl-www:CGI-Session = {
  194. version = %{V_cgi_session}
  195. url = http://www.cpan.org/modules/by-module/CGI/
  196. regex = CGI-Session-(__VER__)\.tar\.gz
  197. }
  198. prog perl-www:CGI-Simple = {
  199. version = %{V_cgi_simple}
  200. url = http://www.cpan.org/modules/by-module/CGI/
  201. regex = Cgi-Simple-(__VER__)\.tar\.gz
  202. }
  203. prog perl-www:CGI-Untaint = {
  204. version = %{V_cgi_untaint}
  205. url = http://www.cpan.org/modules/by-module/CGI/
  206. regex = CGI-Untaint-(__VER__)\.tar\.gz
  207. }
  208. prog perl-www:CGI.pm = {
  209. version = %{V_cgi}
  210. url = http://www.cpan.org/modules/by-module/CGI/
  211. regex = CGI.pm-(3\.\d\d)\.tar\.gz
  212. }
  213. prog perl-www:FCGI = {
  214. version = %{V_fcgi}
  215. url = http://www.cpan.org/modules/by-module/FCGI/
  216. regex = FCGI-(__VER__)\.tar\.gz
  217. }
  218. prog perl-www:libwww-perl = {
  219. version = %{V_libwww_perl}
  220. url = http://www.cpan.org/modules/by-module/WWW/
  221. regex = libwww-perl-(__VER__)\.tar\.gz
  222. }
  223. prog perl-www:RPC-XML = {
  224. version = %{V_rpc_xml}
  225. url = http://www.cpan.org/modules/by-module/RPC/
  226. regex = RPC-XML-(__VER__)\.tar\.gz
  227. }
  228. prog perl-www:SOAP-Lite = {
  229. version = %{V_soap_lite}
  230. url = http://www.cpan.org/modules/by-module/SOAP/
  231. regex = SOAP-Lite-(__VER__)\.tar\.gz
  232. }
  233. prog perl-www:SOAP-Lite-SmartProxy = {
  234. version = %{V_soap_lite_smartproxy}
  235. url = http://www.cpan.org/modules/by-module/SOAP/
  236. regex = SOAP-Lite-SmartProxy-(__VER__)\.tar\.gz
  237. }
  238. prog perl-www:SOAP-payload = {
  239. version = %{V_soap_payload}
  240. url = http://www.cpan.org/modules/by-module/SOAP/
  241. regex = SOAP-payload-(__VER__)\.tar\.gz
  242. }
  243. prog perl-www:URI = {
  244. version = %{V_uri}
  245. url = http://www.cpan.org/modules/by-module/URI/
  246. regex = URI-(__VER__)\.tar\.gz
  247. }
  248. prog perl-www:Net-Google = {
  249. version = %{V_net_google}
  250. url = http://www.cpan.org/modules/by-module/Net/
  251. regex = Net-Google-(__VER__)\.tar\.gz
  252. }
  253. prog perl-www:WWW-Mechanize = {
  254. version = %{V_www_mechanize}
  255. url = http://www.cpan.org/modules/by-module/WWW/
  256. regex = WWW-Mechanize-(__VER__)\.tar\.gz
  257. }
  258. prog perl-www:WWW-Mechanize-Cached = {
  259. version = %{V_www_mechanize_cached}
  260. url = http://www.cpan.org/modules/by-module/WWW/
  261. regex = WWW-Mechanize-Cached-(__VER__)\.tar\.gz
  262. }
  263. prog perl-www:WWW-Mechanize-FormFiller = {
  264. version = %{V_www_mechanize_formfi}
  265. url = http://www.cpan.org/modules/by-module/WWW/
  266. regex = WWW-Mechanize-FormFiller-(__VER__)\.tar\.gz
  267. }
  268. prog perl-www:WWW-Mechanize-Shell = {
  269. version = %{V_www_mechanize_shell}
  270. url = http://www.cpan.org/modules/by-module/WWW/
  271. regex = WWW-Mechanize-Shell-(__VER__)\.tar\.gz
  272. }
  273. prog perl-www:WWW-Mechanize-Sleepy = {
  274. version = %{V_www_mechanize_sleepy}
  275. url = http://www.cpan.org/modules/by-module/WWW/
  276. regex = WWW-Mechanize-Sleepy-(__VER__)\.tar\.gz
  277. }
  278. prog perl-www:WWW-Mechanize-Timed = {
  279. version = %{V_www_mechanize_timed}
  280. url = http://www.cpan.org/modules/by-module/WWW/
  281. regex = WWW-Mechanize-Timed-(__VER__)\.tar\.gz
  282. }
  283. prog perl-www:WWW-Search = {
  284. version = %{V_www_search}
  285. url = http://www.cpan.org/modules/by-module/WWW/
  286. regex = WWW-Search-(__VER__)\.tar\.gz
  287. }
  288. prog perl-www:WWW-Search-Google = {
  289. version = %{V_www_search_google}
  290. url = http://www.cpan.org/modules/by-module/WWW/
  291. regex = WWW-Search-Google-(__VER__)\.tar\.gz
  292. }
  293. prog perl-www:WWW-Search-Yahoo = {
  294. version = %{V_www_search_yahoo}
  295. url = http://www.cpan.org/modules/by-module/WWW/
  296. regex = WWW-Search-Yahoo-(__VER__)\.tar\.gz
  297. }
  298. prog perl-www:WWW-Search-Lycos = {
  299. version = %{V_www_search_lycos}
  300. url = http://www.cpan.org/modules/by-module/WWW/
  301. regex = WWW-Search-Lycos-(__VER__)\.tar\.gz
  302. }
  303. prog perl-www:WWW-Search-AlltheWeb = {
  304. version = %{V_www_search_alltheweb}
  305. url = http://www.cpan.org/modules/by-module/WWW/
  306. regex = WWW-Search-AlltheWeb-(__VER__)\.tar\.gz
  307. }
  308. %prep
  309. %setup -q -c
  310. %setup -q -T -D -a 1
  311. %setup -q -T -D -a 2
  312. %setup -q -T -D -a 3
  313. %setup -q -T -D -a 4
  314. %setup -q -T -D -a 5
  315. %setup -q -T -D -a 6
  316. %setup -q -T -D -a 7
  317. %setup -q -T -D -a 8
  318. %setup -q -T -D -a 9
  319. %setup -q -T -D -a 10
  320. %setup -q -T -D -a 11
  321. %setup -q -T -D -a 12
  322. %setup -q -T -D -a 13
  323. %setup -q -T -D -a 14
  324. %setup -q -T -D -a 15
  325. %setup -q -T -D -a 16
  326. %setup -q -T -D -a 17
  327. %setup -q -T -D -a 18
  328. %setup -q -T -D -a 19
  329. %setup -q -T -D -a 20
  330. %setup -q -T -D -a 21
  331. %setup -q -T -D -a 22
  332. %setup -q -T -D -a 23
  333. %setup -q -T -D -a 24
  334. %setup -q -T -D -a 25
  335. %setup -q -T -D -a 26
  336. %setup -q -T -D -a 27
  337. %setup -q -T -D -a 28
  338. %setup -q -T -D -a 29
  339. %setup -q -T -D -a 30
  340. %setup -q -T -D -a 31
  341. %build
  342. %install
  343. rm -rf $RPM_BUILD_ROOT
  344. %{l_prefix}/bin/perl-openpkg prepare
  345. %{l_prefix}/bin/perl-openpkg -d %{SOURCE0} configure build install
  346. %{l_prefix}/bin/perl-openpkg -d %{SOURCE1} configure build install
  347. %{l_prefix}/bin/perl-openpkg -d %{SOURCE2} configure build install
  348. %{l_prefix}/bin/perl-openpkg -d %{SOURCE3} configure build install
  349. %{l_prefix}/bin/perl-openpkg -d %{SOURCE4} configure build install
  350. %{l_prefix}/bin/perl-openpkg -d %{SOURCE5} configure build install
  351. %{l_prefix}/bin/perl-openpkg -d %{SOURCE6} configure build install
  352. %{l_prefix}/bin/perl-openpkg -d %{SOURCE7} configure build install
  353. %{l_prefix}/bin/perl-openpkg -d %{SOURCE8} configure build install
  354. %{l_prefix}/bin/perl-openpkg -d %{SOURCE9} configure build install
  355. %{l_prefix}/bin/perl-openpkg -d %{SOURCE10} configure build install
  356. %{l_prefix}/bin/perl-openpkg -d %{SOURCE11} configure build install
  357. %{l_prefix}/bin/perl-openpkg -d %{SOURCE12} configure build install
  358. %{l_prefix}/bin/perl-openpkg -d %{SOURCE13} configure build install
  359. %{l_prefix}/bin/perl-openpkg -d %{SOURCE14} configure build install
  360. %{l_prefix}/bin/perl-openpkg -d %{SOURCE15} configure build install
  361. %{l_prefix}/bin/perl-openpkg -d %{SOURCE16} configure build install
  362. %{l_prefix}/bin/perl-openpkg -d %{SOURCE17} configure build install
  363. %{l_prefix}/bin/perl-openpkg -d %{SOURCE18} configure build install
  364. %{l_prefix}/bin/perl-openpkg -d %{SOURCE19} configure build install
  365. %{l_prefix}/bin/perl-openpkg -d %{SOURCE20} configure build install
  366. %{l_prefix}/bin/perl-openpkg -d %{SOURCE21} configure build install
  367. %{l_prefix}/bin/perl-openpkg -d %{SOURCE22} configure build install
  368. %{l_prefix}/bin/perl-openpkg -d %{SOURCE23} configure build install
  369. %{l_prefix}/bin/perl-openpkg -d %{SOURCE24} configure build install
  370. %{l_prefix}/bin/perl-openpkg -d %{SOURCE25} configure build install
  371. %{l_prefix}/bin/perl-openpkg -d %{SOURCE26} configure build install
  372. %{l_prefix}/bin/perl-openpkg -d %{SOURCE27} configure build install
  373. %{l_prefix}/bin/perl-openpkg -d %{SOURCE28} configure build install
  374. %{l_prefix}/bin/perl-openpkg -d %{SOURCE29} configure build install
  375. %{l_prefix}/bin/perl-openpkg -d %{SOURCE30} configure build install
  376. %{l_prefix}/bin/perl-openpkg -d %{SOURCE31} configure build install
  377. # cleanup installation
  378. ( cd $RPM_BUILD_ROOT%{l_prefix}/bin
  379. for prog in *.pl; do
  380. mv $prog `echo $prog | sed -e 's;\.pl$;;'`
  381. done
  382. ) || exit $?
  383. %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
  384. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} `cat perl-openpkg-files`
  385. %files -f files
  386. %clean
  387. rm -rf $RPM_BUILD_ROOT