Advertisement
Guest User

PKGBUILD

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