python3-vl.spec 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. %bcond_with run_test
  2. %define libvers 3.8
  3. %define binsuffix 3.8
  4. %define python_lib %{_libdir}/python%{libvers}
  5. %define config_htmldir /var/www/html/python
  6. Summary: An interpreted, interactive, object-oriented programming language.
  7. Summary(ja): オブジェクト指向 Python3 インタプリタ
  8. Name: python3
  9. Version: 3.8.7
  10. Release: 1%{?_dist_release}
  11. Group: programming
  12. Vendor: Project Vine
  13. Distribution: Vine Linux
  14. License: Python
  15. URL: http://www.python.org/download/releases/%{version}
  16. Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
  17. Source1: https://docs.python.org/ftp/python/doc/%{version}/python-%{version}-docs-html.tar.bz2
  18. # (Patches taken from github.com/fedora-python/cpython)
  19. # 00001 # d06a8853cf4bae9e115f45e1d531d2dc152c5cc8
  20. # Fixup distutils/unixccompiler.py to remove standard library path from rpath
  21. # Was Patch0 in ivazquez' python3000 specfile
  22. Patch1: 00001-rpath.patch
  23. # 00102 # ec4353c0f646eb567cc0d63e1e41eb5e29cc3e81
  24. # Change the various install paths to use /usr/lib64/ instead or /usr/lib/
  25. #
  26. # Only used when "%%{_lib}" == "lib64".
  27. Patch102: 00102-lib64.patch
  28. # 00111 # 03918d404a40a50c9f5f93dc748b52e613d70d31
  29. # Don't try to build a libpythonMAJOR.MINOR.a
  30. #
  31. # Downstream only: not appropriate for upstream.
  32. #
  33. # See https://bugzilla.redhat.com/show_bug.cgi?id=556092
  34. Patch111: 00111-no-static-lib.patch
  35. # 00189 # adf51ed04ac74fd6fc39c642af35b87680c71dab
  36. # Instead of bundled wheels, use our RPM packaged wheels
  37. #
  38. # We keep them in /usr/share/python-wheels
  39. #
  40. # Downstream only: upstream bundles
  41. # We might eventually pursuit upstream support, but it's low prio
  42. Patch189: 00189-use-rpm-wheels.patch
  43. # The following versions of setuptools/pip are bundled when this patch is not applied.
  44. # The versions are written in Lib/ensurepip/__init__.py, this patch removes them.
  45. # When the bundled setuptools/pip wheel is updated, the patch no longer applies cleanly.
  46. # In such cases, the patch needs to be amended and the versions updated here:
  47. %global pip_version 20.1.1
  48. %global setuptools_version 47.1.0
  49. # 00251 # 2eabd04356402d488060bc8fe316ad13fc8a3356
  50. # Change user install location
  51. #
  52. # Set values of prefix and exec_prefix in distutils install command
  53. # to /usr/local if executable is /usr/bin/python* and RPM build
  54. # is not detected to make pip and distutils install into separate location.
  55. #
  56. # Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
  57. # Downstream only: Awaiting resources to work on upstream PEP
  58. Patch251: 00251-change-user-install-location.patch
  59. # 00274 # 1e9258f6e8f70e86d5130113d3eed22993cf3da9
  60. # Upstream uses Debian-style architecture naming, change to match Fedora
  61. Patch274: 00274-fix-arch-names.patch
  62. # 00328 # 367fdcb5a075f083aea83ac174999272a8faf75c
  63. # Restore pyc to TIMESTAMP invalidation mode as default in rpmbuild
  64. #
  65. # Since Fedora 31, the $SOURCE_DATE_EPOCH is set in rpmbuild to the latest
  66. # %%changelog date. This makes Python default to the CHECKED_HASH pyc
  67. # invalidation mode, bringing more reproducible builds traded for an import
  68. # performance decrease. To avoid that, we don't default to CHECKED_HASH
  69. # when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages).
  70. #
  71. # See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
  72. # Downstream only: only used when building RPM packages
  73. # Ideally, we should talk to upstream and explain why we don't want this
  74. Patch328: 00328-pyc-timestamp-invalidation-mode.patch
  75. # security
  76. Patch1000: CVE-2021-3177.patch
  77. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  78. BuildRequires: autoconf
  79. BuildRequires: bzip2-devel
  80. BuildRequires: expat-devel
  81. BuildRequires: findutils
  82. BuildRequires: gcc-c++
  83. BuildRequires: gdbm-devel
  84. BuildRequires: glibc-devel
  85. BuildRequires: libdb-devel
  86. BuildRequires: libffi-devel
  87. BuildRequires: libnsl2-devel
  88. BuildRequires: libtirpc-devel
  89. BuildRequires: libxcrypt-devel
  90. BuildRequires: ncurses-devel
  91. BuildRequires: openssl-devel
  92. BuildRequires: pkgconfig
  93. BuildRequires: readline-devel
  94. BuildRequires: sqlite3-devel
  95. BuildRequires: tar
  96. BuildRequires: valgrind-devel
  97. BuildRequires: xz-devel
  98. BuildRequires: zlib-devel
  99. %description
  100. Python is an interpreted, interactive, object-oriented programming
  101. language. It incorporates modules, exceptions, dynamic typing, very high
  102. level dynamic data types, and classes. Python combines remarkable power
  103. with very clear syntax. It has interfaces to many system calls and
  104. libraries, as well as to various window systems, and is extensible in C or
  105. C++. It is also usable as an extension language for applications that need
  106. a programmable interface. Finally, Python is portable: it runs on many
  107. brands of UNIX, on PCs under Windows, MS-DOS, and OS/2, and on the
  108. Mac.
  109. %package devel
  110. Summary: The libraries and header files needed for Python development.
  111. Group: programming
  112. Requires: %{name} = %{version}-%{release}
  113. Requires: libtirpc-devel
  114. %description devel
  115. The Python programming language's interpreter can be extended with
  116. dynamically loaded extensions and can be embedded in other programs.
  117. This package contains the header files and libraries needed to do
  118. these types of tasks.
  119. Install python-devel if you want to develop Python extensions. The
  120. python package will also need to be installed. You'll probably also
  121. want to install the python-docs package, which contains Python
  122. documentation.
  123. %package tkinter
  124. Summary: A graphical user interface for the Python scripting language.
  125. Group: programming
  126. Requires: %{name} = %{version}-%{release}
  127. Requires: tcl, tk, tix
  128. Requires: libX11, libxcb, libXau, libXdmcp
  129. BuildRequires: tcl-devel, tk-devel, tix
  130. BuildRequires: libX11-devel, libxcb-devel, libXau-devel, libXdmcp-devel
  131. %description tkinter
  132. The Tkinter (Tk interface) program is an graphical user interface for
  133. the Python scripting language.
  134. You should install the tkinter package if you'd like to use a graphical
  135. user interface for Python programming.
  136. %package tools
  137. Summary: A collection of development tools included with Python.
  138. Group: programming
  139. Requires: %{name} = %{version}-%{release}
  140. Requires: %{name}-tkinter = %{version}
  141. %description tools
  142. The Python package includes several development tools that are used
  143. to build python programs.
  144. %package docs
  145. Summary: Documentation for the Python programming language.
  146. Summary(ja): Python プログラミング言語のドキュメント
  147. Group: documentation
  148. %description docs
  149. The python-docs package contains documentation on the Python
  150. programming language and interpreter. The documentation is provided
  151. in ASCII text files and in LaTeX source files.
  152. Install the python-docs package if you'd like to use the documentation
  153. for the Python language.
  154. %debug_package
  155. %prep
  156. %setup -q -n Python-%{version}
  157. # Remove all exe files to ensure we are not shipping prebuilt binaries
  158. # note that those are only used to create Microsoft Windows installers
  159. # and that functionality is broken on Linux anyway
  160. find -name '*.exe' -print -delete
  161. # Remove bundled libraries to ensure that we're using the system copy.
  162. rm -r Modules/expat
  163. #
  164. # Apply patches:
  165. #
  166. %patch1 -p1
  167. %if "%{_lib}" == "lib64"
  168. %patch102 -p1
  169. %endif
  170. %patch111 -p1
  171. %if %{with rpmwheels}
  172. %patch189 -p1
  173. rm Lib/ensurepip/_bundled/*.whl
  174. %endif
  175. %patch251 -p1
  176. %patch274 -p1
  177. %patch328 -p1
  178. # security
  179. %patch1000 -p1
  180. # Remove files that should be generated by the build
  181. # (This is after patching, so that we can use patches directly from upstream)
  182. rm configure pyconfig.h.in
  183. # Regenerate the configure script and pyconfig.h.in
  184. autoconf
  185. autoheader
  186. %build
  187. export CFLAGS="%{?extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
  188. export CFLAGS_NODIST="%{?build_cflags} -D_GNU_SOURCE -fPIC -fwrapv%{?with_no_semantic_interposition: -fno-semantic-interposition}"
  189. export CXXFLAGS="%{?extension_cxxflags} -D_GNU_SOURCE -fPIC -fwrapv"
  190. export CPPFLAGS="$(pkg-config --cflags-only-I libffi)"
  191. export OPT="%{?extension_cflags} -D_GNU_SOURCE -fPIC -fwrapv"
  192. export LINKCC="gcc"
  193. export CFLAGS="$CFLAGS $(pkg-config --cflags openssl)"
  194. export LDFLAGS="%{?extension_ldflags} -g $(pkg-config --libs-only-L openssl)"
  195. export LDFLAGS_NODIST="%{?build_ldflags}%{?with_no_semantic_interposition: -fno-semantic-interposition} -g $(pkg-config --libs-only-L openssl)"
  196. ./configure \
  197. --prefix=%{_prefix} \
  198. --libdir=%{_libdir} \
  199. --enable-ipv6 \
  200. --enable-shared \
  201. --with-computed-gotos=yes \
  202. --with-dbmliborder=gdbm:ndbm:bdb \
  203. --with-system-expat \
  204. --with-system-ffi \
  205. --enable-loadable-sqlite-extensions \
  206. --with-lto \
  207. --with-ssl-default-suites=openssl \
  208. --with-valgrind \
  209. --without-ensurepip \
  210. --enable-optimizations \
  211. %{nil}
  212. make %{?_smp_mflags} CFLAGS_NODIST="$CFLAGS_NODIST" \
  213. regen-all PYTHON_FOR_REGEN="python%{binsuffix}"
  214. make %{?_smp_mflags} CFLAGS_NODIST="$CFLAGS_NODIST"
  215. %install
  216. [ -d "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
  217. make DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} install
  218. # replace path in pydoc
  219. if [ ! -z "%{binsuffix}" ]
  220. then
  221. (
  222. cd $RPM_BUILD_ROOT%{_bindir}
  223. mv pydoc%{libvers} pydoc.old
  224. sed 's|#!.*|#!%{_bindir}/env python'%{libvers}'|' \
  225. pydoc.old > pydoc%{libvers}
  226. chmod 755 pydoc%{libvers}
  227. rm -f pydoc.old
  228. )
  229. fi
  230. # Tools
  231. echo '#!%{_bindir}/env python%{binsuffix}' > ${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
  232. echo 'import os, sys' >> ${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
  233. echo 'os.execvp("%{_bindir}/python%{binsuffix}", ["%{_bindir}/python%{binsuffix}", "%{python_lib}/idlelib/idle.py"] + sys.argv[1:])' >> ${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
  234. echo 'print "Failed to exec Idle"' >> ${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
  235. echo 'sys.exit(1)' >> ${RPM_BUILD_ROOT}%{_bindir}/idle%{binsuffix}
  236. chmod 755 $RPM_BUILD_ROOT%{_bindir}/idle%{binsuffix}
  237. cp -a Tools $RPM_BUILD_ROOT%{python_lib}
  238. # make file lists
  239. rm -f mainpkg.files
  240. find "$RPM_BUILD_ROOT"%{python_lib} -type f |
  241. sed "s|^${RPM_BUILD_ROOT}|/|" |
  242. grep -v \
  243. -e '/python%{libvers}/config$' \
  244. -e '_tkinter.so$' \
  245. -e '_tkinter.cpython-' \
  246. >> mainpkg.files
  247. rm -f $RPM_BUILD_ROOT%{_prefix}/bin/2to3
  248. find "$RPM_BUILD_ROOT""%{_prefix}"/bin -type f -o -type l |
  249. sed "s|^${RPM_BUILD_ROOT}|/|" |
  250. grep -v -e '/bin/2to3%{binsuffix}$' |
  251. grep -v -e '/bin/pydoc%{binsuffix}$' |
  252. grep -v -e '/bin/smtpd.py%{binsuffix}$' |
  253. grep -v -e '/bin/idle%{binsuffix}$' >> mainpkg.files
  254. rm -f tools.files
  255. find "$RPM_BUILD_ROOT"%{python_lib}/idlelib \
  256. "$RPM_BUILD_ROOT"%{python_lib}/Tools -type f |
  257. sed "s|^${RPM_BUILD_ROOT}|/|" > tools.files
  258. echo %{_bindir}/2to3-%{binsuffix} >> tools.files
  259. echo %{_bindir}/pydoc%{binsuffix} >> tools.files
  260. ##echo %{_bindir}/smtpd.py%{binsuffix} >> tools.files
  261. echo %{_bindir}/idle%{binsuffix} >> tools.files
  262. # docs
  263. mkdir -p "$RPM_BUILD_ROOT"%{config_htmldir}
  264. (
  265. cd "$RPM_BUILD_ROOT"%{config_htmldir}
  266. bunzip2 < %{SOURCE1} | tar x
  267. )
  268. # fix the #! line in installed files
  269. find "$RPM_BUILD_ROOT" -type f -print0 |
  270. xargs -0 grep -l /usr/local/bin/python | while read file
  271. do
  272. FIXFILE="$file"
  273. sed 's|^#!.*python|#!%{_bindir}/env python'"%{binsuffix}"'|' \
  274. "$FIXFILE" >/tmp/fix-python-path.$$
  275. cat /tmp/fix-python-path.$$ > "$FIXFILE"
  276. rm -f /tmp/fix-python-path.$$
  277. done
  278. # check to see if there are any straggling #! lines
  279. find "$RPM_BUILD_ROOT" -type f | xargs egrep -n '^#! */usr/local/bin/python' \
  280. | grep ':1:#!' >/tmp/python-rpm-files.$$ || true
  281. if [ -s /tmp/python-rpm-files.$$ ]
  282. then
  283. echo '*****************************************************'
  284. cat /tmp/python-rpm-files.$$
  285. cat <<@EOF
  286. *****************************************************
  287. There are still files referencing /usr/local/bin/python in the
  288. install directory. They are listed above. Please fix the .spec
  289. file and try again. If you are an end-user, you probably want
  290. to report this to jafo-rpms@tummy.com as well.
  291. *****************************************************
  292. @EOF
  293. rm -f /tmp/python-rpm-files.$$
  294. exit 1
  295. fi
  296. rm -f /tmp/python-rpm-files.$$
  297. %if %{with run_test}
  298. %check
  299. make test
  300. %endif
  301. %clean
  302. rm -fr $RPM_BUILD_ROOT
  303. %post -p /sbin/ldconfig
  304. %postun -p /sbin/ldconfig
  305. %files -f mainpkg.files
  306. %defattr(-, root, root)
  307. %license LICENSE
  308. %doc Misc/ACKS Misc/HISTORY Misc/NEWS Misc/Porting Misc/README
  309. %attr(755,root,root) %dir %{python_lib}/
  310. %{_libdir}/libpython*
  311. %{_mandir}/man1/python%{libvers}.1*
  312. %{_mandir}/man1/%{name}.1*
  313. %files devel
  314. %defattr(-,root,root)
  315. %dir %{_includedir}/python%{libvers}
  316. %dir %{_includedir}/python%{libvers}/cpython
  317. %dir %{_includedir}/python%{libvers}/internal
  318. %{_includedir}/python%{libvers}/*.h
  319. %{_includedir}/python%{libvers}/cpython/*.h
  320. %{_includedir}/python%{libvers}/internal/*.h
  321. %{_libdir}/pkgconfig/*.pc
  322. %files -f tools.files tools
  323. %defattr(-,root,root)
  324. %files tkinter
  325. %defattr(-,root,root)
  326. %{python_lib}/tkinter
  327. %{python_lib}/lib-dynload/_tkinter.*.so*
  328. %files docs
  329. %defattr(-,root,root)
  330. %{config_htmldir}/*
  331. %changelog
  332. * Wed Feb 03 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.7-1
  333. - new upstream release.
  334. - dropped Patch1000: fixed in upstream.
  335. - added Patch1000 to fix CVE-2021-3177.
  336. * Tue Nov 03 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.6-2
  337. - added Patch1000 to fix CVE-2020-27619.
  338. * Fri Oct 09 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.6-1
  339. - new upstream release.
  340. * Sat Aug 15 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.8.5-1
  341. - new upstream release.
  342. * Wed Apr 15 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.9-1
  343. - new upstream release.
  344. * Sat Oct 26 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.7-5
  345. - fixed %%files.
  346. * Tue Oct 15 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.7-4
  347. - rebuilt with tix-8.4.3-5.
  348. * Fri Oct 04 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.7-3
  349. - rebuilt with tcl/tk-8.6.9.
  350. * Sat Aug 31 2019 Toshiaki Ara <ara_t@384.jp> 3.5.7-2
  351. - rebuild with readline-8.0 and ncurses-6.1
  352. * Sun May 12 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.7-1
  353. - new upstream release.
  354. - rebuilt with gdbm-1.18.1.
  355. - added R:libtirpc-devel to python3-devel.
  356. * Thu Feb 14 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.6-3
  357. - added BR:libxcrypt-devel.
  358. - added BR:libtirpc-devel.
  359. - added BR:libnsl2-devel.
  360. * Sat Jan 26 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.6-2
  361. - rebuilt with new toolchain.
  362. * Mon Nov 19 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 3.5.6-1
  363. - new upstream release.
  364. - really rebuilt with openssl-1.1.1.
  365. * Fri Nov 02 2018 Toshiaki Ara <ara_t@384.jp> 3.5.2-2
  366. - rebuild with openssl-1.1.1
  367. * Tue Jun 28 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.5.2-1
  368. - new upstream release
  369. - update Patch1 (python-3.5.2-lib64.patch)
  370. * Sun Mar 27 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.4.4-2
  371. - rebuild with openssl-1.0.2g
  372. * Sat Feb 13 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.4.4-1
  373. - new upstream release
  374. - add Patch2 (python3-3.4.4-revert-makefile.patch)
  375. * Sun Apr 12 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.4.3-1
  376. - new upstream release
  377. * Sun Mar 22 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 3.4.2-2
  378. - rebuilt with readline 6.3
  379. - changed BuildRequires: tcl-devel, tk-devel instead of tcl, tk respectively
  380. - changed BuildRequires: libdb-devel instead of db4-devel
  381. * Sun Jan 11 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.4.2-1
  382. - new upstream release
  383. - update Patch1 (python-3.4.2-lib64.patch)
  384. * Sun Sep 07 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.3-3
  385. - remove configure option "--enable-profiling"
  386. * Sun Jul 06 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.3-2
  387. - rebuild with libffi-3.0.13
  388. * Sun Nov 24 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.3-1
  389. - new upstream release
  390. * Sat Oct 26 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.2-1
  391. - updated python to 3.3.2
  392. * Sun Jan 6 2013 IWAI, Masaharu <iwai@alib.jp> 3.3.0-2
  393. - build with Tcl/Tk 8.5.7-1
  394. * Wed Oct 24 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 3.3.0-1
  395. - updated python to 3.3.0
  396. - update Patch1 (python-3.3.0-lib64.patch)
  397. - add BuildRequires: valgrind-devel
  398. * Sat Apr 16 2011 Shu KONNO <owa@bg.wakwak.com> 3.2-1
  399. - updated python to 3.2
  400. - updated python-*-docs-html to 3.2
  401. - dropt all patchs
  402. - added python-3.2b2-lib64.patch
  403. - referred to the review Python-3.2/Misc/RPM/python-3.2.spec
  404. * Fri Jan 14 2011 Shu KONNO <owa@bg.wakwak.com> 3.1.3-2
  405. - rebuilt with openssl-1.0.0c
  406. * Mon Nov 29 2010 Shu KONNO <owa@bg.wakwak.com> 3.1.3-1
  407. - updated python to 3.1.3
  408. - added python-3.1.3-locale.patch
  409. - dropt python-3.1.2-lib64.patch
  410. - added python-3.1.3-lib64-*.patchs
  411. python-3.1.3-lib64-Makefile.patch
  412. python-3.1.3-lib64-setup.patch
  413. python-3.1.3-lib64-site.patch
  414. python-3.1.3-lib64-install.patch
  415. python-3.1.3-lib64-sysconfig.patch
  416. python-3.1.3-lib64-getpath.patch
  417. python-3.1.3-lib64-test_install.patch
  418. - added run_test macro to run unit test
  419. - added BR: libffi
  420. * Sun Sep 26 2010 Shu KONNO <owa@bg.wakwak.com> 3.1.2-4
  421. - rebuilt with rpm-4.8.1 for pkg-config
  422. * Sun Jun 20 2010 Shu KONNO <owa@bg.wakwak.com> 3.1.2-3
  423. - spec in utf-8
  424. * Sun Jun 20 2010 Shu KONNO <owa@bg.wakwak.com> 3.1.2-2
  425. - added missings in BuildRequires, Requires
  426. * Fri Jun 18 2010 Shu KONNO <owa@bg.wakwak.com> 3.1.2-1
  427. - initial build for VineSeed