Advertisement
Guest User

PKGBUILD

a guest
Jun 24th, 2017
149
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.58 KB | None | 0 0
  1. # Maintainer: Davi da Silva Böger <dsboger at gmail dot com>
  2.  
  3. pkgname=warsaw-bb
  4. pkgver=1.12.3.11
  5. pkgrel=1
  6. pkgdesc="Security module for internet banking (Banco do Brasil)"
  7. arch=("i686" "x86_64")
  8. url="http://www.dieboldnixdorf.com.br/gas-antifraude"
  9. license=("custom")
  10.  
  11. depends=("dbus" "openssl" "nss" "curl" "c-ares" "openssl-1.0" "gtk2" "libpng12" "rtmpdump" "libsm")
  12. makedepends=("chrpath")
  13.  
  14. source=("warsaw-core.service")
  15. md5sums=('8b0b90542a5910bde4dff94a4f4a7bd7')
  16.  
  17. _runfile_i686="warsaw_32_installer.run"
  18. source_i686=("https://cloud.gastecnologia.com.br/bb/downloads/ws/${_runfile_i686}")
  19. md5sums_i686=('b53b1696e2a0624f54eb516538ac655b')
  20.  
  21. _runfile_x86_64="warsaw_64_installer.run"
  22. source_x86_64=("https://cloud.gastecnologia.com.br/bb/downloads/ws/${_runfile_x86_64}")
  23. md5sums_x86_64=('2d19b66de26dbd01a7980427a0535a8f')
  24.  
  25. noextract=("${_runfile_i686}" "${_runfile_x86_64}")
  26. options=('!strip')
  27. install="warsaw-bb.install"
  28.  
  29. if [[ $CARCH == x86_64 ]]; then
  30. _runfile=warsaw_64_installer.run
  31. _warsawdir=tmp/warsaw_x64
  32. else
  33. _runfile=warsaw_32_installer.run
  34. _warsawdir=tmp/warsaw_x86
  35. fi
  36.  
  37. prepare() {
  38. # 363 is a "magic number" found in the installer
  39. tail -n +363 ${_runfile} | tar -zxvf - -C "${srcdir}"
  40.  
  41. cd "${srcdir}"/${_warsawdir}/
  42. if [[ $CARCH == i686 ]]; then
  43. # WTF???
  44. sed -e '7s|/\(ibfontconfig.so.1\)|/l\1|' \
  45. -e '7s|/\(ibgmp.so.10\)|/l\1|' \
  46. -e '7,74s|$| \\|' \
  47. -i Makefile.am
  48. fi
  49. autoreconf --force
  50. }
  51.  
  52. pkgver() {
  53. cd "${srcdir}"/${_warsawdir}
  54.  
  55. grep AC_INIT configure.ac | sed -e 's/^AC_INIT.*\[\([0-9\.]*\)\].*/\1/'
  56. }
  57.  
  58. build() {
  59. cd "${srcdir}"/${_warsawdir}
  60.  
  61. ./configure
  62. }
  63.  
  64. package() {
  65. cd "${srcdir}"/${_warsawdir}
  66.  
  67. make install DESTDIR="${pkgdir}"
  68.  
  69. # Fix installation
  70.  
  71. # Move copyright notice to licences dir
  72. install -D -m 644 "${pkgdir}"/usr/share/doc/warsaw/copyright \
  73. "${pkgdir}"/usr/share/licenses/${pkgname}/copyright
  74. rm -r "${pkgdir}"/usr/share/doc
  75.  
  76. # Remove insecure RPATH
  77. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsbrmu.so
  78. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftbco.so
  79. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftbid.so
  80. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftbmo.so
  81. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftdl.so
  82. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftuan.so
  83. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wsftup.so
  84. chrpath -d "${pkgdir}"/usr/local/lib/warsaw/wslbmid.so
  85. chrpath -d "${pkgdir}"/usr/local/bin/warsaw/migratecache
  86.  
  87. # Replace init.d script with systemd service
  88. rm -rf "${pkgdir}"/etc/init.d
  89. install -D -m 644 "${srcdir}"/warsaw-core.service \
  90. "${pkgdir}"/usr/local/lib/systemd/system/warsaw-core.service
  91.  
  92. # Make binaries executable
  93. chmod 755 "${pkgdir}"/usr/local/{bin,lib}/warsaw/*
  94.  
  95. # Remove bundled libraries:
  96. # - We added some deps to compensate
  97. # - Seems like some are not needed at all
  98.  
  99. # These libraries are not available as Arch packages, but it seems work be fine without them
  100. # selinux (unavailable)
  101. rm "${pkgdir}"/usr/local/lib/warsaw/libselinux.so.1
  102. # heimdal (unavailable, replaced by/conflicts with krb5)
  103. rm "${pkgdir}"/usr/local/lib/warsaw/{libasn1,libgssapi,libhcrypto,libheimbase,libheimntlm,libhx509,libroken,libwind}.so*
  104. rm "${pkgdir}"/usr/local/lib/warsaw/libkrb5.so.26
  105.  
  106. # These libraries are replaced with dependencies
  107. # pcre
  108. rm "${pkgdir}"/usr/local/lib/warsaw/libpcre.so.3
  109. # libsasl
  110. rm "${pkgdir}"/usr/local/lib/warsaw/libsasl2.so.2
  111. # glibc
  112. rm "${pkgdir}"/usr/local/lib/warsaw/{ld-linux-x86-64,libcrypt,libc,libdl,libm,libpthread,libresolv,librt}.so*
  113. # atk
  114. rm "${pkgdir}"/usr/local/lib/warsaw/libatk-1.0.so*
  115. # cairo
  116. rm "${pkgdir}"/usr/local/lib/warsaw/libcairo.so*
  117. # c-ares
  118. rm "${pkgdir}"/usr/local/lib/warsaw/libcares.so*
  119. # e2fsprogs
  120. rm "${pkgdir}"/usr/local/lib/warsaw/libcom_err.so*
  121. # openssl-1.0
  122. rm "${pkgdir}"/usr/local/lib/warsaw/{libcrypto,libssl}.so*
  123. # curl
  124. rm "${pkgdir}"/usr/local/lib/warsaw/libcurl.so*
  125. # libdatrie
  126. rm "${pkgdir}"/usr/local/lib/warsaw/libdatrie.so*
  127. # dbus
  128. rm "${pkgdir}"/usr/local/lib/warsaw/libdbus-1.so*
  129. # expat
  130. rm "${pkgdir}"/usr/local/lib/warsaw/libexpat.so*
  131. # libffi
  132. rm "${pkgdir}"/usr/local/lib/warsaw/libffi.so*
  133. # fontconfig
  134. rm "${pkgdir}"/usr/local/lib/warsaw/libfontconfig.so*
  135. # freetype2
  136. rm "${pkgdir}"/usr/local/lib/warsaw/libfreetype.so*
  137. # gcc-libs
  138. rm "${pkgdir}"/usr/local/lib/warsaw/{libgcc_s,libstdc++}.so*
  139. # libgcrypt
  140. rm "${pkgdir}"/usr/local/lib/warsaw/libgcrypt.so*
  141. # gdk-pixbuf2
  142. rm "${pkgdir}"/usr/local/lib/warsaw/libgdk_pixbuf-2.0.so*
  143. # gtk2
  144. rm "${pkgdir}"/usr/local/lib/warsaw/{libgdk-x11-2.0,libgtk-x11-2.0}.so*
  145. # glib2
  146. rm "${pkgdir}"/usr/local/lib/warsaw/{libgio-2.0,libglib-2.0,libgmodule-2.0,libgobject-2.0}.so*
  147. # gmp
  148. rm "${pkgdir}"/usr/local/lib/warsaw/libgmp.so*
  149. # gnutls
  150. rm "${pkgdir}"/usr/local/lib/warsaw/libgnutls.so*
  151. # libgpg-error
  152. rm "${pkgdir}"/usr/local/lib/warsaw/libgpg-error.so*
  153. # graphite
  154. rm "${pkgdir}"/usr/local/lib/warsaw/libgraphite2.so*
  155. # krb5
  156. rm "${pkgdir}"/usr/local/lib/warsaw/{libgssapi_krb5,libk5crypto,libkrb5support}.so*
  157. rm "${pkgdir}"/usr/local/lib/warsaw/libkrb5.so.3
  158. # harfbuzz
  159. rm "${pkgdir}"/usr/local/lib/warsaw/libharfbuzz.so*
  160. # nettle
  161. rm "${pkgdir}"/usr/local/lib/warsaw/{libhogweed,libnettle}.so*
  162. # libice
  163. rm "${pkgdir}"/usr/local/lib/warsaw/libICE.so*
  164. # libidn
  165. rm "${pkgdir}"/usr/local/lib/warsaw/libidn.so*
  166. # keyutils
  167. rm "${pkgdir}"/usr/local/lib/warsaw/libkeyutils.so*
  168. # libldap
  169. rm "${pkgdir}"/usr/local/lib/warsaw/{liblber-2.4,libldap_r-2.4}.so*
  170. # xz
  171. rm "${pkgdir}"/usr/local/lib/warsaw/liblzma.so*
  172. # p11-kit
  173. rm "${pkgdir}"/usr/local/lib/warsaw/libp11-kit.so*
  174. # pango
  175. rm "${pkgdir}"/usr/local/lib/warsaw/{libpango-1.0,libpangocairo-1.0,libpangoft2-1.0}.so*
  176. # pixman
  177. rm "${pkgdir}"/usr/local/lib/warsaw/libpixman-1.so*
  178. # libpng12
  179. rm "${pkgdir}"/usr/local/lib/warsaw/libpng12.so*
  180. # rtmpdump
  181. rm "${pkgdir}"/usr/local/lib/warsaw/librtmp.so*
  182. # libsm
  183. rm "${pkgdir}"/usr/local/lib/warsaw/libSM.so*
  184. # sqlite
  185. rm "${pkgdir}"/usr/local/lib/warsaw/libsqlite3.so*
  186. # libsystemd
  187. rm "${pkgdir}"/usr/local/lib/warsaw/libsystemd.so*
  188. # libtasn1
  189. rm "${pkgdir}"/usr/local/lib/warsaw/libtasn1.so*
  190. # libthai
  191. rm "${pkgdir}"/usr/local/lib/warsaw/libthai.so*
  192. # libutil-linux
  193. rm "${pkgdir}"/usr/local/lib/warsaw/libuuid.so*
  194. # libx11
  195. rm "${pkgdir}"/usr/local/lib/warsaw/libX11.so*
  196. # libXau
  197. rm "${pkgdir}"/usr/local/lib/warsaw/libXau.so*
  198. # libxcb
  199. rm "${pkgdir}"/usr/local/lib/warsaw/{libxcb-render,libxcb-shm,libxcb}.so*
  200. # libxcomposite
  201. rm "${pkgdir}"/usr/local/lib/warsaw/libXcomposite.so*
  202. # libxcursor
  203. rm "${pkgdir}"/usr/local/lib/warsaw/libXcursor.so*
  204. # libxdamage
  205. rm "${pkgdir}"/usr/local/lib/warsaw/libXdamage.so*
  206. # libxdmcp
  207. rm "${pkgdir}"/usr/local/lib/warsaw/libXdmcp.so*
  208. # libxext
  209. rm "${pkgdir}"/usr/local/lib/warsaw/libXext.so*
  210. # libxfixes
  211. rm "${pkgdir}"/usr/local/lib/warsaw/libXfixes.so*
  212. # libxinerama
  213. rm "${pkgdir}"/usr/local/lib/warsaw/libXinerama.so*
  214. # libxi
  215. rm "${pkgdir}"/usr/local/lib/warsaw/libXi.so*
  216. # libxrandr
  217. rm "${pkgdir}"/usr/local/lib/warsaw/libXrandr.so*
  218. # libxrender
  219. rm "${pkgdir}"/usr/local/lib/warsaw/libXrender.so*
  220. # libxxf86vm
  221. # zlib
  222. rm "${pkgdir}"/usr/local/lib/warsaw/libz.so*
  223.  
  224. # Add some symlinks to system libraries, core looks for these under /usr/local
  225. for lib in ld-linux-x86-64.so.2 librt.so.1 libdl.so.2 libdbus-1.so.3 libstdc++.so.6 libm.so.6 libgcc_s.so.1 libpthread.so.0 libc.so.6 libsystemd.so.0 libresolv.so.2 libcap.so.2 liblzma.so.5 liblz4.so.1 libgcrypt.so.20 libgpg-error.so.0
  226. do
  227. ln -s /usr/lib/$lib "${pkgdir}"/usr/local/lib/warsaw/
  228. done
  229. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement