Apache CloudStack for Arch Linux
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

556 lines
18 KiB

  1. # Maintainer: Pekka Helenius <pekka dot helenius at fjordtek dot com>
  2. # Skip Maven tests?
  3. skip_tests=true
  4. # Install non-OSS (open source software) Java plugins?
  5. # Adds up to 1.5GB to the installation size
  6. install_non_oss=true
  7. maven_options=(
  8. # CloudStack profile options
  9. -P systemvm
  10. #-P eclipse
  11. #-P developer
  12. #-P impatient
  13. #-P vmware
  14. #-P quality
  15. #-P disablecheckstyle
  16. #-P enablefindbugs
  17. -Dorg.slf4j.simpleLogger.defaultLogLevel=warn
  18. )
  19. pythonver=3.7
  20. pkgbase=cloudstack
  21. pkgname=(
  22. 'cloudstack-agent'
  23. 'cloudstack-management'
  24. 'cloudstack-ui'
  25. 'cloudstack-common'
  26. 'cloudstack-cli'
  27. 'cloudstack-usage'
  28. 'cloudstack-mysql-ha'
  29. # 'cloudstack-baremetal-agent'
  30. # 'cloudstack-marvin'
  31. # 'cloudstack-integration-tests'
  32. # 'cloudstack-docs'
  33. )
  34. _commit=44c08b5acc598972b4f0af576ffdea4e2447cb41 # 4.16.0.0
  35. pkgver=4.16.0.0.r0.g44c08b5acc
  36. pkgrel=1
  37. groups=(cloudstack)
  38. pkgdesc='Open Source Cloud Computing'
  39. arch=('any')
  40. url='https://cloudstack.apache.org/'
  41. license=('Apache2')
  42. depends=(
  43. 'systemd'
  44. 'logrotate'
  45. 'libvirt'
  46. 'jre11-openjdk'
  47. 'java-runtime-common'
  48. 'mysql'
  49. 'python'
  50. 'python-setuptools'
  51. 'python-mysql-connector'
  52. # Both iptables & ebtables executables is required by cloudstack-agent
  53. 'iptables-nft'
  54. 'ipmitool'
  55. )
  56. makedepends=(
  57. # CloudStack source retrieval
  58. 'git'
  59. 'wget'
  60. # CloudStack compilation
  61. 'jdk11-openjdk'
  62. 'maven'
  63. # CloudStack UI compilation
  64. # <16 required by cloudstack-ui npm compilation process due to implementation issues
  65. # See: https://github.com/sass/node-sass/issues/3077
  66. 'nodejs<16'
  67. 'npm'
  68. 'gcc'
  69. # # CloudStack apidocs compilation
  70. # 'python'
  71. )
  72. optdepends=(
  73. 'qemu: A generic and open source machine emulator and virtualizer'
  74. 'cloudmonkey: Command line interface for Apache CloudStack management'
  75. 'python-solidfire-sdk: SolidFire Python SDK for application integration'
  76. 'edk2-ovmf: Firmware for Virtual Machines (x86_64, i686)'
  77. 'openvswitch: Production Quality, Multilayer Open Virtual Switch'
  78. 'nfs-utils: Support programs for Network File Systems'
  79. )
  80. source=(
  81. "${pkgbase}::git+https://github.com/apache/${pkgbase}.git#commit=${_commit}"
  82. "cloudstack.sysuser.conf"
  83. "uefi.properties"
  84. "patch_domr-path.patch"
  85. "patch_python3.patch"
  86. "cloudstack.mysql.conf"
  87. "cloudbr0.netdev"
  88. "cloudbr0.network"
  89. "cloudbr1.netdev"
  90. "cloudbr1.network"
  91. "cloudbr2.netdev"
  92. "cloudbr2.network"
  93. )
  94. if [[ ${skip_tests} == "true" ]]; then
  95. maven_options+=(-DskipTests)
  96. fi
  97. if [[ ${install_non_oss} == "true" ]]; then
  98. source+=(
  99. "${pkgbase}-nonoss::git+https://github.com/shapeblue/${pkgbase}-nonoss.git"
  100. )
  101. maven_options+=(-Dnoredist)
  102. fi
  103. # options=(!emptydirs)
  104. sha256sums=('SKIP'
  105. '1ad0d6b9a15889763bea92c71ecf9dc44e11e408260cdc54efa4d7acd849230f'
  106. '2ac98910f320785ebbc682a426f4eef6d8b4ca5c8c55195dc4c048072fa93fb6'
  107. '8691b6b47164d11d3c1eff90a0108e694427463fb3d49608628a5d0121b6a5d4'
  108. '2515da6f9195c7e3bce321bd328743ee4c685ccd01ddb4099202637036eab40e'
  109. '69b315a10f88c24d6fe2b248b0593691d656f8992e6e37f8b0a4d2d4a9caca40'
  110. '4d5d5c4d923ceec434403fc416a4d09a820fdb49ece6e4f6d0b32a05014446be'
  111. 'e3be7fda05b639c1b82db854347262f8206639f78f13d5f207b52c9f6a126a8d'
  112. 'dfc16a17e57b9d174aae8abee6c04b8a6b02ffc96909315f302199e43dea9b9e'
  113. '2fa8cf39924356c5af6403f09ac17930b6d4f38c509cd655f36f705d1dc9d280'
  114. '1bd92d5f69a49c03a492e96f03efdebcef88a73948410511b715339735e15d3f'
  115. '0ce7c6173c80fa74de5a473336ab099337e9248cceef3b7b33c7199baf71aa33'
  116. 'SKIP')
  117. pkgver() {
  118. cd ${pkgbase}
  119. git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
  120. }
  121. prepare() {
  122. if [[ ${install_non_oss} == "true" ]]; then
  123. msg2 "Installing non-OSS CloudStack plugins ($HOME/.m2)"
  124. cd ${pkgbase}-nonoss
  125. ./install-non-oss.sh
  126. fi
  127. cd ${srcdir}/${pkgbase}
  128. patch -Np1 -i ../patch_domr-path.patch
  129. patch -Np1 -i ../patch_python3.patch
  130. rm build/replace.properties
  131. # Compile-time variables
  132. echo "
  133. AGENTCLASSPATH=
  134. AGENTLOGDIR=/var/log/cloudstack/agent
  135. AGENTLOG=/var/log/cloudstack/agent/agent.log
  136. AGENTSYSCONFDIR=/etc/cloudstack/agent
  137. APISERVERLOG=/var/log/cloudstack/management/apilog.log
  138. BINDIR=/usr/bin
  139. COMMONLIBDIR=/usr/share/cloudstack-common
  140. COMPONENTS-SPEC=components-premium.xml
  141. CONFIGUREVARS=
  142. DBDRIVER=jdbc:mysql
  143. DBHOST=localhost
  144. DBPW=cloud
  145. DBROOTPW=
  146. DBUSER=cloud
  147. DEPSCLASSPATH=
  148. DOCDIR=
  149. IPALOCATORLOG=/var/log/cloudstack/management/ipallocator.log
  150. JAVADIR=/usr/share/java
  151. LIBEXECDIR=/usr/libexec
  152. LOCKDIR=/var/lock
  153. MSCLASSPATH=
  154. MSCONF=/etc/cloudstack/management
  155. MSLOGDIR=/var/log/cloudstack/management
  156. MSLOG=/var/log/cloudstack/management/management-server.log
  157. MSMNTDIR=/var/cloudstack/mnt
  158. MSUSER=cloud
  159. PACKAGE=cloudstack
  160. PIDDIR=/run
  161. PLUGINJAVADIR=/usr/share/cloudstack-management/plugin
  162. PREMIUMJAVADIR=/usr/share/cloudstack-management/premium
  163. PYTHONDIR=/usr/lib/python${pythonver}/site-packages/
  164. REMOTEHOST=localhost
  165. SERVERSYSCONFDIR=/etc/cloudstack/server
  166. SETUPDATADIR=/usr/share/cloudstack-management/setup
  167. SYSCONFDIR=/etc
  168. SYSTEMCLASSPATH=
  169. SYSTEMJARS=
  170. USAGECLASSPATH=
  171. USAGELOG=/var/log/cloudstack/usage/usage.log
  172. USAGESYSCONFDIR=/etc/cloudstack/usage
  173. VERSION=$(printf "%s" $(git describe --long --tags | cut -d- -f1))
  174. " >> build/replace.properties
  175. }
  176. build() {
  177. cd ${pkgbase}
  178. export JAVA_HOME=/usr/lib/jvm/java-11-openjdk/
  179. export PATH=$JAVA_HOME/bin:$PATH
  180. mvn clean install ${maven_options[*]}
  181. # CloudStack UI
  182. cd ui && npm install && npm run build && cd ..
  183. }
  184. package_cloudstack-agent() {
  185. depends=('python' 'jre11-openjdk' 'logrotate' 'openssh' 'systemd' 'iptables-nft')
  186. pkgdesc='Apache CloudStack Agent'
  187. backup=(
  188. etc/cloudstack/agent/agent.properties
  189. etc/cloudstack/agent/uefi.properties
  190. )
  191. install=cloudstack-agent.install
  192. cd ${pkgbase}
  193. mkdir -p ${pkgdir}/etc/{cloudstack/agent,default,profile.d}
  194. mkdir -p ${pkgdir}/var/{cache/cloudstack,log/cloudstack}
  195. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  196. mkdir -p ${pkgdir}/usr/{bin,share/cloudstack-agent} #,share/doc/cloudstack-agent}
  197. mkdir -p ${pkgdir}/usr/share/cloudstack-agent/{plugins,lib,scripts}
  198. install -Dm0644 plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm*.jar ${pkgdir}/usr/share/cloudstack-agent/lib/
  199. install -D plugins/hypervisors/kvm/target/dependencies/* ${pkgdir}/usr/share/cloudstack-agent/lib/
  200. mkdir -p ${pkgdir}/usr/lib/systemd/system
  201. install -Dm0644 packaging/systemd/cloudstack-agent.service ${pkgdir}/usr/lib/systemd/system/
  202. install -Dm0644 packaging/systemd/cloudstack-agent.default ${pkgdir}/etc/default/cloudstack-agent
  203. install -Dm0644 packaging/systemd/cloudstack-rolling-maintenance@.service ${pkgdir}/usr/lib/systemd/system/
  204. install -Dm0644 agent/target/transformed/cloudstack-agent.logrotate ${pkgdir}/etc/logrotate.d/cloudstack-agent
  205. install -Dm0755 agent/target/transformed/cloud-setup-agent ${pkgdir}/usr/bin/cloudstack-setup-agent
  206. install -Dm0755 agent/target/transformed/cloud-ssh ${pkgdir}/usr/bin/cloudstack-ssh
  207. install -Dm0755 agent/target/transformed/cloudstack-agent-profile.sh ${pkgdir}/etc/profile.d/cloudstack-agent-profile.sh
  208. install -Dm0755 agent/target/transformed/cloudstack-agent-upgrade ${pkgdir}/usr/bin/
  209. install -Dm0755 agent/target/transformed/cloud-guest-tool ${pkgdir}/usr/bin/cloudstack-guest-tool
  210. install -Dm0644 agent/target/transformed/libvirtqemuhook ${pkgdir}/usr/share/cloudstack-agent/lib/
  211. install -Dm0644 agent/target/transformed/rolling-maintenance ${pkgdir}/usr/share/cloudstack-agent/lib/
  212. install -D agent/target/transformed/environment.properties ${pkgdir}/etc/cloudstack/agent/
  213. install -D agent/target/transformed/agent.properties ${pkgdir}/etc/cloudstack/agent/
  214. install -D agent/target/transformed/log4j-cloud.xml ${pkgdir}/etc/cloudstack/agent/
  215. # Fix: Add missing uefi.properties file
  216. install -Dm0644 ${srcdir}/uefi.properties ${pkgdir}/etc/cloudstack/agent/
  217. # Fix: Add missing log path
  218. mkdir -p ${pkgdir}/var/log/cloudstack/agent
  219. # Fix: Install missing script files
  220. # TODO: Some script files have referrals to unknown 'cmdline' file.
  221. cp -r systemvm/agent/scripts/* ${pkgdir}/usr/share/cloudstack-agent/scripts/
  222. chmod 0755 ${pkgdir}/usr/share/cloudstack-agent/scripts/*.sh
  223. for i in $(find ${pkgdir}/usr/share/cloudstack-agent/scripts/ -iname "*.sh"); do
  224. sed -i 's/\/cloud\//\/cloudstack\//g' "${i}"
  225. sed -i 's/\/usr\/local\//\/usr\//g' "${i}"
  226. done
  227. # Fix: Add & correct missing paths
  228. echo "
  229. # Full path: paths.script + value here
  230. # See environment.properties
  231. hypervisor.scripts.dir=scripts/vm/hypervisor
  232. kvm.scripts.dir=scripts/vm/hypervisor/kvm
  233. network.scripts.dir=scripts/vm/network/vnet
  234. storage.scripts.dir=scripts/storage/qcow2
  235. public.network.device=cloudbr0
  236. private.network.device=cloudbr1
  237. guest.network.device=cloudbr2
  238. #ipv6disabled=true
  239. host.cache.location=/var/cache/cloudstack
  240. # BridgeVifDriver or DirectVifDriver
  241. libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.BridgeVifDriver
  242. " >> ${pkgdir}/etc/cloudstack/agent/agent.properties
  243. }
  244. package_cloudstack-management() {
  245. depends=('python' 'jre11-openjdk' 'mysql' 'systemd' 'ipmitool')
  246. pkgdesc='Management for Apache CloudStack'
  247. install=cloudstack-management.install
  248. noextract=(
  249. systemvmtemplate-4.16.0-kvm.qcow2.bz2
  250. systemvmtemplate-4.16.0-xen.vhd.bz2
  251. )
  252. backup=(
  253. etc/cloudstack/management/server.properties
  254. etc/cloudstack/management/db.properties
  255. etc/cloudstack/management/environment.properties
  256. )
  257. cd ${pkgbase}
  258. mkdir -p ${pkgdir}/etc/cloudstack/management
  259. mkdir -p ${pkgdir}/etc/security/limits.d/
  260. mkdir -p ${pkgdir}/etc/sudoers.d/
  261. chmod 0750 ${pkgdir}/etc/sudoers.d/
  262. mkdir -p ${pkgdir}/usr/share/cloudstack-management/{lib,setup,templates/systemvm,plugin,premium,webapp}
  263. mkdir -p ${pkgdir}/var/cache/cloudstack/management
  264. mkdir -p ${pkgdir}/var/log/cloudstack/{management,ipallocator}
  265. mkdir -p ${pkgdir}/var/lib/cloudstack/{management,mnt}
  266. cp -r client/target/utilities/scripts/db/* ${pkgdir}/usr/share/cloudstack-management/setup/
  267. cp -r ui/dist/* ${pkgdir}/usr/share/cloudstack-management/webapp/
  268. cp -r client/target/classes/META-INF/webapp/WEB-INF ${pkgdir}/usr/share/cloudstack-management/webapp/
  269. for i in \
  270. cloud-migrate-databases \
  271. cloud-setup-databases \
  272. cloud-setup-management \
  273. cloud-setup-encryption \
  274. cloud-sysvmadm \
  275. cloud-update-xenserver-licenses \
  276. cloud-set-guest-password \
  277. cloud-set-guest-sshkey
  278. do
  279. install -D client/target/utilities/bin/${i} ${pkgdir}/usr/bin/$(echo ${i} | sed 's/cloud\-/cloudstack\-/')
  280. done
  281. cp client/target/conf/* ${pkgdir}/etc/cloudstack/management/
  282. cp client/target/cloud-client-ui-*.jar ${pkgdir}/usr/share/cloudstack-management/lib/
  283. for i in $(find ${pkgdir}/usr/share/cloudstack-management/lib/ -iname "cloud-client-ui*"); do
  284. mv "${i}" $(echo "${i}" | sed 's/cloud\-client\-ui/cloudstack/')
  285. done
  286. cp client/target/lib/*jar ${pkgdir}/usr/share/cloudstack-management/lib/
  287. cp -rf engine/schema/dist/systemvm-templates/* ${pkgdir}/usr/share/cloudstack-management/templates/systemvm/
  288. rm -rf ${pkgdir}/usr/share/cloudstack-management/templates/systemvm/md5sum.txt
  289. # Nast hack for a couple of configuration files
  290. cp -f server/target/conf/cloudstack-limits.conf ${pkgdir}/etc/security/limits.d/cloudstack-limits.conf
  291. cp -f server/target/conf/cloudstack-sudoers ${pkgdir}/etc/sudoers.d/cloudstack
  292. # Allow non-root user to add a KVM host
  293. j=$(echo "$(grep Cmnd_Alias ${pkgdir}/etc/sudoers.d/cloudstack), /usr/bin/cloudstack-setup-agent" | sed 's/\//\\\//g')
  294. sed -i -i "s/^Cmnd_Alias.*/$j/" ${pkgdir}/etc/sudoers.d/cloudstack
  295. chmod 0440 ${pkgdir}/etc/sudoers.d/cloudstack
  296. # TODO: This should all be in /etc/cloudstack/management
  297. ln -s /etc/cloudstack/management ${pkgdir}/usr/share/cloudstack-management/conf
  298. ln -s /var/log/cloudstack/management ${pkgdir}/usr/share/cloudstack-management/logs
  299. mkdir -p ${pkgdir}/usr/lib/systemd/system
  300. install -m0644 packaging/systemd/cloudstack-management.service ${pkgdir}/usr/lib/systemd/system/cloudstack-management.service
  301. install -Dm0644 packaging/systemd/cloudstack-management.default ${pkgdir}/etc/default/cloudstack-management
  302. # Fix: Add missing 'cloud' user to the system
  303. mkdir -p ${pkgdir}/usr/lib/sysusers.d
  304. install -Dm0644 ${srcdir}/cloudstack.sysuser.conf ${pkgdir}/usr/lib/sysusers.d/cloudstack.conf
  305. # Fix: Set global database configuration values
  306. mkdir -p ${pkgdir}/etc/mysql/conf.d/
  307. install -Dm0644 ${srcdir}/cloudstack.mysql.conf ${pkgdir}/etc/mysql/conf.d/cloudstack.cf
  308. rm -f ${pkgdir}/usr/share/cloudstack-management/webapp/config.json
  309. ln -s /etc/cloudstack/ui/config.json ${pkgdir}/usr/share/cloudstack-management/webapp/config.json
  310. # Fix: Symlink log4j.xml
  311. ln -s /etc/cloudstack/management/log4j-cloud.xml ${pkgdir}/etc/cloudstack/management/log4j.xml
  312. }
  313. package_cloudstack-ui() {
  314. depends=()
  315. pkgdesc='Apache CloudStack UI'
  316. cd ${pkgbase}
  317. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  318. # mkdir -p ${pkgdir}/usr/share/doc/cloudstack-ui/
  319. mkdir -p ${pkgdir}/etc/cloudstack/ui
  320. mkdir -p ${pkgdir}/usr/share/cloudstack-ui
  321. cp -r ui/dist/config.json ${pkgdir}/etc/cloudstack/ui/
  322. cp -r ui/dist/* ${pkgdir}/usr/share/cloudstack-ui/
  323. rm -f ${pkgdir}/usr/share/cloudstack-ui/config.json
  324. ln -s /etc/cloudstack/ui/config.json ${pkgdir}/usr/share/cloudstack-ui/config.json
  325. }
  326. package_cloudstack-common() {
  327. depends=('python' 'jre11-openjdk')
  328. pkgdesc='Common files for Apache CloudStack'
  329. install=cloudstack-common.install
  330. cd ${pkgbase}
  331. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  332. # mkdir -p ${pkgdir}/usr/share/doc/cloudstack-common/
  333. mkdir -p ${pkgdir}/usr/share/cloudstack-common/{scripts,setup,lib}
  334. for i in installer network storage util vm; do
  335. cp -r scripts/${i} ${pkgdir}/usr/share/cloudstack-common/scripts
  336. done
  337. # Fix: Add missing Cisco network files
  338. cp -r client/target/common/scripts/network/cisco ${pkgdir}/usr/share/cloudstack-common/scripts/network/
  339. # TODO: Missing utils/bindir/cloud-sccs -> usr/bin/cloud-sccs
  340. install -D systemvm/dist/systemvm.iso ${pkgdir}/usr/share/cloudstack-common/vms/systemvm.iso
  341. # We need jasypt for 'cloud-install-sys-tmplt' executable, so this is a nasty hack to get it into the right place
  342. install -D agent/target/dependencies/jasypt-1.9.*.jar ${pkgdir}/usr/share/cloudstack-common/lib
  343. # Fix: Populate network interfaces for CloudStack
  344. mkdir -p ${pkgdir}/usr/lib/systemd/network/
  345. install -Dm0644 ${srcdir}/cloudbr0.netdev ${pkgdir}/usr/lib/systemd/network/
  346. install -Dm0644 ${srcdir}/cloudbr0.network ${pkgdir}/usr/lib/systemd/network/
  347. install -Dm0644 ${srcdir}/cloudbr1.netdev ${pkgdir}/usr/lib/systemd/network/
  348. install -Dm0644 ${srcdir}/cloudbr1.network ${pkgdir}/usr/lib/systemd/network/
  349. }
  350. package_cloudstack-cli() {
  351. depends=('python' 'python-mysql-connector')
  352. pkgdesc='Python bindings for Apache CloudStack (CLI)'
  353. cd ${pkgbase}
  354. mkdir -p ${pkgdir}/usr/lib/python${pythonver}/site-packages/
  355. cp -r python/lib/cloud* ${pkgdir}/usr/lib/python${pythonver}/site-packages/
  356. }
  357. package_cloudstack-usage() {
  358. depends=('jre11-openjdk' 'systemd')
  359. pkgdesc='Usage Server for Apache CloudStack'
  360. backup=(
  361. etc/cloudstack/usage/db.properties
  362. )
  363. cd ${pkgbase}
  364. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  365. # mkdir -p ${pkgdir}/usr/share/doc/cloudstack-usage/
  366. mkdir -p ${pkgdir}/etc/cloudstack/usage
  367. mkdir -p ${pkgdir}/usr/share/cloudstack-usage/{lib,plugins}
  368. mkdir -p ${pkgdir}/var/log/cloudstack/usage
  369. install -Dm0644 usage/target/cloud-usage-*.jar ${pkgdir}/usr/share/cloudstack-usage/
  370. install -D usage/target/dependencies/* ${pkgdir}/usr/share/cloudstack-usage/lib/
  371. cp client/target/lib/mysql*jar ${pkgdir}/usr/share/cloudstack-usage/lib/
  372. cp usage/target/transformed/db.properties ${pkgdir}/etc/cloudstack/usage/
  373. cp usage/target/transformed/log4j-cloud_usage.xml ${pkgdir}/etc/cloudstack/usage/log4j-cloud.xml
  374. mkdir -p ${pkgdir}/usr/lib/systemd/system
  375. install -m0644 packaging/systemd/cloudstack-usage.service ${pkgdir}/usr/lib/systemd/system/cloudstack-usage.service
  376. install -Dm0644 packaging/systemd/cloudstack-usage.default ${pkgdir}/etc/default/cloudstack-usage
  377. }
  378. package_cloudstack-mysql-ha() {
  379. pkgdesc='MySQL High Availability plugin for Apache CloudStack'
  380. depends=('mysql' 'jre11-openjdk')
  381. cd ${pkgbase}
  382. mkdir -p ${pkgdir}/usr/share/cloudstack-mysql-ha/lib
  383. install -Dm0644 plugins/database/mysql-ha/target/cloud-plugin-database-mysqlha-*.jar ${pkgdir}/usr/share/cloudstack-mysql-ha/lib/
  384. }
  385. # TODO: The executable script is not compatible with Arch Linux
  386. #package_cloudstack-baremetal-agent() {
  387. #
  388. # pkgdesc='BareMetal PXE server for Apache CloudStack'
  389. # depends=('python' 'xinetd' 'bash-completion' 'dhcp' 'tftp-hpa' 'iptables')
  390. #
  391. # cd ${pkgbase}
  392. #
  393. # mkdir -p ${pkgdir}/usr/bin
  394. # install -Dm0755 client/target/utilities/bin/cloud-setup-baremetal ${pkgdir}/usr/bin/
  395. #}
  396. # TODO: Actual marvin toolset requires additional dependencies but
  397. # CloudStack project does not officially expose the installation procedure
  398. #package_cloudstack-marvin() {
  399. #
  400. # depends=('python' 'python-mysql-connector' 'python-urllib3' 'python-setuptools')
  401. # "mysql-connector-python >= 1.1.6",
  402. # "requests >= 2.2.1",
  403. # "paramiko >= 1.13.0",
  404. # "nose >= 1.3.3",
  405. # "ddt >= 0.4.0",
  406. # "pyvmomi >= 5.5.0",
  407. # "netaddr >= 0.7.14",
  408. # "dnspython",
  409. # "ipmisim >= 0.7",
  410. # "pytz",
  411. # "retries",
  412. # "PyCrypt",
  413. # "kubernetes",
  414. # "urllib3",
  415. # "setuptools >= 40.3.0"
  416. # pkgdesc='Python client for Apache CloudStack'
  417. #
  418. # cd ${pkgbase}
  419. #
  420. # mkdir -p ${pkgdir}/usr/share/cloudstack-marvin
  421. # cp tools/marvin/dist/Marvin-*.tar.gz ${pkgdir}/usr/share/cloudstack-marvin/
  422. #
  423. #}
  424. #package_cloudstack-integration-tests() {
  425. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  426. # mkdir -p ${pkgdir}/usr/share/doc/cloudstack-integration-tests/
  427. # pkgdesc='Integration tests for Apache CloudStack'
  428. #
  429. # cd ${pkgbase}
  430. #
  431. # mkdir -p ${pkgdir}/usr/share/cloudstack-integration-tests
  432. # cp -r test/integration/* ${pkgdir}/usr/share/cloudstack-integration-tests/
  433. #
  434. #}
  435. #package_cloudstack-docs() {
  436. # TODO: Missing doc files: INSTALL.md.gz, LICENSE.gz, NOTICE.gz, changelog.gz, copyright
  437. # mkdir -p ${pkgdir}/usr/share/doc/cloudstack-docs/
  438. # pkgdesc='Apache CloudStack docs'
  439. #
  440. # cd ${pkgbase}
  441. #
  442. #}