libproxy-vl.spec 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. %bcond_with mozjs
  2. %define _unpackaged_files_terminate_build 1
  3. Summary: A library handling all the details of proxy configuration
  4. Name: libproxy
  5. Version: 0.4.15
  6. Release: 4%{?_dist_release}
  7. Group: system
  8. Vendor: Project Vine
  9. Distribution: Vine Linux
  10. License: LGPLv2+
  11. URL: http://libproxy.github.io/libproxy
  12. Source0: https://github.com/libproxy/libproxy/releases/download/%{version}/libproxy-%{version}.tar.xz
  13. Patch0: libproxy-0.4.15-python38.patch
  14. Patch1000: CVE-2020-25219.patch
  15. # CVE-2020-26154
  16. Patch1001: libproxy-0.4.15-fix-pac-buffer-overflow.patch
  17. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  18. BuildRequires: python-devel
  19. BuildRequires: python3-devel
  20. #Virtual Provides - We need either mozjs or WebKit
  21. %if %{with mozjs}
  22. Requires: %{name}-pac >= %{version}
  23. %endif
  24. #
  25. Requires: libproxy-python = %{version}-%{release}
  26. Requires: libproxy-bin = %{version}-%{release}
  27. Obsoletes: %{name}-mozjs < 1.4.15
  28. Obsoletes: %{name}-webkitgtk3 < 1.4.15
  29. BuildRequires: cmake
  30. # gnome
  31. BuildRequires: GConf2-devel
  32. %if %{with mozjs}
  33. # mozjs
  34. BuildRequires: mozjs >= 38
  35. %endif
  36. # NetworkManager
  37. BuildRequires: NetworkManager-libnm-devel
  38. BuildRequires: dbus-devel
  39. BuildRequires: glib2
  40. # webkit (gtk)
  41. BuildRequires: webkitgtk4-devel
  42. # kde
  43. BuildRequires: libXmu-devel
  44. BuildRequires: libX11-devel
  45. BuildRequires: python-rpm-macros
  46. BuildRequires: python3-rpm-macros
  47. Provides: %{name}-webkit = %{version}-%{release}
  48. Obsoletes: %{name}-webkit < %{version}-%{release}
  49. %description
  50. libproxy offers the following features:
  51. * extremely small core footprint (< 35K)
  52. * no external dependencies within libproxy core
  53. (libproxy plugins may have dependencies)
  54. * only 3 functions in the stable external API
  55. * dynamic adjustment to changing network topology
  56. * a standard way of dealing with proxy settings across all scenarios
  57. * a sublime sense of joy and accomplishment
  58. Non-default rpmbuild options:
  59. --with webkit: Enable WebKit-gtk support
  60. %package bin
  61. Summary: Binary to test %{name}
  62. Group: network
  63. Requires: %{name} = %{version}-%{release}
  64. %description bin
  65. The %{name}-bin package contains the proxy binary for %{name}
  66. %package python
  67. Summary: Binding for %{name} and python
  68. Group: programming
  69. Requires: %{name} = %{version}-%{release}
  70. %description python
  71. The %{name}-python package contains the python binding for %{name}
  72. %package python3
  73. Summary: Binding for %{name} and python
  74. Group: programming
  75. Requires: %{name} = %{version}-%{release}
  76. %description python3
  77. The %{name}-python package contains the python binding for %{name}
  78. %package gnome
  79. Summary: Plugin for %{name} and gnome
  80. Group: system
  81. Requires: %{name} = %{version}-%{release}
  82. %description gnome
  83. The %{name}-gnome package contains the %{name} plugin for gnome.
  84. %package kde
  85. Summary: Plugin for %{name} and kde
  86. Group: system
  87. Requires: %{name} = %{version}-%{release}
  88. %description kde
  89. The %{name}-kde package contains the %{name} plugin for kde.
  90. %if %{with mozjs}
  91. %package mozjs
  92. Summary: Plugin for %{name} and mozjs
  93. Group: system
  94. Requires: %{name} = %{version}
  95. #Tweak this according to the current gecko-libs version
  96. Requires: js
  97. Provides: %{name}-pac = %{version}-%{release}
  98. %description mozjs
  99. The %{name}-mozjs package contains the %{name} plugin for mozjs.
  100. %package webkitgtk4
  101. Summary: Plugin for %{name} and webkitgtk4
  102. Group: system
  103. Requires: %{name} = %{version}
  104. Provides: %{name}-pac = %{version}-%{release}
  105. %description webkitgtk4
  106. The %{name}-webkitgtk3 package contains the %{name} plugin for
  107. webkitgtk3.
  108. %endif
  109. %package devel
  110. Summary: Development files for %{name}
  111. Group: programming
  112. Requires: %{name} = %{version}-%{release}
  113. Requires: pkgconfig
  114. %description devel
  115. The %{name}-devel package contains libraries and header files for
  116. developing applications that use %{name}.
  117. %debug_package
  118. %prep
  119. %autosetup -p1
  120. #sed -i "s|mozjs185>=1.8.5|mozjs185|" libproxy/cmake/modules/pacrunner_mozjs.cmk
  121. %build
  122. export CXXFLAGS="-std=c++14 $RPM_OPT_FLAGS"
  123. %cmake \
  124. -DLIBEXEC_INSTALL_DIR=%{_libexecdir} \
  125. -DMODULE_INSTALL_DIR=%{_libdir}/%{name}/%{version}/modules \
  126. -DWITH_PERL=OFF \
  127. -DWITH_WEBKIT3=ON \
  128. -DWITH_GNOME3=ON \
  129. -DWITH_KDE=ON \
  130. .
  131. make VERBOSE=1 %{?_smp_mflags}
  132. %install
  133. rm -rf $RPM_BUILD_ROOT
  134. make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
  135. find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
  136. %clean
  137. rm -rf $RPM_BUILD_ROOT
  138. %post -p /sbin/ldconfig
  139. %postun -p /sbin/ldconfig
  140. %files
  141. %defattr(-,root,root,-)
  142. %license COPYING
  143. %doc AUTHORS README
  144. %{_libdir}/*.so.*
  145. %dir %{_libdir}/%{name}
  146. %dir %{_libdir}/%{name}/%{version}
  147. %dir %{_libdir}/%{name}/%{version}/modules
  148. %{_libdir}/%{name}/%{version}/modules/network_networkmanager.so
  149. %files bin
  150. %defattr(-,root,root,-)
  151. %{_bindir}/proxy
  152. %files python
  153. %defattr(-,root,root,-)
  154. %{python_sitelib}/libproxy.py
  155. %files python3
  156. %defattr(-,root,root,-)
  157. %{python3_sitelib}/libproxy.py
  158. %files gnome
  159. %defattr(-,root,root,-)
  160. %{_libdir}/%{name}/%{version}/modules/config_gnome3.so
  161. %{_libexecdir}/pxgsettings
  162. %files kde
  163. %defattr(-,root,root,-)
  164. %{_libdir}/%{name}/%{version}/modules/config_kde.so
  165. # Build the pacrunner into libproxy unless we are building for multiple engines
  166. %if %{with mozjs}
  167. %files mozjs
  168. %defattr(-,root,root,-)
  169. %{_libdir}/%{name}/%{version}/modules/pacrunner_mozjs.so
  170. %files webkitgtk4
  171. %defattr(-,root,root,-)
  172. %{_libdir}/%{name}/%{version}/modules/pacrunner_webkit.so
  173. %endif
  174. %files devel
  175. %defattr(-,root,root,-)
  176. %{_includedir}/proxy.h
  177. %{_libdir}/*.so
  178. %{_libdir}/pkgconfig/libproxy-1.0.pc
  179. %{_datadir}/cmake/Modules/Findlibproxy.cmake
  180. %changelog
  181. * Sat Oct 10 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.4.15-4
  182. - imported Patch1001 to fix CVE-2020-26154 from rawhide.
  183. * Tue Sep 15 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.4.15-3
  184. - imported Patch1000 to fix CVE-2020-25219 from debian.
  185. - imported Patch0 to support python-3.8 from upstream.
  186. * Sun Apr 12 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.4.15-2
  187. - rebuilt with current environment.
  188. * Mon Jan 08 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.4.15-1
  189. - updated to 0.4.15.
  190. - enabled python3 support.
  191. - disabled mozjs as default.
  192. - switched to webkitgtk4.
  193. * Thu Jul 07 2016 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.11-2
  194. - rebuild with gcc-5.4.0
  195. * Tue Dec 31 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.11-1
  196. - update to 0.4.11
  197. - remove Patch0 (libproxy-0.4.7-cmake-modules.patch)
  198. * Thu Feb 16 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.7-2
  199. - rebuild with python-2.7.2
  200. * Sun Aug 14 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.7-1
  201. - new upstream release
  202. - change BuildRequires: WebKit3-gtk-devel instead of WebKit-gtk-devel
  203. - change BuildRequires: js-devel instead of gecko-devel
  204. - replace Patch0 (libproxy-0.4.7-cmake-modules.patch)
  205. - detele -webkit sub package
  206. - create -webkitgtk3 sub package
  207. * Sun Oct 03 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.6-1
  208. - new upstream release
  209. - drop Patch0
  210. - add BuildRequires: cmake, kdelibs-devel
  211. - fix %files (from %{_libdir}/%{name}/%{version}/plugins to %{_libdir}/%{name}/%{version}/modules)
  212. * Sun Sep 26 2010 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.2.3-5
  213. - rebuild with rpm-4.8.1 for pkg-config file
  214. * Tue Feb 02 2010 Shu KONNO <owa@bg.wakwak.com> 0.2.3-4
  215. - rebuild with python-2.6
  216. * Tue Jun 30 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 0.2.3-3
  217. - rebuild with gecko-1.9.1
  218. * Thu Mar 26 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 0.2.3-2
  219. - rebuild with WebKit-gtk-1.0.0-8.svn41944
  220. * Sat Mar 21 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 0.2.3-1
  221. - initial build for Vine Linux
  222. * Mon Mar 9 2009 kwizart < kwizart at gmail.com > - 0.2.3-10
  223. - Rebuild for webkit
  224. - Raise requirement for xulrunner to 1.9.1
  225. * Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.3-9
  226. - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
  227. * Thu Jan 22 2009 kwizart < kwizart at gmail.com > - 0.2.3-8
  228. - Merge NetworkManager module into the main libproxy package
  229. - Main Requires the -python and -bin subpackage
  230. (splitted for multilibs compliance).
  231. * Fri Oct 24 2008 kwizart < kwizart at gmail.com > - 0.2.3-7
  232. - Disable Gnome/KDE default support via builtin modules.
  233. (it needs to be integrated via Gconf2/neon instead).
  234. * Tue Oct 21 2008 kwizart < kwizart at gmail.com > - 0.2.3-6
  235. - Disable Obsoletes.
  236. - Requires ev instead of evr for optionnals sub-packages.
  237. * Tue Oct 21 2008 kwizart < kwizart at gmail.com > - 0.2.3-5
  238. - Use conditionals build.
  239. * Mon Sep 15 2008 kwizart < kwizart at gmail.com > - 0.2.3-4
  240. - Remove plugin- in the name of the packages
  241. * Mon Aug 4 2008 kwizart < kwizart at gmail.com > - 0.2.3-3
  242. - Move proxy.h to libproxy/proxy.h
  243. This will prevent it to be included in the default include path
  244. - Split main to libs and util and use libproxy to install all
  245. * Mon Aug 4 2008 kwizart < kwizart at gmail.com > - 0.2.3-2
  246. - Rename binding-python to python
  247. - Add Requires: gecko-libs >= %%{gecko_version}
  248. - Fix some descriptions
  249. - Add plugin-webkit package
  250. * Fri Jul 11 2008 kwizart < kwizart at gmail.com > - 0.2.3-1
  251. - Convert to Fedora spec
  252. * Fri Jun 6 2008 - dominique-rpm@leuenberger.net
  253. - Updated to version 0.2.3
  254. * Wed Jun 4 2008 - dominique-rpm@leuenberger.net
  255. - Extended spec file to build all available plugins
  256. * Tue Jun 3 2008 - dominique-rpm@leuenberger.net
  257. - Initial spec file for Version 0.2.2