summaryrefslogtreecommitdiff
path: root/sys-cluster
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster')
-rw-r--r--sys-cluster/ampi/Manifest5
-rw-r--r--sys-cluster/ampi/ampi-0_pre20140616.ebuild21
-rw-r--r--sys-cluster/ampi/metadata.xml8
-rw-r--r--sys-cluster/c3/Manifest5
-rw-r--r--sys-cluster/c3/c3-4.0.1.ebuild55
-rw-r--r--sys-cluster/c3/metadata.xml8
-rw-r--r--sys-cluster/ccs/Manifest6
-rw-r--r--sys-cluster/ccs/ccs-2.03.09.ebuild61
-rw-r--r--sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch11
-rw-r--r--sys-cluster/ccs/metadata.xml8
-rw-r--r--sys-cluster/ceph/Manifest55
-rw-r--r--sys-cluster/ceph/ceph-10.2.10.ebuild305
-rw-r--r--sys-cluster/ceph/ceph-10.2.3-r2.ebuild264
-rw-r--r--sys-cluster/ceph/ceph-10.2.7-r1.ebuild292
-rw-r--r--sys-cluster/ceph/ceph-10.2.9-r1.ebuild298
-rw-r--r--sys-cluster/ceph/ceph-10.2.9-r2.ebuild299
-rw-r--r--sys-cluster/ceph/ceph-10.2.9-r3.ebuild313
-rw-r--r--sys-cluster/ceph/ceph-10.2.9.ebuild292
-rw-r--r--sys-cluster/ceph/ceph-12.2.1.ebuild290
-rw-r--r--sys-cluster/ceph/files/README.gentoo30
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch95
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch11
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch355
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch33
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch32
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch22
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch45
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch92
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch49
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-cflags.patch15
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch65
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch82
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch35
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch28
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch39
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch39
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch28
-rw-r--r--sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch32
-rw-r--r--sys-cluster/ceph/files/ceph-12.2.0-cflags.patch13
-rw-r--r--sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch37
-rw-r--r--sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch10
-rw-r--r--sys-cluster/ceph/files/ceph-mds_at.service12
-rw-r--r--sys-cluster/ceph/files/ceph-mds_at.service.conf4
-rw-r--r--sys-cluster/ceph/files/ceph-mon_at.service19
-rw-r--r--sys-cluster/ceph/files/ceph-osd_at.service13
-rw-r--r--sys-cluster/ceph/files/ceph-osd_at.service.conf4
-rw-r--r--sys-cluster/ceph/files/ceph.confd-r14
-rw-r--r--sys-cluster/ceph/files/ceph.confd-r28
-rw-r--r--sys-cluster/ceph/files/ceph.confd-r361
-rw-r--r--sys-cluster/ceph/files/ceph.initd-r1.139
-rw-r--r--sys-cluster/ceph/files/ceph.initd-r240
-rw-r--r--sys-cluster/ceph/files/ceph.initd-r449
-rw-r--r--sys-cluster/ceph/files/ceph.initd-r587
-rw-r--r--sys-cluster/ceph/files/ceph.logrotate18
-rw-r--r--sys-cluster/ceph/files/ceph.target4
-rw-r--r--sys-cluster/ceph/files/envd-tcmalloc1
-rw-r--r--sys-cluster/ceph/files/rbdmap.initd122
-rw-r--r--sys-cluster/ceph/files/sysctld2
-rw-r--r--sys-cluster/ceph/metadata.xml36
-rw-r--r--sys-cluster/charm/Manifest21
-rw-r--r--sys-cluster/charm/charm-6.5.1-r1.ebuild207
-rw-r--r--sys-cluster/charm/charm-6.5.1-r2.ebuild208
-rw-r--r--sys-cluster/charm/charm-6.5.1-r3.ebuild211
-rw-r--r--sys-cluster/charm/charm-6.6.0-r1.ebuild208
-rw-r--r--sys-cluster/charm/charm-6.6.0.ebuild208
-rw-r--r--sys-cluster/charm/charm-6.6.1.ebuild217
-rw-r--r--sys-cluster/charm/charm-6.7.1.ebuild210
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch34
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch39
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch58
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch203
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch30
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch50
-rw-r--r--sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch396
-rw-r--r--sys-cluster/charm/metadata.xml23
-rw-r--r--sys-cluster/charmdebug/Manifest5
-rw-r--r--sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild30
-rw-r--r--sys-cluster/charmdebug/metadata.xml12
-rw-r--r--sys-cluster/cinder/Manifest28
-rw-r--r--sys-cluster/cinder/cinder-10.0.6.ebuild193
-rw-r--r--sys-cluster/cinder/cinder-11.0.0.ebuild209
-rw-r--r--sys-cluster/cinder/cinder-2016.2.9999.ebuild194
-rw-r--r--sys-cluster/cinder/cinder-2017.1.9999.ebuild194
-rw-r--r--sys-cluster/cinder/cinder-2017.2.9999.ebuild210
-rw-r--r--sys-cluster/cinder/cinder-9.1.4.ebuild195
-rw-r--r--sys-cluster/cinder/files/cinder.initd23
-rw-r--r--sys-cluster/cinder/files/cinder.initd-217
-rw-r--r--sys-cluster/cinder/files/cinder.sudoersd4
-rw-r--r--sys-cluster/cinder/files/etc.liberty/api-httpd.conf16
-rw-r--r--sys-cluster/cinder/files/etc.liberty/api-paste.ini60
-rw-r--r--sys-cluster/cinder/files/etc.liberty/logging_sample.conf93
-rw-r--r--sys-cluster/cinder/files/etc.liberty/policy.json99
-rw-r--r--sys-cluster/cinder/files/etc.liberty/rootwrap.conf27
-rw-r--r--sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters207
-rw-r--r--sys-cluster/cinder/metadata.xml26
-rw-r--r--sys-cluster/classads/Manifest5
-rw-r--r--sys-cluster/classads/classads-1.0.10.ebuild25
-rw-r--r--sys-cluster/classads/metadata.xml18
-rw-r--r--sys-cluster/cluster-glue/Manifest8
-rw-r--r--sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild90
-rw-r--r--sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild91
-rw-r--r--sys-cluster/cluster-glue/files/heartbeat-logd.init47
-rw-r--r--sys-cluster/cluster-glue/metadata.xml12
-rw-r--r--sys-cluster/cman-lib/Manifest6
-rw-r--r--sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild46
-rw-r--r--sys-cluster/cman-lib/cman-lib-2.03.09.ebuild48
-rw-r--r--sys-cluster/cman-lib/metadata.xml8
-rw-r--r--sys-cluster/cman/Manifest11
-rw-r--r--sys-cluster/cman/cman-3.1.5-r1.ebuild100
-rw-r--r--sys-cluster/cman/cman-3.1.5.ebuild100
-rw-r--r--sys-cluster/cman/cman-3.2.0.ebuild100
-rw-r--r--sys-cluster/cman/files/cman.confd67
-rw-r--r--sys-cluster/cman/files/cman.initd318
-rw-r--r--sys-cluster/cman/files/cman.initd-3.1.5-r1349
-rw-r--r--sys-cluster/cman/metadata.xml9
-rw-r--r--sys-cluster/corosync/Manifest22
-rw-r--r--sys-cluster/corosync/corosync-1.3.0.ebuild57
-rw-r--r--sys-cluster/corosync/corosync-1.3.5.ebuild58
-rw-r--r--sys-cluster/corosync/corosync-1.4.7.ebuild63
-rw-r--r--sys-cluster/corosync/corosync-2.3.3.ebuild78
-rw-r--r--sys-cluster/corosync/corosync-2.3.4-r1.ebuild79
-rw-r--r--sys-cluster/corosync/corosync-2.3.5.ebuild87
-rw-r--r--sys-cluster/corosync/corosync-2.4.2.ebuild83
-rw-r--r--sys-cluster/corosync/files/corosync-2.0.0-docs.patch34
-rw-r--r--sys-cluster/corosync/files/corosync-2.3.4-docs.patch23
-rw-r--r--sys-cluster/corosync/files/corosync-docs.patch37
-rw-r--r--sys-cluster/corosync/files/corosync.initd29
-rw-r--r--sys-cluster/corosync/files/corosync.logrotate5
-rw-r--r--sys-cluster/corosync/metadata.xml18
-rw-r--r--sys-cluster/crmsh/Manifest5
-rw-r--r--sys-cluster/crmsh/crmsh-2.1.1.ebuild55
-rw-r--r--sys-cluster/crmsh/metadata.xml11
-rw-r--r--sys-cluster/csync2/Manifest7
-rw-r--r--sys-cluster/csync2/csync2-2.0.ebuild107
-rw-r--r--sys-cluster/csync2/files/csync2.initd25
-rw-r--r--sys-cluster/csync2/files/csync2.xinetd15
-rw-r--r--sys-cluster/csync2/metadata.xml8
-rw-r--r--sys-cluster/dlm-lib/Manifest7
-rw-r--r--sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild50
-rw-r--r--sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild50
-rw-r--r--sys-cluster/dlm-lib/metadata.xml8
-rw-r--r--sys-cluster/dlm/Manifest7
-rw-r--r--sys-cluster/dlm/dlm-2.03.09.ebuild69
-rw-r--r--sys-cluster/dlm/dlm-2.03.11.ebuild69
-rw-r--r--sys-cluster/dlm/metadata.xml8
-rw-r--r--sys-cluster/drbd-kernel/Manifest12
-rw-r--r--sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild52
-rw-r--r--sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild50
-rw-r--r--sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild50
-rw-r--r--sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch12
-rw-r--r--sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch23
-rw-r--r--sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch46
-rw-r--r--sys-cluster/drbd-kernel/metadata.xml8
-rw-r--r--sys-cluster/drbd-utils/Manifest9
-rw-r--r--sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild94
-rw-r--r--sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild94
-rw-r--r--sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild94
-rw-r--r--sys-cluster/drbd-utils/files/drbd-utils-8.0.rc158
-rw-r--r--sys-cluster/drbd-utils/files/run-lock.patch13
-rw-r--r--sys-cluster/drbd-utils/metadata.xml17
-rw-r--r--sys-cluster/drbd/Manifest32
-rw-r--r--sys-cluster/drbd/drbd-8.0.16.ebuild56
-rw-r--r--sys-cluster/drbd/drbd-8.3.10.ebuild74
-rw-r--r--sys-cluster/drbd/drbd-8.3.11-r1.ebuild75
-rw-r--r--sys-cluster/drbd/drbd-8.3.12.ebuild78
-rw-r--r--sys-cluster/drbd/drbd-8.3.13.ebuild78
-rw-r--r--sys-cluster/drbd/drbd-8.3.15.ebuild78
-rw-r--r--sys-cluster/drbd/drbd-8.3.7.ebuild76
-rw-r--r--sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild77
-rw-r--r--sys-cluster/drbd/drbd-8.3.8.1.ebuild76
-rw-r--r--sys-cluster/drbd/drbd-8.4.0.ebuild78
-rw-r--r--sys-cluster/drbd/drbd-8.4.2.ebuild79
-rw-r--r--sys-cluster/drbd/drbd-8.4.3-r1.ebuild80
-rw-r--r--sys-cluster/drbd/drbd-8.4.3-r2.ebuild85
-rw-r--r--sys-cluster/drbd/drbd-8.4.3.ebuild80
-rw-r--r--sys-cluster/drbd/files/drbd-8.0.rc157
-rw-r--r--sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch17
-rw-r--r--sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch12
-rw-r--r--sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch20
-rw-r--r--sys-cluster/drbd/metadata.xml17
-rw-r--r--sys-cluster/fake/Manifest6
-rw-r--r--sys-cluster/fake/fake-1.1.10.ebuild36
-rw-r--r--sys-cluster/fake/files/fix-ldflags.patch12
-rw-r--r--sys-cluster/fake/metadata.xml16
-rw-r--r--sys-cluster/feedbackd-agent/Manifest6
-rw-r--r--sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild39
-rw-r--r--sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch40
-rw-r--r--sys-cluster/feedbackd-agent/metadata.xml11
-rw-r--r--sys-cluster/feedbackd-master/Manifest5
-rw-r--r--sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild34
-rw-r--r--sys-cluster/feedbackd-master/metadata.xml14
-rw-r--r--sys-cluster/fence-agents/Manifest6
-rw-r--r--sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild65
-rw-r--r--sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild71
-rw-r--r--sys-cluster/fence-agents/metadata.xml9
-rw-r--r--sys-cluster/galera/Manifest10
-rw-r--r--sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch70
-rw-r--r--sys-cluster/galera/files/garb.cnf20
-rw-r--r--sys-cluster/galera/files/garb.sh49
-rw-r--r--sys-cluster/galera/galera-25.3.20.ebuild87
-rw-r--r--sys-cluster/galera/galera-25.3.21.ebuild87
-rw-r--r--sys-cluster/galera/metadata.xml14
-rw-r--r--sys-cluster/ganglia-web/Manifest8
-rw-r--r--sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch27
-rw-r--r--sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild60
-rw-r--r--sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild60
-rw-r--r--sys-cluster/ganglia-web/metadata.xml11
-rw-r--r--sys-cluster/ganglia/Manifest10
-rw-r--r--sys-cluster/ganglia/files/gmetad-python.rc30
-rw-r--r--sys-cluster/ganglia/files/gmetad.rc18
-rw-r--r--sys-cluster/ganglia/files/gmetad.rc-228
-rw-r--r--sys-cluster/ganglia/files/gmond.rc18
-rw-r--r--sys-cluster/ganglia/files/gmond.rc-228
-rw-r--r--sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild126
-rw-r--r--sys-cluster/ganglia/metadata.xml11
-rw-r--r--sys-cluster/gasnet/Manifest11
-rw-r--r--sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild72
-rw-r--r--sys-cluster/gasnet/gasnet-1.26.4.ebuild33
-rw-r--r--sys-cluster/gasnet/gasnet-1.28.0.ebuild87
-rw-r--r--sys-cluster/gasnet/gasnet-1.28.2.ebuild88
-rw-r--r--sys-cluster/gasnet/gasnet-1.30.0.ebuild88
-rw-r--r--sys-cluster/gasnet/metadata.xml12
-rw-r--r--sys-cluster/gearmand/Manifest8
-rw-r--r--sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch26
-rw-r--r--sys-cluster/gearmand/files/gearmand.conf.d39
-rw-r--r--sys-cluster/gearmand/files/gearmand.init.d.278
-rw-r--r--sys-cluster/gearmand/gearmand-0.34-r1.ebuild96
-rw-r--r--sys-cluster/gearmand/metadata.xml17
-rw-r--r--sys-cluster/glusterfs/Manifest22
-rw-r--r--sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el5
-rw-r--r--sys-cluster/glusterfs/files/glusterd-r2.initd32
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch23
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch54
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch547
-rw-r--r--sys-cluster/glusterfs/files/glusterfs-r1.initd121
-rw-r--r--sys-cluster/glusterfs/files/glusterfs.confd6
-rw-r--r--sys-cluster/glusterfs/files/glusterfs.logrotate34
-rw-r--r--sys-cluster/glusterfs/files/glusterfs.vim8
-rw-r--r--sys-cluster/glusterfs/glusterfs-3.10.1.ebuild212
-rw-r--r--sys-cluster/glusterfs/glusterfs-3.6.5.ebuild182
-rw-r--r--sys-cluster/glusterfs/glusterfs-3.7.4.ebuild205
-rw-r--r--sys-cluster/glusterfs/glusterfs-3.8.11.ebuild211
-rw-r--r--sys-cluster/glusterfs/glusterfs-3.8.6.ebuild211
-rw-r--r--sys-cluster/glusterfs/metadata.xml24
-rw-r--r--sys-cluster/heartbeat/Manifest14
-rw-r--r--sys-cluster/heartbeat/files/3.0.4-docs.patch57
-rw-r--r--sys-cluster/heartbeat/files/3.0.4-fix_configure.patch110
-rw-r--r--sys-cluster/heartbeat/files/3.0.4-python_tests.patch29
-rw-r--r--sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch145
-rw-r--r--sys-cluster/heartbeat/files/3.0.6-configure.patch103
-rw-r--r--sys-cluster/heartbeat/files/3.0.6-docs.patch59
-rw-r--r--sys-cluster/heartbeat/files/heartbeat-init92
-rw-r--r--sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild86
-rw-r--r--sys-cluster/heartbeat/heartbeat-3.0.6.ebuild85
-rw-r--r--sys-cluster/heartbeat/metadata.xml12
-rw-r--r--sys-cluster/heat/Manifest18
-rw-r--r--sys-cluster/heat/files/heat.initd52
-rw-r--r--sys-cluster/heat/files/heat.initd-216
-rw-r--r--sys-cluster/heat/files/newton-heat.conf.sample1225
-rw-r--r--sys-cluster/heat/heat-2016.2.9999.ebuild152
-rw-r--r--sys-cluster/heat/heat-2017.1.9999.ebuild149
-rw-r--r--sys-cluster/heat/heat-2017.2.9999.ebuild163
-rw-r--r--sys-cluster/heat/heat-7.0.6.ebuild151
-rw-r--r--sys-cluster/heat/heat-8.0.4.ebuild148
-rw-r--r--sys-cluster/heat/heat-9.0.0.ebuild162
-rw-r--r--sys-cluster/heat/metadata.xml19
-rw-r--r--sys-cluster/hpl/Manifest5
-rw-r--r--sys-cluster/hpl/hpl-2.0-r3.ebuild65
-rw-r--r--sys-cluster/hpl/metadata.xml8
-rw-r--r--sys-cluster/hpx/Manifest17
-rw-r--r--sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch27
-rw-r--r--sys-cluster/hpx/files/hpx-0.9.8-install-path.patch69
-rw-r--r--sys-cluster/hpx/files/hpx-0.9.8-multilib.patch163
-rw-r--r--sys-cluster/hpx/hpx-0.9.10.ebuild77
-rw-r--r--sys-cluster/hpx/hpx-0.9.8.ebuild85
-rw-r--r--sys-cluster/hpx/hpx-0.9.9.ebuild79
-rw-r--r--sys-cluster/hpx/hpx-0.9.99.ebuild83
-rw-r--r--sys-cluster/hpx/hpx-1.0.0.ebuild84
-rw-r--r--sys-cluster/hpx/hpx-9999.ebuild83
-rw-r--r--sys-cluster/hpx/metadata.xml27
-rw-r--r--sys-cluster/ipvsadm/Manifest18
-rw-r--r--sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch113
-rw-r--r--sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch32
-rw-r--r--sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch117
-rw-r--r--sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch56
-rw-r--r--sys-cluster/ipvsadm/files/ipvsadm-init36
-rw-r--r--sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild49
-rw-r--r--sys-cluster/ipvsadm/ipvsadm-1.24.ebuild52
-rw-r--r--sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild64
-rw-r--r--sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild73
-rw-r--r--sys-cluster/ipvsadm/ipvsadm-1.28.ebuild71
-rw-r--r--sys-cluster/ipvsadm/metadata.xml12
-rw-r--r--sys-cluster/keepalived/Manifest9
-rw-r--r--sys-cluster/keepalived/files/keepalived.confd6
-rw-r--r--sys-cluster/keepalived/files/keepalived.init33
-rw-r--r--sys-cluster/keepalived/keepalived-1.2.24.ebuild60
-rw-r--r--sys-cluster/keepalived/keepalived-1.3.5.ebuild64
-rw-r--r--sys-cluster/keepalived/metadata.xml11
-rw-r--r--sys-cluster/knem/Manifest7
-rw-r--r--sys-cluster/knem/files/45-knem.rules1
-rw-r--r--sys-cluster/knem/knem-1.1.1.ebuild75
-rw-r--r--sys-cluster/knem/knem-9999.ebuild75
-rw-r--r--sys-cluster/knem/metadata.xml12
-rw-r--r--sys-cluster/kube-apiserver/Manifest10
-rw-r--r--sys-cluster/kube-apiserver/files/kube-apiserver.confd7
-rw-r--r--sys-cluster/kube-apiserver/files/kube-apiserver.initd19
-rw-r--r--sys-cluster/kube-apiserver/files/kube-apiserver.logrotated7
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild47
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild47
-rw-r--r--sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild47
-rw-r--r--sys-cluster/kube-apiserver/metadata.xml11
-rw-r--r--sys-cluster/kube-controller-manager/Manifest10
-rw-r--r--sys-cluster/kube-controller-manager/files/kube-controller-manager.confd9
-rw-r--r--sys-cluster/kube-controller-manager/files/kube-controller-manager.initd19
-rw-r--r--sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated7
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild47
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild47
-rw-r--r--sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild47
-rw-r--r--sys-cluster/kube-controller-manager/metadata.xml11
-rw-r--r--sys-cluster/kube-proxy/Manifest10
-rw-r--r--sys-cluster/kube-proxy/files/kube-proxy.confd4
-rw-r--r--sys-cluster/kube-proxy/files/kube-proxy.initd20
-rw-r--r--sys-cluster/kube-proxy/files/kube-proxy.logrotated7
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild41
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild41
-rw-r--r--sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild41
-rw-r--r--sys-cluster/kube-proxy/metadata.xml11
-rw-r--r--sys-cluster/kube-scheduler/Manifest10
-rw-r--r--sys-cluster/kube-scheduler/files/kube-scheduler.confd9
-rw-r--r--sys-cluster/kube-scheduler/files/kube-scheduler.initd19
-rw-r--r--sys-cluster/kube-scheduler/files/kube-scheduler.logrotated7
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild47
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild47
-rw-r--r--sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild47
-rw-r--r--sys-cluster/kube-scheduler/metadata.xml11
-rw-r--r--sys-cluster/kubectl/Manifest7
-rw-r--r--sys-cluster/kubectl/kubectl-1.7.5.ebuild46
-rw-r--r--sys-cluster/kubectl/kubectl-1.7.6.ebuild46
-rw-r--r--sys-cluster/kubectl/kubectl-1.8.0.ebuild46
-rw-r--r--sys-cluster/kubectl/metadata.xml11
-rw-r--r--sys-cluster/kubelet/Manifest10
-rw-r--r--sys-cluster/kubelet/files/kubelet.confd4
-rw-r--r--sys-cluster/kubelet/files/kubelet.initd20
-rw-r--r--sys-cluster/kubelet/files/kubelet.logrotated7
-rw-r--r--sys-cluster/kubelet/kubelet-1.7.5.ebuild43
-rw-r--r--sys-cluster/kubelet/kubelet-1.7.6.ebuild43
-rw-r--r--sys-cluster/kubelet/kubelet-1.8.0.ebuild43
-rw-r--r--sys-cluster/kubelet/metadata.xml11
-rw-r--r--sys-cluster/legion/Manifest15
-rw-r--r--sys-cluster/legion/files/legion-16.08.0-hwloc.patch22
-rw-r--r--sys-cluster/legion/files/legion-16.08.0-multilib.patch131
-rw-r--r--sys-cluster/legion/legion-16.08.0-r1.ebuild36
-rw-r--r--sys-cluster/legion/legion-16.10.0.ebuild32
-rw-r--r--sys-cluster/legion/legion-17.02.0.ebuild34
-rw-r--r--sys-cluster/legion/legion-17.05.0.ebuild39
-rw-r--r--sys-cluster/legion/legion-17.08.0.ebuild40
-rw-r--r--sys-cluster/legion/legion-9999.ebuild39
-rw-r--r--sys-cluster/legion/metadata.xml19
-rw-r--r--sys-cluster/libccs-perl/Manifest5
-rw-r--r--sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild42
-rw-r--r--sys-cluster/libccs-perl/metadata.xml9
-rw-r--r--sys-cluster/libccs/Manifest7
-rw-r--r--sys-cluster/libccs/libccs-3.1.5.ebuild50
-rw-r--r--sys-cluster/libccs/libccs-3.2.0.ebuild50
-rw-r--r--sys-cluster/libccs/metadata.xml9
-rw-r--r--sys-cluster/libcircle/Manifest7
-rw-r--r--sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild43
-rw-r--r--sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild43
-rw-r--r--sys-cluster/libcircle/metadata.xml15
-rw-r--r--sys-cluster/libcman/Manifest7
-rw-r--r--sys-cluster/libcman/libcman-3.1.5.ebuild46
-rw-r--r--sys-cluster/libcman/libcman-3.2.0.ebuild46
-rw-r--r--sys-cluster/libcman/metadata.xml9
-rw-r--r--sys-cluster/libdlm/Manifest7
-rw-r--r--sys-cluster/libdlm/libdlm-3.1.5.ebuild62
-rw-r--r--sys-cluster/libdlm/libdlm-3.2.0.ebuild69
-rw-r--r--sys-cluster/libdlm/metadata.xml9
-rw-r--r--sys-cluster/libfence/Manifest7
-rw-r--r--sys-cluster/libfence/libfence-3.1.5.ebuild59
-rw-r--r--sys-cluster/libfence/libfence-3.2.0.ebuild59
-rw-r--r--sys-cluster/libfence/metadata.xml9
-rw-r--r--sys-cluster/liblogthread/Manifest7
-rw-r--r--sys-cluster/liblogthread/liblogthread-3.1.5.ebuild46
-rw-r--r--sys-cluster/liblogthread/liblogthread-3.2.0.ebuild46
-rw-r--r--sys-cluster/liblogthread/metadata.xml9
-rw-r--r--sys-cluster/libqb/Manifest9
-rw-r--r--sys-cluster/libqb/libqb-0.17.1.ebuild51
-rw-r--r--sys-cluster/libqb/libqb-0.17.2.ebuild51
-rw-r--r--sys-cluster/libqb/libqb-1.0.1.ebuild51
-rw-r--r--sys-cluster/libqb/metadata.xml11
-rw-r--r--sys-cluster/libquo/Manifest14
-rw-r--r--sys-cluster/libquo/libquo-1.2.2.ebuild28
-rw-r--r--sys-cluster/libquo/libquo-1.2.3.ebuild34
-rw-r--r--sys-cluster/libquo/libquo-1.2.4-r1.ebuild37
-rw-r--r--sys-cluster/libquo/libquo-1.2.9.ebuild37
-rw-r--r--sys-cluster/libquo/libquo-1.2.ebuild28
-rw-r--r--sys-cluster/libquo/libquo-9999.ebuild41
-rw-r--r--sys-cluster/libquo/metadata.xml15
-rw-r--r--sys-cluster/lspbs/Manifest5
-rw-r--r--sys-cluster/lspbs/lspbs-1.1-r1.ebuild23
-rw-r--r--sys-cluster/lspbs/metadata.xml18
-rw-r--r--sys-cluster/maui/Manifest10
-rw-r--r--sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch11
-rw-r--r--sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch23
-rw-r--r--sys-cluster/maui/files/maui-3.3.1-torque_4.patch14
-rw-r--r--sys-cluster/maui/files/maui.initd23
-rw-r--r--sys-cluster/maui/maui-3.3.1-r2.ebuild59
-rw-r--r--sys-cluster/maui/maui-3.3.1-r3.ebuild61
-rw-r--r--sys-cluster/maui/metadata.xml12
-rw-r--r--sys-cluster/metadata.xml29
-rw-r--r--sys-cluster/minikube/Manifest3
-rw-r--r--sys-cluster/minikube/metadata.xml11
-rw-r--r--sys-cluster/minikube/minikube-0.22.3.ebuild43
-rw-r--r--sys-cluster/moosefs/Manifest11
-rw-r--r--sys-cluster/moosefs/files/mfs.confd11
-rw-r--r--sys-cluster/moosefs/files/mfs.initd-r196
-rw-r--r--sys-cluster/moosefs/files/mfscgiserver.confd9
-rw-r--r--sys-cluster/moosefs/files/mfscgiserver.initd-r129
-rw-r--r--sys-cluster/moosefs/metadata.xml16
-rw-r--r--sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild65
-rw-r--r--sys-cluster/moosefs/moosefs-1.6.27.ebuild65
-rw-r--r--sys-cluster/mpe2/Manifest7
-rw-r--r--sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch68
-rw-r--r--sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch68
-rw-r--r--sys-cluster/mpe2/metadata.xml8
-rw-r--r--sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild157
-rw-r--r--sys-cluster/mpich/Manifest12
-rw-r--r--sys-cluster/mpich/metadata.xml21
-rw-r--r--sys-cluster/mpich/mpich-3.0.4.ebuild113
-rw-r--r--sys-cluster/mpich/mpich-3.1.3.ebuild113
-rw-r--r--sys-cluster/mpich/mpich-3.1.4.ebuild113
-rw-r--r--sys-cluster/mpich/mpich-3.2-r1.ebuild130
-rw-r--r--sys-cluster/mpich/mpich-3.2.ebuild113
-rw-r--r--sys-cluster/mpich2/Manifest5
-rw-r--r--sys-cluster/mpich2/metadata.xml17
-rw-r--r--sys-cluster/mpich2/mpich2-1.5.ebuild111
-rw-r--r--sys-cluster/mvapich2/Manifest5
-rw-r--r--sys-cluster/mvapich2/metadata.xml16
-rw-r--r--sys-cluster/mvapich2/mvapich2-1.6.ebuild145
-rw-r--r--sys-cluster/native-mpi/Manifest4
-rw-r--r--sys-cluster/native-mpi/metadata.xml12
-rw-r--r--sys-cluster/native-mpi/native-mpi-0.ebuild34
-rw-r--r--sys-cluster/neutron/Manifest37
-rw-r--r--sys-cluster/neutron/files/neutron-dhcp-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-l3-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-linuxbridge-agent.confd1
-rw-r--r--sys-cluster/neutron/files/neutron-metadata-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-openvswitch-agent.confd1
-rw-r--r--sys-cluster/neutron/files/neutron-server.confd1
-rw-r--r--sys-cluster/neutron/files/neutron.initd20
-rw-r--r--sys-cluster/neutron/files/neutron.initd-217
-rw-r--r--sys-cluster/neutron/files/neutron.sudoersd4
-rw-r--r--sys-cluster/neutron/metadata.xml32
-rw-r--r--sys-cluster/neutron/neutron-10.0.3.ebuild237
-rw-r--r--sys-cluster/neutron/neutron-10.0.4.ebuild237
-rw-r--r--sys-cluster/neutron/neutron-11.0.1.ebuild255
-rw-r--r--sys-cluster/neutron/neutron-2016.2.9999.ebuild237
-rw-r--r--sys-cluster/neutron/neutron-2017.1.9999.ebuild238
-rw-r--r--sys-cluster/neutron/neutron-2017.2.9999.ebuild256
-rw-r--r--sys-cluster/neutron/neutron-9.4.1.ebuild229
-rw-r--r--sys-cluster/nova/Manifest23
-rw-r--r--sys-cluster/nova/files/nova-compute.conf4
-rw-r--r--sys-cluster/nova/files/nova-sudoers3
-rw-r--r--sys-cluster/nova/files/nova.initd30
-rw-r--r--sys-cluster/nova/files/nova.initd-225
-rw-r--r--sys-cluster/nova/files/openstack-scsi-disk.rules2
-rw-r--r--sys-cluster/nova/files/scsi-openscsi-link.sh93
-rw-r--r--sys-cluster/nova/metadata.xml28
-rw-r--r--sys-cluster/nova/nova-14.0.8.ebuild229
-rw-r--r--sys-cluster/nova/nova-15.0.7.ebuild232
-rw-r--r--sys-cluster/nova/nova-16.0.1.ebuild251
-rw-r--r--sys-cluster/nova/nova-2016.2.9999.ebuild220
-rw-r--r--sys-cluster/nova/nova-2017.1.9999.ebuild232
-rw-r--r--sys-cluster/nova/nova-2017.2.9999.ebuild252
-rw-r--r--sys-cluster/nullmpi/Manifest5
-rw-r--r--sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch53
-rw-r--r--sys-cluster/nullmpi/metadata.xml12
-rw-r--r--sys-cluster/nullmpi/nullmpi-0.7.ebuild46
-rw-r--r--sys-cluster/ocfs/Manifest5
-rw-r--r--sys-cluster/ocfs/metadata.xml11
-rw-r--r--sys-cluster/ocfs/ocfs-1.0.14.ebuild54
-rw-r--r--sys-cluster/onesis/Manifest5
-rw-r--r--sys-cluster/onesis/metadata.xml11
-rw-r--r--sys-cluster/onesis/onesis-2.0.2.ebuild22
-rw-r--r--sys-cluster/open-mx/Manifest7
-rw-r--r--sys-cluster/open-mx/files/omxoed.initd45
-rw-r--r--sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch14
-rw-r--r--sys-cluster/open-mx/metadata.xml12
-rw-r--r--sys-cluster/open-mx/open-mx-1.5.4.ebuild78
-rw-r--r--sys-cluster/openais/Manifest5
-rw-r--r--sys-cluster/openais/metadata.xml17
-rw-r--r--sys-cluster/openais/openais-1.1.4-r1.ebuild45
-rw-r--r--sys-cluster/openmpi/Manifest27
-rw-r--r--sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch42
-rw-r--r--sys-cluster/openmpi/files/openmpi-ltdl.patch78
-rw-r--r--sys-cluster/openmpi/metadata.xml22
-rw-r--r--sys-cluster/openmpi/openmpi-1.10.7.ebuild195
-rw-r--r--sys-cluster/openmpi/openmpi-1.4.3.ebuild101
-rw-r--r--sys-cluster/openmpi/openmpi-1.4.5.ebuild103
-rw-r--r--sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild170
-rw-r--r--sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild166
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild169
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild182
-rw-r--r--sys-cluster/openmpi/openmpi-1.8.8.ebuild182
-rw-r--r--sys-cluster/openmpi/openmpi-2.0.2.ebuild175
-rw-r--r--sys-cluster/openmpi/openmpi-2.0.3.ebuild175
-rw-r--r--sys-cluster/openmpi/openmpi-2.1.2.ebuild174
-rw-r--r--sys-cluster/openstack-meta/Manifest6
-rw-r--r--sys-cluster/openstack-meta/metadata.xml21
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild23
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild23
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild23
-rw-r--r--sys-cluster/osc-mpiexec/Manifest5
-rw-r--r--sys-cluster/osc-mpiexec/metadata.xml8
-rw-r--r--sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild63
-rw-r--r--sys-cluster/pacemaker/Manifest15
-rw-r--r--sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch21
-rw-r--r--sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch47
-rw-r--r--sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch21
-rw-r--r--sys-cluster/pacemaker/files/pacemaker.initd41
-rw-r--r--sys-cluster/pacemaker/files/pacemaker.service5
-rw-r--r--sys-cluster/pacemaker/files/ping380
-rw-r--r--sys-cluster/pacemaker/metadata.xml21
-rw-r--r--sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild100
-rw-r--r--sys-cluster/pacemaker/pacemaker-1.1.14.ebuild94
-rw-r--r--sys-cluster/pacemaker/pacemaker-1.1.16.ebuild78
-rw-r--r--sys-cluster/pbs-python/Manifest5
-rw-r--r--sys-cluster/pbs-python/metadata.xml8
-rw-r--r--sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild41
-rw-r--r--sys-cluster/pconsole/Manifest6
-rw-r--r--sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch10
-rw-r--r--sys-cluster/pconsole/metadata.xml8
-rw-r--r--sys-cluster/pconsole/pconsole-1.0-r3.ebuild40
-rw-r--r--sys-cluster/ploop/Manifest8
-rw-r--r--sys-cluster/ploop/files/disable_create_run_dir.patch21
-rw-r--r--sys-cluster/ploop/metadata.xml5
-rw-r--r--sys-cluster/ploop/ploop-1.13.2.ebuild58
-rw-r--r--sys-cluster/ploop/ploop-1.14.1.ebuild60
-rw-r--r--sys-cluster/polysh/Manifest5
-rw-r--r--sys-cluster/polysh/metadata.xml9
-rw-r--r--sys-cluster/polysh/polysh-0.4-r1.ebuild16
-rw-r--r--sys-cluster/poolmon/Manifest8
-rw-r--r--sys-cluster/poolmon/files/poolmon.conf3
-rw-r--r--sys-cluster/poolmon/files/poolmon.init17
-rw-r--r--sys-cluster/poolmon/files/poolmon.logrotate6
-rw-r--r--sys-cluster/poolmon/metadata.xml11
-rw-r--r--sys-cluster/poolmon/poolmon-0.5.ebuild28
-rw-r--r--sys-cluster/projections/Manifest5
-rw-r--r--sys-cluster/projections/metadata.xml12
-rw-r--r--sys-cluster/projections/projections-6.2.1.ebuild29
-rw-r--r--sys-cluster/resource-agents/Manifest8
-rw-r--r--sys-cluster/resource-agents/files/3.9.4-configure.patch30
-rw-r--r--sys-cluster/resource-agents/metadata.xml22
-rw-r--r--sys-cluster/resource-agents/resource-agents-3.9.6.ebuild63
-rw-r--r--sys-cluster/resource-agents/resource-agents-4.0.1.ebuild63
-rw-r--r--sys-cluster/rgmanager-agents/Manifest5
-rw-r--r--sys-cluster/rgmanager-agents/metadata.xml9
-rw-r--r--sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild64
-rw-r--r--sys-cluster/rgmanager/Manifest14
-rw-r--r--sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch36
-rw-r--r--sys-cluster/rgmanager/files/rgmanager-2.0x.conf4
-rw-r--r--sys-cluster/rgmanager/files/rgmanager-2.0x.rc109
-rw-r--r--sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch23
-rw-r--r--sys-cluster/rgmanager/files/rgmanager.confd7
-rw-r--r--sys-cluster/rgmanager/files/rgmanager.initd34
-rw-r--r--sys-cluster/rgmanager/metadata.xml8
-rw-r--r--sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild63
-rw-r--r--sys-cluster/rgmanager/rgmanager-2.03.09.ebuild62
-rw-r--r--sys-cluster/rgmanager/rgmanager-3.1.5.ebuild63
-rw-r--r--sys-cluster/sanlock/Manifest5
-rw-r--r--sys-cluster/sanlock/files/sanlock.initd8
-rw-r--r--sys-cluster/sanlock/files/wdmd.initd11
-rw-r--r--sys-cluster/sanlock/metadata.xml12
-rw-r--r--sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild84
-rw-r--r--sys-cluster/singularity/Manifest8
-rw-r--r--sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch28
-rw-r--r--sys-cluster/singularity/files/singularity-2.3.1-slurm.patch54
-rw-r--r--sys-cluster/singularity/metadata.xml16
-rw-r--r--sys-cluster/singularity/singularity-2.2.1.ebuild31
-rw-r--r--sys-cluster/singularity/singularity-2.3.1.ebuild48
-rw-r--r--sys-cluster/slurm/Manifest16
-rw-r--r--sys-cluster/slurm/files/logrotate20
-rw-r--r--sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch69
-rw-r--r--sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch34
-rw-r--r--sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch99
-rw-r--r--sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch53
-rw-r--r--sys-cluster/slurm/files/slurm.confd6
-rw-r--r--sys-cluster/slurm/files/slurmctld.initd68
-rw-r--r--sys-cluster/slurm/files/slurmd.initd71
-rw-r--r--sys-cluster/slurm/files/slurmdbd.initd66
-rw-r--r--sys-cluster/slurm/metadata.xml16
-rw-r--r--sys-cluster/slurm/slurm-16.05.2.ebuild243
-rw-r--r--sys-cluster/slurm/slurm-17.02.6.ebuild236
-rw-r--r--sys-cluster/swift/Manifest15
-rw-r--r--sys-cluster/swift/files/swift-account.initd35
-rw-r--r--sys-cluster/swift/files/swift-container.initd35
-rw-r--r--sys-cluster/swift/files/swift-object.initd35
-rw-r--r--sys-cluster/swift/files/swift-proxy.initd56
-rw-r--r--sys-cluster/swift/metadata.xml26
-rw-r--r--sys-cluster/swift/swift-2.10.2-r1.ebuild117
-rw-r--r--sys-cluster/swift/swift-2.13.1-r1.ebuild114
-rw-r--r--sys-cluster/swift/swift-2.15.1-r1.ebuild114
-rw-r--r--sys-cluster/swift/swift-2017.1.9999.ebuild115
-rw-r--r--sys-cluster/swift/swift-2017.2.9999.ebuild115
-rw-r--r--sys-cluster/teleport/Manifest14
-rw-r--r--sys-cluster/teleport/files/teleport-makefile-buildflags.patch11
-rw-r--r--sys-cluster/teleport/files/teleport.conf.d17
-rw-r--r--sys-cluster/teleport/files/teleport.init.d29
-rw-r--r--sys-cluster/teleport/files/teleport.service11
-rw-r--r--sys-cluster/teleport/files/teleport.service.conf3
-rw-r--r--sys-cluster/teleport/files/teleport.yaml142
-rw-r--r--sys-cluster/teleport/metadata.xml17
-rw-r--r--sys-cluster/teleport/teleport-2.2.0.ebuild58
-rw-r--r--sys-cluster/teleport/teleport-2.2.1.ebuild58
-rw-r--r--sys-cluster/teleport/teleport-2.2.4.ebuild58
-rw-r--r--sys-cluster/teleport/teleport-9999.ebuild55
-rw-r--r--sys-cluster/torque/Manifest31
-rw-r--r--sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch40
-rw-r--r--sys-cluster/torque/files/CVE-2013-4495.4.1.patch343
-rw-r--r--sys-cluster/torque/files/CVE-2013-4495.patch32
-rw-r--r--sys-cluster/torque/files/CVE-2014-0749.patch32
-rw-r--r--sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch134
-rw-r--r--sys-cluster/torque/files/pbs_mom-init.d48
-rw-r--r--sys-cluster/torque/files/pbs_mom-init.d-munge48
-rw-r--r--sys-cluster/torque/files/pbs_sched-init.d48
-rw-r--r--sys-cluster/torque/files/pbs_server-init.d60
-rw-r--r--sys-cluster/torque/files/pbs_server-init.d-munge61
-rw-r--r--sys-cluster/torque/files/tcl8.6.patch87
-rw-r--r--sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch93
-rw-r--r--sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch27
-rw-r--r--sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch99
-rw-r--r--sys-cluster/torque/files/torque-conf.d14
-rw-r--r--sys-cluster/torque/files/torque-conf.d-munge18
-rw-r--r--sys-cluster/torque/files/torque-env.d7
-rw-r--r--sys-cluster/torque/files/trqauthd-init.d26
-rw-r--r--sys-cluster/torque/metadata.xml22
-rw-r--r--sys-cluster/torque/torque-2.5.13-r1.ebuild253
-rw-r--r--sys-cluster/torque/torque-4.1.7-r1.ebuild233
-rw-r--r--sys-cluster/torque/torque-4.2.10.ebuild196
-rw-r--r--sys-cluster/torque/torque-4.2.9-r5.ebuild183
-rw-r--r--sys-cluster/torque/torque-6.0.3.ebuild178
-rw-r--r--sys-cluster/util-vserver/Manifest6
-rw-r--r--sys-cluster/util-vserver/files/bash_completion300
-rw-r--r--sys-cluster/util-vserver/metadata.xml25
-rw-r--r--sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild109
-rw-r--r--sys-cluster/vzctl/Manifest5
-rw-r--r--sys-cluster/vzctl/metadata.xml15
-rw-r--r--sys-cluster/vzctl/vzctl-4.9.4.ebuild85
-rw-r--r--sys-cluster/wulfware/Manifest6
-rw-r--r--sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch142
-rw-r--r--sys-cluster/wulfware/metadata.xml5
-rw-r--r--sys-cluster/wulfware/wulfware-2.6.0.ebuild52
-rw-r--r--sys-cluster/zetcd/Manifest9
-rw-r--r--sys-cluster/zetcd/files/zetcd.confd2
-rw-r--r--sys-cluster/zetcd/files/zetcd.initd19
-rw-r--r--sys-cluster/zetcd/metadata.xml11
-rw-r--r--sys-cluster/zetcd/zetcd-0.0.4.ebuild51
-rw-r--r--sys-cluster/zookeeper-bin/Manifest7
-rw-r--r--sys-cluster/zookeeper-bin/files/log4j.properties58
-rw-r--r--sys-cluster/zookeeper-bin/files/zookeeper.confd18
-rw-r--r--sys-cluster/zookeeper-bin/files/zookeeper.initd14
-rw-r--r--sys-cluster/zookeeper-bin/metadata.xml12
-rw-r--r--sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild90
-rw-r--r--sys-cluster/zookeepercli/Manifest6
-rw-r--r--sys-cluster/zookeepercli/metadata.xml11
-rw-r--r--sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild60
666 files changed, 40354 insertions, 0 deletions
diff --git a/sys-cluster/ampi/Manifest b/sys-cluster/ampi/Manifest
new file mode 100644
index 000000000000..bb060d5d935e
--- /dev/null
+++ b/sys-cluster/ampi/Manifest
@@ -0,0 +1,5 @@
+DIST ampi-0_pre20140616.tar.gz 1127315 SHA256 9c02f957f8221c5a85450fe52cd164f8062f23dadf2ba59ec5c92b2c862dadca SHA512 b6a8790c1686a32546194fa6c3818aa9d2ba08911621d5251e85a4114dad75e350f18560cf0527811c487f804265bc09a4b80faeab5eafbd670e4dfa103fe078 WHIRLPOOL f36e9b0e2958d8ad9c5fcb0a1794c536729b0bf488a77e585a84b7819981d78154c2a6b68f35844b87e62751bed97e479a367bac4c5c60ee32d08f72bef50f7a
+EBUILD ampi-0_pre20140616.ebuild 497 SHA256 75c1be0a8e136507bd2bedf11560fa61ce67bac7de6dee16dcf2ef0870e6f141 SHA512 9dc527dc582fa78a46bca59d816010e91de04714b732a49bc59d1c74439a437c01707f036991be003339463359b106b3401990dd9f6792fd706887e3e2ab7630 WHIRLPOOL df763b26d222d1acc919bead8c7c63b3acde371c3660a1c6182367c9dfb7cde134a5506e79c690a470016e69150576a0930a4b7d301fb6ed454cc982b75a1178
+MISC ChangeLog 2587 SHA256 9ac2e811f6ae4f95b9dd995dd81f28f32a69b8dab4d912be61090a0e007d482b SHA512 cbf7efd5678e1fe33c463c1a8b6be07215421fec94dff899f51e02d6ca3c28300c0a23a950b924545b93682cda1267ed7d5eac5985edc0e552c7faf865944391 WHIRLPOOL d1bf0003795592bcbb8c27607bc0783e37ba37738d5ec434d9a5ba6c8ecdcfdb70ed78ee1428f41ac91db62f9b0ba1524dfdd369c9216f95675d5c2cd1de8349
+MISC ChangeLog-2015 430 SHA256 17b26d95480081c595d24921795ae47c52d4eb50bab60f7fb198f3b58aa7cc2f SHA512 9b667fce5b4138393caf74d99fc9635a0201ee51b6d643173aeb7fe30a9e15757637246f01bd324244f3ab49f3bd9318dc24c802985c5c9d68c626437d37f009 WHIRLPOOL 62c0f447e9ddd6ad96c8dbda12e826c1bf9118045d2e55c0046c56bb591f7253eef6ffb06a03fa6604b434f931bfbcfaef54ffbfee55c0e1c7fd0cb3bc815052
+MISC metadata.xml 257 SHA256 1102724fc1859d83a98b06fcf57aa6718a09de9179aa14865ec7e03a954d9a42 SHA512 ac9b4b4f3ef6a190cf1465bfac8aaf69c9c7b91e2cf3876e19a0b39264accaae12e301a2059bacff7781d0fb1f40499cb2930be0cd3f7ef9cb1a40d266ad059f WHIRLPOOL 0cbe509c14941ad89363e948183a6888876909bcfbbdc257f6d8f4e125dab34b7d1fbeb634bb2aa76a60d37796d5cd4b903a2fd552b792003a9acd0e19e52fef
diff --git a/sys-cluster/ampi/ampi-0_pre20140616.ebuild b/sys-cluster/ampi/ampi-0_pre20140616.ebuild
new file mode 100644
index 000000000000..016c13dbca2d
--- /dev/null
+++ b/sys-cluster/ampi/ampi-0_pre20140616.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools
+
+DESCRIPTION="MPI library for algorithmic differentiation"
+HOMEPAGE="http://www.mcs.anl.gov/~utke/AdjoinableMPI/AdjoinableMPIDox/index.html"
+SRC_URI="https://dev.gentoo.org/~jauhien/distfiles/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="virtual/mpi"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ eautoreconf
+}
diff --git a/sys-cluster/ampi/metadata.xml b/sys-cluster/ampi/metadata.xml
new file mode 100644
index 000000000000..9b3cd6685a18
--- /dev/null
+++ b/sys-cluster/ampi/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/c3/Manifest b/sys-cluster/c3/Manifest
new file mode 100644
index 000000000000..87a4e68deec4
--- /dev/null
+++ b/sys-cluster/c3/Manifest
@@ -0,0 +1,5 @@
+DIST c3-4.0.1.tar.gz 55142 SHA256 263db9a724a8a6595e110f61d60878897acde23c30a8d8e7ed4238261094cd06 SHA512 a8ace5605709dd713f1686f3e13cd635d0d38224c835b43d0a02f255ddbd77fb9bbd4bbc0a1fac2d08a84bea2e98215264681381d9e9113ae737cc3a23a8dc89 WHIRLPOOL a3c6cbf1782b1ecabb0fa455bab8219fdeba353000e2e871aaa0be92ee3f25370b350c36b4287c08441a35f8c5eeefe12188f0dba11f808b348539a777850de0
+EBUILD c3-4.0.1.ebuild 1395 SHA256 be355ea0f736c2b6306a87543d4cc7db2f6b432fc096e0ea7b765abc532095b7 SHA512 6612321f57e40692f17146fe5dabea18e9a52c3618e18c77e369860305e2bb0a66f498ef943748293b67c00c5e5df1aac5186f560c4b0e3b5dadb34d4eabdaf6 WHIRLPOOL 764cc522869c22117914f9221cdddada0830c99766ef40653f4fa4d1e72be5e482179ba6b4f6c68d5a5877ac6fcb84dde74755444a7df03706fbd916c4243a30
+MISC ChangeLog 2415 SHA256 c4e8c588ded68a3a5ece9118f44db0dc1910a0b25210a9615d852cae1efba913 SHA512 92b67dda23c93a264f91c164f10b06b451488eded7e1fd705ed71ff968089b122187cce9e6f83e5d40ef9b693f290e37693e7a85c86b060ce86ea69054f5ffea WHIRLPOOL 9b30ccf80d674409bc66feb4ee447ccc675b31484368ce68a6549f49392dac90982d243ef5a822e87f12661ce1a212b03c189a3a4047674070c473d87035ce13
+MISC ChangeLog-2015 819 SHA256 cda4ad664e224a25b3f1f45c0ed214cbd9bbcd72138467331d82b35fd3ad37f6 SHA512 6cda56fe81da4a61ccc263d6900e8f7f3896b725caeb44d89ac82e8b4cd32d0840518e0b5a16e1efa1d3d26bc46d1d3d486b56978616d1749942348884a7db1e WHIRLPOOL c04d99c7850595891171a85412f7b8b527d6afbe1c37858d583a0ccddbd51edf7ff849368588147332c4653f6f5a3130dc0e51d15b91aa9641abfa1296be2a1e
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/c3/c3-4.0.1.ebuild b/sys-cluster/c3/c3-4.0.1.ebuild
new file mode 100644
index 000000000000..cb0a59ac791d
--- /dev/null
+++ b/sys-cluster/c3/c3-4.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="The Cluster Command and Control (C3) tool suite"
+HOMEPAGE="http://www.csm.ornl.gov/torc/C3/"
+SRC_URI="http://www.csm.ornl.gov/torc/C3/Software/${PV}/${P}.tar.gz"
+LICENSE="C3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+# Everything it needs is in "system" (profiles/base/packages)
+DEPEND=""
+
+src_compile() {
+ :
+}
+
+src_install() {
+ # The Install-c3 script is a complete hack, so we do this ourselves.
+ # CHANGELOG says it's FHS-compliant to put stuff here, so we'll believe it.
+ local C3DIR="/opt/c3-4"
+ dodir ${C3DIR}
+
+ # "libraries"
+ insinto ${C3DIR}
+ doins *.py
+
+ # tools
+ exeinto ${C3DIR}
+ # Everything's in the same dir, so we need to weed out non-tool things
+ local TOOL
+ for TOOL in $(find ${S} -maxdepth 1 -type f -name 'c*' -not -name '*.*'); do
+ doexe ${TOOL}
+ done
+ # Get systemimager-using tool out of bin, since systemimager isn't in
+ # portage
+ dodoc ${D}/${C3DIR}/cpushimage
+ rm ${D}/${C3DIR}/cpushimage
+
+ dodoc README README.scale CHANGELOG KNOWN_BUGS
+ docinto contrib
+ dodoc contrib/*
+
+ doman man/man*/*
+
+ # Create env.d file
+ echo "PATH=${C3DIR}" > ${T}/40${PN}
+ echo "ROOTPATH=${C3DIR}" >> ${T}/40${PN}
+ doenvd ${T}/40${PN}
+}
+
+pkg_postinst() {
+ einfo "Because systemimager is not in Portage, cpushimage"
+ einfo "has been installed to /usr/share/doc/${P}/."
+}
diff --git a/sys-cluster/c3/metadata.xml b/sys-cluster/c3/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/c3/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/ccs/Manifest b/sys-cluster/ccs/Manifest
new file mode 100644
index 000000000000..440ea4d4076f
--- /dev/null
+++ b/sys-cluster/ccs/Manifest
@@ -0,0 +1,6 @@
+AUX ccs-2.03.09-mkostemp.patch 477 SHA256 f66430b0a958911e60a4e7ebad7b511c946a8d26d80a4fa5fe3694ce890f3ec2 SHA512 5c90b896829457d17294e44eeb70418128b84c701908a78c74b5c2bae2eb45ba18c17412c9415671757070f77ed0607d8f6c8c21992b568552af9307ea515397 WHIRLPOOL ff538f5fd9f6570267d803013b381bd3d09b6dfb093a4222e7e6af3d603286c1506e4bf3b515f803185e9f19b7fb66f94706830dedcf73f05d09efc91d9a054e
+DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d
+EBUILD ccs-2.03.09.ebuild 1381 SHA256 0ad5784877c7e7d22dccc1637bf32b60bda4c7320325972939486afa40001538 SHA512 01ba1bc9f77b3f41b00f3ab72e80014480f7df16c16b1645fb3ce8adcb4396aea3655a10295480293f08d1e48820f768d95fd388a158ef2fb79f4af8ea66cb9a WHIRLPOOL eda588ef2fc4d3551b15952f284104b1bf444bc57ee83eee8ff3eafc15e41fe2d25accc7c968f5d8bbfb643850205efd699616f0d8d4a9693ff6cff3967e2013
+MISC ChangeLog 3029 SHA256 b8418f9a69bd5e8d223ac2321d59bfc29b06046f118a9436c4883269f0c5d6ae SHA512 10c357c08fc0f37ed93ee5435b37cdb313d53de17530c1d5435b450573d1d80f4f319a552dadc645941038ead058f869cf165f4d4d4de9a68a1b641e90efe9a6 WHIRLPOOL 7a1f7feab5c1b7ee118653a21d9a008c565ef67fd10f333ed4f78ea80fa2702ec2efecec2edf9e24c2211d82133aeec7a17d5e267eb7c2dc1bffd8798006f57e
+MISC ChangeLog-2015 5352 SHA256 2c377ac0f728683e6c896bc7040865d072a0d2158f6db882559ce2b16f0701ad SHA512 8efdeccc1c9d94dc793928ac387b89c40cf4d161a0e215545c0cbd778a24711cb0aef031934088b45f49600905191b8a26cabbf13d6171c40cbc4ab1fa4f03d9 WHIRLPOOL 9ee40db7b5af51623950e80728f2887e45b42c5c00c37c8e67e4c6bd2192f635681ffc76e917504ad2ec95d33a45be0a268de475e9d842252800dfc577bccec9
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/ccs/ccs-2.03.09.ebuild b/sys-cluster/ccs/ccs-2.03.09.ebuild
new file mode 100644
index 000000000000..2f2b1c7f1307
--- /dev/null
+++ b/sys-cluster/ccs/ccs-2.03.09.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="cluster configuration system to manage the cluster config file"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="=sys-cluster/cman-lib-${CLUSTER_RELEASE}*"
+DEPEND="${RDEPEND}
+ dev-libs/libxml2
+ sys-libs/zlib"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/ccs-2.03.09-mkostemp.patch || die
+}
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir=/usr/lib \
+ --cmanincdir=/usr/include \
+ ) || die "configure problem"
+
+ # fix the manual pages have executable bit
+ sed -i -e '
+ /\tinstall -d/s/install/& -m 0755/; t
+ /\tinstall/s/install/& -m 0644/' \
+ man/Makefile
+
+ #rm -f "${S}"/lib/log.c || die
+
+ emake clean || die "clean problem"
+ emake || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install problem"
+}
diff --git a/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch b/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch
new file mode 100644
index 000000000000..42e2de6ac4ff
--- /dev/null
+++ b/sys-cluster/ccs/files/ccs-2.03.09-mkostemp.patch
@@ -0,0 +1,11 @@
+--- cluster-2.03.09/ccs/ccs_tool/upgrade.c.orig 2008-11-13 01:31:14.000000000 +0100
++++ cluster-2.03.09/ccs/ccs_tool/upgrade.c 2008-11-13 01:31:34.000000000 +0100
+@@ -223,7 +223,7 @@
+ memset(tmp_file, 0, 128);
+ sprintf(tmp_file, "/tmp/ccs_tool_tmp_XXXXXX");
+
+- tmp_fd = mkostemp(tmp_file, O_RDWR | O_CREAT |O_TRUNC);
++ tmp_fd = mkstemp(tmp_file);
+ if(tmp_fd < 0){
+ fprintf(stderr, "Unable to create temporary archive: %s\n", strerror(errno));
+ error = -errno;
diff --git a/sys-cluster/ccs/metadata.xml b/sys-cluster/ccs/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/ccs/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest
new file mode 100644
index 000000000000..66c8aeca5071
--- /dev/null
+++ b/sys-cluster/ceph/Manifest
@@ -0,0 +1,55 @@
+AUX README.gentoo 1085 SHA256 55d41aa4de356ecefcc50225b7e81999dc84eca3909600fe51fa35f767fed554 SHA512 cee1b5fb9823333eda0750c04db0c56d71cca1cbf6fed6887ac4ba68949114df74aace3861343bdacd2a1dc4fc38932de805cc03074f981d26891673e454f250 WHIRLPOOL 7c1604f2c884e89ab7a12e5527a162cbe76f8332ff8963bae537b2e6f26fc6b026fcbffad37bbb4109293042cd6283e6ba395bcff4847837d753d507a447ea72
+AUX ceph-10.2.0-dont-use-virtualenvs.patch 3253 SHA256 a1a4dd0a31ae69449ea0b3472a47715eebb95a62ba04179ec47e82dd1a7a9f77 SHA512 f6351c97ca6766aa5eb4ebb91bc013aaf8222029743c95f5c88b9bd8a6caca48908315e8850ffc83651573377b48e5feb170c310b42e2447fec739379169b500 WHIRLPOOL 1b2daf0e9bfd5c7c9607e06e2a2833ee0e8171234aa61a5514d600318b76e65df04d06176255d4b474b471cb4a6d06b4d29ff31f0e7089f1a9cc65e998976744
+AUX ceph-10.2.1-libzfs.patch 440 SHA256 e7397b9fc52646fc621f8fa4ce37b1de68862338f1f4fdc06bcc0c63c6c6c894 SHA512 5afe85113f310b86a13fb18ba57030d50ae5bd9afbf4d6f5aacd7cca415dd13544522c5d903eb58ec90cc0f6ae2cbb022941debe7036d1b7fa6c5af26af9b9db WHIRLPOOL e46fd9ab96ac30933a420130a73135423c458aec274cc2fef27b02169e3f876fbb4f00ed8fcb8f56ea873aa91f6f8288c95d8eaa329f2113cdce74dc4f065e80
+AUX ceph-10.2.1-unbundle-jerasure.patch 16190 SHA256 2532efdc625d317c4c127192d2e54697a0b39786fe6d2db69c928db60620f540 SHA512 8076a69bb81f89f8892576c4e2ceb03131cbd7ffee82a0d4d66016120f6c79b906172d1a1c30d7642a32ef7afd46d77d7311b65ca55d065995f305cb0e89485a WHIRLPOOL 49e76fe4180f575aba7af820e3d9aa32d05f917b379fd9d3942785b47fae4ff9e7e59bc17b1bbe97d0ed52b6ab54aad4a20230bf6ab97f4f6efd9d9c9ee9acc8
+AUX ceph-10.2.3-CVE-2016-8626.patch 1102 SHA256 97e97c840e72d8bcfafbec610fd6b605f14c9ce54bff01541254737ad2f806a0 SHA512 e924b4719f0c4a0aa27ed383c816d0d24d7a979b73fb2962193dbdc31cd23c02061904a696222d73e58e1892b2ca51e9c6df6674fec5c17f013c2f4664790fbd WHIRLPOOL 3daa3cc3c0ad44ebbf76de7cd80e413b3f27d0fcfc757f4858827a8eafefc3980ce917cebe305cda268ccf9d085e623887934ca77eb49f9adf68ec0e4dab65be
+AUX ceph-10.2.3-build-without-openldap.patch 1209 SHA256 45027bcd80ce3cc7ec573f2ddedd956cd6b99a911ef7bbd96dbab3625b61ee10 SHA512 2b0476eeb78246f252bd294eabc66c6fe5724d753d0cc2dde56720aada2517e42df3387eb368a53fa553617d436d18393a4e856d6fe7395022b249d522d1ec88 WHIRLPOOL 3ef938b99ba70f8eb3e382ca4e2d184dca2c85faba5b6838b123efdd84a92dcfe35059bed1aeb6cbc70a49e987bb978d68f55c49cf79551ef755801d101fb8d0
+AUX ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch 794 SHA256 de155f38a6a0811a2c34a85d3b32a6ade3d31a471b8d6403ce28d997f8b63f89 SHA512 1261d3f088ffc4514069e73e49f627c6f87e89683cedc0048dba6d0e18f53f9a784f6c558478ebe72dff70669e5a453809a720cde77f5b89675d92840e6609b7 WHIRLPOOL 665aa5983ae52a9c92ef4eb0468a47cae67f39e8f489115b8aab92e4b030dc25e26ad327f6112b44c5e0f57634a335a3dcc4e12f0a6fe3eaa4ca27b0bf2838b6
+AUX ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch 2155 SHA256 7c3472383a49683fdb45483d54d9d8758c6415f635a2703aad837d84bef34507 SHA512 c64b4def2ee9cdc9109ff6c32391384980d5ac4e33d425454fe1ff59910ba622ecb458a6722a5ed0f988e021b83ace5d89cb3974a1cf65862e8766595d8cfb0e WHIRLPOOL 60d6ac98552962c752054dc9d2fc0511966419baa452833710f3aef3985b775b19087e7dccfd670191171b18a3bec10a2ec33adb3a1bf9d01b6302693b5877bd
+AUX ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch 2997 SHA256 e734fc435c58374d897e246a047f1e0b241393dfc3b6f70b6587ee5b83c0c674 SHA512 6450981ca274216ae6d394804911a2d7fc57902914a6ad6e9ff1d9db69e71a46f59b5e05d3b2d743d026952405b86ceb5d88134aafc5f95d69ae490c805898dd WHIRLPOOL 5fe2df64fd6eb1871dbc8deb67af55ca2a98236ac6ae3bb21add422d945ec29e8d86eb91f80cc39eb3cd32b0e5076eb4529326e6d03afee65dd3c75135b95b3d
+AUX ceph-10.2.7-fix-compilation-with-zstd.patch 1782 SHA256 291664ca8c1fc51d560b58077eacdae10598aedfd38d73e73d2922053aa2df44 SHA512 5929217f64deb45fd803e33cd277443cbb5f5f956fc4be05490a07dae0b02467317426993c7fc44173a18955261e3a73e603775db12e788a93c851f992539ad6 WHIRLPOOL 06b4e7c8b44d11ed11f8645668bb35e9f25855c5f6e3d5777cdfcd3235584b897f73d40b6fbf50b8f6ed7784dfad6f0c622f2b150dd09215f63547100dad62a9
+AUX ceph-10.2.9-cflags.patch 449 SHA256 d848d0180728d2a79d58833795864eed7a0b8473763256166be21d11fce35881 SHA512 17a165710b0effacc34257daf077f70f55e27f0bddd4dd58bbc8638653ebd13eeabffbb4ead40ddc3a69586c65e01f911ee5f8e1bde94576d66928f0928fa510 WHIRLPOOL 323a1170d3ead0f2b7dcfe92170424b1fdbd29ab2edf2d77b43bf34515ae99ba17a4863b7287eed324f85a26f81e4d0cfae6e22c87c9370dfef41a59b6c0d312
+AUX ceph-10.2.9-dont-run-lsb_release.patch 2862 SHA256 6c3f0b1115f2731f33a02bb11d95d215520e743dcd2556e99c4258fc3cbfbc88 SHA512 e97a0c2a40c886029bbff12f8591147b88d5eae86dc79a63b267f10745a465da62786cf41c9fd0f01f51805907633c1fe954ebe09b0730660cf690f2c53a8252 WHIRLPOOL 601f58a0f764e1b7d97cfb70bb089eb79da1e8259951796571e1a39968333d67892c4232f17eaf2069d7991b26ed8a26208a8303e03a8c268fe741ba6a79be50
+AUX ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch 2970 SHA256 49d665e0a8b904614e75bc76aa581331faa637b514338eef548bcf3afa7d1928 SHA512 e0adf5b7c299a69393dcf0ff31def1ad7f39eb242f8d9e170c84ee5c1ea92442287575af1f64fd630ac6877500b9e2ccb34dee1286cf91b1d52094042dfdb0d8 WHIRLPOOL 91315101c268ac12be7903b66498321aaee4a77988ac1f6356b1d9d316314efe47d2082e106c709087030d31368d2a84d80ee6ef9570e34abb76d9034d00708f
+AUX ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch 1412 SHA256 a4e7ecd7b676df4f4dc40fbf56934ccf8400a5c5f1edf77bb41fcbd26b936618 SHA512 23dd7651edb176419d62648e9d29957b9819129f1f50ac97608c16d658d21787ded5f162b6f4c3e6b404f2d5aee47514a84278692684f0d6f7506c84cc71f37a WHIRLPOOL 57b3e618541605bc1b7601194edf7cedc03634a2d98c97aad49cee09a2f2d9571a5c3b941e9225f3d705fc4444cad4c67055d948e395571827b06262ec73bee5
+AUX ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch 1017 SHA256 a3c9f0ba9c75266dab9e4a30fa6b2593f1b86224f8e5a89e782de862d05a3c04 SHA512 76a051a0fb2cf2f2b38655f7cc1866c745b6e59d999bc49666efc0e29d5e72aa26259241b9a9f4cc20a1863c3636a42a4d49d6d942d2d7456ce122b346a0f378 WHIRLPOOL e8f5ab2ccf67d8c340b18c85ad401a3c855c7c31d3085f7991d944dda09ed22e09b0cbfc60d5184ee3fb98062d8367237d763fdc24984beebd52b2344b0a910f
+AUX ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch 1422 SHA256 2b19b9ae3c482d7bd705197b07a954ba38f6ec1b40406b86cad995084e033ae4 SHA512 62351c1ac682938e138cb1b6f668f9d9b841d3d57b84fbe6402ae9f7d7e2379c538c5d83335535d842da2870c3449bfcd39f66118f89422e7eb6fe8f04b0a52b WHIRLPOOL 2c2e599ca5fb0d0e53cc7f6bf54eae92164ab7159860d515d4721ad3fecde873f59f8502b33155e9ea968105265826427eadc7585006462c0b3bf9f7b60ca326
+AUX ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch 1358 SHA256 e5c06297569fbcb46e77e3277e38845e8fa5cf2603a93d666747e43046b8f26a SHA512 0c07702ca78195575a66efecb8e75393da8dc5706e08ffc1e598daab288f6678f6333085d929d69dc5828494c360a83bae3df2b96efb7ddaf782d43691eedba9 WHIRLPOOL 0aa5572d2c00039e89cb01d08936287ead5d149575241fa5d0bbf495ec9c33f4b3baad2edbc8c8b40040e599e83be47a68e2cdf7b0faaaae362e7696722dcbd2
+AUX ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch 1111 SHA256 7924d3e89cea9dcfb77ff858e5089e6921634c9eeae844d9795468cd782b9d5e SHA512 cf475d9de2ae0c4c41389458f9f256da0f584650ce8204779e7a537cf62195cb5017233b3dcdbe0a5aeed8d7512e4db964a43ac4856e779b6ebcb7a6f676e7bc WHIRLPOOL e4c1e793f2394bcec8176df0e709196b71c4474233465bddf7615a64ad830ecf7b7e5425ba334770b920f415b8a05f949aa8fa8d21df20875c6bd0cc39115e12
+AUX ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch 1353 SHA256 fe79a292354403ceea7216dbb9bd727033bda5f519a1c33eccc0ecd9ecdabb03 SHA512 050d4439fb66b8dcb3ec3fe010bc6193e287dae2a7d25e7a58c4ce733e32a596271f6a69667039abe3e21b66918396a65d579b5da5665fb6e1e292be4b78ffa1 WHIRLPOOL f5337f5af508a71b918022c162ffe54fdc1047a6b4445105e892c6218be9af40849998419d43379186a955f45b9304f2f1dcb0b6393eaa374ecfebcc8517d2be
+AUX ceph-12.2.0-cflags.patch 536 SHA256 d6d1ccf53cc272c97da28ff5253ed2c78f4f4a0c2eb2ab6e5aed271c32e6da0a SHA512 9864da1a83c1145d143eedd73fd3ff142b354fd0bffa73a25f30eabd68d7eddee82208be7b7da74536ba4c996808aa77fc55bcf562a409240d69cbd249ef1d75 WHIRLPOOL 422f0df365fe6b6d284c3a6c45fd1bd104cdb80626f1decb0f3aeb1a5c73aa0ca3ab690409a0bf17e92759d0cd30b268bef9fbe6b1fc602d177d457c8f1ba241
+AUX ceph-12.2.0-use-provided-cpu-flag-values.patch 1590 SHA256 37a33221333559d86e3dbbd80767ba964e64d0b1581f3f78393696c28198457f SHA512 ecf4067776a146cf2aaf0b83298e508a6073147e555f4f9ba73cf2d9e0fe26d9ea72fff8af1c67eaa436e30d32ed260f75683c7d77b27a88fbb098b561d13f0d WHIRLPOOL c2930af3cf09bb6b18565b412c353ca8d2a27f56ddc2aecb0621c9b5cabf393b025847c7c4a7e529b17b4a9e0510e903a074e4aa38dfb62a3d5af56e1e26e618
+AUX ceph-12.2.1-systemd-unitdir.patch 345 SHA256 9ecea9307cc8831d14175127b10ed78d81dbfbfff0debbaf6d25b72daa147844 SHA512 a29373704f645f5b52597f5482fb4538f3d335bb1020c206a089ba58707f988cf42d335f17a36911f373936f8e769613c3d3fa98f55c1fd91d433d036b769bcc WHIRLPOOL b17902983baf2dde5a7e1ece73476be566d722e74a1651a2f130af1a5a195259a0b0556e5135df3640e3ccd888af8f2feda9a381f0b9bdeeea5b60bf291673f7
+AUX ceph-mds_at.service 282 SHA256 f4788a5ed5c9b2fff1eed094b76888b7cc7fc75efcf35cd4f8dda7d9e3c29eb2 SHA512 3a37e187f925e1a5fb672ac90937f544f3b98ed5a30b6a6b931a600f9d6a245373085ed61b40e0c64b30dbfac51dd99cbeaeb7538b5f23953bc0dde1df94742d WHIRLPOOL f274492e8a7239d99cc4fe2efc76e0abc6c55bf111598403ffc515866e731a13ff04329ca0b1711d9446664c8e7355634945f39b1062d63434a11df3445aa166
+AUX ceph-mds_at.service.conf 115 SHA256 d3303079beb2a5aa715016ab489279e142557877382fa8b066abea631189b835 SHA512 e0b51882ec864271a6468141fdd185e24cafcd677f312a7658880a30c00fd58d9043b2651548ab23bd01e54be248a1e8c03545a8fda0b699ca051de7ceb925d8 WHIRLPOOL dde434fc21857a36179f2681261a3b821cfa1be9cce66c83fed2faeaa0df6dc2c6b2613b795d12cbce4f31eab15767dd058d0c354b333a1b87cbbb01b93f4132
+AUX ceph-mon_at.service 508 SHA256 0804d32699777c981ebecc616999bec3c019cbf1379f8e308f1a8a1a6c306a7d SHA512 4e5846b10f2d7e1d2156eb35c96afb3cbb00f38ddd7dc4672a7f249f25142018d507cbccb747d2f552954834ee23c357d6d82b305b9fd30e78d92e5aaa3fc98e WHIRLPOOL d85a1fb22b7768217a40694b18861af29377839a1d843bc7f94e77d3b68233b304490ec4dfd238cf181ec579a01bc66284668905e6375feb6894c3a0d4edea66
+AUX ceph-osd_at.service 362 SHA256 c628755279d58a860d8a35c693d21d7b532c13880a181e46bdce30fd81de9052 SHA512 99c932fa99679a26b288ad57ca725a50847199915368a07ae1bb589ca777cd6e6a68e84f4d506a1097a06ace06eede176ea573e694bcbe43b434381116d63300 WHIRLPOOL 3a44c5a6c25e9e4543a9540420940ae683d014fd4d71d9fd3beefd669dd07a287a1363de6fe03e71906def9c555a27e9d02558dfb40954954d87d6ce7e65b372
+AUX ceph-osd_at.service.conf 115 SHA256 e3515ad3e002969ff3b06069ef8ccdad2fae5cd4aa35d9e982b59d386ae0e40e SHA512 8f169a73f21968f550c6fb21ca7b1efde522b7cccaae0e0c4e22c67ee9c7ccfec7845de3cf84af1075ac9f8840b044dc9440e7936fb9079899df06df350ff9f2 WHIRLPOOL b783cf96382d901b4203d12cd4be6278cdd2f9b53808fbf9194bde58a252d855343f802586925731abc97e2d8c605ef7b5d19fcf3a5e2e6fbf2695c0404c17aa
+AUX ceph.confd-r1 69 SHA256 68d0b46b925fbc0e1571230c8bcc55f46beab4e575a3d964a3753534d751fe31 SHA512 b7f7ebb48b94398eaabb6df2cf3a5697d9a055ea4dd9b73c40d2bbf0e1445f418ed760b1f4ebb13cbb7315b2583847eb97b8649f67b6b7cf98081c0599c86aaa WHIRLPOOL 0e1989d813e7e8234112f656a4e017fae521aa5f09d344ddd1f685a6afbe3afdd51adcaf979a8395ab85ae30e6526a03d8c838d10e46f674eec7651d2df43abe
+AUX ceph.confd-r2 171 SHA256 8c6d7e408165eaf95b2736b27d670a0c2c43b60c6458e4e33969140c3f3fb171 SHA512 f7170644341e6c8dcb71ca3a4325c8da3325ebe83898cbf11b47b41ea4f899781b9bc87fd21e006292de78fe9e905ac4703d10afcf91a4687002663469201ba9 WHIRLPOOL f64c2db5852675b88da0c8db64b0702f1282d27763453f6a8c7aa0c92fcf5295d6e02acde76bc4a1c374c7ceeb5754d81978fd6467000b8a3dc6ebf1a7b3aaaf
+AUX ceph.confd-r3 1227 SHA256 ab73671e1b2972d888f3b20272be615baa5e8d936840e50c3ff14f7fa437f41e SHA512 821b86e196d17abaefa6b6c74f451cede62ca813ed0aeb5c497bd78e48bf55c19cc6af98c0d74ad63a4e359ec27af101dddeb88033cbf449333833a3a7fb8185 WHIRLPOOL fb395d4f5b589c83d20ed5cb7cf140edfe1ae63c0a1c93c3d1ebd205abdcd7cd76835b87480ec24b51aa61223ef857093c338d27d160036d52eabaa5d3fb0e0e
+AUX ceph.initd-r1.1 908 SHA256 7ec4e82f8ed2b25accb929a6700e70078a64a7ecf5abc92f9a2c918b3dbbbcfc SHA512 a6860372f935d64a978f0b2584074791ed945af8172f57910b42a2d92f373711c655a566e6935ca4bba28d3d87aafecb3242d307631378481fd9d05207dd4809 WHIRLPOOL c110163ed12b9220d970b198c789435eff137b55f595aa31f3c2b765338d91e2d88343e6542509714f4ea694f3f6764213402e1f90238e719de09615361b8735
+AUX ceph.initd-r2 958 SHA256 49e69cb418f76a45dc933edca944d78630a8460153bf0a4c511b6d10223615f4 SHA512 6f42b8540797d3f55d64b9842e190ca2973c1779c720b7c9923b8bcc06dddf95672bee066275599e4feafeff38652235746433305dd4d7df8ad086a8deb960c0 WHIRLPOOL 3670c40a1ecd935667f1c8e5d3ebd25d0a41dcc18c3ac6a6e155e95a28682295858f2c06794beba7c7173c40ad403986541ebe8827370ee4aa9c922b40ae636c
+AUX ceph.initd-r4 1189 SHA256 03a6fe825f5bdfe2a9e91b8dc2f1b1d16bb2f487f617bf35f58cfd8b514de5b8 SHA512 dbb69228ee566490bec93823040885e419bfbd7dc076c802cc97b47dde9fbb06a99f61498cc438c90fd0474b2ad7247d756b977fb415b0f1168442036a48bd97 WHIRLPOOL 11dfa061dfad1018f0f4feff279cc2d449bdb57c85bebc5160271a65752c1e9198be5cfcd55ad457b8649aa997a0cb61e41650c6c29cd2be0863d35a5febe9f1
+AUX ceph.initd-r5 2149 SHA256 6c148a328c3ac8082dd2e5d2eb1e3396f65feebd7711c411a715fa8d98f914d4 SHA512 e572d91f5fab3f77ef39759e1e145f0d73c5bde3515c8b3c6185f58fb28592da38e13201972b61c7071daa338a997e78e051a4f2adac912d7e8d1ddd3809345c WHIRLPOOL d2be9e89e5bb408da4a8aab1477c8f0182bd768a39a77fb98d743c1804983a1fc08fb87882dd28ff2232e44090cda68acd34bc5202b96e247230c4791e9b566f
+AUX ceph.logrotate 427 SHA256 f893364080dfaf5fb3b250e4811be7f1880ea937c7a6b70f913ad560fb14381d SHA512 6edace611f46683ca3b8d2154b86ec77cc241909704e0362b728a5f51c2a809c22e83d69df0d58ec6b3a6b8dc8ef2518c220cac920f51e63fe668cdfe1b48bae WHIRLPOOL f9e3643177805202a0c07b04cc38e7a3e8bdce76f59bbdd4aca050527ceab04ddcfb293e13632c2fd25eeff725f3bc532e90e223b4f003ecfc5bab377e8669cb
+AUX ceph.target 128 SHA256 2dc38c2aff560067604d4ee0a3b569ed0032928223bf865198c500560bd8ea0e SHA512 f667a92e9d8dfcd52dab8ce8bcdeb4c7da1fc65f5b11df96340df3b6362a06b3ba71bbc6677aef278514b856a85a65ddfd9e7b96b48a9684256ccf4825e98dd5 WHIRLPOOL 0bd67c47391ad21853f3a859b8cfa53d740f41a06f024526bba29c69c98a5bffb871ba45581a3fbfaf8b3fff9ac2c04a8e4e042e364926ccbfd0c01f52a1ebd9
+AUX envd-tcmalloc 48 SHA256 b24741f787828fa45844af0a5ed36ac89e2e4139244990bf044268e28f0d7e15 SHA512 d180b1a888ec6d870ff523a3b10fd00eca479ee2586a236458af5ffaba21c84e7b8098da6d4bc08fb86c82c61a861dd3c3596a01063d734c329a92808682fc8c WHIRLPOOL 73468450e14c4e55dcfef10c8cf17ca1f2471a54752d4c0ae110dccf43bae47db5641d62f16ac331b0fb78e0b0a52edcae370a18c7870dcc1501c3d288cf791a
+AUX rbdmap.initd 2373 SHA256 7e1c5507f015eb42d274af165492d8ca495bdf9467e77c276b962605fe8080a8 SHA512 bbd48d6987e52eaf6d02bccf3aecd06596465af4d3ac93063f9a814106de162a27bf1a33ae1646e669efb3c754f3ba57f395523293ad643b0d81ee588252216b WHIRLPOOL 5605cb10e847492c5e73353ce2f41f8d9f2d2e5fb17fe41266b6d0f3e045a328b9e1dffe547c2ef24e4ed916ff9f2fd52b137678d6c532ad5dba459470ed1610
+AUX sysctld 57 SHA256 de2d90c6a49e8703565858a912e0806edd3b96322ccfbb8454751ecfe33dc373 SHA512 410f5d721c6cfcc5d7ddaff4f348345140d4b8e1b8fddccb537118bfc59f573ecad63db448598423c9a58fcfdb4cef90e6af27b838e6b77955dfd47673f0f52a WHIRLPOOL fe714df1d7b42f2767ebbb4d365534b2ed6dcee3a90589150ead40cd3b911e06431c6c94465ba3ab97321d43b6d3a0b67f83210cc6506d40a8e2f36b4698b7b8
+DIST ceph-10.2.10.tar.gz 14573701 SHA256 41210ac8cb71d9c9d6504b57adce496d3272ee8f79089537d262898747d68e75 SHA512 883d1b8340aaefc7a1eee4bbfb5b1d1cc15bffed8f35fb1e8fb86b1208a4d0d16753eb6c688ea0e661c4877d3d148b2b6c2b41620c4e8a61e47c69f46f98e537 WHIRLPOOL 4a2c7b9c7ff2f7f7bf5b36314f2da5630cf948b1558e4b6d33669ffd76836d7fdb6104f3bddcf7209ead2a31209fcc59fe86020763303be10db52729d5e5b648
+DIST ceph-10.2.3.tar.gz 11596171 SHA256 dca933aa14db67b404d836ef510bd418091978edc2f0c74dfc530ba0aa5e8994 SHA512 9de1e6851fc343d2c52c72cec3f7887d998d5b588f1251ee3a1fda14427badfa10408e6691fb03a374a10f4ec9844868423fee70fbbe2c0d962af98481412f19 WHIRLPOOL 981ebca66113a07a5cc6e5934272a72b29a2c19e03398f7b622c11df6ea0a05339558dfc2f11504403cbbd0efe0b090ad59f4b86206b46db57587744091aa26a
+DIST ceph-10.2.7.tar.gz 14518491 SHA256 2cdfeaa9a08e94c2d35f540b450bbf64b2a694bd537679834185e98fc59d8ba2 SHA512 7e0686e9efa4ddd9d548f4145b448f8232f1ca29b08428daa5cd60a74ce26f1176a1f2ebbf2ac1761d9e6c1d364a5ffa194d2b3a18a8111f59b7c27f7a1d7734 WHIRLPOOL b6b6902230401b5f4c6f27801f315678bdc7b99aab4e50b54d941fc3a425b4f0fa9390484f2e12d6b4f962253fb8772fb706dad35d490b4542b06db166fab59b
+DIST ceph-10.2.9.tar.gz 14550219 SHA256 3d93f4fc4a66b1d9f9ce43f65868dc18287cea32fbb2c7421faca6aed2b52a80 SHA512 1d59146614aa87ca551b05b795a684071a3cfb4ce6013e978ba650403c6732b2aa13f3c3cc191e6a1ea34b4631c82e97700593c24e200c41ec2f2b43b3ef5547 WHIRLPOOL 42215d33c4f617087e1b0ef81cd41b42330c3605acf625b0668d44eba9e982239683b466a1cc1a6f926fc1d439dfd6be4ce220f783da7d2214d36a2a6cc9181f
+DIST ceph-12.2.1.tar.gz 148738778 SHA256 512666ee88610640d66b261f9307c96ccd70eb25cd3349acd083fb1220c8a32e SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 WHIRLPOOL 6a22bc7080483b3fe161bfc441b9fdf1a85d2bd9a394e89db2005a229397d206614d3e7a0d84cf7521822688faf4b92ca75ad4ce586de0d262fdda5c94b4f904
+EBUILD ceph-10.2.10.ebuild 7617 SHA256 4a423268303778d75a0e52c75e3d3a129f790ce0db95d53bf5fdae0ab87664e2 SHA512 afac8da7c498001c6fc3efdce6f0ae253cbaeeddc16076ba39a4b34bf824c61d2b90208a5943785974554b6c8e60e5a10e53ffd8c7171007df31e552a27fc4d7 WHIRLPOOL 771b2762eab61564c73823ad89d0f6759dbce3ac7832ccc4513a0b59c1dc806418d7ec8d50e9e7cb510129df713bf59363251206bd16f326426399ca5ce580d5
+EBUILD ceph-10.2.3-r2.ebuild 6106 SHA256 3424b622c7cd0b2edaae05b14d4f5197e9c337748abb5c74cdea4beba53bdf3b SHA512 817064150d5a36d16b899a9d4be37a746a5f0108d73d5fb136e3faee1624763033376087488e30bed9ceb45d1e64f8cebeeadef7b53bd2055e067f271cee328f WHIRLPOOL 1358f6f1f266b6f7cab6aff8fe481b36684544f1f5d6cce8db410609c2fadb0ee9cc52d83667816a7a908d69c9b511064dec72eece62107ef0135022936d8b0a
+EBUILD ceph-10.2.7-r1.ebuild 7150 SHA256 cb440d6aff0bb038675626e45663330ce526412877388e0b5b98dc2267f19e15 SHA512 52dddba20a114a6baf3fe6149bfafb14a94ab2656924b99b83aef59c6046bdff69f6f12095040e85d2328060167aa7fa43539043d724c5b5b6133546b0453dd5 WHIRLPOOL 36f86be44041f8a99d3d0c88dabdeff0ad1f9854a36b35fe0aa4e934c288dfd0e3e1cff186b831b1a8b6ad517f7f27813b200c888de1088534d301feccbd2909
+EBUILD ceph-10.2.9-r1.ebuild 7382 SHA256 42be2b5e22848ba166201b99874cea6aa2e8643afdfa323f14d9f94c401e9430 SHA512 aa178faac0bb130b85fafc6fa50b96d093f8162d2c64bd1a4d92663e86bb41e8ae1f728c6d62470cc5b9fc22abedfb8378be5c0ff616da8d5c262e22144a9477 WHIRLPOOL 6cd3e0af704f2d2a5708138bfd03f586a7d0104d96900730084b6bfcc22b8a3772737b24f15103088a2a2bd9db2caaed737dee5919cc3707dd5ebe8a37df133e
+EBUILD ceph-10.2.9-r2.ebuild 7467 SHA256 eea7612e3093e76d144f3924b134a00da1fae1ae598b799f74ad220c4a57e8d6 SHA512 91a5fa648a7a57ec5fbf32c5aecabdde7d2d2211bd0453673e8db364de4869899add700b191bf38e37237cb35133bdbc2415b92c766c9c5e25f467854a4eb6a3 WHIRLPOOL ae6db5b9ef5ef9513f6c2de3888db9efd2883aead0ee8b7fd878ce6c1c77c86d69c0c637b0d1e89f56f981d441bf4c7f41eb9ee519b57ae4a9338d0d6c9972d3
+EBUILD ceph-10.2.9-r3.ebuild 8252 SHA256 7eeb96bd482540ad7fe740ccdc441aaa8dd2d8f92ac08c7be8e4648987b2c96d SHA512 5025aeae8794d66a3bb67f15dad332a8f5c004d911d1ea3bac7fd1d7090f3fc6eccae46c4724690814a5350852914ff8cb91d06a6efb7307550291a6035f26bf WHIRLPOOL 946802440c3c979a19214fe92ea64ad21e86867fed0a76e1b4dc497623776cdea031635e40be7cae8b96e2eabe4394e22b37fdb7b08196e8d759d68307feba82
+EBUILD ceph-10.2.9.ebuild 7150 SHA256 c1743c6b955f60887f82aca88480f0619bbc40eb6a2f1f8fa25c559245c3c774 SHA512 9b9b506446f88961d26d3e06100cce48c8cdca51b5634aef0c5a85268c03f9ceea8bc84347589344f08093aa98627673a7cdd1c27abeba24674efb185b2e69c9 WHIRLPOOL 17515dfa6b7e39a9929e6f1d039760d65ed9bb8337dc221b5eb87b6e97f437258b89ed2c30b19ff56a0bee5916a766f5cc390a3434a9c99f443e358f6cb7eb2a
+EBUILD ceph-12.2.1.ebuild 7345 SHA256 6cef166baef9b61fca9b5e7fd81bf55bfd7718a6221656cead077f3b7e15d857 SHA512 04baa2dea342f463b54bede0e7a1286ae70f7fe326d043753ab8c3b43816d41dd98238c18bb90f485492e7354f4bff702370706a2192027a16929e0e83456be0 WHIRLPOOL f9dd965a8678381e87b59a40554ffac8908b62a4fcbd1bb23b36210e9cb0bed216c50d24375681ff8829684e32fb9c3150364ec4f7ea52e717866fc33b2d9dec
+MISC ChangeLog 13931 SHA256 d9090f48b7f1f483f77b9cdd0f8c3b2059187c1ac0cb003d34d2f35a51d27aa0 SHA512 27b4788a437f8599557c32018ff5c6e7a429ef21df1b37f0a2663b94d4aed540da6f9ad08edb64b752ec81565ec864c5cc8c57ab025f556aa3fdf1e010595ab5 WHIRLPOOL 52d36e0d10a3795dd912f1708deeee81b9d472a5c50ff3c97de9dd31d52926ebde1a3c6bd284824c64779cc3c42a2f170192d1be0963d68498a4e56f36906bd3
+MISC ChangeLog-2015 14588 SHA256 632846972e3ea39a1957c8b0d171e88516cd916cbd69a949213c8abe0e13e1c3 SHA512 3507c7b20f0f6a5678b259ad439ae6d93b0366dc08e44cb828420b811fde113436d800cea38537696df55230cb958398b82acd5031701e675a38bd91a4c0b790 WHIRLPOOL c07b058340e006371ab56d4e345f2708681b01d7002da2e67030987c8414377d1d2f2ed3555c5c9f74fa0c5cd5cdb0830e1e095b7a462431e0eedc4d3286a4ac
+MISC metadata.xml 1618 SHA256 c1c93c63b460775f2d543091e5dda684afa22502ddda66ac11f1c1b0bd76ab6d SHA512 91f04007bd5164d525fe248251c9b41e5d3a16fe61a0b14c34af0e86b51a97cd8fe8927508f983e7e63d2f40318c4e0fbcbb15e305fb8f6b3d3148455a45896b WHIRLPOOL 35d98ff632010d5b01fcd252cac7be28fcce6979f0b47dae62155cf16461250d5e9c9179bd3db0b8008dd5483a8e41741856192b5883218c00caab5af6e4c113
diff --git a/sys-cluster/ceph/ceph-10.2.10.ebuild b/sys-cluster/ceph/ceph-10.2.10.ebuild
new file mode 100644
index 000000000000..f142f0748198
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.10.ebuild
@@ -0,0 +1,305 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ !<sys-apps/openrc-0.26.3
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-cflags.patch"
+ "${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+
+ if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
+ ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
+ filter-flags "-g*"
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.3-r2.ebuild b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
new file mode 100644
index 000000000000..9453bf66abc5
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.3-r2.ebuild
@@ -0,0 +1,264 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy
+ app-arch/lz4:=
+ app-arch/bzip2
+ dev-libs/boost:=[threads]
+ dev-libs/libaio
+ dev-libs/leveldb[snappy]
+ nss? ( dev-libs/nss )
+ libatomic? ( dev-libs/libatomic_ops )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2
+ radosgw? ( dev-libs/fcgi )
+ ldap? ( net-nds/openldap )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0 )
+ xfs? ( sys-fs/xfsprogs )
+ zfs? ( sys-fs/zfs )
+ gtk? (
+ x11-libs/gtk+:2
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg
+ )
+ radosgw? (
+ dev-libs/fcgi
+ dev-libs/expat
+ net-misc/curl
+ )
+ jemalloc? ( dev-libs/jemalloc )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.3-CVE-2016-8626.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]] && python_is_python3; then
+ rm -f "${ED}/$(python_get_sitedir)"/ceph_{argparse,volume_client}.py
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ python_setup 'python2*'
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r2" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.7-r1.ebuild b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
new file mode 100644
index 000000000000..e77e546d7b3c
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.7-r1.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r4" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r2" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.9-r1.ebuild b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
new file mode 100644
index 000000000000..7d477491a495
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r1.ebuild
@@ -0,0 +1,298 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.9-r2.ebuild b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild
new file mode 100644
index 000000000000..a9d0eec50ea7
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r2.ebuild
@@ -0,0 +1,299 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+ "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.9-r3.ebuild b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
new file mode 100644
index 000000000000..73d8983868db
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9-r3.ebuild
@@ -0,0 +1,313 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( =dev-util/google-perftools-2.4*:= )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ !<sys-apps/openrc-0.26.3
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+ "${FILESDIR}/${PN}-10.2.9-cflags.patch"
+ "${FILESDIR}/${PN}-10.2.9-dont-run-lsb_release.patch"
+ # pull in some bugfixes from upstream
+ "${FILESDIR}/${PN}-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch"
+ "${FILESDIR}/${PN}-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch"
+ "${FILESDIR}/${PN}-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch"
+ "${FILESDIR}/${PN}-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch"
+ "${FILESDIR}/${PN}-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch"
+ "${FILESDIR}/${PN}-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch"
+ "${FILESDIR}/${PN}-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+
+ if tc-is-gcc && [[ $(gcc-fullversion) == "7.2.0" ]] && is-flag "-g*"; then
+ ewarn "Filtering out -g* flags since gcc-7.2 tends to ICE with them and ceph"
+ filter-flags "-g*"
+ fi
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-10.2.9.ebuild b/sys-cluster/ceph/ceph-10.2.9.ebuild
new file mode 100644
index 000000000000..90cd7f880ef3
--- /dev/null
+++ b/sys-cluster/ceph/ceph-10.2.9.ebuild
@@ -0,0 +1,292 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit check-reqs autotools eutils python-r1 udev user \
+ readme.gentoo-r1 systemd versionator flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+
+IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio"
+IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ app-arch/snappy:=
+ sys-libs/zlib:=
+ app-arch/lz4:=
+ app-arch/bzip2:=
+ app-arch/zstd:=
+ dev-libs/boost:=[threads]
+ dev-libs/libaio:=
+ dev-libs/leveldb:=[snappy]
+ nss? ( dev-libs/nss:= )
+ libatomic? ( dev-libs/libatomic_ops:= )
+ cryptopp? ( dev-libs/crypto++:= )
+ sys-apps/keyutils
+ sys-apps/util-linux
+ dev-libs/libxml2:=
+ radosgw? ( dev-libs/fcgi:= )
+ ldap? ( net-nds/openldap:= )
+ babeltrace? ( dev-util/babeltrace )
+ fuse? ( sys-fs/fuse:0= )
+ xfs? ( sys-fs/xfsprogs:= )
+ zfs? ( sys-fs/zfs:= )
+ gtk? (
+ x11-libs/gtk+:2=
+ dev-cpp/gtkmm:2.4
+ gnome-base/librsvg:=
+ )
+ radosgw? (
+ dev-libs/fcgi:=
+ dev-libs/expat:=
+ net-misc/curl:=
+ )
+ jemalloc? ( dev-libs/jemalloc:= )
+ !jemalloc? ( dev-util/google-perftools )
+ lttng? ( dev-util/lttng-ust:= )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ app-arch/cpio
+ virtual/pkgconfig
+ dev-python/sphinx
+ test? (
+ sys-fs/btrfs-progs
+ sys-apps/grep[pcre]
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )"
+RDEPEND="${COMMON_DEPEND}
+ sys-apps/hdparm
+ sys-block/parted
+ sys-fs/cryptsetup
+ sys-apps/gptfdisk
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ^^ ( nss cryptopp )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# work around bug in ceph compilation (rgw/ceph_dencoder-rgw_dencoder.o... undefined reference to `vtable for RGWZoneGroup')
+REQUIRED_USE+=" radosgw"
+
+#RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/ceph-10.2.0-dont-use-virtualenvs.patch"
+ #"${FILESDIR}/ceph-10.2.1-unbundle-jerasure.patch"
+ "${FILESDIR}/${PN}-10.2.1-libzfs.patch"
+ "${FILESDIR}/${PN}-10.2.3-build-without-openldap.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch"
+ "${FILESDIR}/${PN}-10.2.7-fix-compilation-with-zstd.patch"
+)
+
+check-reqs_export_vars() {
+ if use debug; then
+ CHECKREQS_DISK_BUILD="23G"
+ CHECKREQS_DISK_USR="7G"
+ elif use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="450M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+emake_python_bindings() {
+ local action="${1}" params binding module
+ shift
+ params=("${@}")
+
+ __emake_python_bindings_do_impl() {
+ ceph_run_econf "${EPYTHON}"
+ emake "${params[@]}" PYTHON="${EPYTHON}" "${binding}-pybind-${action}"
+
+ # these don't work and aren't needed on python3
+ if [[ ${EBUILD_PHASE} == install ]]; then
+ for module in "${S}"/src/pybind/*.py; do
+ module_basename="$(basename "${module}")"
+ if [[ ${module_basename} == ceph_volume_client.py ]] && ! use cephfs; then
+ continue
+ elif [[ ! -e "${ED}/$(python_get_sitedir)/${module_basename}" ]]; then
+ python_domodule ${module}
+ fi
+ done
+ fi
+ }
+
+ pushd "${S}/src"
+ for binding in rados rbd $(use cephfs && echo cephfs); do
+ python_foreach_impl __emake_python_bindings_do_impl
+ done
+ popd
+
+ unset __emake_python_bindings_do_impl
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+
+ append-flags -fPIC
+ eautoreconf
+}
+
+src_configure() {
+ ECONFARGS=(
+ --without-hadoop
+ --includedir=/usr/include
+ $(use_with cephfs)
+ $(use_with debug)
+ $(use_with fuse)
+ $(use_with libaio)
+ $(use_with libatomic libatomic-ops)
+ $(use_with nss)
+ $(use_with cryptopp)
+ $(use_with radosgw)
+ $(use_with gtk gtk2)
+ $(use_enable static-libs static)
+ $(use_with jemalloc)
+ $(use_with xfs libxfs)
+ $(use_with zfs libzfs)
+ $(use_with lttng )
+ $(use_with babeltrace)
+ $(use_with ldap openldap)
+ $(use jemalloc || usex tcmalloc " --with-tcmalloc" " --with-tcmalloc-minimal")
+ --with-mon
+ --with-eventfd
+ --with-cython
+ --without-kinetic
+ --without-librocksdb
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ )
+
+ # we can only use python2.7 for building at the moment
+ ceph_run_econf "python2*"
+}
+
+ceph_run_econf() {
+ [[ -z ${ECONFARGS} ]] && die "called ${FUNCNAME[0]} with ECONFARGS unset"
+ [[ -z ${1} ]] && die "called ${FUNCNAME[0]} without passing python implementation"
+
+ pushd "${S}" >/dev/null || die
+ #
+ # This generates a QA warning about running econf in src_compile
+ # and src_install. Unfortunately the only other way to do this would
+ # involve building all of for each python implementation times, which
+ # wastes a _lot_ of CPU time and disk space. This hack will no longer
+ # be needed with >=ceph-11.2.
+ #
+ python_setup "${1}"
+ econf "${ECONFARGS[@]}"
+
+ popd >/dev/null || die
+}
+
+src_compile() {
+ emake
+ emake_python_bindings all
+
+ use test && emake check-local
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+src_install() {
+ default
+ emake_python_bindings install-exec "DESTDIR=\"${D}\""
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe src/init-ceph ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service"
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service"
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/ceph-12.2.1.ebuild b/sys-cluster/ceph/ceph-12.2.1.ebuild
new file mode 100644
index 000000000000..9e8142ef5698
--- /dev/null
+++ b/sys-cluster/ceph/ceph-12.2.1.ebuild
@@ -0,0 +1,290 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+DISTUTILS_OPTIONAL=1
+
+inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \
+ readme.gentoo-r1 flag-o-matic
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/ceph/ceph.git"
+ SRC_URI=""
+else
+ SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DESCRIPTION="Ceph distributed filesystem"
+HOMEPAGE="https://ceph.com/"
+
+LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT"
+SLOT="0"
+
+CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3)
+
+IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl"
+IUSE+=" static-libs systemd +tcmalloc test xfs zfs"
+IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})"
+
+# unbundling code commented out pending bugs 584056 and 584058
+#>=dev-libs/jerasure-2.0.0-r1
+#>=dev-libs/gf-complete-2.0.0
+COMMON_DEPEND="
+ virtual/libudev
+ app-arch/bzip2:=[static-libs?]
+ app-arch/lz4:=[static-libs?]
+ app-arch/snappy:=[static-libs?]
+ app-arch/zstd:=[static-libs?]
+ app-misc/jq:=[static-libs?]
+ dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}]
+ dev-libs/crypto++:=[static-libs?]
+ dev-libs/leveldb:=[snappy,static-libs?]
+ dev-libs/libaio:=[static-libs?]
+ dev-libs/libxml2:=[static-libs?]
+ sys-apps/keyutils:=[static-libs?]
+ sys-apps/util-linux:=[static-libs?]
+ sys-libs/zlib:=[static-libs?]
+ babeltrace? ( dev-util/babeltrace )
+ ldap? ( net-nds/openldap:=[static-libs?] )
+ lttng? ( dev-util/lttng-ust:= )
+ nss? ( dev-libs/nss:= )
+ fuse? ( sys-fs/fuse:0=[static-libs?] )
+ ssl? ( dev-libs/openssl:=[static-libs?] )
+ xfs? ( sys-fs/xfsprogs:=[static-libs?] )
+ zfs? ( sys-fs/zfs:=[static-libs?] )
+ radosgw? (
+ dev-libs/expat:=[static-libs?]
+ dev-libs/openssl:=[static-libs?]
+ net-misc/curl:=[static-libs?]
+ )
+ jemalloc? ( dev-libs/jemalloc:=[static-libs?] )
+ !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] )
+ ${PYTHON_DEPS}
+ "
+DEPEND="${COMMON_DEPEND}
+ app-arch/cpio
+ dev-lang/yasm
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/sphinx
+ dev-util/gperf
+ dev-util/valgrind
+ sys-apps/which
+ sys-devel/bc
+ virtual/pkgconfig
+ test? (
+ dev-python/tox[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ sys-apps/grep[pcre]
+ sys-fs/btrfs-progs
+ )"
+RDEPEND="${COMMON_DEPEND}
+ net-misc/socat
+ sys-apps/gptfdisk
+ sys-block/parted
+ sys-fs/cryptsetup
+ !<sys-apps/openrc-0.26.3
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pecan[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ "
+REQUIRED_USE="
+ $(python_gen_useflags 'python2*')
+ ${PYTHON_REQUIRED_USE}
+ ?? ( ssl nss )
+ ?? ( jemalloc tcmalloc )
+ "
+
+# radosgw seems to be required to actually build
+REQUIRED_USE+=" radosgw"
+
+RESTRICT="test? ( userpriv )"
+
+# distribution tarball does not include everything needed for tests
+RESTRICT+=" test"
+
+STRIP_MASK="/usr/lib*/rados-classes/*"
+
+UNBUNDLE_LIBS=(
+ src/erasure-code/jerasure/jerasure
+ src/erasure-code/jerasure/gf-complete
+)
+
+PATCHES=(
+ "${FILESDIR}/${PN}-12.2.0-use-provided-cpu-flag-values.patch"
+ "${FILESDIR}/${PN}-12.2.0-cflags.patch"
+ "${FILESDIR}/${PN}-12.2.1-systemd-unitdir.patch"
+)
+
+check-reqs_export_vars() {
+ if use amd64; then
+ CHECKREQS_DISK_BUILD="12G"
+ CHECKREQS_DISK_USR="460M"
+ else
+ CHECKREQS_DISK_BUILD="1400M"
+ CHECKREQS_DISK_USR="450M"
+ fi
+
+ export CHECKREQS_DISK_BUILD CHECKREQS_DISK_USR
+}
+
+user_setup() {
+ enewgroup ceph ${CEPH_GID}
+ enewuser ceph "${CEPH_UID:--1}" -1 /var/lib/ceph ceph
+}
+
+pkg_pretend() {
+ check-reqs_export_vars
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ python_setup 'python2*'
+ check-reqs_export_vars
+ check-reqs_pkg_setup
+ user_setup
+}
+
+src_prepare() {
+ default
+
+ # remove tests that need root access
+ rm src/test/cli/ceph-authtool/cap*.t
+
+ #rm -rf "${UNBUNDLE_LIBS[@]}"
+}
+
+ceph_src_configure() {
+ local flag
+ local mycmakeargs=(
+ -DWITH_BABELTRACE=$(usex babeltrace)
+ -DWITH_CEPHFS=$(usex cephfs)
+ -DWITH_FUSE=$(usex fuse)
+ -DWITH_LTTNG=$(usex lttng)
+ -DWITH_MGR=$(usex mgr)
+ -DWITH_NSS=$(usex nss)
+ -DWITH_OPENLDAP=$(usex ldap)
+ -DWITH_RADOSGW=$(usex radosgw)
+ -DWITH_SSL=$(usex ssl)
+ -DWITH_SYSTEMD=$(usex systemd)
+ -DWITH_TESTS=$(usex test)
+ -DWITH_XFS=$(usex xfs)
+ -DWITH_ZFS=$(usex zfs)
+ -DENABLE_SHARED=$(usex static-libs '' 'yes' 'no')
+ -DALLOCATOR=$(usex tcmalloc 'tcmalloc' '' "$(usex jemalloc 'jemalloc' '' 'libc' '')" '')
+ -DWITH_SYSTEM_BOOST=yes
+ -DWITH_RDMA=no
+ -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
+ )
+ if use amd64 || use x86; then
+ for flag in ${CPU_FLAGS_X86[@]}; do
+ mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
+ done
+ fi
+
+ rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt"
+ cmake-utils_src_configure
+
+ # bug #630232
+ sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
+ "${BUILD_DIR:-${CMAKE_BUILD_DIR:-${S}}}"/include/acconfig.h \
+ || die "sed failed"
+}
+
+src_configure() {
+ ceph_src_configure
+}
+
+python_compile() {
+ local CMAKE_USE_DIR="${S}"
+
+ ceph_src_configure
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ emake VERBOSE=1 all
+
+ # python modules are only compiled with "make install" so we need to do this to
+ # prevent doing a bunch of compilation in src_install
+ DESTDIR="${T}" emake VERBOSE=1 install
+ popd >/dev/null || die
+}
+
+src_compile() {
+ cmake-utils_src_make all
+
+ # we have to do this here to prevent from building everything multiple times
+ BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources
+ python_foreach_impl python_compile
+}
+
+src_test() {
+ make check || die "make check failed"
+}
+
+python_install() {
+ local CMAKE_USE_DIR="${S}"
+ pushd "${BUILD_DIR}/src/pybind" >/dev/null || die
+ DESTDIR="${D}" emake install
+ popd >/dev/null || die
+}
+
+src_install() {
+ cmake-utils_src_install
+ python_foreach_impl python_install
+
+ prune_libtool_files --all
+
+ exeinto /usr/$(get_libdir)/ceph
+ newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/ceph.logrotate ${PN}
+
+ keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat
+
+ fowners -R ceph:ceph /var/lib/ceph /var/log/ceph
+
+ newinitd "${FILESDIR}/rbdmap.initd" rbdmap
+ newinitd "${FILESDIR}/${PN}.initd-r5" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+
+ insinto /etc/sysctl.d
+ newins "${FILESDIR}"/sysctld 90-${PN}.conf
+
+ use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc
+
+ # units aren't installed by the build system unless systemd is enabled
+ # so no point installing these with the USE flag disabled
+ if use systemd; then
+ systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \
+ "ceph-mds@.service"
+
+ systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \
+ "ceph-osd@.service"
+ fi
+
+ udev_dorules udev/*.rules
+
+ readme.gentoo_create_doc
+
+ python_setup 'python2*'
+
+ # bug #630232
+ sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \
+ || die "sed failed"
+
+ python_fix_shebang "${ED}"/usr/{,s}bin/
+
+ # python_fix_shebang apparently is not idempotent
+ sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \
+ "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed"
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sys-cluster/ceph/files/README.gentoo b/sys-cluster/ceph/files/README.gentoo
new file mode 100644
index 000000000000..6e5f8366136c
--- /dev/null
+++ b/sys-cluster/ceph/files/README.gentoo
@@ -0,0 +1,30 @@
+1) We'd suggest you to install following packages
+ sys-block/parted to manage disk partions
+ sys-fs/btrfs-progs to use btrfs filesytem
+ sys-fs/cryptsetup to use encrypted devices with dm-crypt
+
+2) To start several daemons of one specific type, create your own scripts
+ cd /etc/init.d
+ for dmn in mds.a mon.a osd.0 osd.1 osd.2; do
+ ln -s ceph ceph-${dmn};
+ rc-update add ceph-${dmn} default;
+ done
+
+3) If you spread ceph daemons over several different machines,
+ We'd highly recommend you to start ntp-client to keep the system time sync.
+ Try to choose one of following ntp client to install and add into runlevel.
+ net-misc/ntp
+ net-misc/openntpd
+ net-misc/chrony
+
+4) Starting from version 9.0.x, Ceph daemons run as user 'ceph' instead of 'root'.
+ In order to solve this, we recommand to stop ceph daemons, and fix the ownership
+
+ # chown -R ceph:ceph /var/lib/ceph
+
+ or
+
+ Add the following line to ceph.conf on all hosts:
+ " setuser match path = /var/lib/ceph/$type/$cluster-$id "
+
+ https://ceph.com/releases/v9-2-0-infernalis-released/
diff --git a/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
new file mode 100644
index 000000000000..f3627636aeb9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.0-dont-use-virtualenvs.patch
@@ -0,0 +1,95 @@
+diff --git a/Makefile.am b/Makefile.am
+index 7734be2..ba33bda 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -79,7 +79,6 @@ clean-local:
+ cd src/gmock && $(MAKE) $(AM_MAKEFLAGS) clean; \
+ fi
+
+- @rm -rf src/test/virtualenv
+ @rm -rf install-deps-*
+
+
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index df225d6..ca030cf 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -297,10 +297,6 @@ LIBCIVETWEB_DEPS =
+ DENCODER_SOURCES =
+ DENCODER_DEPS =
+
+-# put virtualenvs in this directory
+-# otherwise it may overflow #! 80 kernel limit
+-# beware that some build environments might not be able to write to /tmp
+ export TMPDIR ?= /tmp
+-export CEPH_BUILD_VIRTUALENV = $(TMPDIR)
+
+ radoslibdir = $(libdir)/rados-classes
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 8ddcb1e..52dd5d5 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -53,15 +53,10 @@ EXTRA_DIST += \
+ ceph-detect-init/tests/test_all.py \
+ ceph-detect-init/tox.ini
+
+-export CEPH_DETECT_INIT_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-detect-init-virtualenv
+-
+-ceph-detect-init-all: ${CEPH_DETECT_INIT_VIRTUALENV}
+-
+-${CEPH_DETECT_INIT_VIRTUALENV}:
+- cd $(srcdir)/ceph-detect-init ; ../tools/setup-virtualenv.sh ${CEPH_DETECT_INIT_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DETECT_INIT_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-detect-init-all:
+
+ ceph-detect-init-clean:
+- cd $(srcdir)/ceph-detect-init ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DETECT_INIT_VIRTUALENV} .coverage *.egg-info
++ cd $(srcdir)/ceph-detect-init
+
+ ceph-detect-init-install-data:
+ cd $(srcdir)/ceph-detect-init ; \
+diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
+index 9006303..0b35b0f 100644
+--- a/src/ceph-disk/Makefile.am
++++ b/src/ceph-disk/Makefile.am
+@@ -29,15 +29,10 @@ EXTRA_DIST += \
+ ceph-disk/tests/test_main.py \
+ ceph-disk/tox.ini
+
+-export CEPH_DISK_VIRTUALENV = ${CEPH_BUILD_VIRTUALENV}/ceph-disk-virtualenv
+-
+-ceph-disk-all: ${CEPH_DISK_VIRTUALENV}
+-
+-${CEPH_DISK_VIRTUALENV}:
+- cd $(srcdir)/ceph-disk ; ../tools/setup-virtualenv.sh ${CEPH_DISK_VIRTUALENV} ; test -d wheelhouse && export NO_INDEX=--no-index ; ${CEPH_DISK_VIRTUALENV}/bin/pip install $$NO_INDEX --use-wheel --find-links=file://$$(pwd)/wheelhouse -e .
++ceph-disk-all:
+
+ ceph-disk-clean:
+- cd $(srcdir)/ceph-disk ; python setup.py clean ; rm -fr wheelhouse .tox build ${CEPH_DISK_VIRTUALENV} .coverage *.egg-info
++ cd $(srcdir)/ceph-disk
+
+ ceph-disk-install-data:
+ cd $(srcdir)/ceph-disk ; \
+diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
+index e730850..9569947 100644
+--- a/src/tools/Makefile.am
++++ b/src/tools/Makefile.am
+@@ -45,6 +45,3 @@ noinst_HEADERS += \
+ tools/rados/PoolDump.h \
+ tools/cephfs/DataScan.h \
+ tools/cephfs/RoleSelector.h
+-
+-EXTRA_DIST += \
+- tools/setup-virtualenv.sh
+diff --git a/src/tools/setup-virtualenv.sh b/src/tools/setup-virtualenv.sh
+index 9ff2d26..b6fca0a 100755
+--- a/src/tools/setup-virtualenv.sh
++++ b/src/tools/setup-virtualenv.sh
+@@ -15,6 +15,8 @@
+ # GNU Library Public License for more details.
+ #
+
++exit 0
++
+ DIR=$1
+ rm -fr $DIR
+ mkdir -p $DIR
diff --git a/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
new file mode 100644
index 000000000000..34f8eb84beee
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-libzfs.patch
@@ -0,0 +1,11 @@
+--- ceph-10.2.1/configure.ac
++++ ceph-10.2.1/configure.ac
+@@ -908,7 +908,7 @@
+ ,
+ [with_libzfs=no])
+ AS_IF([test "x$with_libzfs" = xyes],
+- [PKG_CHECK_MODULES([LIBZFS], [zfs], [], [true])])
++ [PKG_CHECK_MODULES([LIBZFS], [libzfs], [], [true])])
+ AS_IF([test "x$with_libzfs" = xyes],
+ [AC_DEFINE([HAVE_LIBZFS], [1], [Defined if you have libzfs enabled])])
+ AM_CONDITIONAL(WITH_LIBZFS, [ test "$with_libzfs" = "yes" ])
diff --git a/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch
new file mode 100644
index 000000000000..8340b4d18bfd
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.1-unbundle-jerasure.patch
@@ -0,0 +1,355 @@
+diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
+index adcb95d..8099208 100644
+--- a/src/erasure-code/jerasure/Makefile.am
++++ b/src/erasure-code/jerasure/Makefile.am
+@@ -1,52 +1,17 @@
+ # jerasure plugin
+ noinst_HEADERS += \
+- erasure-code/jerasure/gf-complete/include/gf_complete.h \
+- erasure-code/jerasure/gf-complete/include/gf_general.h \
+- erasure-code/jerasure/gf-complete/include/gf_int.h \
+- erasure-code/jerasure/gf-complete/include/gf_method.h \
+- erasure-code/jerasure/gf-complete/include/gf_rand.h \
+- erasure-code/jerasure/gf-complete/include/gf_w16.h \
+- erasure-code/jerasure/gf-complete/include/gf_w32.h \
+- erasure-code/jerasure/gf-complete/include/gf_w4.h \
+- erasure-code/jerasure/gf-complete/include/gf_w64.h \
+- erasure-code/jerasure/gf-complete/include/gf_w8.h \
+- erasure-code/jerasure/jerasure/include/cauchy.h \
+- erasure-code/jerasure/jerasure/include/galois.h \
+- erasure-code/jerasure/jerasure/include/jerasure.h \
+- erasure-code/jerasure/jerasure/include/liberation.h \
+- erasure-code/jerasure/jerasure/include/reed_sol.h \
+ erasure-code/jerasure/ErasureCodeJerasure.h
+
+ jerasure_sources = \
+ erasure-code/ErasureCode.cc \
+- erasure-code/jerasure/jerasure/src/cauchy.c \
+- erasure-code/jerasure/jerasure/src/galois.c \
+- erasure-code/jerasure/jerasure/src/jerasure.c \
+- erasure-code/jerasure/jerasure/src/liberation.c \
+- erasure-code/jerasure/jerasure/src/reed_sol.c \
+- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+- erasure-code/jerasure/gf-complete/src/gf_method.c \
+- erasure-code/jerasure/gf-complete/src/gf_w16.c \
+- erasure-code/jerasure/gf-complete/src/gf.c \
+- erasure-code/jerasure/gf-complete/src/gf_w32.c \
+- erasure-code/jerasure/gf-complete/src/gf_w64.c \
+- erasure-code/jerasure/gf-complete/src/gf_w128.c \
+- erasure-code/jerasure/gf-complete/src/gf_general.c \
+- erasure-code/jerasure/gf-complete/src/gf_w4.c \
+- erasure-code/jerasure/gf-complete/src/gf_rand.c \
+- erasure-code/jerasure/gf-complete/src/gf_w8.c \
+ erasure-code/jerasure/ErasureCodePluginJerasure.cc \
+ erasure-code/jerasure/ErasureCodeJerasure.cc
+
+ erasure-code/jerasure/ErasureCodePluginJerasure.cc: ./ceph_ver.h
+
+ libec_jerasure_generic_la_SOURCES = ${jerasure_sources}
+-libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
+-libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++libec_jerasure_generic_la_CFLAGS = ${AM_CFLAGS}
++libec_jerasure_generic_la_CXXFLAGS= ${AM_CXXFLAGS}
+ libec_jerasure_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_generic_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -55,20 +20,11 @@ endif
+
+ erasure_codelib_LTLIBRARIES += libec_jerasure_generic.la
+
+-libec_jerasure_neon_la_SOURCES = ${jerasure_sources} \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
++libec_jerasure_neon_la_SOURCES = ${jerasure_sources}
+ libec_jerasure_neon_la_CFLAGS = ${AM_CFLAGS} \
+- ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${ARM_NEON_FLAGS}
+ libec_jerasure_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${ARM_NEON_FLAGS}
+ libec_jerasure_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_neon_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -84,16 +40,12 @@ libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+- ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSSE3_FLAGS}
+ libec_jerasure_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+- ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSSE3_FLAGS}
+ libec_jerasure_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_sse3_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+@@ -111,18 +63,14 @@ libec_jerasure_sse4_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+- ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSE4_2_FLAGS}
+ libec_jerasure_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE_FLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+- ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include
++ ${INTEL_SSE4_2_FLAGS}
+ libec_jerasure_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+ libec_jerasure_sse4_la_LDFLAGS = ${AM_LDFLAGS} -module -avoid-version -shared
+ if LINUX
+diff --git a/src/erasure-code/shec/ErasureCodePluginShec.cc b/src/erasure-code/shec/ErasureCodePluginShec.cc
+index d2b72f5..acbd172 100644
+--- a/src/erasure-code/shec/ErasureCodePluginShec.cc
++++ b/src/erasure-code/shec/ErasureCodePluginShec.cc
+@@ -71,7 +71,7 @@ public:
+ };
+
+ extern "C" {
+-#include "jerasure/include/galois.h"
++#include "galois.h"
+
+ extern gf_t *gfp_array[];
+ extern int gfp_is_composite[];
+diff --git a/src/erasure-code/shec/ErasureCodeShec.cc b/src/erasure-code/shec/ErasureCodeShec.cc
+index 2180328..c84ffc7 100644
+--- a/src/erasure-code/shec/ErasureCodeShec.cc
++++ b/src/erasure-code/shec/ErasureCodeShec.cc
+@@ -28,8 +28,8 @@
+ #include "crush/CrushWrapper.h"
+ #include "osd/osd_types.h"
+ extern "C" {
+-#include "jerasure/include/jerasure.h"
+-#include "jerasure/include/galois.h"
++#include "jerasure.h"
++#include "galois.h"
+
+ extern int calc_determinant(int *matrix, int dim);
+ extern int* reed_sol_vandermonde_coding_matrix(int k, int m, int w);
+diff --git a/src/erasure-code/shec/Makefile.am b/src/erasure-code/shec/Makefile.am
+index 6b658d5..3281c60 100644
+--- a/src/erasure-code/shec/Makefile.am
++++ b/src/erasure-code/shec/Makefile.am
+@@ -4,49 +4,19 @@ shec_sources = \
+ erasure-code/shec/ErasureCodePluginShec.cc \
+ erasure-code/shec/ErasureCodeShec.cc \
+ erasure-code/shec/ErasureCodeShecTableCache.cc \
+- erasure-code/shec/determinant.c \
+- erasure-code/jerasure/jerasure/src/cauchy.c \
+- erasure-code/jerasure/jerasure/src/galois.c \
+- erasure-code/jerasure/jerasure/src/jerasure.c \
+- erasure-code/jerasure/jerasure/src/liberation.c \
+- erasure-code/jerasure/jerasure/src/reed_sol.c \
+- erasure-code/jerasure/gf-complete/src/gf_wgen.c \
+- erasure-code/jerasure/gf-complete/src/gf_method.c \
+- erasure-code/jerasure/gf-complete/src/gf_w16.c \
+- erasure-code/jerasure/gf-complete/src/gf.c \
+- erasure-code/jerasure/gf-complete/src/gf_w32.c \
+- erasure-code/jerasure/gf-complete/src/gf_w64.c \
+- erasure-code/jerasure/gf-complete/src/gf_w128.c \
+- erasure-code/jerasure/gf-complete/src/gf_general.c \
+- erasure-code/jerasure/gf-complete/src/gf_w4.c \
+- erasure-code/jerasure/gf-complete/src/gf_rand.c \
+- erasure-code/jerasure/gf-complete/src/gf_w8.c
++ erasure-code/shec/determinant.c
+
+ noinst_HEADERS += \
+ erasure-code/shec/ErasureCodeShec.h \
+- erasure-code/shec/ErasureCodeShecTableCache.h \
+- erasure-code/jerasure/jerasure/include/cauchy.h \
+- erasure-code/jerasure/jerasure/include/galois.h \
+- erasure-code/jerasure/jerasure/include/jerasure.h \
+- erasure-code/jerasure/jerasure/include/liberation.h \
+- erasure-code/jerasure/jerasure/include/reed_sol.h \
+- erasure-code/jerasure/gf-complete/include/gf_int.h \
+- erasure-code/jerasure/gf-complete/include/gf_complete.h \
+- erasure-code/jerasure/gf-complete/include/gf_rand.h \
+- erasure-code/jerasure/gf-complete/include/gf_method.h \
+- erasure-code/jerasure/gf-complete/include/gf_general.h
++ erasure-code/shec/ErasureCodeShecTableCache.h
+
+ erasure-code/shec/ErasureCodePluginShec.cc: ./ceph_ver.h
+
+ libec_shec_generic_la_SOURCES = ${shec_sources}
+ libec_shec_generic_la_CFLAGS = ${AM_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_generic_la_CXXFLAGS= ${AM_CXXFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_generic_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -57,22 +27,13 @@ endif
+
+ erasure_codelib_LTLIBRARIES += libec_shec_generic.la
+
+-libec_shec_neon_la_SOURCES = ${shec_sources} \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w4_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w8_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w16_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w32_neon.c \
+- erasure-code/jerasure/gf-complete/src/neon/gf_w64_neon.c
++libec_shec_neon_la_SOURCES = ${shec_sources}
+ libec_shec_neon_la_CFLAGS = ${AM_CFLAGS} \
+ ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_neon_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${ARM_NEON_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_neon_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -91,8 +52,6 @@ libec_shec_sse3_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+@@ -100,8 +59,6 @@ libec_shec_sse3_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSE2_FLAGS} \
+ ${INTEL_SSE3_FLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse3_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+@@ -122,8 +79,6 @@ libec_shec_sse4_la_CFLAGS = ${AM_CFLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+ ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+@@ -133,8 +88,6 @@ libec_shec_sse4_la_CXXFLAGS= ${AM_CXXFLAGS} \
+ ${INTEL_SSSE3_FLAGS} \
+ ${INTEL_SSE4_1_FLAGS} \
+ ${INTEL_SSE4_2_FLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ libec_shec_sse4_la_LIBADD = $(LIBCRUSH) $(PTHREAD_LIBS) $(EXTRALIBS)
+diff --git a/src/erasure-code/shec/determinant.c b/src/erasure-code/shec/determinant.c
+index 15b62c9..bf5d290 100755
+--- a/src/erasure-code/shec/determinant.c
++++ b/src/erasure-code/shec/determinant.c
+@@ -19,7 +19,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+
+-#include "jerasure/include/galois.h"
++#include "galois.h"
+
+ void print_matrix(int *mat, int dim)
+ {
+diff --git a/src/test/erasure-code/Makefile.am b/src/test/erasure-code/Makefile.am
+index bdce080..11895ae 100644
+--- a/src/test/erasure-code/Makefile.am
++++ b/src/test/erasure-code/Makefile.am
+@@ -166,12 +166,8 @@ check_TESTPROGRAMS += unittest_erasure_code
+ unittest_erasure_code_jerasure_SOURCES = \
+ test/erasure-code/TestErasureCodeJerasure.cc \
+ ${jerasure_sources}
+-unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS) \
+- -Ierasure-code/jerasure/gf-complete/include \
+- -Ierasure-code/jerasure/jerasure/include
+-unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS) \
+- -Ierasure-code/jerasure/gf-complete/include \
+- -Ierasure-code/jerasure/jerasure/include
++unittest_erasure_code_jerasure_CFLAGS = $(AM_CFLAGS)
++unittest_erasure_code_jerasure_CXXFLAGS = $(UNITTEST_CXXFLAGS)
+ unittest_erasure_code_jerasure_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+ if LINUX
+ unittest_erasure_code_jerasure_LDADD += -ldl
+@@ -232,13 +228,9 @@ unittest_erasure_code_shec_SOURCES = \
+ test/erasure-code/TestErasureCodeShec.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -251,13 +243,9 @@ unittest_erasure_code_shec_all_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_all.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_all_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_all_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_all_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -270,13 +258,9 @@ unittest_erasure_code_shec_thread_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_thread.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_thread_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_thread_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_thread_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
+@@ -289,13 +273,9 @@ unittest_erasure_code_shec_arguments_SOURCES = \
+ test/erasure-code/TestErasureCodeShec_arguments.cc \
+ ${shec_sources}
+ unittest_erasure_code_shec_arguments_CFLAGS = ${libec_shec_la_CFLAGS} \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_arguments_CXXFLAGS = ${libec_shec_la_CXXFLAGS} $(UNITTEST_CXXFLAGS) \
+- -I$(srcdir)/erasure-code/jerasure/jerasure/include \
+- -I$(srcdir)/erasure-code/jerasure/gf-complete/include \
+ -I$(srcdir)/erasure-code/jerasure \
+ -I$(srcdir)/erasure-code/shec
+ unittest_erasure_code_shec_arguments_LDADD = $(LIBOSD) $(LIBCOMMON) $(UNITTEST_LDADD) $(CEPH_GLOBAL)
diff --git a/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch
new file mode 100644
index 000000000000..d767d8170dfa
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.3-CVE-2016-8626.patch
@@ -0,0 +1,33 @@
+commit dc2ffda7819d2ebeed3526d9e6da8f53221818de
+Author: Yehuda Sadeh <yehuda@redhat.com>
+Date: Thu Oct 20 10:17:36 2016 -0700
+
+ rgw: handle empty POST condition
+
+ Fixes: http://tracker.ceph.com/issues/17635
+
+ Before accessing json entity, need to check that iterator is valid.
+ If there is no entry return appropriate error code.
+
+ Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
+ (cherry picked from commit 23cb642243e09ca4a8e104f62a3bb7b2cbb6ea12)
+
+diff --git a/src/rgw/rgw_policy_s3.cc b/src/rgw/rgw_policy_s3.cc
+index 3843511..8af70a8 100644
+--- a/src/rgw/rgw_policy_s3.cc
++++ b/src/rgw/rgw_policy_s3.cc
+@@ -286,11 +286,13 @@ int RGWPolicy::from_json(bufferlist& bl, string& err_msg)
+ int r = add_condition(v[0], v[1], v[2], err_msg);
+ if (r < 0)
+ return r;
+- } else {
++ } else if (!citer.end()) {
+ JSONObj *c = *citer;
+ dout(0) << "adding simple_check: " << c->get_name() << " : " << c->get_data() << dendl;
+
+ add_simple_check(c->get_name(), c->get_data());
++ } else {
++ return -EINVAL;
+ }
+ }
+ return 0;
diff --git a/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
new file mode 100644
index 000000000000..ffc164536048
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.3-build-without-openldap.patch
@@ -0,0 +1,32 @@
+diff --git a/src/rgw/librgw.cc b/src/rgw/librgw.cc
+index c476129..cad54b8 100644
+--- a/src/rgw/librgw.cc
++++ b/src/rgw/librgw.cc
+@@ -470,7 +470,11 @@ namespace rgw {
+ const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+ const string& ldap_dnattr =
+ store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+ std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++ std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+
+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw.c_str(),
+ ldap_searchdn, ldap_dnattr);
+diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc
+index e9f24f3..7291e69 100644
+--- a/src/rgw/rgw_rest_s3.cc
++++ b/src/rgw/rgw_rest_s3.cc
+@@ -3091,7 +3091,11 @@ void RGW_Auth_S3::init_impl(RGWRados* store)
+ const string& ldap_searchdn = store->ctx()->_conf->rgw_ldap_searchdn;
+ const string& ldap_dnattr =
+ store->ctx()->_conf->rgw_ldap_dnattr;
++#ifdef HAVE_OPENLDAP
+ std::string ldap_bindpw = parse_rgw_ldap_bindpw(store->ctx());
++#else
++ std::string ldap_bindpw;
++#endif /* HAVE_OPENLDAP */
+
+ ldh = new rgw::LDAPHelper(ldap_uri, ldap_binddn, ldap_bindpw,
+ ldap_searchdn, ldap_dnattr);
diff --git a/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch
new file mode 100644
index 000000000000..08a7920035aa
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-CephFS-bindings-and-tests-compatible-with-Python-3.patch
@@ -0,0 +1,22 @@
+commit e1dc386f93eb4613dc7e89cc76a031aeee5022ba
+Author: Oleh Prypin <oleh@pryp.in>
+Date: Thu Jul 21 18:33:25 2016 +0300
+
+ pybind: Make CephFS bindings and tests compatible with Python 3
+
+ Signed-off-by: Oleh Prypin <oleh@pryp.in>
+
+diff --git a/src/pybind/cephfs/cephfs.pyx b/src/pybind/cephfs/cephfs.pyx
+index ac17ada1a1..bd14de3b16 100644
+--- a/src/pybind/cephfs/cephfs.pyx
++++ b/src/pybind/cephfs/cephfs.pyx
+@@ -613,8 +613,7 @@ cdef class LibCephFS(object):
+
+ if not isinstance(mode, int):
+ raise TypeError('mode must be an int')
+- if isinstance(flags, basestring):
+- flags = cstr(flags, 'flags')
++ if isinstance(flags, str_type):
+ cephfs_flags = 0
+ if flags == '':
+ cephfs_flags = os.O_RDONLY
diff --git a/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch
new file mode 100644
index 000000000000..a81aae6e7ce8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.5-Make-RBD-Python-bindings-compatible-with-Python-3.patch
@@ -0,0 +1,45 @@
+commit 773e01294da518c6ec18f0a8b72e05def85fef6c
+Author: Oleh Prypin <oleh@pryp.in>
+Date: Fri Jun 24 15:48:57 2016 +0300
+
+ pybind: Make RBD Python bindings compatible with Python 3
+
+ Signed-off-by: Oleh Prypin <oleh@pryp.in>
+
+diff --git a/src/pybind/rbd/rbd.pyx b/src/pybind/rbd/rbd.pyx
+index 52727bf39e..8f25dfbee0 100644
+--- a/src/pybind/rbd/rbd.pyx
++++ b/src/pybind/rbd/rbd.pyx
+@@ -745,7 +745,7 @@ class RBD(object):
+ break
+ elif ret != -errno.ERANGE:
+ raise make_ex(ret, 'error listing images')
+- return [decode_cstr(name) for name in c_names[:ret].split('\0')
++ return [decode_cstr(name) for name in c_names[:ret].split(b'\0')
+ if name]
+ finally:
+ free(c_names)
+@@ -1885,8 +1885,8 @@ written." % (self.name, ret, length))
+ raise make_ex(ret, 'error listing images')
+ if ret == 0:
+ return []
+- pools = map(decode_cstr, c_pools[:pools_size - 1].split('\0'))
+- images = map(decode_cstr, c_images[:images_size - 1].split('\0'))
++ pools = map(decode_cstr, c_pools[:pools_size - 1].split(b'\0'))
++ images = map(decode_cstr, c_images[:images_size - 1].split(b'\0'))
+ return list(zip(pools, images))
+ finally:
+ free(c_pools)
+@@ -1933,9 +1933,9 @@ written." % (self.name, ret, length))
+ raise make_ex(ret, 'error listing images')
+ if ret == 0:
+ return []
+- clients = map(decode_cstr, c_clients[:clients_size - 1].split('\0'))
+- cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split('\0'))
+- addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split('\0'))
++ clients = map(decode_cstr, c_clients[:clients_size - 1].split(b'\0'))
++ cookies = map(decode_cstr, c_cookies[:cookies_size - 1].split(b'\0'))
++ addrs = map(decode_cstr, c_addrs[:addrs_size - 1].split(b'\0'))
+ return {
+ 'tag' : decode_cstr(c_tag),
+ 'exclusive' : exclusive == 1,
diff --git a/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch
new file mode 100644
index 000000000000..3202de3cbe98
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.6-radosgw-swift-clean-up-flush-newline-behavior.patch
@@ -0,0 +1,92 @@
+From 39848e41b7c517cc5faab1ccf77c2804fd7d2628 Mon Sep 17 00:00:00 2001
+From: Marcus Watts <mwatts@redhat.com>
+Date: Wed, 11 Jan 2017 00:06:15 -0500
+Subject: [PATCH] radosgw/swift: clean up flush / newline behavior.
+
+The current code emits a newline after swift errors, but fails
+to account for it when it calculates 'content-length'. This results in
+some clients (go github.com/ncw/swift) producing complaints about the
+unsolicited newline such as this,
+ Unsolicited response received on idle HTTP channel starting with "\n"; err=<nil>
+
+This logic eliminates the newline on flush. This makes the content length
+calculation correct and eliminates the stray newline.
+
+There was already existing separator logic in the rgw plain formatter
+that can emit a newline at the correct point. It had been checking
+"len" to decide if previous data had been emitted, but that's reset to 0
+by flush(). So, this logic adds a new per-instance variable to separately
+track state that it emitted a previous item (and should emit a newline).
+
+Fixes: http://tracker.ceph.com/issues/18473
+Signed-off-by: Marcus Watts <mwatts@redhat.com>
+Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
+(cherry picked from commit 5f229d6a33eae4906f22cdb90941835e47ee9f02)
+---
+ src/rgw/rgw_formats.cc | 11 +++++++----
+ src/rgw/rgw_formats.h | 1 +
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/rgw/rgw_formats.cc b/src/rgw/rgw_formats.cc
+index 698ec96..61e9b66 100644
+--- a/src/rgw/rgw_formats.cc
++++ b/src/rgw/rgw_formats.cc
+@@ -25,6 +25,7 @@ RGWFormatter_Plain::RGWFormatter_Plain(const bool ukv)
+ : buf(NULL),
+ len(0),
+ max_len(0),
++ wrote_something(false),
+ min_stack_level(0),
+ use_kv(ukv)
+ {
+@@ -41,7 +42,7 @@ void RGWFormatter_Plain::flush(ostream& os)
+ return;
+
+ if (len) {
+- os << buf << "\n";
++ os << buf;
+ os.flush();
+ }
+
+@@ -156,13 +157,14 @@ void RGWFormatter_Plain::dump_format_va(const char *name, const char *ns, bool q
+ vsnprintf(buf, LARGE_SIZE, fmt, ap);
+
+ const char *eol;
+- if (len) {
++ if (wrote_something) {
+ if (use_kv && entry.is_array && entry.size > 1)
+ eol = ", ";
+ else
+ eol = "\n";
+ } else
+ eol = "";
++ wrote_something = true;
+
+ if (use_kv && !entry.is_array)
+ write_data("%s%s: %s", eol, name, buf);
+@@ -268,10 +270,11 @@ void RGWFormatter_Plain::dump_value_int(const char *name, const char *fmt, ...)
+ va_end(ap);
+
+ const char *eol;
+- if (len)
++ if (wrote_something) {
+ eol = "\n";
+- else
++ } else
+ eol = "";
++ wrote_something = true;
+
+ if (use_kv && !entry.is_array)
+ write_data("%s%s: %s", eol, name, buf);
+diff --git a/src/rgw/rgw_formats.h b/src/rgw/rgw_formats.h
+index 9df5251..1c5afd1 100644
+--- a/src/rgw/rgw_formats.h
++++ b/src/rgw/rgw_formats.h
+@@ -56,6 +56,7 @@ class RGWFormatter_Plain : public Formatter {
+ std::list<struct plain_stack_entry> stack;
+ size_t min_stack_level;
+ bool use_kv;
++ bool wrote_something;
+ };
+
+ class RGWFormatterFlusher {
diff --git a/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
new file mode 100644
index 000000000000..4e76deabe65f
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.7-fix-compilation-with-zstd.patch
@@ -0,0 +1,49 @@
+From 5a11f31aac4fa6a5c5ebb4fa0964e1c07a420e8c Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gentoo.org>
+Date: Wed, 12 Apr 2017 01:49:09 -0700
+Subject: [PATCH] configure: link against zstd if detected
+
+https://bugs.gentoo.org/show_bug.cgi?id=601610
+---
+ configure.ac | 6 ++++--
+ src/Makefile-env.am | 3 +++
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 51daf91..8914b71 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -851,12 +851,14 @@ AS_IF([test "x$with_librocksdb_static" = "xyes"],
+ AM_CONDITIONAL(WITH_SLIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" ])
+ AM_CONDITIONAL(WITH_LIBROCKSDB, [ test "x$with_librocksdb_static" = "xyes" -o "x$with_librocksdb" = "xyes" ])
+
+-# rocksdb detects bzlib and lz4 in its Makefile, which forces us to do the same.
++# rocksdb detects headers in its Makefile, which forces us to do the same.
+ AS_IF([test "x$with_librocksdb_static" = "xyes"], [
+ AC_CHECK_HEADER([bzlib.h], [have_bzlib=yes])
+- AC_CHECK_HEADER([lz4.h], [have_lz4=yes])])
++ AC_CHECK_HEADER([lz4.h], [have_lz4=yes])]
++ AC_CHECK_HEADER([zstd.h], [have_zstd=yes])])
+ AM_CONDITIONAL(HAVE_BZLIB, [test "x$have_bzlib" = "xyes"])
+ AM_CONDITIONAL(HAVE_LZ4, [test "x$have_lz4" = "xyes"])
++AM_CONDITIONAL(HAVE_ZSTD, [test "x$have_zstd" = "xyes"])
+
+ # needs libcurl and libxml2
+ if test "x$with_rest_bench" = xyes && test "x$with_system_libs3" = xno; then
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index 4771bad..0ee42f8 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -280,6 +280,9 @@ endif
+ if HAVE_LZ4
+ LIBKV += -llz4
+ endif
++if HAVE_ZSTD
++LIBKV += -lzstd
++endif
+ endif # WITH_SLIBROCKSDB
+ LIBKV += -lz -lleveldb -lsnappy
+ LIBOS += $(LIBOS_TYPES) $(LIBKV) $(LIBFUSE_LIBS)
+--
+2.10.2
+
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch
new file mode 100644
index 000000000000..31221ae2f994
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-cflags.patch
@@ -0,0 +1,15 @@
+diff --git a/src/Makefile-env.am b/src/Makefile-env.am
+index 4771bad02d..f92e20479b 100644
+--- a/src/Makefile-env.am
++++ b/src/Makefile-env.am
+@@ -53,10 +53,6 @@ endif
+ ## automake environment
+
+ HARDENING_CFLAGS = \
+- -O2 \
+- -g \
+- -pipe \
+- -Wall \
+ -Wp,-U_FORTIFY_SOURCE \
+ -Wp,-D_FORTIFY_SOURCE=2 \
+ -fexceptions \
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch
new file mode 100644
index 000000000000..a6b5515cee28
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-dont-run-lsb_release.patch
@@ -0,0 +1,65 @@
+diff --git a/src/ceph-detect-init/Makefile.am b/src/ceph-detect-init/Makefile.am
+index 3926ac4bec..90e2eae50c 100644
+--- a/src/ceph-detect-init/Makefile.am
++++ b/src/ceph-detect-init/Makefile.am
+@@ -67,7 +67,7 @@ ceph-detect-init-clean:
+ ceph-detect-init-install-data:
+ cd $(srcdir)/ceph-detect-init ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/ceph-disk/Makefile.am b/src/ceph-disk/Makefile.am
+index a8532878c8..d908b1649a 100644
+--- a/src/ceph-disk/Makefile.am
++++ b/src/ceph-disk/Makefile.am
+@@ -43,7 +43,7 @@ ceph-disk-clean:
+ ceph-disk-install-data:
+ cd $(srcdir)/ceph-disk ; \
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/cephfs/Makefile.am b/src/pybind/cephfs/Makefile.am
+index 698522daa4..c49c190986 100644
+--- a/src/pybind/cephfs/Makefile.am
++++ b/src/pybind/cephfs/Makefile.am
+@@ -15,7 +15,7 @@ cephfs-pybind-clean: ${srcdir}/ceph_ver.h
+
+ cephfs-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/rados/Makefile.am b/src/pybind/rados/Makefile.am
+index a4145bf0f4..960395fee8 100644
+--- a/src/pybind/rados/Makefile.am
++++ b/src/pybind/rados/Makefile.am
+@@ -15,7 +15,7 @@ rados-pybind-clean: ${srcdir}/ceph_ver.h
+
+ rados-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
+diff --git a/src/pybind/rbd/Makefile.am b/src/pybind/rbd/Makefile.am
+index 7dd49333fa..fbb940d07d 100644
+--- a/src/pybind/rbd/Makefile.am
++++ b/src/pybind/rbd/Makefile.am
+@@ -15,7 +15,7 @@ rbd-pybind-clean: ${srcdir}/ceph_ver.h
+
+ rbd-pybind-install-exec: ${srcdir}/ceph_ver.h
+ if test "$(DESTDIR)" ; then \
+- if lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
++ if command -v lsb_release >/dev/null && lsb_release -si | grep --quiet 'Ubuntu\|Debian\|Devuan' ; then \
+ options=--install-layout=deb ; \
+ else \
+ options=--prefix=/usr ; \
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
new file mode 100644
index 000000000000..e67113e51cc8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-filestore_fix_infinit_loops_in_fiemap.patch
@@ -0,0 +1,82 @@
+From b52bfe6b443f0ff88c8614441752102058063699 Mon Sep 17 00:00:00 2001
+From: Ning Yao <yaoning@unitedstack.com>
+Date: Thu, 6 Apr 2017 11:12:04 +0000
+Subject: [PATCH] os/filestore: fix infinit loops in fiemap()
+
+since fiemap can get extents based on offset --> len
+but we should consider last extents is retrieved when len == 0
+even though it is not last fiemap extents
+
+Signed-off-by: Ning Yao <yaoning@unitedstack.com>
+(cherry picked from commit 36f6b668a8910d76847674086cbc86910c78faee)
+---
+ src/os/filestore/FileStore.cc | 13 +++++--------
+ src/test/objectstore/store_test.cc | 21 +++++++++++++++++++++
+ 2 files changed, 26 insertions(+), 8 deletions(-)
+
+diff --git a/src/os/filestore/FileStore.cc b/src/os/filestore/FileStore.cc
+index c47b0d0d2eae..95f48cdf4960 100644
+--- a/src/os/filestore/FileStore.cc
++++ b/src/os/filestore/FileStore.cc
+@@ -3102,17 +3102,14 @@ int FileStore::_do_fiemap(int fd, uint64_t offset, size_t len,
+ i++;
+ last = extent++;
+ }
+- const bool is_last = last->fe_flags & FIEMAP_EXTENT_LAST;
++ uint64_t xoffset = last->fe_logical + last->fe_length - offset;
++ offset = last->fe_logical + last->fe_length;
++ len -= xoffset;
++ const bool is_last = (last->fe_flags & FIEMAP_EXTENT_LAST) || (len == 0);
++ free(fiemap);
+ if (!is_last) {
+- uint64_t xoffset = last->fe_logical + last->fe_length - offset;
+- offset = last->fe_logical + last->fe_length;
+- len -= xoffset;
+- free(fiemap); /* fix clang warn: use-after-free */
+ goto more;
+ }
+- else {
+- free(fiemap);
+- }
+
+ return r;
+ }
+diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc
+index 5ab011ad17d8..4cada7e2e435 100644
+--- a/src/test/objectstore/store_test.cc
++++ b/src/test/objectstore/store_test.cc
+@@ -279,6 +279,7 @@ TEST_P(StoreTest, FiemapHoles) {
+ ASSERT_EQ(r, 0);
+ }
+ {
++ //fiemap test from 0 to SKIP_STEP * (MAX_EXTENTS - 1) + 3
+ bufferlist bl;
+ store->fiemap(cid, oid, 0, SKIP_STEP * (MAX_EXTENTS - 1) + 3, bl);
+ map<uint64_t,uint64_t> m, e;
+@@ -295,6 +296,26 @@ TEST_P(StoreTest, FiemapHoles) {
+ ASSERT_TRUE((m.size() == 1 &&
+ m[0] > SKIP_STEP * (MAX_EXTENTS - 1)) ||
+ (m.size() == MAX_EXTENTS && extents_exist));
++
++ // fiemap test from SKIP_STEP to SKIP_STEP * (MAX_EXTENTS - 2) + 3
++ // reset bufferlist and map
++ bl.clear();
++ m.clear();
++ e.clear();
++ store->fiemap(cid, oid, SKIP_STEP, SKIP_STEP * (MAX_EXTENTS - 2) + 3, bl);
++ p = bl.begin();
++ ::decode(m, p);
++ cout << " got " << m << std::endl;
++ ASSERT_TRUE(!m.empty());
++ ASSERT_GE(m[SKIP_STEP], 3u);
++ extents_exist = true;
++ if (m.size() == (MAX_EXTENTS - 2)) {
++ for (uint64_t i = 1; i < MAX_EXTENTS - 1; i++)
++ extents_exist = extents_exist && m.count(SKIP_STEP*i);
++ }
++ ASSERT_TRUE((m.size() == 1 &&
++ m[SKIP_STEP] > SKIP_STEP * (MAX_EXTENTS - 2)) ||
++ (m.size() == (MAX_EXTENTS - 1) && extents_exist));
+ }
+ {
+ ObjectStore::Transaction t;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
new file mode 100644
index 000000000000..eaf18c35783d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-libradosstriper_fix_format_injection_vulnerability.patch
@@ -0,0 +1,35 @@
+diff --git a/src/libradosstriper/RadosStriperImpl.cc b/src/libradosstriper/RadosStriperImpl.cc
+index 22352d9125..70dcb7569f 100644
+--- a/src/libradosstriper/RadosStriperImpl.cc
++++ b/src/libradosstriper/RadosStriperImpl.cc
+@@ -12,6 +12,8 @@
+ *
+ */
+
++#include <boost/algorithm/string/replace.hpp>
++
+ #include "libradosstriper/RadosStriperImpl.h"
+
+ #include <errno.h>
+@@ -466,7 +468,9 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid,
+ // get list of extents to be read from
+ vector<ObjectExtent> *extents = new vector<ObjectExtent>();
+ if (read_len > 0) {
+- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++ std::string format = soid;
++ boost::replace_all(format, "%", "%%");
++ format += RADOS_OBJECT_EXTENSION_FORMAT;
+ file_layout_t l;
+ l.from_legacy(layout);
+ Striper::file_to_extents(cct(), format.c_str(), &l, off, read_len,
+@@ -776,7 +780,9 @@ libradosstriper::RadosStriperImpl::internal_aio_write(const std::string& soid,
+ if (len > 0) {
+ // get list of extents to be written to
+ vector<ObjectExtent> extents;
+- std::string format = soid + RADOS_OBJECT_EXTENSION_FORMAT;
++ std::string format = soid;
++ boost::replace_all(format, "%", "%%");
++ format += RADOS_OBJECT_EXTENSION_FORMAT;
+ file_layout_t l;
+ l.from_legacy(layout);
+ Striper::file_to_extents(cct(), format.c_str(), &l, off, len, 0, extents);
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
new file mode 100644
index 000000000000..6800285318f0
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-librbd_filter_expected_error_codes_from_is_exclusive_lock_owner.patch
@@ -0,0 +1,28 @@
+From 787ba33e5dba285dff874955a8f0d7aabd3f87fe Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Mon, 5 Jun 2017 08:17:05 -0400
+Subject: [PATCH] librbd: filter expected error codes from
+ is_exclusive_lock_owner
+
+Fixes: http://tracker.ceph.com/issues/20182
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit d4daaf54e6bc42cd4fb2111ea20b2042941b0c31)
+---
+ src/librbd/internal.cc | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc
+index 9fecb1e1688f..6021be078090 100644
+--- a/src/librbd/internal.cc
++++ b/src/librbd/internal.cc
+@@ -2110,7 +2110,9 @@ int mirror_image_disable_internal(ImageCtx *ictx, bool force,
+ // might have been blacklisted by peer -- ensure we still own
+ // the lock by pinging the OSD
+ int r = ictx->exclusive_lock->assert_header_locked();
+- if (r < 0) {
++ if (r == -EBUSY || r == -ENOENT) {
++ return 0;
++ } else if (r < 0) {
+ return r;
+ }
+
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
new file mode 100644
index 000000000000..8bf14c2944ba
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-osd-scrub_to_specifies_clone_ver_but_transaction_include.patch
@@ -0,0 +1,39 @@
+From 153f77544118613e19d5e88c030c3901234cf950 Mon Sep 17 00:00:00 2001
+From: David Zafman <dzafman@redhat.com>
+Date: Tue, 18 Jul 2017 15:08:14 -0700
+Subject: [PATCH] osd: scrub_to specifies clone ver, but transaction include
+ head write ver
+
+Fixes: http://tracker.ceph.com/issues/20041
+
+Signed-off-by: David Zafman <dzafman@redhat.com>
+(cherry picked from commit fd598a0d23d61c645633ae774c3404a43d035e3c)
+
+Conflicts:
+ src/osd/ReplicatedPG.cc (trivial)
+---
+ src/osd/ReplicatedPG.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
+index 4b4dc34c602a..4d80ad1770e1 100644
+--- a/src/osd/ReplicatedPG.cc
++++ b/src/osd/ReplicatedPG.cc
+@@ -8318,7 +8318,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+ last_update_applied = applied_version;
+ if (is_primary()) {
+ if (scrubber.active) {
+- if (last_update_applied == scrubber.subset_last_update) {
++ if (last_update_applied >= scrubber.subset_last_update) {
+ requeue_scrub();
+ }
+ } else {
+@@ -8326,7 +8326,7 @@ void ReplicatedPG::op_applied(const eversion_t &applied_version)
+ }
+ } else {
+ if (scrubber.active_rep_scrub) {
+- if (last_update_applied == static_cast<MOSDRepScrub*>(
++ if (last_update_applied >= static_cast<MOSDRepScrub*>(
+ scrubber.active_rep_scrub->get_req())->scrub_to) {
+ osd->op_wq.queue(
+ make_pair(
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
new file mode 100644
index 000000000000..4b03e335bc58
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-do_not_attempt_to_load_key_if_auth_is_disabled.patch
@@ -0,0 +1,39 @@
+From 0cd7df3649d7486d444a61cab89c48a89ddd3e8d Mon Sep 17 00:00:00 2001
+From: Jason Dillaman <dillaman@redhat.com>
+Date: Thu, 29 Jun 2017 14:54:40 -0400
+Subject: [PATCH] rbd: do not attempt to load key if auth is disabled
+
+Fixes: http://tracker.ceph.com/issues/19035
+Signed-off-by: Jason Dillaman <dillaman@redhat.com>
+(cherry picked from commit 8b9c8df6d7f0b75c5451953bb322bc1f9afb6299)
+---
+ src/krbd.cc | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/src/krbd.cc b/src/krbd.cc
+index a0e546fa7f6f..2bb6b4270abd 100644
+--- a/src/krbd.cc
++++ b/src/krbd.cc
+@@ -129,13 +129,15 @@ static int build_map_buf(CephContext *cct, const char *pool, const char *image,
+ oss << " name=" << cct->_conf->name.get_id();
+
+ KeyRing keyring;
+- r = keyring.from_ceph_context(cct);
+- if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
+- cct->_conf->key.length()))
+- r = 0;
+- if (r < 0) {
+- cerr << "rbd: failed to get secret" << std::endl;
+- return r;
++ if (cct->_conf->auth_client_required != "none") {
++ r = keyring.from_ceph_context(cct);
++ if (r == -ENOENT && !(cct->_conf->keyfile.length() ||
++ cct->_conf->key.length()))
++ r = 0;
++ if (r < 0) {
++ cerr << "rbd: failed to get secret" << std::endl;
++ return r;
++ }
+ }
+
+ CryptoKey secret;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch
new file mode 100644
index 000000000000..5cb89be0edf1
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-rbd-nbd_relax_size_check_for_newer_kernel_versions.patch
@@ -0,0 +1,28 @@
+diff --git a/src/tools/rbd_nbd/rbd-nbd.cc b/src/tools/rbd_nbd/rbd-nbd.cc
+index 2e399ab832..88e1e0ff65 100644
+--- a/src/tools/rbd_nbd/rbd-nbd.cc
++++ b/src/tools/rbd_nbd/rbd-nbd.cc
+@@ -469,6 +469,10 @@ static int open_device(const char* path, bool try_load_moudle = false)
+
+ static int check_device_size(int nbd_index, unsigned long expected_size)
+ {
++ // There are bugs with some older kernel versions that result in an
++ // overflow for large image sizes. This check is to ensure we are
++ // not affected.
++
+ unsigned long size = 0;
+ std::string path = "/sys/block/nbd" + stringify(nbd_index) + "/size";
+ std::ifstream ifs;
+@@ -480,6 +484,12 @@ static int check_device_size(int nbd_index, unsigned long expected_size)
+ ifs >> size;
+ size *= RBD_NBD_BLKSIZE;
+
++ if (size == 0) {
++ // Newer kernel versions will report real size only after nbd
++ // connect. Assume this is the case and return success.
++ return 0;
++ }
++
+ if (size != expected_size) {
+ cerr << "rbd-nbd: kernel reported invalid device size (" << size
+ << ", expected " << expected_size << ")" << std::endl;
diff --git a/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
new file mode 100644
index 000000000000..60f46ab36a40
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-10.2.9-unlock_sdata_op_ordering_lock_with_sdata_lock.patch
@@ -0,0 +1,32 @@
+From 3fa277b479d69699bf5a6875cd4a5efcf9ae0788 Mon Sep 17 00:00:00 2001
+From: Alexey Sheplyakov <asheplyakov@mirantis.com>
+Date: Tue, 27 Jun 2017 16:07:01 +0400
+Subject: [PATCH] jewel: osd: unlock sdata_op_ordering_lock with sdata_lock
+ hold to avoid missing wakeup signal
+
+Based on commit bc683385819146f3f6f096ceec97e1226a3cd237. The OSD code has
+been refactored a lot since Jewel, hence cherry-picking that patch introduces
+a lot of unrelated changes, and is much more difficult than reusing the idea.
+
+Fixes: http://tracker.ceph.com/issues/20428
+
+Signed-off-by: Alexey Sheplyakov <asheplyakov@mirantis.com>
+---
+ src/osd/OSD.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
+index f5cfda3b686a..38a2711f6f92 100644
+--- a/src/osd/OSD.cc
++++ b/src/osd/OSD.cc
+@@ -8727,9 +8727,9 @@ void OSD::ShardedOpWQ::_process(uint32_t thread_index, heartbeat_handle_d *hb )
+ assert(NULL != sdata);
+ sdata->sdata_op_ordering_lock.Lock();
+ if (sdata->pqueue->empty()) {
+- sdata->sdata_op_ordering_lock.Unlock();
+ osd->cct->get_heartbeat_map()->reset_timeout(hb, 4, 0);
+ sdata->sdata_lock.Lock();
++ sdata->sdata_op_ordering_lock.Unlock();
+ sdata->sdata_cond.WaitInterval(osd->cct, sdata->sdata_lock, utime_t(2, 0));
+ sdata->sdata_lock.Unlock();
+ sdata->sdata_op_ordering_lock.Lock();
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
new file mode 100644
index 000000000000..0f02e6e6d433
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-cflags.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
+index 24d1a50654..a9fac61196 100644
+--- a/cmake/modules/Distutils.cmake
++++ b/cmake/modules/Distutils.cmake
+@@ -43,7 +43,7 @@ function(distutils_add_cython_module name src)
+ CC=${PY_CC}
+ CXX=${PY_CXX}
+ LDSHARED=${PY_LDSHARED}
+- OPT=\"-DNDEBUG -g -fwrapv -O2 -w\"
++ OPT=\"-DNDEBUG -fwrapv -w\"
+ LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
+ CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
diff --git a/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch
new file mode 100644
index 000000000000..55c82b0a272b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.0-use-provided-cpu-flag-values.patch
@@ -0,0 +1,37 @@
+diff --git a/cmake/modules/SIMDExt.cmake b/cmake/modules/SIMDExt.cmake
+index 5330835aa1..a4dd881e34 100644
+--- a/cmake/modules/SIMDExt.cmake
++++ b/cmake/modules/SIMDExt.cmake
+@@ -76,32 +76,25 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm|ARM")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|amd64|x86_64|AMD64")
+ set(HAVE_INTEL 1)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "i686|amd64|x86_64|AMD64")
+- CHECK_C_COMPILER_FLAG(-msse HAVE_INTEL_SSE)
+ if(HAVE_INTEL_SSE)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse")
+ endif()
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64")
+- CHECK_C_COMPILER_FLAG(-msse2 HAVE_INTEL_SSE2)
+ if(HAVE_INTEL_SSE2)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse2")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse3 HAVE_INTEL_SSE3)
+ if(HAVE_INTEL_SSE3)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse3")
+ endif()
+- CHECK_C_COMPILER_FLAG(-mssse3 HAVE_INTEL_SSSE3)
+ if(HAVE_INTEL_SSSE3)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mssse3")
+ endif()
+- CHECK_C_COMPILER_FLAG(-mpclmul HAVE_INTEL_PCLMUL)
+ if(HAVE_INTEL_PCLMUL)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -mpclmul")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse4.1 HAVE_INTEL_SSE4_1)
+ if(HAVE_INTEL_SSE4_1)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.1")
+ endif()
+- CHECK_C_COMPILER_FLAG(-msse4.2 HAVE_INTEL_SSE4_2)
+ if(HAVE_INTEL_SSE4_2)
+ set(SIMD_COMPILE_FLAGS "${SIMD_COMPILE_FLAGS} -msse4.2")
+ endif()
diff --git a/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
new file mode 100644
index 000000000000..28d1a02d711b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-12.2.1-systemd-unitdir.patch
@@ -0,0 +1,10 @@
+diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
+index 3b03b6e613..c359ad2df9 100644
+--- a/systemd/CMakeLists.txt
++++ b/systemd/CMakeLists.txt
+@@ -17,4 +17,4 @@ install(FILES
+ ceph-disk@.service
+ ceph-volume@.service
+ rbdmap.service
+- DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/systemd/system)
++ DESTINATION ${SYSTEMD_UNITDIR})
diff --git a/sys-cluster/ceph/files/ceph-mds_at.service b/sys-cluster/ceph/files/ceph-mds_at.service
new file mode 100644
index 000000000000..c28604e3c430
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-mds_at.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Ceph metadata server daemon
+After=network-online.target local-fs.target
+Wants=network-online.target local-fs.target
+PartOf=ceph.target
+
+[Service]
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i
+
+[Install]
+WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph-mds_at.service.conf b/sys-cluster/ceph/files/ceph-mds_at.service.conf
new file mode 100644
index 000000000000..0172cbeadeee
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-mds_at.service.conf
@@ -0,0 +1,4 @@
+# Uncomment the following lines to configure the cluster name for Ceph MDSs.
+
+#[Service]
+#Environment=CLUSTER=ceph
diff --git a/sys-cluster/ceph/files/ceph-mon_at.service b/sys-cluster/ceph/files/ceph-mon_at.service
new file mode 100644
index 000000000000..4f54cc158c5b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-mon_at.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Ceph cluster monitor daemon
+After=network-online.target
+Wants=network-online.target
+
+# According to:
+# http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
+# these can be removed once ceph-mon will dynamically change network
+# configuration.
+After=network-online.target local-fs.target
+Wants=network-online.target local-fs.target
+PartOf=ceph.target
+
+[Service]
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i
+
+[Install]
+WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph-osd_at.service b/sys-cluster/ceph/files/ceph-osd_at.service
new file mode 100644
index 000000000000..7bf125f63c78
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-osd_at.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Ceph object storage daemon
+After=network-online.target local-fs.target
+Wants=network-online.target local-fs.target
+PartOf=ceph.target
+
+[Service]
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i
+ExecStartPre=/usr/libexec/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+
+[Install]
+WantedBy=ceph.target
diff --git a/sys-cluster/ceph/files/ceph-osd_at.service.conf b/sys-cluster/ceph/files/ceph-osd_at.service.conf
new file mode 100644
index 000000000000..959b948c1178
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-osd_at.service.conf
@@ -0,0 +1,4 @@
+# Uncomment the following lines to configure the cluster name for Ceph OSDs.
+
+#[Service]
+#Environment=CLUSTER=ceph
diff --git a/sys-cluster/ceph/files/ceph.confd-r1 b/sys-cluster/ceph/files/ceph.confd-r1
new file mode 100644
index 000000000000..3bdb8b485ed8
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r1
@@ -0,0 +1,4 @@
+# Example
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
diff --git a/sys-cluster/ceph/files/ceph.confd-r2 b/sys-cluster/ceph/files/ceph.confd-r2
new file mode 100644
index 000000000000..13b1cfad4588
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r2
@@ -0,0 +1,8 @@
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set ulimits for Ceph services.
+rc_ulimit="-n 32768"
+
+# initd stop timeout.
+#CEPH_TERMTIMEOUT="TERM/60/KILL/5"
diff --git a/sys-cluster/ceph/files/ceph.confd-r3 b/sys-cluster/ceph/files/ceph.confd-r3
new file mode 100644
index 000000000000..54673c2688f7
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.confd-r3
@@ -0,0 +1,61 @@
+# /etc/conf.d/ceph: startup configurations for ceph
+
+# default ceph conf file
+#ceph_conf="/etc/ceph/ceph.conf"
+
+# Set ulimits for Ceph services.
+#rc_ulimit="-n 131072 -u 257256"
+
+# the directory under /run to store runtime information in
+#rundir=/run/ceph
+
+# the user and group to run ceph as
+
+# settings for openrc supervisor for various ceph daemons
+#
+# defaults (can be overidden for each daemon)
+#respawn_delay=20
+#respawn_max=5
+#respawn_period=1800
+#stdout="/dev/null"
+#stderr="/dev/null"
+
+# radosgw
+#radosgw_respawn_max
+#radosgw_respawn_delay=20
+#radosgw_respawn_period=1800
+#radosgw_stdout="/dev/null"
+#radosgw_stderr="/dev/null"
+
+# mon
+#mon_respawn_max=5
+#mon_respawn_delay=20
+#mon_respawn_period=1800
+#mon_stdout="/dev/null"
+#mon_stderr="/dev/null"
+
+# osd
+#osd_respawn_max=5
+#osd_respawn_delay=30
+#osd_respawn_period=1800
+#osd_stdout="/dev/null"
+#osd_stderr="/dev/null"
+
+# mds
+#mds_respawn_max=5
+#mds_respawn_delay=20
+#mds_respawn_period=1800
+#mds_stdout="/dev/null"
+#mds_stderr="/dev/null"
+
+# mgr
+#mgr_respawn_max=5
+#mgr_respawn_delay=20
+#mgr_respawn_period=1800
+#mgr_stdout="/dev/null"
+#mgr_stderr="/dev/null"
+
+# initd stop timeout.
+#CEPH_TERMTIMEOUT="TERM/120/KILL/5"
+#
+# vim:ft=gentoo-conf-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.initd-r1.1 b/sys-cluster/ceph/files/ceph.initd-r1.1
new file mode 100644
index 000000000000..bb603259715d
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r1.1
@@ -0,0 +1,39 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.initd-r2 b/sys-cluster/ceph/files/ceph.initd-r2
new file mode 100644
index 000000000000..16267c58a139
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r2
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.initd-r4 b/sys-cluster/ceph/files/ceph.initd-r4
new file mode 100644
index 000000000000..33e1a3002ac9
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r4
@@ -0,0 +1,49 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+command="/usr/bin/ceph-${daemon_type}"
+pidfile="/run/ceph/${daemon_type}.${daemon_id}.pid"
+command_args="-i ${daemon_id} --pid-file ${pidfile} -c ${ceph_conf}"
+start_stop_daemon_args="--user ceph --group ceph"
+retry="${CEPH_TERMTIMEOUT:-TERM/60/KILL/5}"
+
+depend() {
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o ceph "$(dirname "${pidfile}")"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+ fi
+
+ if pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 ${start_stop_daemon_args} --pidfile "${pidfile}"
+ eend $?
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.initd-r5 b/sys-cluster/ceph/files/ceph.initd-r5
new file mode 100644
index 000000000000..7087de605175
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.initd-r5
@@ -0,0 +1,87 @@
+#!/sbin/openrc-run
+
+ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}"
+extra_commands="reload"
+daemon_type="${RC_SVCNAME#ceph-}"
+daemon_type="${daemon_type%%.*}"
+daemon_id="${RC_SVCNAME#ceph-*.}"
+daemon_id="${daemon_id:-0}"
+: ${rundir:=/run/ceph}
+: ${user:=ceph}
+: ${group:=ceph}
+: ${rc_ulimit:=-n 131072 -u 257256}
+
+pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid"
+daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid"
+
+command="/usr/bin/${RC_SVCNAME%%.*}"
+command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}"
+command_args_foreground="--foreground"
+
+retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}"
+start_stop_daemon_args="--user ${user} --group ${group}"
+supervise_daemon_args="--user ${user} --group ${group}"
+
+: ${supervisor:=supervise-daemon}
+: ${stdout:=/dev/null}
+: ${stderr:=/dev/null}
+: ${respawn_delay:=10}
+: ${respawn_max:=5}
+: ${respawn_period:=1800}
+
+: ${osd_respawn_delay:=15}
+: ${osd_respawn_max:=10}
+
+: ${radosgw_respawn_max:=5}
+: ${radosgw_respawn_period:=30}
+
+depend() {
+ use dns logger
+ after net ntpd ntp-client chronyd
+ before netmount
+}
+
+is_type_valid() {
+ case ${daemon_type} in
+ mon|mds|osd|mgr|radosgw) return 0;;
+ *) return 1;;
+ esac
+}
+
+start_pre() {
+ export CEPH_CONF="${ceph_conf}"
+
+ checkpath -d -q -o "${user}:${group}" "${rundir}"
+
+ if ! is_type_valid ;then
+ eerror "Please give valid Ceph Server Type: mds, mon, osd"
+ return 1
+
+ elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then
+ eerror "${daemon_type}.${daemon_id} is still running, refusing to start"
+ return 1
+ fi
+
+ local arg_name arg_val
+ for arg_name in std{out,err} respawn_{delay,max,period}; do
+ eval arg_val="\${${daemon_type}_${arg_name}}"
+
+ if [ -z "${arg_val}" ]; then
+ eval arg_val="\${${arg_name}}"
+ else
+ eval "${arg_name}=\"${arg_val}\""
+ fi
+
+ if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then
+ supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}"
+ fi
+ done
+}
+
+reload() {
+ ebegin "Reloading Ceph ${daemon_type}.${daemon_id}"
+ start-stop-daemon --signal 1 "${start_stop_daemon_args}"
+ eend ${?}
+}
+
+# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/sys-cluster/ceph/files/ceph.logrotate b/sys-cluster/ceph/files/ceph.logrotate
new file mode 100644
index 000000000000..df03f5e69a4b
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.logrotate
@@ -0,0 +1,18 @@
+/var/log/ceph/*.log
+{
+ rotate 7
+ daily
+ compress
+ sharedscripts
+ prerotate
+ for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+ ceph --admin-daemon /run/ceph/${dmn} log flush 2>/dev/null >/dev/null
+ done
+ endscript
+ postrotate
+ for dmn in $(cd /run/ceph && ls *.asok 2>/dev/null); do
+ ceph --admin-daemon /run/ceph/${dmn} log reopen 2>/dev/null >/dev/null
+ done
+ endscript
+ missingok
+}
diff --git a/sys-cluster/ceph/files/ceph.target b/sys-cluster/ceph/files/ceph.target
new file mode 100644
index 000000000000..60734baff689
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=ceph target allowing to start/stop all ceph*@.service instances at once
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-cluster/ceph/files/envd-tcmalloc b/sys-cluster/ceph/files/envd-tcmalloc
new file mode 100644
index 000000000000..bdb09670c636
--- /dev/null
+++ b/sys-cluster/ceph/files/envd-tcmalloc
@@ -0,0 +1 @@
+TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=134217728
diff --git a/sys-cluster/ceph/files/rbdmap.initd b/sys-cluster/ceph/files/rbdmap.initd
new file mode 100644
index 000000000000..9313cf658863
--- /dev/null
+++ b/sys-cluster/ceph/files/rbdmap.initd
@@ -0,0 +1,122 @@
+#!/sbin/openrc-run
+
+DESC="RBD Mapping:"
+RBDMAPFILE="/etc/ceph/rbdmap"
+
+extra_started_commands="reload"
+
+depend() {
+ need localmount net
+ before netmount
+}
+
+start() {
+
+ if [ ! -f "${RBDMAPFILE}" ]; then
+ ewarn "$DESC : No ${RBDMAPFILE} found."
+ exit 0
+ fi
+
+ RET=0
+ # Read /etc/ceph/rbdmap to create non-existant mapping
+ while read DEV PARAMS; do
+ case "$DEV" in
+ ""|\#*)
+ continue
+ ;;
+ */*)
+ ;;
+ *)
+ DEV=rbd/$DEV
+ ;;
+ esac
+ ebegin "${DESC} '${DEV}'"
+ newrbd=""
+ MAP_RV=""
+ RET_OP=0
+ OIFS=$IFS
+ IFS=','
+ for PARAM in ${PARAMS[@]}; do
+ CMDPARAMS="${CMDPARAMS} --$(echo ${PARAM} | tr '=' ' ')"
+ done
+ IFS=$OIFS
+ if [ ! -b /dev/rbd/${DEV} ]; then
+ MAP_RV=$(rbd map ${DEV} ${CMDPARAMS} 2>&1)
+ if [ $? -eq 0 ]; then
+ newrbd="yes"
+ else
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${MAP_RV}"
+
+ if [ "$newrbd" ]; then
+ ## Mount new rbd
+ MNT_RV=""
+ mount --fake /dev/rbd/${DEV} >>/dev/null 2>&1 \
+ && MNT_RV=$(mount -vn /dev/rbd/${DEV} 2>&1)
+ [ -n "${MNT_RV}" ] && einfo "mount: ${MNT_RV}"
+
+ ## post-mapping
+ if [ -x "/etc/ceph/rbd.d/${DEV}" ]; then
+ einfo "RBD Running post-map hook '/etc/ceph/rbd.d/${DEV}'"
+ /etc/ceph/rbd.d/${DEV} map "/dev/rbd/${DEV}"
+ fi
+ fi
+ done < ${RBDMAPFILE}
+ eend ${RET}
+}
+
+stop() {
+
+ RET=0
+ ## Unmount and unmap all rbd devices
+ if ls /dev/rbd[0-9]* >/dev/null 2>&1; then
+ for DEV in /dev/rbd[0-9]*; do
+ ## pre-unmapping
+ for L in $(find /dev/rbd -type l); do
+ LL="${L##/dev/rbd/}"
+ if [ "$(readlink -f $L)" = "${DEV}" ] \
+ && [ -x "/etc/ceph/rbd.d/${LL}" ]; then
+ einfo "RBD pre-unmap: '${DEV}' hook '/etc/ceph/rbd.d/${LL}'"
+ /etc/ceph/rbd.d/${LL} unmap "$L"
+ break
+ fi
+ done
+
+ ebegin "Unmapping RBD device: '${DEV}'"
+ UMNT_RV=""
+ UMAP_RV=""
+ RET_OP=0
+ MNT=$(findmnt --mtab --source ${DEV} --noheadings | awk '{print $1'})
+ if [ -n "${MNT}" ]; then
+ einfo "un-mounting '${MNT}'"
+ UMNT_RV=$(umount "${MNT}" 2>&1)
+ fi
+ if mountpoint -q "${MNT}"; then
+ ## Un-mounting failed.
+ RET_OP=1
+ RET=$((${RET}+1))
+ else
+ ## Un-mapping.
+ UMAP_RV=$(rbd unmap $DEV 2>&1)
+ if [ $? -ne 0 ]; then
+ RET=$((${RET}+$?))
+ RET_OP=1
+ fi
+ fi
+ eend ${RET_OP} "${UMAP_RV}"
+ [ -n "${UMNT_RV}" ] && einfo "${UMNT_RV}"
+ done
+ fi
+ eend ${RET}
+}
+
+reload() {
+ start
+}
+
+status() {
+ rbd showmapped
+}
diff --git a/sys-cluster/ceph/files/sysctld b/sys-cluster/ceph/files/sysctld
new file mode 100644
index 000000000000..4d133264f554
--- /dev/null
+++ b/sys-cluster/ceph/files/sysctld
@@ -0,0 +1,2 @@
+# up the global pid max for ceph
+kernel.pid_max = 257256
diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml
new file mode 100644
index 000000000000..be0d84faee0b
--- /dev/null
+++ b/sys-cluster/ceph/metadata.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ <description>Co Maintainer</description>
+ </maintainer>
+ <maintainer type="person">
+ <email>dlan@gentoo.org</email>
+ <name>Yixun Lan</name>
+ <description>Co Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability.
+</longdescription>
+ <use>
+ <flag name="cryptopp">Use <pkg>dev-libs/crypto++</pkg> for cryptography</flag>
+ <flag name="cephfs">Build support for cephfs, a POSIX compatible filesystem built on top of ceph</flag>
+ <flag name="fuse">Build fuse client</flag>
+ <flag name="libatomic">Use libatomic instead of builtin atomic operations</flag>
+ <flag name="libaio">Use libaio as asynchronous input/output library</flag>
+ <flag name="lttng">Add support for LTTng</flag>
+ <flag name="babeltrace">Add support for LTTng babeltrace</flag>
+ <flag name="mgr">Build the ceph-mgr daemon</flag>
+ <flag name="nss">Use <pkg>dev-libs/nss</pkg> for cryptography</flag>
+ <flag name="radosgw">Add radosgw support</flag>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for allocations</flag>
+ <flag name="xfs">Add xfs support</flag>
+ <flag name="zfs">Add zfs support</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/charm/Manifest b/sys-cluster/charm/Manifest
new file mode 100644
index 000000000000..98400453d2ae
--- /dev/null
+++ b/sys-cluster/charm/Manifest
@@ -0,0 +1,21 @@
+AUX charm-6.5.1-CkReductionMgr.patch 1441 SHA256 35ecf0d8727004cec2fe26ea04764ef6d923d589e63fbc5f77fc9c858c72d7e8 SHA512 133a7a7d78c50f7966425f8a0f66cc22916a72de247c641fbd65f9e823a9f4044b9946bbd7e175cafde2b5d536820e2a65cd75afb593c65f11f1d7814c6c2dff WHIRLPOOL 1bd758ef9e68ff0427414304d9d4bdc004357e79c87b38bc54443a76d2527ac96d24bfa8e6a3bda033888ca984124402fc373a64c7b7ba9bf0ddd23d4eecbab5
+AUX charm-6.5.1-charmc-gentoo.patch 1305 SHA256 b1fbf52d856805101487d0cb20f3ebd36f2ae8123422e7a014cbc5fbaddc8327 SHA512 994becbf0e40c0e181222a854df98e3c7b571b517a24a0548ad323ac116f146f11b7d2e6ec4f8289ffb5926dda57d92831412e9367951387d1e224208306ed03 WHIRLPOOL 3fdae548a9d0ad0672d08a2a15711dd07da6e1c350ac7a2d95a9858b815cbff55a7e3767f957923dd9eee243c310553f35101f229eb9ac4f048165f28dc52dc5
+AUX charm-6.5.1-cleanup-config.patch 1982 SHA256 b8f11377869671705694cd940767cc44981af66df9cdb9f12c4a5d5c1d1b6710 SHA512 fb8817b3a3593ff34665a3d1a31dc2f286ad4fbd81b36a136391c6a75129bc7e93707f794805c90d07119a67d937ace2d1ce1955bd940048ba5cd2282bcb08e9 WHIRLPOOL d05bc8663be87d9191e1fe6c5ad5954298d59c9746846d1b41d47e263cf47a99349f2ca258301dac8793f1305b0bc46e7855aeb8510d5ece960a677de01e4a71
+AUX charm-6.5.1-fix-markupSanitizer.patch 6439 SHA256 8408aa89e59e72fae02179e738a924240a6a89b9eb162ebb746bb54e16be496f SHA512 fb1061dcd6af95cf147e84a7d49d32be03ac8a23378387dec5f340064b8db5b0531fa105c9745bdc9ec947b59f3384a3c878298f0380f9a12c79329c203b81f2 WHIRLPOOL 8da747d32bc891db2bd224fc1456d69a66913c36083fab6c5770f7a636252a29119deeb0142b1030a612ac251d38d635e435a771e6bb1abbbeb0a3e1b56b3c29
+AUX charm-6.5.1-fix-navmenuGenerator.patch 856 SHA256 ca39bcc048f91b66dfff009744320c231ec98e12b67f4645ee3407b4210d1c53 SHA512 c71d8a4113b494a0a0285cfeba197475ba706e00f002eb6d164df4a8ac587a6d259609b8090a1587397f10cc70d89365a6a6a660a4f14876968225acdbbf0db2 WHIRLPOOL efaaa2e88329a4515642331a99da0975fc7c1c9dfdc594c8b5d039c5e9b8d391dbc9ddceffae9a1e665f6d8429b194d533dc0927577801a2d23a1ea1861d2d66
+AUX charm-6.5.1-fix-string-parsing.patch 1658 SHA256 e6223fbb97685715ee9e1f02bb5a11cb98957046e7a73a2e2264c650b43fcb1b SHA512 81f84aa219c2e709cac252245ab43cde23a10ddd8f1c9717c77d32f1e62a88c1872452ac91d9dfb83f6a87570e9814272952acef7ac7b7264793115455e5a87e WHIRLPOOL 1858cbe6bd5d8765757b0ccf5343248b0d874d67857f01d3ec137c145aef685749dd82e3337f9d2cd81f3d00c78c9c661faa228a6ad5588942e6ef744fa3aeee
+AUX charm-6.5.1-static-library-fix.patch 17080 SHA256 1cebaeb901c88a4f35a148fd51ce0c3e8050946f46b25575adad56c44296c99e SHA512 8209a8af4e316a5b961500e70450a87db2ceea9dd409cb73cdf8133dc4ba53e1bb73dfa7a2fd1c819f9a0d37b1ee9760bdda181aa73e2e5fe370d53e12cec82a WHIRLPOOL a782704014012fcfe7b28ce01514846d390c34ceadf64ef27eeb3e8e724aaf490c88ac0d8f093f3d1c8628769a58d7844849ba2587ed0288a733aac17bf40b12
+DIST charm-6.5.1.tar.gz 19265741 SHA256 68aa43e2a6e476e116a7e80e385c25c6ac6497807348025505ba8bfa256ed34a SHA512 1a25c76f3699e30d0614e85f39ea0f594896cbc299b0e670c52fcea176171e8834ea7f9ba3ba0c1957598b0f1cbfa6a4ed9279ae0c030fa32faa6acca879b694 WHIRLPOOL 0def514af09c137b951842250fe112c68e573e8eff7d5911a71ccbe55cc38b319f1d9c4587e706777f748b0c1ef69b63c4161bbf663b05984a566ff325fa49c3
+DIST charm-6.6.0.tar.gz 18779545 SHA256 c916010f2d4cc2c6bd30ea19764839d0298fb56d1696d8ff08d9fa9a61dfb1c9 SHA512 fd6cc2fa8919198fdceb8187101882a61fe974fed3ddd65b102c95b850877429fe0675a55d54075e4a2accad134f615ff717a7dd39fbd9af5fa65a5c87d34e0b WHIRLPOOL 97cfbb45c9456e79d3b6f868c6acfbf8c8701f87743139a17cdb25fbb3a90fdf9a137e8da04df0ab25569ca1b9307c910fe02dc61a84b247bf81d112e0547317
+DIST charm-6.6.1.tar.gz 125697465 SHA256 2aa16fd3015dce0a0932ab5253578a72ddbcb889bc0d23584c42b28446915467 SHA512 139409fff76ac9811b2efe6605579a877738f873b112d4e4da25f079598f6c238cf76e677ed3cf3f92aa59f29710feea3e96e59e6010e186e4191dfa4c3ef92e WHIRLPOOL d56dd8a2cf11152bcc8dd5d1bd166d28bebca02e81bb6fdc3de6c5bf4a6bdcd72f7b854cf42576d32d23fe994a207451ebca44ac9cf6a5d8b982d2e4141d422b
+DIST charm-6.7.1.tar.gz 18843211 SHA256 744a093874fbac03b6ae8be3ce434eff46b2ee778561e860802ed578e0810fdf SHA512 08581ad58ea737bb118ad1d382feeae2cec2ec0fd8ea1a227e2cb8080c40ba0d043de6c867de0dfa470b2291638b1b6bf6d52c89b4e4b6c9f1fdd824ac601436 WHIRLPOOL efb8de98cbef4f2842877725160aa4371f444a0901f7064cc07a184790516dda1882341cf59500506e41263eaaed2eb585f80b4f29744b680794b62f103d9c1d
+EBUILD charm-6.5.1-r1.ebuild 5248 SHA256 93b0162874e938d9f7db02e04da119fba3ac3fd4582c91a8813c38b1a4fb60ee SHA512 bca23f56b551d6fb40328f8bdd25130c34f84e6b1e11236749703a0fdedbdfe40b566f13f8e3cbe07c7668582ddd0bbe880242955516c1dfdc5075571be0a573 WHIRLPOOL be1fd9b23b0dc470c294ca6453293c15d932915d42024db38d3d532a21dbe2396c0fd8026498bed5b0830725d2d861b7c266b3ae8dc2afaf3167ecb8eb0b28d5
+EBUILD charm-6.5.1-r2.ebuild 5311 SHA256 7494d776679391f581bcea53500555c7499b0e5b7e770432fd4cc5123074e94e SHA512 8cbea2a9aeab22ffbee26659991c8caed1b8545985df91e82375995b044a18be2dc3a14183260342eb7665c81bfce83e7d04f59346b718ef9aafd1f07d7c13ae WHIRLPOOL 5099624affbc9e7a7f59800e5e33bd3ed0e5e43aebdedbca3ddbf63b002152c98c035657e920d042a1ba03c5a9a0c71080d3f6445c4fcbacc2a69d28d8f1810f
+EBUILD charm-6.5.1-r3.ebuild 5330 SHA256 e634172e060a4bdf5407b7f870839e40694542077e904aa2d805b845578758a7 SHA512 d31c2c5eca23229b208ec9e043b5e8b23e86341cbc24ab2b588d84a094c9f543ff63c4b8fc24a11eb4c4d55db7ad66917dc620b275ce5dd137276a6cbcb649cb WHIRLPOOL cecd50e2fc27684cc93df1af97ef0a461f1c2ff04c6cc4ef6cba87697b5e5f05b51d293c7173477e9cbeceb07d42b8f827f3fbf0cefba3d409aecba962e818b4
+EBUILD charm-6.6.0-r1.ebuild 5578 SHA256 3627c9808de5abbb146da0ee8f02b7c451a63b1167673f203b744cd4e3457099 SHA512 f049285b990d1627f4bdd2dc5f0bc5ae64bed61769f8a81787a6137ad8ad50ab5c0e80038d77c00a25523085e9ba36f3582217894e3b215b1f031c3a8f081567 WHIRLPOOL bbb601061bff6e806f3ded5283a95f849d4b4e2be95229e0434220330ea0e92f2b2aebd8c27cd387308d34890441f9ab1eda80b93d187a05dce980a3d57dc5bf
+EBUILD charm-6.6.0.ebuild 5572 SHA256 a725c9221d7fc418fd48db425cbd5548e7e41b6d62247912d3eeba4ee244128c SHA512 6947f911efc5d756537ff8c06754e0f9580f8f4b9e7ee33ea96be3144ad4537da21228ecfd1321f972d97979fcf556e4f3b2646b11de7717006b4491462fafa7 WHIRLPOOL 7a1123746a0f25051751011154000ad6c2016041d50b1eace287db96a0701eb9c5ec176838fa961f4043c580d1dd01b665ccf8274ee7683af4e2ce5502d0afbb
+EBUILD charm-6.6.1.ebuild 5781 SHA256 d5c8b4590f84e184a7127861ab495f4b87bd00606b5c4d078925ba42bd400673 SHA512 1c278e8e52860772ebbae872d5f172c0e69932baf8555085572d278402782d913ba647f20ef6789d26265f78272d510d5a351047df419299e322f3b0e5217474 WHIRLPOOL b7965138d62949eebee75cbc6a3d3f6ad9f4f397d488a0fcf28633356108b1549b8feac0610c3a3c6936be02ec3f5917dac9aaf981a5406c2ed0f3e961d0c9fb
+EBUILD charm-6.7.1.ebuild 5598 SHA256 0062c8eca7889e002ad33c86604e577da96fc46a85196e76d0ce75e099457d79 SHA512 b40081a208590bda948ac87350eed55566c6548f273c0b80b16bdf5b68a5ae1fb8a46595960f0cf91c7a5c91083e159564a7cc51db5ed301dac296f77fb58f8b WHIRLPOOL 403539022227fd9b7381959717c4e946f8186b1b90250f4e7bf88222c726315946737536de89ef93e148c00f6202f601890f40d1d34d1d1ca6c88900ca868976
+MISC ChangeLog 3394 SHA256 766e7d9a1b2271deba9f77949ba514f4218ea86c95ef16ba6cd29b8ca00519d8 SHA512 bc78cb966005f210c9de406228944a93f9c2c95774b1253a0013e2e187573e5d4b677d70941491c95e847028d6cd5f246afe7da16c2af06c6d1247f3fe05471c WHIRLPOOL 7ac9ec7dda60237c6e0413d2d03781a1aeb0e1fcdbdfd8cf7ff1adf5dbca4bd1bf03b6969383f23679eeffe6074d00f68fac1e2990489175995a81d73792ee0f
+MISC ChangeLog-2015 7846 SHA256 3f60157b6e68e52f98acbb7f51a390e26e6a9e18102fcf895b2142e1d2208a80 SHA512 9dc9e0a8b75ef75702335313571645521dbf6454baa8cb7cebe86f8368f30b1a7436107c5874223252409026cdbbb409679d20d86cdf0ee74e388ea0002701b8 WHIRLPOOL 190437d58cee19920f311e89292af2ba857bfff3cd7eb7cd5e88701fe9ad6e60c41c16f97c5caf0a4cfbf320683f6d7f7510cfc6b53661eb83e24fbe264e9b4c
+MISC metadata.xml 1012 SHA256 d67875d615640f797d90aaae080ca18496f609e5d768a7b96c3b6ab5aaa29224 SHA512 e8fd7cfac25aa8428adbe77922140eee5621b18afa5f10d1ed0c7b14960affc3a1dc0896b7ea034001855ef3e1c1f12791cada0f959eb210ba78f1be44b89ffc WHIRLPOOL bca1370c270a66b0aca4b7ffde7d78a3aa8e0d3c7a4f48deedb24b55cae264422b727a12d7ae22c74bd01132a6ff8246f1ad04d52a829af05e095dd8783f2c7c
diff --git a/sys-cluster/charm/charm-6.5.1-r1.ebuild b/sys-cluster/charm/charm-6.5.1-r1.ebuild
new file mode 100644
index 000000000000..4f82e15a3eba
--- /dev/null
+++ b/sys-cluster/charm/charm-6.5.1-r1.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-single-r1
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ doc? ( ${PYTHON_REQUIRED_USE} )
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+FORTRAN_STANDARD="90"
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/arch/net/charmrun/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch"
+ epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+}
+
+src_compile() {
+ local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} ${CFLAGS}"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${mybuildoptions}"
+ ./build charm++ ${mybuildoptions} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ python-single-r1_pkg_setup
+ python_fix_shebang "${S}/doc"
+ einfo "forcing ${EPYTHON}"
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install static libs. Charm has a lot of .o "libs" that it requires at
+ # runtime.
+ if use static-libs; then
+ for i in lib/*.{a,o}; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib "${i}"
+ done
+ fi
+
+ # Install shared libs.
+ for i in lib_so/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib.so "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.5.1-r2.ebuild b/sys-cluster/charm/charm-6.5.1-r2.ebuild
new file mode 100644
index 000000000000..b66af8c38b24
--- /dev/null
+++ b/sys-cluster/charm/charm-6.5.1-r2.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-single-r1
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ doc? ( ${PYTHON_REQUIRED_USE} )
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+FORTRAN_STANDARD="90"
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/arch/net/charmrun/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch"
+ epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+ epatch "${FILESDIR}/charm-6.5.1-static-library-fix.patch"
+}
+
+src_compile() {
+ local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} -j1 ${CFLAGS}"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${mybuildoptions}"
+ ./build charm++ ${mybuildoptions} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ python-single-r1_pkg_setup
+ python_fix_shebang "${S}/doc"
+ einfo "forcing ${EPYTHON}"
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install static libs. Charm has a lot of .o "libs" that it requires at
+ # runtime.
+ if use static-libs; then
+ for i in lib/*.{a,o}; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib "${i}"
+ done
+ fi
+
+ # Install shared libs.
+ for i in lib_so/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib.so "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.5.1-r3.ebuild b/sys-cluster/charm/charm-6.5.1-r3.ebuild
new file mode 100644
index 000000000000..5cf9b4f6cb0e
--- /dev/null
+++ b/sys-cluster/charm/charm-6.5.1-r3.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib toolchain-funcs python-any-r1
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+FORTRAN_STANDARD="90"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF90/s:f90:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")-linux*/*sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/arch/net/charmrun/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-cleanup-config.patch"
+ epatch "${FILESDIR}/charm-6.5.1-CkReductionMgr.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-string-parsing.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch"
+ epatch "${FILESDIR}/charm-6.5.1-static-library-fix.patch"
+}
+
+src_compile() {
+ local mybuildoptions="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '') $(get_opts) ${MAKEOPTS} -j1 ${CFLAGS}"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${mybuildoptions}"
+ ./build charm++ ${mybuildoptions} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install static libs. Charm has a lot of .o "libs" that it requires at
+ # runtime.
+ if use static-libs; then
+ for i in lib/*.{a,o}; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib "${i}"
+ done
+ fi
+
+ # Install shared libs.
+ for i in lib_so/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dolib.so "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.6.0-r1.ebuild b/sys-cluster/charm/charm-6.6.0-r1.ebuild
new file mode 100644
index 000000000000..a8d9206fc52c
--- /dev/null
+++ b/sys-cluster/charm/charm-6.6.0-r1.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CF90/s:\`which f90.*$::g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die
+ sed \
+ -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -i src/arch/common/*.sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/util/charmrun-src/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch"
+}
+
+src_compile() {
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
+ local build_options="$(get_opts)"
+ #build only accepts -j from MAKEOPTS
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${build_commandline}"
+ ./build charm++ ${build_commandline} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install libs incl. charm objects
+ for i in lib*/*.{so,o,a}; do
+ [[ ${i} = *.a ]] && use !static-libs && continue
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.6.0.ebuild b/sys-cluster/charm/charm-6.6.0.ebuild
new file mode 100644
index 000000000000..b6347d0be608
--- /dev/null
+++ b/sys-cluster/charm/charm-6.6.0.ebuild
@@ -0,0 +1,208 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CF90/s:\`which f90.*$::g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die
+ sed \
+ -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -i src/arch/common/*.sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/util/charmrun-src/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch"
+}
+
+src_compile() {
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
+ local build_options="$(get_opts)"
+ #build only accepts -j from MAKEOPTS
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${build_commandline}"
+ ./build charm++ ${build_commandline} || die "Failed to build charm++"
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install libs incl. charm objects
+ for i in lib*/*.{so,o,a}; do
+ [[ ${i} = *.a ]] && use !static-libs && continue
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.6.1.ebuild b/sys-cluster/charm/charm-6.6.1.ebuild
new file mode 100644
index 000000000000..fb6f4b9f8e25
--- /dev/null
+++ b/sys-cluster/charm/charm-6.6.1.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp"
+
+REQUIRED_USE="ampi? ( !mpi )"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+S="${WORKDIR}/${PN}"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CF90/s:\`which f90.*$::g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die
+ sed \
+ -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -i src/arch/common/*.sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/util/charmrun-src/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+
+ epatch "${FILESDIR}/charm-6.5.1-fix-navmenuGenerator.patch"
+ epatch "${FILESDIR}/charm-6.5.1-fix-markupSanitizer.patch"
+}
+
+src_compile() {
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
+ local build_options="$(get_opts)"
+ #build only accepts -j from MAKEOPTS
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${build_commandline}"
+ ./build charm++ ${build_commandline} || die "Failed to build charm++"
+
+ if use ampi; then
+ einfo "running ./build AMPI ${build_commandline}"
+ ./build AMPI ${build_commandline} || die "Failed to build charm++"
+ fi
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install libs incl. charm objects
+ for i in lib*/*.{so,o,a}; do
+ [[ ${i} = *.a ]] && use !static-libs && continue
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/charm-6.7.1.ebuild b/sys-cluster/charm/charm-6.7.1.ebuild
new file mode 100644
index 000000000000..1f2d2300a744
--- /dev/null
+++ b/sys-cluster/charm/charm-6.7.1.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_STANDARD="90"
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils flag-o-matic fortran-2 multilib multiprocessing python-any-r1 toolchain-funcs
+
+DESCRIPTION="Message-passing parallel language and runtime system"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.uiuc.edu/distrib/${P}.tar.gz"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="charmdebug charmtracing charmproduction cmkopt doc examples mlogft mpi ampi numa smp static-libs syncft tcp"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="
+ ${RDEPEND}
+ doc? (
+ >=app-text/poppler-0.12.3-r3[utils]
+ dev-tex/latex2html
+ virtual/tex-base
+ $(python_gen_any_dep '
+ >=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ')
+ media-libs/netpbm
+ ${PYTHON_DEPS}
+ )"
+
+REQUIRED_USE="
+ cmkopt? ( !charmdebug !charmtracing )
+ charmproduction? ( !charmdebug !charmtracing )"
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+get_opts() {
+ local CHARM_OPTS
+
+ # TCP instead of default UDP for socket comunication
+ # protocol
+ CHARM_OPTS+="$(usex tcp ' tcp' '')"
+
+ # enable direct SMP support using shared memory
+ CHARM_OPTS+="$(usex smp ' smp' '')"
+
+ CHARM_OPTS+="$(usex mlogft ' mlogft' '')"
+ CHARM_OPTS+="$(usex syncft ' syncft' '')"
+
+ # Build shared libraries by default.
+ CHARM_OPTS+=" --build-shared"
+
+ if use charmproduction; then
+ CHARM_OPTS+=" --with-production"
+ else
+ if use charmdebug; then
+ CHARM_OPTS+=" --enable-charmdebug"
+ fi
+
+ if use charmtracing; then
+ CHARM_OPTS+=" --enable-tracing --enable-tracing-commthread"
+ fi
+ fi
+
+ CHARM_OPTS+="$(usex numa ' --with-numa' '')"
+ echo $CHARM_OPTS
+}
+
+src_prepare() {
+ sed \
+ -e "/CMK_CF77/s:[fg]77:$(usex mpi "mpif90" "$(tc-getF77)"):g" \
+ -e "/CMK_CF90/s:f95:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/CMK_CF90/s:\`which f90.*$::g" \
+ -e "/CMK_CXX/s:g++:$(usex mpi "mpic++" "$(tc-getCXX)"):g" \
+ -e "/CMK_CC/s:gcc:$(usex mpi "mpicc" "$(tc-getCC)"):g" \
+ -e '/CMK_F90_MODINC/s:-p:-I:g' \
+ -e "/CMK_LD/s:\"$: ${LDFLAGS} \":g" \
+ -i src/arch/$(usex mpi "mpi" "net")*-linux*/*sh || die
+ sed \
+ -e "/CMK_CF90/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/F90DIR/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95target/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -e "/f95version/s:gfortran:$(usex mpi "mpif90" "$(tc-getFC)"):g" \
+ -i src/arch/common/*.sh || die
+
+ sed \
+ -e "s:-o conv-cpm:${LDFLAGS} &:g" \
+ -e "s:-o charmxi:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-silent:${LDFLAGS} &:g" \
+ -e "s:-o charmrun-notify:${LDFLAGS} &:g" \
+ -e "s:-o charmrun:${LDFLAGS} &:g" \
+ -e "s:-o charmd_faceless:${LDFLAGS} &:g" \
+ -e "s:-o charmd:${LDFLAGS} &:g" \
+ -i \
+ src/scripts/Makefile \
+ src/util/charmrun-src/Makefile || die
+
+ # CMK optimization
+ use cmkopt && append-cppflags -DCMK_OPTIMIZE=1
+
+ # Fix QA notice. Filed report with upstream.
+ append-cflags -DALLOCA_H
+}
+
+src_compile() {
+ local build_version="$(usex mpi "mpi" "net")-linux$(usex amd64 "-amd64" '')"
+ local build_options="$(get_opts)"
+ #build only accepts -j from MAKEOPTS
+ local build_commandline="${build_version} ${build_options} -j$(makeopts_jobs)"
+
+ # Build charmm++ first.
+ einfo "running ./build charm++ ${build_commandline}"
+ ./build charm++ ${build_commandline} || die "Failed to build charm++"
+
+ if use ampi; then
+ einfo "running ./build AMPI ${build_commandline}"
+ ./build AMPI ${build_commandline} || die "Failed to build charm++"
+ fi
+
+ # make pdf/html docs
+ if use doc; then
+ emake -j1 -C doc/charm++
+ fi
+}
+
+src_test() {
+ make -C tests/charm++ test TESTOPTS="++local" || die
+}
+
+src_install() {
+ # Make charmc play well with gentoo before we move it into /usr/bin. This
+ # patch cannot be applied during src_prepare() because the charmc wrapper
+ # is used during building.
+ epatch "${FILESDIR}/charm-6.5.1-charmc-gentoo.patch"
+
+ sed -e "s|gentoo-include|${P}|" \
+ -e "s|gentoo-libdir|$(get_libdir)|g" \
+ -e "s|VERSION|${P}/VERSION|" \
+ -i ./src/scripts/charmc || die "failed patching charmc script"
+
+ # In the following, some of the files are symlinks to ../tmp which we need
+ # to dereference first (see bug 432834).
+
+ local i
+
+ # Install binaries.
+ for i in bin/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ dobin "${i}"
+ done
+
+ # Install headers.
+ insinto /usr/include/${P}
+ for i in include/*; do
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ doins "${i}"
+ done
+
+ # Install libs incl. charm objects
+ for i in lib*/*.{so,a}; do
+ [[ ${i} = *.a ]] && use !static-libs && continue
+ if [[ -L ${i} ]]; then
+ i=$(readlink -e "${i}") || die
+ fi
+ [[ ${i} = *.so ]] && dolib.so "${i}" || dolib "${i}"
+ done
+
+ # Basic docs.
+ dodoc CHANGES README
+
+ # Install examples.
+ if use examples; then
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:(../)+bin/charmc:/usr/bin/charmc:" -i || \
+ die "Failed to fix examples"
+ find examples/ -name 'Makefile' | xargs sed \
+ -r "s:./charmrun:./charmrun ++local:" -i || \
+ die "Failed to fix examples"
+ insinto /usr/share/doc/${PF}/examples
+ doins -r examples/charm++/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ # Install pdf/html docs
+ if use doc; then
+ cd "${S}/doc/charm++"
+ # Install pdfs.
+ insinto /usr/share/doc/${PF}/pdf
+ doins *.pdf
+ # Install html.
+ docinto html
+ dohtml -r manual/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Please test your charm installation by copying the"
+ einfo "content of /usr/share/doc/${PF}/examples to a"
+ einfo "temporary location and run 'make test'."
+}
diff --git a/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch b/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch
new file mode 100644
index 000000000000..ad07fc3aa3bc
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-CkReductionMgr.patch
@@ -0,0 +1,34 @@
+From 6b537784e9c345dee7f7cfd108c6abc779a969ae Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Fri, 27 Sep 2013 10:50:45 -0600
+Subject: [PATCH 2/4] Fixed bug in CkReductionMgr::reduceMessages().
+
+The first contribution of a child node is a single message. In this case
+CkReductionMgr::reduceMessages() simply returns the message without calling
+the reducer. However, when using the CkReduction::set reducer this behavior is
+incorrect, and instead the reducer should be called even for one single
+message so that the message is wrapped into a setElement struct. In the
+current implementation, the reduction becomes corrupted because the
+CkReduction::set() method one tier up in the reduction sizes the remote
+contribution incorrectly assuming a setElement struct and not a simple
+message.
+---
+ src/ck-core/ckreduction.C | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/ck-core/ckreduction.C b/src/ck-core/ckreduction.C
+index 07853a2..ef3e906 100644
+--- a/src/ck-core/ckreduction.C
++++ b/src/ck-core/ckreduction.C
+@@ -850,7 +850,7 @@ CkReductionMsg *CkReductionMgr::reduceMessages(void)
+ else
+ {//Use the reducer to reduce the messages
+ //if there is only one msg to be reduced just return that message
+- if(nMsgs == 1){
++ if(nMsgs == 1 && msgArr[0]->reducer != CkReduction::set) {
+ ret = msgArr[0];
+ }else{
+ if (msgArr[0]->reducer == CkReduction::random) {
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch b/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch
new file mode 100644
index 000000000000..f1502ced7d94
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-charmc-gentoo.patch
@@ -0,0 +1,39 @@
+From 664eb097d1c5d1a158b1f41badc79d369a06aab6 Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Fri, 27 Sep 2013 10:53:31 -0600
+Subject: [PATCH 4/4] Fix paths for gentoo.
+
+---
+ src/scripts/charmc | 16 +++-------------
+ 1 file changed, 3 insertions(+), 13 deletions(-)
+
+diff --git a/src/scripts/charmc b/src/scripts/charmc
+index 4d37a6b..8ec2f70 100755
+--- a/src/scripts/charmc
++++ b/src/scripts/charmc
+@@ -361,19 +361,9 @@ then
+ PROG_EXT=".exe"
+ fi
+
+-CHARMLIB="$CHARMBIN/../lib"
+-CHARMINC="$CHARMBIN/../include"
+-CHARMLIBSO=
+-if test -d "$CHARMBIN/../lib_so"
+-then
+- CHARMLIBSO=`cd $CHARMBIN/../lib_so 2>/dev/null && pwd`
+- #getting absolute path is harder than thought because of symbolic links and ..
+- #ksh needs cd -P to resolve werid symbolic links, however -P is not portable
+- #csh is ok too if it exists
+- test -z "$CHARMLIBSO" && CHARMLIBSO=`cd -P $CHARMBIN/../lib_so 2>/dev/null && pwd`
+- test -z "$CHARMLIBSO" && CHARMLIBSO=`csh -c "cd $CHARMBIN/../lib_so >& /dev/null && pwd"`
+- test -z "$CHARMLIBSO" && echo "$CHARMBIN/../lib_so: not found" && exit 1
+-fi
++CHARMLIB="/usr/gentoo-libdir"
++CHARMINC="/usr/include/gentoo-include"
++CHARMLIBSO="/usr/gentoo-libdir"
+
+ ##############################################################################
+ #
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch b/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch
new file mode 100644
index 000000000000..ec71eb27d469
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-cleanup-config.patch
@@ -0,0 +1,58 @@
+From b0af812652269a59457ad1bbf57165c0543bcd07 Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Fri, 27 Sep 2013 10:49:52 -0600
+Subject: [PATCH 1/4] Commented out colliding defines in conv-autoconfig.h
+
+The colliding defines (bug #252) are commented out in configure.
+---
+ src/scripts/configure | 5 +++++
+ src/scripts/configure.in | 3 +++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/src/scripts/configure b/src/scripts/configure
+index acd582c..faf268f 100755
+--- a/src/scripts/configure
++++ b/src/scripts/configure
+@@ -1703,6 +1703,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ ac_config_headers="$ac_config_headers conv-autoconfig.h"
+
+
++ac_config_commands="$ac_config_commands config-cleanup"
++
++
+ CHARMINC="."
+ test -r ./conv-config.sh && . ./conv-config.sh
+
+@@ -5259,6 +5262,7 @@ for ac_config_target in $ac_config_targets
+ do
+ case $ac_config_target in
+ "conv-autoconfig.h") CONFIG_HEADERS="$CONFIG_HEADERS conv-autoconfig.h" ;;
++ "config-cleanup") CONFIG_COMMANDS="$CONFIG_COMMANDS config-cleanup" ;;
+ "libs/ck-libs/ampi/ampiCC") CONFIG_FILES="$CONFIG_FILES libs/ck-libs/ampi/ampiCC" ;;
+ "libs/ck-libs/ampi/ampirun") CONFIG_FILES="$CONFIG_FILES libs/ck-libs/ampi/ampirun" ;;
+ "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+@@ -5812,6 +5816,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
+
+
+ case $ac_file$ac_mode in
++ "config-cleanup":C) sed -i -e 's:^#define\s\+PACKAGE://&:' conv-autoconfig.h ;;
+ "default":C) chmod +x libs/ck-libs/ampi/ampiCC libs/ck-libs/ampi/ampirun
+ ;;
+
+diff --git a/src/scripts/configure.in b/src/scripts/configure.in
+index d1285ed..cad9a42 100644
+--- a/src/scripts/configure.in
++++ b/src/scripts/configure.in
+@@ -3,6 +3,9 @@ AC_INIT(./Makefile)
+
+ AC_CONFIG_HEADER(conv-autoconfig.h)
+
++AC_CONFIG_COMMANDS([config-cleanup],
++ [sed -i -e 's:^#define\s\+PACKAGE://&:' conv-autoconfig.h])
++
+ CHARMINC="."
+ test -r ./conv-config.sh && . ./conv-config.sh
+
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch b/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch
new file mode 100644
index 000000000000..6ed4c1989b4c
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-fix-markupSanitizer.patch
@@ -0,0 +1,203 @@
+From 88f5739d3f0d34c51f318fc460b843253b4242e0 Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Fri, 8 Nov 2013 09:58:55 -0700
+Subject: [PATCH 2/2] Make markupSanitizer.py support python 3.1 and 3.2
+
+The script only supports <python-3 because of how uni-code literals are
+treated in python-3.{1,2}. In python-2, a unicode string had to be prefixed
+with 'u', while this notation was dropped in python-3.{1,2}. I have added a
+check to the script so that it runs now with python-2.7 and python-3.{1,2,3}.
+---
+ doc/markupSanitizer.py | 179 ++++++++++++++++++++++++++-----------------------
+ 1 file changed, 95 insertions(+), 84 deletions(-)
+
+diff --git a/doc/markupSanitizer.py b/doc/markupSanitizer.py
+index f206cab..6fe247d 100755
+--- a/doc/markupSanitizer.py
++++ b/doc/markupSanitizer.py
+@@ -4,87 +4,98 @@ from bs4 import BeautifulSoup
+ import sys
+ import os
+
+-# Accept filename as user input
+-argc = len( sys.argv )
+-if (argc < 2): raise Exception
+-fileName = sys.argv[1];
+-
+-# Construct a DOM object
+-soup = BeautifulSoup(open(fileName), "lxml")
+-
+-# Assuming, tt tags are not spewed recklessly by latex2html,
+-# replace them with code tags
+-for t in soup('tt'):
+- t.wrap( soup.new_tag('code') )
+- t.unwrap()
+-
+-# Rewrap all div class=alltt blocks in pre tags
+-for d in soup('div','alltt'):
+- d.wrap( soup.new_tag('pre') )
+- d.unwrap()
+-
+-# Remove br and span tags from within pre sections
+-for p in soup('pre'):
+- for b in p('br'):
+- b.extract()
+- for s in p('span'):
+- s.unwrap()
+-
+-# Remove all useless class 'arabic' spans
+-for s in soup('span','arabic'):
+- s.unwrap()
+-
+-# Extract the navigation bar
+-navmenu = soup.find('div', 'navigation')
+-if navmenu:
+- navmenu.extract()
+-
+-# Wrap the remaining contents within a div
+-if not soup.find('div', id='maincontainer'):
+- soup.body['id'] = 'maincontainer'
+- soup.body.name = 'div'
+- soup.find('div', id='maincontainer').wrap( soup.new_tag('body') )
+-
+-if navmenu:
+- # If this navmenu doesn't already have a TOC, insert one
+- if not navmenu.find('ul','manual-toc'):
+- # Add a toc within the navmenu
+- navmenuTOC = BeautifulSoup(open("tmp-navmenu.html"), "lxml")
+- navmenuTOC = navmenuTOC.find('ul','manual-toc').extract()
+- navmenuTOC.append( BeautifulSoup("".join([
+- '<li><a href="http://charm.cs.illinois.edu">PPL Homepage</a></li>',
+- '<li><a href="http://charm.cs.illinois.edu/help">Other Manuals</a></li>'])
+- ) )
+- navmenu.append(navmenuTOC)
+-
+- # Insert navigation symbols to prev and next links
+- prevsymbol = soup.new_tag('span')
+- prevsymbol['class'] = 'navsymbol'
+- prevsymbol.string = u'\xab'
+- prv = navmenu.find('li',id='nav-prev')
+- if prv:
+- prv.find('a').insert(0, prevsymbol)
+-
+- nextsymbol = soup.new_tag('span')
+- nextsymbol['class'] = 'navsymbol'
+- nextsymbol.string = u'\xbb'
+- nxt = navmenu.find('li',id='nav-next')
+- if nxt:
+- nxt.find('a').append(nextsymbol)
+-
+- # Reinsert the navigation bar at the end
+- soup.body.append(navmenu)
+-
+-# Extract the title
+-titl = soup.find('title')
+-
+-# Replace the head section with the user-supplied head markup
+-soup.find('head').extract()
+-newhead = BeautifulSoup(open("../assets/head.html"), "lxml")
+-newhead = newhead.find('head').extract()
+-newhead.append(titl)
+-soup.html.body.insert_before(newhead)
+-
+-# Print cleaned up markup to stdout
+-print( soup.prettify(formatter="html") )
+-
++def main ():
++ # Accept filename as user input
++ argc = len( sys.argv )
++ if (argc < 2): raise Exception
++ fileName = sys.argv[1];
++
++ # Construct a DOM object
++ soup = BeautifulSoup(open(fileName), "lxml")
++
++ # Assuming, tt tags are not spewed recklessly by latex2html,
++ # replace them with code tags
++ for t in soup('tt'):
++ t.wrap( soup.new_tag('code') )
++ t.unwrap()
++
++ # Rewrap all div class=alltt blocks in pre tags
++ for d in soup('div','alltt'):
++ d.wrap( soup.new_tag('pre') )
++ d.unwrap()
++
++ # Remove br and span tags from within pre sections
++ for p in soup('pre'):
++ for b in p('br'):
++ b.extract()
++ for s in p('span'):
++ s.unwrap()
++
++ # Remove all useless class 'arabic' spans
++ for s in soup('span','arabic'):
++ s.unwrap()
++
++ # Extract the navigation bar
++ navmenu = soup.find('div', 'navigation')
++ if navmenu:
++ navmenu.extract()
++
++ # Wrap the remaining contents within a div
++ if not soup.find('div', id='maincontainer'):
++ soup.body['id'] = 'maincontainer'
++ soup.body.name = 'div'
++ soup.find('div', id='maincontainer').wrap( soup.new_tag('body') )
++
++ if navmenu:
++ # If this navmenu doesn't already have a TOC, insert one
++ if not navmenu.find('ul','manual-toc'):
++ # Add a toc within the navmenu
++ navmenuTOC = BeautifulSoup(open("tmp-navmenu.html"), "lxml")
++ navmenuTOC = navmenuTOC.find('ul','manual-toc').extract()
++ navmenuTOC.append( BeautifulSoup("".join([
++ '<li><a href="http://charm.cs.illinois.edu">PPL Homepage</a></li>',
++ '<li><a href="http://charm.cs.illinois.edu/help">Other Manuals</a></li>'])
++ ) )
++ navmenu.append(navmenuTOC)
++
++ # Insert navigation symbols to prev and next links
++ prevsymbol = soup.new_tag('span')
++ prevsymbol['class'] = 'navsymbol'
++ prevsymbol.string = u('\xab')
++ prv = navmenu.find('li',id='nav-prev')
++ if prv:
++ prv.find('a').insert(0, prevsymbol)
++
++ nextsymbol = soup.new_tag('span')
++ nextsymbol['class'] = 'navsymbol'
++ nextsymbol.string = u('\xbb')
++ nxt = navmenu.find('li',id='nav-next')
++ if nxt:
++ nxt.find('a').append(nextsymbol)
++
++ # Reinsert the navigation bar at the end
++ soup.body.append(navmenu)
++
++ # Extract the title
++ titl = soup.find('title')
++
++ # Replace the head section with the user-supplied head markup
++ soup.find('head').extract()
++ newhead = BeautifulSoup(open("../assets/head.html"), "lxml")
++ newhead = newhead.find('head').extract()
++ newhead.append(titl)
++ soup.html.body.insert_before(newhead)
++
++ # Print cleaned up markup to stdout
++ print( soup.prettify(formatter="html") )
++
++if sys.version < '3':
++ import codecs
++ def u (x):
++ return codecs.unicode_escape_decode(x)[0]
++else:
++ def u (x):
++ return x
++
++if __name__ == "__main__":
++ main()
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch b/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch
new file mode 100644
index 000000000000..a19a8dba1ff7
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-fix-navmenuGenerator.patch
@@ -0,0 +1,30 @@
+From 8b699f6c49df26b979da397b47c7dc7a099ed6b6 Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Sat, 28 Sep 2013 07:47:36 -0600
+Subject: [PATCH] Properly test for None return value in navmenuGenerator.py
+
+---
+ doc/navmenuGenerator.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/doc/navmenuGenerator.py b/doc/navmenuGenerator.py
+index c10afb5..5e5b97c 100755
+--- a/doc/navmenuGenerator.py
++++ b/doc/navmenuGenerator.py
+@@ -13,7 +13,12 @@ fileName = sys.argv[1];
+ soup = BeautifulSoup(open(fileName), "lxml")
+
+ # Get just the table of contents from the index page
+-toc = soup.find("ul","ChildLinks").extract()
++toc = soup.find("ul","ChildLinks")
++
++if toc == None:
++ sys.exit(0)
++
++toc = toc.extract()
+
+ # Retain only part and chapter titles
+ for sctn in toc.select("li > ul > li > ul"):
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch
new file mode 100644
index 000000000000..1cc6b432c3d4
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-fix-string-parsing.patch
@@ -0,0 +1,50 @@
+From 14f407a5d183cdac7029cc54a9d8ae6b0cb5cbcd Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Fri, 27 Sep 2013 10:52:18 -0600
+Subject: [PATCH 3/4] charmrun.c: parsing of strings now parses "\n" into '\n'
+
+Since gdb lacks anything like ';' to separate several commands in one line,
+the commands need to be separated by a newline character. I have added some
+parsing logic so that the string "\n" will now be translated into the
+character '\n'.
+---
+ src/arch/net/charmrun/charmrun.c | 23 +++++++++++++++++++++--
+ 1 file changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/src/arch/net/charmrun/charmrun.c b/src/arch/net/charmrun/charmrun.c
+index 6837712..8818cf8 100644
+--- a/src/arch/net/charmrun/charmrun.c
++++ b/src/arch/net/charmrun/charmrun.c
+@@ -454,8 +454,27 @@ static int pparam_setdef(def, value)
+ if (*p) return -1;
+ return 0;
+ case 's' :
+- *def->where.s = strdup(value);
+- return 0;
++ {
++ /* Parse input string and convert a literal "\n" into '\n'. */
++ *def->where.s = (char*) calloc(strlen(value)+1, sizeof(char));
++ char* parsed_value = (char*) *def->where.s;
++ int i;
++ int j = 0;
++ for(i = 0; i < strlen(value); i++)
++ {
++ if(i+1 < strlen(value))
++ {
++ if(value[i] == '\\' && value[i+1] == 'n')
++ {
++ parsed_value[j++] = '\n';
++ i++;
++ continue;
++ }
++ }
++ parsed_value[j++] = value[i];
++ }
++ return 0;
++ }
+ case 'f' :
+ *def->where.f = strtol(value, &p, 10);
+ if (*p) return -1;
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch b/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch
new file mode 100644
index 000000000000..13efb2123b55
--- /dev/null
+++ b/sys-cluster/charm/files/charm-6.5.1-static-library-fix.patch
@@ -0,0 +1,396 @@
+From 3a7261ab3a00472dd4bde0619c145c69aecf80c3 Mon Sep 17 00:00:00 2001
+From: Nicolas Bock <nicolasbock@gmail.com>
+Date: Mon, 14 Oct 2013 07:15:14 -0600
+Subject: [PATCH] Some libraries are only built statically,
+
+preventing a Charm++ installation with only dynamic libraries.
+
+On a typical Linux system only shared libraries are installed, because of the
+usual security and bloat arguments. However, if I build charm with
+--build-shared, and then install only what is in lib_so, the charmc script
+breaks because some Converse libraries are built purely as .o and don't end up
+in lib_so. One example is seed based load balancing, e.g. libldb-rand.o. As
+far as I can tell, this is not too hard to fix. In the main makefile, the
+targets libldb-*.o are renamed to libldb-*.a, and the charmc script now tests
+both .a and .so when linking the seed based load balancing code.
+---
+ src/scripts/Makefile | 136 +++++++++++++++++++++++++--------------------------
+ src/scripts/charmc | 37 ++++++++------
+ 2 files changed, 91 insertions(+), 82 deletions(-)
+
+diff --git a/src/scripts/Makefile b/src/scripts/Makefile
+index 51d0e7b..1550ed2 100644
+--- a/src/scripts/Makefile
++++ b/src/scripts/Makefile
+@@ -349,7 +349,7 @@ dirs+sources:
+ # Converse Libraries
+ #
+ ###############################################################################
+-CLBLIBS=$(L)/libldb-rand.o $(L)/libldb-spray.o $(L)/libldb-workstealing.o $(L)/libldb-neighbor.o $(L)/libldb-none.o $(L)/libldb-test.o $(L)/libldb-bluegene.o
++CLBLIBS=$(L)/libldb-rand.a $(L)/libldb-spray.a $(L)/libldb-workstealing.a $(L)/libldb-neighbor.a $(L)/libldb-none.a $(L)/libldb-test.a $(L)/libldb-bluegene.a
+
+ TRACELIBS = $(L)/libtrace-converse.a $(L)/libtracef_f.a
+
+@@ -363,32 +363,32 @@ TRACELIBS += $(L)/libtrace-projections.a $(L)/libtrace-summary.a \
+ $(L)/libtrace-memory.a
+ endif
+
+-MEMLIBS=$(L)/libmemory-default.o $(L)/libmemory-os.o $(L)/libmemory-gnu.o \
+- $(L)/libmemory-gnuold.o $(L)/libmemory-verbose.o \
+- $(L)/libmemory-paranoid.o \
+- $(L)/libmemory-leak.o $(L)/libmemory-isomalloc.o \
+- $(L)/libmemory-os-verbose.o $(L)/libmemory-os-isomalloc.o \
+- $(L)/libmemory-os-leak.o $(L)/libmemory-os-paranoid.o \
+- $(L)/libmemory-os-lock.o $(L)/libmemory-os-wrapper.o
++MEMLIBS=$(L)/libmemory-default.a $(L)/libmemory-os.a $(L)/libmemory-gnu.a \
++ $(L)/libmemory-gnuold.a $(L)/libmemory-verbose.a \
++ $(L)/libmemory-paranoid.a \
++ $(L)/libmemory-leak.a $(L)/libmemory-isomalloc.a \
++ $(L)/libmemory-os-verbose.a $(L)/libmemory-os-isomalloc.a \
++ $(L)/libmemory-os-leak.a $(L)/libmemory-os-paranoid.a \
++ $(L)/libmemory-os-lock.a $(L)/libmemory-os-wrapper.a
+
+ BUILD_CHARMDEBUG=$(shell CHARMINC=.; if test -f ./conv-config.sh; then . ./conv-config.sh; echo $$CMK_CHARMDEBUG; fi )
+
+ ifneq "$(BUILD_CHARMDEBUG)" "0"
+-MEMLIBS += $(L)/libmemory-charmdebug.o $(L)/libmemory-charmdebug-mmap.o \
+- $(L)/libmemory-charmdebug-slot.o \
+- $(L)/libmemory-charmdebug-mmap-slot.o \
+- $(L)/libmemory-os-charmdebug.o $(L)/libmemory-hooks-charmdebug.o
++MEMLIBS += $(L)/libmemory-charmdebug.a $(L)/libmemory-charmdebug-mmap.a \
++ $(L)/libmemory-charmdebug-slot.a \
++ $(L)/libmemory-charmdebug-mmap-slot.a \
++ $(L)/libmemory-os-charmdebug.a $(L)/libmemory-hooks-charmdebug.a
+ endif
+
+-THREADLIBS=$(L)/libthreads-default.o $(L)/libthreads-default-tls.o \
+- $(L)/libthreads-qt.o $(L)/libthreads-qt-tls.o \
+- $(L)/libthreads-context.o $(L)/libthreads-context-tls.o \
+- $(L)/libthreads-uJcontext.o $(L)/libthreads-uJcontext-tls.o \
+- $(L)/libthreads-pthreads.o $(L)/libthreads-fibers.o \
+- $(L)/libthreads-stackcopy.o $(L)/libthreads-memoryalias.o \
+- $(L)/libthreads-qt-memoryalias.o \
+- $(L)/libthreads-context-memoryalias.o \
+- $(L)/libthreads-uJcontext-memoryalias.o
++THREADLIBS=$(L)/libthreads-default.a $(L)/libthreads-default-tls.a \
++ $(L)/libthreads-qt.a $(L)/libthreads-qt-tls.a \
++ $(L)/libthreads-context.a $(L)/libthreads-context-tls.a \
++ $(L)/libthreads-uJcontext.a $(L)/libthreads-uJcontext-tls.a \
++ $(L)/libthreads-pthreads.a $(L)/libthreads-fibers.a \
++ $(L)/libthreads-stackcopy.a $(L)/libthreads-memoryalias.a \
++ $(L)/libthreads-qt-memoryalias.a \
++ $(L)/libthreads-context-memoryalias.a \
++ $(L)/libthreads-uJcontext-memoryalias.a
+
+ CVLIBS=$(L)/libconv-core.a \
+ $(L)/libconv-cplus-y.a $(L)/libconv-cplus-n.a \
+@@ -543,19 +543,19 @@ lz4.o: lz4.c lz4.h
+ $(CHARMC) -o $@ $<
+
+ ## Converse load balancers (seed balancers, -balance)
+-$(L)/libldb-none.o: cldb.none.c $(CVHEADERS)
++$(L)/libldb-none.a: cldb.none.c $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.none.c
+
+-$(L)/libldb-rand.o: cldb.rand.c cldb.h $(CVHEADERS)
++$(L)/libldb-rand.a: cldb.rand.c cldb.h $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.rand.c
+
+-$(L)/libldb-neighbor.o: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS)
++$(L)/libldb-neighbor.a: cldb.neighbor.c cldb.neighbor.h graph.h $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.neighbor.c
+
+-$(L)/libldb-workstealing.o: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS)
++$(L)/libldb-workstealing.a: cldb.workstealing.c cldb.workstealing.h graph.h $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.workstealing.c
+
+-$(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS)
++$(L)/libldb-spray.a: cldb.spray.c $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.spray.c
+
+
+@@ -565,138 +565,138 @@ $(L)/libldb-spray.o: cldb.spray.c $(CVHEADERS)
+ #//$(L)/libldb-prioritycentralizedopt.o: cldb.prioritycentralizedopt.c cldb.prioritycentralizedopt.h $(CVHEADERS)
+ #// $(CHARMC) -o $@ cldb.prioritycentralizedopt.c
+
+-$(L)/libldb-test.o: cldb.test.c $(CVHEADERS)
++$(L)/libldb-test.a: cldb.test.c $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.test.c
+
+-$(L)/libldb-bluegene.o: cldb.bluegene.c $(CVHEADERS)
++$(L)/libldb-bluegene.a: cldb.bluegene.c $(CVHEADERS)
+ $(CHARMC) -o $@ cldb.bluegene.c
+
+ ## Memory allocation libraries (-memory)
+ MEM_DEPS=memory.c memory-gnu.c memory-gnuold.c converse.h conv-mach.h $(CVHEADERS)
+-$(L)/libmemory-default.o: $(MEM_DEPS)
++$(L)/libmemory-default.a: $(MEM_DEPS)
+ $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_DEFAULT memory.c
+
+-$(L)/libmemory-os.o: $(MEM_DEPS)
++$(L)/libmemory-os.a: $(MEM_DEPS)
+ $(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS memory.c
+
+-$(L)/libmemory-os-verbose.o: memory-verbose.c $(MEM_DEPS)
++$(L)/libmemory-os-verbose.a: memory-verbose.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@
+
+-$(L)/libmemory-os-paranoid.o: memory-paranoid.c $(MEM_DEPS)
++$(L)/libmemory-os-paranoid.a: memory-paranoid.c $(MEM_DEPS)
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@
+
+-$(L)/libmemory-os-leak.o: $(MEM_DEPS)
++$(L)/libmemory-os-leak.a: $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@
+
+-$(L)/libmemory-os-isomalloc.o: memory-isomalloc.c $(MEM_DEPS)
++$(L)/libmemory-os-isomalloc.a: memory-isomalloc.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@
+
+-$(L)/libmemory-os-lock.o: memory-lock.c $(MEM_DEPS)
++$(L)/libmemory-os-lock.a: memory-lock.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_LOCK memory.c || touch $@
+
+-$(L)/libmemory-os-charmdebug.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-os-charmdebug.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_OS_WRAPPED -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@
+
+-$(L)/libmemory-os-wrapper.o: memory-os-wrapper.C $(MEM_DEPS)
++$(L)/libmemory-os-wrapper.a: memory-os-wrapper.C $(MEM_DEPS)
+ -$(CHARMC) -o $@ memory-os-wrapper.C || touch $@
+
+-$(L)/libmemory-hooks-charmdebug.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-hooks-charmdebug.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -o $@ -DCMK_MEMORY_BUILD_GNU_HOOKS -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@
+
+ # If the system doesn't have sbrk, these compilations may fail.
+ # This is OK, but then we can't use "-memory gnu" or friends.
+-$(L)/libmemory-gnu.o: $(MEM_DEPS)
++$(L)/libmemory-gnu.a: $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNU memory.c || touch $@
+
+-$(L)/libmemory-gnuold.o: $(MEM_DEPS)
++$(L)/libmemory-gnuold.a: $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_GNUOLD memory.c || touch $@
+
+-$(L)/libmemory-verbose.o: memory-verbose.c $(MEM_DEPS)
++$(L)/libmemory-verbose.a: memory-verbose.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_VERBOSE memory.c || touch $@
+
+-$(L)/libmemory-paranoid.o: memory-paranoid.c $(MEM_DEPS)
++$(L)/libmemory-paranoid.a: memory-paranoid.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_PARANOID memory.c || touch $@
+
+-$(L)/libmemory-leak.o: memory-leak.c $(MEM_DEPS)
++$(L)/libmemory-leak.a: memory-leak.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_LEAK memory.c || touch $@
+
+-$(L)/libmemory-cache.o: memory-cache.c $(MEM_DEPS)
++$(L)/libmemory-cache.a: memory-cache.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_CACHE memory.c || touch $@
+
+-$(L)/libmemory-isomalloc.o: memory-isomalloc.c $(MEM_DEPS)
++$(L)/libmemory-isomalloc.a: memory-isomalloc.c $(MEM_DEPS)
+ -$(CHARMC) -I. -o $@ -DCMK_MEMORY_BUILD_ISOMALLOC memory.c || touch $@
+
+-$(L)/libmemory-charmdebug.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-charmdebug.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG memory.c || touch $@
+
+-$(L)/libmemory-charmdebug-slot.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-charmdebug-slot.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCMK_SEPARATE_SLOT memory.c || touch $@
+
+-$(L)/libmemory-charmdebug-mmap.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-charmdebug-mmap.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP memory.c || touch $@
+
+-$(L)/libmemory-charmdebug-mmap-slot.o: memory-charmdebug.c $(MEM_DEPS)
++$(L)/libmemory-charmdebug-mmap-slot.a: memory-charmdebug.c $(MEM_DEPS)
+ -$(CHARMC) -I. -optimize -o $@ -DCMK_MEMORY_BUILD_CHARMDEBUG -DCPD_USE_MMAP -DCMK_SEPARATE_SLOT memory.c || touch $@
+
+ ## Thread libraries (-thread)
+
+ LIBTHREADSDEPS = threads.c $(CVHEADERS) QUICK_THREADS
+
+-$(L)/libthreads-default.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-default.a: $(LIBTHREADSDEPS)
+ $(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads -I. threads.c
+
+-$(L)/libthreads-default-tls.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-default-tls.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_DEFAULT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c 2> /dev/null || touch $@
+
+-$(L)/libthreads-qt.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-qt.a: $(LIBTHREADSDEPS)
+ $(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c
+
+-$(L)/libthreads-qt-tls.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-qt-tls.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_QT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@
+
+-$(L)/libthreads-context.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-context.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-context-tls.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-context-tls.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_CONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads threads.c 2> /dev/null || touch $@
+
+-$(L)/libthreads-uJcontext.o: $(LIBTHREADSDEPS) uJcontext.c
++$(L)/libthreads-uJcontext.a: $(LIBTHREADSDEPS) uJcontext.c
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@
+
+-$(L)/libthreads-uJcontext-tls.o: $(LIBTHREADSDEPS) uJcontext.c
++$(L)/libthreads-uJcontext-tls.a: $(LIBTHREADSDEPS) uJcontext.c
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_JCONTEXT=1 -DCMK_THREADS_BUILD_TLS=1 -IQuickThreads -I. threads.c || touch $@
+
+-$(L)/libthreads-pthreads.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-pthreads.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_PTHREADS=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-fibers.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-fibers.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_FIBERS=1 -IQuickThreads threads.c 2> /dev/null || touch $@
+
+-$(L)/libthreads-stackcopy.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-stackcopy.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_BUILD_STACKCOPY=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-memoryalias.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-memoryalias.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_DEFAULT=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-qt-memoryalias.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-qt-memoryalias.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_QT=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-context-memoryalias.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-context-memoryalias.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_CONTEXT=1 -IQuickThreads threads.c || touch $@
+
+-$(L)/libthreads-uJcontext-memoryalias.o: $(LIBTHREADSDEPS)
++$(L)/libthreads-uJcontext-memoryalias.a: $(LIBTHREADSDEPS)
+ -$(CHARMC) -o $@ -DCMK_THREADS_ALIAS_STACK=1 -DCMK_THREADS_BUILD_JCONTEXT=1 -IQuickThreads -I. threads.c || touch $@
+
+ ## Global swapping (-swapglobal)
+-swapglobal-target: $(L)/libglobal-swap.o $(L)/libglobal-copy.o $(L)/loadsym.o
++swapglobal-target: $(L)/libglobal-swap.a $(L)/libglobal-copy.a $(L)/loadsym.a
+
+-$(L)/libglobal-swap.o: global-elfgot.C $(CVHEADERS)
++$(L)/libglobal-swap.a: global-elfgot.C $(CVHEADERS)
+ -$(CHARMC) -c global-elfgot.C -o $@ || touch $@
+
+-$(L)/libglobal-copy.o: global-elfcopy.C $(CVHEADERS)
++$(L)/libglobal-copy.a: global-elfcopy.C $(CVHEADERS)
+ -$(CHARMC) -c global-elfcopy.C -o $@ || touch $@
+
+-$(L)/loadsym.o: loadsym.c $(CVHEADERS)
++$(L)/loadsym.a: loadsym.c $(CVHEADERS)
+ -$(CHARMC) -c loadsym.c -o $@ || touch $@
+
+ ###############################################################################
+diff --git a/src/scripts/charmc b/src/scripts/charmc
+index 4d37a6b..ee4e76c 100755
+--- a/src/scripts/charmc
++++ b/src/scripts/charmc
+@@ -340,6 +340,14 @@ printVersion()
+ echo Charm++ Version $version
+ }
+
++getLibraryObject()
++{
++ if [[ -f "${CHARMLIB}/$1-$2.a" ]]; then
++ echo "${CHARMLIB}/$1-$2.a"
++ else
++ echo "${CHARMLIBSO}/$1-$2.so"
++ fi
++}
+
+ ##############################################################################
+ #
+@@ -1616,13 +1624,12 @@ then
+ fi
+
+ BAL_EXT=`getExtention $BALANCE`
+-if [ -z "$BAL_EXT" ]
+-then
+-# Balance has no extention-- is a library reference
+- BAL_OBJ="$CHARMLIB/libldb-$BALANCE.o"
++if [[ -z "$BAL_EXT" ]]; then
++ # Balance has no extension-- is a library reference
++ BAL_OBJ=$(getLibraryObject "libldb" ${BALANCE})
+ else
+-# Balance has some extention-- must be a .o or .a file
+- BAL_OBJ="$BALANCE"
++ # Balance has some extension-- must be a .o or .a file
++ BAL_OBJ="$BALANCE"
+ fi
+
+ Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..."
+@@ -1638,10 +1645,11 @@ then
+ fi
+ fi
+
++Debug "Finished with BAL_OBJ=$BAL_OBJ, TRACEMODE=$TRACEMODE..."
+
+ # Check for valid choice of MEMORY
+
+-MEM_OBJ="$CHARMLIB/libmemory-$MEMORY.o"
++MEM_OBJ=$(getLibraryObject "libmemory" ${MEMORY})
+
+ if [ ! -r $MEM_OBJ -o ! -s $MEM_OBJ ]
+ then
+@@ -1652,7 +1660,7 @@ fi
+ # For memory wrapping around the OS allocator, need to add also the wrapper object
+ case $MEMORY in
+ os-*)
+- MEM_OBJ=$MEM_OBJ" $CHARMLIB/libmemory-os-wrapper.o"
++ MEM_OBJ="${MEM_OBJ} $(getLibraryObject 'libmemory' 'os-wrapper')"
+ ;;
+ esac
+
+@@ -1670,7 +1678,8 @@ then
+ THREAD=${THREAD}-tls
+ fi
+ fi
+-THREAD_OBJ="$CHARMLIB/libthreads-$THREAD.o"
++
++THREAD_OBJ=$(getLibraryObject "libthreads" ${THREAD})
+
+ if [ ! -r $THREAD_OBJ -o ! -s $THREAD_OBJ ]
+ then
+@@ -1836,7 +1845,7 @@ esac
+
+ if [ "$BUILD_SHARE" = "0" ]
+ then
+- MIDDLE_LIBS="$MEM_OBJ $THREAD_OBJ $MIDDLE_LIBS"
++ MIDDLE_LIBS="$MIDDLE_LIBS $MEM_OBJ $THREAD_OBJ"
+ fi
+
+ if [ "$CHARM_SHARED" = "1" ]
+@@ -1848,17 +1857,17 @@ then
+ then
+ LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $PRE_LIBRARIES"
+ else
+- LANG_LIBS="-L$CHARMLIBSO $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES"
++ LANG_LIBS="-L$CHARMLIBSO $OBJECTFILES $modInitObj $PRE_LIBRARIES"
+ fi
+ else
+- LANG_LIBS="-L$CHARMLIB -I$CHARMINC $BAL_OBJ $OBJECTFILES $modInitObj $PRE_LIBRARIES"
++ LANG_LIBS="-L$CHARMLIB -I$CHARMINC $OBJECTFILES $modInitObj $PRE_LIBRARIES"
+ fi
+ if [ "$TRACE_WITH_TAU" = 1 ]
+ then
+ echo "Linking with the TAU libraries: $TAU_LIBS"
+- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS"
++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS $TAU_LIBS"
+ else
+- ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS"
++ ALL_LIBS="$LANG_LIBS $MIDDLE_LIBS $BAL_OBJ $CMK_LIBS $POST_LIBRARIES $CMK_SYSLIBS"
+ fi
+ Debugf "All libraries are: $ALL_LIBS"
+
+--
+1.8.1.5
+
diff --git a/sys-cluster/charm/metadata.xml b/sys-cluster/charm/metadata.xml
new file mode 100644
index 000000000000..0bc87aff66bb
--- /dev/null
+++ b/sys-cluster/charm/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolasbock@gentoo.org</email>
+ <name>Nicolas Bock</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <use>
+ <flag name="ampi">Build implementation of MPI on top of Charm++</flag>
+ <flag name="charmdebug">Enable the charm debugger</flag>
+ <flag name="charmproduction">Optimize performance of Charm++ runtime</flag>
+ <flag name="charmtracing">Enable tracing support in Charm++</flag>
+ <flag name="cmkopt">Enable CMK optimisation</flag>
+ <flag name="mlogft">Compile with Charm++ message logging fault tolerance support</flag>
+ <flag name="numa">Support memory affinity with NUMA</flag>
+ <flag name="syncft">Compile with Charm++ fault tolerance support</flag>
+ <flag name="tcp">Use TCP (instead of UPD) for socket communication</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/charmdebug/Manifest b/sys-cluster/charmdebug/Manifest
new file mode 100644
index 000000000000..482ae85535d0
--- /dev/null
+++ b/sys-cluster/charmdebug/Manifest
@@ -0,0 +1,5 @@
+DIST charmdebug_6.2.0.tar.gz 269703 SHA256 858074b59f8eff1870a75f3b52b194122c1c31d06b65bf3b1209592cf73b6d96 SHA512 03f894c36d4231381cac22c05bc08b6673c3df23259f44539b8bea5c8e812ce53124e832f0df789c45aa15cfbfb3edb69bc4634c1839cef3b42340b19094f5e2 WHIRLPOOL c6705d7c5532d9ffdb959af1fd980998b47642feb06784a058439b69e605821cbd59c167579af932cc1deb355c3de42aca44409f9ab0382acbd72aa5cbef48c0
+EBUILD charmdebug-6.2.0-r1.ebuild 637 SHA256 97cceb8d4ab10380ea1f912fec55bf43000c4d00e4598c935ed024d9d6615633 SHA512 54537a76b89cff5d9bedb67fcb6b4dc42bb6d23c3740d8968dc43140571761b3a460aa177dd2df8166d2e20dee31fa8f8b7403226b3a404ed4c528bb48801cf8 WHIRLPOOL 3cccf48e283a32b97c3e16854423116ab025f4650839a103afb221f48b4c8464258ee1821ad48401ec141c306b2311bec315ce901e3d5820decc9cd9d3b9d244
+MISC ChangeLog 2445 SHA256 23abbbf9ab204c93a96800709ef53e2a120082d136abe8684c3c80ec3c65c706 SHA512 794c0eb4b67385f87f1ceea3b8143f8cfc4202665b6d15f755b0631d3852f34dc65edaa5439efd67b4bcebdc522b46b87495f2574157a5ad84330e4ad2585670 WHIRLPOOL 3e3dda1bae21f0287a3872413f5cd8c25feef72148ebbff934e7c75cafd7a971fad811c139a1e792304f2cd9a5e93f8dbc20450e8d72d8b7c1b15bc295506ada
+MISC ChangeLog-2015 513 SHA256 4852bcbb6440180755fbd5a6193036d83fd9b637fb2764cb4d9b662f09be7f0a SHA512 df4e230e7038513c39df174ca2b3eff2d363f00f0adb01b0d0ba22162c98baa7a555cbd252680337ed0583e24d2785df5fe4e7bb39d5a7598c0e01c2eac09359 WHIRLPOOL 5d4135d0336dfe524212cdab48a60d2535262703a35d270898866ff13359efbdb7bc6e718fe8fb1b0d07dc0f1d7306b1f2ca5f1a4fadae895b749620c053b60e
+MISC metadata.xml 363 SHA256 cf6240d8dbc499458d8d87988a68859a852f74f406280f22e614d96ae2bf6eac SHA512 49a2f641562ba04ec39effc18cd4a917e6147307f6c780836d60db936b7d38ed9144a816420c00096290ca16256cb5cc88913d481a6e838498ab2ac9775c22d1 WHIRLPOOL 7458c4ca458d8e407eb22366ec833115bfe39ba11c748a7a8e47fe625be1d643393618aa58e39362d3b073d5b86132d1cd4be00c6cc24fe63adbd2de5ef0f8fe
diff --git a/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild b/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild
new file mode 100644
index 000000000000..117b686bf762
--- /dev/null
+++ b/sys-cluster/charmdebug/charmdebug-6.2.0-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="A debugger for Charm++ applications"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.illinois.edu/distrib/binaries/charmdebug/charmdebug_${PV}.tar.gz"
+
+S="${WORKDIR}/${PN}"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ >=virtual/jre-1.6
+ sys-cluster/charm[charmdebug,-smp]"
+
+src_install() {
+ java-pkg_newjar ${PN}.jar
+ java-pkg_dolauncher ${PN} \
+ --main charm/debug/ParDebug \
+ --jar ${PN}.jar \
+ --java_args -ms100000000 -mx512000000
+}
diff --git a/sys-cluster/charmdebug/metadata.xml b/sys-cluster/charmdebug/metadata.xml
new file mode 100644
index 000000000000..d61970e70ce8
--- /dev/null
+++ b/sys-cluster/charmdebug/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolasbock@gentoo.org</email>
+ <name>Nicolas Bock</name>
+ </maintainer>
+<maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest
new file mode 100644
index 000000000000..9a35f5ae7af5
--- /dev/null
+++ b/sys-cluster/cinder/Manifest
@@ -0,0 +1,28 @@
+AUX cinder.initd 757 SHA256 704a0e4a5f324e07eccff8842e1ba49278bd3192945e980e213348b339cf0103 SHA512 4307742f874357d322d075e59adeaa6abe3cc099df5fcea4507d8803cb9fe662a83d149fa57002e290c9f88a064c566984772fedf5786988d922fdd687df59d8 WHIRLPOOL aa31d00c766cf711135cd983669976c9c5a450bf17cb3f931645e6efb21abd20c6431a8db8c99632b35cfd66d822bca2d748cb8a16732de3425176c8450ff8b8
+AUX cinder.initd-2 494 SHA256 166f4c34e7dd5627fc3ab2461d5ba4331348660802884c08213960c7bd218825 SHA512 04672a7aa12ece606836787cf28992155f15e76ba4038379ed0767c3c9fe9e83a5008a2357c272f522341bf3e7d3b2a60edd9095acf7e66ef16eb45f1e8a06e4 WHIRLPOOL 6f7bb713179e387c37f1e6e6431b293fe1114ef4601e9ccf54dee0397df95aa37b7ea2d247aeb10279af869ad70e21b2802928fd8f0c35fca2ee2391d8411ee1
+AUX cinder.sudoersd 86 SHA256 a2c2b8f50b21deaceaa2184c00725492cd96db44736cb3fe4bf4aaecc0805b6f SHA512 c158be54e721abc6916db2e710092ca75aac65ac88b19849ccd0f3ebbb7c8879aab6b73aba36537e806abd5b8b5e8fbc24fca79d00015d3308198d5270e51fe1 WHIRLPOOL 52642c53b34b089fb9c82c1307c02cd611ea834492a2919a12902bc974a146348a3dcde3db6058eb417395acaff8131398e70fbfa74c7325abcd695102f372c3
+AUX etc.liberty/api-httpd.conf 572 SHA256 603324371bf142b586e28b1b552689e18a2abcc70ad3a270410fe7d5948ce2c9 SHA512 47e86f6245c2d241d9573932e26391a455d546f7ef0cd94c608c563ea4be4599711fe783c8735bcd0095ad57a55409ae96dcf938ee95024b2225ab8450cfc5b1 WHIRLPOOL 4d991a109c8c6316c42bf0856bd04fd2113198b2552603bbfe4e56dbc4fa62d2c5c8c5abbb47a4cd3384ea20e679a9dc81c0fe160dba4b97be7b101078eb47a6
+AUX etc.liberty/api-paste.ini 1865 SHA256 092270fccc1ab3deb7ff75a345023ffb3cc6d47d28f5324f0f741b5a3531279e SHA512 6ceee5c19dffb8909f7372e9388215bc02acfa69e7d07ccc8278c8702ca25c65be869a8cbea1b2b67f8602d24f0d5bbe07e26d19a44febbb5a9a627e3c3cbad2 WHIRLPOOL 8199bf839e0b478d6a2d94b369dd6ffd7827795c67866380c540c0c6bc061c2b078611b00c9a7301a94d20c6d651083d5619b792213704e76f7cb1eac2733b98
+AUX etc.liberty/logging_sample.conf 1758 SHA256 904eb4c3c9f0ebf07597d7e6da40352ad66bcd4e31a2d201be0081c69d3a1cb4 SHA512 7e5d747b6ceb6458e332fe2741a45f7c095f0bb3c0b4c030839a15f4eb8a1b4e667062ed069ba80901ee496d85aa153c694ef99573650e4426eda0e2de454141 WHIRLPOOL bbbd0ef11c19dc273df651f0702bd507f21936afdf24544b8bc2b80cccb38a881b6c6fe3f21852013f5b050ccedcaed46ecb1d27f799aaec6b8011a07c21fdde
+AUX etc.liberty/policy.json 4623 SHA256 b69e7f2863f5170342daa38daaf5c1d8c0bb264ac7b99e8ce717517e4312d738 SHA512 441a7c6d4a7ff9697ab4498184e4e4daf4f35884aa1e00c44152ee933a924f022008d32e8a5348cad341b50275404cb95c90bc2f3d9f015b77ea61b61764e730 WHIRLPOOL fa0637b761daab66ff37756587ea41fd7116b8be14e1f52ac662dadfae4eb21352fa55e12bbaf91e594bd8daf87a87537d889b1adb1cb496a31429c3bacfbd5b
+AUX etc.liberty/rootwrap.conf 973 SHA256 f12fde48864a16fa12d93e09878d7f73af484d54078274081d1d35c680a4d257 SHA512 f4a52193883bae792e202711979c7d850f5823ca1bdca4fa6b32e89f0ea13af92e8065ffb39c363b2ce6220c039d1a1ff23fa1af381e68714eba6ff76c16a9f7 WHIRLPOOL 85e30b358f9e0fd8115636c4a3e9c5e14ba364341a9a63979568b083c5e123a7858d0077d911708c68636b79dc5fd7b706ec8131b712934ace738bbf869a21db
+AUX etc.liberty/rootwrap.d/volume.filters 9478 SHA256 3bcb6b7786c63b41315ebf524b6fc253e4fba572448ce1bc099f35cf3ddefa07 SHA512 ed5f9456eee9c72aa5e72a745f6f4958bade85d34cd7ee6cdf6c082d69a20bf4f9e46e600b3944dcf63cb744d3ffb3c9c4412e50b8762f254d7b59bb561500d5 WHIRLPOOL d7aa8a444d74fabe515948f31007d13d5da0d36002d5f1b01ef2934f6e8664bf9a8c22b265f378e6dcde98dd79e8e5b043c4ebd569abf44e903210df824f9cae
+DIST cinder-10.0.6.tar.gz 4624145 SHA256 af89e1190dd0b045f62acb439c9fedfcc0118d5d2863f5d7257db7608d210293 SHA512 28c84260909d0c1a9b0cd6a7409dad3e09d0d7bd662b8ca61c6c3ca04fb797723bc0f4df7db3a6951d1ce354a84b907bf1832190c02a5992c8ac70cf95fb00b9 WHIRLPOOL 71f6312a0f74e7496df526e82dc0cf8b128de03ba9096f54e158b885cfae66824c8253111b44514e26fd91edc3c5e15d87ad2122fa8db3d8af10fd9194c51f0a
+DIST cinder-11.0.0.tar.gz 5783539 SHA256 aabf824876b95c0422d7660ed4d03e89e43043928c5294fcf058e0613a02f602 SHA512 2b51879d65f195c433244f696978822c16e92f5aaeebecc970e94d11589ad62452cf46c5925fdf2fce25251dd5bf52db338959e5a9d14047e7faf41f1319153e WHIRLPOOL 8a2fcfacd3ad839237192698e6a6942564ce1f9e0c51635be7ea50ae10e2afb122378e043ad604b5adeda6646d557f8dda005e80b6bd803e4d57362dbfefa0b3
+DIST cinder-9.1.4.tar.gz 4195597 SHA256 ee8a2ca264a41c8f4ed48094722d683cffae99cee910f19a140b0d1d0f5251a4 SHA512 8039d5208296ea54fc869fb05dd91451ac3575eb3dd2ed97d0c63120d18b67b02b835a849cd1ec3dae349920895e13665c15a6daa53f67138823053c49ab87a9 WHIRLPOOL f2fd2bbba72d2f74f1395f2b280ed3304ecec37c9bcdc7b73a104d19698dad123ffdbce58249c426245c68584eb7a10a640f38a9192933d8db30a7f45b79c48e
+DIST newton-cinder-policy.json 6412 SHA256 3a140134201452c52a97eae9f4c45ea30a3a21cc7a30ee619ed37ab0723b6479 SHA512 3473b5790487bd037d54e4a1a89bab9d145bc34d137d52da2b6b311d2dfee2344fec75c6c96bc518a3e0b175fbd6cde71fb546406c0ef835898e3c1c88eb6d56 WHIRLPOOL f34dc729425fd82ddd9905c675fca9b765b4535dc87ec9d94acd1781c331e466f8688aace4954532e376e704cf3f1c8f4103f22e6838d4403c10311358e1ed2b
+DIST newton-cinder-volume.filters 11025 SHA256 c36bdb9abb4d97350db9971dae1c44a713911920362a0c6c5bc3cfe2701dd4f6 SHA512 311a636180a18bb45867d55f9d33f1eff053cc7b278b41149c58a14450ff8e6d2016d749cc3fb81d1976c4ab78f7701a908bd9c81eb6e9da31c20820a4eaff3d WHIRLPOOL 7496fffec8e42eb1c3bea39563cef8d48cb607b7de1ba8a4ac9a831b6def3dcbcfdf7d485aa81f52aa9bdf7600a51ba07ff85fbf88c5c70091ad88f8c01ca37e
+DIST newton-cinder.conf.sample 50793 SHA256 5179c86590fb5c9477ec838f1ccb8cd9c481e8c31384eb7a012f296c68e0ddc1 SHA512 bf3b5fa262d7df57ca8a496724df449eb6c49ea951c1384b216af334db7cb948af5f7a5f24ddcebd4c80cca40da65e8aaa3a65f09ae2e184794ec1bf9bf466db WHIRLPOOL 7798325f7da5e236d49c8aec4218ef1e50e8e1bf8466f5fdb7b51844c5e6059868c9e4286afecefa637acd0e1df5315de2ac787947a31f4c51978529a54e1862
+DIST ocata-cinder-policy.json 6614 SHA256 992b4454d27cacf1c61c10d7c412b2b9673e798029c55747106c31f341bc8800 SHA512 6a3da28674e7bf828a2be8de0b41e6abe59567d0abf2a41781580ba611ca888e072960f3e702e834a1599e6bbb49beb1cd37f7a32e35afaf8dfc73f2852e2302 WHIRLPOOL a60659ee3007417a27dab2b4d4a7b75693b44f185107e951698bc3ae2b472777c8dc208bae1149c81ebf4288aabb37323bec07952105c7e560cec4d8bacf1a92
+DIST ocata-cinder-volume.filters 11067 SHA256 831d60708583b716376e6e68c69d1f5e7ce103010e7831b136fc332f62f84373 SHA512 9600ca77a63db04844ab9d658ffd0d97abe1c669d91f69d126b364b2700d749cd45d7df1e31ffd7e80698157e9267c3138cae098f36d77995bab73afdf32ff9f WHIRLPOOL a0d1bdcf9b36365cdd7c7acc6674bee41aaf1b57cdb35bc5972b9339ca8811e68200d50fa1821065582d0326fca5bf7e89b9c03cfeca77997845dd0a6a9571a8
+DIST ocata-cinder.conf.sample 173024 SHA256 995620f977f2d8ea479985b523824170769aeb2c80e255a1f29bab16e869977b SHA512 bbecf45ad20b3193023a137b5c3237dfc15bd6a232dda5de631096bf55916eb0fffba7506eeffdc1a3c848ac042cb286dea44387ff0eef84ec7bbcaffb4aa58e WHIRLPOOL 8a51471ec37dbe7211b9a0f87c855a34b8641993ed7b8d6c9ae633d2f58e8c112988421032730dbe3fed642de89d0cd2dd347247cc8aeca163134f5334fb68f2
+DIST pike-cinder.conf.sample 185310 SHA256 be8aa4e31f2854a100628188ea6536cd27788c4979b8072b98f35ac895ba9797 SHA512 12c44b7a31888fbf4c70e037a2f5d0b778018e10bd0fc1cb97391bbe2fc6f97bbe4bec0d1504513ee0235ce50decda6883fe64a7d8fd5e329d8ad73e6bb74654 WHIRLPOOL bcf799affb6c2b9adfd133b0630fb1cd4f4a185c3e1ed583d0610b3dc1160757d4a63766df7f2896eefb12a70f0544072a485ef62c8a59c1917eceb730029648
+EBUILD cinder-10.0.6.ebuild 7077 SHA256 2f01351304d809ade448e3c4aac534058852854f51a809c7a3af7ac3f9c6cba4 SHA512 3f1927bd233f73687f25d27d99455fbea611e12e335295eabf9752cc287cf5fa128b2d43f49d08186a0f61dda7f935338b81fc63a534292ad5170b94827ea458 WHIRLPOOL 19a58c8318932263281e3bdff9e3f03a8cd4f9c46de014c56399d17b3b8cf2144e74ac7ba84141b33e6f571c265107ec92a6644c96794d094b33edcfd8175066
+EBUILD cinder-11.0.0.ebuild 7750 SHA256 bb3c0ac5365cd10d48dc954e6c7a3b6a815a7884d487dbf9323b00cd913d254c SHA512 5b3f1b17225e66a0c169400fe9a65abe3e8842325daa0e7bf205c4a9306e625696f431a1b512e378a5da7534cf916f74afa352382ecb9721a1f8e95b35e6d7aa WHIRLPOOL 7bc575f6de9b3ac68b9afc3859f60df2192d999de9cebe34573b7b6f79fc7414e4f25f505caa1ff1a3b0a19f9a61de0eca29c2bc9d3b5dbe8a732da00e278445
+EBUILD cinder-2016.2.9999.ebuild 7156 SHA256 1c96ee04f1199e193610d373e606263041259296796d84493de974af5ca16777 SHA512 e4f341ae8f2cf9a6e3d4c59a8a84f7877bdee83dfd957fd9dc6d0073cd71befd67da1783e3875d68a750b30269903e6ea4184531a189e4b067c237d5b261d6cb WHIRLPOOL 07b0028f0b72e0d8b33203d4a667d54794007c9a0c7fc80b7fa2bdc5ce38765c461df2d0ea6ac06eef77986205fb9f7317d2d22c9c266820370b78a7f3540b34
+EBUILD cinder-2017.1.9999.ebuild 7102 SHA256 543076aecf49af74e25ad111f16cbf470dd728f8a8b0433b807b201e2c979796 SHA512 fe32fd7e9aa2320198b8fa4ecfb0d69fa1455c4e98ded2723ea84a33851f2e3c13959a586f7eb34879b09f49b249a7d43e317c0473d01cb7ec9817487737ae15 WHIRLPOOL a060b160f14a4d83565b517b3cce223cd31e70bbc66712a45c8bf2d858a3626eec8fdfd3a419cd2453a40540ce14faec0f97cfa9600de695b4371970e30bd8f4
+EBUILD cinder-2017.2.9999.ebuild 7774 SHA256 601e0785cbfccb2f05983cdaaa4878ee3b50abf465690c2084e96bd175c861b2 SHA512 9c967bac3ff3b02e94de987de3260cbdd67608fdc97da30b77ca41aab41c8dc3372b8f40c6fd1d4c23cabdc2352e780a32bdaa6bcac129d0160a469447eeeb0c WHIRLPOOL c44e9f84c6f9dab30b782423a32b95ff9ce3e1ab728ce33c5a2edb11719b97517204db9241fe0730c9d338e012adb102729b95e0d1185f8334e2545651c4b7da
+EBUILD cinder-9.1.4.ebuild 7224 SHA256 d8d8f02ae1a9c2c3032c115be2c225fc5a2757b5d983a8a42c0924a76a38d977 SHA512 8582a735af86c73e64e49f365efee8fe06263f5e228ee83b2e576601b05aca1a500876381710613f1a5ed28ecab4031dae0619ac786f85cbb387e3f6efd19eb1 WHIRLPOOL ac341f92e1674a2b349424f2f439175ec0c17f47bdcdfc14233a4ba32f7c09f5cdc26232c5d9f23220f022eee0a2db669fab79d225af9b89e06c38f66a8e4fd8
+MISC ChangeLog 11312 SHA256 8c18e0202365c8cf9650fb90232026cccab8523580b3d58d5a31feb2365a7916 SHA512 dbd87b5f9ef8ee672cd5974b6f8d9d23ac4c398de68982f1c240d3f39c463b3d8e1764e279dd7b5d7581daa9c1db654880035bbd3f57ac1659adb9c159438344 WHIRLPOOL 92468e210f3bf24e71dc07013218460b16975e1b4dd61e8c2ec5cfa74931592622b48e301d8d86e5b874474663d61f2cf04bcd67e2d723e01f33c463d4e55e9d
+MISC ChangeLog-2015 11216 SHA256 6c55aa9191bee1734ca15844357c93fcaed07adcc3a4a4e7e1f3a9eaaa3f1e09 SHA512 ae7725963e418dfed8c911f56904ba0f758946549d60cfcf6931772aba447b891eb5a49a185ebdd0b06f9f4ff9f5f903368490b696c0e6301ec7ca06ba18808c WHIRLPOOL d6e9ec33deda3abe0e371728dc7d281b39f559604c677ca0b0f500f5bd22ced2e815465646ef54e9856f774ff3faa387190bc3b3061c200d1b59a2f4ac9ebd64
+MISC metadata.xml 1244 SHA256 1f5ba22631205cf585efaf21ca2102d52dd0423fc8ee7ec201b858f1d0cafbfb SHA512 fda201e6974bb0af9c24c1384a3bb2dd0a0c630439d7f1955de336f53804070a68426919fd4dc6f864d502c7e9e99a80d1920c740b6dc179f7b46c7f7fb7aef9 WHIRLPOOL bd8a6a467472099a31dc7adbd9be78a74cf18b3c4c83ef74b697ef24f860f903a3a5939de2ce942104b53c199660efd92a32dcca066675a51b2166c2ebf9e63d
diff --git a/sys-cluster/cinder/cinder-10.0.6.ebuild b/sys-cluster/cinder/cinder-10.0.6.ebuild
new file mode 100644
index 000000000000..50016f1ae5d7
--- /dev/null
+++ b/sys-cluster/cinder/cinder-10.0.6.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters
+https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json"
+ newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-11.0.0.ebuild b/sys-cluster/cinder/cinder-11.0.0.ebuild
new file mode 100644
index 000000000000..09d3aaee0a21
--- /dev/null
+++ b/sys-cluster/cinder/cinder-11.0.0.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample
+https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
+ >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ doins "etc/cinder/policy.json"
+ doins "etc/cinder/resource_filters.json"
+ newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ doins "etc/cinder/rootwrap.d/volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-2016.2.9999.ebuild b/sys-cluster/cinder/cinder-2016.2.9999.ebuild
new file mode 100644
index 000000000000..b0cc1c89ab48
--- /dev/null
+++ b/sys-cluster/cinder/cinder-2016.2.9999.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters"
+EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+EGIT_BRANCH="stable/newton"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ newins "${DISTDIR}/newton-cinder-policy.json" "policy.json"
+ newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-2017.1.9999.ebuild b/sys-cluster/cinder/cinder-2017.1.9999.ebuild
new file mode 100644
index 000000000000..f7d1edd70082
--- /dev/null
+++ b/sys-cluster/cinder/cinder-2017.1.9999.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/cinder.conf.sample -> ocata-cinder.conf.sample
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/policy.json -> ocata-cinder-policy.json
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/ocata/volume.filters -> ocata-cinder-volume.filters"
+EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+EGIT_BRANCH="stable/ocata"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ newins "${DISTDIR}/ocata-cinder-policy.json" "policy.json"
+ newins "${DISTDIR}/ocata-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ newins "${DISTDIR}/ocata-cinder-volume.filters" "volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-2017.2.9999.ebuild b/sys-cluster/cinder/cinder-2017.2.9999.ebuild
new file mode 100644
index 000000000000..9db27e401adc
--- /dev/null
+++ b/sys-cluster/cinder/cinder-2017.2.9999.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/pike/cinder.conf.sample -> pike-cinder.conf.sample"
+EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+EGIT_BRANCH="stable/pike"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.43[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
+ >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd-2" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ doins "etc/cinder/policy.json"
+ doins "etc/cinder/resource_filters.json"
+ newins "${DISTDIR}/pike-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ doins "etc/cinder/rootwrap.d/volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/cinder-9.1.4.ebuild b/sys-cluster/cinder/cinder-9.1.4.ebuild
new file mode 100644
index 000000000000..a4f99f386431
--- /dev/null
+++ b/sys-cluster/cinder/cinder-9.1.4.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/cinder.conf.sample -> newton-cinder.conf.sample
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/policy.json -> newton-cinder-policy.json
+https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/newton/volume.filters -> newton-cinder-volume.filters
+https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ dev-python/enum34[$(python_gen_usedep 'python2_7')]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ virtual/python-ipaddress[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.41[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.60[${PYTHON_USEDEP}]
+ !~dev-python/rtslib-fb-2.1.61[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ ~dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.11.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup cinder
+ enewuser cinder -1 -1 /var/lib/cinder cinder
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ newins "${DISTDIR}/newton-cinder-policy.json" "policy.json"
+ newins "${DISTDIR}/newton-cinder.conf.sample" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ newins "${DISTDIR}/newton-cinder-volume.filters" "volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/files/cinder.initd b/sys-cluster/cinder/files/cinder.initd
new file mode 100644
index 000000000000..0c86345a8a1e
--- /dev/null
+++ b/sys-cluster/cinder/files/cinder.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${SVCNAME}
+command_background=yes
+command_args="--config-file /etc/cinder/cinder.conf --log-file /var/log/cinder/${SVCNAME}.log"
+pidfile=/var/run/cinder/${SVCNAME}.pid
+required_files=/etc/cinder/cinder.conf
+
+start_stop_daemon_args="--quiet --user ${CINDER_USER:-cinder}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_RUN:-/var/run/cinder}
+ checkpath --directory --owner ${CINDER_USER:-cinder}:${CINDER_GROUP:-cinder} --mode 0755 ${CINDER_LOCK:-/var/lock/cinder}
+}
+
diff --git a/sys-cluster/cinder/files/cinder.initd-2 b/sys-cluster/cinder/files/cinder.initd-2
new file mode 100644
index 000000000000..31584dee9d23
--- /dev/null
+++ b/sys-cluster/cinder/files/cinder.initd-2
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${SVCNAME}
+command_background=yes
+command_args="--config-file /etc/cinder/cinder.conf --log-file ${CINDER_LOGDIR:-/var/log/cinder}/${SVCNAME}.log"
+command_user="${CINDER_USER:-cinder}"
+pidfile=/run/${SVCNAME}.pid
+required_files=/etc/cinder/cinder.conf
+retry="SIGTERM/30"
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/cinder/files/cinder.sudoersd b/sys-cluster/cinder/files/cinder.sudoersd
new file mode 100644
index 000000000000..f44bab4a5778
--- /dev/null
+++ b/sys-cluster/cinder/files/cinder.sudoersd
@@ -0,0 +1,4 @@
+Defaults:cinder !requiretty
+
+cinder ALL = (root) NOPASSWD: /usr/bin/cinder-rootwrap
+
diff --git a/sys-cluster/cinder/files/etc.liberty/api-httpd.conf b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf
new file mode 100644
index 000000000000..f3555477acc7
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/api-httpd.conf
@@ -0,0 +1,16 @@
+Listen 8776
+LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" cinder_combined
+
+<VirtualHost *:8776>
+ WSGIDaemonProcess osapi_volume processes=2 threads=1 user=cinder display-name=%{GROUP}
+ WSGIProcessGroup osapi_volume
+ WSGIScriptAlias / /var/www/cgi-bin/cinder/osapi_volume
+ WSGIApplicationGroup %{GLOBAL}
+ WSGIPassAuthorization On
+ <IfVersion >= 2.4>
+ ErrorLogFormat "%{cu}t %M"
+ </IfVersion>
+ ErrorLog /var/log/apache2/cinder_error.log
+ CustomLog /var/log/apache2/cinder.log cinder_combined
+
+</VirtualHost>
diff --git a/sys-cluster/cinder/files/etc.liberty/api-paste.ini b/sys-cluster/cinder/files/etc.liberty/api-paste.ini
new file mode 100644
index 000000000000..b2822b044db0
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/api-paste.ini
@@ -0,0 +1,60 @@
+#############
+# OpenStack #
+#############
+
+[composite:osapi_volume]
+use = call:cinder.api:root_app_factory
+/: apiversions
+/v1: openstack_volume_api_v1
+/v2: openstack_volume_api_v2
+
+[composite:openstack_volume_api_v1]
+use = call:cinder.api.middleware.auth:pipeline_factory
+noauth = request_id faultwrap sizelimit osprofiler noauth apiv1
+keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
+keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
+
+[composite:openstack_volume_api_v2]
+use = call:cinder.api.middleware.auth:pipeline_factory
+noauth = request_id faultwrap sizelimit osprofiler noauth apiv2
+keystone = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
+keystone_nolimit = request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
+
+[filter:request_id]
+paste.filter_factory = oslo_middleware.request_id:RequestId.factory
+
+[filter:faultwrap]
+paste.filter_factory = cinder.api.middleware.fault:FaultWrapper.factory
+
+[filter:osprofiler]
+paste.filter_factory = osprofiler.web:WsgiMiddleware.factory
+hmac_keys = SECRET_KEY
+enabled = yes
+
+[filter:noauth]
+paste.filter_factory = cinder.api.middleware.auth:NoAuthMiddleware.factory
+
+[filter:sizelimit]
+paste.filter_factory = cinder.api.middleware.sizelimit:RequestBodySizeLimiter.factory
+
+[app:apiv1]
+paste.app_factory = cinder.api.v1.router:APIRouter.factory
+
+[app:apiv2]
+paste.app_factory = cinder.api.v2.router:APIRouter.factory
+
+[pipeline:apiversions]
+pipeline = faultwrap osvolumeversionapp
+
+[app:osvolumeversionapp]
+paste.app_factory = cinder.api.versions:Versions.factory
+
+##########
+# Shared #
+##########
+
+[filter:keystonecontext]
+paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory
+
+[filter:authtoken]
+paste.filter_factory = keystonemiddleware.auth_token:filter_factory
diff --git a/sys-cluster/cinder/files/etc.liberty/logging_sample.conf b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf
new file mode 100644
index 000000000000..f9a8deb1b3c1
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/logging_sample.conf
@@ -0,0 +1,93 @@
+[loggers]
+keys = root, cinder, taskflow, cinder_flow_utils
+
+[handlers]
+keys = stderr, stdout, watchedfile, syslog, tasks, null
+
+[formatters]
+keys = context, default
+
+[logger_root]
+level = WARNING
+handlers = null
+
+[logger_cinder]
+level = INFO
+handlers = stderr
+qualname = cinder
+
+# Both of these are used for tracking what cinder and taskflow is doing with
+# regard to flows and tasks (and the activity there-in).
+[logger_cinder_flow_utils]
+level = INFO
+handlers = tasks,stderr
+qualname = cinder.flow_utils
+
+[logger_taskflow]
+level = INFO
+handlers = tasks
+qualname = taskflow
+
+[logger_amqplib]
+level = WARNING
+handlers = stderr
+qualname = amqplib
+
+[logger_sqlalchemy]
+level = WARNING
+handlers = stderr
+qualname = sqlalchemy
+# "level = INFO" logs SQL queries.
+# "level = DEBUG" logs SQL queries and results.
+# "level = WARNING" logs neither. (Recommended for production systems.)
+
+[logger_boto]
+level = WARNING
+handlers = stderr
+qualname = boto
+
+[logger_suds]
+level = INFO
+handlers = stderr
+qualname = suds
+
+[logger_eventletwsgi]
+level = WARNING
+handlers = stderr
+qualname = eventlet.wsgi.server
+
+[handler_stderr]
+class = StreamHandler
+args = (sys.stderr,)
+formatter = context
+
+[handler_stdout]
+class = StreamHandler
+args = (sys.stdout,)
+formatter = context
+
+[handler_watchedfile]
+class = handlers.WatchedFileHandler
+args = ('cinder.log',)
+formatter = context
+
+[handler_tasks]
+class = handlers.WatchedFileHandler
+args = ('tasks.log',)
+formatter = context
+
+[handler_syslog]
+class = handlers.SysLogHandler
+args = ('/dev/log', handlers.SysLogHandler.LOG_USER)
+formatter = context
+
+[handler_null]
+class = logging.NullHandler
+formatter = default
+args = ()
+
+[formatter_context]
+class = oslo_log.formatters.ContextFormatter
+
+[formatter_default]
+format = %(message)s
diff --git a/sys-cluster/cinder/files/etc.liberty/policy.json b/sys-cluster/cinder/files/etc.liberty/policy.json
new file mode 100644
index 000000000000..4c8a8aa5079c
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/policy.json
@@ -0,0 +1,99 @@
+{
+ "context_is_admin": "role:admin",
+ "admin_or_owner": "is_admin:True or project_id:%(project_id)s",
+ "default": "rule:admin_or_owner",
+
+ "admin_api": "is_admin:True",
+
+ "volume:create": "",
+ "volume:delete": "rule:admin_or_owner",
+ "volume:get": "rule:admin_or_owner",
+ "volume:get_all": "rule:admin_or_owner",
+ "volume:get_volume_metadata": "rule:admin_or_owner",
+ "volume:delete_volume_metadata": "rule:admin_or_owner",
+ "volume:update_volume_metadata": "rule:admin_or_owner",
+ "volume:get_volume_admin_metadata": "rule:admin_api",
+ "volume:update_volume_admin_metadata": "rule:admin_api",
+ "volume:get_snapshot": "rule:admin_or_owner",
+ "volume:get_all_snapshots": "rule:admin_or_owner",
+ "volume:delete_snapshot": "rule:admin_or_owner",
+ "volume:update_snapshot": "rule:admin_or_owner",
+ "volume:extend": "rule:admin_or_owner",
+ "volume:update_readonly_flag": "rule:admin_or_owner",
+ "volume:retype": "rule:admin_or_owner",
+ "volume:update": "rule:admin_or_owner",
+
+ "volume_extension:types_manage": "rule:admin_api",
+ "volume_extension:types_extra_specs": "rule:admin_api",
+ "volume_extension:volume_type_access": "rule:admin_or_owner",
+ "volume_extension:volume_type_access:addProjectAccess": "rule:admin_api",
+ "volume_extension:volume_type_access:removeProjectAccess": "rule:admin_api",
+ "volume_extension:volume_type_encryption": "rule:admin_api",
+ "volume_extension:volume_encryption_metadata": "rule:admin_or_owner",
+ "volume_extension:extended_snapshot_attributes": "rule:admin_or_owner",
+ "volume_extension:volume_image_metadata": "rule:admin_or_owner",
+
+ "volume_extension:quotas:show": "",
+ "volume_extension:quotas:update": "rule:admin_api",
+ "volume_extension:quota_classes": "rule:admin_api",
+
+ "volume_extension:volume_admin_actions:reset_status": "rule:admin_api",
+ "volume_extension:snapshot_admin_actions:reset_status": "rule:admin_api",
+ "volume_extension:backup_admin_actions:reset_status": "rule:admin_api",
+ "volume_extension:volume_admin_actions:force_delete": "rule:admin_api",
+ "volume_extension:volume_admin_actions:force_detach": "rule:admin_api",
+ "volume_extension:snapshot_admin_actions:force_delete": "rule:admin_api",
+ "volume_extension:backup_admin_actions:force_delete": "rule:admin_api",
+ "volume_extension:volume_admin_actions:migrate_volume": "rule:admin_api",
+ "volume_extension:volume_admin_actions:migrate_volume_completion": "rule:admin_api",
+
+ "volume_extension:volume_host_attribute": "rule:admin_api",
+ "volume_extension:volume_tenant_attribute": "rule:admin_or_owner",
+ "volume_extension:volume_mig_status_attribute": "rule:admin_api",
+ "volume_extension:hosts": "rule:admin_api",
+ "volume_extension:services:index": "rule:admin_api",
+ "volume_extension:services:update" : "rule:admin_api",
+
+ "volume_extension:volume_manage": "rule:admin_api",
+ "volume_extension:volume_unmanage": "rule:admin_api",
+
+ "volume_extension:capabilities": "rule:admin_api",
+
+ "volume:create_transfer": "rule:admin_or_owner",
+ "volume:accept_transfer": "",
+ "volume:delete_transfer": "rule:admin_or_owner",
+ "volume:get_all_transfers": "rule:admin_or_owner",
+
+ "volume_extension:replication:promote": "rule:admin_api",
+ "volume_extension:replication:reenable": "rule:admin_api",
+
+ "volume:enable_replication": "rule:admin_api",
+ "volume:disable_replication": "rule:admin_api",
+ "volume:failover_replication": "rule:admin_api",
+ "volume:list_replication_targets": "rule:admin_api",
+
+ "backup:create" : "",
+ "backup:delete": "rule:admin_or_owner",
+ "backup:get": "rule:admin_or_owner",
+ "backup:get_all": "rule:admin_or_owner",
+ "backup:restore": "rule:admin_or_owner",
+ "backup:backup-import": "rule:admin_api",
+ "backup:backup-export": "rule:admin_api",
+
+ "snapshot_extension:snapshot_actions:update_snapshot_status": "",
+ "snapshot_extension:snapshot_manage": "rule:admin_api",
+ "snapshot_extension:snapshot_unmanage": "rule:admin_api",
+
+ "consistencygroup:create" : "group:nobody",
+ "consistencygroup:delete": "group:nobody",
+ "consistencygroup:update": "group:nobody",
+ "consistencygroup:get": "group:nobody",
+ "consistencygroup:get_all": "group:nobody",
+
+ "consistencygroup:create_cgsnapshot" : "group:nobody",
+ "consistencygroup:delete_cgsnapshot": "group:nobody",
+ "consistencygroup:get_cgsnapshot": "group:nobody",
+ "consistencygroup:get_all_cgsnapshots": "group:nobody",
+
+ "scheduler_extension:scheduler_stats:get_pools" : "rule:admin_api"
+}
diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.conf b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf
new file mode 100644
index 000000000000..4d280eae5c82
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.conf
@@ -0,0 +1,27 @@
+# Configuration for cinder-rootwrap
+# This file should be owned by (and only-writeable by) the root user
+
+[DEFAULT]
+# List of directories to load filter definitions from (separated by ',').
+# These directories MUST all be only writeable by root !
+filters_path=/etc/cinder/rootwrap.d,/usr/share/cinder/rootwrap
+
+# List of directories to search executables in, in case filters do not
+# explicitely specify a full path (separated by ',')
+# If not specified, defaults to system PATH environment variable.
+# These directories MUST all be only writeable by root !
+exec_dirs=/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin
+
+# Enable logging to syslog
+# Default value is False
+use_syslog=False
+
+# Which syslog facility to use.
+# Valid values include auth, authpriv, syslog, local0, local1...
+# Default value is 'syslog'
+syslog_log_facility=syslog
+
+# Which messages to log.
+# INFO means log all usage
+# ERROR means only log unsuccessful attempts
+syslog_log_level=ERROR
diff --git a/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters
new file mode 100644
index 000000000000..9e7ab384c4f7
--- /dev/null
+++ b/sys-cluster/cinder/files/etc.liberty/rootwrap.d/volume.filters
@@ -0,0 +1,207 @@
+# cinder-rootwrap command filters for volume nodes
+# This file should be owned by (and only-writeable by) the root user
+
+[Filters]
+# cinder/volume/iscsi.py: iscsi_helper '--op' ...
+ietadm: CommandFilter, ietadm, root
+tgtadm: CommandFilter, tgtadm, root
+iscsictl: CommandFilter, iscsictl, root
+tgt-admin: CommandFilter, tgt-admin, root
+cinder-rtstool: CommandFilter, cinder-rtstool, root
+scstadmin: CommandFilter, scstadmin, root
+
+# LVM related show commands
+pvs: EnvFilter, env, root, LC_ALL=C, pvs
+vgs: EnvFilter, env, root, LC_ALL=C, vgs
+lvs: EnvFilter, env, root, LC_ALL=C, lvs
+lvdisplay: EnvFilter, env, root, LC_ALL=C, lvdisplay
+
+# LVM conf var
+pvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, pvs
+vgs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, vgs
+lvs_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvs
+lvdisplay_lvmconf: EnvFilter, env, root, LVM_SYSTEM_DIR=, LC_ALL=C, lvdisplay
+
+# os-brick library commands
+# TODO(smcginnis) This is a temporary fix. Need to pull in os-brick
+# os-brick.filters file instead and clean out stale brick values from
+# this file.
+scsi_id: CommandFilter, /lib/udev/scsi_id, root
+
+# cinder/volumes/drivers/srb.py: 'pvresize', '--setphysicalvolumesize', sizestr, pvname
+pvresize: CommandFilter, pvresize, root
+
+# cinder/brick/local_dev/lvm.py: 'vgcreate', vg_name, pv_list
+vgcreate: CommandFilter, vgcreate, root
+
+# cinder/volumes/drivers/srb.py: 'vgremove', '-f', vgname
+vgremove: CommandFilter, vgremove, root
+
+# cinder/volumes/drivers/srb.py: 'vgchange', '-an', vgname
+# cinder/volumes/drivers/srb.py: 'vgchange', '-ay', vgname
+vgchange: CommandFilter, vgchange, root
+
+# cinder/volume/driver.py: 'lvcreate', '-L', sizestr, '-n', volume_name,..
+# cinder/volume/driver.py: 'lvcreate', '-L', ...
+lvcreate: CommandFilter, lvcreate, root
+
+# cinder/volume/driver.py: 'dd', 'if=%s' % srcstr, 'of=%s' % deststr,...
+dd: CommandFilter, dd, root
+
+# cinder/volume/driver.py: 'lvremove', '-f', %s/%s % ...
+lvremove: CommandFilter, lvremove, root
+
+# cinder/volume/driver.py: 'lvrename', '%(vg)s', '%(orig)s' '(new)s'...
+lvrename: CommandFilter, lvrename, root
+
+# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(lv_name)s' ...
+# cinder/volume/driver.py: 'lvextend', '-L' '%(new_size)s', '%(thin_pool)s' ...
+lvextend: CommandFilter, lvextend, root
+
+# cinder/brick/local_dev/lvm.py: 'lvchange -a y -K <lv>'
+lvchange: CommandFilter, lvchange, root
+
+# cinder/volume/driver.py: 'iscsiadm', '-m', 'discovery', '-t',...
+# cinder/volume/driver.py: 'iscsiadm', '-m', 'node', '-T', ...
+iscsiadm: CommandFilter, iscsiadm, root
+
+# cinder/volume/drivers/lvm.py: 'shred', '-n3'
+# cinder/volume/drivers/lvm.py: 'shred', '-n0', '-z', '-s%dMiB'
+shred: CommandFilter, shred, root
+
+# cinder/volume/utils.py: utils.temporary_chown(path, 0)
+chown: CommandFilter, chown, root
+
+# cinder/volume/utils.py: copy_volume(..., ionice='...')
+ionice_1: ChainingRegExpFilter, ionice, root, ionice, -c[0-3], -n[0-7]
+ionice_2: ChainingRegExpFilter, ionice, root, ionice, -c[0-3]
+
+# cinder/volume/utils.py: setup_blkio_cgroup()
+cgcreate: CommandFilter, cgcreate, root
+cgset: CommandFilter, cgset, root
+cgexec: ChainingRegExpFilter, cgexec, root, cgexec, -g, blkio:\S+
+
+# cinder/volume/driver.py
+dmsetup: CommandFilter, dmsetup, root
+ln: CommandFilter, ln, root
+
+# cinder/image/image_utils.py
+qemu-img: EnvFilter, env, root, LC_ALL=C, qemu-img
+qemu-img_convert: CommandFilter, qemu-img, root
+
+udevadm: CommandFilter, udevadm, root
+
+# cinder/volume/driver.py: utils.read_file_as_root()
+cat: CommandFilter, cat, root
+
+# cinder/volume/nfs.py
+stat: CommandFilter, stat, root
+mount: CommandFilter, mount, root
+df: CommandFilter, df, root
+du: CommandFilter, du, root
+truncate: CommandFilter, truncate, root
+chmod: CommandFilter, chmod, root
+rm: CommandFilter, rm, root
+
+# cinder/volume/drivers/netapp/nfs.py:
+netapp_nfs_find: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -name, img-cache.*, -amin, \+\d+
+
+# cinder/volume/drivers/glusterfs.py
+chgrp: CommandFilter, chgrp, root
+umount: CommandFilter, umount, root
+fallocate: CommandFilter, fallocate, root
+
+# cinder/volumes/drivers/hds/hds.py:
+hus-cmd: CommandFilter, hus-cmd, root
+hus-cmd_local: CommandFilter, /usr/local/bin/hus-cmd, root
+
+# cinder/volumes/drivers/hds/hnas_backend.py
+ssc: CommandFilter, ssc, root
+
+# cinder/brick/initiator/connector.py:
+ls: CommandFilter, ls, root
+tee: CommandFilter, tee, root
+multipath: CommandFilter, multipath, root
+multipathd: CommandFilter, multipathd, root
+systool: CommandFilter, systool, root
+
+# cinder/volume/drivers/block_device.py
+blockdev: CommandFilter, blockdev, root
+
+# cinder/volume/drivers/ibm/gpfs.py
+# cinder/volume/drivers/tintri.py
+mv: CommandFilter, mv, root
+
+# cinder/volume/drivers/ibm/gpfs.py
+cp: CommandFilter, cp, root
+mmgetstate: CommandFilter, /usr/lpp/mmfs/bin/mmgetstate, root
+mmclone: CommandFilter, /usr/lpp/mmfs/bin/mmclone, root
+mmlsattr: CommandFilter, /usr/lpp/mmfs/bin/mmlsattr, root
+mmchattr: CommandFilter, /usr/lpp/mmfs/bin/mmchattr, root
+mmlsconfig: CommandFilter, /usr/lpp/mmfs/bin/mmlsconfig, root
+mmlsfs: CommandFilter, /usr/lpp/mmfs/bin/mmlsfs, root
+mmlspool: CommandFilter, /usr/lpp/mmfs/bin/mmlspool, root
+mkfs: CommandFilter, mkfs, root
+mmcrfileset: CommandFilter, /usr/lpp/mmfs/bin/mmcrfileset, root
+mmlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmlinkfileset, root
+mmunlinkfileset: CommandFilter, /usr/lpp/mmfs/bin/mmunlinkfileset, root
+mmdelfileset: CommandFilter, /usr/lpp/mmfs/bin/mmdelfileset, root
+mmcrsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmcrsnapshot, root
+mmdelsnapshot: CommandFilter, /usr/lpp/mmfs/bin/mmdelsnapshot, root
+
+# cinder/volume/drivers/ibm/gpfs.py
+# cinder/volume/drivers/ibm/ibmnas.py
+find_maxdepth_inum: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -inum, \d+
+
+# cinder/brick/initiator/connector.py:
+aoe-revalidate: CommandFilter, aoe-revalidate, root
+aoe-discover: CommandFilter, aoe-discover, root
+aoe-flush: CommandFilter, aoe-flush, root
+
+# cinder/brick/initiator/linuxscsi.py:
+sg_scan: CommandFilter, sg_scan, root
+
+#cinder/backup/services/tsm.py
+dsmc:CommandFilter,/usr/bin/dsmc,root
+
+# cinder/volume/drivers/hitachi/hbsd_horcm.py
+raidqry: CommandFilter, raidqry, root
+raidcom: CommandFilter, raidcom, root
+pairsplit: CommandFilter, pairsplit, root
+paircreate: CommandFilter, paircreate, root
+pairdisplay: CommandFilter, pairdisplay, root
+pairevtwait: CommandFilter, pairevtwait, root
+horcmstart.sh: CommandFilter, horcmstart.sh, root
+horcmshutdown.sh: CommandFilter, horcmshutdown.sh, root
+horcmgr: EnvFilter, env, root, HORCMINST=, /etc/horcmgr
+
+# cinder/volume/drivers/hitachi/hbsd_snm2.py
+auman: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auman
+auluref: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluref
+auhgdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgdef
+aufibre1: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aufibre1
+auhgwwn: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgwwn
+auhgmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auhgmap
+autargetmap: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetmap
+aureplicationvvol: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationvvol
+auluadd: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluadd
+auludel: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auludel
+auluchgsize: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auluchgsize
+auchapuser: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auchapuser
+autargetdef: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetdef
+autargetopt: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetopt
+autargetini: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/autargetini
+auiscsi: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/auiscsi
+audppool: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/audppool
+aureplicationlocal: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationlocal
+aureplicationmon: EnvFilter, env, root, LANG=, STONAVM_HOME=, LD_LIBRARY_PATH=, STONAVM_RSP_PASS=, STONAVM_ACT=, /usr/stonavm/aureplicationmon
+
+# cinder/volume/drivers/hgst.py
+vgc-cluster: CommandFilter, vgc-cluster, root
+
+# cinder/volume/drivers/vzstorage.py
+pstorage-mount: CommandFilter, pstorage-mount, root
+pstorage: CommandFilter, pstorage, root
+
+# initiator/connector.py:
+drv_cfg: CommandFilter, /opt/emc/scaleio/sdc/bin/drv_cfg, root, /opt/emc/scaleio/sdc/bin/drv_cfg, --query_guid
diff --git a/sys-cluster/cinder/metadata.xml b/sys-cluster/cinder/metadata.xml
new file mode 100644
index 000000000000..997957ff34f4
--- /dev/null
+++ b/sys-cluster/cinder/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Cinder is the OpenStack Block storage service.
+ This is a spin out of nova-volumes.
+ </longdescription>
+ <use>
+ <flag name="api">Installs the initscripts for the cinder api service</flag>
+ <flag name="iscsi">Allow using an iSCSI remote storage server as pool for disk image storage</flag>
+ <flag name="lvm">Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image storage</flag>
+ <flag name="memcached">Installs the memcached server</flag>
+ <flag name="rdma">Enable rdma storage backend support</flag>
+ <flag name="scheduler">Installs the initscripts for the cinder scheduler service</flag>
+ <flag name="tcp">Enables tcp support for the iscsi backend</flag>
+ <flag name="tgt">Enable tgt storage backend support</flag>
+ <flag name="volume">Installs the initscripts for the cinder volume service</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">cinder</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/classads/Manifest b/sys-cluster/classads/Manifest
new file mode 100644
index 000000000000..760c697d4cfb
--- /dev/null
+++ b/sys-cluster/classads/Manifest
@@ -0,0 +1,5 @@
+DIST classads-1.0.10.tar.gz 523847 SHA256 cde2fe23962abb6bc99d8fc5a5cbf88f87e449b63c6bca991d783afb4691efb3 SHA512 4443be2d3a41204110620fea838dbeec1a11f407cacbbb312142b3b8403883cc92da10839ab9dbae1e20433db247fb2117d70d84166fadba6819eab84ebc1dd3 WHIRLPOOL f67c3771e6501a60b907a3aeb28031a9f509101b20aa0a6133a6336e8577061fc7632584000da5501b982f8fb2568243d0c3d433e75338cb428eff2045e57335
+EBUILD classads-1.0.10.ebuild 565 SHA256 1719094994332a6bc778a72588212054b1694000bbde3cc16d2424dd3b2495f6 SHA512 50bf045c4e6362d85441768be476376412e1983e443adb00e92a1a80759545f40b11aeb8e5b2a50e63893b223ecbe8a1535e0ba606e9dc0fd7cf7d2a71ccb77f WHIRLPOOL 6939bbcd76f179bbf7d4caf8f7c1c335d5167f089db9d120a1a2b80f78b684d985453748606a1ef62425b3e92c20a44f7e720908c6170340727a92d98fc9032a
+MISC ChangeLog 2828 SHA256 3b0f45bdd0de3c24a2100bf9849280a65d1cb240c64e4c6cd82881032c62baa1 SHA512 c58c7baf633933a160ede7e210189f7416373dbb8dd137309923770aa823f1608536c497690fc44a81142beb505b179972ed394826e3252dddd0a24328b327a5 WHIRLPOOL 62f7dfb38b42e7eadeae2ee4234c00b92883eacc4b4d7798b317d59dea6f8e0669a6a4b6f9b78e1b9f5de0fc38c5fa83769cf2d34d5ca24277cb98097a2d61c7
+MISC ChangeLog-2015 710 SHA256 7ed38791812f6f4de3e6ef6d00cf5ec8699adf9438559b330c3f932043f2c857 SHA512 dd44da02626323247cf0237cfbfed23ad8bf71972eadba1e1aff8b8a4b7f7c562b0521e9458228c617f0fc3221cdfcc57f65e087bc935a0e265495a1e39bad41 WHIRLPOOL 37250c28fb292903edb476ac3d6a1e22a00dc22225339c6dcd46246200bc1c862d9b02141d9702352850497a4cecd121d6489303f9c27297089351a0366d2b08
+MISC metadata.xml 712 SHA256 e1136d0a3468a713fc08ad54ae8f4fd3eb102349cca34996a414fd4622ed2fd0 SHA512 80baa756bf767596eaa69542002777c0ddac3430a1767a5e37c51897c0a7376caa06b4ffacd2b931f83da46d8dad38bdcd1ce827ad5adae7e643767e811224b0 WHIRLPOOL b05fd5dcb5a52053de377559371883e1f0f53e802424a90a99f0c8d0a00461d412753e6ef38906b933472049edeb870bacbe0f3975d2d086921637ac413fa3e5
diff --git a/sys-cluster/classads/classads-1.0.10.ebuild b/sys-cluster/classads/classads-1.0.10.ebuild
new file mode 100644
index 000000000000..72ea735ea47f
--- /dev/null
+++ b/sys-cluster/classads/classads-1.0.10.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+inherit autotools-utils
+
+DESCRIPTION="Condor's classified advertisement language"
+HOMEPAGE="http://www.cs.wisc.edu/condor/classad/"
+SRC_URI="ftp://ftp.cs.wisc.edu/condor/classad/c++/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="pcre static-libs"
+
+RDEPEND="pcre? ( dev-libs/libpcre )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ myeconfargs+=(
+ --enable-namespace
+ --enable-flexible-member
+ )
+ autotools-utils_src_configure
+}
diff --git a/sys-cluster/classads/metadata.xml b/sys-cluster/classads/metadata.xml
new file mode 100644
index 000000000000..00131e23676c
--- /dev/null
+++ b/sys-cluster/classads/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>bicatali@gentoo.org</email>
+</maintainer>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+<longdescription lang="en">
+ Classified Advertisements (classads) are the lingua franca of
+ Condor. They are used for describing jobs, workstations, and other
+ resources. They are exchanged by Condor processes to schedule
+ jobs. They are logged to files for statistical and debugging
+ purposes. They are used to enquire about current state of the system.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/cluster-glue/Manifest b/sys-cluster/cluster-glue/Manifest
new file mode 100644
index 000000000000..e0c4ae6ad9c3
--- /dev/null
+++ b/sys-cluster/cluster-glue/Manifest
@@ -0,0 +1,8 @@
+AUX heartbeat-logd.init 954 SHA256 ea0640cca5a23be60dea2be33f612529bb3be2a1ddd5630ef6c7473087c9602c SHA512 ef59ad02a608810750cc0241f4d0eb7584624e419f735e0e69b61c2865b68241e9b90a1d817bb838d744d955d9c67708fb89c36df35b17a0f8ef6243904b32c5 WHIRLPOOL cdf077715175837cdf0522f2a715d16b95a20a8e1920d4a072521e68a425834f083db627eef6a4b18da9b25b9b0efe95662975c99ddfb6ecca83d88bf7e261ba
+DIST glue-1.0.11.tar.bz2 466057 SHA256 dbee64df379e565a0983c08d0d5510b04f8abf4bb496368734c02926735bd91c SHA512 35ac8ac555c39f24c11e3a768cc50eba051fe617edf4cdc0429dac73f45a472f144cfe6ec5faff575606f2b04ff76a2f732556d848b61410c2683d93ba928413 WHIRLPOOL 562afc17eb8aab4a97fdf27ca85e771ccaee6bb767682ef2a56a8f0037197c813f58cbf98641b7f327c1137d0c408db2373d4c618eeb0cb0fefb2cee9e735868
+DIST glue-1.0.12.tar.bz2 451569 SHA256 feba102fa1e24b6be2005089ebe362b82d6567af60005cf371679b1b44ec503f SHA512 d5d2f6c426d2bed0d39269338fedfffe840a90ff56b05dff395243d0d8b803593bf35bbce5f7dce376120cd7ddef78400914cb7515b5451c287a1e9e74233122 WHIRLPOOL dc0db40874691d27463480e06a6f98e3b14f9566caf88667b7ed965c325e39a033b905ca16ad74d988eccc3c99559a33d43bdfdb2f70c1f1d82ac41f1661d274
+EBUILD cluster-glue-1.0.11.ebuild 2191 SHA256 7f44ef65733d3b63a0e1b173d9b474052b724fb477c938b213535a5767a9e1fe SHA512 f8af50aa16f76e992bde0e57660e5f7de171b3a80de86827a5b70c6406e86e8b52c1ed89f4963e7f1e583a3845bc9fe4fab44224fcf050f22233064506ba4238 WHIRLPOOL 30c6643b79b3ff4c5f271ca07f6bab1c72fbbdfa272b228aa5364cfb72411228c9b5c988d5c622de6118921d15618f7f111ce32dfb48308baf5c4a944b4e8d12
+EBUILD cluster-glue-1.0.12.ebuild 2209 SHA256 b45e6555ff01fe7d69705a0e07f64b2fbdd1888c97e88b2432d581f2576338cb SHA512 ab138ae57b746200dbbf53744389d58c82fe43405fca01dd661a5d64f565e00ce35d3189a5557cec3b79580a9f1df19cbf8e25a78d001a6656a451e580020bc4 WHIRLPOOL 4e39125a8c489302f06e42c930c9575c0992965ee9b168d89f2975fde8bfcb662c2973952a62d4928edce956091aa9534fe271114c28150d5791db9d3b4711c8
+MISC ChangeLog 2977 SHA256 6cfc33c7a912dc40a0d826736c5cb73f04da36ce8e927b57f08800c50ada1068 SHA512 b1612ef881f29e8bed23fc4e509fcf342cca68a03ea47219f8b3ad50374df2d005e628e72ac8e3c8dfc061cafb773c9ba1be47d6808705444a9463f034ed4753 WHIRLPOOL b4545457d851df1d6bd0101ccccae93893ca8226e1e9c88a64791315c91e7df59aa5927229051fc444c88b36366cf900e62ce0402567f66bb1a0dc30dd15882b
+MISC ChangeLog-2015 5834 SHA256 9697027464ebd8ede4e9b03a7261a603f80995769da87a4ba57a0be35d8d2333 SHA512 c8f71ccdb6472685d00a9c90eccb47c69fcac91f0f481d528b5a06fd621267752cfa4ba5afafc4b903f3b0d29d7f4af061f5a2292198ba3b617c9089c45d2009 WHIRLPOOL 2950cdeccd245b1535e47f640f91c1a9040a16fa7a04a16f43dac159ffcf6c6e2cd6031ff22553a48de325d7fd581e9fa68b1cc7e90032d40408cb12eaff6983
+MISC metadata.xml 485 SHA256 bc65083d1076f1f98597b2c0b1910a5b19a8375cb70b0bfde963c7645ba1d797 SHA512 b7a28d9474e30b96337ed2222d86e1811e7f0e4eef31ab6dd2d3bd10d3afc18f4b091ad7d49185b9c4a7e82d3be31ab80be5e4cee769d642f0a0eb73e27ea2ae WHIRLPOOL 7f6ca4b309ccd0562b7ac4d772727c064ed9872262f5cb31a5edc954de5c8406e68db62e17fce32f0536d48081ea7478c9184de7c9029c66ef91d0b43e7fb0d9
diff --git a/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild b/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild
new file mode 100644
index 000000000000..a8286bdae265
--- /dev/null
+++ b/sys-cluster/cluster-glue/cluster-glue-1.0.11.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/cluster-}"
+inherit autotools eutils multilib user
+
+DESCRIPTION="Library pack for Heartbeat / Pacemaker"
+HOMEPAGE="http://www.linux-ha.org/wiki/Cluster_Glue"
+SRC_URI="http://hg.linux-ha.org/glue/archive/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="doc libnet static-libs"
+
+RDEPEND="app-arch/bzip2
+ app-text/docbook-xml-dtd:4.4
+ dev-libs/glib:2
+ dev-libs/libaio
+ libnet? ( net-libs/libnet:1.1 )
+ net-misc/curl
+ net-misc/iputils
+ || ( net-misc/netkit-telnetd net-misc/telnet-bsd )
+ dev-libs/libxml2
+ !<sys-cluster/heartbeat-3.0"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )"
+
+S="${WORKDIR}/Reusable-Cluster-Components-glue--${MY_P}"
+
+pkg_setup() {
+ enewgroup haclient
+ enewuser hacluster -1 /dev/null /var/lib/heartbeat haclient
+}
+
+src_prepare() {
+ default
+ sed -e '/ -ggdb3/d' -i configure.ac || die
+ sed -e "s@http://docbook.sourceforge.net/release/xsl/current@/usr/share/sgml/docbook/xsl-stylesheets/@g" \
+ -i doc/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ local myopts
+
+ use doc && myopts=" --enable-doc"
+ econf \
+ $(use_enable libnet) \
+ $(use_enable static-libs static) \
+ --disable-fatal-warnings \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF} \
+ --localstatedir=/var \
+ --with-ocf-root=/usr/$(get_libdir)/ocf \
+ ${myopts} \
+ --with-group-id=$(id -g hacluster) \
+ --with-ccmuser-id=$(id -u hacluster) \
+ --with-daemon-user=hacluster --with-daemon-group=haclient
+}
+
+src_install() {
+ default
+
+ dodir /var/lib/heartbeat/cores
+ dodir /var/lib/heartbeat/lrm
+
+ keepdir /var/lib/heartbeat/cores
+ keepdir /var/lib/heartbeat/lrm
+
+ # init.d file
+ cp "${FILESDIR}"/heartbeat-logd.init "${T}/" || die
+ sed -i \
+ -e "s:%libdir%:$(get_libdir):" \
+ "${T}/heartbeat-logd.init" || die
+# newinitd "${T}/heartbeat-logd.init" heartbeat-logd || die
+ rm "${D}"/etc/init.d/logd
+
+ use static-libs || find "${D}" -type f -name "*.la" -delete
+}
+
+pkg_postinst() {
+ chown -R hacluster:haclient /var/lib/heartbeat/cores
+ chown -R hacluster:haclient /var/lib/heartbeat/lrm
+}
diff --git a/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild b/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild
new file mode 100644
index 000000000000..de7e47b7ac8d
--- /dev/null
+++ b/sys-cluster/cluster-glue/cluster-glue-1.0.12.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/cluster-}"
+inherit autotools eutils multilib user
+
+DESCRIPTION="Library pack for Heartbeat / Pacemaker"
+HOMEPAGE="http://www.linux-ha.org/wiki/Cluster_Glue"
+SRC_URI="http://hg.linux-ha.org/glue/archive/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="doc libnet static-libs"
+
+RDEPEND="app-text/asciidoc
+ app-arch/bzip2
+ app-text/docbook-xml-dtd:4.4
+ dev-libs/glib:2
+ dev-libs/libaio
+ libnet? ( net-libs/libnet:1.1 )
+ net-misc/curl
+ net-misc/iputils
+ || ( net-misc/netkit-telnetd net-misc/telnet-bsd )
+ dev-libs/libxml2
+ !<sys-cluster/heartbeat-3.0"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )"
+
+S="${WORKDIR}/Reusable-Cluster-Components-glue--${MY_P}"
+
+pkg_setup() {
+ enewgroup haclient
+ enewuser hacluster -1 /dev/null /var/lib/heartbeat haclient
+}
+
+src_prepare() {
+ default
+ sed -e '/ -ggdb/d' -i configure.ac || die
+ sed -e "s@http://docbook.sourceforge.net/release/xsl/current@/usr/share/sgml/docbook/xsl-stylesheets/@g" \
+ -i doc/Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ local myopts
+
+ use doc && myopts=" --enable-doc"
+ econf \
+ $(use_enable libnet) \
+ $(use_enable static-libs static) \
+ --disable-fatal-warnings \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF} \
+ --localstatedir=/var \
+ --with-ocf-root=/usr/$(get_libdir)/ocf \
+ ${myopts} \
+ --with-group-id=$(id -g hacluster) \
+ --with-ccmuser-id=$(id -u hacluster) \
+ --with-daemon-user=hacluster --with-daemon-group=haclient
+}
+
+src_install() {
+ default
+
+ dodir /var/lib/heartbeat/cores
+ dodir /var/lib/heartbeat/lrm
+
+ keepdir /var/lib/heartbeat/cores
+ keepdir /var/lib/heartbeat/lrm
+
+ # init.d file
+ cp "${FILESDIR}"/heartbeat-logd.init "${T}/" || die
+ sed -i \
+ -e "s:%libdir%:$(get_libdir):" \
+ "${T}/heartbeat-logd.init" || die
+# newinitd "${T}/heartbeat-logd.init" heartbeat-logd || die
+ rm "${D}"/etc/init.d/logd
+
+ use static-libs || find "${D}" -type f -name "*.la" -delete
+}
+
+pkg_postinst() {
+ chown -R hacluster:haclient /var/lib/heartbeat/cores
+ chown -R hacluster:haclient /var/lib/heartbeat/lrm
+}
diff --git a/sys-cluster/cluster-glue/files/heartbeat-logd.init b/sys-cluster/cluster-glue/files/heartbeat-logd.init
new file mode 100644
index 000000000000..71618a50ed10
--- /dev/null
+++ b/sys-cluster/cluster-glue/files/heartbeat-logd.init
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+
+PIDFILE=/var/run/heartbeat-logd.pid
+
+depend() {
+ need net
+}
+
+BINARY="/usr/%libdir%/heartbeat/ha_logd"
+USER="hacluster"
+GROUP="haclient"
+CONFIG="/etc/logd.cf"
+LOGFILE="/var/log/ha_logger.log"
+
+start() {
+ ebegin "Starting heartbeat non-blocking log service"
+
+ COMMAND_ARGS="-d"
+ [[ -f "${CONFIG}" ]] && COMMAND_ARGS+=" -c ${CONFIG}"
+
+ if [ -n "${RC_UNAME}" ]; then
+ PARAMS="--background --stdout '${LOGFILE}' --stderr '${LOGFILE}' -- ${ARGS}"
+ else
+ PARAMS="-- ${ARGS} >> '${LOGFILE}' 2>&1 &"
+ fi
+ eval ${CHRT} start-stop-daemon \
+ --quiet --start --chdir "${RUNTIMEDIR}" \
+ --pidfile "${PIDFILE}" \
+ --make-pidfile \
+ --exec ${BINARY} ${COMMAND_ARGS} --chuid "${USER}:${GROUP}" \
+ --nicelevel "${NICELEVEL}" \
+ ${PARAMS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping heartbeat non-blocking log service"
+ start-stop-daemon --stop --retry 3 --quiet --exec "${BINARY}"
+ rm -f "${PIDFILE}"
+ eend $?
+}
+
+restart() {
+ stop
+ sleep 3
+ start
+}
diff --git a/sys-cluster/cluster-glue/metadata.xml b/sys-cluster/cluster-glue/metadata.xml
new file mode 100644
index 000000000000..c8788d4ba459
--- /dev/null
+++ b/sys-cluster/cluster-glue/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Glue is a set of libraries, tools and utilities suitable for the Heartbeat/Pacemaker cluster stack.</longdescription>
+ <use>
+ <flag name="libnet">Force use of <pkg>net-libs/libnet</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/cman-lib/Manifest b/sys-cluster/cman-lib/Manifest
new file mode 100644
index 000000000000..75ce872ef0a9
--- /dev/null
+++ b/sys-cluster/cman-lib/Manifest
@@ -0,0 +1,6 @@
+DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d
+EBUILD cman-lib-2.03.09-r1.ebuild 1092 SHA256 9a8e2fa0710580cabe9ee30dfb2d1e2f01be2d6b943aecc341205d787ed4e4b7 SHA512 e725593e90dae96403829bb58a874d96bea939b7e153623e163c311a942a9b6c60e98aa7bc57dbdfe61c6add8d8805564f26a291ea150368c61e65d28f602028 WHIRLPOOL 84fa1656ae00eb21effa8f5d3bbdec517543a16a4014eeabf439ae9476d051f8a563ec463435f8ffb416daac131e41788f461795700dcb03641726005ac201ac
+EBUILD cman-lib-2.03.09.ebuild 1186 SHA256 f1fc9fd255ab8e085847b7901ee6b735deacf38186ba9932b044d89c9a92064f SHA512 ba0175422fd77b3b819f0fefa806247691e22bdf5be9d8725e2a314967295ae240438c0f07ce4a329d0c007830f5fa05e508f3bdfaf414d7ba769a7e2d87eb5b WHIRLPOOL 42c36566ed9eaef964c7b30f843f00b0d467bf2923edf72e2991e964b2f42ab01ca670bf1b9a68affbd68312056ab0f32b83fcffbcf5466807ded08facec43b5
+MISC ChangeLog 2848 SHA256 af8c97538b8826b2c519388c8142a794c4043394e651a2529f779d4de31376ad SHA512 c5844fc39a52b080df172ce8bf4ac02839b568832b64c017668936e691ccb52bff1ab8cebe881fa6207154397a78931bf2661434f544770bc853e36905c84cf2 WHIRLPOOL 4002d10204344883029f2f29f5ccba97629cb489317010b277afa43efbd23038bbe5e838af14f5dc462508c27b9ae641b519c987cc7967c9f16105d810b82347
+MISC ChangeLog-2015 1850 SHA256 2a327a7073e34746aefecc4c6ff5faa6b4357dcb640b88a51ad8d4e55b9926f8 SHA512 2446ed8e68353b718676bfca45a8fcbb6c09cbec7b46ab159a32f934702b8943becdd8490e09188fd1e06b154000751984aab65a6c8ee89b55889ebed523882a WHIRLPOOL 618a4565fbe80ce78bc58663a3e9ff90a146376550af2493da6206b08d5f91590699e22901e358203087f74354ce1d8252f20701e6fa4a3554d9cb3af369c325
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild b/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild
new file mode 100644
index 000000000000..d3e78fcdc3cd
--- /dev/null
+++ b/sys-cluster/cman-lib/cman-lib-2.03.09-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator multilib
+
+MY_P=cluster-${PV}
+
+MAJ_PV=$(get_major_version)
+MIN_PV=$(get_version_component_range 2).$(get_version_component_range 3)
+
+DESCRIPTION="A library for cluster management common to the various pieces of Cluster Suite"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="!sys-cluster/cman-headers
+ !sys-cluster/cman-kernel
+ !=sys-cluster/cman-1*"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}/${PN/-//}
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --libdir=/usr/$(get_libdir) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ ) || die "configure problem"
+
+ sed -e 's:\($(CC)\):\1 $(LDFLAGS):' \
+ -i Makefile "${WORKDIR}/${MY_P}/make/cobj.mk" || die
+
+ emake clean all || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+}
diff --git a/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild b/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild
new file mode 100644
index 000000000000..4468db7584b8
--- /dev/null
+++ b/sys-cluster/cman-lib/cman-lib-2.03.09.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="A library for cluster management common to the various pieces of Cluster Suite"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="!sys-cluster/cman-headers
+ !sys-cluster/cman-kernel
+ !=sys-cluster/cman-1*
+ "
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/${PN/-//}"
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ ) || die "configure problem"
+
+ sed -e 's:\($(CC)\):\1 $(LDFLAGS):' -i Makefile
+ sed -e 's:\($(CC)\):\1 $(LDFLAGS):' -i "${WORKDIR}/${MY_P}/make/cobj.mk"
+
+ emake clean || die "clean problem"
+ emake || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install problem"
+}
diff --git a/sys-cluster/cman-lib/metadata.xml b/sys-cluster/cman-lib/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/cman-lib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/cman/Manifest b/sys-cluster/cman/Manifest
new file mode 100644
index 000000000000..d21d3a3808d4
--- /dev/null
+++ b/sys-cluster/cman/Manifest
@@ -0,0 +1,11 @@
+AUX cman.confd 2797 SHA256 45f89870420c0855ace5a27149db878bd592a2f48c35711b40d29f3b358a2bf5 SHA512 97cfe35230198091261ab3202c2c4eb2683f43ae311c07a6d34d9ae9c47c71c004ce615993ad25189ee536cbf2863fb721a57c520b439de2e70a7cd3d84ae3fe WHIRLPOOL cf34d8d3e7f2d6c1bfa367ab8f1c969e21e255febc9bbc7418be3662dd82264bd0fd64866db0885794c05bf2f1b52db7af97903ffbf79cb040422d85ca601ea3
+AUX cman.initd 7115 SHA256 0cbdf73ebf572aecaab3fb21937dd70b78bfd129b3a8d87bb8996acc4172e53c SHA512 b3b0f4c5902431b02bc75aef42f7f463d9e6aec9c4895384997df4ff9806fe0bd7f88e4260da6cbea84fa479010f893271acf3e34f84aef0256e8f78edb655f4 WHIRLPOOL 0b687ea652de68d63fdcc79afd54c2e09d4ccb310afc73a359a67e9eb9d8e481a5806010d6765cba395327dbf7ff4a0996d8120ba5f0db096546e8acf26f05bf
+AUX cman.initd-3.1.5-r1 7860 SHA256 0143af03c92b1b6ad3ce937bbb1e0db1f763070ad40a7153edfbc302cc85c689 SHA512 9dbc73c7753ffdb5119160cbe544f74f14de77cd71cbe76975603ff3be7c601e6fd8084a7ae0acf44096b5b10448ba563453e7871aa035e7e706437b5088d717 WHIRLPOOL e1156a94fad30029ee424d970ac0837f7fcf974d49d3b6206373fb97160d2cab75d297539e63b575dd0b25b73458500a65039ec5af3aa13f44e946a7b8de4a2f
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD cman-3.1.5-r1.ebuild 2593 SHA256 62792d28c570c0f2dfeb8e96e2e068ddb326695ce9805def1b0b404dbe6028df SHA512 214a919410d3c0c533ce0da251d9290ba7a4f98788c63b392d7494ff64b16636a5db7d5b27896c9de2d018ebe730e265b009d5fcd12e00ad404af44c102afea4 WHIRLPOOL 66bcd5eef365321ec3b10a755ac6414f6594622958581c1101d3ddfd5b5f6b2c1630622c1c36994578f424e235d0496c9b3a4235f2d6ea2b8487398746a1d0e7
+EBUILD cman-3.1.5.ebuild 2584 SHA256 61a2b005c2585a945b506fcfed65f2ad4aad3156e8cd5fcb259c62a317bc3922 SHA512 0215864ff1847aa753fb44e4d2c275223d9775202a52d101b5c8f5579a330390508a4d08fc83e70360a5e02169e921a1de8e7076b933ba1b202a361abf005b87 WHIRLPOOL 8d62c48c2780dd1722b7bd3bd62c36027662d3e385df89b124ed355fec9eb340ba89f7741a703e4c0e8896884fbd53001e4febecbed264c950aff21f3a34e106
+EBUILD cman-3.2.0.ebuild 2593 SHA256 a95e6f5582d4e41f909c21d51ae0f0da1d983791ae86c6c8fe26feb78437772c SHA512 391c839a011888c5a2a4d7d82f8018a421762030422e894b8836f44a1170a64ba06672b23d08d062f42adc5e79bc1bd62ab455d4d04ff2ce203dae32f41edcbd WHIRLPOOL 4cea2665d4f935446b3efc1761374208a32b1f8be5aeea57c5d663467670d8b1d974b75661365296f83a9f3175751d425631b10e2b57b1641fdf8081dcf045b7
+MISC ChangeLog 2786 SHA256 549b1bd99c302e51e71bc0e4fd569595a47890d2d234e57df40a721061fb93ca SHA512 e9f64d0d5eea9296d2e575aeb7bf22bde02d2115b8fc221f673bc3f305689bae3e11bb767c3861f57a4a0e72d6ab7fb01dfe965b39cafd6ece4313d771de389c WHIRLPOOL 290f225eace070863f5f8c59bfe35dbf37e8548d9c5857658342743730a7c74c0eed2f395702d09c46002ce439900213128a29486a2f5925d92b76d0609b4864
+MISC ChangeLog-2015 1066 SHA256 f25e9da2b7123f6e89bb5cb13d9c0e43cb8bb6cc5bc4735bf639b5886b3a644e SHA512 9ab79b8c678e15c6b4ebc060b5288f25f21b50439e23fbf98fc75165986a5c01e0ae7f6d1ae0413982f2e9ec27090e601a459d078c0bb2ccca794fe853b4df75 WHIRLPOOL 32fef4593379214ab4f82af4777c42226eabf03800abac57c67273e02d724b0891003bfad67589c65fc91c24b856f600a7055fc6ae20b386e07ca8d2ba118bb2
+MISC metadata.xml 309 SHA256 2a3659fbfa9f104093f400f6673c1b3a2adb0bb679d233e1619809a1d56c3f02 SHA512 63af840873be4c3b0656822e4d1d36a1b30cea6d1f295cf0084e3a9fdf2f589bb6923dfed365ad6399842a0d8388607f9988000843c35549900db94acd9f9863 WHIRLPOOL 256e9072ee7e5a9644e3733a5167013f33789d40c4975a923ce451fa122871d41676c95464579143292b3aadd185f9e23535d60e375a0434568e1768535b2ccd
diff --git a/sys-cluster/cman/cman-3.1.5-r1.ebuild b/sys-cluster/cman/cman-3.1.5-r1.ebuild
new file mode 100644
index 000000000000..ebddee75dd57
--- /dev/null
+++ b/sys-cluster/cman/cman-3.1.5-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Manager"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="dbus ldap"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dbus? ( sys-apps/dbus )
+ ldap? ( net-nds/openldap )
+ sys-cluster/corosync
+ sys-cluster/openais
+ ~sys-cluster/libccs-${PV}
+ ~sys-cluster/libfence-${PV}
+ ~sys-cluster/libcman-${PV}
+ ~sys-cluster/libdlm-${PV}
+ ~sys-cluster/liblogthread-${PV}
+ !sys-cluster/dlm
+"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}"
+
+# TODO:
+# * Gentoo'ise the init script
+
+src_configure() {
+ # cluster libs have their own separate packages
+ sed -i -e 's|lib||' "${S}/cman/Makefile" || die
+ sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die
+ sed -i -e 's|libs||' "${S}/config/Makefile" || die
+ sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die
+ sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die
+ sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die
+
+ sed -i \
+ -e 's|\(^all:.*\)depends |\1|' \
+ config/tools/ccs_tool/Makefile \
+ fence/fence{d,_node,_tool}/Makefile \
+ cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \
+ dlm/{tool,tests/usertest}/Makefile \
+ || die "sed failed"
+
+ if ! use ldap ; then
+ sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed"
+ fi
+ local myopts=""
+ use dbus || myopts="--disable_dbus"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --without_rgmanager \
+ --without_bindings \
+ ${myopts} \
+ || die "configure problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # we have to create it in the init.d script anyway
+ rmdir "${D}"/var/run/{cluster,}
+
+ keepdir /var/{lib,log}/cluster
+ keepdir /etc/cluster/cman-notify.d
+
+ rm -rf "${D}/usr/share/doc"
+ dodoc \
+ doc/{usage.txt,cman_notify_template.sh} \
+ config/plugins/ldap/*.ldif
+ dohtml doc/*.html
+
+ # lib-specific man pages are provided by the corresponding packages
+ rm "${D}/usr/share/man/man3/libdlm.3"
+
+ newinitd "${FILESDIR}/${PN}.initd-3.1.5-r1" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+}
diff --git a/sys-cluster/cman/cman-3.1.5.ebuild b/sys-cluster/cman/cman-3.1.5.ebuild
new file mode 100644
index 000000000000..f97954b26b3c
--- /dev/null
+++ b/sys-cluster/cman/cman-3.1.5.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Manager"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="dbus ldap"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dbus? ( sys-apps/dbus )
+ ldap? ( net-nds/openldap )
+ sys-cluster/corosync
+ sys-cluster/openais
+ ~sys-cluster/libccs-${PV}
+ ~sys-cluster/libfence-${PV}
+ ~sys-cluster/libcman-${PV}
+ ~sys-cluster/libdlm-${PV}
+ ~sys-cluster/liblogthread-${PV}
+ !sys-cluster/dlm
+"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}"
+
+# TODO:
+# * Gentoo'ise the init script
+
+src_configure() {
+ # cluster libs have their own separate packages
+ sed -i -e 's|lib||' "${S}/cman/Makefile" || die
+ sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die
+ sed -i -e 's|libs||' "${S}/config/Makefile" || die
+ sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die
+ sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die
+ sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die
+
+ sed -i \
+ -e 's|\(^all:.*\)depends |\1|' \
+ config/tools/ccs_tool/Makefile \
+ fence/fence{d,_node,_tool}/Makefile \
+ cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \
+ dlm/{tool,tests/usertest}/Makefile \
+ || die "sed failed"
+
+ if ! use ldap ; then
+ sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed"
+ fi
+ local myopts=""
+ use dbus || myopts="--disable_dbus"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --without_rgmanager \
+ --without_bindings \
+ ${myopts} \
+ || die "configure problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # we have to create it in the init.d script anyway
+ rmdir "${D}"/var/run/{cluster,}
+
+ keepdir /var/{lib,log}/cluster
+ keepdir /etc/cluster/cman-notify.d
+
+ rm -rf "${D}/usr/share/doc"
+ dodoc \
+ doc/{usage.txt,cman_notify_template.sh} \
+ config/plugins/ldap/*.ldif
+ dohtml doc/*.html
+
+ # lib-specific man pages are provided by the corresponding packages
+ rm "${D}/usr/share/man/man3/libdlm.3"
+
+ newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+}
diff --git a/sys-cluster/cman/cman-3.2.0.ebuild b/sys-cluster/cman/cman-3.2.0.ebuild
new file mode 100644
index 000000000000..2b59cd78f283
--- /dev/null
+++ b/sys-cluster/cman/cman-3.2.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Manager"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="dbus ldap"
+
+RDEPEND="dev-libs/libxml2
+ dev-libs/libxslt
+ dbus? ( sys-apps/dbus )
+ ldap? ( net-nds/openldap )
+ sys-cluster/corosync
+ sys-cluster/openais
+ ~sys-cluster/libccs-${PV}
+ ~sys-cluster/libfence-${PV}
+ ~sys-cluster/libcman-${PV}
+ ~sys-cluster/libdlm-${PV}
+ ~sys-cluster/liblogthread-${PV}
+ !sys-cluster/dlm
+"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}"
+
+# TODO:
+# * Gentoo'ise the init script
+
+src_configure() {
+ # cluster libs have their own separate packages
+ sed -i -e 's|lib||' "${S}/cman/Makefile" || die
+ sed -i -e 's|liblogthread||' "${S}/common/Makefile" || die
+ sed -i -e 's|libs||' "${S}/config/Makefile" || die
+ sed -i -e 's|libdlm libdlmcontrol||' "${S}/dlm/Makefile" || die
+ sed -i -e 's|libfence libfenced||' "${S}/fence/Makefile" || die
+ sed -i -e 's|fence/libfenced||' "${S}/Makefile" || die
+
+ sed -i \
+ -e 's|\(^all:.*\)depends |\1|' \
+ config/tools/ccs_tool/Makefile \
+ fence/fence{d,_node,_tool}/Makefile \
+ cman/{cman_tool,daemon,tests,qdisk,notifyd}/Makefile \
+ dlm/{tool,tests/usertest}/Makefile \
+ || die "sed failed"
+
+ if ! use ldap ; then
+ sed -i -e 's|ldap||' config/plugins/Makefile || die "sed failed"
+ fi
+ local myopts=""
+ use dbus || myopts="--disable_dbus"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --without_rgmanager \
+ --without_bindings \
+ ${myopts} \
+ || die "configure problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ # we have to create it in the init.d script anyway
+ rmdir "${D}"/var/run/{cluster,}
+
+ keepdir /var/{lib,log}/cluster
+ keepdir /etc/cluster/cman-notify.d
+
+ rm -rf "${D}/usr/share/doc"
+ dodoc \
+ doc/{usage.txt,cman_notify_template.sh} \
+ config/plugins/ldap/*.ldif
+ dohtml doc/*.html
+
+ # lib-specific man pages are provided by the corresponding packages
+ rm "${D}/usr/share/man/man3/libdlm.3"
+
+ newinitd "${FILESDIR}/${PN}.initd-3.1.5-r1" "${PN}"
+ newconfd "${FILESDIR}/${PN}.confd" "${PN}"
+}
diff --git a/sys-cluster/cman/files/cman.confd b/sys-cluster/cman/files/cman.confd
new file mode 100644
index 000000000000..14b7ea791614
--- /dev/null
+++ b/sys-cluster/cman/files/cman.confd
@@ -0,0 +1,67 @@
+CCSD_OPTS=
+
+# CMAN_CLUSTER_TIMEOUT -- amount of time to wait for joinging a cluster
+# before giving up. If CMAN_CLUSTER_TIMEOUT is positive, then we will
+# wait CMAN_CLUSTER_TIMEOUT seconds before giving up and failing when
+# a cluster is not joined. If CMAN_CLUSTER_TIMEOUT is zero, then
+# wait indefinately for a cluster join. If CMAN_CLUSTER_TIMEOUT is
+# negative, do not check to see that the cluster has been joined
+CMAN_CLUSTER_TIMEOUT=120
+
+# CMAN_QUORUM_TIMEOUT -- amount of time to wait for a quorate cluster on
+# startup quorum is needed by many other applications, so we may as
+# well wait here. If CMAN_QUORUM_TIMEOUT is less than 1, quorum will
+# be ignored.
+CMAN_QUORUM_TIMEOUT=300
+
+# CMAN_SHUTDOWN_TIMEOUT -- amount of time to wait for cman to become a
+# cluster member before calling cman_tool leave during shutdown.
+# default is 60 seconds
+CMAN_SHUTDOWN_TIMEOUT=60
+
+# CMAN_JOIN_OPTIONS
+#CMAN_JOIN_OPTS="-c ...."
+
+# CMAN_LEAVE_OPTIONS
+#CMAN_LEAVE_OPTS=""
+
+
+# ex: FENCED_OPTS="-w -t 300"
+FENCED_OPTS=""
+
+
+# TODO ?
+# CMAN_NOTIFYD_START - control the startup behaviour for cmannotifyd
+# the variable can take 3 values:
+# yes | will always start cmannotifyd
+# no | will never start cmannotifyd
+# conditional (default) | will start cmannotifyd only if scriptlets
+# are found in @NOTIFYDDIR@
+[ -z "$CMAN_NOTIFYD_START" ] && CMAN_NOTIFYD_START=conditional
+
+# CMAN_SSHD_START - control sshd startup behaviour
+# the variable can take 2 values:
+# yes | cman will start sshd as early as possible
+# no (default) | cman will not start sshd
+[ -z "$CMAN_SSHD_START" ] && CMAN_SSHD_START=no
+
+# FENCE_JOIN_TIMEOUT -- seconds to wait for fence domain join to
+# complete. If the join hasn't completed in this time, fence_tool join
+# exits with an error, and this script exits with an error. To wait
+# indefinitely set the value to -1.
+[ -z "$FENCE_JOIN_TIMEOUT" ] && FENCE_JOIN_TIMEOUT=20
+
+# FENCED_MEMBER_DELAY -- amount of time to delay fence_tool join to allow
+# all nodes in cluster.conf to become cluster members. In seconds.
+[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=45
+
+# FENCE_JOIN -- boolean value used to control whether or not this node
+# should join the fence domain. If FENCE_JOIN is set to "no", then
+# the script will not attempt to the fence domain. If FENCE_JOIN is
+# set to "yes", then the script will attempt to join the fence domain.
+# If FENCE_JOIN is set to any other value, the default behavior is
+# to join the fence domain (equivalent to "yes").
+[ -z "$FENCE_JOIN" ] && FENCE_JOIN="yes"
+
+# FENCED_OPTS -- allow extra options to be passed to fence daemon.
+[ -z "$FENCED_OPTS" ] && FENCED_OPTS="" \ No newline at end of file
diff --git a/sys-cluster/cman/files/cman.initd b/sys-cluster/cman/files/cman.initd
new file mode 100644
index 000000000000..68c34c146818
--- /dev/null
+++ b/sys-cluster/cman/files/cman.initd
@@ -0,0 +1,318 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CMAN_TOOL="/usr/sbin/cman_tool"
+FENCE_TOOL="/usr/sbin/fence_tool"
+GFS_CONTROLD="/usr/sbin/gfs_controld"
+DLM_CONTROLD="/usr/sbin/dlm_controld"
+GROUPD="/usr/sbin/groupd"
+FENCED="/usr/sbin/fenced"
+CCSD="/usr/sbin/ccsd"
+
+[ -z "$CCSD_OPTS" ] && CCSD_OPTS=""
+[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120
+[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0
+[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60
+[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300
+[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300
+
+depend() {
+ use net
+ after xend
+ after xendomains
+ provide cman
+}
+
+load_modules() {
+ local module modules
+ modules=$1
+
+ for module in ${modules}; do
+ ebegin "Loading ${module} kernel module"
+ modprobe ${module} > /dev/null
+ eend $? "Failed to load ${module} kernel module"
+ done
+}
+
+unload_modules() {
+ local module modules
+ modules=$1
+
+ for module in ${modules}; do
+ ebegin "Unloading ${module} kernel module"
+ modprobe -r ${module} > /dev/null
+ eend $? "Failed to unload ${module} kernel module"
+ done
+}
+
+check_configfs() {
+ awk '{ print $2 }' /etc/mtab | grep "/sys/kernel/config" &> /dev/null\
+ && awk '{ print $3 }' /etc/mtab | grep "configfs" &> /dev/null
+
+ if [ $? -ne 0 ]; then
+ ewarn "Please add the following line to /etc/fstab:"
+ ewarn "none configfs /sys/kernel/config defaults 0 0"
+ eend 1 "configfs not mounted at /sys/kernel/config"
+ fi
+}
+
+mount_configfs()
+{
+ local module=$(awk '$2 == "configfs" { print $2 }' /proc/filesystems)
+
+ if [ -z "${module}" ]; then
+ load_modules "configfs"
+ sleep 1s
+ fi
+
+ # configfs
+ awk '{ print $2 }' /etc/mtab | grep "/sys/kernel/config" &> /dev/null \
+ && awk '{ print $3 }' /etc/mtab | grep "configfs" &> /dev/null
+
+ if [ $? -ne 0 ]
+ then
+ ebegin "Mounting ConfigFS"
+ /bin/mount -t configfs none /sys/kernel/config 2>&1
+ eend $?
+ fi
+ return 0
+}
+
+umount_configfs() {
+ local sig retry
+ local entry entries
+
+ entries="$(awk '$3 == "configfs" { print $2 }' /proc/mounts | sort -r)"
+
+ for entry in $entries; do
+ ebegin "Unmounting ConfigFS"
+ umount $entry &>/dev/null
+ eend $?
+ done
+
+ local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules)
+
+ if [ ! -z "${module}" ]; then
+ unload_modules "configfs"
+ sleep 1s
+ fi
+}
+
+umount_gfs_filesystems() {
+ local sig retry
+ local remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { print $2 }' /proc/mounts | sort -r)"
+
+ if [ -n "${remaining}" ]
+ then
+ sig=
+ retry=3
+ while [ -n "${remaining}" -a "${retry}" -gt 0 ]
+ do
+ if [ "${retry}" -lt 3 ]
+ then
+ ebegin "Unmounting GFS filesystems (retry)"
+ umount ${remaining} &>/dev/null
+ eend $? "Failed to unmount GFS filesystems this retry"
+ else
+ ebegin "Unmounting GFS filesystems"
+ umount ${remaining} &>/dev/null
+ eend $? "Failed to unmount GFS filesystems"
+ fi
+ remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { if ($2 != "/") print $2 }' /proc/mounts | sort -r)"
+ [ -z "${remaining}" ] && break
+ /bin/fuser -k -m ${sig} ${remaining} &>/dev/null
+ sleep 5
+ retry=$((${retry} -1))
+ sig=-9
+ done
+ fi
+}
+
+unload_allmodules() {
+ local modules
+
+ modules=$(awk '$1 == "lock_gulm" || \
+ $1 == "lock_dlm" || $1 == "dlm" || \
+ $1 == "lock_harness" || $1 == "gfs2" || \
+ $1 == "gfs" { print $1 }' /proc/modules)
+
+ #modules=$(awk '$1 == "lock_harness" || \
+ # $1 == "gfs" { print $1 }' /proc/modules)
+
+ unload_modules "${modules}"
+}
+
+start_ccsd() {
+ ebegin "Starting ccsd"
+ start-stop-daemon --start --quiet --exec ${CCSD} -- ${CCSD_OPTS}
+ eend $?
+}
+
+stop_ccsd() {
+ ebegin "Stopping ccsd"
+ start-stop-daemon --stop --quiet -s 9 --exec ${CCSD}
+ eend $?
+}
+
+start_cman() {
+ ${CMAN_TOOL} status &> /dev/null
+ if [ $? -ne 0 ]
+ then
+ ebegin "Starting cman"
+ ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \
+ -w join ${CMAN_JOIN_OPTS} &> /dev/null
+
+ if [ "$?" -ne 0 ]
+ then
+ eend 1 "Failed to start cman"
+ else
+ eend 0
+
+ # make sure that we are quorate?
+ if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ]
+ then
+ ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)"
+ ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait
+ eend $?
+ fi
+ fi
+ else
+ einfo "cman already running"
+ fi
+}
+
+stop_cman() {
+ ebegin "Stopping cman"
+ local stat=0
+ ${CMAN_TOOL} status > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ retry=3
+ stat=1
+ while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ]
+ do
+ #sleep 2
+ #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \
+ # leave remove ${CMAN_LEAVE_OPTS} > /dev/null
+ ${CMAN_TOOL} leave -t ${CMAN_SHUTDOWN_TIMEOUT} ${CMAN_LEAVE_OPTS} \
+ remove &> /dev/null
+ stat=$?
+ retry=$((${retry} -1))
+ done
+ fi
+ eend ${stat}
+}
+
+start_groupd() {
+ ebegin "Starting groupd"
+ start-stop-daemon --start --exec ${GROUPD} --name groupd
+ eend $?
+}
+
+stop_groupd() {
+ ebegin "Stopping groupd"
+ start-stop-daemon --stop --exec ${GROUPD} --name groupd
+ eend $?
+}
+
+start_fenced() {
+ ebegin "Starting fenced"
+ start-stop-daemon --start --exec ${FENCED} --name fenced
+ eend $?
+
+ ${CMAN_TOOL} status | grep Flags | grep 2node &> /dev/null
+ local errmsg=$?
+
+ ebegin "Joining fence domain"
+ if [ "${errmsg}" -ne 0 ]
+ then
+ ${FENCE_TOOL} join -t $FENCED_START_TIMEOUT &> /dev/null
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1
+ else
+ ${FENCE_TOOL} join -m $FENCED_MEMBER_DELAY &> /dev/null
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1
+ fi
+ eend $errmsg
+}
+
+stop_fenced() {
+ # fenced services
+# local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')"
+# if [ -n "${fence_status}" ]; then
+# if [ -x ${FENCE_TOOL} ]; then
+# ebegin "Leaving fence domain"
+# ${FENCE_TOOL} leave > /dev/null 2>&1
+# eend $?
+# fi
+# fi
+
+ if [ -x ${FENCE_TOOL} ]; then
+ if ${FENCE_TOOL} ls >/dev/null 2>&1; then
+ ebegin "Leaving fence domain"
+ ${FENCE_TOOL} leave > /dev/null 2>&1
+ eend $?
+ fi
+ fi
+
+ ebegin "Stopping fenced"
+ start-stop-daemon --stop --exec ${FENCED} --name fenced
+ eend $?
+}
+
+start_gfs_controld() {
+ ebegin "Starting gfs_controld"
+ start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld
+ eend $?
+}
+
+stop_gfs_controld() {
+ ebegin "Stopping gfs_controld"
+ start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld
+ eend $?
+}
+
+start_dlm_controld() {
+ ebegin "Starting dlm_controld"
+ start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld
+ eend $?
+}
+
+stop_dlm_controld() {
+ ebegin "Stopping dlm_controld"
+ start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld
+ eend $?
+}
+
+start() {
+ load_modules "dlm"
+
+ mkdir -p /var/run/cluster
+
+ mount_configfs
+# start_ccsd
+ start_cman
+ start_fenced
+ start_groupd
+ start_dlm_controld
+# start_gfs_controld
+}
+
+stop() {
+
+# umount GFS filesystems
+# umount_gfs_filesystems
+
+ stop_dlm_controld
+ stop_groupd
+ stop_fenced
+ stop_cman
+
+ #stop_gfs_controld
+ #stop_dlm_controld
+ #stop_groupd
+
+ unload_modules "dlm"
+# stop_ccsd
+# unload_allmodules
+ umount_configfs
+}
diff --git a/sys-cluster/cman/files/cman.initd-3.1.5-r1 b/sys-cluster/cman/files/cman.initd-3.1.5-r1
new file mode 100644
index 000000000000..04cf5f2e7f9e
--- /dev/null
+++ b/sys-cluster/cman/files/cman.initd-3.1.5-r1
@@ -0,0 +1,349 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+CMAN_TOOL="/usr/sbin/cman_tool"
+FENCE_TOOL="/usr/sbin/fence_tool"
+GFS_CONTROLD="/usr/sbin/gfs_controld"
+DLM_CONTROLD="/usr/sbin/dlm_controld"
+GROUPD="/usr/sbin/groupd"
+FENCED="/usr/sbin/fenced"
+CCSD="/usr/sbin/ccsd"
+
+[ -z "$CCSD_OPTS" ] && CCSD_OPTS=""
+[ -z "$CMAN_CLUSTER_TIMEOUT" ] && CMAN_CLUSTER_TIMEOUT=120
+[ -z "$CMAN_QUORUM_TIMEOUT" ] && CMAN_QUORUM_TIMEOUT=0
+[ -z "$CMAN_SHUTDOWN_TIMEOUT" ] && CMAN_SHUTDOWN_TIMEOUT=60
+[ -z "$FENCED_START_TIMEOUT" ] && FENCED_START_TIMEOUT=300
+[ -z "$FENCED_MEMBER_DELAY" ] && FENCED_MEMBER_DELAY=300
+
+depend() {
+ use net
+ after xend
+ after xendomains
+ provide cman
+}
+
+load_modules() {
+ local module modules
+ modules=$1
+
+ rcS=0 # catch the first error here
+ [ -f /proc/modules ] && for module in ${modules}; do
+ ebegin "Loading ${module} kernel module"
+ modprobe -q ${module}
+ rc=$? # error for this modprobe call
+ eend $rc "Failed to load ${module} kernel module"
+ [ $rc -ne 0 ] && rcS=$rc
+ done
+ return $rcS
+}
+
+unload_modules() {
+ local module modules
+ modules=$1
+
+ [ -f /proc/modules ] && for module in ${modules}; do
+ ebegin "Unloading ${module} kernel module"
+ modprobe -r ${module} > /dev/null
+ eend $? "Failed to unload ${module} kernel module"
+ done
+}
+
+check_configfs() {
+ awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \
+ && awk '{ print $3 }' /proc/mounts | grep -sq "configfs"
+
+ if [ $? -ne 0 ]; then
+ ewarn "Please add the following line to /etc/fstab:"
+ ewarn "none configfs /sys/kernel/config defaults 0 0"
+ eend 1 "configfs not mounted at /sys/kernel/config"
+ fi
+}
+
+mount_configfs()
+{
+ local module=$(awk '$2 == "configfs" { print $2 }' /proc/filesystems)
+
+ if [ -z "${module}" ]; then
+ load_modules "configfs"
+ rc=$?
+ sleep 1s
+ [ $rc -ne 0 ] && return 1
+ fi
+
+ # configfs
+ awk '{ print $2 }' /proc/mounts | grep -sq "/sys/kernel/config" \
+ && awk '{ print $3 }' /proc/mounts | grep -sq "configfs"
+ rc=$?
+
+ if [ $rc -ne 0 ]
+ then
+ ebegin "Mounting ConfigFS"
+ /bin/mount -t configfs none /sys/kernel/config 2>&1
+ rc=$?
+ eend $rc
+ fi
+
+ return $rc
+}
+
+umount_configfs() {
+ local sig retry
+ local entry entries
+
+ entries="$(awk '$3 == "configfs" { print $2 }' /proc/mounts | sort -r)"
+
+ for entry in $entries; do
+ ebegin "Unmounting ConfigFS"
+ umount $entry >/dev/null 2>&1
+ eend $?
+ done
+
+ local module=$(awk '$1 == "configfs" { print $1 }' /proc/modules)
+
+ if [ ! -z "${module}" ]; then
+ unload_modules "configfs"
+ sleep 1s
+ fi
+}
+
+umount_gfs_filesystems() {
+ local sig retry
+ local remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { print $2 }' /proc/mounts | sort -r)"
+
+ if [ -n "${remaining}" ]
+ then
+ sig=
+ retry=3
+ while [ -n "${remaining}" -a "${retry}" -gt 0 ]
+ do
+ if [ "${retry}" -lt 3 ]
+ then
+ ebegin "Unmounting GFS filesystems (retry)"
+ umount ${remaining} >/dev/null 2>&1
+ eend $? "Failed to unmount GFS filesystems this retry"
+ else
+ ebegin "Unmounting GFS filesystems"
+ umount ${remaining} >/dev/null 2>&1
+ eend $? "Failed to unmount GFS filesystems"
+ fi
+ remaining="$(awk '$3 == "gfs" || $3 == "gfs2" { if ($2 != "/") print $2 }' /proc/mounts | sort -r)"
+ [ -z "${remaining}" ] && break
+ /bin/fuser -k -m ${sig} ${remaining} >/dev/null 2>&1
+ sleep 5
+ retry=$((${retry} -1))
+ sig=-9
+ done
+ fi
+}
+
+unload_allmodules() {
+ local modules
+
+ modules=$(awk '$1 == "lock_gulm" || \
+ $1 == "lock_dlm" || $1 == "dlm" || \
+ $1 == "lock_harness" || $1 == "gfs2" || \
+ $1 == "gfs" { print $1 }' /proc/modules)
+
+ #modules=$(awk '$1 == "lock_harness" || \
+ # $1 == "gfs" { print $1 }' /proc/modules)
+
+ unload_modules "${modules}"
+}
+
+start_ccsd() {
+ ebegin "Starting ccsd"
+ start-stop-daemon --start --quiet --exec ${CCSD} -- ${CCSD_OPTS}
+ eend $?
+}
+
+stop_ccsd() {
+ ebegin "Stopping ccsd"
+ start-stop-daemon --stop --quiet -s 9 --exec ${CCSD}
+ eend $?
+}
+
+start_cman() {
+ ${CMAN_TOOL} status >/dev/null 2>&1
+ if [ $? -ne 0 ]
+ then
+ ebegin "Starting cman"
+ ${CMAN_TOOL} -t ${CMAN_CLUSTER_TIMEOUT} \
+ -w join ${CMAN_JOIN_OPTS} >/dev/null 2>&1
+
+ if [ "$?" -ne 0 ]
+ then
+ eend 1 "Failed to start cman"
+ return 1
+ else
+ eend 0
+
+ # make sure that we are quorate?
+ if [ ${CMAN_QUORUM_TIMEOUT} -gt 0 ]
+ then
+ ebegin "Waiting for quorum (${CMAN_QUORUM_TIMEOUT} secs)"
+ ${CMAN_TOOL} -t ${CMAN_QUORUM_TIMEOUT} -q wait
+ rc=$?
+ eend $rc
+ return $rc
+ fi
+ fi
+ else
+ einfo "cman already running"
+ fi
+}
+
+stop_cman() {
+ ebegin "Stopping cman"
+ local stat=0
+ ${CMAN_TOOL} status > /dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ retry=3
+ stat=1
+ while [ "${stat}" -eq 1 -a "${retry}" -gt 0 ]
+ do
+ #sleep 2
+ #${CMAN_TOOL} -w -t ${CMAN_SHUTDOWN_TIMEOUT} \
+ # leave remove ${CMAN_LEAVE_OPTS} > /dev/null
+ ${CMAN_TOOL} leave -t ${CMAN_SHUTDOWN_TIMEOUT} ${CMAN_LEAVE_OPTS} \
+ remove >/dev/null 2>&1
+ stat=$?
+ retry=$((${retry} -1))
+ done
+ fi
+ eend ${stat}
+}
+
+start_groupd() {
+ ebegin "Starting groupd"
+ start-stop-daemon --start --exec ${GROUPD} --name groupd
+ eend $?
+}
+
+stop_groupd() {
+ ebegin "Stopping groupd"
+ start-stop-daemon --stop --exec ${GROUPD} --name groupd
+ eend $?
+}
+
+start_fenced() {
+ ebegin "Starting fenced"
+ start-stop-daemon --start --exec ${FENCED} --name fenced
+ eend $?
+
+ ${CMAN_TOOL} status | grep Flags | grep 2node >/dev/null 2>&1
+ local errmsg=$?
+
+ ebegin "Joining fence domain"
+ if [ "${errmsg}" -ne 0 ]
+ then
+ ${FENCE_TOOL} join -t $FENCED_START_TIMEOUT >/dev/null 2>&1
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1
+ else
+ ${FENCE_TOOL} join -m $FENCED_MEMBER_DELAY >/dev/null 2>&1
+ [ $? -eq 0 ] && errmsg=$? || errmsg=1
+ fi
+ eend $errmsg
+}
+
+stop_fenced() {
+ # fenced services
+# local fence_status="$( ${CMAN_TOOL} services | awk '$1 ~ /fence/ { print $3 }')"
+# if [ -n "${fence_status}" ]; then
+# if [ -x ${FENCE_TOOL} ]; then
+# ebegin "Leaving fence domain"
+# ${FENCE_TOOL} leave > /dev/null 2>&1
+# eend $?
+# fi
+# fi
+
+ if [ -x ${FENCE_TOOL} ]; then
+ if ${FENCE_TOOL} ls >/dev/null 2>&1; then
+ ebegin "Leaving fence domain"
+ ${FENCE_TOOL} leave > /dev/null 2>&1
+ eend $?
+ fi
+ fi
+
+ ebegin "Stopping fenced"
+ start-stop-daemon --stop --exec ${FENCED} --name fenced
+ eend $?
+}
+
+start_gfs_controld() {
+ ebegin "Starting gfs_controld"
+ start-stop-daemon --start --exec ${GFS_CONTROLD} --name gfs_controld
+ eend $?
+}
+
+stop_gfs_controld() {
+ ebegin "Stopping gfs_controld"
+ start-stop-daemon --stop --exec ${GFS_CONTROLD} --name gfs_controld
+ eend $?
+}
+
+start_dlm_controld() {
+ ebegin "Starting dlm_controld"
+ start-stop-daemon --start --exec ${DLM_CONTROLD} --name dlm_controld
+ eend $?
+}
+
+stop_dlm_controld() {
+ ebegin "Stopping dlm_controld"
+ start-stop-daemon --stop --exec ${DLM_CONTROLD} --name dlm_controld
+ eend $?
+}
+
+start() {
+ if ! mount_configfs ; then
+ eerror "ConfigFS & DLM are required to use cman"
+ return 1
+ fi
+
+ [ -e /sys/module/dlm ] || [ -e /sys/kernel/dlm ] || load_modules "dlm"
+ if [ ! -e /sys/kernel/dlm ]; then
+ eerror "ConfigFS & DLM are required to use cman"
+ return 1
+ fi
+ mkdir -p /var/run/cluster
+
+# start_ccsd
+ if ! start_cman ; then
+ eerror "Failed to start cman"
+ return 1
+ fi
+ if ! start_fenced; then
+ eerror "Failed to start fenced"
+ return 1
+ fi
+ if ! start_groupd; then
+ eerror "Failed to start groupd"
+ return 1
+ fi
+ if ! start_dlm_controld; then
+ eerror "Failed to start dlm_controld"
+ return 1
+ fi
+# start_gfs_controld
+}
+
+stop() {
+
+# umount GFS filesystems
+# umount_gfs_filesystems
+
+ stop_dlm_controld
+ stop_groupd
+ stop_fenced
+ stop_cman
+
+ #stop_gfs_controld
+ #stop_dlm_controld
+ #stop_groupd
+
+ unload_modules "dlm"
+# stop_ccsd
+# unload_allmodules
+ umount_configfs
+}
diff --git a/sys-cluster/cman/metadata.xml b/sys-cluster/cman/metadata.xml
new file mode 100644
index 000000000000..ca6ebb8ce738
--- /dev/null
+++ b/sys-cluster/cman/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Manager</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/corosync/Manifest b/sys-cluster/corosync/Manifest
new file mode 100644
index 000000000000..01584ca051dc
--- /dev/null
+++ b/sys-cluster/corosync/Manifest
@@ -0,0 +1,22 @@
+AUX corosync-2.0.0-docs.patch 1238 SHA256 505575c1025f46249fdedd8e46d0ae756da59f57f63bf42b2e3af78aa5f4e962 SHA512 d6c1a5e6c0ccef07b5748e5ec4fa6dd9f76c162b71d679ec809b3986e53ec30934ea4cf569d461c4f284f45588a5bf0ed63fe9618083f18f5be7d876d2139bd6 WHIRLPOOL 87422b99d0cf870cf93400e662813c1d9b5e6fb1249132752efb08b7d13f2ad10a03fcc7d37d4f616abdd9dba87a42b2957ad4e9975da0282794164a9fa4fa71
+AUX corosync-2.3.4-docs.patch 842 SHA256 233e25049233e6d2c213c194a74d274a4fed850c34cb6b36dba0720f92546076 SHA512 e73db019b1fbe8a030e530a0be55cdc33972d018a6415d17c7c425607613ef1f0695e9c4d231eddbce708710e1cb2341c42e911e59382974ba8b24204205896f WHIRLPOOL dd743290e0334cfe8f6b373eae82734e030e03300d068ad77842af5879784b31b2cd74e844ad50601bee2bb47351237bd7bb5cf7354d2603c0801d01b464f812
+AUX corosync-docs.patch 1022 SHA256 0c988b55ea471d9c413c0143d2a523a683a324c23de5dd82bcba62676eea6857 SHA512 49f8b19cbfd5f0b1f0f927a7aa8cd2f0ad24ff958cf2baf06e8a9d87858fa01cf3656ba05189a085e265a2d8b1b320ca7f18b3a4d405d73ff05f1876ebe14960 WHIRLPOOL a2a54277d91e378cf2eec7b2385de4773815a109e425c41f725255424ec1bcd03bbc6bc7dedb7db6293e46dc5b5a2c7cf093b818085b02beed2ddaa616a71d77
+AUX corosync.initd 668 SHA256 a32ff21ac18f5187085f281203dbf4a9760c62a0c4eb772894d350cc968917f2 SHA512 a514ac91e4b691c7e7e65a45dbb49c1da408690012d750ff3e4cb1c45e629df070019382f9b7c1dbcf8342b1edc15b296433d1f589334effde843434005f0969 WHIRLPOOL 77c8c2dfb7225b0c178fbd7e5e5bd9a9acfc6cb83bca26b5297f142c6864c1488b086e02208324c1a115ce42cd5f3972f6bc3593395d12835c7c962c2e3a98a7
+AUX corosync.logrotate 93 SHA256 97ce0519c66e04936ff110ef530a73c7c6b48fa34a8cb8c178c2120daf67db6c SHA512 3c65eb01a33a6fa51befa8ce466cc8a35a06a19816b77610b83c18f9372dccdbd33354fc8568e63fe165f2c2aa598b6a5d15615939f12e3385b4c3e1b91a6ec3 WHIRLPOOL bf7ae7ac7e483ef89cce813dabbd7c89c14b3dfd531b285ea643cad32c698b1069ee923d9ce5938bfae51e3a7273ef2722e5a291ea29bd567fe8c9e16d00b885
+DIST corosync-1.3.0.tar.gz 683458 SHA256 4f9e399befcb595a1671f7ddb54dbf53e1faad6416da1415e2d787e6d2eb94a5 SHA512 30c8b6f3f8b82101e2cf65f2ecd2dd43f6dd2ab79585e713f23786be7732707395c161d1a57c7401dd05f4751ccc051ccaab81461be9bc964ef0543ef4699114 WHIRLPOOL 42c32e3d3fa05ea7bfcce7b930d5da5c27aef1454e5ba21a97f57f8f6035341439ce97917e20bc9f19f4226f0bdc124e4ffc7ee375c78617deca804a6414cbd3
+DIST corosync-1.3.5.tar.gz 698897 SHA256 7177914dff0ee16ace7a93f566c4fab06ea79400886d4d095e105a4b6bae1cd1 SHA512 74920fed67af72517076d5a85688f59f3ef81b4aa773147a96f58cbd57b3b150365b7eea4ef14c4e43c0961d9d9939d734526318b1af462e22329077a0cdbc3e WHIRLPOOL 1b66ec3caafb3623335f1eb6f8dedb04d54baffff5e26531319f4fcd9e69b7ec4d186118da2919eda6fa96edd5769a35e11cf258e4ad64fda504c465001753f3
+DIST corosync-1.4.7.tar.gz 420596 SHA256 89d82641e3ddf28d906b74c7fd220844d617a8415bf5e24802abfbb09acd905f SHA512 275a4372cac13789d93e224e4a7853953d6111afc534f9e897deaf064d5d96bb0db932a02a9212b5a0d2ca53d3f56133073f519460a9ca3573f5403642db34e1 WHIRLPOOL 7b7a2e6c7e032196099dcc827c6b343bb72c803886d005c4dee6ae402f62cc1862a276575edcbb3bbcfa248d51788a6d5953265e0d911cbe9174fd7d64170906
+DIST corosync-2.3.3.tar.gz 411784 SHA256 36a13f50e5f653837ab84e91676f001c2aedbc81ea84d3c7e017e740ea6f5a0a SHA512 66b479b2114641f02cd910f1bc3458948d5634b82e2019d7b1ea919f5bbb4817e91dddc33de061ff01dc4f12a3622b3418b7787e81a6f340d23043857cc9442f WHIRLPOOL 0cfdfcebf0956b420b81e6d9e04a12bdfbe639d07f793037f3ab7ee733508a1d48c53a00edcb78fab5700e00db07e150c1b4c12440394f1496d29238ba4615b5
+DIST corosync-2.3.4.tar.gz 420184 SHA256 e5e9ee995dfabba4d2347f7d9a5ff85bde1e62f96e1c79dbd7022be2c5b425f4 SHA512 30914552b8af69ce37a5ea98f17a41f30fa01204ca8beee8218d94b8421769504b90c8e62f1e7222afb6429ead8a2d09ca36e71461c767a2b9bf662637f78bb0 WHIRLPOOL 39338ae185c7b97ca33d948f806f720bd9296bbbbff605b1bbd0a2eb6c595c5dee37ebe144d51eca0a049a0d0fa874c93b7110b222adc19008b1469d827be282
+DIST corosync-2.3.5.tar.gz 428253 SHA256 ed8e234f8465d8bb1fbd09a4bca035ef5fd23c249a1278c8398c99e2040c0548 SHA512 212a95d8a68a2941f27c9ec22750a88598744d6fd4db6b46abe0b4cdfa988d3906f760bdf67c403d8c6d0a04da64f29ec744fb68ca51c7269ba58e306553cee9 WHIRLPOOL 7739d932859a1a4552048319d9dbbcb15223f305c236f87c5c4d82cabeb80a53010ab2d42b33a7d8b266c0045bbacd8ba42d452a2b55522f1426693bc669faca
+DIST corosync-2.4.2.tar.gz 547204 SHA256 0dd0ee718253c18c5090e0304eec72a7be8b18b6fe5e03de59ce095fa08c8b63 SHA512 45a4d2570d5d096e6f42070f701fdb2aaed26812b6a75f73ea415cf409b33343f8bc090b4fcf851ab971ca4b17925f239c31a3d9eafe4841dfbeb56537b2c78c WHIRLPOOL d4227909e4a85eca29edcd33111179789f6d6d3879c493fc54a81e38a02b5bea90e12100ceb8408bb66d6ced4477f824d24743c5e2ac91fb49e43bd8279a0b3c
+EBUILD corosync-1.3.0.ebuild 1213 SHA256 2d90006bbb93d564f4d16fb75f2363f05df17105182f169317bdbd3537e3a190 SHA512 2929f6fdb7100a034039c4737ada596bf7ff5fc078dacfde4b8f2a7987ad88e1e819debe943aac324c71dd7f95ecf6f105952bdc23dfe869c01371b4e26321ec WHIRLPOOL 557a0fa910c9e847121d221e6f432471fdeb9064f92970ec26d3a219ddb6c43cb43290b3db7a8002dc2151d467a55c39f2aea0b6cba1f1fb233a29a024715f4f
+EBUILD corosync-1.3.5.ebuild 1288 SHA256 1191d55257b81563d02798427cd036921835bfc8ff7ba3431cb4bc0d01070b0a SHA512 dc6b07ff7d254e4985b7ae7611e5f820f3ba687b684a8c92703ad2ded562beed2e1ab81e7e1bfdca755ee95e7870b6f9e8f960921a129383082790fb35b4b902 WHIRLPOOL 7c21158894b55615af956a38895fbec98b8f018ad2775cb0ea76a5c24f8cc5d17a1e07c7b5548791b44632b137e08277f01401461dc699e1d976c35c7db11002
+EBUILD corosync-1.4.7.ebuild 1401 SHA256 4ff9158f80cbc24e752be8daf4b1bbee28985f4145e6ce5a38cffbe7bf6fae14 SHA512 8bf1780dd11d8dc4937261e37192f77b49797089c407612ee6510a97c954bb56eddbd42952abd653478e8a5dd9b96270d2247dd035a46151fc13543659c49b34 WHIRLPOOL bb1c8b6ec393a1d8e7e0ace189e0ec3bcfb2af3547fae16280e4d9c1ce87a5f16f74f1362e9742b52eb0ad476af703779e354d2674fd79512c609b3530f723a0
+EBUILD corosync-2.3.3.ebuild 1926 SHA256 f2948581b02cbbaad38532961651677fe8a3bd4ba858fe5911ee693152ac531c SHA512 4717b0c7c6a8be4d849d528fd0819b8d43b4e16770ffc9022d0ebe837e2c2845a955276912b32a9796faa3d274f6a076dd3cd320503519f76bb2f31f95c42f51 WHIRLPOOL b9f50f5a68cacc61bf7ace572e3286486825e92fc16193f3344d8ec3f1700699b7baa3a9ee3823f5c9f2079791f092db5b22dd9fee05810efdb8be6568debd17
+EBUILD corosync-2.3.4-r1.ebuild 1926 SHA256 4a9e69b9ba4fd8220aad679ce821a420eb7e755cc944eb10bca8cc956fc2898f SHA512 115d63649487c591284afbccdac27f6297bb8df7874062098a232a0bd516ede0163151f8be6b420ee8de11e84fe4f5d315cdb7dbb3e603d57b7489947d63e17b WHIRLPOOL 91a06718aa6fec43ab36a1a702abcd437d066c8697b04adfea6378723ee967c44c4e3a1157c5e7371cc6e93b3be5acf0ed05953297459b276c097c70476900cb
+EBUILD corosync-2.3.5.ebuild 2053 SHA256 218927c049570e56966357427f3f4ae8f85cf1cc3d1b8899e10c431842faece5 SHA512 3d9519b80c99d764d3e1976ae04e7275dc62940cdfe6c0c16bc72979aff73453b85ac255b96b403ad0a83f630882645c1d3e6238894f52f8a52289b61fdf8aa7 WHIRLPOOL 717770aea88074c6be14ce9ed5f1d754d582ff62b2388dad3383778c829dd0cca0972397755fb7a2682e2d7d34e91c8135feddace8b698e5970285d1e2841d6f
+EBUILD corosync-2.4.2.ebuild 2015 SHA256 7a6add2e412daebb2a221535dbffa23e1cb41e395ad43144ea87213bbf149106 SHA512 ff992052dc4e7c704f48e4835883954296126ae8f0f06969170171786ac8563405340741fd708a36216aa3ed69b3c34f51bfde5725571b85155868da49de3d6b WHIRLPOOL dc928053a5af3250c0a9b5df2ab8d4d79685dcf105cb773cbadab508cf229b12ddd3440bea514819ced1e31d9a640bc2bdae24f63c1c2cfb0bd492bfa55f1826
+MISC ChangeLog 3931 SHA256 37638a21909de10dc3df932f8c0724aa5103fac6f7fc8d8c1ba065f1299f11ce SHA512 0d035654b31846c5c45d9641d3d071a74f5fe393dccad847f1070ebe398e074f3d6bd0714b2f3cfa667996a407ec0160e6a39211348373700cdca7e4c1a3a694 WHIRLPOOL 24fc848fd6afce4355b4956a4af2d03ed418595980666c543b67029c9af578f7da8d45c101a17035e4d2f3c48003b9e7332708edbee5e0f4cd1ea982920dae1a
+MISC ChangeLog-2015 6009 SHA256 ec272736141c3e5d85f468c503c2a88b01c6f3c54d85021baad6e12070d8c385 SHA512 7a7d230c3293e4fb5c8135ababddb9e5ab5b8f373d7307c5018700947342c96d457acd7d767a2344eca56cb0291408f6094528e8972f6aff0cccea4e8718f669 WHIRLPOOL a11a5857402407eecb233a6beca1f8d9a4b2c83799d6023534eb1b6fb91fa2e6f2704554f83cbea7e46a77bb106832b72693bd20648f9723e10cd6bf2e77c826
+MISC metadata.xml 536 SHA256 e950f277bfa8a3ad90625218fc1c56fad4c07592d0b43a85fc0cd15eaa643100 SHA512 67e61ff660ec5cdd483835bb496a28a9739295398c27665214db044ed98d44f16a28ef8c0a2f0184688408297594272333371a5229a07a4829b6713ebdced95a WHIRLPOOL 3f56a92c6df219e40d6da389c78e077032d1fc76d787ea5c313f640736a3b0da575d9b05f84a9cb16315e8b717ce22925638011a66214e52524e24be7dd3e470
diff --git a/sys-cluster/corosync/corosync-1.3.0.ebuild b/sys-cluster/corosync/corosync-1.3.0.ebuild
new file mode 100644
index 000000000000..61ddf86a3279
--- /dev/null
+++ b/sys-cluster/corosync/corosync-1.3.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+
+inherit base autotools
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="doc infiniband ssl"
+
+RDEPEND="!sys-cluster/heartbeat
+ ssl? ( dev-libs/nss )
+ infiniband? (
+ sys-fabric/libibverbs
+ sys-fabric/librdmacm
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-docs.patch"
+)
+
+DOCS=( "README.recovery" "README.devmap" "SECURITY" "TODO" "AUTHORS" )
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ # FIXME: install both static and shared libs
+ econf \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable ssl nss) \
+ $(use_enable infiniband rdma)
+}
+
+src_install() {
+ base_src_install
+ newinitd "${FILESDIR}"/${PN}.initd ${PN} || die
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN} || die
+
+ keepdir /var/lib/corosync
+}
diff --git a/sys-cluster/corosync/corosync-1.3.5.ebuild b/sys-cluster/corosync/corosync-1.3.5.ebuild
new file mode 100644
index 000000000000..bde57a61886f
--- /dev/null
+++ b/sys-cluster/corosync/corosync-1.3.5.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit base autotools
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86 ~x86-fbsd"
+IUSE="doc infiniband ssl static-libs"
+
+RDEPEND="!sys-cluster/heartbeat
+ ssl? ( dev-libs/nss )
+ infiniband? (
+ sys-fabric/libibverbs
+ sys-fabric/librdmacm
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-docs.patch"
+)
+
+DOCS=( README.recovery README.devmap SECURITY TODO AUTHORS )
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable ssl nss) \
+ $(use_enable infiniband rdma)
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die
+}
diff --git a/sys-cluster/corosync/corosync-1.4.7.ebuild b/sys-cluster/corosync/corosync-1.4.7.ebuild
new file mode 100644
index 000000000000..9e2073d415c6
--- /dev/null
+++ b/sys-cluster/corosync/corosync-1.4.7.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools base
+
+MY_TREE="bf8ff17"
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~x86 ~x86-fbsd"
+IUSE="doc infiniband ssl static-libs"
+
+RDEPEND="!sys-cluster/heartbeat
+ ssl? ( dev-libs/nss )
+ infiniband? (
+ sys-fabric/libibverbs
+ sys-fabric/librdmacm
+ )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-docs.patch"
+)
+
+DOCS=( README.recovery README.devmap SECURITY TODO AUTHORS )
+
+S="${WORKDIR}/${PN}-${PN}-${MY_TREE}"
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable ssl nss) \
+ $(use_enable infiniband rdma)
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ rm "${D}"/etc/init.d/corosync-notifyd || die
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die
+}
diff --git a/sys-cluster/corosync/corosync-2.3.3.ebuild b/sys-cluster/corosync/corosync-2.3.3.ebuild
new file mode 100644
index 000000000000..bd5f41d9dfab
--- /dev/null
+++ b/sys-cluster/corosync/corosync-2.3.3.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools base
+
+MY_TREE="32ec81c"
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc infiniband static-libs"
+
+# TODO: support those new configure flags
+# --enable-watchdog : Watchdog support
+# --enable-augeas : Install the augeas lens for corosync.conf
+# --enable-snmp : SNMP protocol support
+# --enable-xmlconf : XML configuration support
+# --enable-systemd : Install systemd service files
+RDEPEND="!sys-cluster/heartbeat
+ infiniband? (
+ sys-fabric/libibverbs
+ sys-fabric/librdmacm
+ )
+ dev-libs/nss
+ >=sys-cluster/libqb-0.14.4"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=( "${FILESDIR}/${PN}-2.0.0-docs.patch" )
+
+DOCS=( README.recovery SECURITY TODO AUTHORS )
+
+S="${WORKDIR}/${PN}-${PN}-${MY_TREE}"
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable infiniband rdma)
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ rm "${D}"/etc/init.d/corosync-notifyd || die
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then
+ ewarn "!! IMPORTANT !!"
+ ewarn " "
+ ewarn "Migrating from a previous version of corosync can be dangerous !"
+ ewarn " "
+ ewarn "Make sure you backup your cluster configuration before proceeding"
+ ewarn " "
+ fi
+}
diff --git a/sys-cluster/corosync/corosync-2.3.4-r1.ebuild b/sys-cluster/corosync/corosync-2.3.4-r1.ebuild
new file mode 100644
index 000000000000..b203b7438f30
--- /dev/null
+++ b/sys-cluster/corosync/corosync-2.3.4-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools base
+
+MY_TREE="4dc01e3"
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc infiniband static-libs"
+
+# TODO: support those new configure flags
+# --enable-watchdog : Watchdog support
+# --enable-augeas : Install the augeas lens for corosync.conf
+# --enable-snmp : SNMP protocol support
+# --enable-xmlconf : XML configuration support
+# --enable-systemd : Install systemd service files
+RDEPEND="!sys-cluster/heartbeat
+ infiniband? (
+ sys-fabric/libibverbs
+ sys-fabric/librdmacm
+ )
+ dev-libs/nss
+ >=sys-cluster/libqb-0.14.4"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" )
+
+DOCS=( README.recovery SECURITY AUTHORS )
+
+S="${WORKDIR}/${PN}-${PN}-${MY_TREE}"
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable doc) \
+ $(use_enable infiniband rdma)
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ rm "${D}"/etc/init.d/corosync-notifyd || die
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die
+
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then
+ ewarn "!! IMPORTANT !!"
+ ewarn " "
+ ewarn "Migrating from a previous version of corosync can be dangerous !"
+ ewarn " "
+ ewarn "Make sure you backup your cluster configuration before proceeding"
+ ewarn " "
+ fi
+}
diff --git a/sys-cluster/corosync/corosync-2.3.5.ebuild b/sys-cluster/corosync/corosync-2.3.5.ebuild
new file mode 100644
index 000000000000..beebf9585386
--- /dev/null
+++ b/sys-cluster/corosync/corosync-2.3.5.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_TREE="56ae8fe"
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="http://build.clusterlabs.org/corosync/releases/${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~hppa ppc ppc64 x86"
+IUSE="doc infiniband static-libs systemd xml"
+
+# TODO: support those new configure flags
+# --enable-augeas : Install the augeas lens for corosync.conf
+# --enable-snmp : SNMP protocol support
+# --enable-watchdog : Watchdog support
+RDEPEND="!sys-cluster/heartbeat
+ infiniband? (
+ sys-fabric/libibverbs:*
+ sys-fabric/librdmacm:*
+ )
+ dev-libs/nss
+ >=sys-cluster/libqb-0.14.4"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" )
+
+DOCS=( README.recovery SECURITY AUTHORS )
+
+S="${WORKDIR}/${PN}-${PN}-${MY_TREE}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ default
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf_opts=(
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable infiniband rdma) \
+ $(use_enable systemd) \
+ $(use_enable xml xmlconf)
+ )
+ use doc && econf_opts+=( --enable-doc )
+ econf "${econf_opts[@]}"
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ if use systemd; then
+ rm "${D}"/lib/systemd/system/corosync-notifyd.service || die
+ else
+ rm "${D}"/etc/init.d/corosync-notifyd || die
+ fi
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die
+
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then
+ ewarn "!! IMPORTANT !!"
+ ewarn " "
+ ewarn "Migrating from a previous version of corosync can be dangerous !"
+ ewarn " "
+ ewarn "Make sure you backup your cluster configuration before proceeding"
+ ewarn " "
+ fi
+}
diff --git a/sys-cluster/corosync/corosync-2.4.2.ebuild b/sys-cluster/corosync/corosync-2.4.2.ebuild
new file mode 100644
index 000000000000..be1d2139373a
--- /dev/null
+++ b/sys-cluster/corosync/corosync-2.4.2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="OSI Certified implementation of a complete cluster engine"
+HOMEPAGE="http://www.corosync.org/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2 public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="doc infiniband static-libs systemd xml"
+
+# TODO: support those new configure flags
+# --enable-augeas : Install the augeas lens for corosync.conf
+# --enable-snmp : SNMP protocol support
+# --enable-watchdog : Watchdog support
+RDEPEND="!sys-cluster/heartbeat
+ infiniband? (
+ sys-fabric/libibverbs:*
+ sys-fabric/librdmacm:*
+ )
+ dev-libs/nss
+ >=sys-cluster/libqb-0.14.4"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( sys-apps/groff )"
+
+PATCHES=( "${FILESDIR}/${PN}-2.3.4-docs.patch" )
+
+DOCS=( README.recovery SECURITY AUTHORS )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ default
+ # appends lib to localstatedir automatically
+ # FIXME: install just shared libs --disable-static does not work
+ econf_opts=(
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable infiniband rdma) \
+ $(use_enable systemd) \
+ $(use_enable xml xmlconf)
+ )
+ use doc && econf_opts+=( --enable-doc )
+ econf "${econf_opts[@]}"
+}
+
+src_install() {
+ default
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+
+ if use systemd; then
+ rm "${D}"/lib/systemd/system/corosync-notifyd.service || die
+ else
+ rm "${D}"/etc/init.d/corosync-notifyd || die
+ fi
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotate ${PN}
+
+ keepdir /var/lib/corosync
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.{,l}a || die
+
+}
+
+pkg_postinst() {
+ if [[ ${REPLACING_VERSIONS} < 2.0 ]]; then
+ ewarn "!! IMPORTANT !!"
+ ewarn " "
+ ewarn "Migrating from a previous version of corosync can be dangerous !"
+ ewarn " "
+ ewarn "Make sure you backup your cluster configuration before proceeding"
+ ewarn " "
+ fi
+}
diff --git a/sys-cluster/corosync/files/corosync-2.0.0-docs.patch b/sys-cluster/corosync/files/corosync-2.0.0-docs.patch
new file mode 100644
index 000000000000..66eacb821e5e
--- /dev/null
+++ b/sys-cluster/corosync/files/corosync-2.0.0-docs.patch
@@ -0,0 +1,34 @@
+--- a/configure.ac 2012-10-29 14:34:48.200093085 +0100
++++ b/configure.ac 2012-10-29 14:37:05.997077034 +0100
+@@ -591,7 +591,7 @@
+ INCLUDE_DIRS="$INCLUDE_DIRS -I\$(top_builddir)/include/corosync -I\$(top_srcdir)/include/corosync"
+
+ # final build of *FLAGS
+-CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $SEC_FLAGS $OPT_CFLAGS $GDB_FLAGS \
++CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OS_CFLAGS \
+ $COVERAGE_CFLAGS $EXTRA_WARNINGS \
+ $WERROR_CFLAGS $NSS_CFLAGS $LIBQB_CFLAGS \
+ $SNMP_INCLUDES"
+@@ -616,7 +616,10 @@
+ AM_CONDITIONAL(AUGTOOL, test -n "${AUGTOOL}")
+ AC_SUBST([NSS_LDFLAGS])
+
+-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build html documentation])
++)
++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] )
+
+ AC_SUBST([LINT_FLAGS])
+
+--- a/Makefile.am 2012-10-29 14:34:48.200093085 +0100
++++ b/Makefile.am 2012-10-29 14:37:16.236853385 +0100
+@@ -48,8 +48,6 @@
+ autoheader automake autoconf test_lense.sh \
+ autoscan.log configure.scan ltmain.sh
+
+-dist_doc_DATA = LICENSE INSTALL README.recovery SECURITY TODO AUTHORS
+-
+ SUBDIRS = include common_lib lib exec tools test cts pkgconfig \
+ man init conf qdevices
+
diff --git a/sys-cluster/corosync/files/corosync-2.3.4-docs.patch b/sys-cluster/corosync/files/corosync-2.3.4-docs.patch
new file mode 100644
index 000000000000..53dbd7d29c75
--- /dev/null
+++ b/sys-cluster/corosync/files/corosync-2.3.4-docs.patch
@@ -0,0 +1,23 @@
+--- a/configure.ac 2014-12-02 15:21:35.511819113 +0100
++++ b/configure.ac 2014-12-02 15:23:02.162487868 +0100
+@@ -655,7 +655,7 @@
+ INCLUDE_DIRS="$INCLUDE_DIRS -I\$(top_builddir)/include/corosync -I\$(top_srcdir)/include/corosync"
+
+ # final build of *FLAGS
+-CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $SEC_FLAGS $OPT_CFLAGS $GDB_FLAGS \
++CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OS_CFLAGS \
+ $COVERAGE_CFLAGS $EXTRA_WARNINGS \
+ $WERROR_CFLAGS $NSS_CFLAGS $LIBQB_CFLAGS \
+ $SNMP_INCLUDES"
+@@ -685,7 +685,10 @@
+ AM_CONDITIONAL(AUGTOOL, test -n "${AUGTOOL}")
+ AC_SUBST([NSS_LDFLAGS])
+
+-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build html documentation])
++)
++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] )
+
+ AC_SUBST([LINT_FLAGS])
+
diff --git a/sys-cluster/corosync/files/corosync-docs.patch b/sys-cluster/corosync/files/corosync-docs.patch
new file mode 100644
index 000000000000..198db980ae44
--- /dev/null
+++ b/sys-cluster/corosync/files/corosync-docs.patch
@@ -0,0 +1,37 @@
+Make docs optional
+
+--- configure.ac
++++ configure.ac
+@@ -432,7 +432,7 @@
+ fi
+
+ # final build of *FLAGS
+-CFLAGS="$ENV_CFLAGS $OPT_CFLAGS $GDB_FLAGS $OS_CFLAGS \
++CFLAGS="$ENV_CFLAGS $OS_CFLAGS \
+ $COVERAGE_CFLAGS $EXTRA_WARNINGS $WERROR_CFLAGS $NSS_CFLAGS"
+ CPPFLAGS="$ENV_CPPFLAGS $ANSI_CPPFLAGS $OS_CPPFLAGS"
+ LDFLAGS="$ENV_LDFLAGS $COVERAGE_LDFLAGS $OS_LDFLAGS"
+@@ -458,7 +458,10 @@
+ AC_SUBST([DARWIN_OPTS])
+ AC_SUBST([SOLARIS_OPTS])
+
+-AM_CONDITIONAL(BUILD_HTML_DOCS, test -n "${GROFF}")
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build html documentation])
++)
++AM_CONDITIONAL(BUILD_HTML_DOCS, [test -n "${GROFF}" && test "x$enable_doc" = "xyes"] )
+
+ AC_SUBST([LINT_FLAGS])
+
+--- Makefile.am
++++ Makefile.am
+@@ -41,9 +41,6 @@
+ config.guess config.sub missing install-sh \
+ autoheader automake autoconf
+
+-dist_doc_DATA = LICENSE INSTALL README.devmap \
+- README.recovery SECURITY TODO AUTHORS
+-
+ corosysconfdir = ${COROSYSCONFDIR}
+
+ corosysconf_DATA = conf/corosync.conf.example
diff --git a/sys-cluster/corosync/files/corosync.initd b/sys-cluster/corosync/files/corosync.initd
new file mode 100644
index 000000000000..7408eac33b5f
--- /dev/null
+++ b/sys-cluster/corosync/files/corosync.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ use logger
+}
+
+start() {
+ configtest || return 1
+ ebegin "Starting Corosync Cluster Engine"
+ start-stop-daemon --start -q --exec /usr/sbin/corosync \
+ --pidfile /var/run/corosync.pid --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Corosync Cluster Engine"
+ start-stop-daemon --stop -q --pidfile /var/run/corosync.pid
+ eend $?
+}
+
+configtest() {
+ ebegin "Checking corosync configuration"
+ test -f /etc/corosync/corosync.conf
+ eend $? "failed, please create the corosync configuration file"
+}
diff --git a/sys-cluster/corosync/files/corosync.logrotate b/sys-cluster/corosync/files/corosync.logrotate
new file mode 100644
index 000000000000..6c0952dcb521
--- /dev/null
+++ b/sys-cluster/corosync/files/corosync.logrotate
@@ -0,0 +1,5 @@
+/var/log/cluster/corosync.log {
+ missingok
+ notifempty
+ sharedscripts
+}
diff --git a/sys-cluster/corosync/metadata.xml b/sys-cluster/corosync/metadata.xml
new file mode 100644
index 000000000000..58bce1144c7b
--- /dev/null
+++ b/sys-cluster/corosync/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin Johnson</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="infiniband">Enable Infiniband RDMA transport support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">corosync/corosync</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/crmsh/Manifest b/sys-cluster/crmsh/Manifest
new file mode 100644
index 000000000000..6a819731e0c5
--- /dev/null
+++ b/sys-cluster/crmsh/Manifest
@@ -0,0 +1,5 @@
+DIST crmsh-2.1.1.tar.gz 733302 SHA256 11dea68a2fea9d069ff31a35e4ab2fc29b279dbe1fa0d1958f942830400bdb7e SHA512 556190e4e8da009d5f84f6356eeae2f5a18d8ca19d8c384c01d4d8526f7a20bb9545a08a6abe7cb6d9c33d9ae62ba0ea5df9ff0ae90341a53d9f7b201f5788ae WHIRLPOOL 731339a7309b6351f1227b9b83f35d172bf8cdc4a8cde7884b43c6f0169746ad60932ded43739a6070936ef44fd518f2d1a90a61e82be191e9c6a855fcc24caf
+EBUILD crmsh-2.1.1.ebuild 1198 SHA256 b0475feb1fbff5ddb7fbc91753b5f4f093046b2da739e78c1d42acc58aa0cc72 SHA512 7ff9b5e19a76b8cf857a3dc144633a045010071c519fd63c3d3b246baa4f2419261a1e49e7886426cfd1fdd356a0aa8f28852b7b367e0ba73ed13b86a23ead6a WHIRLPOOL bf103a8bb68d85926f0402a719e92f5c9d69f50f6a631f9a86d9b9bb56bdc9d02b6d43b507338c1c3372f0c1e32fdc9c854933a0997b9c17f4a1c37c9096ebf1
+MISC ChangeLog 2424 SHA256 a094f46e4925026cf4d42924bf27663ee5a1b93ec0407419ac53af529ee8b150 SHA512 2c7a0a37efcd84ddec2118c413b1f3fdef6584f3b5c52a74007cbefdef8f411d6bdce449eba11204bcc964389ce3763114f4bf3f139a1bdef17f0285689ab3d4 WHIRLPOOL 284fc9395fefb01e2aa9be849d927b86a764a8e5028f6388d578ae273a7c64df8faf739b273c4a04f79553d7ba80db1f13793ed5b2ad7762afcbb8caff5f47d1
+MISC ChangeLog-2015 2310 SHA256 324ae7b394dfda6767233e5d72e761f0d82153fee7e72b899e380bea41c3a9a9 SHA512 95b67693606ee6c42ce636a613d3635b1206322be4a1e6cec134d47afb1df8fb11bed2a8e9dc54ae82dc09204660eb8bd0da362b089df15a60e6454b7bb244cd WHIRLPOOL 2e1c7037c5cbddb157d65a590bc4377b80948b392095625833fa89f419e05c5401e5cb75b3852147edb5cb784ba1516b76ef894f9d96371b9e734d71b358cdb7
+MISC metadata.xml 343 SHA256 98d8bcc1b90be8adcf9b252832b158ffc7187c3b7611cbeac505f18ba6e4bade SHA512 0830e62f1461e108e47feed29a48d172e63003be6d55e10f647f9a02ef90c0c7b3ad0c1e6a805edef9ebe6b015adfa3b86fbc058d0c9e19188f9e9f8304a5d91 WHIRLPOOL ac1e9ca43116059d489ec468f53dd96b37d341f8361fe751c7b593fcdab4befb43ca2f4beee4d415067d77de4ea9cab178b035ea7a99df497a53993e1dec073f
diff --git a/sys-cluster/crmsh/crmsh-2.1.1.ebuild b/sys-cluster/crmsh/crmsh-2.1.1.ebuild
new file mode 100644
index 000000000000..b47b5686681c
--- /dev/null
+++ b/sys-cluster/crmsh/crmsh-2.1.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+AUTOTOOLS_AUTORECONF=true
+KEYWORDS=""
+SRC_URI=""
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://github.com/crmsh/crmsh"
+ inherit git-2
+ S="${WORKDIR}/${PN}-${MY_TREE}"
+else
+ SRC_URI="https://github.com/crmsh/crmsh/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~hppa ~x86"
+fi
+
+inherit autotools-utils python-r1
+
+DESCRIPTION="Pacemaker command line interface for management and configuration"
+HOMEPAGE="https://crmsh.github.io/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ >=sys-cluster/pacemaker-1.1.8"
+RDEPEND="${DEPEND}
+ dev-python/lxml[${PYTHON_USEDEP}]"
+
+src_prepare() {
+ sed \
+ -e 's@CRM_CACHE_DIR=${localstatedir}/cache/crm@CRM_CACHE_DIR=${localstatedir}/crmsh@g' \
+ -i configure.ac || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ python_foreach_impl autotools-utils_src_configure
+}
+
+src_compile() {
+ python_foreach_impl autotools-utils_src_compile
+}
+
+src_install() {
+ python_foreach_impl autotools-utils_src_install
+ python_replicate_script "${ED}"/usr/sbin/crm
+}
diff --git a/sys-cluster/crmsh/metadata.xml b/sys-cluster/crmsh/metadata.xml
new file mode 100644
index 000000000000..5d4d1b0fa52f
--- /dev/null
+++ b/sys-cluster/crmsh/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">crmsh/crmsh</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/csync2/Manifest b/sys-cluster/csync2/Manifest
new file mode 100644
index 000000000000..6e533d0a20c3
--- /dev/null
+++ b/sys-cluster/csync2/Manifest
@@ -0,0 +1,7 @@
+AUX csync2.initd 492 SHA256 a5be7bd48f86cf3301e3a321ad925f55ed61c2eaa08e19d3911fc2e541a41311 SHA512 a189bdc921efb51734e66f8df808289850c6ce5c60c797c85abb7b3063a45630261a32edced1efd23fe367e8e91e4fe69c3d5e44a10d5b95112ae990e26fa916 WHIRLPOOL 8b2d233db8d5d2c30da1d2c293ab2d168776a4e217d58518a0b603c1408905cb3e6dde670cad59f3d1853f2f803bd7345d078602ad443d92d19f72f5dba55cf2
+AUX csync2.xinetd 388 SHA256 c281d7e494088abd84ef09b5487482cfa886f12aa0ab717f4cb579b729cc7ee9 SHA512 538bb8fc5b6b667a8afd708fbb35c9b1e98967cf0c1e5b139cdd15a19305000fd7fb7eab564131eb7cf3f562ba9189b08a06061aa31ef64e8e85ca13d6f3d583 WHIRLPOOL 35896b35309fd8f99e938d592db2a4f9c3d348bd065e0e9428d9d0f1c3073b5992e77cc04c7655cefbde80cc079b049230dd483ef862b411239a71e5b18c99e8
+DIST csync2-2.0.tar.gz 411013 SHA256 11cb37380fb185bce0c22b804fec9b01c385d9d83cc528cfd48d748453834fa2 SHA512 f91fd222f67affe9634471d341b43ff67854a6ed25b620301a454e98a79a9fb80b2a66eb8713546758fd08300d52751e5ca7472c696daa20ee11779b87a830f8 WHIRLPOOL 6cbe49b5dd36d455d2c2b15089cc8e766aa3f9ebc2d5ebbd0528379123ae280850972b07279075a38dc328391633bd63f1a5dc8a2403b1d4faac295e27d1d920
+EBUILD csync2-2.0.ebuild 2723 SHA256 3033eac729c2ffd7ac8b6b96ccc99d6060b4746726e751ca24b957f85df699b3 SHA512 e52af2fa658cb623999970fbe2e68e28895226e1406045a76c732162075516f930a9a12c86d0cc7e5b08901ebcf7051c0b3c1cc343862c32553be46026bfc3d3 WHIRLPOOL f758b18ccf495183507399f8dbc75542de99f93eb39e1a988192120d77051b8f09c1315e7798cf2184bf473ebf86cf2872d7dcbe102769993eb80f525eefee54
+MISC ChangeLog 3451 SHA256 fa973c8f70b09c1e824687d2736ccc860653ac90b045cfc520675ca4ecfdce7a SHA512 8eb74fd49db3260d6db89b5ad4c51112981d94189595ef2f25462a060c830a9bc3b19228c46dc395aa4a11c6682bcb7259713034ad9ab19a8d346b9f4c21d234 WHIRLPOOL 5ce67d2316e4c711027ea68149f2bb013dcd6cf2538a07cbf1c29f673a6c965d4ae5a999972dca44a8af4259e069a145206ab3b096d8ce8439332af43b45bdfd
+MISC ChangeLog-2015 6036 SHA256 03c45115b34a893f4407f21d8e88cc36c102ee4a8b87a8f94b42588eac70f5da SHA512 4c74232df11aac1b2ff5611bdf662a681644cc148de0cdc56854d352460a8fbebbf239c09e4a8b109591d9d724b64bfe15e13839512d2b842f6f3b8ea40d6b2b WHIRLPOOL 49898ba121e89e1315a3e62972a6364e2ca4ea21077494f4a4186e6cf5ea405bcac457069e5f66e62c4c66f0e2fc48854716ec993a4ebda5c91de1e98372909e
+MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b
diff --git a/sys-cluster/csync2/csync2-2.0.ebuild b/sys-cluster/csync2/csync2-2.0.ebuild
new file mode 100644
index 000000000000..93288e0b154a
--- /dev/null
+++ b/sys-cluster/csync2/csync2-2.0.ebuild
@@ -0,0 +1,107 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils
+
+DESCRIPTION="Cluster synchronization tool"
+HOMEPAGE="http://oss.linbit.com/csync2/"
+SRC_URI="http://oss.linbit.com/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+
+IUSE="mysql postgres sqlite ssl xinetd"
+
+RDEPEND=">=net-libs/librsync-0.9.5
+ mysql? ( virtual/mysql )
+ postgres? ( dev-db/postgresql:= )
+ sqlite? ( >=dev-db/sqlite-3.0 )
+ ssl? ( >=net-libs/gnutls-2.7.3 )
+ xinetd? ( sys-apps/xinetd )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+SLOT="0"
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${P} \
+ --localstatedir=/var \
+ --sysconfdir=/etc/csync2 \
+ $(use_enable mysql) \
+ $(use_enable postgres) \
+ $(use_enable sqlite sqlite3) \
+ $(use_enable ssl gnutls)
+}
+
+src_install() {
+ # Parallel install fails, bug #561382
+ emake -j1 DESTDIR="${D}" install
+
+ if use xinetd ; then
+ insinto /etc/xinetd.d
+ newins "${FILESDIR}"/${PN}.xinetd ${PN}
+ fi
+
+ keepdir /var/lib/csync2
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+}
+
+pkg_postinst() {
+ if use xinetd; then
+ echo
+ einfo "After you setup your conf file, edit the xinetd"
+ einfo "entry in /etc/xinetd.d/${PN} to enable, then"
+ einfo "start xinetd: /etc/init.d/xinetd start"
+ fi
+ echo
+ einfo "To add ${PN} to your services file"
+ if use ssl; then
+ einfo "and to generate the SSL certificates,"
+ fi
+ einfo "just run this command after you install:"
+ echo
+ einfo "emerge --config =${PF}"
+ echo
+ einfo "Now you can find csync2.cfg under /etc/${PN}"
+ einfo "Please move you old config to the right location"
+ echo
+ einfo "To start csync2 as a standalone daemon, simply run:"
+ einfo "/etc/init.d/csync2 start"
+ echo
+}
+
+pkg_config() {
+ einfo "Updating ${ROOT}/etc/services"
+ { grep -v ^${PN} "${ROOT}"/etc/services;
+ echo "csync2 30865/tcp"
+ } > "${ROOT}"/etc/services.new
+ mv -f "${ROOT}"/etc/services.new "${ROOT}"/etc/services
+
+ if use ssl; then
+ if [ ! -f "${ROOT}"/etc/${PN}/csync2_ssl_key.pem ]; then
+ einfo "Creating default certificate in ${ROOT}/etc/${PN}"
+
+ openssl genrsa -out "${ROOT}"/etc/${PN}/csync2_ssl_key.pem 1024 &> /dev/null
+
+ yes '' | \
+ openssl req -new \
+ -key "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \
+ -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \
+ &> "${ROOT}"/dev/null
+
+ openssl x509 -req -days 600 \
+ -in "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr \
+ -signkey "${ROOT}"/etc/${PN}/csync2_ssl_key.pem \
+ -out "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem \
+ &> "${ROOT}"/dev/null
+
+ rm "${ROOT}"/etc/${PN}/csync2_ssl_cert.csr
+ chmod 400 "${ROOT}"/etc/${PN}/csync2_ssl_key.pem "${ROOT}"/etc/${PN}/csync2_ssl_cert.pem
+ fi
+ fi
+}
diff --git a/sys-cluster/csync2/files/csync2.initd b/sys-cluster/csync2/files/csync2.initd
new file mode 100644
index 000000000000..d718a4990921
--- /dev/null
+++ b/sys-cluster/csync2/files/csync2.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/csync2.pid
+BINARY=/usr/sbin/csync2
+
+start() {
+ ebegin "Starting csync2"
+ start-stop-daemon --start --pidfile "${PIDFILE}" -m -x ${BINARY} -b -- -ii
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping csync2"
+ start-stop-daemon --stop --pidfile "${PIDFILE}"
+ eend $?
+}
+
+restart() {
+ ebegin "Restarting csync2"
+ svc_stop
+ svc_start
+ eend $?
+}
diff --git a/sys-cluster/csync2/files/csync2.xinetd b/sys-cluster/csync2/files/csync2.xinetd
new file mode 100644
index 000000000000..d2a7adb8f5b9
--- /dev/null
+++ b/sys-cluster/csync2/files/csync2.xinetd
@@ -0,0 +1,15 @@
+# default: on
+# description: csync2
+service csync2
+{
+ flags = REUSE
+ socket_type = stream
+ wait = no
+ user = root
+ group = root
+ server = /usr/sbin/csync2
+ server_args = -i
+ #log_on_failure += USERID
+ disable = yes
+ only_from = 192.168.199.3 192.168.199.4
+}
diff --git a/sys-cluster/csync2/metadata.xml b/sys-cluster/csync2/metadata.xml
new file mode 100644
index 000000000000..8bf4b5f36954
--- /dev/null
+++ b/sys-cluster/csync2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/dlm-lib/Manifest b/sys-cluster/dlm-lib/Manifest
new file mode 100644
index 000000000000..b8ea2324693b
--- /dev/null
+++ b/sys-cluster/dlm-lib/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d
+DIST cluster-2.03.11.tar.gz 1790532 SHA256 2597e7cbcbc6b272fd21aa2468f0810a097efd996128fcd672a786d106b1124d SHA512 bdcae4ff9834cb2870ed3e51079046d0b4f56ef391cda83ece537c48b19d692b01bf208f3936504223d4f3d283b2645cc076383f718f0c2242b2ccd9badad876 WHIRLPOOL 970b007601d1962692a906f08981bd579e4c17e09e29ae837ce663b0566de35daae4ae8c10c19b433dc6a0c7e3197228fca4d16f7e9721161b53658f7a3f0d34
+EBUILD dlm-lib-2.03.09.ebuild 1196 SHA256 387da1d6e19395d8ac16d2207dabc25edcda95cbf4fdbdc4a4d271e9ae62fef2 SHA512 772e12133821990d4b3c337a0a6b9e413a19f861aa8795c1bf57a80f7229484059628cabff4e21dc8b44ccc70e1e4b554187e644d31d401a7a5df9622ca021cb WHIRLPOOL 0eb6db1e505e41cea3c5e1f64f36eb98be3e0fd86c27a9ccf80c2e327b7bc5e42accbf40070afe855ec76f012042678c6b86ae9153737cb5a9dfbf336aaddbc2
+EBUILD dlm-lib-2.03.11.ebuild 1198 SHA256 c8a92661a182cb0e6bd55fa41bcd5e8d1d48530119942a5c960cdf3b2b2493ae SHA512 4c886295bc8b86da665b404d1d5feb3f531302c771778bdcd49cf1103a308924298ffc01c30873f618ff199871f1770d5a0eb00ceba8f1516010fe09e8cc68ea WHIRLPOOL e62a37237c3471b2128ef37fd35dc542c2c0f786faa45d07445656485e6974cca7b4bab1eda4a2ae05865a2b39a7fa595de4a9cc0842df8fa7bd0b65c91af4e5
+MISC ChangeLog 2827 SHA256 bd8aa39150b74e5aa9d51aa12c62c32115efc9b3b4954901fccac7bc3a9e6bdd SHA512 de40b63ab9f51f4898b97f0d15bddc048cec0ecac1c772f23bcd6c97a94aea86498b3ac3ea4cd159f655540cc82a86cb21635212c069bcf76e249c4eeefb9a48 WHIRLPOOL bdbe52de7c81901da02eb2cf59fed6c6fb8650f63a0532f15e2353e0896c70f6d59db653c502c42c7155b6d30ae4116c9679a447cff701fbaea6b3a565e4d5e6
+MISC ChangeLog-2015 1715 SHA256 aad3a3fea4b10a6f7c3c5aa38c8e9a1a92b9510aa258de8bbe089ee11df905c1 SHA512 9c5a77b2d5e7c4b55e57eb28d4faeebfb88008557158b9b195e95d2748c11b0142d9e948cd947ec3e74dfadab9f5f41d06597dcbb7ad4635b293fd2f53241d54 WHIRLPOOL 3ddab97fd3945cb2f901776a1fcfd1952f19dab2e099b3f6a3c582b84b56b65ed222598ac1c678a459788f37887c65ae2049d0d52c1fbc9198b370bb3d5eb6af
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild b/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild
new file mode 100644
index 000000000000..9f7ee3a8e734
--- /dev/null
+++ b/sys-cluster/dlm-lib/dlm-lib-2.03.09.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils linux-mod multilib versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ "
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/${PN/-//}"
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir="/usr/$(get_libdir)" \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir="/usr/$(get_libdir)" \
+ --cmanincdir=/usr/include \
+ ) || die "configure problem"
+
+ #emake clean || die "clean problem"
+ emake -j1 || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install problem"
+}
diff --git a/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild b/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild
new file mode 100644
index 000000000000..2be0a15458dc
--- /dev/null
+++ b/sys-cluster/dlm-lib/dlm-lib-2.03.11.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils linux-mod multilib versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ "
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/${PN/-//}"
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir="/usr/$(get_libdir)" \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir="/usr/$(get_libdir)" \
+ --cmanincdir=/usr/include \
+ ) || die "configure problem"
+
+ #emake clean || die "clean problem"
+ emake -j1 || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install problem"
+}
diff --git a/sys-cluster/dlm-lib/metadata.xml b/sys-cluster/dlm-lib/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/dlm-lib/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/dlm/Manifest b/sys-cluster/dlm/Manifest
new file mode 100644
index 000000000000..6b10dcb42bc5
--- /dev/null
+++ b/sys-cluster/dlm/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d
+DIST cluster-2.03.11.tar.gz 1790532 SHA256 2597e7cbcbc6b272fd21aa2468f0810a097efd996128fcd672a786d106b1124d SHA512 bdcae4ff9834cb2870ed3e51079046d0b4f56ef391cda83ece537c48b19d692b01bf208f3936504223d4f3d283b2645cc076383f718f0c2242b2ccd9badad876 WHIRLPOOL 970b007601d1962692a906f08981bd579e4c17e09e29ae837ce663b0566de35daae4ae8c10c19b433dc6a0c7e3197228fca4d16f7e9721161b53658f7a3f0d34
+EBUILD dlm-2.03.09.ebuild 1527 SHA256 b96b23eddaa0053d1507da931e67cfe87238acb808cb5e03dd746544b03544c9 SHA512 67f95c7464205e951c09ed3983b92842311806dd46803229dae6ccfd6cf9345c529ffed7a093a49e9b9f2dfb9caa7730acc3ef828f79bd951ebd8f6d58b4d3a8 WHIRLPOOL 092d2a83aee7b200658f16aaf2b3a11392f53df1ffee217060ac57c56f9f2386046d2aa6a7a644479db821b0b2271cfad4f0b76fc3fb310de38a47e2a565b5fd
+EBUILD dlm-2.03.11.ebuild 1529 SHA256 968628564dd9380f61e79252a03dbbf7392343cc55454bed587c4d68a58ad145 SHA512 834b115a965568565852b2b0ba3566b294dd7460c11ed788e684e7496c2166004b5633e6cb479665b7776861ea7b4efaa5682e0c3912dce3257fdd856b89c54f WHIRLPOOL 43ccb72ce1b3bd6541e29b9a9a22ebe0cc527fe3afdd0e40ad1eedaefe6fc05bac2c557315e3ec26a44a48c7d8e70b371b224e977f412b5ac60bad7760bb03e1
+MISC ChangeLog 3044 SHA256 675ff0c24be8e525cd612f3d8fe8ca5fde0edd57255bf7f9ffb416df5a57d789 SHA512 1bb7d3c294dbc0c79521141bd5194cb7b3bb8b71380458d7a201755a1d6f7e20990c535a66fa4c6ea1d36dab3f17a61dd38a8310843d416dd7e7695d91c21e11 WHIRLPOOL 01c2cb8df2b3888ef7c91e594cfed25aa2f549e16cfb27452e030b8b2cbb08dbf097618b0f68ba90080436cd7365b1ac8e4908b77641ad5683481523e18b41c9
+MISC ChangeLog-2015 5039 SHA256 8bff77d699142b46c1eb856c72986c2cb13c6e7d92be7b5974532e84ab6d8061 SHA512 62a6669e6c22f104620935ff12f774c297d410ffab9f8abc920888b15e3bc744936b871c71c263d89d1333bb44efb619c07e40b6099ca1c07981e383e511478c WHIRLPOOL afeb415861636e390aaf347a59b27e50ade9abf9c7f370dffadb9dab76b8051c4b18ffa65330324b843c74b6ecd26f117971ce8759022d41e52d812064d9a602
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/dlm/dlm-2.03.09.ebuild b/sys-cluster/dlm/dlm-2.03.09.ebuild
new file mode 100644
index 000000000000..361d6e30adc6
--- /dev/null
+++ b/sys-cluster/dlm/dlm-2.03.09.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils linux-mod versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ =sys-cluster/dlm-lib-${CLUSTER_RELEASE}*
+ "
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # fix the manual pages have executable bit
+ sed -i -e '
+ /\tinstall -d/s/install/& -m 0755/; t
+ /\tinstall/s/install/& -m 0644/' \
+ man/Makefile || die "failed patching man pages permission"
+
+}
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir=/usr/lib \
+ --dlmlibdir=/usr/lib \
+ --dlmincdir=/usr/include \
+ ) || die "configure problem"
+
+ emake clean || die "clean problem"
+ for i in tool man; do
+ emake -C $i || die "compile problem"
+ done
+}
+
+src_install() {
+ for i in tool man; do
+ emake DESTDIR="${D}" -C $i install || die "install problem"
+ done
+
+ dodoc doc/*.txt
+}
diff --git a/sys-cluster/dlm/dlm-2.03.11.ebuild b/sys-cluster/dlm/dlm-2.03.11.ebuild
new file mode 100644
index 000000000000..c4816c691d72
--- /dev/null
+++ b/sys-cluster/dlm/dlm-2.03.11.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils linux-mod versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ =sys-cluster/dlm-lib-${CLUSTER_RELEASE}*
+ "
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # fix the manual pages have executable bit
+ sed -i -e '
+ /\tinstall -d/s/install/& -m 0755/; t
+ /\tinstall/s/install/& -m 0644/' \
+ man/Makefile || die "failed patching man pages permission"
+
+}
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir=/usr/lib \
+ --dlmlibdir=/usr/lib \
+ --dlmincdir=/usr/include \
+ ) || die "configure problem"
+
+ emake clean || die "clean problem"
+ for i in tool man; do
+ emake -C $i || die "compile problem"
+ done
+}
+
+src_install() {
+ for i in tool man; do
+ emake DESTDIR="${D}" -C $i install || die "install problem"
+ done
+
+ dodoc doc/*.txt
+}
diff --git a/sys-cluster/dlm/metadata.xml b/sys-cluster/dlm/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/dlm/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/drbd-kernel/Manifest b/sys-cluster/drbd-kernel/Manifest
new file mode 100644
index 000000000000..fae36113bb6e
--- /dev/null
+++ b/sys-cluster/drbd-kernel/Manifest
@@ -0,0 +1,12 @@
+AUX drbd-8.0.16-kernel-2.6.30-compile-fix.patch 394 SHA256 75201a1d384be2ed7dffec833d45701ca8f9941bcce8a54afbee1ed270d7f756 SHA512 ccdbee8ed89a06746914bcbb5b5120ddc32c7e671fe13f1c337fa86aef2d2bc2994efbbe3ac5030c325a164f5331d9cf30d9c1e7ffc9c46c06aadbd3705afcc7 WHIRLPOOL e16de59cc9f1df9a4f508112bcea9997d20ed9df3a3fe7b87948692ea072bc40668d7e4e285e44aae8bdac310193a46467683dea6d326ba638bc243a4f3ac905
+AUX drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch 679 SHA256 594527b03820de4f8fbfbdfdbfeb004242e8a712575fb2854f0f6b99880d9b36 SHA512 872df2e12dc9a47785c37dd6a82e060e5af751f90b23962f2164c609f6e0ae64b9b9dfbc3e52f7b60422ab3c9069bf17aea20a9b1ad3042f300356d2084d7a31 WHIRLPOOL 52678628e6305805fbc4ef258f268d3ac960b67cfb1a1d08cb059ca0379df1571eddbe0118405cb26859dde428b1a9ce25672cbeb64f22bb5fdc2a2f44ad9734
+AUX drbd-kernel-8.3.6-linux-2.6.32.patch 1243 SHA256 bc6f22124bc2b7e573cea4e69724c49b914a195ee7c626ce346c584e89c61525 SHA512 f41f4c6e5e9ce9a0425c813a384b8b86d8fc92730eac8a08be10dcc8eb1c912057923929cbf044d9807f292c1ae908bade7868ea636afd3ba4237fb5aae502de WHIRLPOOL 9bebc2808571c1c171ec8ebef7532d2ac527a78043cc672568c113fc2bd229688de78011a273f9b19d6135fe4e9f18a23e6d5faf3390c3c637a39e3c26592e2e
+DIST drbd-8.0.16.tar.gz 322758 SHA256 3bdb662663d308da9d871cc66ddc9e807a10ad5ab510a33b62877231150bc059 SHA512 1b325e3789032656a1f7286b51ac9e90f709c53f8ff35c10ca9bb2e27b1cf822813485e0a49d55c62e7966bc975040b42a6d0ac8fa066a16afa2605e9df87a17 WHIRLPOOL 75e56a3dcc0a53a82c3e542ce60a9871de70257ebf1834e067fc2bbb1bdefa4f07c6ef6217aa6f4214ecea2f04f372e0ae218ceab388678137f38e56f7420173
+DIST drbd-8.3.6.tar.gz 457469 SHA256 ea1220705845df6f6490624698904f28854fe74caf047a5d01454b9abd892ce3 SHA512 0e817d514b60891c70532511b99d7cddf24e3fa261b605bc920ad7ab2d4530682f84b78eb0a2ed9c25a8458a43496e8de61addade63b8f6e252a36b6b1d50cef WHIRLPOOL 31b859c91b56912a1b865ff2a406d991ee9e2f42a2afa87e450e7aa838926abaf6a74606f076a575fed73d756b25e7eb0902b3e37589aa71e5fd211220717ce6
+DIST drbd-8.3.8.1.tar.gz 482582 SHA256 2b7e8a3895e89824d41d7dce8d55d127baba857c509bc2477925b0aecaf5689b SHA512 c43c6d065328058db66f708d47ce082603b766deb1530c57aa736a42b4908f780ede41f76395ca45c2691ef1dfd142147a4c98a7bcdb26ba7de73b149d8f9f5f WHIRLPOOL af4f6a1a8a7d51626d508e834e1465c079bd386f24ecdd3495221bafc3f9c766d6d583934995b88372bbed8e1e7bd3d19186c4eab40c123c5c700fc3de7742e9
+EBUILD drbd-kernel-8.0.16.ebuild 1298 SHA256 1e84591454c4690ef1f75b3aa98220e6d34b01d1d58444aed2b7657ec8b37bf1 SHA512 90030164bf8e2061e4a8fddc2a77bae3ca9a4aecac6f2aed69182cbcb767f1e6f5ba48329dd32aabb0b486b75f1a08852df0f7accb2947135172238c6b6ce944 WHIRLPOOL b4ee88fb1fb4fb4620f699344a1777e8c75888ea8b66066f847618e1ca3c00f5374b58eaee0fb263a600f09fb3953e51a321420216dcd639bb5449a05eecd55a
+EBUILD drbd-kernel-8.3.6.ebuild 1176 SHA256 352ed596e09e4dc844168f5259f1aa8adbb37332a172453dadbb91ce32d557f5 SHA512 e3e7215d2ba88cc360873f47710228f364d038e7de11221dcd8a6b4ac14ac784c13a3697768c3d9286f7e62205593164a51be6faa84fb6258c9737fbe39a4411 WHIRLPOOL 10412e0684cd404bafdc25e04597e896cab4204e5f9576126d078b8f99fe02b49ea1f4504bc857455c97ff4b1d03b378c5833fb0371c055d78becdb364eb031c
+EBUILD drbd-kernel-8.3.8.1.ebuild 1391 SHA256 b39b6aec31a30d4b9a3b236d48f24e0a8a87448f88ddeaaa2fd7cb30b6d0c9d7 SHA512 88db68a055e22bb464885ca82a53dec55168a5698fd6cc623430517c60da49621a53dff2e64ee80814d136f4f4f21938592f68df7a21eee409af572658642d89 WHIRLPOOL 1f375fe2355ef706da1ae47a05366053d272e505d3915dd034207fa574d67e361d94af4a607c947488c5a39cfd11fa97b27fbce8f692447e9c6b44aff789173e
+MISC ChangeLog 2737 SHA256 d1e77f3c2dfd0411d59df6f03510a2843a88ac02bd5f3b7015259bed1216208b SHA512 fe55570836cfc8209250f5895311c5748f64dcc8da10fc97bd520f61a6494da7d13c3d19b2162163633c1926a080fbbeb65e6ef2e443c622db0bbac9e8dc55dd WHIRLPOOL 50db2af0460157a01146cdcc9ac5cbebbdae97d1db1668bf3750b3750dc8577025e9180adbf8e1804efd5f992eccf0b7706a63f8a4dd690b8d5e81222f14aa13
+MISC ChangeLog-2015 5006 SHA256 f1dcf200cac0ae3e118b365473917279b6de66acfbf541a294e1dc0e84275cbf SHA512 632a014108ebb78c17d475f1be4d5774b364e12dfc7d33af370c03f111cdc1256d195dafb5577db46971afbd884eda886919ce73d1fe872d4097778ebbc1c83a WHIRLPOOL 1c5246aa62ac5f6f20b964d4eea89d9f4b65b2ed9173c5c9b5ada932038755f54fbc8c4b9d71f35a374c4169ef7316f8b312b8db0d4fed09a4736de6afb88f6f
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild
new file mode 100644
index 000000000000..c7940d8f75ab
--- /dev/null
+++ b/sys-cluster/drbd-kernel/drbd-kernel-8.0.16.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator linux-mod
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+
+MY_PN="${PN/-kernel/}"
+MY_P="${MY_PN}-${PV}"
+MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})"
+
+HOMEPAGE="http://www.drbd.org"
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz"
+
+IUSE=""
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+SLOT="0"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if ! kernel_is -ge 2 6; then
+ die "Unsupported kernel, drbd-8.0.x needs kernel 2.6.x ."
+ fi
+
+ MODULE_NAMES="drbd(block:${S}/drbd)"
+ BUILD_TARGETS="default"
+ CONFIG_CHECK="CONNECTOR"
+ CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it."
+ linux-mod_pkg_setup
+ BUILD_PARAMS="-j1 KDIR=${KERNEL_DIR} O=${KBUILD_OUTPUT}"
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${PN}-8.0.0-scripts.adjust_drbd_config_h.sh.patch || die
+ epatch "${FILESDIR}"/${MY_P}-kernel-2.6.30-compile-fix.patch || die
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ einfo ""
+ einfo "Please remember to re-emerge drbd when you upgrade your kernel!"
+ einfo ""
+}
diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild
new file mode 100644
index 000000000000..a204c0f4fc5a
--- /dev/null
+++ b/sys-cluster/drbd-kernel/drbd-kernel-8.3.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils versionator linux-mod
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 x86"
+
+MY_PN="${PN/-kernel/}"
+MY_P="${MY_PN}-${PV}"
+MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})"
+
+HOMEPAGE="http://www.drbd.org"
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz"
+
+IUSE=""
+
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+SLOT="0"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-linux-2.6.32.patch
+}
+
+pkg_setup() {
+ if ! kernel_is -ge 2 6; then
+ die "Unsupported kernel, drbd-${PV} needs kernel 2.6.x ."
+ fi
+
+ MODULE_NAMES="drbd(block:${S}/drbd)"
+ BUILD_TARGETS="default"
+ CONFIG_CHECK="CONNECTOR"
+ CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it."
+ linux-mod_pkg_setup
+ BUILD_PARAMS="-j1 KDIR=${KV_DIR} O=${KV_OUT_DIR}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ einfo ""
+ einfo "Please remember to re-emerge drbd when you upgrade your kernel!"
+ einfo ""
+}
diff --git a/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild b/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild
new file mode 100644
index 000000000000..8c2a7bc6cdbb
--- /dev/null
+++ b/sys-cluster/drbd-kernel/drbd-kernel-8.3.8.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils versionator linux-mod
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+
+MY_PN=${PN/-kernel/}
+MY_P=${MY_PN}-${PV}
+MY_MAJ_PV=$(get_version_component_range 1-2 ${PV})
+
+HOMEPAGE="http://www.drbd.org"
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${MY_PN}-${PV}.tar.gz"
+
+IUSE=""
+DEPEND="virtual/linux-sources"
+RDEPEND=""
+SLOT="0"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ if ! kernel_is -ge 2 6; then
+ die "Unsupported kernel, drbd-${PV} needs kernel 2.6.x ."
+ elif [ ${KV_PATCH} -ge 33 ]; then
+ ewarn "Your kernel (${KV_FULL}) is too new to use this package."
+ ewarn "The DRBD module has been merged into kernel >= 2.6.33."
+ ewarn "Please compile the DRBD module from your current kernel."
+ die "${PN} is obsolete with kernel >= 2.6.33."
+ fi
+
+ MODULE_NAMES="drbd(block:${S}/drbd)"
+ BUILD_TARGETS="default"
+ CONFIG_CHECK="CONNECTOR"
+ CONNECTOR_ERROR="You must enable \"CONNECTOR - unified userspace <-> kernelspace linker\" in your kernel configuration, because drbd needs it."
+ linux-mod_pkg_setup
+ BUILD_PARAMS="-j1 KDIR=${KV_DIR} O=${KV_OUT_DIR}"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ einfo ""
+ einfo "Please remember to re-emerge drbd-kernel when you upgrade your kernel!"
+ einfo ""
+}
diff --git a/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch b/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch
new file mode 100644
index 000000000000..c7b4f814077e
--- /dev/null
+++ b/sys-cluster/drbd-kernel/files/drbd-8.0.16-kernel-2.6.30-compile-fix.patch
@@ -0,0 +1,12 @@
+--- drbd-8.0.16/drbd/drbd_main.c.orig 2009-08-04 17:55:52.000000000 +0300
++++ drbd-8.0.16/drbd/drbd_main.c 2009-08-04 17:56:35.000000000 +0300
+@@ -2770,7 +2770,9 @@
+ }
+
+ drbd_proc->proc_fops = &drbd_proc_fops;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ drbd_proc->owner = THIS_MODULE;
++#endif
+ #else
+ # error "Currently drbd depends on the proc file system (CONFIG_PROC_FS)"
+ #endif
diff --git a/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch b/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch
new file mode 100644
index 000000000000..beb07fbdaeb9
--- /dev/null
+++ b/sys-cluster/drbd-kernel/files/drbd-kernel-8.0.0-scripts.adjust_drbd_config_h.sh.patch
@@ -0,0 +1,23 @@
+--- drbd-8.0.0/scripts/adjust_drbd_config_h.sh.orig 2007-02-05 01:20:58.000000000 +0100
++++ drbd-8.0.0/scripts/adjust_drbd_config_h.sh 2007-02-05 01:21:28.000000000 +0100
+@@ -26,19 +26,7 @@
+ pushd $KDIR
+
+ KDIR=${KDIR%/}
+-if test -z "$O"; then
+- ## just in case...
+- ## detect if $KDIR points to something which is actually $O ...
+- X=$( make help | sed -ne '/ -C .* O=.* help$/p' | tr -s ' ' )
+- if [[ -n $X ]]; then
+- KDIR=${X##* -C }; KDIR=${KDIR%% *}; KDIR=$(cd $KDIR && pwd)
+- O=${X##* O=}; O=${O%% *}; O=$(cd $KDIR && cd $O && pwd)
+- else
+- O=$KDIR;
+- fi
+-else
+- O=${O%/}
+-fi
++O=$KDIR;
+
+ # some paranoia: check that all files are where we expect them
+ ls > /dev/null \
diff --git a/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch b/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch
new file mode 100644
index 000000000000..893f9c2e21fe
--- /dev/null
+++ b/sys-cluster/drbd-kernel/files/drbd-kernel-8.3.6-linux-2.6.32.patch
@@ -0,0 +1,46 @@
+--- drbd-8.3.6/drbd/drbd_req.c
++++ drbd-8.3.6/drbd/drbd_req.c
+@@ -55,13 +55,21 @@
+ __disk_stat_inc(mdev->vdisk, ios[rw]);
+ __disk_stat_add(mdev->vdisk, sectors[rw], bio_sectors(bio));
+ disk_round_stats(mdev->vdisk);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
++ mdev->vdisk->in_flight[rw]++;
++#else
+ mdev->vdisk->in_flight++;
++#endif
+ #else
+ cpu = part_stat_lock();
+ part_stat_inc(cpu, &mdev->vdisk->part0, ios[rw]);
+ part_stat_add(cpu, &mdev->vdisk->part0, sectors[rw], bio_sectors(bio));
+ part_stat_unlock();
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
++ mdev->vdisk->part0.in_flight[rw]++;
++#else
+ mdev->vdisk->part0.in_flight++;
++#endif
+ #endif
+ }
+
+@@ -77,13 +85,21 @@
+ #ifdef __disk_stat_add
+ __disk_stat_add(mdev->vdisk, ticks[rw], duration);
+ disk_round_stats(mdev->vdisk);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
++ mdev->vdisk->in_flight[rw]--;
++#else
+ mdev->vdisk->in_flight--;
++#endif
+ #else
+ cpu = part_stat_lock();
+ part_stat_add(cpu, &mdev->vdisk->part0, ticks[rw], duration);
+ part_round_stats(cpu, &mdev->vdisk->part0);
+ part_stat_unlock();
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
++ mdev->vdisk->part0.in_flight[rw]--;
++#else
+ mdev->vdisk->part0.in_flight--;
++#endif
+ #endif
+ }
+
diff --git a/sys-cluster/drbd-kernel/metadata.xml b/sys-cluster/drbd-kernel/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/drbd-kernel/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/drbd-utils/Manifest b/sys-cluster/drbd-utils/Manifest
new file mode 100644
index 000000000000..e2a89c45f493
--- /dev/null
+++ b/sys-cluster/drbd-utils/Manifest
@@ -0,0 +1,9 @@
+AUX drbd-utils-8.0.rc 3073 SHA256 6c81121e5d1543b8ab8ec4aa525bb5afe18f853748c8a8f3d14a697aecc735fc SHA512 9cd9de6d41552f080f3d590630ecd1686ea32b9e9db3b78a132e7fb55318a338331c09af5d80ba885d48a001ee3f7a6f791ddd806e834d2a7c72f01a00ec2f6c WHIRLPOOL 9dda501dff640fd1bfe432711f89dea87ef4ed225413cd51481a71ff2817ab3072084deed64767d170d76ea5b43828a19e9a85ca0ec3558a40c9f22c6f8c9fe9
+AUX run-lock.patch 564 SHA256 37e9485d4bf647fa11a78631965350a3dc0f0e8de1624170dd393a3da7743939 SHA512 779ad53c9f019b9dcc748177d6017ca06f1b450bf0889307c9660c574c09414964e4c5e4d6f2f3e8fc540ba14a1d489d09991b813af1581b2f6cd4ba491455ab WHIRLPOOL 3a361d18c9d83759f121ffb744158f75d8cf2c78400f646d77ac8da4b9d8433b4b0ee37dea0bdb61f21d41c1aa2cb9ba7930dfbf13a09b66ba4b48e63fed7169
+DIST drbd-utils-8.9.3.tar.gz 768700 SHA256 011050578c153bf4fef86e03749304ff9f333b7af3512c5c395e0e870a0445bd SHA512 1b1cb3d1eb7f14f693e8a73b9864257e439e443ce685084c3864da4340113f18355d1e447177956ee0d8edcee35e771442b9f85b89ec5a6eb0ad717738461ca2 WHIRLPOOL f21aec707f06d361ae336d0cf1e55fa546e5f250f869c80829f806eaef7d59c12ff30d1ded39e3624b162a9bff1ffe96cb3cb1acd85ca58ca29a4998740fba85
+DIST drbd-utils-8.9.6.tar.gz 788183 SHA256 297b77c9b3f88de2e7dae459234f2753ea4fc2805282b2d276e35cf51e292913 SHA512 cbdeeb7b298bc21de0d2188566362d7a634a72df243403f4bc91d5836c757f15ee86314b1385860aecda5657be5dc6309f2481b0403012bde841dd0618188938 WHIRLPOOL 4c379ecf15e71f5a504873a5f1c889a561df35eb99488f014085611e1bf804bf7877dba6f21b9e8ebacf26391b9ce0707c1fe07ba55f9b0cd887e34e0b6e2975
+EBUILD drbd-utils-8.9.3.ebuild 2410 SHA256 c957ff28a2f49bb1aed49feecc9d5b8d11e406101989197e02d0fbb409f960fc SHA512 91530010427a1cbc5cc5ae8d6026954b626b21495dfc90c34ae92acead467813f7c7d929d32a3401b01b26cba31199c9ef78ad69d74484d59f924b51faf43928 WHIRLPOOL 9b23730ff214dddba14cdb46239dd215e9cc8b85e60b11b29089fb18d25bbffd7ebe6feeb0b0690ae7bf08a44969a17113d2f211d2f5cb2976b03ea28dc8adff
+EBUILD drbd-utils-8.9.6-r1.ebuild 2422 SHA256 0ffd8ffe70d3bb5d3db8fb37e44d3120db934f8f1ab8671410988af7e441b539 SHA512 d2c4b3ccc0ebefc7212a9575a4042770764ad922b6fa99bf25b85df3ccd55e477101b0ea2c9a885aa61800b42041aa0c29460223329f88934aecea5debba53b8 WHIRLPOOL bdd492860c43ba79d5699f0ed8e250f58bc322d3d96f8be5dcba0668856678f0d2a42c34e70f41fb55a2a590ae891f9ce06304c7ef40631a5510e5fb812a8eb6
+EBUILD drbd-utils-8.9.6.ebuild 2422 SHA256 0ffd8ffe70d3bb5d3db8fb37e44d3120db934f8f1ab8671410988af7e441b539 SHA512 d2c4b3ccc0ebefc7212a9575a4042770764ad922b6fa99bf25b85df3ccd55e477101b0ea2c9a885aa61800b42041aa0c29460223329f88934aecea5debba53b8 WHIRLPOOL bdd492860c43ba79d5699f0ed8e250f58bc322d3d96f8be5dcba0668856678f0d2a42c34e70f41fb55a2a590ae891f9ce06304c7ef40631a5510e5fb812a8eb6
+MISC ChangeLog 1959 SHA256 f7fca460fa8385e78b620b0f1063e24d6f4c8a0cd2b05d737caf7ae803699c31 SHA512 3ebfebb34e1d1d73eafb774da9af58355d3f1c6f3d58b18acf1b2a505d14cfe1a50f30b6427194fba1491a11b3e8a3ea65c83b768f23cb35e35941396a68243e WHIRLPOOL 6e197985dd4747a170a942333fb28c412b3f3a394f1dd4671c6bef68dc17b59bd0e3a799ef9c9b945ecffc59f117ab7ec22e6e63b76820d9863b260b5834e1b9
+MISC metadata.xml 684 SHA256 5fc43a01e2ab5a0e1a0ea020fb5f10eb0e8275cf7613ce07b6df6183c02850e9 SHA512 10f563a04424b8d23d6a54b2091c109f14370279bc08a6f489c308e612fba52da888ef152319485749a1807fc5daef7d7b1728ed2aa46dde74f877eff24a4ad5 WHIRLPOOL cdfb81556c277ac6086eafe0ee73f0a14ca9c91cbc5a718c028721b6bcfce4c86f36108144c9e39e84a00e37cc1d85fce2eb6b3ae2f1f47564fdf6b5c717c9d6
diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild
new file mode 100644
index 000000000000..7bb3129097f5
--- /dev/null
+++ b/sys-cluster/drbd-utils/drbd-utils-8.9.3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1 eutils multilib udev versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+DEPEND="heartbeat? ( sys-cluster/heartbeat )
+ pacemaker? ( sys-cluster/pacemaker )
+ udev? ( virtual/udev )
+ !!sys-cluster/drbd"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P/_/}"
+
+src_prepare() {
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user/*/Makefile.in || die
+
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/*/Makefile.in || die
+
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+
+ epatch "${FILESDIR}"/run-lock.patch
+
+ autoreconf
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/}
+
+ dodoc scripts/drbd.conf.example
+
+ dosym /usr/sbin/drbdadm /sbin/drbdadm
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild
new file mode 100644
index 000000000000..d66c244db4a2
--- /dev/null
+++ b/sys-cluster/drbd-utils/drbd-utils-8.9.6-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1 eutils multilib udev versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+DEPEND="heartbeat? ( sys-cluster/heartbeat )
+ pacemaker? ( sys-cluster/pacemaker )
+ udev? ( virtual/udev )
+ !!sys-cluster/drbd"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P/_/}"
+
+src_prepare() {
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user/*/Makefile.in || die
+
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/*/Makefile.in || die
+
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+
+ epatch "${FILESDIR}"/run-lock.patch
+
+ autoreconf
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools install-doc
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/}
+
+ dodoc scripts/drbd.conf.example
+
+ dosym /usr/sbin/drbdadm /sbin/drbdadm
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild b/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild
new file mode 100644
index 000000000000..d66c244db4a2
--- /dev/null
+++ b/sys-cluster/drbd-utils/drbd-utils-8.9.6.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit bash-completion-r1 eutils multilib udev versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${P/_/}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+DEPEND="heartbeat? ( sys-cluster/heartbeat )
+ pacemaker? ( sys-cluster/pacemaker )
+ udev? ( virtual/udev )
+ !!sys-cluster/drbd"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${P/_/}"
+
+src_prepare() {
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user/*/Makefile.in || die
+
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/*/Makefile.in || die
+
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/global_common.conf || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+
+ epatch "${FILESDIR}"/run-lock.patch
+
+ autoreconf
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools install-doc
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN/-utils/}
+
+ dodoc scripts/drbd.conf.example
+
+ dosym /usr/sbin/drbdadm /sbin/drbdadm
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN/-utils/}.conf.example.bz2 to /etc/${PN/-utils/}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc b/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc
new file mode 100644
index 000000000000..e2ced85b146c
--- /dev/null
+++ b/sys-cluster/drbd-utils/files/drbd-utils-8.0.rc
@@ -0,0 +1,158 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload"
+
+depend() {
+ use logger
+ need net
+ before heartbeat
+ after sshd
+}
+
+DEFAULTFILE="/etc/conf.d/drbd"
+DRBDADM="/sbin/drbdadm"
+PROC_DRBD="/proc/drbd"
+MODPROBE="/sbin/modprobe"
+RMMOD="/sbin/rmmod"
+UDEV_TIMEOUT=10
+ADD_MOD_PARAM=""
+PATH=${PATH}:/lib/drbd:/lib64/drbd
+
+if [ -f $DEFAULTFILE ]; then
+ . $DEFAULTFILE
+fi
+
+# Just in case drbdadm want to display any errors in the configuration
+# file, or we need to ask the user about registering this installation
+# at http://usage.drbd.org, we call drbdadm here without any IO
+# redirection.
+$DRBDADM sh-nop
+
+assure_module_is_loaded() {
+ [ -e "$PROC_DRBD" ] && return
+ ebegin "Loading drbd module"
+ ret=0
+
+ $MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20
+ eend $ret
+ return $ret
+}
+
+adjust_with_progress() {
+ IFS_O=$IFS
+ NEWLINE='
+'
+ IFS=$NEWLINE
+ local D=0
+ local S=0
+ local N=0
+
+ einfon "Setting drbd parameters "
+ COMMANDS=`$DRBDADM -d adjust all` || {
+ eend 20 "Error executing drbdadm"
+ return 20
+ }
+ echo -n "[ "
+
+ for CMD in $COMMANDS; do
+ if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 ));
+ elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 ));
+ elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 ));
+ else echo -n ".. ";
+ fi
+ IFS=$IFS_O
+ eval $CMD || {
+ echo
+ eend 20 "cmd $CMD failed!"
+ return 20
+ }
+ IFS=$NEWLINE
+ done
+ echo "]"
+ eend 0
+
+ IFS=$IFS_O
+}
+
+start() {
+ einfo "Starting DRBD resources:"
+ eindent
+ assure_module_is_loaded || return $?
+ adjust_with_progress || return $?
+
+ # make sure udev has time to create the device files
+ ebegin "Waiting for udev device creation ..."
+ for RESOURCE in `$DRBDADM sh-resources`; do
+ for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
+ UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT
+ while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do
+ sleep 1
+ UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 ))
+ done
+ done
+ done
+ eend 0
+
+ einfon "Waiting for connection "
+ $DRBDADM wait-con-int
+ ret=$?
+ echo
+
+ sleep 5
+
+ einfon "Become primary if configured "
+ $DRBDADM sh-b-pri all
+ echo
+
+ eend $ret
+ return $ret
+}
+
+stop() {
+ ebegin "Stopping all DRBD resources"
+
+ # Check for mounted drbd devices
+ if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then
+ if [ -e ${PROC_DRBD} ]; then
+ ${DRBDADM} down all
+ ret=$?
+ sleep 3
+ if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then
+ ${RMMOD} drbd
+ fi
+ fi
+ eend $ret
+ return $ret
+ else
+ einfo "drbd devices mounted, please umount them before trying to stop drbd!"
+ eend 1
+ return 1
+ fi
+}
+
+status() {
+ # NEEDS to be heartbeat friendly...
+ # so: put some "OK" in the output.
+
+ if [ -e $PROC_DRBD ]; then
+ ret=0
+ ebegin "drbd driver loaded OK; device status:"
+ eend $ret
+ cat $PROC_DRBD
+ else
+ ebegin "drbd not loaded"
+ ret=3
+ eend $ret
+ fi
+ return $ret
+}
+
+reload() {
+ ebegin "Reloading DRBD"
+ ${DRBDADM} adjust all
+ ret=$?
+ eend $ret
+ return $ret
+}
diff --git a/sys-cluster/drbd-utils/files/run-lock.patch b/sys-cluster/drbd-utils/files/run-lock.patch
new file mode 100644
index 000000000000..5ff7ab21f7c3
--- /dev/null
+++ b/sys-cluster/drbd-utils/files/run-lock.patch
@@ -0,0 +1,13 @@
+--- configure.ac.orig 2015-01-31 23:19:18.745021931 +0000
++++ configure.ac 2015-01-31 23:19:38.988027506 +0000
+@@ -353,8 +353,8 @@
+ AH_TEMPLATE(DRBD_LEGACY_84, [Include support for drbd-8.4 kernel code])
+
+ AC_SUBST(DRBD_LIB_DIR, [$localstatedir/lib/$PACKAGE_TARNAME])
+-AC_SUBST(DRBD_RUN_DIR, [$localstatedir/run/$PACKAGE_TARNAME])
+-AC_SUBST(DRBD_LOCK_DIR, [$localstatedir/lock])
++AC_SUBST(DRBD_RUN_DIR, [/run/$PACKAGE_TARNAME])
++AC_SUBST(DRBD_LOCK_DIR, [/run/lock])
+ AC_SUBST(DRBD_CONFIG_DIR, [$sysconfdir])
+
+ AC_DEFINE_UNQUOTED(DRBD_LIB_DIR, ["$DRBD_LIB_DIR"])
diff --git a/sys-cluster/drbd-utils/metadata.xml b/sys-cluster/drbd-utils/metadata.xml
new file mode 100644
index 000000000000..19706db7b3c0
--- /dev/null
+++ b/sys-cluster/drbd-utils/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="xen">Enable Xen integration</flag>
+ <flag name="pacemaker">Enable Pacemaker integration</flag>
+ <flag name="heartbeat">Enable Heartbeat integration</flag>
+ </use>
+ <longdescription>
+ The user space tools to control, configure the DRBD driver, as well as integration programs and scripts
+ that glues the DRBD system to cluster management software and other system components.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/drbd/Manifest b/sys-cluster/drbd/Manifest
new file mode 100644
index 000000000000..2e6fcf85549c
--- /dev/null
+++ b/sys-cluster/drbd/Manifest
@@ -0,0 +1,32 @@
+AUX drbd-8.0.rc 3043 SHA256 aff548a34f66511d5e8685b3d56a9672bf98c6a87ff8fcbf2c43f40c1d95565e SHA512 ab58790e063d66252c8334fa4df02d1a2f11f79749cd97553b1c9bd4f93b7b12ce6c35a4cc85e6be84c20e8043bd51de70256d1a67bd3d0c4b5e70d2ca63dcc4 WHIRLPOOL 33b93b7c3a3e0288133dc8e6c2078732e919c4d0e9bb885eb369690821b527a2e678bf775f8102cc248612a0aba684981fc62dd353e1fd62372a3b0664285d17
+AUX drbd-8.3.11-kernel3.patch 762 SHA256 cec36f41078c6c5824733731c82532cfbc0cdbff97f1995345e8266b755985b5 SHA512 b6760bec81d86c09544ad366a73eec84fd486fa1dd10f278cfbacf18be33aec9a132108a9fb8cdccae3840da868548cbe9e6c5799bb2049f2f75fa9e0fe6293f WHIRLPOOL 5ecf2e4de4f0abfbfbc5f962b17a0bbd1c10b27e7eb5b2b2dcb281c097bbdd98715072c422b46814b79359cc0fd15333f3f84ebe5f56cca6d82fe13b4adce6bc
+AUX drbd-8.3.8.1-implicits.patch 288 SHA256 f45801ebdeb0a2de56b9ee0adf296d5271f644648208587aa32adab6cc6ae148 SHA512 9cf9ae1d1f9716a3553b91d3a3fe1c5490b4aec017b6d4175a91d351245201d8f925fe3af2a7974d66f1cb22583678d669e38005d64a41a0971f2bcffe55a974 WHIRLPOOL 73bcf90237fb302a674787108e5ee628bf983b3f81bb14259b5b5c9b6656c38a43da414f5f8dbf73803497b50593036b9f4ab6b1e35bd7570bcfd4395d6dc962
+AUX drbd-8.4.3-block-drbd.patch 536 SHA256 7c00c533d883e36ea646ac576ef342f195f5dc6f7c345765725960d8767c565a SHA512 3ddc60d944a7e54673e79e0b5123c21648f529fa553a04186a0f34f03cdfa3470dcaeceaab68deecc8821b3b57b28ae719ff10ae52a9c7c7c43efa678888073d WHIRLPOOL 59fd0e7a39fcd264c53f7a4e0db6f06300bca3d1105f3a73505470578587e16fdd4a84a225a6f0406b929eed2d14dfabf0a6674bad5bb0adfd955b994c37ab57
+DIST drbd-8.0.16.tar.gz 322758 SHA256 3bdb662663d308da9d871cc66ddc9e807a10ad5ab510a33b62877231150bc059 SHA512 1b325e3789032656a1f7286b51ac9e90f709c53f8ff35c10ca9bb2e27b1cf822813485e0a49d55c62e7966bc975040b42a6d0ac8fa066a16afa2605e9df87a17 WHIRLPOOL 75e56a3dcc0a53a82c3e542ce60a9871de70257ebf1834e067fc2bbb1bdefa4f07c6ef6217aa6f4214ecea2f04f372e0ae218ceab388678137f38e56f7420173
+DIST drbd-8.3.10.tar.gz 521798 SHA256 5dd0e4bda615784bc45b8078c4d44b2d4b4b074f12e98c9bdfd7d40b13f2511a SHA512 8d904ada9c80732b47cbf149cf4172658d350856d8688f1dce92c16ce1c4e946a0b3b3a14bb3c9361684fc08b257207c58beaa2fdb534f2abf47ac45aa659389 WHIRLPOOL b5e3ad208ff721fe9b021bed6a1bdb469b27118a8a30e5a23e8a1e70c10ef4aaa4145b2a644afa63464bd9f1fa6f8fadbfe1fbd3887044eae9d203348e0d8ac5
+DIST drbd-8.3.11.tar.gz 526056 SHA256 bb5d3d0740788e779ba3b3a78c21362969dd0648eaced3ff37d9e52fff1df883 SHA512 2bbf16d69e897adcb247d451f1d844993bdb3ad201027a588f9a45b4fe43fa2f6e98ed6063e8dccc92b9a231ccebf0af85a8671e5672fa710aa986e555ae896d WHIRLPOOL c0476407623c681dd2d206b18d30fccec2fceb434c2b07c46756da3ec6d41738b934f86dab9c69ce558c8b8b8d94cbf74006de70cac8acac19d0ecf2a16b4dd4
+DIST drbd-8.3.12.tar.gz 530923 SHA256 7385f941bafaebb18da1dadb07e2a8ee06117322bc37fc60a6c35b05f6f91087 SHA512 512e68adb9cda1f246c6c35b35e449d514deeb32adb998cbe0249c9245772d1979cbdc906c479500ba4e63a2a7ae675f527407262f235b897c4142bdcfa65b7e WHIRLPOOL 93ae032624262259a328065ba2ac7cc35051104bcaedb5feb161964c981759fea69975f88678844664b8970227977c8b584902a73cad60e9a17e2d58e29a88b7
+DIST drbd-8.3.13.tar.gz 541477 SHA256 ec3f2a37bd0aaa6783a8935d857bec1fbe55c1fa621fdb47ca9434384c84dbdd SHA512 fff72545ae569dad37d202bd7dcb075e443964e4d2e95ae124bbcac098762bee78f91e4863b56abfca2bdce2baa42bb3fdbdf9bb489f498d84aa679fa43ae702 WHIRLPOOL 21876ee5cb27609a115c852cae262dc233cbaa0d891769eb0704d057e071194928952650e4a6cc676e1facd405942f58db331c0abdc2d5000051da6bfcf1e506
+DIST drbd-8.3.15.tar.gz 550130 SHA256 1f1d35793c77c1356a82cf0c174346925802be73270abfb788cc27cc70646307 SHA512 ca78cddbbb614e90d63cdb3b5ec64ecc6b9c0730aced4348d1464edb5fe9b0f2c0e75fccc2c7cbe18daea454482cf46c847b55fb23e00f364b4f32ae0a3d8dca WHIRLPOOL 625ac74e1fe82f3a57ef183d9ece202c4c806d6600da2f690c9cf2e994d17bcbfcfa943a17d622cacce279ac53fde173987a7ace93cb346a9ef23d16908cec30
+DIST drbd-8.3.7.tar.gz 462659 SHA256 a01a07df88ebdbc20891fcb45c4d0e89b617a89dc19d5cbc8d0bd62bd562d36a SHA512 9ea576ed6a75d80009ade0f9540535b2a65ecee6d38b1a85fa3146a97aac8cb3add31154e2921630aa75121c7115d66bdcf45adb8e0fa481bdb27c011b1c9b15 WHIRLPOOL 1f78587a8428f20dc04cfeeb6a4831f2dc8bf0638b95eebcc242a2bd9ef399ebaecec31ef01a88df03c5ef8766fbb1551d31ad20045cdc56a901504024e79e8e
+DIST drbd-8.3.8.1.tar.gz 482582 SHA256 2b7e8a3895e89824d41d7dce8d55d127baba857c509bc2477925b0aecaf5689b SHA512 c43c6d065328058db66f708d47ce082603b766deb1530c57aa736a42b4908f780ede41f76395ca45c2691ef1dfd142147a4c98a7bcdb26ba7de73b149d8f9f5f WHIRLPOOL af4f6a1a8a7d51626d508e834e1465c079bd386f24ecdd3495221bafc3f9c766d6d583934995b88372bbed8e1e7bd3d19186c4eab40c123c5c700fc3de7742e9
+DIST drbd-8.4.0.tar.gz 650733 SHA256 6f1f91ba2c296258c07cdb67552050cb64604d6606f7978aa076f32b3b97d624 SHA512 4e89f0941aa136f69dcf76efb47df14ac5a210f37159eb7abaea8cea5af801632d204de8a4e3374ee5522d3227f3163bc5c6931122a4bf6827463536b532d7a2 WHIRLPOOL 659dc82a6597c588269443333161e56a9de69fad97a6e0372245e9b7307be2f3e49f7f3cd1e15dc54aff31e1bc3f426a54fba080b8683de50188bd27cf5348d0
+DIST drbd-8.4.2.tar.gz 675803 SHA256 f3d86bb5645c067bc61e9461a5d570a184912daedfe6f88623bbd920f8b5b5fa SHA512 c32371e1fb89b479bf5136ee1c00d8e07dd15769654977dfcde71fcc24264c1dae2feda82e8f61b4caf57b9ac88e2861ee7270aa8c867f6245b52d65c45ada46 WHIRLPOOL 11f1025f660f00c2e5741590665d27a581682169e4b40b61f053a8634b8419c1d94b93462696008090da9dd45c814dfe8fc8bc326170d016a19b6eaa751ead31
+DIST drbd-8.4.3.tar.gz 688328 SHA256 abeb09309b77b533b8e738a601d703b338dce6e4d6cf59741e2f0693fbf94527 SHA512 cdc90bdd9491fe6d29e3b779d69ba2aac1aacdb336586f1ef414d0a0195d922dbefa8b2d9c4868a2476998a713c893403344a2934c7768ff6f4ba9f13bb7277a WHIRLPOOL 90b8d3295aba124de9092585c5e5f77f50bc7338a943bbcbfa9726abce4aea3655e06bbf2523afb66a58abd3175d361f112e20c9e3b8fd809f3b7b03d0a0ea25
+EBUILD drbd-8.0.16.ebuild 1285 SHA256 e075054489da87d7b390b90641721d6875b26c4fef0c45e5b4c543a5ccb85a7d SHA512 c5159dcb53cadfb9d4388ba6eff333baa18c4edd8a342c12ea6ecdd7d77c18966a4cbaa4c297580cf7bad8947d4f1a869ec78794ae0f1cd0a21e1048575fa959 WHIRLPOOL 9cf745a388f4663bb8add1535fb61461ddd7b9b731cbd4f5b9b64fc8487fc9ad7e535709ba60195ecf6d0c523f73aafe6c0992b98101afa298761413742e2415
+EBUILD drbd-8.3.10.ebuild 1936 SHA256 04e80ccfbd1f42afdc2996f595e14eccc2ca3ddd63385abe0b239eff1f8ea4e0 SHA512 ce1a1c4d2530118b451623d53258a167208475c7055d71dda96ad709e0ea31a6cdadd43677e36c2083f9fcf6fc443a5fee641c11bde7adec7503f9c6d5d20fb8 WHIRLPOOL dde1c6f0566542d055c95571cae7ca788d988a48986885dc9570cb50796eef7e8845dcc789bc921fd09a27f88616af3470cbfec16640b1c1e842654ffce1e86d
+EBUILD drbd-8.3.11-r1.ebuild 1947 SHA256 e45236065573254c55a712c8a1a0e8b1bc7f844b310bbaf2802668f5d077fb04 SHA512 c8682f2e7ad763daf73b033c944e9f730f9a24a0295b3342115317da63a596f4d8e61e56439175c483537ee7938c2c39566b0908554ee36a6dba8ed8bdc7e2c7 WHIRLPOOL e21cdaae2816d10df16e1a132dc6a0337709cb469c6e8a75eda4e8200797b5516511a619af844ebadc35e2593c14dde1df573e686f1064f04857009c75b51024
+EBUILD drbd-8.3.12.ebuild 2091 SHA256 e9c82cd9eb3619a7d254f8232f132f5a308b9ea2f3f1211aafbf7a04dedc101b SHA512 c0a5816f13fe6cd87e59b3f822e0b71a9efdcbd70905ed3871a5abb98f5c65faa9e327efd609b13130e8e05f370762d76b7e9b87085122cfef55e2257fb717dc WHIRLPOOL 1512e6601c5e54b15b787d7957aacea87faf2579a83b31fccb72b3013346f27b866fb1645b92df100e99a90d900293f801d359d58add9ff7374c0ccc2a6b7410
+EBUILD drbd-8.3.13.ebuild 2094 SHA256 a0d0083695cc914fa3c10b222ecfaefb68a55c94d51a074d69ae9ba5fcc16456 SHA512 4867ec28f0a4c5033f5cb1fcd98edb3ef989f1c6fdb64f7cf5fe80c7ec4e2f6c8752c3774275cd31a1af2cd0089593712ec7126cd1e81a313823370bc5c7f759 WHIRLPOOL c5d5474aa48d0f2692376cfa1080983f6fee704653658201412e5430393276e3832d45f9fcd665d6f8728db90cceffad7becf0da19a661e8fdc7d9834e615e6c
+EBUILD drbd-8.3.15.ebuild 2092 SHA256 44718b6f12f4b7d63ec36a884bb4718aca423bc27221e8c19c89421290e72af5 SHA512 e23e2b74d0e6db3f07a290bdf48a016fc60f5163b4dfbeb72c4d355f882bee09f5e62adcf93cc78bd40a5e458adf775eb1b86f0fee1f3e49e697b5d38b770fef WHIRLPOOL a133e9a0168848274141ccbc80ab1b465e023a00431cd37e448577a7f3e8febafafac5254842e4840d2b5fce96d6cfa39c689b88e24ae642e7ffa9128f5a10a0
+EBUILD drbd-8.3.7.ebuild 1965 SHA256 440e53957e9100a2a48b8675919d281f144fc21991a1bc4f6848a00d8ac59d67 SHA512 86f85ca150997a9ac8f53877965245cd9b49ec2d5f8591c112887d472cc3160cd3d83f7070787fe7446fa4b4f49243709673bf63db506125f9c6377a6a8a24bf WHIRLPOOL 368f8d58f2c57db23eb9ed0d838692f0b788a96759ce3951f0ebb8fa919230ab336fe945b8b11e00ab447ff59779a0163ab8b5d570bc95af305c8a36fd7e2d74
+EBUILD drbd-8.3.8.1-r1.ebuild 2050 SHA256 74d1144a17edf676110d9b01a408a62173e8dcc01924ade6a0fb9b3430b070c0 SHA512 416674c07c3815265a96dc1941ba7ddc2cc439f1f989bcaa5f184383c1dd99896ba47e6907c4dde5c4d1c2f8b9a3c99dab56ed841747c8b11e2c887e8643d9e6 WHIRLPOOL a0bb022567352ff262284903118c1e725b98683152a1ab69582884f9e8d6de62791a53bae6c6b9792e86ec32bc4f79f9d0e32796c55b42d9753544d64993dce8
+EBUILD drbd-8.3.8.1.ebuild 1963 SHA256 81d86f14b61f687840c9d60cb2bba5145e8aa90a9c2cc2a3de5e5a24649788a9 SHA512 d06a4ca42e1a5a6042527a78f9d119c0c8c2487ac439d8abe7f4c924b18835e6f427dfc2944b439cf4f2e3d3f7f7bd2913b4205ad16ce7b3515162da54e84b43 WHIRLPOOL b5ac4cd8ad7c67ee353dbcbb562f95b60854fd621a4d55721fb82280f908d7af69c3b00e67df1882c7598a5bc1220e27892471b90666ceaa34c195077a8ee51a
+EBUILD drbd-8.4.0.ebuild 2101 SHA256 9181be9943327597ebdf587b534664cdb9c3159717fd05b584d70d671a3a09b2 SHA512 a429f6e9ff18c081e71aaa5b66226be9a78b7fd832540df7f1a3c3354ea73aafd4fe3752bbefd47a464bfe7d061977413f9fe771e19014acfcdab5ed2f37936d WHIRLPOOL 39ccac826570c5f3d5536348966c253e37830c72d0f34d72ac9891411cceb9bb156121b284711779edaa233450e37f5f0a356b586deca03631f3dc8ad521fecb
+EBUILD drbd-8.4.2.ebuild 2183 SHA256 376ebb0cb49d3080a0471ab926d2e1a977a6abaa3bd323e698f16efe7a0d4fc7 SHA512 4dcc5de55381eae447a6e4d8b4a98a7c17ca7d6d9092597e399129ea4baf86924329d338a682ae169468d1501e9a640028cc613e51687cc6b009ecc4ce65d9a8 WHIRLPOOL a662b8b5ec906e92e7221b34061ff3c3fbfb4058fff975090d5ce55bbfec59421f8267ef00469abf0cba00003169e9f467e011c82392599f4ce80c4eaaa1a95e
+EBUILD drbd-8.4.3-r1.ebuild 2207 SHA256 31f4524dbce411703b7a9e52b4bf0d45589921f0f2b656fff9cc86f5fe8a2b5a SHA512 f41956308b8c81ed835ce4b6958ea0af6c8377cf5201592ef69cf69925f4cd77f37ea017166ca59ea67e41667aa6f1575a1cb921e13062edf5c10861e297be38 WHIRLPOOL 0295331724620c0c281d8a330f70111f0d50a487b7c1ccdb3ce652f0e952bd1309c9f3328b1deece718d45b6d2f68c3bfa23cafec7742faf03a9d9c90d6c1410
+EBUILD drbd-8.4.3-r2.ebuild 2288 SHA256 f82ba9e770fe2661dba39520668e8dc1e6b046421aebf6308404cc7fdbfe0e79 SHA512 4dfbddf8116874939c2ba457a3218763363066abd0bbe91579a7111a1edb0d9e635cf3524437054e8f3c212e8a370b5b5e2c6a7675b673e51e03190b1b844dd6 WHIRLPOOL 58cc8d598f54db42960a140fb7e278bca41baddd29b27eb948707fb77c7aa2a572cfefc953f5dde65db3ef1104b79286126c3b9ae9dd1f808ee1e10f21f60c2e
+EBUILD drbd-8.4.3.ebuild 2207 SHA256 31f4524dbce411703b7a9e52b4bf0d45589921f0f2b656fff9cc86f5fe8a2b5a SHA512 f41956308b8c81ed835ce4b6958ea0af6c8377cf5201592ef69cf69925f4cd77f37ea017166ca59ea67e41667aa6f1575a1cb921e13062edf5c10861e297be38 WHIRLPOOL 0295331724620c0c281d8a330f70111f0d50a487b7c1ccdb3ce652f0e952bd1309c9f3328b1deece718d45b6d2f68c3bfa23cafec7742faf03a9d9c90d6c1410
+MISC ChangeLog 4025 SHA256 6db5f329187f6ddb33ac7626ebcac5175e36754d47d3ab4629d053c5402b24eb SHA512 434cf4e7864f2fd92cdec4a6b0e7e8299c914718d3372179c986da83bcb4db2b228f067b40a53dea51877c5d60fd3036b4b5fa02c493c62f2d6997d0f14b25a9 WHIRLPOOL 3db6c59fe7bd0e85e93ae022ff62a518253380f24a7339b8b7db1bd52e9361a4a7821b5d156828ff0847aa722aff21c62dbd1b6b9df678f73fc9069a3ecaaa22
+MISC ChangeLog-2015 21348 SHA256 e0a1adbb7be5363aec129bc649fa7644cee0fe15c1d772e85c5d8da35c5c936d SHA512 0a04a29401ed5a464706ca86b2bce2110c8b2ee800d95ce4dc7216bf17d273a8f918645e2c2d22ad2fa651090a2ae88359f7d67437f05561ed89ab6ef262f77e WHIRLPOOL 1a9273b9bf53ec7c2df7ede59c2cecb91eafd10b6b809c563c13d98531e5093d980c7c2ad17f2b97addb893453e4b2aed29d65e458d572321841479ee92788ad
+MISC metadata.xml 684 SHA256 5fc43a01e2ab5a0e1a0ea020fb5f10eb0e8275cf7613ce07b6df6183c02850e9 SHA512 10f563a04424b8d23d6a54b2091c109f14370279bc08a6f489c308e612fba52da888ef152319485749a1807fc5daef7d7b1728ed2aa46dde74f877eff24a4ad5 WHIRLPOOL cdfb81556c277ac6086eafe0ee73f0a14ca9c91cbc5a718c028721b6bcfce4c86f36108144c9e39e84a00e37cc1d85fce2eb6b3ae2f1f47564fdf6b5c717c9d6
diff --git a/sys-cluster/drbd/drbd-8.0.16.ebuild b/sys-cluster/drbd/drbd-8.0.16.ebuild
new file mode 100644
index 000000000000..bb60780de596
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.0.16.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+
+MY_PV="${PV/_/}"
+MY_MAJ_PV="$(get_version_component_range 1-2 ${PV})"
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/${MY_MAJ_PV}/${PN}-${MY_PV}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+IUSE=""
+
+DEPEND=""
+RDEPEND=""
+PDEPEND="~sys-cluster/drbd-kernel-${PV}"
+
+SLOT="0"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_compile() {
+ emake -j1 tools || die "compile problem"
+}
+
+src_install() {
+ emake PREFIX="${D}" install-tools || die "install problem"
+
+ # gentoo-ish init-script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die
+
+ # docs
+ dodoc README ChangeLog ROADMAP
+
+ # we put drbd.conf into docs
+ # it doesnt make sense to install a default conf in /etc
+ # put it to the docs
+ rm -f "${D}"/etc/drbd.conf
+ dodoc scripts/drbd.conf || die
+}
+
+pkg_postinst() {
+ einfo ""
+ einfo "Please copy and gunzip the configuration file"
+ einfo "drbd.conf from /usr/share/doc/${PF} to /etc"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo ""
+}
diff --git a/sys-cluster/drbd/drbd-8.3.10.ebuild b/sys-cluster/drbd/drbd-8.3.10.ebuild
new file mode 100644
index 000000000000..08e388dcc8d3
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.10.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="amd64 x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools || die
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools || die
+ dodoc README ChangeLog || die
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die
+
+ dodoc scripts/drbd.conf.example || die
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.11-r1.ebuild b/sys-cluster/drbd/drbd-8.3.11-r1.ebuild
new file mode 100644
index 000000000000..1b8377d9d570
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.11-r1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="amd64 x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch"
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.12.ebuild b/sys-cluster/drbd/drbd-8.3.12.ebuild
new file mode 100644
index 000000000000..7a1ba7159d6c
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.12.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch"
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/Makefile.in || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.13.ebuild b/sys-cluster/drbd/drbd-8.3.13.ebuild
new file mode 100644
index 000000000000..368253c78c5e
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.13.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator udev
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="amd64 x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/Makefile.in || die
+ # correct install paths
+ sed -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ -e "s:\$(sysconfdir)/udev:$(get_udevdir):g" \
+ -i scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.15.ebuild b/sys-cluster/drbd/drbd-8.3.15.ebuild
new file mode 100644
index 000000000000..cf347bf1695d
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.15.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ #epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch"
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/Makefile.in || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.7.ebuild b/sys-cluster/drbd/drbd-8.3.7.ebuild
new file mode 100644
index 000000000000..b04226b05a83
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.7.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools || die
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools || die
+ dodoc README ChangeLog || die
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die
+
+ # it doesnt make sense to install a default conf in /etc,
+ # so we put it to the docs
+ rm -f "${D}"/etc/drbd.conf
+ dodoc scripts/drbd.conf || die
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file"
+ einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+ elog "Or alternatively emerge sys-cluster/drbd-kernel package."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild b/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild
new file mode 100644
index 000000000000..2839e4ed603a
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.8.1-r1.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/Makefile.in || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ epatch "${FILESDIR}"/${P}-implicits.patch
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools || die
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools || die
+ dodoc README ChangeLog || die
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die
+
+ dodoc scripts/drbd.conf.example || die
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file"
+ einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+ elog "Or alternatively emerge sys-cluster/drbd-kernel package."
+}
diff --git a/sys-cluster/drbd/drbd-8.3.8.1.ebuild b/sys-cluster/drbd/drbd-8.3.8.1.ebuild
new file mode 100644
index 000000000000..2006395ddef0
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.3.8.1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="amd64 x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools || die
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools || die
+ dodoc README ChangeLog || die
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN} || die
+
+ # it doesnt make sense to install a default conf in /etc,
+ # so we put it to the docs
+ rm -f "${D}"/etc/drbd.conf
+ dodoc scripts/drbd.conf || die
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file"
+ einfo "from /usr/share/doc/${PF}/drbd.conf.bz2 to /etc"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+ elog "Or alternatively emerge sys-cluster/drbd-kernel package."
+}
diff --git a/sys-cluster/drbd/drbd-8.4.0.ebuild b/sys-cluster/drbd/drbd-8.4.0.ebuild
new file mode 100644
index 000000000000..35f33e36c676
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.4.0.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch"
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/{,legacy/}Makefile.in || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.4.2.ebuild b/sys-cluster/drbd/drbd-8.4.2.ebuild
new file mode 100644
index 000000000000..ffe8ffe7c70d
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.4.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator udev
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="amd64 x86"
+IUSE="bash-completion heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ #epatch "${FILESDIR}/drbd-8.3.11-kernel3.patch"
+ # respect LDFLAGS
+ sed -i -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" user/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/{,legacy/}Makefile.in || die
+ # correct install paths
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:/usr/share/bash-completion:" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ $(use_with bash-completion bashcompletion) \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.4.3-r1.ebuild b/sys-cluster/drbd/drbd-8.4.3-r1.ebuild
new file mode 100644
index 000000000000..b192e831b583
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.4.3-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit bash-completion-r1 eutils multilib versionator udev
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user{,/legacy}/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/{,legacy/}Makefile.in || die
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.4.3-r2.ebuild b/sys-cluster/drbd/drbd-8.4.3-r2.ebuild
new file mode 100644
index 000000000000..591e689314c0
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.4.3-r2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit bash-completion-r1 versionator udev
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+LICENSE="GPL-2"
+KEYWORDS="amd64 x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+PATCHES=(
+ # https://bugs.gentoo.org/show_bug.cgi?id=518774
+ "${FILESDIR}"/${P}-block-drbd.patch
+)
+
+src_prepare() {
+ default
+
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user{,/legacy}/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/{,legacy/}Makefile.in || die
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ einstalldocs
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ einfo "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/drbd-8.4.3.ebuild b/sys-cluster/drbd/drbd-8.4.3.ebuild
new file mode 100644
index 000000000000..b192e831b583
--- /dev/null
+++ b/sys-cluster/drbd/drbd-8.4.3.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit bash-completion-r1 eutils multilib versionator udev
+
+LICENSE="GPL-2"
+
+DESCRIPTION="mirror/replicate block-devices across a network-connection"
+SRC_URI="http://oss.linbit.com/drbd/$(get_version_component_range 1-2 ${PV})/${P}.tar.gz"
+HOMEPAGE="http://www.drbd.org"
+
+KEYWORDS="~amd64 ~x86"
+IUSE="heartbeat pacemaker +udev xen"
+SLOT="0"
+
+src_prepare() {
+ # respect LDFLAGS, #453442
+ sed -e "s/\$(CC) -o/\$(CC) \$(LDFLAGS) -o/" \
+ -e "/\$(DESTDIR)\$(localstatedir)\/lock/d" \
+ -i user{,/legacy}/Makefile.in || die
+ # respect multilib
+ sed -i -e "s:/lib/:/$(get_libdir)/:g" \
+ Makefile.in scripts/{Makefile.in,global_common.conf,drbd.conf.example} || die
+ sed -e "s:@prefix@/lib:@prefix@/$(get_libdir):" \
+ -e "s:(DESTDIR)/lib:(DESTDIR)/$(get_libdir):" \
+ -i user/{,legacy/}Makefile.in || die
+ # correct install paths (really correct this time)
+ sed -i -e "s:\$(sysconfdir)/bash_completion.d:$(get_bashcompdir):" \
+ scripts/Makefile.in || die
+ # don't participate in user survey bug 360483
+ sed -i -e '/usage-count/ s/yes/no/' scripts/drbd.conf.example || die
+ sed -i -e "s:\$(sysconfdir)/udev:$(get_udevdir):" scripts/Makefile.in || die
+}
+
+src_configure() {
+ econf \
+ --localstatedir=/var \
+ --with-utils \
+ --without-km \
+ --without-rgmanager \
+ $(use_with udev) \
+ $(use_with xen) \
+ $(use_with pacemaker) \
+ $(use_with heartbeat) \
+ --with-bashcompletion \
+ --with-distro=gentoo
+}
+
+src_compile() {
+ # only compile the tools
+ emake OPTFLAGS="${CFLAGS}" tools
+}
+
+src_install() {
+ # only install the tools
+ emake DESTDIR="${D}" install-tools
+ dodoc README ChangeLog
+
+ # install our own init script
+ newinitd "${FILESDIR}"/${PN}-8.0.rc ${PN}
+
+ dodoc scripts/drbd.conf.example
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please copy and gunzip the configuration file:"
+ einfo "from /usr/share/doc/${PF}/${PN}.conf.example.bz2 to /etc/${PN}.conf"
+ einfo "and edit it to your needs. Helpful commands:"
+ einfo "man 5 drbd.conf"
+ einfo "man 8 drbdsetup"
+ einfo "man 8 drbdadm"
+ einfo "man 8 drbddisk"
+ einfo "man 8 drbdmeta"
+ einfo
+
+ elog "Remember to enable drbd support in kernel."
+}
diff --git a/sys-cluster/drbd/files/drbd-8.0.rc b/sys-cluster/drbd/files/drbd-8.0.rc
new file mode 100644
index 000000000000..57f583bf94bf
--- /dev/null
+++ b/sys-cluster/drbd/files/drbd-8.0.rc
@@ -0,0 +1,157 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License, v2 or later
+
+extra_started_commands="reload"
+
+depend() {
+ use logger
+ need net
+ before heartbeat
+ after sshd
+}
+
+DEFAULTFILE="/etc/conf.d/drbd"
+DRBDADM="/sbin/drbdadm"
+PROC_DRBD="/proc/drbd"
+MODPROBE="/sbin/modprobe"
+RMMOD="/sbin/rmmod"
+UDEV_TIMEOUT=10
+ADD_MOD_PARAM=""
+
+if [ -f $DEFAULTFILE ]; then
+ . $DEFAULTFILE
+fi
+
+# Just in case drbdadm want to display any errors in the configuration
+# file, or we need to ask the user about registering this installation
+# at http://usage.drbd.org, we call drbdadm here without any IO
+# redirection.
+$DRBDADM sh-nop
+
+assure_module_is_loaded() {
+ [ -e "$PROC_DRBD" ] && return
+ ebegin "Loading drbd module"
+ ret=0
+
+ $MODPROBE -s drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM || ret=20
+ eend $ret
+ return $ret
+}
+
+adjust_with_progress() {
+ IFS_O=$IFS
+ NEWLINE='
+'
+ IFS=$NEWLINE
+ local D=0
+ local S=0
+ local N=0
+
+ einfon "Setting drbd parameters "
+ COMMANDS=`$DRBDADM -d adjust all` || {
+ eend 20 "Error executing drbdadm"
+ return 20
+ }
+ echo -n "[ "
+
+ for CMD in $COMMANDS; do
+ if echo $CMD | grep -q disk; then echo -n "d$D "; D=$(( D+1 ));
+ elif echo $CMD | grep -q syncer; then echo -n "s$S "; S=$(( S+1 ));
+ elif echo $CMD | grep -q net; then echo -n "n$N "; N=$(( N+1 ));
+ else echo echo -n ".. ";
+ fi
+ IFS=$IFS_O
+ eval $CMD || {
+ echo
+ eend 20 "cmd $CMD failed!"
+ return 20
+ }
+ IFS=$NEWLINE
+ done
+ echo "]"
+ eend 0
+
+ IFS=$IFS_O
+}
+
+start() {
+ einfo "Starting DRBD resources:"
+ eindent
+ assure_module_is_loaded || return $?
+ adjust_with_progress || return $?
+
+ # make sure udev has time to create the device files
+ ebegin "Waiting for udev device creation ..."
+ for RESOURCE in `$DRBDADM sh-resources`; do
+ for DEVICE in `$DRBDADM sh-dev $RESOURCE`; do
+ UDEV_TIMEOUT_LOCAL=$UDEV_TIMEOUT
+ while [ ! -e $DEVICE ] && [ $UDEV_TIMEOUT_LOCAL -gt 0 ] ; do
+ sleep 1
+ UDEV_TIMEOUT_LOCAL=$(( $UDEV_TIMEOUT_LOCAL-1 ))
+ done
+ done
+ done
+ eend 0
+
+ einfon "Waiting for connection "
+ $DRBDADM wait-con-int
+ ret=$?
+ echo
+
+ sleep 5
+
+ einfon "Become primary if configured "
+ $DRBDADM sh-b-pri all
+ echo
+
+ eend $ret
+ return $ret
+}
+
+stop() {
+ ebegin "Stopping all DRBD resources"
+
+ # Check for mounted drbd devices
+ if ! grep -q '^/dev/drbd' /proc/mounts &>/dev/null; then
+ if [ -e ${PROC_DRBD} ]; then
+ ${DRBDADM} down all
+ ret=$?
+ sleep 3
+ if [ -e /proc/modules ] && grep -q '^drbd' /proc/modules ; then
+ ${RMMOD} drbd
+ fi
+ fi
+ eend $ret
+ return $ret
+ else
+ einfo "drbd devices mounted, please umount them before trying to stop drbd!"
+ eend 1
+ return 1
+ fi
+}
+
+status() {
+ # NEEDS to be heartbeat friendly...
+ # so: put some "OK" in the output.
+
+ if [ -e $PROC_DRBD ]; then
+ ret=0
+ ebegin "drbd driver loaded OK; device status:"
+ eend $ret
+ cat $PROC_DRBD
+ else
+ ebegin "drbd not loaded"
+ ret=3
+ eend $ret
+ fi
+ return $ret
+}
+
+reload() {
+ ebegin "Reloading DRBD"
+ ${DRBDADM} adjust all
+ ret=$?
+ eend $ret
+ return $ret
+}
diff --git a/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch b/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch
new file mode 100644
index 000000000000..1eeca1b1b0ff
--- /dev/null
+++ b/sys-cluster/drbd/files/drbd-8.3.11-kernel3.patch
@@ -0,0 +1,17 @@
+--- a/drbd/Makefile 2011-07-07 12:55:39.000000000 +0200
++++ b/drbd/Makefile 2011-11-03 12:56:42.280603057 +0100
+@@ -77,9 +77,12 @@
+ endif
+ endif
+
++ KDIR_Makefile_VERSION = $(shell test -e $(KDIR)/Makefile && grep "^VERSION = " $(KDIR)/Makefile | cut -d " " -f 3)
+ KDIR_Makefile_PATCHLEVEL = $(shell test -e $(KDIR)/Makefile && grep "^PATCHLEVEL = " $(KDIR)/Makefile | cut -d " " -f 3)
+- ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),)
+- $(error "won't compile with this kernel version")
++ ifneq ($(KDIR_Makefile_VERSION),3)
++ ifneq ($(findstring $(KDIR_Makefile_PATCHLEVEL),12345),)
++ $(error "ici won't compile with this kernel version")
++ endif
+ endif
+
+ .PHONY: drbd.o default all greeting clean kbuild install dep tags
diff --git a/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch b/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch
new file mode 100644
index 000000000000..0fbbb92a2c3f
--- /dev/null
+++ b/sys-cluster/drbd/files/drbd-8.3.8.1-implicits.patch
@@ -0,0 +1,12 @@
+drbdadm_main.c:2525:2: warning: implicit declaration of function ‘stat’
+
+--- a/user/drbdadm_main.c
++++ b/user/drbdadm_main.c
+@@ -33,6 +33,7 @@
+ #include <search.h>
+
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <sys/wait.h>
+ #include <sys/poll.h>
+ #include <sys/socket.h>
diff --git a/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch b/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch
new file mode 100644
index 000000000000..408b81362967
--- /dev/null
+++ b/sys-cluster/drbd/files/drbd-8.4.3-block-drbd.patch
@@ -0,0 +1,20 @@
+--- a/scripts/block-drbd 2014-07-30 17:19:59.000000000 -0700
++++ b/scripts/block-drbd 2014-07-31 09:54:56.000000000 -0700
+@@ -248,7 +248,7 @@
+ fi
+
+ case $t in
+- drbd)
++ drbd|phy)
+ drbd_resource=$p
+ drbd_role="$(/sbin/drbdadm role $drbd_resource)"
+ drbd_lrole="${drbd_role%%/*}"
+@@ -276,7 +276,7 @@
+
+ remove)
+ case $t in
+- drbd)
++ drbd|phy)
+ p=$(xenstore_read "$XENBUS_PATH/params")
+ drbd_resource=$p
+ drbd_role="$(/sbin/drbdadm role $drbd_resource)"
diff --git a/sys-cluster/drbd/metadata.xml b/sys-cluster/drbd/metadata.xml
new file mode 100644
index 000000000000..19706db7b3c0
--- /dev/null
+++ b/sys-cluster/drbd/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="xen">Enable Xen integration</flag>
+ <flag name="pacemaker">Enable Pacemaker integration</flag>
+ <flag name="heartbeat">Enable Heartbeat integration</flag>
+ </use>
+ <longdescription>
+ The user space tools to control, configure the DRBD driver, as well as integration programs and scripts
+ that glues the DRBD system to cluster management software and other system components.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/fake/Manifest b/sys-cluster/fake/Manifest
new file mode 100644
index 000000000000..a71c3c21bc1c
--- /dev/null
+++ b/sys-cluster/fake/Manifest
@@ -0,0 +1,6 @@
+AUX fix-ldflags.patch 364 SHA256 f8532159815c2972368d7bf962b263626614b15cb9708931c2e48d1ee087b4d4 SHA512 f845e3e176260983dc2567a3de76519ba85611ffabdae84f5c5c542e73352b51d52b8b4361e7c2a100e4bffa42bd8a4a2eb5ee257d841c1de39c811e16fef2ef WHIRLPOOL f85ab94caacb7aca6ac984db53b2e7fbe360c5055dcecaf22920f4d665cf4e57dffdd9140647df6dd9597279e278ca97b82cda9602177e8e08bea00be473a491
+DIST fake-1.1.10.tar.gz 137697 SHA256 1524651fe54f94aac5b3553a90d2255097862f41258f98873bb2768ad20ca676 SHA512 f8971d164d5b41ed34af7c08cb90f68bb1d1331f402b2ad2c39d459f60a64c7b9abfa7d011618d7efadeda3022d837c30b15fc540e020b423166f6829585d298 WHIRLPOOL 70dc164073bb09de22e710a89340904532808111ebaa8de27d44efb3391cf020a0241d842ae6e1d7d352b95837683113970c210b4f476a57bffc916326df6259
+EBUILD fake-1.1.10.ebuild 766 SHA256 f9284f127213769ee40fe3380a571cff1cf47ee0febeb3645e455fee91028cb3 SHA512 e9d930bc19ab6b7d55dd688af06b86f93c000da7fd02c01a7faa5b09e069dba8b4075591f65cefccf9f27366502aeb79b20b49f213b29f789e839d42f65f52ec WHIRLPOOL 927a63e966941d2fc0676407374bebe01ebf04fe40a44b31bc1fd85197dbe537cc9e348533b5690f54a605dcb1903f3691ee37be66edd7ffea5910b50d9154ef
+MISC ChangeLog 2449 SHA256 039b1a388c7afd3a03782ab1553cdb04d1dbccc6c707c69b6e49d82b82e23975 SHA512 b4f13faa663f4c7e11c603bb7f100eb744b4474bb2bdc5d634783e9805b4389a6d95ad0d9724b1e89770c01bda1c8a325e628c58f89e89924961e6643ee0c65f WHIRLPOOL daecef50cfd8fa0c4349d3e97cc06f15c967028044e6a7acc003bef81fca6712eb0dc698c9cc2a0c1ecd9eedf48db9085db1972c652e30ab9a4f0dfc3f3031d3
+MISC ChangeLog-2015 1821 SHA256 8386feddc2f19487c14f7d196d424547b8d5a1e67bb2627cbc00da2747bcdb95 SHA512 100b73597aee45aea13273225211f3f6d210e0eeb884d98a0cc7e4caf1f094ba10c5449482ce2a51fa5fae57b5bef14855d523d96017b4c835852ec68e86c6ed WHIRLPOOL b9ba575ddf05af1f9f69a17fc4fe86e95dded45a7fe77873566b23a97a752bb4e0b7b891d11cbff4993adc75b3c3c5672826805f43e11dcb155b02cd1913f335
+MISC metadata.xml 710 SHA256 5f1508a1b270c28d2d843200c6f214c230c13e255968bbb197f36d8138ebc4fc SHA512 e6c1b78be31839ac8db3570e98375a13eddd33e4cd43945f5f5e1094cf07f47cc7754d44fbeeb2cf0e613da228d00e80bba2ea5984e3a20eab891d8d68766276 WHIRLPOOL 2fc3464b40f90a30fb57e1802bbb801941ba36d1d49ab509786eccc35a208eced9ee4a58a0e02fcd1882570ba80f646c86ad7ad4a0bdffec1712b4490d091afb
diff --git a/sys-cluster/fake/fake-1.1.10.ebuild b/sys-cluster/fake/fake-1.1.10.ebuild
new file mode 100644
index 000000000000..d6247089d87c
--- /dev/null
+++ b/sys-cluster/fake/fake-1.1.10.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+DESCRIPTION="Fake has been designed to switch in backup servers on a LAN"
+SRC_URI="http://www.vergenet.net/linux/${PN}/download/${PV}/${P}.tar.gz"
+HOMEPAGE="http://www.vergenet.net/linux/fake/"
+
+SLOT="0"
+KEYWORDS="~amd64 x86"
+LICENSE="GPL-2"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_unpack(){
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}/fix-ldflags.patch"
+}
+
+src_compile(){
+ make patch || die "patching failed"
+ emake || die "make failed"
+}
+
+src_install(){
+ emake \
+ ROOT_DIR="${D}" \
+ MAN8_DIR="${D}/usr/share/man/man8" \
+ DOC_DIR="${D}/usr/share/doc/${P}" \
+ install || die "install failed"
+ dodoc AUTHORS ChangeLog README docs/*
+}
diff --git a/sys-cluster/fake/files/fix-ldflags.patch b/sys-cluster/fake/files/fix-ldflags.patch
new file mode 100644
index 000000000000..e788b18c6452
--- /dev/null
+++ b/sys-cluster/fake/files/fix-ldflags.patch
@@ -0,0 +1,12 @@
+diff -Naur fake-1.1.10.old/send_arp.patch fake-1.1.10/send_arp.patch
+--- fake-1.1.10.old/send_arp.patch 2002-10-21 08:06:12.000000000 +0200
++++ fake-1.1.10/send_arp.patch 2010-09-27 13:17:02.000000000 +0200
+@@ -29,7 +29,7 @@
+ +all: $(BIN)
+ +
+ +$(BIN): $(SRC)
+-+ $(CC) $(SRC) -o $(BIN)
+++ $(CC) $(LDFLAGS) $(SRC) -o $(BIN)
+ +
+ +clean:
+ + rm -f $(BIN) core $(SRC).*
diff --git a/sys-cluster/fake/metadata.xml b/sys-cluster/fake/metadata.xml
new file mode 100644
index 000000000000..d0775732a064
--- /dev/null
+++ b/sys-cluster/fake/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+<longdescription>
+Fake has been designed to switch in backup servers on a LAN. In particular it has
+been designed to backup Mail, Web and Proxy servers during periods of both
+unscheduled and scheduled down time. Fake allows you to take over the IP address of
+another machine in the LAN by bringing up an additional interface and making use of
+ARP spoofing. The additional interface can be either a physical interface or an IP
+alias.
+</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/feedbackd-agent/Manifest b/sys-cluster/feedbackd-agent/Manifest
new file mode 100644
index 000000000000..d3af72c52675
--- /dev/null
+++ b/sys-cluster/feedbackd-agent/Manifest
@@ -0,0 +1,6 @@
+AUX feedbackd-agent-0.4-asneeded.patch 1079 SHA256 bdca5fc14ea24b15d152ca5a63cf35ee4cc51ef009f6b0e2e11159af9a7afc99 SHA512 957a197678eb6ac99e16d655987e1f5c18a28604c5252f3ff248548f7025aded50891e90cd126b4786d81a79ef6a1de915e2e7f28df2c98e9340cc718241b302 WHIRLPOOL 654121033d14661ea8bfca5659714ec6895e173e04b98aa799529e89b278c6abc5eba5c4e70f4ca6581016f71360ddad85ae379286b3769700314df94570c06c
+DIST feedbackd-agent-0.4.tar.gz 69078 SHA256 0e1cf74d26387e5ce2591f29b92a19dfcd29b005585d363baa717c03705e49c8 SHA512 e7bdb3f547d59d63fff8c55b4bfd6229dd60c9183694d9f68ac899fcf3a3de47fc05473b514f8c13ea921bf619bf09f242c337245a78eb1a9de03e938069e380 WHIRLPOOL 50c0e401a01ad677f3bca278bed6e9542c4b257cd380981c547fc57cf90f96fce441b3d074202dd4fc60f49eae08137ac225125d42d618b2bc068fd9f63941fc
+EBUILD feedbackd-agent-0.4.ebuild 812 SHA256 85506c7326e3494f935613b1d6316dd159ed3aa3f10406c2e95e1898c25fafc1 SHA512 d93766d568e3d774bcc0ddd9e32de6f5c0979817898f3818a7bea56738b7643f1a0460d7bfcbaa8fe411eb87b260c57bf030fc5846ba41633570057a6e5143e8 WHIRLPOOL cd370ab1842eeb2054e7c24e6c1bd14fabd66a684a22beaaed1e92a6ce0688f29dcc893ea841f509cac430c21816c49f9e5afa6bd1ba906d2d9b00ccaf5b9a3c
+MISC ChangeLog 2495 SHA256 d52f83c9e9a37f965340cc434bfb99db3b493e1c271a75a2b8cabd4044cbe19c SHA512 6c02a9405151929d7005ee27be561fdb3073504e8aa6f2b972feff9a55ec365460df4385281133b3133b21a3511a3902d37230bed714a1dadd35fab46844c69f WHIRLPOOL 3fd5d723f883ce0de2feae84cedc6b5c41a77f4afd5ec65d8db5e6b323e5fbaf6a283e0914be5c61322797ed981db7a5c3f7c7e68cf4000fd6a86c544281a3d1
+MISC ChangeLog-2015 1716 SHA256 c80266783478ff31837013c849bda573c2e50d78dca8f8c74c4e0b098f559531 SHA512 20f553996402974f7917b63bfbf0e21cb00f1c5c19619b156d03f34a6381b0d61e3090889544af03839abce41700a90ba43918910c68217673be88fd3170e3cc WHIRLPOOL 8664e35edbb617d874ebda2282c57edbcae830240cf7f3358b10e164a676cc55c9dc9568acaf13afcac8f11dd7ad4767e46206666de5dc100fdffd842d2e6464
+MISC metadata.xml 336 SHA256 918cabc266a7426fafc1b05c2c63a4bac0a3485184cf2e80f55b46aeaba927a7 SHA512 bb519790cc800117748b4968cecd1a99e395a23731b3bc20c481b84f8ed8b46a293a50b1724c68cd6573345db097a919b348c685e74d0da3bed80c7b72c4a76f WHIRLPOOL c8e51b4615f7189fa5567e483782bcfb70d7c57a5fa3b81942fd23a3b071234e63c3e143a3e67ac64117521dc68d0774dfa4e655484133eab3405af7360c4d57
diff --git a/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild b/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild
new file mode 100644
index 000000000000..d5947540f5bd
--- /dev/null
+++ b/sys-cluster/feedbackd-agent/feedbackd-agent-0.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils flag-o-matic
+
+DESCRIPTION="system for dynamic feedback of server loads in a Linux Virtual Server (LVS)-based cluster"
+HOMEPAGE="http://ozlabs.org/~jk/projects/feedbackd/"
+SRC_URI="mirror://sourceforge/feedbackd/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="x86"
+IUSE=""
+
+DEPEND="dev-libs/libxml2
+ dev-lang/perl"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-asneeded.patch
+}
+
+src_compile() {
+ econf \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-xml-config=/usr/bin/xml2-config \
+ --with-perl=/usr/bin/perl \
+ || die "bad ./configure"
+
+ emake || die
+}
+
+src_install() {
+ #make DESTDIR=${D} install || die
+ einstall || die
+ dodoc ChangeLog NEWS README
+}
diff --git a/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch b/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch
new file mode 100644
index 000000000000..9a29a3fa59eb
--- /dev/null
+++ b/sys-cluster/feedbackd-agent/files/feedbackd-agent-0.4-asneeded.patch
@@ -0,0 +1,40 @@
+--- Makefile.in
++++ Makefile.in
+@@ -34,13 +34,16 @@
+ # build flags
+ CFLAGS = @CFLAGS@
+ CPPFLAGS = @CPPFLAGS@ @DEFS@ -I.
+-LDFLAGS = @LDFLAGS@ @LIBS@
++LDFLAGS = @LDFLAGS@
++LIBS = @LIBS@
+
+ XML_CFLAGS = @XML_CFLAGS@
+-XML_LDFLAGS = @XML_LDFLAGS@ @XML_LIBS@
++XML_LDFLAGS = @XML_LDFLAGS@
++LIBS += @XML_LIBS@
+
+ PERL_CFLAGS = @PERL_CFLAGS@
+-PERL_LDFLAGS = @PERL_LDFLAGS@ @PERL_LIBS@
++PERL_LDFLAGS = @PERL_LDFLAGS@
++LIBS += @PERL_LIBS@
+
+ # build targets
+ PLUGINS = @PLUGINS@
+@@ -63,7 +66,7 @@
+ # feedbackd-agent main program
+ $(AGENT): src/feedbackd-agent
+
+-src/feedbackd-agent: $(foreach f, $($(AGENT)_objs), src/$(f).o)
++src/feedbackd-agent: $(foreach f, $($(AGENT)_objs), src/$(f).o) $(LIBS)
+
+ src/feedbackd-agent: CFLAGS += $(XML_CFLAGS)
+ src/feedbackd-agent: LDFLAGS += $(XML_LDFLAGS)
+@@ -75,7 +78,7 @@
+ $(PLUGINS) : % : src/plugins/%.so
+
+ src/plugins/%.so: src/plugins/%.o
+- $(CC) -shared -nostartfiles $(LDFLAGS) -o $@ $^
++ $(CC) -shared -nostartfiles $(LDFLAGS) -o $@ $^ $(LIBS)
+
+ src/plugins/%.so: CFLAGS+=-fPIC $(XML_CFLAGS)
+ src/plugins/%.so: LDFLAGS+=$(XML_LDFLAGS)
diff --git a/sys-cluster/feedbackd-agent/metadata.xml b/sys-cluster/feedbackd-agent/metadata.xml
new file mode 100644
index 000000000000..311ccb6812d8
--- /dev/null
+++ b/sys-cluster/feedbackd-agent/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">feedbackd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/feedbackd-master/Manifest b/sys-cluster/feedbackd-master/Manifest
new file mode 100644
index 000000000000..6b2eb477fa2a
--- /dev/null
+++ b/sys-cluster/feedbackd-master/Manifest
@@ -0,0 +1,5 @@
+DIST feedbackd-master-0.4.tar.gz 73715 SHA256 9e8504a8314d99f7b2be95e1f39a5aed9f8f86d4cd21bedfca7af6e7f3d6f401 SHA512 3aed02c18b4f820b71587668aeaad4cacf314a548a2ec5995ae7656d63761d0e69ceb6f3a3fd946c1a305982406d0b2b6709c0b943f52a707e4aa7c142df4e10 WHIRLPOOL 08bba0e6c953663d941bb3c812d71da4adbfc5c710ca269fcb52b9bc65dbe1cb54a96936ad984bcb9ae1e473f130cbc36523eed2284ab140218865b0c1098340
+EBUILD feedbackd-master-0.4.ebuild 702 SHA256 2aa16bf67d1a7be24707b2d959e75b59c7b35d92445d1a7f4d6e6a10eb49dbc4 SHA512 856012c3aef6c354b3788969ad237abef15658ba32d088cb93a3fb743618a5fe477360259a6227bd73e279523fcf295af11a36f7e0e219f6acc7df27873da67f WHIRLPOOL 7c61be8d66c6d1143751ab7f0920d916d65bbe83c91b14a51cd5c2e11cf81008ccb1c72409f8c81843aa55be7df3736739c7e951f089655116d1a4aa9e5b9976
+MISC ChangeLog 2453 SHA256 e29773afb52bb8c725b897fb12da9593ee19b55d86085a2ce2f1b90cefd0b0e5 SHA512 f04a23894521dcc928530873bd51aaa9cc00efa6bfb4f3aa541f426611c49d91cb7e9b95e21db6795394b835941e414dfd937a88c116377c8d9c8b2547832a0f WHIRLPOOL 798db757e20aacfc4526124590447ee53f0e6ae024e1e7095cd67009a1f04826f1acf4a5f54fedb4551556df7b4bb10f2576e7f1d540b6a839a9fcc026058971
+MISC ChangeLog-2015 1619 SHA256 b5a6a0fc7cfd36645f1cd2eb5afdc0f0cb5e1c0e2d01c1ced910d4dd3bac60bf SHA512 9c969499ed82f4dd0015c65088032f6c1979ce5eb6d007574c480b5bc762bd3c769984762275c77f466099a8e8417d22c51b6a4a60dea9402927a57344e182a2 WHIRLPOOL c634f3c7748d74d9fdd396db3c2224e8f7181f62c8d50150d42d74e7ebc46bb8b3aaea497ea100be8f037035158148576cf9beaf8aa143f7fc957cbdeca5dc57
+MISC metadata.xml 502 SHA256 7f69a00e3e022305e7634b6d1b366efae0080f0076a94d65d87c1a831eceacca SHA512 59132889cdf9287c28118028d0066ca01690290d3783c70f7873287106ea359868f45c9c3c2df516f8cebaefd4013bcca74309cd9a8e2cf2bd842782b38c911c WHIRLPOOL b7888e8490f6fa77739555f93edab1809cd8d272d3ac51f2a235ee7ede7fbe87a1b9f4075421f4f37d9a44162855fa7e7c8e19b18327c44a92cd985e87d6faa9
diff --git a/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild b/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild
new file mode 100644
index 000000000000..84783e6b42c2
--- /dev/null
+++ b/sys-cluster/feedbackd-master/feedbackd-master-0.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils
+
+DESCRIPTION="Linux Virtual Server (LVS) addon for dynamic server health feedback"
+
+HOMEPAGE="http://ozlabs.org/~jk/projects/feedbackd/"
+LICENSE="GPL-2"
+DEPEND="dev-libs/libxml2
+ >=sys-cluster/ipvsadm-1.24
+ dev-lang/perl"
+
+SRC_URI="mirror://sourceforge/feedbackd/${P}.tar.gz"
+
+IUSE=""
+SLOT="0"
+KEYWORDS="x86"
+
+src_compile() {
+ einfo "Note: feedbackd-master needs a kernel with ipvs support and with ipvs enabled"
+
+ econf \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ || die "bad ./configure"
+
+ emake || die
+}
+
+src_install() {
+ einstall || die
+ dodoc ChangeLog NEWS README
+}
diff --git a/sys-cluster/feedbackd-master/metadata.xml b/sys-cluster/feedbackd-master/metadata.xml
new file mode 100644
index 000000000000..e25e8d479ca4
--- /dev/null
+++ b/sys-cluster/feedbackd-master/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ Feedbackd is an add-on to the Linux Virtual Server project (LVS) to provide dynamic feedback of server health.
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">feedbackd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/fence-agents/Manifest b/sys-cluster/fence-agents/Manifest
new file mode 100644
index 000000000000..68d91ab47f54
--- /dev/null
+++ b/sys-cluster/fence-agents/Manifest
@@ -0,0 +1,6 @@
+DIST fence-agents-3.1.5.tar.gz 897416 SHA256 cc822f793dac2d86778982716bd5bd482daf4ac33f0726c47e638f70bcaa3ba7 SHA512 3941e2ec9f7db8dfe9fbf8aa360359fa1ff4f3c2d3e6e778289f0bbc39481a54915dbf93d9a9b66f6953ddd2c81562daa7c90e6c0f59ec42e9bfb779ae242992 WHIRLPOOL 19f7e681544affcca907325e999bf97b487debbb0134d96a2e99a8e2371d98e8718fcaba5bd74832ae64bcffc2f0f93f2493211ccbe1868fb31e68845ada7b07
+EBUILD fence-agents-3.1.5-r1.ebuild 1683 SHA256 ff582466a4d1734353e29ca1bb218eb7d7209a039f4396848497387b8d3ea174 SHA512 42049b456c003eabd8b3e1ee850de1496b2a224aec7824215c367f0a5d86e6dc42c7f29d8272a67eeb87b4ed1f2cdbcb62bd3fd5759dbca3ba5018b3afceb8b9 WHIRLPOOL ddf62ec159b8381f69b62cf5faea0f3119ec8ca628d17b9676b92f4dd8a390b91b29ee4472d96f6f284b7aa933652fb87cd5e0706b19f7d3521c938554d3665f
+EBUILD fence-agents-3.1.5-r2.ebuild 1836 SHA256 ce2452fc203ea1ecae62c4be57727710f7513a79f4335edc398b8c3f2ca5a766 SHA512 340384527415bd8593d5b81fdc3a50fc10603ee93fc8df1e3f7f28031fc28136ee91b904750c19ce0a52e997aafbf0800ce70598f373c6977847d86fb666dcad WHIRLPOOL 4d7d8c412bd95ad9cf4fc4932c83c0d47c0092967947378131b7986fc05ece038b4e5a5858a4b3504b581d823251bae899f8351a2e9fcdd3a2492c8c6166a5ef
+MISC ChangeLog 2519 SHA256 53ee0ea32a521f3051028c78408dca15c195a46d1bdf98813462b76826b20c39 SHA512 5fa20587fcbd3eabfbf30d83bac2157f814b45880eab7ea09f69af7ecc16c097b9d55f002b47007a97f007b7f8227251f1d93a4c73cbd7d3e419d9ce20db0bea WHIRLPOOL c21e897f7b14d971c358bc580428ea1c3b96d50770c4abb83b169d97c6e6e92c40bb3962ea0b90329e97a363d9a7e7813f2cce4ae2d280978e03e22c287822ab
+MISC ChangeLog-2015 833 SHA256 1145e45c804685c84a19e3e59bf2d5b80f65b627ce3d8c39d708151a7b61e131 SHA512 a177b48f4afb7441a2adc7a6434a9ff2e4904cf0de9a0c6e8206cf3ab146814a5968663d479857bb13dab73d988a982d18639b6a3e24fc62fccf403d65d3adf2 WHIRLPOOL 89748d482f46aecc5238ae2636b998b1eaa2745cdcb461cd0f9c8487c78c3fc71330065c880a17199f1ef4e338aac5b433457412b90d6ed122bf19e3fece7398
+MISC metadata.xml 323 SHA256 42b960c17e986dc51a6532d87ef9ef515fd02a60d4f402e461f03ebac046f1a6 SHA512 771302bd401362ba141c27bd7c8b34c2a7f1b2ad310035f5af2aab1188b9451d9189536a5ec607479ccfabd7a35bb4fab84e713c5aa9ea85948397ad5c6609a4 WHIRLPOOL 5839dd14be881a1ff176301c89007bd0f76eb1d39bf6e071967b24d6e10fbc8763b2049f09613ba6f99b350bc39b2bacc756429091d01a00be057d248295c5f5
diff --git a/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild b/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild
new file mode 100644
index 000000000000..a1e725a143fa
--- /dev/null
+++ b/sys-cluster/fence-agents/fence-agents-3.1.5-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Fencing Agents"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/f/e/${PN}/${PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="~sys-cluster/libccs-${PV}"
+DEPEND="${RDEPEND}
+ dev-python/pexpect
+ dev-libs/libxslt
+ dev-python/pexpect
+ dev-python/pycurl
+ dev-python/suds"
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${P} \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var
+}
+
+src_install() {
+ default
+ # dont force /var/run creation on installation wrt #451798
+ rm -rf "${D}"/var/run
+}
+
+pkg_postinst() {
+ if [[ "${ROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you will not be able to define ressources."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ /usr/sbin/ccs_update_schema -v -f
+ fi
+}
+
+pkg_postrm() {
+ if [[ "${ROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you may be able to define ressources even though they"
+ ewarn "are not present anymore."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ /usr/sbin/ccs_update_schema -v -f
+ fi
+}
diff --git a/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild b/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild
new file mode 100644
index 000000000000..674b1ea1bb1c
--- /dev/null
+++ b/sys-cluster/fence-agents/fence-agents-3.1.5-r2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit multilib python-any-r1 versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Fencing Agents"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/f/e/${PN}/${PN}-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="~sys-cluster/libccs-${PV}"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ dev-libs/libxslt
+ $(python_gen_any_dep '
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ dev-python/suds[${PYTHON_USEDEP}]
+ ')"
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${P} \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var
+}
+
+src_install() {
+ default
+ # dont force /var/run creation on installation wrt #451798
+ rm -rf "${ED}"/var/run || die
+}
+
+pkg_postinst() {
+ if [[ "${EROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you will not be able to define ressources."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ ccs_update_schema -v -f
+ fi
+}
+
+pkg_postrm() {
+ if [[ "${EROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you may be able to define ressources even though they"
+ ewarn "are not present anymore."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ ccs_update_schema -v -f
+ fi
+}
diff --git a/sys-cluster/fence-agents/metadata.xml b/sys-cluster/fence-agents/metadata.xml
new file mode 100644
index 000000000000..5e3ac099a8b6
--- /dev/null
+++ b/sys-cluster/fence-agents/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Fencing Agents</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/galera/Manifest b/sys-cluster/galera/Manifest
new file mode 100644
index 000000000000..eb5258f339c6
--- /dev/null
+++ b/sys-cluster/galera/Manifest
@@ -0,0 +1,10 @@
+AUX galera-3.15-strip-extra-cflags.patch 2397 SHA256 4f7365c4b3f1c35a9f238ee3660041f1299bb958df7885d85a52fe204a00728a SHA512 4f41398faaa138543ff6fd24b2aac9aa329dabf74d6355ea5c620db64e3112e27e17c15bf7e1dae1e7ddbe92795cedd65a9d6e52bd07b66f3fe27dde2ffc7cad WHIRLPOOL 9997d91a60e530e49a38c034bdcebaa421b756baa30753594e256045727d38c7a07566204c183e9cb746337ef5c318dc3b63d78d72fc48798ffcc02e3241065b
+AUX garb.cnf 612 SHA256 c87b728ebe4e3ee1b33113303557e039b10ed22de901422020ad091fadbe101d SHA512 97b921109b242ad1a19326564b5f9da8a09eadd4771c2c86c727c1c30e35f92ffadbb38ce7d81bc88572d2c7b04466ad212432954e09d81417c4ed7f69ec4648 WHIRLPOOL 5ecef983b1ae16ff8589fde611a8aa7df572e86d0982c67fa042cf611e6d4cc1e9552ca3640816ffc9de72c366b74f96710c7a9a10249c0aaa0f3f5fb52f9a82
+AUX garb.sh 1029 SHA256 644130ca827d87698a1fd81b97c8099c565826415f79358b52b9bef4abfe1b15 SHA512 780eb8e7584d31ce24559e46724c7b981320f4706af0b9f0cd8d157247f853f51d3980178d0d234f64bcb097a4ee5493fe299d6800513403dbc7e0184c020902 WHIRLPOOL 3169e13e38160771290d96960ad68889c71e50756a94ddb778799a9db512f014cbfef312b1b6edc460182a666d90821dad2529a6546f6438c6f82e1cc3d091a2
+DIST galera-3-25.3.20.tar.gz 3319355 SHA256 aae9b44a7b06c0b0cd9e2f1b9bbaf9ca47c630076a6b7c66e8747e01fd343a64 SHA512 4531073bbd13542cf4b0ed06788ec0b857971bd2e0161b8df2d90072b134d5343216c012d2f712ff336209f6e34920e2aadf7b0f58f91d6ce365fb2b65ed7fbd WHIRLPOOL 9f311742a5d1a8b9550a971441bfb0f84b6876ff5d78740a22a06cf61ebd9a829a83706cb27b198be4e942d28c8a215ed29a3850f4ec72fa86266ccab534825f
+DIST galera-3-25.3.21.tar.gz 3317865 SHA256 1035b8a62cd3695ab2af8c8f1be785942d68a07123bb9bc051b51fc4b5735904 SHA512 04f9a879c1c161c84dc74c002467e60739186d49746255f0f60ad090cf9c3ff778610a3cfc58896c73c244355baefdd65109df8538c010d7a749e9ee1e88e033 WHIRLPOOL 5c95658be7895d00c9b9cd4fbc870e439ede7c71f6ba685c60086c071154c1f7f5c0b412fc1ac0a95d5b32d2ffecb981ddbcb3147f15a5ba500bfd2c12ccab36
+EBUILD galera-25.3.20.ebuild 1816 SHA256 523ab329f7969cd3f9de8bb7b945bb478a967505727c4336a7c851b71b50f7d4 SHA512 ac38b5e8a74494baebc889fe312eca034dc7637c3aab2ccc560f6e8ac4d81e95e36e9a08b8f2a11e8020fc4c8e01a5b2fcb2d0d453d51c6b94a644f7f853fb4b WHIRLPOOL 027dad276a995214bd2beae227937225b76e14b532bd8a09d859ab06767bbce7ef76249529d9689f29102c7ad9be8565917aa03e36983baf2dc85e33110ee2f5
+EBUILD galera-25.3.21.ebuild 1828 SHA256 a2e93e8d32b052b49626704ab4cdbb41c08506ea5883c493f8c1bafa0997bb9a SHA512 701753adad3fe6556f18d53990f0fb8eb9acc8625dff14b6ce2666e168ae19b68f78d08935ff735fbca8ac93102549ebc0bd46aea17a1effb9d64de67a0a4a84 WHIRLPOOL 3bd8851137311f19ae0d6fa39b8245109198725943076027461f88ecb3f7a5f7173a74517fbb504ff37fdc90ad4e097387547b9e9e1f686550a5a3b75eb5cc5d
+MISC ChangeLog 5716 SHA256 d76e4baa1fd77fe1f5b5fa4cb652979ed0b2754adf5170585bf7eb56fff4db86 SHA512 4eceed55cd8387be7c31dc938f5954a7ec200f0c1c0612dd4c3cb4c492076f53650a2d1ce3e9e21326b606eb1da8cf2fa80ec32933b9630a33de795a329d2092 WHIRLPOOL d033ad9a8387e162b5c9fdfcacfc25884d6be859832aabed9de299aedfc22e1f5c6d5a4a6a5fef1d5e4c5c0da6b90042d0f726777dc78357c8a7f49f496b6dc2
+MISC ChangeLog-2015 1453 SHA256 9fa3b9879d179c2b71d4e37b53c28e1fc0eb9c6ae04d0209cffb5b02ec962b0d SHA512 b9e92604a17f0db373c5fd569cef83bb2ef0f1e09536fa4c13ae24d7cccf09b78633fe11207f106247cf522a1dc8dcef40e26c733098afdab797ebe002bba3ab WHIRLPOOL b44624cbb06f4fa085bf653aaa18467ba042180559b91c35a3e7db133f7fb35d9453856d89930e538fc16ec3429f27795e86a6b45d620db47d03a79edb5f7557
+MISC metadata.xml 462 SHA256 1974a5c88a014d51ce6c1ab2af28ee9358edd30f75d8fc2591ee557875073f6b SHA512 b99987e53ae976905d3e493b09cbe35161f90b8ebfc88c4a9616b8722b0a0005c2427d509e15fdd7bbb30977266188452b3b6ec7479a943bce3a5922410246e2 WHIRLPOOL 51f62f6dcdacb7d7719ada1ebd708db44b57951501bad857dee1e62f4dd4ca3f58d184d39120146b4a4ecf150f5055381be30b43f4cdb46ab6424abff9601798
diff --git a/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch
new file mode 100644
index 000000000000..b47ec39bf5a5
--- /dev/null
+++ b/sys-cluster/galera/files/galera-3.15-strip-extra-cflags.patch
@@ -0,0 +1,70 @@
+diff -aurN a/galerautils/src/SConscript b/galerautils/src/SConscript
+--- a/galerautils/src/SConscript 2015-03-16 07:18:42.000000000 -0400
++++ b/galerautils/src/SConscript 2015-04-07 15:03:21.661301200 -0400
+@@ -1,4 +1,4 @@
+-Import('env', 'x86', 'sysname')
++Import('env', 'sysname')
+
+ libgalerautils_env = env.Clone()
+
+@@ -39,21 +39,6 @@
+ crc32c_sources = [ '#/www.evanjones.ca/crc32c.c' ]
+ crc32c_objs = crc32c_env.SharedObject(crc32c_sources)
+
+-if x86:
+- crc32c_env.Append(CFLAGS = ' -msse4.2')
+- if sysname == 'sunos':
+- # Ideally we want to simply strip SSE4.2 flag from the resulting
+- # crc32.pic.o
+- # (see http://ffmpeg.org/pipermail/ffmpeg-user/2013-March/013977.html)
+- # but that requires some serious scons-fu, so we just don't
+- # compile hardware support in if host CPU does not have it.
+- from subprocess import check_call
+- try:
+- check_call("isainfo -v | grep sse4.2 >/dev/null 2>&1", shell=True);
+- except:
+- libgalerautils_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE')
+- crc32c_env.Append(CPPFLAGS = ' -DCRC32C_NO_HARDWARE')
+-
+ libgalerautils_env.StaticLibrary('galerautils',
+ libgalerautils_objs + crc32c_objs)
+
+diff -aurN a/SConstruct b/SConstruct
+--- a/SConstruct 2015-09-15 09:15:07.770091000 -0400
++++ b/SConstruct 2015-09-15 09:18:41.160091000 -0400
+@@ -67,7 +67,7 @@
+ build_target = 'all'
+
+ # Optimization level
+-opt_flags = ' -g -O3 -DNDEBUG'
++opt_flags = ' -DNDEBUG'
+
+ # Architecture (defaults to build host type)
+ compile_arch = ''
+@@ -97,26 +97,6 @@
+ if dbug:
+ opt_flags = opt_flags + ' -DGU_DBUG_ON'
+
+-if sysname == 'sunos':
+- compile_arch = ' -mtune=native'
+-elif x86:
+- if bits == 32:
+- if machine == 'x86_64':
+- compile_arch = ' -mx32'
+- else:
+- compile_arch = ' -m32 -march=i686'
+- if sysname == 'linux':
+- link_arch = ' -Wl,-melf_i386'
+- else:
+- compile_arch = ' -m64'
+- if sysname == 'linux':
+- link_arch = ' -Wl,-melf_x86_64'
+- link_arch = compile_arch + link_arch
+-elif machine == 's390x':
+- compile_arch = ' -mzarch'
+- if bits == 32:
+- compile_arch += ' -m32'
+-
+ boost = int(ARGUMENTS.get('boost', 1))
+ boost_pool = int(ARGUMENTS.get('boost_pool', 0))
+ ssl = int(ARGUMENTS.get('ssl', 1))
diff --git a/sys-cluster/galera/files/garb.cnf b/sys-cluster/galera/files/garb.cnf
new file mode 100644
index 000000000000..63b79c1d2259
--- /dev/null
+++ b/sys-cluster/galera/files/garb.cnf
@@ -0,0 +1,20 @@
+# Copyright (C) 2012 Coedership Oy
+# This config file is to be sourced by garbd service script.
+
+# A space-separated list of node addresses (address[:port]) in the cluster
+# GALERA_NODES=""
+
+# Galera cluster name, should be the same as on the rest of the nodes.
+# GALERA_GROUP=""
+
+# Arbitrator node name, give a specific name to this node in cluster.
+# NODE_NAME=""
+
+# Optional Galera internal options string (e.g. SSL settings)
+# see http://www.codership.com/wiki/doku.php?id=galera_parameters
+# GALERA_OPTIONS=""
+
+# Log file for garbd. Optional, by default logs to syslog
+# LOG_FILE=""
+
+PIDFILE=/var/run/garbd
diff --git a/sys-cluster/galera/files/garb.sh b/sys-cluster/galera/files/garb.sh
new file mode 100644
index 000000000000..f03eaffc076a
--- /dev/null
+++ b/sys-cluster/galera/files/garb.sh
@@ -0,0 +1,49 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use net
+ after mysql
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+
+ if [ -z "${GALERA_NODES}" ]; then
+ eerror "List of GALERA_NODES is not configured"
+ return 1
+ fi
+
+ if [ -z "${GALERA_GROUP}" ]; then
+ eerror "GALERA_GROUP name is not configured"
+ return 1
+ fi
+
+ GALERA_PORT="${GALERA_PORT:-4567}"
+
+ OPTIONS="-a gcomm://${GALERA_NODES// /,} -g ${GALERA_GROUP}"
+ [ -n "${GALERA_OPTIONS}" ] && OPTIONS="${OPTIONS} -o ${GALERA_OPTIONS}"
+ [ -n "${LOG_FILE}" ] && OPTIONS="${OPTIONS} -l ${LOG_FILE}"
+ [ -n "${NODE_NAME}" ] && OPTIONS="${OPTIONS} -n ${NODE_NAME}"
+
+ start-stop-daemon \
+ --start \
+ --exec /usr/bin/garbd \
+ --pidfile "${PIDFILE}" \
+ --make-pidfile \
+ --user garbd \
+ --group garbd \
+ --background \
+ -- ${OPTIONS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon \
+ --stop \
+ --exec /usr/bin/garbd \
+ --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/sys-cluster/galera/galera-25.3.20.ebuild b/sys-cluster/galera/galera-25.3.20.ebuild
new file mode 100644
index 000000000000..08d698fa170c
--- /dev/null
+++ b/sys-cluster/galera/galera-25.3.20.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN}-3-${PV}"
+
+inherit scons-utils toolchain-funcs user flag-o-matic
+DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API"
+HOMEPAGE="http://www.galeracluster.com"
+SRC_URI="http://releases.galeracluster.com/source/galera-3-${PV}.tar.gz"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 x86"
+IUSE="cpu_flags_x86_sse4_2 garbd test"
+
+CDEPEND="
+ dev-libs/openssl:0=
+ >=dev-libs/boost-1.41:0=
+ "
+DEPEND="${DEPEND}
+ ${CDEPEND}
+ dev-libs/check
+ >=sys-devel/gcc-4.4
+ >=dev-cpp/asio-1.10.1[ssl]
+ "
+#Run time only
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+# Respect {C,LD}FLAGS.
+PATCHES=( "${FILESDIR}/galera-3.15-strip-extra-cflags.patch" )
+
+pkg_preinst() {
+ if use garbd ; then
+ enewgroup garbd
+ enewuser garbd -1 -1 -1 garbd
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Remove bundled dev-cpp/asio
+ rm -r "${S}/asio" || die
+
+ #Remove optional garbd daemon
+ if ! use garbd ; then
+ rm -r "${S}/garb" || die
+ fi
+}
+
+src_configure() {
+ tc-export CC CXX
+ # Uses hardware specific code that seems to depend on SSE4.2
+ if use cpu_flags_x86_sse4_2 ; then
+ append-cflags -msse4.2
+ else
+ append-cflags -DCRC32C_NO_HARDWARE
+ fi
+ # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++,
+ # and -Wold-style-cast
+ MYSCONS=(
+ ssl=1
+ tests=$(usex test 1 0)
+ strict_build_flags=0
+ system_asio=1
+ )
+}
+
+src_compile() {
+ escons --warn=no-missing-sconscript "${MYSCONS[@]}"
+}
+
+src_install() {
+ dodoc scripts/packages/README scripts/packages/README-MySQL
+ if use garbd ; then
+ dobin garb/garbd
+ newconfd "${FILESDIR}/garb.cnf" garbd
+ newinitd "${FILESDIR}/garb.sh" garbd
+ doman man/garbd.8
+ fi
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe libgalera_smm.so
+}
diff --git a/sys-cluster/galera/galera-25.3.21.ebuild b/sys-cluster/galera/galera-25.3.21.ebuild
new file mode 100644
index 000000000000..b81600aef42d
--- /dev/null
+++ b/sys-cluster/galera/galera-25.3.21.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${PN}-3-${PV}"
+
+inherit scons-utils toolchain-funcs user flag-o-matic
+DESCRIPTION="Synchronous multi-master replication engine that provides the wsrep API"
+HOMEPAGE="http://www.galeracluster.com"
+SRC_URI="http://releases.galeracluster.com/${PN}-3/source/galera-3-${PV}.tar.gz"
+LICENSE="GPL-2 BSD"
+
+SLOT="0"
+
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="cpu_flags_x86_sse4_2 garbd test"
+
+CDEPEND="
+ dev-libs/openssl:0=
+ >=dev-libs/boost-1.41:0=
+ "
+DEPEND="${DEPEND}
+ ${CDEPEND}
+ dev-libs/check
+ >=sys-devel/gcc-4.4
+ >=dev-cpp/asio-1.10.1[ssl]
+ "
+#Run time only
+RDEPEND="${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+# Respect {C,LD}FLAGS.
+PATCHES=( "${FILESDIR}/galera-3.15-strip-extra-cflags.patch" )
+
+pkg_preinst() {
+ if use garbd ; then
+ enewgroup garbd
+ enewuser garbd -1 -1 -1 garbd
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Remove bundled dev-cpp/asio
+ rm -r "${S}/asio" || die
+
+ #Remove optional garbd daemon
+ if ! use garbd ; then
+ rm -r "${S}/garb" || die
+ fi
+}
+
+src_configure() {
+ tc-export CC CXX
+ # Uses hardware specific code that seems to depend on SSE4.2
+ if use cpu_flags_x86_sse4_2 ; then
+ append-cflags -msse4.2
+ else
+ append-cflags -DCRC32C_NO_HARDWARE
+ fi
+ # strict_build_flags=0 disables -Werror, -pedantic, -Weffc++,
+ # and -Wold-style-cast
+ MYSCONS=(
+ ssl=1
+ tests=$(usex test 1 0)
+ strict_build_flags=0
+ system_asio=1
+ )
+}
+
+src_compile() {
+ escons --warn=no-missing-sconscript "${MYSCONS[@]}"
+}
+
+src_install() {
+ dodoc scripts/packages/README scripts/packages/README-MySQL
+ if use garbd ; then
+ dobin garb/garbd
+ newconfd "${FILESDIR}/garb.cnf" garbd
+ newinitd "${FILESDIR}/garb.sh" garbd
+ doman man/garbd.8
+ fi
+ exeinto /usr/$(get_libdir)/${PN}
+ doexe libgalera_smm.so
+}
diff --git a/sys-cluster/galera/metadata.xml b/sys-cluster/galera/metadata.xml
new file mode 100644
index 000000000000..d112cf6ef2bb
--- /dev/null
+++ b/sys-cluster/galera/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>mysql-bugs@gentoo.org</email>
+ <name>MySQL</name>
+ </maintainer>
+ <use>
+ <flag name="garbd">Install Galera Arbitrator - a stateless daemon which acts as a lightweight group member</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">galera</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/ganglia-web/Manifest b/sys-cluster/ganglia-web/Manifest
new file mode 100644
index 000000000000..17356ea345ad
--- /dev/null
+++ b/sys-cluster/ganglia-web/Manifest
@@ -0,0 +1,8 @@
+AUX CVE-2013-6395-fix-xss.patch 922 SHA256 42cb7108991ef3061f9a34710b29fda75bc4635bcc6f824fb1115fd4f0277159 SHA512 6ea9694203f5402eb84bf412db6f8c687872a6ab0bea1a0645d92e7852b4a8542f48420442e451042c032d43056ba07d23fd09344d45533017ebdebf111ec556 WHIRLPOOL 785701d303c8649a1d7ac830272f703e7a26f10b0a5d840898f8a36a6d4d1075d1f442f4455d266d978574bc81424ef772e529bc7f5c0a8232f59fcf676f6b05
+DIST ganglia-web-3.5.10.tar.gz 1431977 SHA256 cd6948d4a08a65c3f4f042fa22f04948e089b2b1f970ba1f9f3d91c31bc0ca02 SHA512 9f035c27e7afe944d854a701fc70869940c9cacef5b58b92493241a817f4f5b80103191ab6e9c062ade4c92288fdd25097c95f6d57f409d4840cab2c5ee66efd WHIRLPOOL 6a9dad89961f1cb6c7e63a20f8b79eff2c5758795fe4eac89c9c6ea02f3aef0ade7b4b1851c78c0a0f901825883c0bc08419379b81977f532aa56db04a2564c9
+DIST ganglia-web-3.5.8.tar.gz 1431184 SHA256 c1728c6a073a9d4dd66e10a77b0ab34ccf5d7f3ce0d553888390734bc0b79e4c SHA512 1ba5df64801b28a3e412acd6c63301c7911b24d21dc261c9d970bdabeb3c47102ab47e5de89fd5fdcaa6b79a2e9c3421e7abaf0641e25d1f5821c54a232b0933 WHIRLPOOL 739f7873da4a9a559a2e86d98bc24887cf96b120fb9ae03a59a81cc68aea1c72d9c63a0a62bda85578406454b944f805ced6918d2e7fc68e3491f5178f8b47b6
+EBUILD ganglia-web-3.5.10-r1.ebuild 1186 SHA256 a06a395942dac9306f17a3b25ebb9512dd3532faf4291a5e0e58a7393270409e SHA512 012694bf0d7d72be85b3af4f9fffc2571b99f2f2e6613629a0769f5873bf194045a2e1d18511d7dd8aff0fc152407057de2f88b58f75557d9701c8a73ad33934 WHIRLPOOL 889658fd498af51ecc991d78751c270f8519af75894b43f7be410f69af1bce045af420378d385294ef79fe30986593b4616b8180259d0ded611f908b5051791a
+EBUILD ganglia-web-3.5.8-r1.ebuild 1183 SHA256 90583abfa51ed40ca3e6b81132d91d30dad9862e90ebb5d43781909f1c7f1ad2 SHA512 2481fc91882073b4cfe9d8b0bd9fb3b7716c3b629aa9cb08afaac34ac6e553f7d2d23a449a128afbad9f24bb94c0a4dc6aea4f515c83fe273be536451c42abe5 WHIRLPOOL fb8a3fa273d20a7ca7fbf456ef0a915599e4bf2f59e785006f73cc3ddc94dc86b00dedf2aa1275755fd6c70a3827bc43453121edfb6b91692d8bfc657e972b96
+MISC ChangeLog 2692 SHA256 24524f338aeb49900b024a5df0cb03cdc190c44d32e9b2d40f319d73db094c0a SHA512 166b5974ddb1b18930db7779029adab1efd13e31862a6ac1c48a0c95240f99bb17c02d76e335f25c8dda223df053d27d672da65e54f49c0f66691aae97297f97 WHIRLPOOL 8051d6d6a24a8f0b2958f771c3d66282e94ac5288dde604167749bbc5c6bacd27d750390c0221b4987501e7e131bb4749148f5aeb03896d22148535e488bce1d
+MISC ChangeLog-2015 2664 SHA256 2eb54d9b47760e4ab81f048809b86796ff775951be8af5243762e14412a9d1e3 SHA512 82cd3ab616fb9c5e5b77199693722f99e481a2cabb1df757148853ce58123c53ad2be7b4f83def6fa89e3ece57e7377cc8ee161b739181b092ea47e13e6cf4e7 WHIRLPOOL d251c50847d8c4fa38a30940c9cc2da081f610dbe846b3e2ecad8e1402c2bd839e0c3772198fb286e1e68c684d346ce8445a075254f06d7393dae0588e593c79
+MISC metadata.xml 334 SHA256 a0156eea226535177cb784d92cec49e67ab431b69a129bd5f792d2b11804ccde SHA512 9b58ae22b5ef2ebe1d7b247b179273a68033ccbc01c78969a2ec10a2a3932432ea4328b91e192b30dcef84381313fff1d26fc0e4d7e4cf70f0a36aa9c3cd8a63 WHIRLPOOL 7a92b4c49c9d0a34865d7e5ff49dccc327e2b8f12e58c9ae494757c6d40ace8819027d23dc382f9ab53cbefbe74f0e046d51fbec63e8d6ad705a400a21ebb224
diff --git a/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch b/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch
new file mode 100644
index 000000000000..6f49bbedb7c0
--- /dev/null
+++ b/sys-cluster/ganglia-web/files/CVE-2013-6395-fix-xss.patch
@@ -0,0 +1,27 @@
+From a014c9542710ad50fd1a7fd1eb39b44261edf3a2 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 23 Dec 2013 11:39:03 -0500
+Subject: [PATCH] CVE-2013-6395 fix xss
+
+https://bugs.gentoo.org/show_bug.cgi?id=492580
+http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-6395
+---
+ header.php | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/header.php b/header.php
+index d0a30c2..e1cb0e8 100755
+--- a/header.php
++++ b/header.php
+@@ -485,7 +485,7 @@ $data->assign("custom_time", $custom_time);
+ /////////////////////////////////////////////////////////////////////////
+ if ( $context == "cluster" ) {
+ if ( isset($user['host_regex']) && $user['host_regex'] != "" )
+- $set_host_regex_value="value='" . $user['host_regex'] . "'";
++ $set_host_regex_value="value='" . htmlentities($user['host_regex'], ENT_QUOTES) . "'";
+ else
+ $set_host_regex_value="";
+
+--
+1.8.3.2
+
diff --git a/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild b/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild
new file mode 100644
index 000000000000..4ee2bb7ef1a0
--- /dev/null
+++ b/sys-cluster/ganglia-web/ganglia-web-3.5.10-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+WEBAPP_MANUAL_SLOT="yes"
+inherit webapp eutils
+
+DESCRIPTION="Web frontend for sys-cluster/ganglia"
+HOMEPAGE="http://ganglia.sourceforge.net"
+SRC_URI="mirror://sourceforge/ganglia/${PN}/${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="vhosts"
+
+DEPEND="net-misc/rsync"
+RDEPEND="
+ ${DEPEND}
+ ${WEBAPP_DEPEND}
+ >=sys-cluster/ganglia-3.3.7[-minimal]
+ dev-lang/php[gd,xml,ctype,cgi]
+ media-fonts/dejavu"
+
+src_configure() {
+ return 0
+}
+
+src_compile() {
+ return 0
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/CVE-2013-6395-fix-xss.patch
+}
+
+src_install() {
+ webapp_src_preinst
+ cd "${S}"
+ emake \
+ GDESTDIR="${MY_HTDOCSDIR}" \
+ DESTDIR="${D}" \
+ APACHE_USER=nobody \
+ install || die
+ webapp_configfile "${MY_HTDOCSDIR}"/conf_default.php
+ webapp_src_install
+
+ fowners -R nobody:nobody /var/lib/ganglia-web/dwoo
+ fperms -R 777 /var/lib/ganglia-web/dwoo
+
+ dodoc AUTHORS README TODO || die
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+
+ # upgrade from < 3.5.6
+ if [ -d "${ROOT}"/var/lib/ganglia/dwoo ]; then
+ rm -rf "${ROOT}"/var/lib/ganglia/dwoo || die
+ fi
+}
diff --git a/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild b/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild
new file mode 100644
index 000000000000..a50a91e815d1
--- /dev/null
+++ b/sys-cluster/ganglia-web/ganglia-web-3.5.8-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+WEBAPP_MANUAL_SLOT="yes"
+inherit webapp eutils
+
+DESCRIPTION="Web frontend for sys-cluster/ganglia"
+HOMEPAGE="http://ganglia.sourceforge.net"
+SRC_URI="mirror://sourceforge/ganglia/${PN}/${PV}/${P}.tar.gz"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="vhosts"
+
+DEPEND="net-misc/rsync"
+RDEPEND="
+ ${DEPEND}
+ ${WEBAPP_DEPEND}
+ >=sys-cluster/ganglia-3.3.7[-minimal]
+ dev-lang/php[gd,xml,ctype,cgi]
+ media-fonts/dejavu"
+
+src_configure() {
+ return 0
+}
+
+src_compile() {
+ return 0
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/CVE-2013-6395-fix-xss.patch
+}
+
+src_install() {
+ webapp_src_preinst
+ cd "${S}"
+ emake \
+ GDESTDIR="${MY_HTDOCSDIR}" \
+ DESTDIR="${D}" \
+ APACHE_USER=nobody \
+ install || die
+ webapp_configfile "${MY_HTDOCSDIR}"/conf_default.php
+ webapp_src_install
+
+ fowners -R nobody:nobody /var/lib/ganglia-web/dwoo
+ fperms -R 777 /var/lib/ganglia-web/dwoo
+
+ dodoc AUTHORS README TODO || die
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+
+ # upgrade from < 3.5.6
+ if [ -d "${ROOT}"/var/lib/ganglia/dwoo ]; then
+ rm -rf "${ROOT}"/var/lib/ganglia/dwoo || die
+ fi
+}
diff --git a/sys-cluster/ganglia-web/metadata.xml b/sys-cluster/ganglia-web/metadata.xml
new file mode 100644
index 000000000000..89825dedcad9
--- /dev/null
+++ b/sys-cluster/ganglia-web/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">ganglia</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/ganglia/Manifest b/sys-cluster/ganglia/Manifest
new file mode 100644
index 000000000000..10cc21575c31
--- /dev/null
+++ b/sys-cluster/ganglia/Manifest
@@ -0,0 +1,10 @@
+AUX gmetad-python.rc 618 SHA256 bbb94079a156c98dd03f0166e0ffc347747b2e6ae1a741a89e79aa2ee1e67eda SHA512 1b23e84c453b0cd0aca8b340c9764adb79bccbc0b4a9574a1e5c7299bc8d497d30a2a56e9b855d3cda2664a856b404f4f6941b3feddbec889e45a59c92c05389 WHIRLPOOL 791d3718fafce43d750edc492d3123006a4c484865ad69252ade9971504021bf8dd92acb61a35d5b901a76c15c0d247fdbd106f3be992039e85f3928cad0aca9
+AUX gmetad.rc 352 SHA256 8236bc81d249d18a88a77f684036184617fcef3addf9eb6bb6e9cda4e1bbcdbf SHA512 865e1f8622ebcf1103f0cb72ebc2d675af01e9ea0861fd43107ac2bca10d9e86f875741ae4cc1dabf0eb231fd3f907066974d82b245f2746acbad0f7eafb46af WHIRLPOOL 1d151b5ed6d32d1c7946a8a6a15d73226bfbd409c36ec5da0eb69b884e6e35c1405810270a3226974d1dfa102cd935b372b6118a2006b4ff32511d979e105feb
+AUX gmetad.rc-2 480 SHA256 d57923cd9426bea1c69a3095a4dae3ccb1871d8723efbf3a226499012c2ff095 SHA512 37678fe9b52ce7c6ef38bcc764189ed26e10410567ac9a8608460ac3eab380c70ac91453ed425ffef8d6e86ff6ef609e0167f5bb04a2aa9318725527d31391fa WHIRLPOOL 713665091d0fc47b74b0f9dfcc367591f1ad0c16a036a8bcde10b943f3c2a17d151c383e3d669ac3dc6f75dafa109e6347e72193f05a0ba4854c65e59b8d0b9f
+AUX gmond.rc 346 SHA256 68f68de2f572fe313f6451ba8e368bc9493e14598f17f22cf09b0fb3a42fa42f SHA512 0d1d4da1bfc2c20ae741fb9a7ee2e649780254029c50fee866f1fffdb55fddbd61ea3ead6670d7a65489d780990e24c6743c14bc1a4a7040b84972f4884629ca WHIRLPOOL 1471d42034d89919773af796e22a699243bac7952422b3440b70ab81742a7de385bb2e5a3c3bec8550cb969de310d76544b1f3650cc049ef1c73e8c5e28420ae
+AUX gmond.rc-2 473 SHA256 20fdb9cf9fdfb89be91db7723955c31f770643d4e54cd9b08e6121f6e28445dd SHA512 bbb5e3c525137aa2072bd46d28473523498895eba70c8dad1209230ea5e7f44ddc09875b5b6065fd5351d89ed0ad574a94fe0debcbe1d3a51e2541715adb4240 WHIRLPOOL 37b7ee2456bf1b99e77058cb309a939167e06476fbec5a12790707045e7408cd22e02fc9ca224981c9e5914f50f0ab4ead573fa321390ce1d47237e0973c8e30
+DIST ganglia-3.7.1.tar.gz 1311019 SHA256 e735a6218986a0ff77c737e5888426b103196c12dc2d679494ca9a4269ca69a3 SHA512 1c3519cec0015cc967536a8c72cedd1b1bc268e0e238538756b1f46fd741b56ebaacc6f518c57eb111c30fd2e56372cba4593e4487c9ed68472aa59d24ce66a8 WHIRLPOOL 7d37d1c6b23d417d2a24b654393b32b1c3bf7dcdfd18c960994a2b8f226559e7e5d5149bc87d5072bb1d9b48e4a871775334e2af22d7567a124519d1aa120a78
+EBUILD ganglia-3.7.1-r1.ebuild 2910 SHA256 cf1f3494ca42336ca2d794412b3c8adb8aa84e2c4e81118e166b9588ddee2869 SHA512 eb087c172fab239315dc4a18b364dc32e202e9dcd3279224369418af353fb185d71bc85cd3fc02c522b95c530a038c8e87dacf40d081761792f8007880ea956d WHIRLPOOL a4000a05d7c17f1153289d16a872cc34ec47b24925db207b239cb00e0eeb03675d87e9cb1d7001f583e20904a64a35a72b22f479425edf90a03802e6141f2166
+MISC ChangeLog 3418 SHA256 dd3d1ab1e3f19939c371ec3fbc85beb6ec258fa80d58cf687967e5f592ead5bd SHA512 d015c674989b172b2a8bb3d32ec86636308fba7f7f6e122c54d7f5efda163414cf269e0fa1c5441e393ff3c9a8be4053cbd7a3039f04488ec578519fcc383747 WHIRLPOOL ae5bb2698e4942ac0369fbe3c82cc24bfcc5a4eb592aeb1ab32109b4630c097ed674b73d99558a18ac7e4f18c492df88fadd1293c1b224cdf5ea0d59efb141c3
+MISC ChangeLog-2015 12226 SHA256 3641589fd72852881034929c3dd19ad0119e31c7d0f65ad520667c57d3defbdd SHA512 be18cfb78ca0138a43ee93658ec7baaf3f1a9f400300945adede8a6dccff09793d043073021b94f1484908df71c5c8baafaf0fc05e52b67dd5d5061430697aeb WHIRLPOOL cafdbf744bdf158dc9ef87f7fa63b279a20acb236b4080ee8d631a920741de934a9ce961b7c324cee73fc4edd6dfa02306aa5d605e690c435828344f2fc5c5d4
+MISC metadata.xml 334 SHA256 a0156eea226535177cb784d92cec49e67ab431b69a129bd5f792d2b11804ccde SHA512 9b58ae22b5ef2ebe1d7b247b179273a68033ccbc01c78969a2ec10a2a3932432ea4328b91e192b30dcef84381313fff1d26fc0e4d7e4cf70f0a36aa9c3cd8a63 WHIRLPOOL 7a92b4c49c9d0a34865d7e5ff49dccc327e2b8f12e58c9ae494757c6d40ace8819027d23dc382f9ab53cbefbe74f0e046d51fbec63e8d6ad705a400a21ebb224
diff --git a/sys-cluster/ganglia/files/gmetad-python.rc b/sys-cluster/ganglia/files/gmetad-python.rc
new file mode 100644
index 000000000000..a01e42ebd788
--- /dev/null
+++ b/sys-cluster/ganglia/files/gmetad-python.rc
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/gmetad-python.pid
+
+depend() {
+ need net
+ after ntp-client ntpd
+}
+
+start() {
+ ebegin "Starting GANGLIA gmetad-python: "
+ start-stop-daemon \
+ --start --quiet \
+ --exec /usr/bin/gmetad.py \
+ --pidfile ${PIDFILE} \
+ -- \
+ -p ${PIDFILE}
+ eend $? "Failed to start gmetad-python"
+}
+
+stop() {
+ ebegin "Shutting down GANGLIA gmetad-python: "
+ start-stop-daemon \
+ --stop --quiet \
+ --pidfile ${PIDFILE} \
+ --exec /usr/bin/gmetad.py
+ eend $? "Failed to stop gmetad-python"
+}
diff --git a/sys-cluster/ganglia/files/gmetad.rc b/sys-cluster/ganglia/files/gmetad.rc
new file mode 100644
index 000000000000..bb57487a3e0d
--- /dev/null
+++ b/sys-cluster/ganglia/files/gmetad.rc
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+depend() {
+ need net
+ after ntp-client ntpd
+}
+
+start() {
+ ebegin "Starting GANGLIA gmetad: "
+ start-stop-daemon --start --quiet --exec /usr/sbin/gmetad
+ eend $? "Failed to start gmetad"
+}
+
+stop() {
+ ebegin "Shutting down GANGLIA gmetad: "
+ start-stop-daemon --stop --quiet --exec /usr/sbin/gmetad
+ eend $? "Failed to stop gmetad"
+}
diff --git a/sys-cluster/ganglia/files/gmetad.rc-2 b/sys-cluster/ganglia/files/gmetad.rc-2
new file mode 100644
index 000000000000..6b1306beec9a
--- /dev/null
+++ b/sys-cluster/ganglia/files/gmetad.rc-2
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+PIDFILE=/var/run/gmetad.pid
+
+depend() {
+ need net
+ after ntp-client ntpd
+}
+
+start() {
+ ebegin "Starting GANGLIA gmetad: "
+ start-stop-daemon \
+ --start --quiet \
+ --exec /usr/sbin/gmetad \
+ --pidfile ${PIDFILE} \
+ -- \
+ --pid-file=${PIDFILE}
+ eend $? "Failed to start gmetad"
+}
+
+stop() {
+ ebegin "Shutting down GANGLIA gmetad: "
+ start-stop-daemon \
+ --stop --quiet \
+ --pidfile ${PIDFILE} \
+ --exec /usr/sbin/gmetad
+ eend $? "Failed to stop gmetad"
+}
diff --git a/sys-cluster/ganglia/files/gmond.rc b/sys-cluster/ganglia/files/gmond.rc
new file mode 100644
index 000000000000..621be8d14091
--- /dev/null
+++ b/sys-cluster/ganglia/files/gmond.rc
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+depend() {
+ need net
+ after ntp-client ntpd
+}
+
+start() {
+ ebegin "Starting GANGLIA gmond: "
+ start-stop-daemon --start --quiet --exec /usr/sbin/gmond
+ eend $? "Failed to start gmond"
+}
+
+stop() {
+ ebegin "Shutting down GANGLIA gmond: "
+ start-stop-daemon --stop --quiet --exec /usr/sbin/gmond
+ eend $? "Failed to stop gmond"
+}
diff --git a/sys-cluster/ganglia/files/gmond.rc-2 b/sys-cluster/ganglia/files/gmond.rc-2
new file mode 100644
index 000000000000..fb07e19073c0
--- /dev/null
+++ b/sys-cluster/ganglia/files/gmond.rc-2
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+PIDFILE=/var/run/gmond.pid
+
+depend() {
+ need net
+ after ntp-client ntpd
+}
+
+start() {
+ ebegin "Starting GANGLIA gmond: "
+ start-stop-daemon \
+ --start --quiet \
+ --exec /usr/sbin/gmond \
+ --pidfile ${PIDFILE} \
+ -- \
+ --pid-file=${PIDFILE}
+ eend $? "Failed to start gmond"
+}
+
+stop() {
+ ebegin "Shutting down GANGLIA gmond: "
+ start-stop-daemon \
+ --stop --quiet \
+ --pidfile ${PIDFILE} \
+ --exec /usr/sbin/gmond
+ eend $? "Failed to stop gmond"
+}
diff --git a/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild b/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild
new file mode 100644
index 000000000000..4f264a867d19
--- /dev/null
+++ b/sys-cluster/ganglia/ganglia-3.7.1-r1.ebuild
@@ -0,0 +1,126 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_OPTIONAL=1
+
+inherit distutils-r1 eutils multilib systemd
+
+DESCRIPTION="A scalable distributed monitoring system for clusters and grids"
+HOMEPAGE="http://ganglia.sourceforge.net/"
+SRC_URI="mirror://sourceforge/ganglia/${P}.tar.gz"
+LICENSE="BSD"
+
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE="minimal pcre python examples"
+
+DEPEND="dev-libs/confuse
+ dev-libs/expat
+ >=dev-libs/apr-1.0
+ !dev-db/firebird
+ pcre? ( dev-libs/libpcre )
+ python? ( ${PYTHON_DEPS} )"
+
+RDEPEND="
+ ${DEPEND}
+ !minimal? ( net-analyzer/rrdtool )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+src_prepare() {
+ if use python && ! use minimal; then
+ pushd gmetad-python >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+}
+
+src_configure() {
+ if use python; then
+ python_setup
+ fi
+
+ econf \
+ --with-systemdsystemunitdir=$(systemd_get_unitdir) \
+ --enable-gexec \
+ --sysconfdir="${EPREFIX}"/etc/${PN} \
+ --enable-static=no \
+ $(use_enable python) \
+ $(use_with pcre libpcre) \
+ $(use_with !minimal gmetad)
+}
+
+src_compile() {
+ default_src_compile
+
+ if use python && ! use minimal; then
+ pushd gmetad-python >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ local exdir=/usr/share/doc/${P}
+
+ emake DESTDIR="${D}" install || die
+
+ newinitd "${FILESDIR}"/gmond.rc-2 gmond
+ doman {mans/*.1,gmond/*.5} || die "Failed to install manpages"
+ dodoc AUTHORS INSTALL NEWS README || die
+
+ dodir /etc/ganglia/conf.d
+ use python && dodir /usr/$(get_libdir)/ganglia/python_modules
+ gmond/gmond -t > "${ED}"/etc/ganglia/gmond.conf
+
+ if use examples; then
+ insinto ${exdir}/cmod-examples
+ doins gmond/modules/example/*.c
+ if use python; then
+ # Installing as an examples per upstream.
+ insinto ${exdir}/pymod-examples
+ doins gmond/python_modules/*/*.py
+ insinto ${exdir}/pymod-examples/conf.d
+ doins gmond/python_modules/conf.d/*.pyconf
+ fi
+ fi
+
+ if ! use minimal; then
+ insinto /etc/ganglia
+ doins gmetad/gmetad.conf
+ doman mans/gmetad.1
+
+ newinitd "${FILESDIR}"/gmetad.rc-2 gmetad
+ keepdir /var/lib/ganglia/rrds
+ fowners nobody:nobody /var/lib/ganglia/rrds
+
+ if use python; then
+ pushd gmetad-python >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ newinitd "${FILESDIR}"/gmetad-python.rc gmetad-python
+ fi
+ fi
+}
+
+src_test() {
+ default_src_test
+
+ if use python && ! use minimal; then
+ pushd gmetad-python >/dev/null || die
+ distutils-r1_src_test
+ popd >/dev/null || die
+ fi
+}
+
+pkg_postinst() {
+ elog "A default configuration file for gmond has been generated"
+ elog "for you as a template by running:"
+ elog " /usr/sbin/gmond -t > /etc/ganglia/gmond.conf"
+
+ elog "The web frontend for Ganglia has been split off. Emerge"
+ elog "sys-cluster/ganglia-web if you need it."
+}
diff --git a/sys-cluster/ganglia/metadata.xml b/sys-cluster/ganglia/metadata.xml
new file mode 100644
index 000000000000..89825dedcad9
--- /dev/null
+++ b/sys-cluster/ganglia/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">ganglia</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/gasnet/Manifest b/sys-cluster/gasnet/Manifest
new file mode 100644
index 000000000000..7428d3fe69c5
--- /dev/null
+++ b/sys-cluster/gasnet/Manifest
@@ -0,0 +1,11 @@
+DIST GASNet-1.26.4.tar.gz 2656498 SHA256 a2c8a9c306ade58f4eba641f1c6e310a31fc722812dde1154fcc01efab4173d3 SHA512 9faa0281177afc67f2bf75e3a487accdf87b67a3da6afabcd625a26a3533033313b545893dead7ac1d176c57fe7547cd077d3bb368bc9e3211ffb0b316f3af0c WHIRLPOOL 5c920e69728343266929a18ff48eb98bd8dc35803507d205ef479e545a3eae885367a01e403eebf3518b65eaffe59ae8a797643a8e16326a3c610f4f11cd71e6
+DIST GASNet-1.28.0.tar.gz 2654757 SHA256 a7999fbaa1f220c2eb9657279c7e7cccd1b21865d5383c9a5685cfe05a0702bc SHA512 3edef7efc55833d286b1d562f670b9605b1c8c37f9cf5582a46a5e7d8b2fbb7deca695597accda6f39c75e840da1879e8bb3d8b9f25da6be4aad60eca4aad169 WHIRLPOOL ce1e5b9c52b1dfbae8badd610f458563296d1eb9c593a614b8c54621111b9d4f269ef22616e2857913e0641347ca156ea82b6449fd33a89c38e3aed61be3c437
+DIST GASNet-1.28.2.tar.gz 2691394 SHA256 7903fd8ebdd03bcda20a66e3fcedef2f8b384324591aa91b8370f3360f6384eb SHA512 df472c55642891405cd86b9cc573cb1cd7607af7cd0ed931cb423ce0274f1a000f5f0b3481950cac710f154a5068088e8c101f1ea0cb9ceb4aaf73444cb3cef5 WHIRLPOOL 488eaf1c42de9cde7c58036bbe71339bf1249615c37589a526d2635bcb1a75144f98b4e9d888ce4ae53bd930196f49ddb47d1ea86525f027f85428915a40fe54
+DIST GASNet-1.30.0.tar.gz 2686524 SHA256 b5d8c98c53174a98a41efb4ec9dedb62c0a9e8fa111bb6460cd4493beb80d497 SHA512 c95825906b2298be16087fa817baf14076c2d70b1e6420feef07da0c01d2e780415904dac5ec9b4debdffb0749b706f40ac50c4574425978783d7121506c99a6 WHIRLPOOL 506fa0d51d5a6234b3909af9f0b71c643cfdcc9e227975fedc9eb29c09cf87386950a609dbf272270f4643f37e8131fc091f254fd6c22dc348c310c5b280b35d
+EBUILD gasnet-1.26.4-r1.ebuild 1831 SHA256 b11981f14eb50fc4fdb6361d05f03824403bb7899b288f519add92ff47ad86b5 SHA512 51a5f3e49102838e24d1c2233d45a926b15fcf361e9ec365d2f2fe08b63bf8c38019d090122443502dda9338b58ed54e563e2d1ff47cd4481cefcabad6528952 WHIRLPOOL 95448860a73c05bcf9bc17c7220f5cf85d1fd36797d577ca0e1d59b8aae02def8ce1f1157b0bba51293e00f95658844d1f97bbd6a1ca5c18daf1ca1d34c8e63d
+EBUILD gasnet-1.26.4.ebuild 687 SHA256 14daa4dfd818cb32a9f478a33b48995328c658b242d582f6b066ac8820b5d4de SHA512 1724a3a0e5dd23192581d0faa595a0d2eeaa17c8ad945ad708906562d16ab188af18a5bec124be52571a64e3d4abd0f8dccd0d8997d93634dccd813bd5195727 WHIRLPOOL af84783af8f471c1ca2571562640d6786ac3067d2c4a95555d83ce72a25ffd03f6039380f0083914a7e7291fbf1e650cb1d86f071be722b415c91e21ca06f10c
+EBUILD gasnet-1.28.0.ebuild 2487 SHA256 545b1681120df5f302483fa6aa41d656ac4995fdc4971850f82488af06a656e0 SHA512 823b553adfb0a5d55c2f687eba4c0f2abfc8b3fdf46f3af6025a361dd30dcb8cfcdaf06ff614a2549b5677f934a5f483d38ab17408a3ff186e2890837df27ce0 WHIRLPOOL 3534b56858bb2c65d5ba0f577b5d2b1a9c3720dadf454447c472fead96b40456257dc94e5f9b43e4d9acabdd650dcbeef280250eff54f629757347df64bdb6f7
+EBUILD gasnet-1.28.2.ebuild 2505 SHA256 1f549db1882a5f18ad75af8d5688aa911e62893991588a7485ba70c5c8e44150 SHA512 259ba3b1026794153ed72728b8f403aa3a848763526d35faeb4b2f771cc223ba074284cca171b2dfe422752337aedaec9c451d1dc1fc0c989e95ea369da395f3 WHIRLPOOL 48322c930646c102527ad81b38c9f1a1b07e1d332c1b37c0e62b727a8ceeadbde0f1bb34934c6f11977312cff9ec90e243d084bf6f35c5cc07446830e71e8a0c
+EBUILD gasnet-1.30.0.ebuild 2505 SHA256 1f549db1882a5f18ad75af8d5688aa911e62893991588a7485ba70c5c8e44150 SHA512 259ba3b1026794153ed72728b8f403aa3a848763526d35faeb4b2f771cc223ba074284cca171b2dfe422752337aedaec9c451d1dc1fc0c989e95ea369da395f3 WHIRLPOOL 48322c930646c102527ad81b38c9f1a1b07e1d332c1b37c0e62b727a8ceeadbde0f1bb34934c6f11977312cff9ec90e243d084bf6f35c5cc07446830e71e8a0c
+MISC ChangeLog 903 SHA256 64f3b83e225538f13dd97c702426b056c7801db595821360ccce7539ddbf359a SHA512 41e1e6d78b02169ed74c69f2d686a5e2dc96d9c96a0814af992eee5059b2132af693f42faabe8c3e280e3aa33b10cc87f5bc4b0ed9ad1774f1d1e723caaa2aa5 WHIRLPOOL 2e664cbbfa744d4c37b4b202e847de9a3600003cdc3f562c2fd0b741438cbb3ac019199e464240dba1ad424bc641971502d35ac20ba0462e611c1080c0652af3
+MISC metadata.xml 383 SHA256 76b7e7ef719fef2af093094c137177f0bbf06179fbbe1b7b6a8410e66a115c6f SHA512 036b39c9387179e4589ba7d893ea99d17b847bf409e6625a8fe9c798d4d548dd1d34c52b4dd9653f54d09c196873b7c04a3e3f653e5453800bdc3ad7f8087502 WHIRLPOOL 235ae79df8aee3e1e7585c8008c85ec87ab347ad8a8628e84e3dabaddba42ac8a994bcc2c3fb0117e70fbb29d8dd2fc2707b321080c6a1071c7b65863c68dde8
diff --git a/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild b/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild
new file mode 100644
index 000000000000..c7f53bc60cd8
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.26.4-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools toolchain-funcs multilib
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+SOVER="${PV%%.*}"
+LICENSE="BSD"
+SLOT="0/${SOVER}"
+KEYWORDS="~amd64"
+IUSE="mpi static-libs threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+static_to_shared() {
+ local libstatic="${1}"; shift
+ local libname="${libstatic%.a}"
+ libname="${libname##*/}"
+ local soname="${libname}$(get_libname ${SOVER})"
+ local libdir="${libstatic%/*}"
+
+ einfo "Making ${soname} from ${libstatic}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCC)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable mpi) \
+ $(use_enable threads pthreads) \
+ CC="$(tc-getCC) ${CFLAGS} -fPIC" \
+ MPI_CC="mpicc ${CFLAGS} -fPIC" \
+ CXX="$(tc-getCXX) ${CFLAGS} -fPIC"
+}
+
+src_install() {
+ local l libs
+ default
+ for l in "${ED}/usr/$(get_libdir)"/*.a; do
+ libs=
+ [[ $l = *mpi* ]] && libs+=" -lmpi"
+ static_to_shared "${l}" ${libs}
+ done
+ use static-libs || rm -f "${ED}/usr/$(get_libdir)"/*.a || die
+}
diff --git a/sys-cluster/gasnet/gasnet-1.26.4.ebuild b/sys-cluster/gasnet/gasnet-1.26.4.ebuild
new file mode 100644
index 000000000000..67055d3a67af
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.26.4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="mpi threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable mpi) $(use_enable threads pthreads)
+}
diff --git a/sys-cluster/gasnet/gasnet-1.28.0.ebuild b/sys-cluster/gasnet/gasnet-1.28.0.ebuild
new file mode 100644
index 000000000000..9a32e2c0b5c5
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.28.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools toolchain-funcs multilib
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+SOVER="${PV%%.*}"
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm"
+IUSE="mpi test threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+static_to_shared() {
+ local libstatic="${1}"; shift
+ local libname="${libstatic%.a}"
+ libname="${libname##*/}"
+ local soname="${libname}$(get_libname ${SOVER})"
+ local libdir="${libstatic%/*}"
+
+ einfo "Making ${soname} from ${libstatic} with libs ${@}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,-z,defs \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable mpi) \
+ $(use_enable threads pthreads) \
+ CC="$(tc-getCC) ${CFLAGS} -fPIC" \
+ MPI_CC="mpicc ${CFLAGS} -fPIC" \
+ CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC"
+}
+
+src_compile() {
+ emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_test() {
+ emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_install() {
+ local l libs
+ default
+ for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do
+ [[ -f ${l} ]] || continue
+ libs=
+ [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread"
+ [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq"
+ [[ ${l} = */libammpi.a ]] && libs+=" -lmpi"
+ [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp"
+ [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi"
+ [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt"
+ static_to_shared "${l}" ${libs}
+ rm ${l} || die
+ done
+}
diff --git a/sys-cluster/gasnet/gasnet-1.28.2.ebuild b/sys-cluster/gasnet/gasnet-1.28.2.ebuild
new file mode 100644
index 000000000000..52282995fdde
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.28.2.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools toolchain-funcs multilib
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+SOVER="${PV%%.*}"
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm"
+IUSE="mpi test threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+static_to_shared() {
+ local libstatic="${1}"; shift
+ local libname="${libstatic%.a}"
+ libname="${libname##*/}"
+ local soname="${libname}$(get_libname ${SOVER})"
+ local libdir="${libstatic%/*}"
+
+ einfo "Making ${soname} from ${libstatic} with libs ${@}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,-z,defs \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-ibv \
+ $(use_enable mpi) \
+ $(use_enable threads pthreads) \
+ CC="$(tc-getCC) ${CFLAGS} -fPIC" \
+ MPI_CC="mpicc ${CFLAGS} -fPIC" \
+ CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC"
+}
+
+src_compile() {
+ emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_test() {
+ emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_install() {
+ local l libs
+ default
+ for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do
+ [[ -f ${l} ]] || continue
+ libs=
+ [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread"
+ [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq"
+ [[ ${l} = */libammpi.a ]] && libs+=" -lmpi"
+ [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp"
+ [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi"
+ [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt"
+ static_to_shared "${l}" ${libs}
+ rm ${l} || die
+ done
+}
diff --git a/sys-cluster/gasnet/gasnet-1.30.0.ebuild b/sys-cluster/gasnet/gasnet-1.30.0.ebuild
new file mode 100644
index 000000000000..52282995fdde
--- /dev/null
+++ b/sys-cluster/gasnet/gasnet-1.30.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools toolchain-funcs multilib
+
+MY_P="${PN^^[gasn]}-${PV}"
+DESCRIPTION="Networking middleware for partitioned global address space (PGAS) language"
+HOMEPAGE="http://gasnet.lbl.gov/"
+SRC_URI="http://gasnet.lbl.gov/${MY_P}.tar.gz"
+
+SOVER="${PV%%.*}"
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~arm"
+IUSE="mpi test threads"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+static_to_shared() {
+ local libstatic="${1}"; shift
+ local libname="${libstatic%.a}"
+ libname="${libname##*/}"
+ local soname="${libname}$(get_libname ${SOVER})"
+ local libdir="${libstatic%/*}"
+
+ einfo "Making ${soname} from ${libstatic} with libs ${@}"
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -dynamiclib -install_name "${EPREFIX}"/usr/lib/"${soname}" \
+ -Wl,-all_load -Wl,${libstatic} \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ else
+ ${LINK:-$(tc-getCXX)} ${LDFLAGS} \
+ -shared -Wl,-soname=${soname} \
+ -Wl,-z,defs \
+ -Wl,--whole-archive ${libstatic} -Wl,--no-whole-archive \
+ "$@" -o ${libdir}/${soname} || die "${soname} failed"
+ ln -s ${soname} ${libdir}/${libname}$(get_libname)
+ fi
+}
+
+src_prepare() {
+ find . \
+ \( -name Makefile.am -or -name "*.mak" \) \
+ -exec sed -i '/^docdir/s/^/#/' {} + || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-ibv \
+ $(use_enable mpi) \
+ $(use_enable threads pthreads) \
+ CC="$(tc-getCC) ${CFLAGS} -fPIC" \
+ MPI_CC="mpicc ${CFLAGS} -fPIC" \
+ CXX="$(tc-getCXX) ${CXXFLAGS} -fPIC"
+}
+
+src_compile() {
+ emake MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_test() {
+ emake check MANUAL_CFLAGS="${CFLAGS} -fPIC" MANUAL_MPICFLAGS="${CFLAGS} -fPIC" MANUAL_CXXFLAGS="${CXXFLAGS} -fPIC"
+}
+
+src_install() {
+ local l libs
+ default
+ for l in "${ED}/usr/$(get_libdir)"/lib{gasnet_tools-seq,am*,*}.a; do
+ [[ -f ${l} ]] || continue
+ libs=
+ [[ ${l} = */libgasnet-*-par* ]] && libs+=" -lpthread"
+ [[ ${l} = */libamudp.a ]] && libs+=" -L${ED}/usr/$(get_libdir) -lgasnet_tools-seq"
+ [[ ${l} = */libammpi.a ]] && libs+=" -lmpi"
+ [[ ${l} = */libgasnet-udp-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lamudp"
+ [[ ${l} = */libgasnet-mpi-* ]] && libs+=" -L${ED}/usr/$(get_libdir) -lammpi"
+ [[ ${l} = */libgasnet-*-* ]] && libs+=" -lrt"
+ static_to_shared "${l}" ${libs}
+ rm ${l} || die
+ done
+}
diff --git a/sys-cluster/gasnet/metadata.xml b/sys-cluster/gasnet/metadata.xml
new file mode 100644
index 000000000000..2b198241ed97
--- /dev/null
+++ b/sys-cluster/gasnet/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/gearmand/Manifest b/sys-cluster/gearmand/Manifest
new file mode 100644
index 000000000000..8e600a273d50
--- /dev/null
+++ b/sys-cluster/gearmand/Manifest
@@ -0,0 +1,8 @@
+AUX gearmand-0.34-stdbool-h.patch 568 SHA256 2122d7b8cedf64af25102217453e747cd15d479d50f3a01375cb89caaec7fa23 SHA512 bff5ae044cbf7bd08911ff29699a6f6065320c888f3f3f27ffc655dbbb283914c7aaa6474902f3644940a9698921d60622e4eeada653183c6fa90bb08e423930 WHIRLPOOL fb2fd2704eb797d5f1cc3ae823cd0546183f846e39e19a1051c11f47bc06ee244dea963bb56086d50db9ac065b923cf51e04d30dcbc649aa108fade6b4716501
+AUX gearmand.conf.d 1542 SHA256 a99bd1672091da3d4c2776225dacc497a5a9fb36ff8b34a464cd984cf584a29e SHA512 850cf6bd13475d30879bd49c9650e1f01e52c1bd8ed580d6dda09c83f74e424a17c04e9d8203c2b3555a69cf5cf3f00ede3fbcc7d005f90844e4494041c9168f WHIRLPOOL 1a07ee704aa646cfbeeb0cd590e494c86090077668288e0c217ddc6e21041987db498607f682b1de44a638f7e80201c95f318aaaf44b0704580b8b9fe6b45f87
+AUX gearmand.init.d.2 3206 SHA256 339352e70ef502c88024849396f0475314c276ef6bf1393e02e847f685f10fc3 SHA512 33d2208e668d060948715faa193b021603679ef6e870a80fbd666256a1d2a49ad709bf7efd94bd00fc8b96373feb34ea12c1212ac42b0d2f99fbbe369fa34175 WHIRLPOOL 8fa84e4ef802f8e9de81170eaacf5aaab0e8ca84118883f5e67237aef1ad815bb94ceed179562f02bf67a2ca6d931611624aa4856a34196b9ebe4edda1a39827
+DIST gearmand-0.34.tar.gz 842579 SHA256 968d701233f2376060274a69fa7c1b8e99f34b454a401805a2bd62067c13bca1 SHA512 8263cd19337f56cb692209efb4867b54954081a907c109b4828c1a7dfd8e1dec803f9c06e0f09e1ec6cc4271299bf77bcd5069b765647b31559480b4e7e756ba WHIRLPOOL 19e3c8b6e5f5c4edb15413901fb9c250a3d85a4ad0f9a13a7e3165732733c6e8e1072be593ba0820cd34e837e83638464b079dd9c840ffb336d67aee13a6bd86
+EBUILD gearmand-0.34-r1.ebuild 2604 SHA256 429bd02fd13307ba70f89072ff8d396ce541d216c7e849a6fa0938b98af65f7f SHA512 02ddf427124ca3ee407854c10e53555c0ad5347f5eb12a8f0d66e4da96028e387972d07e8aaa2b27499d8f29ec492186032e08f96193c55beb3b5bc3afa47d14 WHIRLPOOL 394cf2e22af3bd1798322288cc51cca5bb8c808ea457cabae5e5a3212232fe74994b96d5a2c6fee8c130c304ba1ebc00856340b434ba35423e5bf416691d92a1
+MISC ChangeLog 3367 SHA256 b48873f9d77c5dd09f6b5b4a2e0ec680b5b3426d00c471e3fdd433698c21d859 SHA512 6658519e1c16cf6526599e04938ac285abf5d62a562d45c49f600ea49abf9e457c493df02f7d0bdc19139c85df2d9e660dc8df9c0bf8e5408074f04b09011c69 WHIRLPOOL 61665bab745f8866c2037143d14927ad174ae0d9c7f53c46557306f2b04bbddc31bad11db7cc6165877207d35615e32971d5a8570b50f34c7f5629e1974e48eb
+MISC ChangeLog-2015 4641 SHA256 9694e863de408970bef7561099c4ab2b11c3b04bad9b56dba25409f90f2eb606 SHA512 5c55b6cacad1db3879a857c0409b493f0d335d150ba333de69510038084a3b195ea6c36da3e594e9b93ed7ef0d05116e17601f3a611d71f76f0bbda0cd1b1293 WHIRLPOOL 2fd708c5797491ed1ace35f5bca86777e409710c092d14b23ddef76544a20b243e8b362bf7205933b51462cd49da788340ce7d8c574041c0554e6ac9b5f5df46
+MISC metadata.xml 513 SHA256 d7ede013c4b13941d7f92eab71b253b77846ca922a8431704b7ba2d9b5498932 SHA512 ed6ea7bdac5ed5e46e2f620881681807d9096299a0fe702abe11093cbddb70e3660b29a5bac30b003dcf4003ad455d431ba4e88eb7d5e939273a8049d74705e6 WHIRLPOOL 4dc854f6f6b9277771510bcd8300083fde7821c4f789c8283e6c88e6fc8b2ce54dbf544a11d032521b2135445f2977920b512fd958a4ffd3b468c5edaaccf9e5
diff --git a/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch b/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch
new file mode 100644
index 000000000000..37d2db62741d
--- /dev/null
+++ b/sys-cluster/gearmand/files/gearmand-0.34-stdbool-h.patch
@@ -0,0 +1,26 @@
+Ignore configure checks and include stdbool.h
+unconditionally, we're in 2016.
+
+--- gearmand-0.34/libhostile/called.c
++++ gearmand-0.34/libhostile/called.c
+@@ -41,6 +41,7 @@
+ #include <assert.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <stdbool.h>
+
+ __thread bool is_called_= false;
+ static __thread char** unique_ptr= NULL;
+--- gearmand-0.34/libhostile/called.h
++++ gearmand-0.34/libhostile/called.h
+@@ -36,9 +36,7 @@
+
+ #pragma once
+
+-#ifdef HAVE_STDBOOL_H
+-# include <stdbool.h>
+-#endif
++#include <stdbool.h>
+
+ bool is_called(void);
+ void set_called();
diff --git a/sys-cluster/gearmand/files/gearmand.conf.d b/sys-cluster/gearmand/files/gearmand.conf.d
new file mode 100644
index 000000000000..aeb49d5c6b9e
--- /dev/null
+++ b/sys-cluster/gearmand/files/gearmand.conf.d
@@ -0,0 +1,39 @@
+# /etc/conf.d/gearmand: config file for /etc/init.d/gearmand
+
+# Persistent queue store
+# The following queue stores are available:
+# drizzle|memcache|mysql|postgre|sqlite|tokyocabinet|none
+# If you do not wish to use persistent queues, leave this option commented out.
+# Note that persistent queue mechanisms are mutally exclusive.
+#PERSISTENT=""
+
+# Persistent queue settings for drizzle, mysql and postgre
+#PERSISTENT_SOCKET=""
+#PERSISTENT_HOST=""
+#PERSISTENT_PORT=""
+#PERSISTENT_USER=""
+#PERSISTENT_PASS=""
+#PERSISTENT_DB=""
+#PERSISTENT_TABLE=""
+
+# Persistent queue settings for sqlite
+#PERSISTENT_FILE=""
+
+# Persistent queue settings for memcache
+#PERSISTENT_SERVERLIST=""
+
+# General settings
+#
+# -j, --job-retries=RETRIES Number of attempts to run the job before the job
+# server removes it. Thisis helpful to ensure a bad
+# job does not crash all available workers. Default
+# is no limit.
+# -L, --listen=ADDRESS Address the server should listen on. Default is
+# INADDR_ANY.
+# -p, --port=PORT Port the server should listen on. Default=4730.
+# -r, --protocol=PROTOCOL Load protocol module.
+# -t, --threads=THREADS Number of I/O threads to use. Default=0.
+# -v, --verbose Increase verbosity level by one.
+# -w, --worker-wakeup=WORKERS Number of workers to wakeup for each job received.
+# The default is to wakeup all available workers.
+GEARMAND_PARAMS=""
diff --git a/sys-cluster/gearmand/files/gearmand.init.d.2 b/sys-cluster/gearmand/files/gearmand.init.d.2
new file mode 100644
index 000000000000..48d19bd1dc8b
--- /dev/null
+++ b/sys-cluster/gearmand/files/gearmand.init.d.2
@@ -0,0 +1,78 @@
+#!/sbin/openrc-run
+# Copyright 2009-2012 Pavel Stratil, senbonzakura.eu
+# Distributed under the terms of the MIT license
+
+pidfile=/var/run/gearmand/gearmand.pid
+command=/usr/sbin/gearmand
+
+depend() {
+ use localmount
+
+ case $PERSISTENT in
+ drizzle)
+ use drizzle
+ ;;
+ memcache)
+ use memcache
+ ;;
+ mysql)
+ use mysql
+ ;;
+ postgre)
+ use postgresql
+ ;;
+ *)
+ ;;
+ esac
+}
+
+start() {
+ case ${PERSISTENT:-none} in
+ drizzle|mysql)
+ GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libdrizzle"
+ [ ${PERSISTENT_HOST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-host=${PERSISTENT_HOST}"
+ [ ${PERSISTENT_USER} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-user=${PERSISTENT_USER}"
+ [ ${PERSISTENT_PASS} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-password=${PERSISTENT_PASS}"
+ [ ${PERSISTENT_DB} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-db=${PERSISTENT_DB}"
+ [ ${PERSISTENT_TABLE} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-table=${PERSISTENT_TABLE}"
+ [ ${PERSISTENT_PORT} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-port=${PERSISTENT_PORT}"
+ [ ${PERSISTENT_SOCKET} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-uds=${PERSISTENT_SOCKET}"
+ [ ${PERSISTENT} == "mysql" ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libdrizzle-mysql"
+ ;;
+ memcache)
+ [ ${PERSISTENT_SERVERLIST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libmemcached --libmemcached-servers=${PERSISTENT_SERVERLIST}"
+ ;;
+ postgre)
+ GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libpq"
+ [ ${PERSISTENT_HOST} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-host=${PERSISTENT_HOST}"
+ [ ${PERSISTENT_USER} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-user=${PERSISTENT_USER}"
+ [ ${PERSISTENT_PASS} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-password=${PERSISTENT_PASS}"
+ [ ${PERSISTENT_DB} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-dbname=${PERSISTENT_DB}"
+ [ ${PERSISTENT_PORT} ] && GEARMAND_PARAMS="${GEARMAND_PARAMS} --libpq-port=${PERSISTENT_PORT}"
+ [ ${PERSISTENT_TABLE} ] && ewarn "Libpq doesn't recognise 'table' parameter."
+ [ ${PERSISTENT_SOCKET} ] && ewarn "Libpq doesn't recognise 'socket' parameter. If no host is set, it automatically falls back to a socket."
+ ;;
+ tokyocabinet)
+ GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libtokyocabinet --libtokyocabinet-file=${PERSISTENT_FILE}"
+ ;;
+ sqlite)
+ GEARMAND_PARAMS="${GEARMAND_PARAMS} -q libsqlite3 --libsqlite3-db=${PERSISTENT_FILE}"
+ ;;
+ none)
+ ;;
+ *)
+ eerror "Wrong persistent queue store setting in /etc/conf.d/gearmand."
+ return 1
+ ;;
+ esac
+
+
+ checkpath -d -m 0755 -o gearmand:nogroup /var/run/gearmand /var/log/gearmand
+
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --pidfile /var/run/gearmand/gearmand.pid --start \
+ --exec /usr/sbin/gearmand -- --pid-file=/var/run/gearmand/gearmand.pid \
+ --user=gearmand --daemon \
+ --log-file=/var/log/gearmand/gearmand.log ${GEARMAND_PARAMS}
+ eend $?
+}
diff --git a/sys-cluster/gearmand/gearmand-0.34-r1.ebuild b/sys-cluster/gearmand/gearmand-0.34-r1.ebuild
new file mode 100644
index 000000000000..846d47261961
--- /dev/null
+++ b/sys-cluster/gearmand/gearmand-0.34-r1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils eutils flag-o-matic libtool user
+
+DESCRIPTION="Generic framework to farm out work to other machines"
+HOMEPAGE="http://www.gearman.org/"
+SRC_URI="https://launchpad.net/gearmand/trunk/${PV}/+download/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug tcmalloc +memcache sqlite tokyocabinet postgres"
+
+RDEPEND="dev-libs/libevent
+ >=dev-libs/boost-1.39:=[threads(+)]
+ || ( >=sys-apps/util-linux-2.16 <sys-libs/e2fsprogs-libs-1.41.8 )
+ tcmalloc? ( dev-util/google-perftools )
+ memcache? ( >=dev-libs/libmemcached-0.47 )
+ sqlite? ( dev-db/sqlite:3 )
+ tokyocabinet? ( dev-db/tokyocabinet )
+ postgres? ( >=dev-db/postgresql-9.0:* )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ >=sys-devel/boost-m4-0.4_p20160328"
+
+pkg_setup() {
+ enewuser gearmand -1 -1 /dev/null nogroup
+}
+
+src_prepare() {
+ # fixes bug 574558, which is due to an outdated bundled boost.m4
+ rm m4/boost.m4 || die
+ sed -i -e 's/AM_INIT_AUTOMAKE.*//g' m4/pandora_canonical.m4 || die
+ epatch -p1 "${FILESDIR}/${P}-stdbool-h.patch"
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable memcache libmemcached)
+ $(use_enable tcmalloc)
+ $(use_enable tokyocabinet libtokyocabinet)
+ $(use_with postgres postgresql)
+ $(use_with sqlite sqlite3)
+ --disable-mtmalloc
+ --disable-static
+ )
+
+ # Don't ever use --enable-assert since configure.ac is broken, and
+ # only does --disable-assert correctly.
+ if use debug; then
+ # Since --with-debug would turn off optimisations as well as
+ # enabling debug, we just enable debug through the
+ # preprocessor then.
+ append-cppflags -DDEBUG
+ fi
+
+ # Explicitly enable c++11 mode
+ append-cxxflags -std=c++11
+
+ autotools-utils_src_configure
+}
+
+src_test() {
+ # Since libtool is stupid and doesn't discard /usr/lib64 from the
+ # load path, we'd end up testing against the installed copy of
+ # gearmand (bad).
+ #
+ # We thus cheat and "fix" the scripts by hand.
+ sed -i -e '/LD_LIBRARY_PATH=/s|/usr/lib64:||' "${BUILD_DIR}"/tests/*_test \
+ || die "test fixing failed"
+
+ autotools-utils_src_test
+}
+
+DOCS=( README AUTHORS ChangeLog )
+
+src_install() {
+ autotools-utils_src_install
+
+ newinitd "${FILESDIR}"/gearmand.init.d.2 gearmand
+ newconfd "${FILESDIR}"/gearmand.conf.d gearmand
+}
+
+pkg_postinst() {
+ elog ""
+ elog "Unless you set the PERSISTENT_TABLE option in"
+ elog "/etc/conf.d/gearmand, Gearmand will use table 'queue'."
+ elog "If such table doesn't exist, Gearmand will create it for you"
+ elog ""
+}
diff --git a/sys-cluster/gearmand/metadata.xml b/sys-cluster/gearmand/metadata.xml
new file mode 100644
index 000000000000..d08fb72aef86
--- /dev/null
+++ b/sys-cluster/gearmand/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+ <use>
+ <flag name="memcache">
+ Support memcache daemon (via <pkg>dev-libs/libmemcached</pkg>)
+ for the queue storage.
+ </flag>
+ <flag name="tokyocabinet">
+ Support <pkg>dev-db/tokyocabinet</pkg> for the queue storage.
+ </flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">gearmand</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/glusterfs/Manifest b/sys-cluster/glusterfs/Manifest
new file mode 100644
index 000000000000..5c6f69086103
--- /dev/null
+++ b/sys-cluster/glusterfs/Manifest
@@ -0,0 +1,22 @@
+AUX 50glusterfs-mode-gentoo.el 169 SHA256 2467d044665d16dd95f78f7a7a104099ce00849cd0a2a86b110fe4c91b316a9d SHA512 f90b3f49f53c08db5596a6795df64a834b390602a79fb79b56f6cfb6191c7ca8ce2bedd2885d049575e26cc3b321f80e2786e99055c02682f4fbf454d5ed5804 WHIRLPOOL fb4abfc0c07ddc8805430446bd901b95a9951f53711da647e87ea8c26bece8ed9c7bb17b33cfa9b114ba2a64a055f275202d520cf37ee0c178d005d07ff80173
+AUX glusterd-r2.initd 749 SHA256 d060ffbc9c2233d786a0b0dc224518ef3de15a8c69b2b3bf8c7449a18eb366e3 SHA512 90b2ab62bd69f0a6f4ef9596ea4b287524650821251ff9cf6fe43f7f362e359c43615fd5ba68d4b5589af1a3e712a91cab69bb95b363b4e20efdf9e02a5e1e6a WHIRLPOOL ec91d20794d04ec04288742329315e7d16b3fd775f20002fb321e29d8c6d05c50f37664752b4b8a016b2f29587bc2ecdf2b326370849784d2c479278621b3fe9
+AUX glusterfs-3.4.0-silent_rules.patch 553 SHA256 08a55b2f54050ad47dae1a953fc1f1410842556bf2464ab15e7df9019ab24de5 SHA512 67fe230a667084f30960d4ed79f58c7da93edde086ca8614cb3f7160901cb87da471cce932cfae470033c5dfc92b00ed69fd0e32238bc0e9af770e1946f511ce WHIRLPOOL e596ee4c6fae6cb7f843501b55e832791d612547f81d5e6adf4e96ea8cc4fc20fd71d5164f7fe42a74ed0b8e7036643cd5b684317f98bfd610b91dbe4c4c3684
+AUX glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch 2145 SHA256 10b0ad92f61996f7ca0e0bf12b383813c4cd2013d95d8b6e1ab53a18853a9e05 SHA512 22d4ead173579698a23b7d66e566e61410e5bc0178b1dc0b7346b18d7e8cf33a44873b83a09e6dab32b06e7df8285da4bb7eb730626c61c1b3d28e9e8ce86f00 WHIRLPOOL e8e5572a5861478c718cd0b89c74159e3b13f6ef204eb3e3b2d8af8ddd296bc71469648ae957f0dd4e18de187e6fcd3e1910ea9ec5a707b78f61af8c88c9bb9b
+AUX glusterfs-3.6.5-build-shared-only.patch 27261 SHA256 b2d73ffb27f07bf762e8f67bdbbbdd3a7eef62049ec346a2ab84a9171e55c053 SHA512 cbaa02845022cb32aab1e419d13f8291b59aa6de78ccdd944af52d05defcd4ae9bb891c0f303f7d4870056e0777d70507b137aa9e38a4a13a267925a3cbc0277 WHIRLPOOL ab0b75e36a0f3011618e87dc9490471c9a759cd65985074a3046be5bb3609830018ca50d82de4db8b783424c46768d4b2fe0c906271cb5e2a01fec264b0f26e1
+AUX glusterfs-r1.initd 3065 SHA256 27f83981f096bad8ac3d345d8c71249e2bf84b3757d6cdb63c9a690933aa9218 SHA512 28c5f401b2ff017d8faf7b290fa265cc5f1a9d60edf11dbae5801e943e7e0833fa8267880efa80c4fc07048d75afd446808c583d2b62a6c5a6bde25d317bde97 WHIRLPOOL 585fe5a24a32b553c6d38fab92a6cdfd42cdee7aad039314fdb9d4d5cbca36583b2a4025c85bb2c64b84c713f129dc051bba37a37153af59f0740e7a73bc13a1
+AUX glusterfs.confd 129 SHA256 a9023ba1112ceb4597c654228f0beb0053ed695aeb32c65e0749a7157fab563d SHA512 657c478dd3a60c144543821acd6a87f804d258d4679007aad5108790449e43eda7e0de8e8c0c8e13357a35afbb0d09065423101e5234285a9b96c9ac8b2e33b4 WHIRLPOOL 114f076456845087bf4dc28fb179cfea335f5f03b1d16098d836b5b0487c46fba4ee48d0bfab8cff7b2326b9585b327271d5c1d402db8289cafdf29f70ac063d
+AUX glusterfs.logrotate 611 SHA256 ec29f5830f6108fca793d6ac90bb49e644a991a073a736ccb76fd05f9a9f60a2 SHA512 568728fe77acecb686286b0be6c086fe3448d054d26da15c3846726a8f845ae963e6756c517b413a9eb4d6b646c61972887a35e89846d2d90d364b755e471791 WHIRLPOOL 10ced84d8035e3e7e5aaa013cd7c0c9761999e8ddca41ff2df3ed2be7a78add579d5c2b17a27b86d9a6fafdb607b9d175725208af72585d9fdc66b3bdb5fed3d
+AUX glusterfs.vim 139 SHA256 f214c1c8a01c9184b535fa7ae307200a8a1dc83fd42e92bdd57a7b1cae1dc099 SHA512 6ea3b56b71d7e206a57611dd68160b6b9242a19b5c927560f60881dc28d250f7958c50f788a7b9a41fb46010fdac2d67a8289b909ed1f05b793c900f37ccbfb7 WHIRLPOOL 3006d9fea924fe274ac00dc5d711cfe642f347808889c3d5dbde764f0f0cd2ab27509fa75d37b95ccd98c33bc1db8d082e5d16a26e0f888b7189f9738b6ff963
+DIST glusterfs-3.10.1.tar.gz 8926368 SHA256 d3c23df3299964efe6b688c94ddde258506ecf173b58e8c07fa18d470bb21517 SHA512 35acf10d37db7ca9cf7d88e4eabcac4febdccfe15cbe68df86c44042987547f3a56447a1ced5ed238d171efdbcb97dd1fc6917283641bdcd7d476deb37ad0871 WHIRLPOOL 7ce3b5cbe136b1d09b4c0c062decf0d9c5bba03f9b7249648e886ceff758061e73863c9f6d82ed2de3fc41546950ee08c022683174283dc03201c12d61d295aa
+DIST glusterfs-3.6.5.tar.gz 6091408 SHA256 20d912ef35fb8350c50c39c15134a3558ee90d012203f049799c8eb67a61fd2a SHA512 7ca41855239818fc4c84cdb86e1f1d39502e781d5117a5ee50ea134f03f0823a8640ee9bda28f05463e8504aba9ddb12ac72e118f0ce7c3755c083033f5677ca WHIRLPOOL 9fc0592052d976d65fcc769c69d910fa6d909695162bccf80c1e799a2c54c531ab03a4afd3788951c231a214a22e5f8bb3613a83277858627425b86fd532ab5e
+DIST glusterfs-3.7.4.tar.gz 7552110 SHA256 f98f448117d1de7666ae425eddd8d7d87b02c57f6627234ce96ba60566f47173 SHA512 f9a281f3a37835f9f54679740ddb19b307babe576a8f14c9ef24d256f483789c227d7e7c5b0ed4ef5c13a257bcf00d0c17b6108fa60c5e45d0175df6e236b3a5 WHIRLPOOL 7b0320936de078234228cb691f3e381da3cc89c638d6246aba63695aa36cb114afca6e53d12d23de441b8da0b3a594ac1702b450d5d14720254af73e689c4ab8
+DIST glusterfs-3.8.11.tar.gz 8544971 SHA256 2285c02f9449168eabeaa7b72706e80f3de659eb685293dd899c71c33798702e SHA512 61cadc567a73403c78eac5e472aadd1457053be936042ea1218c172760376b026152e84b4ca15a0c249524347d434cc7d35c3a73f4d0b01e89c6aec5edcbbb49 WHIRLPOOL 21d4c2da1d281cb03181c21385a62d74c71f24936d2c33da22085accb5fa563b7095757b7df3eb30bf865c37fe683c420756c542d6933c99c0d3f9025c07a217
+DIST glusterfs-3.8.6.tar.gz 8456856 SHA256 5c62c0b66cde74427eacc49cdbda7c84cc8289b38bcda80107adedd24b355715 SHA512 115d65183682587b4e8dd0c3d52f4a43eabbd6968441b7f09db006748890155f6748ceddf7ce80a7481207df7cb2dca6339b77cc7b8bccfc7fe00084ac00b223 WHIRLPOOL 7321468daf15a4ebad158d32328dfe64590cbf0ddcdda4d855a7b8a9849b29fed1c1af58475f8c1ef140f244fc15db57c00170eb477c27854408598bc0a7f6b8
+EBUILD glusterfs-3.10.1.ebuild 6400 SHA256 95dbe210c2c0ca19efab0b50a629a51046136d8c76d14ba4de677c2f7220e7a7 SHA512 da1b1913fb38f583e24f38a09b8c78189a529b75f9a52eaec73c7a8e40f95e50b75b238da84afe0875518968c5d3015bd786026de5485206af79aef6499d5862 WHIRLPOOL a8335aff33c6747232d7af164e6e21f9855007669106a9f08af1b643fa1373d6889b3d336c2eaf6952402cf97432c868cdff84af4befcf3a89e28d879eb272db
+EBUILD glusterfs-3.6.5.ebuild 5609 SHA256 bfd7872898f9e82244a0d8e0138c790a860efb5d42591ca9619760d9e752d81c SHA512 89629b74afb06c7409375a8c342873840436f6eaccbc4a29800b264090dd31f1dcfa391d77d655a6ecc73ce906a6d7b253e6a9065697ab920ac5e75ea64a1b45 WHIRLPOOL 6a416115a63db0dd41d3b7b442cacf91bdbc8cebd467c49236afb4467aeb42c49bcdd3acdac17804816b88f80c7c4a4b7e2d3c90dd7daa0ebfe63ddb04d01e4e
+EBUILD glusterfs-3.7.4.ebuild 6268 SHA256 2071435b4071e7ce43e814a1d97beedbec5508ec4afabfd1c4f29d92b549859c SHA512 3dbcb7f16578ef39bc4e98dd7a29288017710ffc292885c46e5fa79193084f990965234f325f250e4577d1188ca2aaf24cdb92607a2ff0bb2fab768958452ec3 WHIRLPOOL 9b419c65f5a8cf7a632e95910fa31deaa5dcd4ffebc473e9053b8d04c55be30f6e7466889eeee15a3229acd73b1f3f9e571856e1cbf5143f2b2adca80d3a60d1
+EBUILD glusterfs-3.8.11.ebuild 6364 SHA256 7bdcfc483a1c112ea8a14c28704a29aafff20e5a5f854d738c60587c35c1ac2d SHA512 ddc4360288b35815688e87c4efc4e818cde0dede9bee87f7b816ed3e9ec2db524d86224488ece231e7fc2055cb75baf6b78c538648460c575c3cab27a84241f6 WHIRLPOOL ce429a4a2c269a138a5e6836bdad5b436a627b122667166b4ec0b647f81b7ef9bea3ff290a079196415a0ae41f99108a00d147b9c422f71effb5ee3b5dbf3e60
+EBUILD glusterfs-3.8.6.ebuild 6364 SHA256 13fb1a0b68e3e9ec2bf21db45507c85429218eb5efe40a959c8004a5539225fe SHA512 81c0138c8f57c2dd7847ec4fdb656d5f914326247311238a0c074f9b4971da51f879aa48232347a4fe4166400b5a1f0278835768121f41f962617ecae701e28d WHIRLPOOL c735f23fe4ec09d05216131d4bb9c3e706c43b99c704f6da07385fe462bad87e57d2d5adf0dc5309ddd6a20aa9345a4bb09edf21739caf1d19d40a03007e4787
+MISC ChangeLog 6150 SHA256 fcbcb51a9d04ebc618a65318ec6daa35b75c23a08877c29f3c5871bbe6794d97 SHA512 e34470d15f9ce97065930bc1f66699a109dc19596e8c5a2d385b0d147d7bd72c1280c671acfd77323c2362038f86308fbf1666d5813192d68eab329383f94bad WHIRLPOOL 23a79d7a985877c682b768a8d27be2648539a45b9d6dacbd247a3b30fdf2ed612271125975fa3c12c03fe1214ae1c4db7632f5717f4779986404389974f3897a
+MISC ChangeLog-2015 13118 SHA256 3f2fc34fd7488b5f2e18938d8a28de4957e49b44cb991fb7a80828f5ecdc9edc SHA512 8bb7b4468f1c463139ca6e6eabc0138b97919916e050544f0b6a04a118d3eb8b537ba0b96edfc5abec57b658d43e1b76bd7ed7ba791e61582c01d8054a3a3638 WHIRLPOOL 86d1b7db8250fdfcf1de04d8f012c88cae85956e42c2204f47f8e9425adcd24f5e4a8754011877ed7b3e0e85c9d1bac24c94764ee8645d44f07595745958cfc4
+MISC metadata.xml 1597 SHA256 93d9d498f988d3a43443b7da28bf4262a31d533221f50e7567037066805a3896 SHA512 104b849956d92360dc9abe1ecd411ebe07bcdd2adb85872b052aee373d3ebb7232ab1add62864a4c7206e8f9fbcc6b29e76d0286852b4423d5e4cc8970dd07f8 WHIRLPOOL d3c67112d95cc7763442cee45cea5d9c6b0541016161cb9d5ae5b2edab335c4a8e4e264c77a3c594ba2d9042446e03ba33209a4d66c3b66cd549e706af99b643
diff --git a/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el
new file mode 100644
index 000000000000..c14b0d8de33b
--- /dev/null
+++ b/sys-cluster/glusterfs/files/50glusterfs-mode-gentoo.el
@@ -0,0 +1,5 @@
+
+;;; puppet-mode site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'glusterfs-mode "glusterfs-mode" "Major mode for editing glusterfs manifests")
diff --git a/sys-cluster/glusterfs/files/glusterd-r2.initd b/sys-cluster/glusterfs/files/glusterd-r2.initd
new file mode 100644
index 000000000000..924939400f30
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterd-r2.initd
@@ -0,0 +1,32 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Gluster elastic volume management daemon"
+command="/usr/sbin/glusterd"
+pidfile="/var/run/${SVCNAME}.pid"
+command_args="-N"
+
+command_background="yes"
+
+depend() {
+ need net
+ before netmount
+}
+
+start_pre() {
+ # Ensure that the GlusterFS auxiliary mount parent directory exists
+ checkpath --directory --owner root:root --mode 0700 /var/run/gluster
+}
+
+start_post() {
+ local c=0
+ ebegin "Waiting for glusterd to start up"
+ while ! /usr/sbin/gluster volume list &>/dev/null && [ "${c}" -lt "${glusterd_max_wait_start-60}" ]; do
+ (( ++c ))
+ done
+ [ "${c}" -lt "${glusterd_max_wait_start-60}" ]
+ eend $?
+
+ return 0
+}
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch
new file mode 100644
index 000000000000..1b79e0d079e4
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.4.0-silent_rules.patch
@@ -0,0 +1,23 @@
+--- configure.ac 2013-07-12 19:43:26.000000000 +0200
++++ configure.ac2 2013-07-25 13:58:48.294091861 +0200
+@@ -10,20 +10,6 @@
+
+ AM_INIT_AUTOMAKE
+
+-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES(yes)])
+-
+-if make --help 2>&1 | grep -q no-print-directory; then
+- AM_MAKEFLAGS="$AM_MAKEFLAGS --no-print-directory";
+-fi
+-
+-if make --help 2>&1 | grep -q quiet; then
+- AM_MAKEFLAGS="$AM_MAKEFLAGS --quiet"
+-fi
+-
+-if libtool --help 2>&1 | grep -q quiet; then
+- AM_LIBTOOLFLAGS="--quiet";
+-fi
+-
+ AC_CONFIG_HEADERS([config.h])
+
+ AC_CONFIG_FILES([Makefile
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch
new file mode 100644
index 000000000000..5c4df0c97025
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch
@@ -0,0 +1,54 @@
+From 8bfe3752c3a0a4db49a879048cdd089da6c45ed0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tiziano=20M=C3=BCller?= <tm@dev-zero.ch>
+Date: Thu, 26 Jun 2014 19:04:54 +0200
+Subject: [PATCH] Add libraries using LIBADD instead of LDFLAGS
+
+---
+ xlators/encryption/crypt/src/Makefile.am | 6 +++---
+ xlators/features/compress/src/Makefile.am | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am
+index b13f650..d7ebac6 100644
+--- a/xlators/encryption/crypt/src/Makefile.am
++++ b/xlators/encryption/crypt/src/Makefile.am
+@@ -3,10 +3,10 @@ if ENABLE_CRYPT_XLATOR
+ xlator_LTLIBRARIES = crypt.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
+
+-crypt_la_LDFLAGS = -module -avoid-version -lssl -lcrypto
++crypt_la_LDFLAGS = -module -avoid-version
+
+ crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c
+-crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
++crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto
+
+ noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h
+
+@@ -21,4 +21,4 @@ else
+ noinst_DIST = keys.c data.c metadata.c atom.c crypt.c
+ noinst_HEADERS = crypt-common.h crypt-mem-types.h crypt.h metadata.h
+
+-endif
+\ No newline at end of file
++endif
+diff --git a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am
+index 0bf757c..d3abe03 100644
+--- a/xlators/features/compress/src/Makefile.am
++++ b/xlators/features/compress/src/Makefile.am
+@@ -4,10 +4,10 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+ noinst_HEADERS = cdc.h cdc-mem-types.h
+
+-cdc_la_LDFLAGS = -module -avoid-version $(LIBZ_LIBS)
++cdc_la_LDFLAGS = -module -avoid-version
+
+ cdc_la_SOURCES = cdc.c cdc-helper.c
+-cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
++cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS)
+
+ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src -fPIC -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D$(GF_HOST_OS) \
+ -shared -nostartfiles $(LIBZ_CFLAGS)
+--
+1.9.2
+
diff --git a/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch
new file mode 100644
index 000000000000..af5332bc9b1e
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-3.6.5-build-shared-only.patch
@@ -0,0 +1,547 @@
+diff -ur a/rpc/rpc-transport/rdma/src/Makefile.am b/rpc/rpc-transport/rdma/src/Makefile.am
+--- a/rpc/rpc-transport/rdma/src/Makefile.am 2015-08-28 10:56:17.750192744 +0200
++++ b/rpc/rpc-transport/rdma/src/Makefile.am 2015-08-28 11:00:36.322686236 +0200
+@@ -3,7 +3,7 @@
+ transport_LTLIBRARIES = rdma.la
+ transportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport
+
+-rdma_la_LDFLAGS = -module -avoid-version -nostartfiles
++rdma_la_LDFLAGS = -module -avoid-version -nostartfiles -shared
+
+ rdma_la_SOURCES = rdma.c name.c
+ rdma_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+Only in b/rpc/rpc-transport/rdma/src: Makefile.am.orig
+Only in b/rpc/rpc-transport/rdma/src: Makefile.am.rej
+diff -ur a/rpc/rpc-transport/socket/src/Makefile.am b/rpc/rpc-transport/socket/src/Makefile.am
+--- a/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:56:17.750192744 +0200
++++ b/rpc/rpc-transport/socket/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -3,7 +3,7 @@
+ rpctransport_LTLIBRARIES = socket.la
+ rpctransportdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/rpc-transport
+
+-socket_la_LDFLAGS = -module -avoid-version
++socket_la_LDFLAGS = -module -avoid-version -shared
+
+ socket_la_SOURCES = socket.c name.c
+ socket_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl
+diff -ur a/xlators/cluster/afr/src/Makefile.am b/xlators/cluster/afr/src/Makefile.am
+--- a/xlators/cluster/afr/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/cluster/afr/src/Makefile.am 2015-08-28 11:01:31.603219323 +0200
+@@ -10,11 +10,11 @@
+ afr-self-heal-entry.c afr-self-heal-metadata.c afr-self-heald.c \
+ afr-self-heal-name.c
+
+-afr_la_LDFLAGS = -module -avoid-version
++afr_la_LDFLAGS = -module -avoid-version -shared
+ afr_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) afr.c
+ afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-pump_la_LDFLAGS = -module -avoid-version
++pump_la_LDFLAGS = -module -avoid-version -shared
+ pump_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) pump.c
+ pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+Only in b/xlators/cluster/afr/src: Makefile.am.orig
+Only in b/xlators/cluster/afr/src: Makefile.am.rej
+diff -ur a/xlators/cluster/dht/src/Makefile.am b/xlators/cluster/dht/src/Makefile.am
+--- a/xlators/cluster/dht/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/cluster/dht/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -11,13 +11,13 @@
+ nufa_la_SOURCES = $(dht_common_source) nufa.c
+ switch_la_SOURCES = $(dht_common_source) switch.c
+
+-dht_la_LDFLAGS = -module -avoid-version
++dht_la_LDFLAGS = -module -avoid-version -shared
+ dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-nufa_la_LDFLAGS = -module -avoid-version
++nufa_la_LDFLAGS = -module -avoid-version -shared
+ nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-switch_la_LDFLAGS = -module -avoid-version
++switch_la_LDFLAGS = -module -avoid-version -shared
+ switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+ noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h dht-helper.h \
+Only in b/xlators/cluster/dht/src: Makefile.am.orig
+diff -ur a/xlators/cluster/stripe/src/Makefile.am b/xlators/cluster/stripe/src/Makefile.am
+--- a/xlators/cluster/stripe/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/cluster/stripe/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = stripe.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster
+
+-stripe_la_LDFLAGS = -module -avoid-version
++stripe_la_LDFLAGS = -module -avoid-version -shared
+
+ stripe_la_SOURCES = stripe.c stripe-helpers.c \
+ $(top_builddir)/xlators/lib/src/libxlator.c
+Only in b/xlators/cluster/stripe/src: Makefile.am.orig
+diff -ur a/xlators/debug/error-gen/src/Makefile.am b/xlators/debug/error-gen/src/Makefile.am
+--- a/xlators/debug/error-gen/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/debug/error-gen/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = error-gen.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+
+-error_gen_la_LDFLAGS = -module -avoid-version
++error_gen_la_LDFLAGS = -module -avoid-version -shared
+
+ error_gen_la_SOURCES = error-gen.c
+ error_gen_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/debug/io-stats/src/Makefile.am b/xlators/debug/io-stats/src/Makefile.am
+--- a/xlators/debug/io-stats/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/debug/io-stats/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = io-stats.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+
+-io_stats_la_LDFLAGS = -module -avoid-version
++io_stats_la_LDFLAGS = -module -avoid-version -shared
+
+ io_stats_la_SOURCES = io-stats.c
+ io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/debug/trace/src/Makefile.am b/xlators/debug/trace/src/Makefile.am
+--- a/xlators/debug/trace/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/debug/trace/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = trace.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
+
+-trace_la_LDFLAGS = -module -avoid-version
++trace_la_LDFLAGS = -module -avoid-version -shared
+
+ trace_la_SOURCES = trace.c
+ trace_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am
+--- a/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:18:28.073021439 +0200
++++ b/xlators/encryption/crypt/src/Makefile.am 2015-08-28 11:16:28.051864039 +0200
+@@ -3,7 +3,7 @@
+ xlator_LTLIBRARIES = crypt.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
+
+-crypt_la_LDFLAGS = -module -avoid-version
++crypt_la_LDFLAGS = -module -avoid-version -shared
+
+ crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c
+ crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto
+Only in b/xlators/encryption/crypt/src: Makefile.am.orig
+Only in b/xlators/encryption/crypt/src: Makefile.am.rej
+diff -ur a/xlators/encryption/rot-13/src/Makefile.am b/xlators/encryption/rot-13/src/Makefile.am
+--- a/xlators/encryption/rot-13/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/encryption/rot-13/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = rot-13.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
+
+-rot_13_la_LDFLAGS = -module -avoid-version
++rot_13_la_LDFLAGS = -module -avoid-version -shared
+
+ rot_13_la_SOURCES = rot-13.c
+ rot_13_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/changelog/src/Makefile.am b/xlators/features/changelog/src/Makefile.am
+--- a/xlators/features/changelog/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/changelog/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -5,7 +5,7 @@
+ noinst_HEADERS = changelog-helpers.h changelog-mem-types.h changelog-rt.h \
+ changelog-misc.h changelog-encoders.h changelog-notifier.h
+
+-changelog_la_LDFLAGS = -module -avoid-version
++changelog_la_LDFLAGS = -module -avoid-version -shared
+
+ changelog_la_SOURCES = changelog.c changelog-rt.c changelog-helpers.c \
+ changelog-encoders.c changelog-notifier.c changelog-barrier.c
+Only in b/xlators/features/changelog/src: Makefile.am.orig
+diff -ur a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am
+--- a/xlators/features/compress/src/Makefile.am 2015-08-28 11:18:28.073021439 +0200
++++ b/xlators/features/compress/src/Makefile.am 2015-08-28 11:17:19.492360095 +0200
+@@ -4,7 +4,7 @@
+
+ noinst_HEADERS = cdc.h cdc-mem-types.h
+
+-cdc_la_LDFLAGS = -module -avoid-version
++cdc_la_LDFLAGS = -module -avoid-version -shared
+
+ cdc_la_SOURCES = cdc.c cdc-helper.c
+ cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBZ_LIBS)
+Only in b/xlators/features/compress/src: Makefile.am.rej
+diff -ur a/xlators/features/gfid-access/src/Makefile.am b/xlators/features/gfid-access/src/Makefile.am
+--- a/xlators/features/gfid-access/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/gfid-access/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = gfid-access.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-gfid_access_la_LDFLAGS = -module -avoid-version
++gfid_access_la_LDFLAGS = -module -avoid-version -shared
+
+ gfid_access_la_SOURCES = gfid-access.c
+ gfid_access_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/index/src/Makefile.am b/xlators/features/index/src/Makefile.am
+--- a/xlators/features/index/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/index/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = index.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-index_la_LDFLAGS = -module -avoid-version
++index_la_LDFLAGS = -module -avoid-version -shared
+
+ index_la_SOURCES = index.c
+ index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/locks/src/Makefile.am b/xlators/features/locks/src/Makefile.am
+--- a/xlators/features/locks/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/locks/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = locks.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-locks_la_LDFLAGS = -module -avoid-version
++locks_la_LDFLAGS = -module -avoid-version -shared
+
+ locks_la_SOURCES = common.c posix.c entrylk.c inodelk.c reservelk.c \
+ clear.c
+diff -ur a/xlators/features/mac-compat/src/Makefile.am b/xlators/features/mac-compat/src/Makefile.am
+--- a/xlators/features/mac-compat/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/mac-compat/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = mac-compat.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-mac_compat_la_LDFLAGS = -module -avoid-version
++mac_compat_la_LDFLAGS = -module -avoid-version -shared
+
+ mac_compat_la_SOURCES = mac-compat.c
+ mac_compat_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/marker/src/Makefile.am b/xlators/features/marker/src/Makefile.am
+--- a/xlators/features/marker/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/marker/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = marker.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-marker_la_LDFLAGS = -module -avoid-version
++marker_la_LDFLAGS = -module -avoid-version -shared
+
+ marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c marker-common.c
+ marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/protect/src/Makefile.am b/xlators/features/protect/src/Makefile.am
+--- a/xlators/features/protect/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/protect/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,15 +2,15 @@
+
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-prot_dht_la_LDFLAGS = -module -avoid-version
++prot_dht_la_LDFLAGS = -module -avoid-version -shared
+ prot_dht_la_SOURCES = prot_dht.c
+ prot_dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-prot_client_la_LDFLAGS = -module -avoid-version
++prot_client_la_LDFLAGS = -module -avoid-version -shared
+ prot_client_la_SOURCES = prot_client.c
+ prot_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-prot_server_la_LDFLAGS = -module -avoid-version
++prot_server_la_LDFLAGS = -module -avoid-version -shared
+ prot_server_la_SOURCES = prot_server.c
+ prot_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+diff -ur a/xlators/features/qemu-block/src/Makefile.am b/xlators/features/qemu-block/src/Makefile.am
+--- a/xlators/features/qemu-block/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/qemu-block/src/Makefile.am 2015-08-28 11:03:19.464259458 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = qemu-block.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-qemu_block_la_LDFLAGS = -module -avoid-version
++qemu_block_la_LDFLAGS = -module -avoid-version -shared
+ qemu_block_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(GLIB_LIBS) $(ZLIB_LIBS) -lrt
+
+ qemu_block_la_SOURCES_qemu = \
+Only in b/xlators/features/qemu-block/src: Makefile.am.orig
+Only in b/xlators/features/qemu-block/src: Makefile.am.rej
+diff -ur a/xlators/features/quiesce/src/Makefile.am b/xlators/features/quiesce/src/Makefile.am
+--- a/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/quiesce/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = quiesce.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-quiesce_la_LDFLAGS = -module -avoid-version
++quiesce_la_LDFLAGS = -module -avoid-version -shared
+
+ quiesce_la_SOURCES = quiesce.c
+ quiesce_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am
+--- a/xlators/features/quota/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/quota/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,8 +1,8 @@
+ xlator_LTLIBRARIES = quota.la quotad.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
+
+-quota_la_LDFLAGS = -module -avoid-version
+-quotad_la_LDFLAGS = -module -avoid-version
++quota_la_LDFLAGS = -module -avoid-version -shared
++quotad_la_LDFLAGS = -module -avoid-version -shared
+
+ quota_la_SOURCES = quota.c quota-enforcer-client.c
+ quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/features/read-only/src/Makefile.am b/xlators/features/read-only/src/Makefile.am
+--- a/xlators/features/read-only/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/features/read-only/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -4,12 +4,12 @@
+
+ noinst_HEADERS = read-only-common.h
+
+-read_only_la_LDFLAGS = -module -avoid-version
++read_only_la_LDFLAGS = -module -avoid-version -shared
+
+ read_only_la_SOURCES = read-only.c read-only-common.c
+ read_only_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
+-worm_la_LDFLAGS = -module -avoid-version
++worm_la_LDFLAGS = -module -avoid-version -shared
+
+ worm_la_SOURCES = read-only-common.c worm.c
+ worm_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am
+--- a/xlators/mgmt/glusterd/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/mgmt/glusterd/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = glusterd.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt
+ glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) "-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\""
+-glusterd_la_LDFLAGS = -module -avoid-version
++glusterd_la_LDFLAGS = -module -avoid-version -shared
+ if ENABLE_BD_XLATOR
+ glusterd_la_LDFLAGS += -llvm2app
+ endif
+diff -ur a/xlators/mount/fuse/src/Makefile.am b/xlators/mount/fuse/src/Makefile.am
+--- a/xlators/mount/fuse/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/mount/fuse/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -26,7 +26,7 @@
+ fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \
+ $(CONTRIBDIR)/fuse-lib/misc.c $(mount_source)
+
+-fuse_la_LDFLAGS = -module -avoid-version
++fuse_la_LDFLAGS = -module -avoid-version -shared
+ fuse_la_LIBADD = @GF_FUSE_LDADD@
+
+ AM_CPPFLAGS = $(GF_CPPFLAGS) \
+Only in b/xlators/mount/fuse/src: Makefile.am.orig
+diff -ur a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am
+--- a/xlators/nfs/server/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/nfs/server/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = server.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
+ nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src
+-server_la_LDFLAGS = -module -avoid-version
++server_la_LDFLAGS = -module -avoid-version -shared
+ server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \
+ nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \
+ nlmcbk_svc.c mount3udp_svc.c acl3.c
+diff -ur a/xlators/performance/io-cache/src/Makefile.am b/xlators/performance/io-cache/src/Makefile.am
+--- a/xlators/performance/io-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/io-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = io-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-io_cache_la_LDFLAGS = -module -avoid-version
++io_cache_la_LDFLAGS = -module -avoid-version -shared
+
+ io_cache_la_SOURCES = io-cache.c page.c ioc-inode.c
+ io_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/io-threads/src/Makefile.am b/xlators/performance/io-threads/src/Makefile.am
+--- a/xlators/performance/io-threads/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/io-threads/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = io-threads.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-io_threads_la_LDFLAGS = -module -avoid-version
++io_threads_la_LDFLAGS = -module -avoid-version -shared
+
+ io_threads_la_SOURCES = io-threads.c
+ io_threads_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/md-cache/src/Makefile.am b/xlators/performance/md-cache/src/Makefile.am
+--- a/xlators/performance/md-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/md-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = md-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-md_cache_la_LDFLAGS = -module -avoid-version
++md_cache_la_LDFLAGS = -module -avoid-version -shared
+
+ md_cache_la_SOURCES = md-cache.c
+ md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/open-behind/src/Makefile.am b/xlators/performance/open-behind/src/Makefile.am
+--- a/xlators/performance/open-behind/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/open-behind/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = open-behind.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-open_behind_la_LDFLAGS = -module -avoid-version
++open_behind_la_LDFLAGS = -module -avoid-version -shared
+
+ open_behind_la_SOURCES = open-behind.c
+ open_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/quick-read/src/Makefile.am b/xlators/performance/quick-read/src/Makefile.am
+--- a/xlators/performance/quick-read/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/quick-read/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = quick-read.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-quick_read_la_LDFLAGS = -module -avoid-version
++quick_read_la_LDFLAGS = -module -avoid-version -shared
+
+ quick_read_la_SOURCES = quick-read.c
+ quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/read-ahead/src/Makefile.am b/xlators/performance/read-ahead/src/Makefile.am
+--- a/xlators/performance/read-ahead/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/performance/read-ahead/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = read-ahead.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-read_ahead_la_LDFLAGS = -module -avoid-version
++read_ahead_la_LDFLAGS = -module -avoid-version -shared
+
+ read_ahead_la_SOURCES = read-ahead.c page.c
+ read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/readdir-ahead/src/Makefile.am b/xlators/performance/readdir-ahead/src/Makefile.am
+--- a/xlators/performance/readdir-ahead/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/readdir-ahead/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = readdir-ahead.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-readdir_ahead_la_LDFLAGS = -module -avoid-version
++readdir_ahead_la_LDFLAGS = -module -avoid-version -shared
+
+ readdir_ahead_la_SOURCES = readdir-ahead.c
+ readdir_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/symlink-cache/src/Makefile.am b/xlators/performance/symlink-cache/src/Makefile.am
+--- a/xlators/performance/symlink-cache/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/symlink-cache/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = symlink-cache.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/performance
+
+-symlink_cache_la_LDFLAGS = -module -avoid-version
++symlink_cache_la_LDFLAGS = -module -avoid-version -shared
+
+ symlink_cache_la_SOURCES = symlink-cache.c
+ symlink_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/performance/write-behind/src/Makefile.am b/xlators/performance/write-behind/src/Makefile.am
+--- a/xlators/performance/write-behind/src/Makefile.am 2015-08-28 10:56:17.730192551 +0200
++++ b/xlators/performance/write-behind/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = write-behind.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
+
+-write_behind_la_LDFLAGS = -module -avoid-version
++write_behind_la_LDFLAGS = -module -avoid-version -shared
+
+ write_behind_la_SOURCES = write-behind.c
+ write_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/playground/template/src/Makefile.am b/xlators/playground/template/src/Makefile.am
+--- a/xlators/playground/template/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/playground/template/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = template.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
+
+-template_la_LDFLAGS = -module -avoid-version
++template_la_LDFLAGS = -module -avoid-version -shared
+
+ template_la_SOURCES = template.c
+ template_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/auth/addr/src/Makefile.am b/xlators/protocol/auth/addr/src/Makefile.am
+--- a/xlators/protocol/auth/addr/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/protocol/auth/addr/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ auth_LTLIBRARIES = addr.la
+ authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth
+
+-addr_la_LDFLAGS = -module -avoid-version
++addr_la_LDFLAGS = -module -avoid-version -shared
+
+ addr_la_SOURCES = addr.c
+ addr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/auth/login/src/Makefile.am b/xlators/protocol/auth/login/src/Makefile.am
+--- a/xlators/protocol/auth/login/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/protocol/auth/login/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ auth_LTLIBRARIES = login.la
+ authdir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/auth
+
+-login_la_LDFLAGS = -module -avoid-version
++login_la_LDFLAGS = -module -avoid-version -shared
+
+ login_la_SOURCES = login.c
+ login_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+diff -ur a/xlators/protocol/client/src/Makefile.am b/xlators/protocol/client/src/Makefile.am
+--- a/xlators/protocol/client/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/protocol/client/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = client.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
+
+-client_la_LDFLAGS = -module -avoid-version
++client_la_LDFLAGS = -module -avoid-version -shared
+
+ client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+ $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
+diff -ur a/xlators/protocol/server/src/Makefile.am b/xlators/protocol/server/src/Makefile.am
+--- a/xlators/protocol/server/src/Makefile.am 2015-08-28 10:56:17.740192649 +0200
++++ b/xlators/protocol/server/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,7 +1,7 @@
+ xlator_LTLIBRARIES = server.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
+
+-server_la_LDFLAGS = -module -avoid-version
++server_la_LDFLAGS = -module -avoid-version -shared
+
+ server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
+ $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
+diff -ur a/xlators/storage/bd/src/Makefile.am b/xlators/storage/bd/src/Makefile.am
+--- a/xlators/storage/bd/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/storage/bd/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = bd.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
+
+-bd_la_LDFLAGS = -module -avoid-version
++bd_la_LDFLAGS = -module -avoid-version -shared
+ LIBBD = -llvm2app -lrt
+ bd_la_SOURCES = bd.c bd-helper.c bd-aio.c
+ bd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBBD) $(LIBAIO)
+diff -ur a/xlators/storage/posix/src/Makefile.am b/xlators/storage/posix/src/Makefile.am
+--- a/xlators/storage/posix/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/storage/posix/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -2,7 +2,7 @@
+ xlator_LTLIBRARIES = posix.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
+
+-posix_la_LDFLAGS = -module -avoid-version
++posix_la_LDFLAGS = -module -avoid-version -shared
+
+ posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c
+ posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO)
+diff -ur a/xlators/system/posix-acl/src/Makefile.am b/xlators/system/posix-acl/src/Makefile.am
+--- a/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:56:17.720192456 +0200
++++ b/xlators/system/posix-acl/src/Makefile.am 2015-08-28 10:59:35.752102136 +0200
+@@ -1,6 +1,6 @@
+ xlator_LTLIBRARIES = posix-acl.la
+ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/system
+-posix_acl_la_LDFLAGS = -module -avoid-version
++posix_acl_la_LDFLAGS = -module -avoid-version -shared
+ posix_acl_la_SOURCES = posix-acl.c posix-acl-xattr.c
+ posix_acl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
+
diff --git a/sys-cluster/glusterfs/files/glusterfs-r1.initd b/sys-cluster/glusterfs/files/glusterfs-r1.initd
new file mode 100644
index 000000000000..c2845855cf9c
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs-r1.initd
@@ -0,0 +1,121 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+if [[ "${SVCNAME}" != "glusterfs" ]]
+then
+ GLUSTERFS_NAME="${SVCNAME#glusterfs.}"
+else
+ GLUSTERFS_NAME="glusterfs"
+fi
+
+GLUSTERFS_PIDFILE="/var/run/${SVCNAME}.pid"
+
+eval 'GLUSTERFS_LOGFILE="${'${GLUSTERFS_NAME}'_log:-/var/log/glusterfs/'${GLUSTERFS_NAME}'.log}"'
+eval 'GLUSTERFS_VOLFILE="${'${GLUSTERFS_NAME}'_vol:-/etc/glusterfs/'${GLUSTERFS_NAME}'.vol}"'
+eval 'GLUSTERFS_SERVER="${'${GLUSTERFS_NAME}'_server}"'
+eval 'GLUSTERFS_PORT="${'${GLUSTERFS_NAME}'_port:-6996}"'
+eval 'GLUSTERFS_TRANSPORT="${'${GLUSTERFS_NAME}'_transport:-socket}"'
+eval 'GLUSTERFS_OPTS="${'${GLUSTERFS_NAME}'_opts}"'
+eval 'GLUSTERFS_MOUNTPOINT="${'${GLUSTERFS_NAME}'_mountpoint}"'
+
+depend() {
+ need net
+ [[ -n "${GLUSTERFS_MOUNTPOINT}" ]] && need fuse
+ use dns
+ before netmount
+ after firewall ntp-client ntpd
+}
+
+checkconfig() {
+ if [[ -z "${GLUSTERFS_NAME}" ]]
+ then
+ eerror "The service name is not properly formatted."
+ return 1
+ fi
+
+ if [[ -z "${GLUSTERFS_SERVER}" ]]
+ then
+ if [[ -z "${GLUSTERFS_VOLFILE}" ]]
+ then
+ eerror "No GlusterFS volume file source has been defined. Edit /etc/conf.d/glusterfs"
+ eerror "and configure a volume file source for ${SVCNAME}."
+ return 1
+ else
+ if [[ ! -f "${GLUSTERFS_VOLFILE}" ]]
+ then
+ eerror "Cannot find volume file: ${GLUSTERFS_VOLFILE}"
+ return 1
+ fi
+ fi
+ fi
+
+ if [[ -n "${GLUSTERFS_MOUNTPOINT}" && ! -d "${GLUSTERFS_MOUNTPOINT}" ]]
+ then
+ eerror "The mountpoint ${GLUSTERFS_MOUNTPOINT} does not exist."
+ return 1
+ fi
+}
+
+start() {
+ local status daemon
+
+ checkconfig || return 1
+
+ ebegin "Starting GlusterFS (${SVCNAME})"
+ eindent
+
+ if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+ then
+ einfo "Starting in server mode ..."
+ daemon="glusterfsd"
+ else
+ einfo "Starting in client mode. Mounting filesystem ..."
+ daemon="glusterfs"
+ fi
+
+ if [[ -n "${GLUSTERFS_SERVER}" ]]
+ then
+ einfo "Using server supplied volume file"
+ start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+ --exec /usr/sbin/${daemon} -- \
+ --pid-file=${GLUSTERFS_PIDFILE} \
+ --log-file=${GLUSTERFS_LOGFILE} \
+ --volfile-server=${GLUSTERFS_SERVER} \
+ --volfile-server-port=${GLUSTERFS_PORT} \
+ --volfile-server-transport=${GLUSTERFS_TRANSPORT} \
+ ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+ status="$?"
+ else
+ einfo "Using local volume file"
+ start-stop-daemon --start --pidfile ${GLUSTERFS_PIDFILE} \
+ --exec /usr/sbin/${daemon} -- \
+ --pid-file=${GLUSTERFS_PIDFILE} \
+ --log-file=${GLUSTERFS_LOGFILE} \
+ --volfile=${GLUSTERFS_VOLFILE} \
+ ${GLUSTERFS_OPTS} ${GLUSTERFS_MOUNTPOINT}
+ status="$?"
+ fi
+
+ eoutdent
+ eend ${status}
+}
+
+stop() {
+ local status
+
+ ebegin "Stopping GlusterFS (${SVCNAME})"
+ eindent
+ if [[ -z "${GLUSTERFS_MOUNTPOINT}" ]]
+ then
+ einfo "Stopping server process ..."
+ start-stop-daemon --stop --pidfile ${GLUSTERFS_PIDFILE}
+ status="$?"
+ else
+ einfo "Unmounting ${GLUSTERFS_MOUNTPOINT} ..."
+ umount "${GLUSTERFS_MOUNTPOINT}"
+ status="$?"
+ fi
+ eoutdent
+ eend ${status}
+}
diff --git a/sys-cluster/glusterfs/files/glusterfs.confd b/sys-cluster/glusterfs/files/glusterfs.confd
new file mode 100644
index 000000000000..257d0a887cff
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.confd
@@ -0,0 +1,6 @@
+#glusterfsd_mountpoint=""
+#glusterfsd_log=""
+#glusterfsd_vol=""
+#glusterfsd_port=""
+#glusterfsd_transport=""
+#glusterfsd_opts=""
diff --git a/sys-cluster/glusterfs/files/glusterfs.logrotate b/sys-cluster/glusterfs/files/glusterfs.logrotate
new file mode 100644
index 000000000000..07ae7b9e54dc
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.logrotate
@@ -0,0 +1,34 @@
+# Rotate client logs
+/var/log/glusterfs/*.log {
+ weekly
+ rotate 52
+ missingok
+
+ # compress the logs, but from the .2 onwards
+ compress
+ delaycompress
+ notifempty
+
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP glusterfs > /dev/null 2>&1 || true
+ /usr/bin/killall -HUP glusterd > /dev/null 2>&1 || true
+ endscript
+}
+
+# Rotate server logs
+/var/log/glusterfs/bricks/*.log {
+ weekly
+ rotate 52
+ missingok
+
+ # compress the logs, but from the .2 onwards
+ compress
+ delaycompress
+ notifempty
+
+ sharedscripts
+ postrotate
+ /usr/bin/killall -HUP glusterfsd > /dev/null 2>&1 || true
+ endscript
+}
diff --git a/sys-cluster/glusterfs/files/glusterfs.vim b/sys-cluster/glusterfs/files/glusterfs.vim
new file mode 100644
index 000000000000..bbb9cb1efa97
--- /dev/null
+++ b/sys-cluster/glusterfs/files/glusterfs.vim
@@ -0,0 +1,8 @@
+if &compatible || v:version < 603
+ finish
+endif
+
+
+" GlusterFS Volume files
+au BufNewFile,BufRead *.vol
+ \ set filetype=glusterfs
diff --git a/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild
new file mode 100644
index 000000000000..13079fc4a53a
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.10.1.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/"
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+# the tests must be run as root
+RESTRICT="test"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ qemu-block? ( dev-libs/glib:2 )
+ systemtap? ( dev-util/systemtap )
+ tiering? ( dev-db/sqlite:3 )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ dev-libs/openssl:=[-bindist]
+ dev-libs/userspace-rcu:=
+ || ( sys-libs/glibc sys-libs/argp-standalone )
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ virtual/acl
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ test? ( >=dev-util/cmocka-1.0.1
+ app-benchmarks/dbench
+ dev-vcs/git
+ net-fs/nfs-utils
+ virtual/perl-Test-Harness
+ dev-libs/yajl
+ sys-fs/xfsprogs
+ sys-apps/attr )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ python_setup "python2*"
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # build rpc-transport and xlators only once as shared libs
+ for makefile in $(find rpc/rpc-transport xlators -name Makefile.am); do
+ sed -i -e 's|.*$(top_srcdir).*\.sym|\0 -shared|' $makefile || die
+ done
+
+ # fix execution permissions
+ chmod +x libglusterfs/src/gen-defaults.py || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --disable-fusermount
+ $(use_enable debug)
+ $(use_enable bd-xlator)
+ $(use_enable crypt-xlator)
+ $(use_enable fuse fuse-client)
+ $(use_enable georeplication)
+ $(use_enable glupy)
+ $(use_enable infiniband ibverbs)
+ $(use_enable qemu-block)
+ $(use_enable static-libs static)
+ $(use_enable syslog)
+ $(use_enable systemtap)
+ $(use_enable test cmocka)
+ $(use_enable tiering)
+ $(use_enable xml xml-output)
+ --docdir=/usr/share/doc/${PF}
+ --localstatedir=/var
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm \
+ "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd
+
+ # QA
+ rm -rf "${ED}/var/run/" || die
+ use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ # fix all shebang for python2 #560750
+ python_fix_shebang "${ED}"
+
+ # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/
+ echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die
+ systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+
+ elog
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild
new file mode 100644
index 000000000000..88fd9cdb3998
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.6.5.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/"
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ qemu-block? ( dev-libs/glib:2 )
+ systemtap? ( dev-util/systemtap )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ dev-libs/openssl:=
+ || ( sys-libs/glibc sys-libs/argp-standalone )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+ "${FILESDIR}/${PN}-3.5.1-Add-libraries-using-LIBADD-instead-of-LDFLAGS.patch"
+ "${FILESDIR}/${PN}-3.6.5-build-shared-only.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ ( use georeplication || use glupy ) && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ autotools-utils_src_prepare
+
+ # contrib/argp-standalone source dir is not clean...
+ cd contrib/argp-standalone
+ emake distclean
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --disable-fusermount
+ $(use_enable debug)
+ $(use_enable bd-xlator)
+ $(use_enable crypt-xlator)
+ $(use_enable fuse fuse-client)
+ $(use_enable georeplication)
+ $(use_enable glupy)
+ $(use_enable infiniband ibverbs)
+ $(use_enable qemu-block)
+ $(use_enable static-libs static)
+ $(use_enable syslog)
+ $(use_enable systemtap)
+ $(use_enable xml xml-output)
+ --docdir=/usr/share/doc/${PF}
+ --localstatedir=/var
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm \
+ "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd
+
+ # QA
+ rm -rf "${ED}/var/run/" || die
+ use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ use georeplication && python_fix_shebang "${ED}"
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+
+ elog
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.6"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild
new file mode 100644
index 000000000000..8dbe65598784
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.7.4.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/"
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+# the tests must be run as root
+RESTRICT="test"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ qemu-block? ( dev-libs/glib:2 )
+ systemtap? ( dev-util/systemtap )
+ tiering? ( dev-db/sqlite:3 )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ dev-libs/openssl:=[-bindist]
+ dev-libs/userspace-rcu:=
+ || ( sys-libs/glibc sys-libs/argp-standalone )
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ test? ( >=dev-util/cmocka-1.0.1
+ app-benchmarks/dbench
+ dev-vcs/git
+ net-fs/nfs-utils
+ virtual/perl-Test-Harness
+ dev-libs/yajl
+ sys-fs/xfsprogs
+ sys-apps/attr )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ ( use georeplication || use glupy ) && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # build rpc-transport and xlators only once as shared libs
+ find rpc/rpc-transport xlators -name Makefile.am -print0 \
+ | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|'
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --disable-fusermount
+ $(use_enable debug)
+ $(use_enable bd-xlator)
+ $(use_enable crypt-xlator)
+ $(use_enable fuse fuse-client)
+ $(use_enable georeplication)
+ $(use_enable glupy)
+ $(use_enable infiniband ibverbs)
+ $(use_enable qemu-block)
+ $(use_enable static-libs static)
+ $(use_enable syslog)
+ $(use_enable systemtap)
+ $(use_enable test cmocka)
+ $(use_enable tiering)
+ $(use_enable xml xml-output)
+ --docdir=/usr/share/doc/${PF}
+ --localstatedir=/var
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm \
+ "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd
+
+ # QA
+ rm -rf "${ED}/var/run/" || die
+ use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ use georeplication && python_fix_shebang "${ED}"
+
+ # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/
+ echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die
+ systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+
+ elog
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild
new file mode 100644
index 000000000000..d9243da7f4ae
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.8.11.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/"
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+# the tests must be run as root
+RESTRICT="test"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ qemu-block? ( dev-libs/glib:2 )
+ systemtap? ( dev-util/systemtap )
+ tiering? ( dev-db/sqlite:3 )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ dev-libs/openssl:=[-bindist]
+ dev-libs/userspace-rcu:=
+ || ( sys-libs/glibc sys-libs/argp-standalone )
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ virtual/acl
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ test? ( >=dev-util/cmocka-1.0.1
+ app-benchmarks/dbench
+ dev-vcs/git
+ net-fs/nfs-utils
+ virtual/perl-Test-Harness
+ dev-libs/yajl
+ sys-fs/xfsprogs
+ sys-apps/attr )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ python_setup "python2*"
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # build rpc-transport and xlators only once as shared libs
+ find rpc/rpc-transport xlators -name Makefile.am -print0 \
+ | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|'
+
+ # fix execution permissions
+ chmod +x libglusterfs/src/gen-defaults.py || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --disable-fusermount
+ $(use_enable debug)
+ $(use_enable bd-xlator)
+ $(use_enable crypt-xlator)
+ $(use_enable fuse fuse-client)
+ $(use_enable georeplication)
+ $(use_enable glupy)
+ $(use_enable infiniband ibverbs)
+ $(use_enable qemu-block)
+ $(use_enable static-libs static)
+ $(use_enable syslog)
+ $(use_enable systemtap)
+ $(use_enable test cmocka)
+ $(use_enable tiering)
+ $(use_enable xml xml-output)
+ --docdir=/usr/share/doc/${PF}
+ --localstatedir=/var
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm \
+ "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd
+
+ # QA
+ rm -rf "${ED}/var/run/" || die
+ use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ # fix all shebang for python2 #560750
+ python_fix_shebang "${ED}"
+
+ # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/
+ echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die
+ systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+
+ elog
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild
new file mode 100644
index 000000000000..8aa87cab2fde
--- /dev/null
+++ b/sys-cluster/glusterfs/glusterfs-3.8.6.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils elisp-common eutils multilib python-single-r1 systemd versionator
+
+DESCRIPTION="GlusterFS is a powerful network/cluster filesystem"
+HOMEPAGE="http://www.gluster.org/"
+SRC_URI="http://download.gluster.org/pub/gluster/${PN}/$(get_version_component_range '1-2')/${PV}/${P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-3+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+IUSE="bd-xlator crypt-xlator debug emacs +fuse +georeplication glupy infiniband qemu-block rsyslog static-libs +syslog systemtap test +tiering vim-syntax +xml"
+
+REQUIRED_USE="georeplication? ( ${PYTHON_REQUIRED_USE} )
+ glupy? ( ${PYTHON_REQUIRED_USE} )"
+
+# the tests must be run as root
+RESTRICT="test"
+
+# sys-apps/util-linux is required for libuuid
+RDEPEND="bd-xlator? ( sys-fs/lvm2 )
+ emacs? ( virtual/emacs )
+ fuse? ( >=sys-fs/fuse-2.7.0 )
+ georeplication? ( ${PYTHON_DEPS} )
+ infiniband? ( sys-fabric/libibverbs:* sys-fabric/librdmacm:* )
+ qemu-block? ( dev-libs/glib:2 )
+ systemtap? ( dev-util/systemtap )
+ tiering? ( dev-db/sqlite:3 )
+ xml? ( dev-libs/libxml2 )
+ sys-libs/readline:=
+ dev-libs/libaio
+ dev-libs/openssl:=[-bindist]
+ dev-libs/userspace-rcu:=
+ || ( sys-libs/glibc sys-libs/argp-standalone )
+ sys-apps/util-linux"
+DEPEND="${RDEPEND}
+ virtual/acl
+ virtual/pkgconfig
+ sys-devel/bison
+ sys-devel/flex
+ test? ( >=dev-util/cmocka-1.0.1
+ app-benchmarks/dbench
+ dev-vcs/git
+ net-fs/nfs-utils
+ virtual/perl-Test-Harness
+ dev-libs/yajl
+ sys-fs/xfsprogs
+ sys-apps/attr )"
+
+SITEFILE="50${PN}-mode-gentoo.el"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.4.0-silent_rules.patch"
+)
+
+DOCS=( AUTHORS ChangeLog NEWS README.md THANKS )
+
+# Maintainer notes:
+# * The build system will always configure & build argp-standalone but it'll never use it
+# if the argp.h header is found in the system. Which should be the case with
+# glibc or if argp-standalone is installed.
+
+pkg_setup() {
+ python_setup "python2*"
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # build rpc-transport and xlators only once as shared libs
+ find rpc/rpc-transport xlators -name Makefile.am -print0 \
+ | xargs -0 sed -i -e 's|.*_la_LDFLAGS = .*|\0 -shared|'
+
+ # fix execution permissions
+ chmod +x libglusterfs/src/gen-defaults.py || die
+
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-dependency-tracking
+ --disable-silent-rules
+ --disable-fusermount
+ $(use_enable debug)
+ $(use_enable bd-xlator)
+ $(use_enable crypt-xlator)
+ $(use_enable fuse fuse-client)
+ $(use_enable georeplication)
+ $(use_enable glupy)
+ $(use_enable infiniband ibverbs)
+ $(use_enable qemu-block)
+ $(use_enable static-libs static)
+ $(use_enable syslog)
+ $(use_enable systemtap)
+ $(use_enable test cmocka)
+ $(use_enable tiering)
+ $(use_enable xml xml-output)
+ --docdir=/usr/share/doc/${PF}
+ --localstatedir=/var
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+
+ use emacs && elisp-compile extras/glusterfs-mode.el
+}
+
+src_install() {
+ autotools-utils_src_install
+
+ rm \
+ "${D}"/etc/glusterfs/glusterfs-{georep-,}logrotate \
+ "${D}"/etc/glusterfs/gluster-rsyslog-*.conf \
+ "${D}"/usr/share/doc/${PF}/glusterfs{-mode.el,.vim} || die "removing false files failed"
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/glusterfs.logrotate glusterfs
+
+ if use rsyslog ; then
+ insinto /etc/rsyslog.d
+ newins extras/gluster-rsyslog-7.2.conf 60-gluster.conf
+ fi
+
+ if use emacs ; then
+ elisp-install ${PN} extras/glusterfs-mode.el*
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect; doins "${FILESDIR}"/${PN}.vim
+ insinto /usr/share/vim/vimfiles/syntax; doins extras/${PN}.vim
+ fi
+
+ # insert some other tools which might be useful
+ insinto /usr/share/glusterfs/scripts
+ doins \
+ extras/backend-{cleanup,xattr-sanitize}.sh \
+ extras/clear_xattrs.sh \
+ extras/migrate-unify-to-distribute.sh
+
+ # correct permissions on installed scripts
+ # fperms 0755 /usr/share/glusterfs/scripts/*.sh
+ chmod 0755 "${ED}"/usr/share/glusterfs/scripts/*.sh || die
+
+ if use georeplication ; then
+ # move the gsync-sync-gfid tool to a binary path
+ # and set a symlink to be compliant with all other distros
+ mv "${ED}"/usr/{share/glusterfs/scripts/gsync-sync-gfid,libexec/glusterfs/} || die
+ dosym ../../../libexec/glusterfs/gsync-sync-gfid /usr/share/glusterfs/scripts/gsync-sync-gfid
+ fi
+
+ newinitd "${FILESDIR}/${PN}-r1.initd" glusterfsd
+ newinitd "${FILESDIR}/glusterd-r2.initd" glusterd
+ newconfd "${FILESDIR}/${PN}.confd" glusterfsd
+
+ keepdir /var/log/${PN}
+ keepdir /var/lib/glusterd
+
+ # QA
+ rm -rf "${ED}/var/run/" || die
+ use static-libs || find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ # fix all shebang for python2 #560750
+ python_fix_shebang "${ED}"
+
+ # upstream already has a patch ready, to be removed once available, http://review.gluster.org/#/c/9458/
+ echo "d /run/gluster 0755 root root -" > "${T}/gluster.tmpfiles" || die
+ systemd_newtmpfilesd "${T}/gluster.tmpfiles" gluster.conf
+}
+
+src_test() {
+ ./run-tests.sh || die
+}
+
+pkg_postinst() {
+ elog "Starting with ${PN}-3.1.0, you can use the glusterd daemon to configure your"
+ elog "volumes dynamically. To do so, simply use the gluster CLI after running:"
+ elog " /etc/init.d/glusterd start"
+ echo
+ elog "For static configurations, the glusterfsd startup script can be multiplexed."
+ elog "The default startup script uses /etc/conf.d/glusterfsd to configure the"
+ elog "separate service. To create additional instances of the glusterfsd service"
+ elog "simply create a symlink to the glusterfsd startup script."
+ echo
+ elog "Example:"
+ elog " # ln -s glusterfsd /etc/init.d/glusterfsd2"
+ elog " # ${EDITOR} /etc/glusterfs/glusterfsd2.vol"
+ elog "You can now treat glusterfsd2 like any other service"
+ echo
+ ewarn "You need to use a ntp client to keep the clocks synchronized across all"
+ ewarn "of your servers. Setup a NTP synchronizing service before attempting to"
+ ewarn "run GlusterFS."
+
+ elog
+ elog "If you are upgrading from a previous version of ${PN}, please read:"
+ elog " http://www.gluster.org/community/documentation/index.php/Upgrade_to_3.5"
+
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-cluster/glusterfs/metadata.xml b/sys-cluster/glusterfs/metadata.xml
new file mode 100644
index 000000000000..dbe49ffe8481
--- /dev/null
+++ b/sys-cluster/glusterfs/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ GlusterFS is a cluster file-system capable of scaling to several peta-bytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system. GlusterFS is based on a stackable user space design without compromising performance.
+ </longdescription>
+ <use>
+ <flag name="bd-xlator">Enable the blockdevice translator (requires <pkg>sys-fs/lvm2</pkg>)</flag>
+ <flag name="crypt-xlator">Enable the encryption translator</flag>
+ <flag name="fuse">Add FUSE mount helper</flag>
+ <flag name="glupy">Enable support for translators written in Python</flag>
+ <flag name="georeplication">Enable support for georeplication (requires <pkg>dev-lang/python</pkg>)</flag>
+ <flag name="infiniband">Add support for Infiniband ibverbs transport.
+ Libraries can be found in science overlay</flag>
+ <flag name="rsyslog">Install configuration snippet for <pkg>app-admin/rsyslog</pkg></flag>
+ <flag name="qemu-block">Transparently create files as QCow2/QED images in the backend, including the possibility to snapshot.</flag>
+ <flag name="systemtap">Enable support for <pkg>dev-util/systemtap</pkg></flag>
+ <flag name="tiering">Enable support for data classification/tiering (requires <pkg>dev-db/sqlite</pkg> SLOT 3)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/heartbeat/Manifest b/sys-cluster/heartbeat/Manifest
new file mode 100644
index 000000000000..8229d960ea4e
--- /dev/null
+++ b/sys-cluster/heartbeat/Manifest
@@ -0,0 +1,14 @@
+AUX 3.0.4-docs.patch 1735 SHA256 6ca069d0a6862f03026d59078c84dc503cfdd562a159d1e0a3151ed889a108bc SHA512 d8b9328ad8417998f6b3f8ae06a2d99d1b4a1fc53c21770df58b5ae1d2b38b9a396e5b77c9fc74a8a01e7cb239337bdc1b44065161a21f07261c18b7378c0f44 WHIRLPOOL ea5d10e1bd1530cb3939a992af36bea38d8cc8df5c195719bbb7ed7b84ed211144e6db1284fc0a15da4a987847e9f9bc52677434f0a0dd99e71a9abd8acb8b12
+AUX 3.0.4-fix_configure.patch 3300 SHA256 caa4fc8379626aa7c8a021aef47a49eb8d2ef57f30d84bc31a5613ebf814eb48 SHA512 39bb089d2ac6e4d7afb828b24d41e3b261588d8029347ab968dbe3909a3a2a9197fc0ac8f16e920f45870fefaeb86bae064a8625c24ca7cda68cbb79bb1b360b WHIRLPOOL 171a85271b08b9c19201d12112c1c446760b429212a607fc78f6858988f46be34935c89af04b65a1f0da14d417575688935eaae9646a11a46dab229baed929a8
+AUX 3.0.4-python_tests.patch 468 SHA256 b13b88ddb6cbeffea19d756ae54fb2acfb4aa7a169f075e974593a8b40146645 SHA512 e5652ec24b7a5b03347baabb4d09f058df9766020879562822ed3edcd26f78d28456df532c6c12dacfb609d197d06dc565f0bf25ba1b33736d89df2d36f43b9b WHIRLPOOL ba81fbdc1c7efa64be38c817a720e9b90e0ab92dff89fa86d0e3dd70ec17744eabf4d7f9831784907a763b595e6cd16c2d96d0ed4d0bf6e2fea64c722cec2963
+AUX 3.0.5-fix_ucast.patch 4343 SHA256 f8a755ee17145ae1be2e870efaefa01ef3b414a0c32206296471a8d64d5b46ca SHA512 9eac05636bd72be663ab51085310f23ff506290000a8227b24be0efdaa2fb88a7868a848063311af91c0c151e73792a1e9a0ad33ab565f117f339ed6c3241b62 WHIRLPOOL 8f545697b1bcc7707f3e6e78508d5e8b5c99c5d4ec8d784277a653b69f1afbfc2edfe13e3459a97707f7414e752e92550d465b6b68794970341a0d1779fbcdaf
+AUX 3.0.6-configure.patch 2943 SHA256 49d089d9765a5c333e4b18ab3d069f5ee7504f282b507e716e0e5c6cdcf4e6f5 SHA512 408402dd41aaa2afd14c5bcfafade753e4f2ca34b7668cb9f29566c3a41cd231ed8ab6b29f9865177c10e820b177aa9a899cf5a2b98db78b267e2bfb8f1d03d6 WHIRLPOOL 3880ba45d61f13a37c212bb0959ef115992d01aaf19cb8cdf5cc96bc0b6574907e537cd6fee379bde19462c782e6ba1bf362bc63b5028bce98a881987bf06289
+AUX 3.0.6-docs.patch 1946 SHA256 11618fbce7ddcb8b4421c6cd7f50b99a61adf8243bd522b58003516f9b74de77 SHA512 e75f4b75a3340d0df9f81e3ef26a6212b2e6ed447f9f7b4a911f05eb6e383726164e7552e4b20d85874d3d3d7c82ce0aa176e886deab76a944e5d716e4a3a0a2 WHIRLPOOL df6c9c42a3b15004f01f248183ee2810bfb33bfacd5f8ffa5ceddb416038d4a51875d252ac0bff1b30144db3c4bc8d04ddd8c99cc237d6909f7fc757a81457dc
+AUX heartbeat-init 1711 SHA256 fc0e4270b42d47712c7e9547d0b3e8753382e62d70356591271bccf28fbdec19 SHA512 2c91aea1a7fdcfd35a1b7e824fd7467f776f3f1e0d46b8b14a249f756ec6ac4b3ed379f291bc5c8075094bd386e06ca9e15279f136ae89be5c7551b1f20e208d WHIRLPOOL baf071d9bfaad9fb78d9b0cbf5a9b9e1e69f02517dcd37e0bbcc4981b5d192eef06bc348a3f1f8ea53343a9a61c34ebd4a93335153691d4b1d65c8836702a44f
+DIST STABLE-3.0.5.tar.bz2 538986 SHA256 fc7b11f9e1f16bc853434208a1ce86803acf1d0fb6f43715209a84c1c34661c3 SHA512 e38083b87c56a72eb8925ac42adeabb92618608e92218a63960ec0d0bca264f92a8e9c3ebfb0589cc4538da1a82b268b5cc9ee5a51ed33057c969e694e16b27d WHIRLPOOL 699c2679c38f17aacbf230dd68203a8967748c086713ad8bf55688b1e8933caf117ec2a8d2be2ec19b0fa077eacaa1cceec0fea14d181510abb24644a486f6c4
+DIST STABLE-3.0.6.tar.bz2 532796 SHA256 1ab098e6fd22b5a3522b5f9a852ff41a3baff24e5c479801142dbce5f048f42b SHA512 c11fc2e333040b494e63cc0b55d7e5f7555850ba79d8ec6fea17960ec22ee210a81a63a6e486383b6d44d2532c0dc0d69dcffddf9354b7830771a7a532c33f33 WHIRLPOOL d72c74c48917daad202d196a5d0dfc8d80d1dc1f15aa112113d772d8e0c772061169e3f500d36427112720fb316efdbb92a02e897c8c1b8d8c5d7242f3de19b0
+EBUILD heartbeat-3.0.5-r3.ebuild 1860 SHA256 aa64610042d17ebd64dbbfc4fdb37b99d68aef472b263192f710254a0286c2e6 SHA512 9af6307d9cb2cff03944e8d50df61d5ba34b7266ce5d0ae9ddbc226c6136a4d6370c7738f181e2e28edec7f19c71488faa84e983924b4bcb72b288a1b70dcff7 WHIRLPOOL 13fb7543b1d484875593efa35d352f3870148e7fc991a7b64726bee7e1a2ea1852b5821280ae29c3468c2eca2b426b4f25ec4b2b80d461b03c8be4720ef9adbc
+EBUILD heartbeat-3.0.6.ebuild 1820 SHA256 83b280655be9114e460a23b7d84604415c61255173a544064ade2c781d164650 SHA512 9624da9444c81816d314732cb72ef5073d93f89426968f9464a6f443c739f1370e505b76c24758b178a32431e5fa2c25e18474c9c37caee8b38790539c4083cd WHIRLPOOL 6b5932061b71e3159c1251af71a39c6808d882c953ea063e1dd82faca982de46754c6b6564478e51d6b33ecce40c7d2b27181d659d3a160688da007a69ef7872
+MISC ChangeLog 2751 SHA256 d27f8d18daad623347d0c374d2b7c0444253af400d5d9efd94b51ce269a81264 SHA512 2bff4b17366784c5eaff1c23890b2818a3ec72856116f00833e832f9b29a610816796fa662490707981e6f381308baac927e61bc0a1f9daea17fc7835b97c866 WHIRLPOOL a8fdfb38fefcbebdcdc37c1441c7d9ee7380d2de30448a6d422ad06d19a1658e6ab4c95964347df1ff3256118af58485b6d8282d8cfe7e55aece28fc586ecacc
+MISC ChangeLog-2015 18107 SHA256 6943dcf6a540eb794aecacdaca747b8fb0f8e99f2d8068d09aba0eed39eb36eb SHA512 7c3cfb253741800e37c858fd89b91079220d88359ebee84abc388a74dacd0852731ee3df2b50bf6a4c2a67d902b6b3d02496a12e91b688f4a455f2b1d4f58c5e WHIRLPOOL 7e8b2f08ee9de369c42e00b0e11f68b13b4ca7b3e7e00917cc24af163ac1e90fd649228b4687e943c7944085cfb07752239e480c26fccab5e5d0d11783cd0bda
+MISC metadata.xml 373 SHA256 ea66452195c635b5b4df7f5788abc2244498133bae769e7965879c0f1292f581 SHA512 8908e9983ffda4e1bbbd57b772834eb4d79b49193d354de7a336e42aa6eeaf4fae365298e28f074648d1f8681a20c69f86f512cb329f9ad1482dd030d9d38ef6 WHIRLPOOL f4d73d95ef249917818587f3bccdb0a78959d00658b915c0c0e398706ea340eed4d9ee50630807a63b73c34de89bd991971e85c489990bed376bd55d750aee42
diff --git a/sys-cluster/heartbeat/files/3.0.4-docs.patch b/sys-cluster/heartbeat/files/3.0.4-docs.patch
new file mode 100644
index 000000000000..a558dd36f5a3
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.4-docs.patch
@@ -0,0 +1,57 @@
+--- a/configure.in
++++ b/configure.in
+@@ -505,8 +505,15 @@
+ AC_PATH_PROGS(TEST, test)
+ AC_PATH_PROGS(PKGCONFIG, pkg-config)
+
+-dnl xsltproc is required for building the man pages
+-AC_PATH_PROGS(XSLTPROC, xsltproc)
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build documentation]
++))
++AS_IF([test "x$enable_doc" = "xyes"], [
++ AC_PATH_PROGS(XSLTPROC, xsltproc)
++])
++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] )
++AC_SUBST(XSLTPROC)
++
+
+ dnl ************************************************************************
+ dnl Check whether non-root user can chown.
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -33,11 +33,12 @@
+
+ doc_DATA = $(OTHER_DOCS)
+
++if BUILD_DOC
+ man_MANS = heartbeat.8 apphbd.8 cl_status.1 \
+ hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \
+ ha.cf.5 authkeys.5
+
+-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current
++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets
+ MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl
+ HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl
+ FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl
+@@ -47,6 +48,12 @@
+ XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS)
+ XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS)
+
++%.5 %.8 %.1: %.xml
++ $(XSLTPROC) \
++ $(XSLTPROC_MANPAGES_OPTIONS) \
++ $(MANPAGES_STYLESHEET) $<
++endif
++
+ EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS)
+
+ ChangeLog: $(SPECSRC)
+@@ -56,7 +63,3 @@
+ .html.txt:
+ if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi
+
+-%.5 %.8 %.1: %.xml
+- $(XSLTPROC) \
+- $(XSLTPROC_MANPAGES_OPTIONS) \
+- $(MANPAGES_STYLESHEET) $<
diff --git a/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch
new file mode 100644
index 000000000000..1df22b337c5a
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.4-fix_configure.patch
@@ -0,0 +1,110 @@
+--- Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-09 21:09:47.000000000 +0100
++++ Heartbeat-3-0-STABLE-3.0.4/configure.in 2010-12-28 17:37:45.080773140 +0100
+@@ -243,9 +243,9 @@
+ mandir=`var "$mandir" "$exec_prefix/man"`
+ dnl docdir is available in autoconf 2.60+, for older versions preseed
+ dnl with the same value that 2.60+ uses
+-docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"`
+-libdir=`var "$libdir" "$exec_prefix/lib"`
+-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"`
++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"`
++dnl libdir=`var "$libdir" "$exec_prefix/lib"`
++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"`
+ noarchlibdir=`var "$noarchlibdir" "$prefix/lib"`
+
+
+@@ -284,59 +284,11 @@
+ LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'`
+ LibCdir=`dirname $LIBC`
+ dirlist=`echo $LibCdir | tr '/' ' '`
+- LibDirSuffix=unknown
+- for dir in $dirlist
+- do
+- case $dir in
+- *lib*) LibDirSuffix=$dir; break;;
+- *);;
+- esac
+- done
+- case $LibDirSuffix in
+- unknown) LibDirSuffix=`basename $LibCdir`;;
+- esac
+ OutFileType=`file $tmpOutfile`
+ rm -f $tmpCfile $tmpOutfile
+ else
+ AC_MSG_ERROR([Cannot Compile trivial C program])
+ fi
+-#
+-# The code above doesn't work right everywhere
+-# (like Fedora and OpenBSD)
+-#
+-case ${LibDirSuffix} in
+- *lib*) : Cool;;
+- *) : Sigh...
+- case $OutFileType in
+- *64-bit*)
+- case $host_os in
+- openbsd*) LibDirSuffix=lib;;
+- *) LibDirSuffix=lib64;;
+- esac;;
+- *32-bit*) LibDirSuffix=lib;;
+- *) LibDirSuffix=lib;;
+- esac;;
+-esac
+-#
+-# This may not yet be quite right for PPC where the default
+-# is to produce 32-bit binaries, even though the OS is 64-bit
+-# or for that matter for system Z, But, it's a lot better than
+-# it used to be.
+-#
+-AC_MSG_RESULT($LibDirSuffix)
+-
+-case $libdir in
+- */*${LibDirSuffix}) : Cool ;;
+- *) : Uh Oh...
+- libdir=`dirname $libdir`/$LibDirSuffix
+- AC_MSG_WARN([Overriding libdir to: $libdir]);;
+-esac
+-case $libexecdir in
+- */$LibDirSuffix) : Cool ;;
+- *) : Uh Oh...
+- libexecdir=`dirname $libexecdir`/$LibDirSuffix
+- AC_MSG_WARN([Overriding libexecdir to: $libexecdir]);;
+-esac
+
+ for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \
+ includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir
+@@ -386,7 +338,6 @@
+ fi
+
+ AC_CHECK_HEADERS(heartbeat/glue_config.h)
+-GLUE_HEADER=none
+ if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then
+ GLUE_HEADER=heartbeat/glue_config.h
+ else
+@@ -453,15 +404,6 @@
+
+ dnl We use this in the RPM specfile...
+ AC_SUBST(ac_configure_args)
+-cleaned_configure_args=""
+-for j in ${ac_configure_args}
+-do
+- case $j in
+- *--libdir=*|*--libexecdir=*) ;;
+- *) cleaned_configure_args="$cleaned_configure_args $j";;
+- esac
+-done
+-AC_SUBST(cleaned_configure_args)
+
+ dnl *************************************************************************
+ PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin"
+--- Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:51:05.601673071 +0100
++++ Heartbeat-3-0-STABLE-3.0.5/configure.in 2011-12-28 11:54:34.223094385 +0100
+@@ -2002,7 +2002,7 @@
+ fi
+
+ if test "$GCC" = yes; then
+- CFLAGS="$CFLAGS -ggdb3"
++ CFLAGS="$CFLAGS"
+ if
+ cc_supports_flag -funsigned-char
+ then
diff --git a/sys-cluster/heartbeat/files/3.0.4-python_tests.patch b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch
new file mode 100644
index 000000000000..e6e1071573a9
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.4-python_tests.patch
@@ -0,0 +1,29 @@
+--- a/cts/Makefile.am
++++ b/cts/Makefile.am
+@@ -21,7 +21,7 @@
+
+ ctsdir = @HA_NOARCHDATAHBDIR@/cts
+
+-cts_PYTHON = \
++cts_SCRIPTS = \
+ CM_fs.py \
+ CM_hb.py \
+ CM_LinuxHAv2.py \
+@@ -32,14 +32,12 @@
+ extracttests.py \
+ getpeinputs.sh \
+ OCFIPraTest.py \
+- CIB.py
++ CIB.py \
++ CTSproxy.py \
++ LSBDummy
+
+ cts_DATA = README
+
+-cts_SCRIPTS = \
+- CTSproxy.py \
+- getpeinputs.sh \
+- LSBDummy
+
+ all-local: $(cts_PYTHON)
+
diff --git a/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch
new file mode 100644
index 000000000000..3bec9c89dd86
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.5-fix_ucast.patch
@@ -0,0 +1,145 @@
+
+# HG changeset patch
+# User Lars Ellenberg <lars@linbit.com>
+# Date 1392200751 -3600
+# Node ID 37f57a36a2dd1abf8461a9b758e62f6fe7a22f77
+# Parent 6d4324633600dc7ae7aa08c56d86c2fcc767977f
+Medium: fix usage of SO_REUSEPORT in ucast sockets
+
+Linux learned SO_REUSEPORT only with kernel 3.9,
+but some linux headers already define SO_REUSEPORT.
+Which, on older kernels, will result in ENOPROTOOPT,
+"Protocol not available".
+
+Failure to set SO_REUSEPORT is NOT critical in general.
+It *may* be a problem on certain BSDs,
+with more than two nodes, all using ucast.
+
+Refusing to start because of failure to set SO_REUSEPORT is
+not helpful for the vast majority of the clusters out there.
+
+While at it, downgrade "critical" log messages to warnings
+in non-fatal situations.
+
+--- a/lib/plugins/HBcomm/ucast.c
++++ b/lib/plugins/HBcomm/ucast.c
+@@ -461,12 +461,6 @@ static int HB_make_send_sock(struct hb_m
+ int sockfd;
+ struct ip_private *ei;
+ int tos;
+-#if defined(SO_BINDTODEVICE)
+- struct ifreq i;
+-#endif
+-#if defined(SO_REUSEPORT)
+- int i = 1;
+-#endif
+
+ UCASTASSERT(mp);
+ ei = (struct ip_private*)mp->pd;
+@@ -494,6 +488,7 @@ static int HB_make_send_sock(struct hb_m
+
+ #if defined(SO_BINDTODEVICE)
+ {
++ struct ifreq i;
+ /*
+ * We want to send out this particular interface
+ *
+@@ -515,12 +510,13 @@ static int HB_make_send_sock(struct hb_m
+ #endif
+ #if defined(SO_REUSEPORT)
+ {
++ int one = 1;
+ /* this is for OpenBSD to allow multiple *
+ * ucast connections, e.g. a more than *
+ * two node cluster */
+
+ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT,
+- &i, sizeof(i)) == -1) {
++ &one, sizeof(one)) == -1) {
+ PILCallLog(LOG, PIL_CRIT,
+ "ucast: error setting option SO_REUSEPORT(w): %s", strerror(errno));
+ close(sockfd);
+@@ -548,7 +544,7 @@ static int HB_make_receive_sock(struct h
+ int sockfd;
+ int bindtries;
+ int boundyet = 0;
+- int j;
++ int one = 1;
+
+ UCASTASSERT(mp);
+ ei = (struct ip_private*)mp->pd;
+@@ -563,22 +559,19 @@ static int HB_make_receive_sock(struct h
+ strerror(errno));
+ return -1;
+ }
+- /*
+- * Set SO_REUSEADDR on the server socket s. Variable j is used
+- * as a scratch varable.
+- *
+- * 16th February 2000
+- * Added by Horms <horms@vergenet.net>
+- * with thanks to Clinton Work <work@scripty.com>
+- */
+- j = 1;
++ /*
++ * Set SO_REUSEADDR on the server socket s.
++ * Below, also try to set SO_REUSEPORT,
++ * if known and supported.
++ */
+ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR,
+- (void *)&j, sizeof j) < 0) {
++ &one, sizeof(one)) < 0) {
+ /* Ignore it. It will almost always be OK anyway. */
+- PILCallLog(LOG, PIL_CRIT,
++ PILCallLog(LOG, PIL_WARN,
+ "ucast: error setting socket option SO_REUSEADDR: %s",
+ strerror(errno));
+- }
++ } else
++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEADDR");
+ #if defined(SO_BINDTODEVICE)
+ {
+ /*
+@@ -600,20 +593,32 @@ static int HB_make_receive_sock(struct h
+ }
+ #endif
+ #if defined(SO_REUSEPORT)
+- {
++ /*
++ * Needed for OpenBSD for more than two nodes in a ucast cluster
++ */
++ if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT,
++ &one, sizeof(one)) == -1) {
+ /*
+- * Needed for OpenBSD for more than two nodes in a ucast cluster
++ * Linux learned SO_REUSEPORT only with kernel 3.9,
++ * but some linux headers already define SO_REUSEPORT.
++ * Which will result in ENOPROTOOPT, "Protocol not available"
++ * on older kernels.
++ * Failure to set SO_REUSEPORT is NOT critical in general.
++ * It *may* be a problem on certain BSDs with more than
++ * two nodes all using ucast.
++ * Refusing to start because of failure to set SO_REUSEPORT is
++ * not helpful for the vast majority of the clusters out there.
+ */
+- int i = 1;
+- if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT,
+- &i, sizeof(i)) == -1) {
++ if (errno == ENOPROTOOPT) {
++ PILCallLog(LOG, PIL_WARN,
++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno));
++ } else {
+ PILCallLog(LOG, PIL_CRIT,
+- "ucast: error setting option SO_REUSEPORT(r) %s", strerror(errno));
+- close(sockfd);
++ "ucast: error setting option SO_REUSEPORT: %s", strerror(errno));
+ return -1;
+ }
+- PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT(w)");
+- }
++ } else
++ PILCallLog(LOG, PIL_INFO, "ucast: set SO_REUSEPORT");
+ #endif
+
+ /* Try binding a few times before giving up */
+
diff --git a/sys-cluster/heartbeat/files/3.0.6-configure.patch b/sys-cluster/heartbeat/files/3.0.6-configure.patch
new file mode 100644
index 000000000000..36054dd23d3b
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.6-configure.patch
@@ -0,0 +1,103 @@
+diff -ru a/configure.ac b/configure.ac
+--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100
++++ b/configure.ac 2017-04-25 13:33:58.668521006 +0200
+@@ -243,9 +243,9 @@
+ mandir=`var "$mandir" "$exec_prefix/man"`
+ dnl docdir is available in autoconf 2.60+, for older versions preseed
+ dnl with the same value that 2.60+ uses
+-docdir=`var "$docdir" "${datadir}/doc/${HB_PKG}"`
+-libdir=`var "$libdir" "$exec_prefix/lib"`
+-libexecdir=`var "$libexecdir" "$exec_prefix/libexec"`
++dnl docdir=`var "$docdir" "${datadir}/doc/${PACKAGE_NAME}"`
++dnl libdir=`var "$libdir" "$exec_prefix/lib"`
++dnl libexecdir=`var "$libexecdir" "$exec_prefix/libexec"`
+ noarchlibdir=`var "$noarchlibdir" "$prefix/lib"`
+
+
+@@ -284,53 +284,12 @@
+ LIBC=`${LDD} ${tmpOutfile} | grep libc | sed -e 's%.*=> *%%' -e 's% .*$%%'`
+ LibCdir=`dirname $LIBC`
+ dirlist=`echo $LibCdir | tr '/' ' '`
+- LibDirSuffix=unknown
+- for dir in $dirlist
+- do
+- case $dir in
+- *lib*) LibDirSuffix=$dir; break;;
+- *);;
+- esac
+- done
+- case $LibDirSuffix in
+- unknown) LibDirSuffix=`basename $LibCdir`;;
+- esac
+ OutFileType=`file $tmpOutfile`
+ rm -f $tmpCfile $tmpOutfile
+ else
+ AC_MSG_ERROR([Cannot Compile trivial C program])
+ fi
+-#
+-# The code above doesn't work right everywhere
+-# (like Fedora and OpenBSD)
+-#
+-case ${LibDirSuffix} in
+- *lib*) : Cool;;
+- *) : Sigh...
+- case $OutFileType in
+- *64-bit*)
+- case $host_os in
+- openbsd*) LibDirSuffix=lib;;
+- *) LibDirSuffix=lib64;;
+- esac;;
+- *32-bit*) LibDirSuffix=lib;;
+- *) LibDirSuffix=lib;;
+- esac;;
+-esac
+-#
+-# This may not yet be quite right for PPC where the default
+-# is to produce 32-bit binaries, even though the OS is 64-bit
+-# or for that matter for system Z, But, it's a lot better than
+-# it used to be.
+-#
+-AC_MSG_RESULT($LibDirSuffix)
+
+-case $libdir in
+- */*${LibDirSuffix}) : Cool ;;
+- *) : Uh Oh...
+- libdir=`dirname $libdir`/$LibDirSuffix
+- AC_MSG_WARN([Overriding libdir to: $libdir]);;
+-esac
+ for j in exec_prefix bindir sbindir datadir sysconfdir localstatedir \
+ includedir oldincludedir mandir docdir stdocdir libdir noarchlibdir
+ do
+@@ -379,7 +338,6 @@
+ fi
+
+ AC_CHECK_HEADERS(heartbeat/glue_config.h)
+-GLUE_HEADER=none
+ if test "$ac_cv_header_heartbeat_glue_config_h" = "yes"; then
+ GLUE_HEADER=heartbeat/glue_config.h
+ else
+@@ -463,15 +421,6 @@
+
+ dnl We use this in the RPM specfile...
+ AC_SUBST(ac_configure_args)
+-cleaned_configure_args=""
+-for j in ${ac_configure_args}
+-do
+- case $j in
+- *--libdir=*|*--libexecdir=*) ;;
+- *) cleaned_configure_args="$cleaned_configure_args $j";;
+- esac
+-done
+-AC_SUBST(cleaned_configure_args)
+
+ dnl *************************************************************************
+ PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin"
+@@ -2087,7 +2036,7 @@
+ fi
+
+ if test "$GCC" = yes; then
+- CFLAGS="$CFLAGS -ggdb3"
++ CFLAGS="$CFLAGS"
+ if
+ cc_supports_flag -funsigned-char
+ then
diff --git a/sys-cluster/heartbeat/files/3.0.6-docs.patch b/sys-cluster/heartbeat/files/3.0.6-docs.patch
new file mode 100644
index 000000000000..7c5c9573109f
--- /dev/null
+++ b/sys-cluster/heartbeat/files/3.0.6-docs.patch
@@ -0,0 +1,59 @@
+diff -ru a/configure.ac b/configure.ac
+--- a/configure.ac 2015-02-04 15:57:04.000000000 +0100
++++ b/configure.ac 2017-04-25 11:57:33.706753890 +0200
+@@ -574,8 +574,14 @@
+ AC_PATH_PROGS(TEST, test)
+ PKG_PROG_PKG_CONFIG
+
+-dnl xsltproc is required for building the man pages
+-AC_PATH_PROGS(XSLTPROC, xsltproc)
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build documentation]
++))
++AS_IF([test "x$enable_doc" = "xyes"], [
++ AC_PATH_PROGS(XSLTPROC, xsltproc)
++])
++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] )
++AC_SUBST(XSLTPROC)
+
+ dnl ************************************************************************
+ dnl Check whether non-root user can chown.
+diff -ru a/doc/Makefile.am b/doc/Makefile.am
+--- a/doc/Makefile.am 2015-02-04 15:57:04.000000000 +0100
++++ b/doc/Makefile.am 2017-04-25 11:58:35.459257834 +0200
+@@ -33,11 +33,12 @@
+
+ doc_DATA = $(OTHER_DOCS)
+
++if BUILD_DOC
+ man_MANS = heartbeat.8 apphbd.8 cl_status.1 \
+ hb_standby.1 hb_takeover.1 hb_addnode.1 hb_delnode.1 \
+ ha.cf.5 authkeys.5
+
+-STYLESHEET_PREFIX ?= http://docbook.sourceforge.net/release/xsl/current
++STYLESHEET_PREFIX ?= /usr/share/sgml/docbook/xsl-stylesheets
+ MANPAGES_STYLESHEET ?= $(STYLESHEET_PREFIX)/manpages/docbook.xsl
+ HTML_STYLESHEET ?= $(STYLESHEET_PREFIX)/xhtml/docbook.xsl
+ FO_STYLESHEET ?= $(STYLESHEET_PREFIX)/fo/docbook.xsl
+@@ -47,6 +48,12 @@
+ XSLTPROC_HTML_OPTIONS ?= $(XSLTPROC_OPTIONS)
+ XSLTPROC_FO_OPTIONS ?= $(XSLTPROC_OPTIONS)
+
++%.5 %.8 %.1: %.xml
++ $(XSLTPROC) \
++ $(XSLTPROC_MANPAGES_OPTIONS) \
++ $(MANPAGES_STYLESHEET) $<
++endif
++
+ EXTRA_DIST = $(txtfiles) $(htmlfiles) $(man_MANS) $(OTHER_DOCS)
+
+ ChangeLog: $(SPECSRC)
+@@ -55,8 +62,3 @@
+
+ .html.txt:
+ if [ "X$(HTML2TXT)" = "X" ]; then echo "Lynx or w3m or user-defined HTML2TXT required to convert $< to $@" >$@ ; else $(HTML2TXT) -dump $< >$@ ; fi
+-
+-%.5 %.8 %.1: %.xml
+- $(XSLTPROC) \
+- $(XSLTPROC_MANPAGES_OPTIONS) \
+- $(MANPAGES_STYLESHEET) $<
diff --git a/sys-cluster/heartbeat/files/heartbeat-init b/sys-cluster/heartbeat/files/heartbeat-init
new file mode 100644
index 000000000000..9316fcc81e8f
--- /dev/null
+++ b/sys-cluster/heartbeat/files/heartbeat-init
@@ -0,0 +1,92 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+HA_DIR=/etc/ha.d
+. $HA_DIR/shellfuncs
+
+depend() {
+ use logger
+ need net
+}
+
+opts="start stop status reload restart"
+
+CheckBool() {
+ case `echo "$1" | tr A-Z a-z` in
+ y|yes|enable|on|true|1) true;;
+ *) false;;
+ esac
+}
+
+# Run pre-startup script if it exists
+RunStartStop() {
+ [ -f $HA_DIR/resource.d/startstop ] && $HA_DIR/resource.d/startstop "$@"
+}
+
+start() {
+ checkpath -q -d -m 0755 -o root:root /var/run/heartbeat
+
+ ebegin "Starting heartbeat"
+
+ . $HA_DIR/shellfuncs
+
+ # start the log subsystem
+ CheckBool "`ha_parameter use_logd`" && \
+ ( /usr/lib/heartbeat/ha_logd -s &>/dev/null || \
+ /usr/lib/heartbeat/ha_logd -d -c /etc/ha.d/ha_logd.cf)
+
+ RunStartStop pre-start
+
+ CheckBool "`ha_parameter crm`" || \
+ /usr/lib/heartbeat/ResourceManager verifyallidle
+
+ /usr/lib/heartbeat/heartbeat &>/dev/null
+ ret=$?
+
+ RunStartStop post-start
+
+ eend ${ret}
+}
+
+stop() {
+ ebegin "Stopping heartbeat"
+
+ RunStartStop pre-stop
+
+ /usr/lib/heartbeat/heartbeat -k &>/dev/null
+ ret=$?
+
+ RunStartStop post-stop ${ret}
+
+ # stop log subsystem
+ CheckBool "`ha_parameter use_logd`" && \
+ ( /usr/lib/heartbeat/ha_logd -s &>/dev/null && \
+ /usr/lib/heartbeat/ha_logd -k &>/dev/null )
+
+ eend ${ret}
+}
+
+status() {
+ /usr/lib/heartbeat/heartbeat -s
+}
+
+reload() {
+ ebegin "Reloading heartbeat"
+ /usr/lib/heartbeat/heartbeat -r &>/dev/null
+ eend $?
+}
+
+restart() {
+ . $HA_DIR/shellfuncs
+
+ sleeptime=$(( `ha_parameter deadtime` + 10 ))
+
+ svc_stop
+
+ ebegin " waiting ${sleeptime}s to allow resource takeover to complete"
+ sleep ${sleeptime}
+ eend 0
+
+ svc_start
+}
diff --git a/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild
new file mode 100644
index 000000000000..20aadc77cebf
--- /dev/null
+++ b/sys-cluster/heartbeat/heartbeat-3.0.5-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+PYTHON_COMPAT=( python2_7 )
+inherit autotools python-single-r1
+
+DESCRIPTION="Heartbeat high availability cluster manager"
+HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat"
+SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="doc snmp static-libs"
+
+RDEPEND="sys-cluster/cluster-glue
+ dev-libs/glib:2
+ virtual/ssh
+ net-libs/gnutls
+ snmp? ( net-analyzer/net-snmp )
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/swig
+ doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )"
+
+PDEPEND="sys-cluster/resource-agents"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV}
+
+PATCHES=(
+ "${FILESDIR}/3.0.4-fix_configure.patch"
+ "${FILESDIR}/3.0.4-docs.patch"
+ "${FILESDIR}/3.0.4-python_tests.patch"
+ "${FILESDIR}/3.0.5-fix_ucast.patch"
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+
+ ewarn "If you're upgrading from heartbeat-2.x please follow:"
+ ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+
+ cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die
+ sed -i \
+ -e "/ResourceManager/ s/lib/share/" \
+ -e "s:lib:$(get_libdir):g" \
+ "${WORKDIR}"/heartbeat-init || die
+}
+
+src_configure() {
+ econf \
+ --disable-fatal-warnings \
+ $(use_enable static-libs static) \
+ $(use_enable doc) \
+ --disable-tipc \
+ --enable-dopd \
+ $(use_enable snmp)
+}
+
+src_install() {
+ default
+
+ newinitd "${WORKDIR}/heartbeat-init" heartbeat
+
+ # fix collisions
+ rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die
+
+ if ! use static-libs; then
+ find "${D}" -name "*.la" -delete || die
+ fi
+
+ if use doc ; then
+ dodoc README doc/*.txt doc/AUTHORS || die
+ fi
+}
diff --git a/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild
new file mode 100644
index 000000000000..87b148818ad4
--- /dev/null
+++ b/sys-cluster/heartbeat/heartbeat-3.0.6.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools python-single-r1
+
+DESCRIPTION="Heartbeat high availability cluster manager"
+HOMEPAGE="http://www.linux-ha.org/wiki/Heartbeat"
+SRC_URI="http://hg.linux-ha.org/${PN}-STABLE_3_0/archive/STABLE-${PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc snmp static-libs"
+
+RDEPEND="sys-cluster/cluster-glue
+ dev-libs/glib:2
+ virtual/ssh
+ net-libs/gnutls
+ snmp? ( net-analyzer/net-snmp )
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ dev-lang/swig
+ doc? ( dev-libs/libxslt app-text/docbook-xsl-stylesheets )"
+
+PDEPEND="sys-cluster/resource-agents"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+S=${WORKDIR}/Heartbeat-3-0-STABLE-${PV}
+
+PATCHES=(
+ "${FILESDIR}/3.0.6-configure.patch"
+ "${FILESDIR}/3.0.6-docs.patch"
+ "${FILESDIR}/3.0.4-python_tests.patch"
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+
+ ewarn "If you're upgrading from heartbeat-2.x please follow:"
+ ewarn "https://www.gentoo.org/proj/en/cluster/ha-cluster/heartbeat-upgrade.xml"
+}
+
+src_prepare() {
+ default
+ eautoreconf
+
+ cp "${FILESDIR}"/heartbeat-init "${WORKDIR}" || die
+ sed -i \
+ -e "/ResourceManager/ s/lib/share/" \
+ -e "s:lib:$(get_libdir):g" \
+ "${WORKDIR}"/heartbeat-init || die
+}
+
+src_configure() {
+ econf \
+ --disable-fatal-warnings \
+ $(use_enable static-libs static) \
+ $(use_enable doc) \
+ --disable-tipc \
+ --enable-dopd \
+ $(use_enable snmp)
+}
+
+src_install() {
+ default
+
+ newinitd "${WORKDIR}/heartbeat-init" heartbeat
+
+ # fix collisions
+ rm -rf "${D}"/usr/include/heartbeat/{compress,ha_msg}.h || die
+
+ if ! use static-libs; then
+ find "${D}" -name "*.la" -delete || die
+ fi
+
+ if use doc ; then
+ dodoc README doc/*.txt doc/AUTHORS || die
+ fi
+}
diff --git a/sys-cluster/heartbeat/metadata.xml b/sys-cluster/heartbeat/metadata.xml
new file mode 100644
index 000000000000..5b089a69229f
--- /dev/null
+++ b/sys-cluster/heartbeat/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+
+ <longdescription>
+ Heartbeat is a cluster manager to handle failover of 2 nodes.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/heat/Manifest b/sys-cluster/heat/Manifest
new file mode 100644
index 000000000000..06045a03b382
--- /dev/null
+++ b/sys-cluster/heat/Manifest
@@ -0,0 +1,18 @@
+AUX heat.initd 1349 SHA256 6351d06084b740daebd7b4b225d0f953e576f32be269acd1e8793c6433473411 SHA512 a2a2f45bb4268260ca88d7cb5c2df1e9d27041bf36fa59aadc7e39d85b79aad6992c70a3e8f9d580a493801c75299ab99191df23624ad70139f30758d8027492 WHIRLPOOL 851a5ab7febd2d8901446db2a5682cdb1c12582a0a8320ec4650abdefed2229eedf4404d4faa68f050fd96362ba4bb21e00da61493994d380a4927257a5365ad
+AUX heat.initd-2 463 SHA256 2c7f4e524c7b8022aa5a68406655bdb3a47b9d6bd6a44329d9710c760ce14c82 SHA512 8f92853d6bb21e6efae3a59bc2856bd496498297e43a5aa0350a3202e8a709cfd0791f77017b77d8b7845c3cf0d2b266273026c9cac869e3dbc749e36bf83c7c WHIRLPOOL b3379ec3c880e423c121c2b9e25039005d587c8765ade235173816e1434a79c94cd3f7da09cc18ee6d30dcc8c2e45fb10c5722a5596ce08b93353c59c2efb16a
+AUX newton-heat.conf.sample 44580 SHA256 a14fcca8e128e588077fdcafbf991a383ac926bf621273a5925055a7faaebd33 SHA512 e96aad96d7b93c704ab03b7f9e6edb9ea20f6854f6d3fb79fe2bba800e7fc320e20cb1adec5d4b5f499dcb9f7dd786e54eae62670af43f4fc5681f3e6ce6fcf4 WHIRLPOOL 411b5963ff433eab8d572b44b39a98defc23a411e24169030a22b27e70d9957185d448e2d07caabe132dc71b3f95fddd4f4569e25d462faea1b749b5327bc96d
+DIST heat-7.0.6.tar.gz 2253662 SHA256 2881c02f265f961c78506ae2b0acdf7f74a7a294517f23b43dadad854dd53653 SHA512 49cdf09fd38e663fc35226d743ea54f64303c86ccda2071db77ca1df861da253226a453d194b4652fe1f5c542529200c16232d654d8b7c0d59e5cd5c9e215834 WHIRLPOOL 85fd932158f3024a8dbcd36a5bd2c3cacee453bb53c267a8de68dca3f4eafe6ea0bb22f8a6416fab958dd798469ca64685f4704f97bfe9f31ba3b87f561b9034
+DIST heat-8.0.4.tar.gz 2304762 SHA256 7997dac0f35ad7fb236536959a46e843dab56dbce5694849585cb97affbbb198 SHA512 9846114813b743ba9abfb4ce6e9d3cdcddfb81a242fda83a9d22a9fc30017fec2464f3b75364d9be38d50218e79485f3405e429fac1830d163c50737b07c2865 WHIRLPOOL 8420bffb6e2b86528d9104abb981368fa2fe36b33057b0e02f1fcf9e9106a4cd58bdb833e459e38a64bd47b2f4955e15f589673b57442184e3bcd60894feab4b
+DIST heat-9.0.0.tar.gz 2359104 SHA256 36dbb46b72bf7b495ba8812804da7d4e9bb59481743e6e0499e904efdf4ee7be SHA512 d60cfd69807af5a51da6d236e5ccf482a5fd65f8bb2e5e8287eca587f27d0af570979b554a311037904a7c01cd8dcba43a5ef577261fb7f12a557ba6ff2ec58e WHIRLPOOL 43f9afaa57e84e7e29bba4754d3b7499afece40961891dafd6bf75da3032f79806dee6d4de91e0afd24ad53b97cf615e91df46646ed39b2df05fa53d36a31527
+DIST heat.conf.sample-2017.1.9999 88798 SHA256 688a6fd65df3b9f004345c8cf739c5a553b6806213c399ac25846d1ad248e963 SHA512 5ea23f33ddc2b34414371a612041abd075694a7d63bb55efd1e75f313b4e9f35e0d68b420536bc474cd4896b0295d8763bdecbb07c71d29c462c14183159e560 WHIRLPOOL 9a91069136dcbf15d47a4b5df6521ca2740eb1a88feab57b28f2f921e517ae7557125b5ea877d4c9ed5314321c8de551270722809d270c1b8ae0245d2a75b515
+DIST heat.conf.sample-2017.2.9999 88901 SHA256 cb46fbbfa0e8ccccdc84c4637312f0d21b0c95037d2b3404623653c1b5eb0a92 SHA512 f62feaa4a0d27866876aed9f78099501247ae4b7deaefd04d77b1f4b2a1d1c991e6f3e68d9f82e3b6a4358c99fbffd90f14a05ff98105df0ef0db68ef8bc6932 WHIRLPOOL 284ad592883c8e42518872d603d097672056ba25a194569f31ee9244d1095f640f02097fda0a6539b47247ba580929d79ec173f1847bfc5e19bf45fb8cbe4720
+DIST heat.conf.sample-8.0.4 88798 SHA256 688a6fd65df3b9f004345c8cf739c5a553b6806213c399ac25846d1ad248e963 SHA512 5ea23f33ddc2b34414371a612041abd075694a7d63bb55efd1e75f313b4e9f35e0d68b420536bc474cd4896b0295d8763bdecbb07c71d29c462c14183159e560 WHIRLPOOL 9a91069136dcbf15d47a4b5df6521ca2740eb1a88feab57b28f2f921e517ae7557125b5ea877d4c9ed5314321c8de551270722809d270c1b8ae0245d2a75b515
+DIST heat.conf.sample-9.0.0 88901 SHA256 cb46fbbfa0e8ccccdc84c4637312f0d21b0c95037d2b3404623653c1b5eb0a92 SHA512 f62feaa4a0d27866876aed9f78099501247ae4b7deaefd04d77b1f4b2a1d1c991e6f3e68d9f82e3b6a4358c99fbffd90f14a05ff98105df0ef0db68ef8bc6932 WHIRLPOOL 284ad592883c8e42518872d603d097672056ba25a194569f31ee9244d1095f640f02097fda0a6539b47247ba580929d79ec173f1847bfc5e19bf45fb8cbe4720
+EBUILD heat-2016.2.9999.ebuild 5772 SHA256 e6809ac0a7ed08f165bae4d2be6714561d7da482eb48e3aefb6995823eec99ab SHA512 277ce6153525e4f4c8c3e98a8f11469cc1fab0be1e566b8830220a00f5ee493a8effa9e0e52d28ca4cbae82c5bdc4f127f76dc4b0b0d8b570889f47f559af963 WHIRLPOOL 3bcfb10b7d7b12991e2097d7c49733397ed57932b6a0a55a888a28e0ebc0fbda32d9145708451ea85abfbe80759964d697e59f2b06cd5ef50777e1cf0691519a
+EBUILD heat-2017.1.9999.ebuild 5666 SHA256 6a00fb00d27ca007fde4f73f112019af92cb6a5d79d578ff19a1cb05f7d1f368 SHA512 3b99e7e4b8fa48d17e72b2e404c818da31ba668f63d76f4404ff42a6862f0918e4b9ac91fdc95977dda98c931ebd893cadba35553dcb437f563b75905b6ce058 WHIRLPOOL 86a5eaf23be27bd19123ea137b1d3f78fe7b055c1855527677d619d45dd48ae9189d8a740927250f0eed193653c7cc3448b8a06da3c91d4935383506b21c53b9
+EBUILD heat-2017.2.9999.ebuild 6456 SHA256 2fe1669fee37a96e85605a9a968d9f3dbd1a8b2575af46b6c6d57584e4efd4aa SHA512 5f57c8610494a03382c9f2e60716eb221b26e39f56354637960bfc2166437e0d217297911460c8d34a60b5f2dc00e2aa00d10f8b17d0d025c7d5341510e53a7f WHIRLPOOL de4d89ebd301252ca63cb967abee76d6cb6d4ddacfc21e9ff8e81cbf1d5044f1ed4dd11ad8c6416959f285be8c7d7f5cc5fc1f0a2906401b814b9b5f4fddbd44
+EBUILD heat-7.0.6.ebuild 5735 SHA256 014a74d7f5d8b308e8cb2f75ad953d85d3eea7ae17dbaa8267898d802a82a823 SHA512 f0733c8af206a3529e7ac0ac5a2b4cb814fc30eeb3ae12fa467dcc4015540e812d14b7a92d16b80bd054797fd6f9617ac213cbbb936e4d857f5e5f7520f8f873 WHIRLPOOL 74d351a605d5a949d4d6bdee98431852d407b3dfc9de0149ebce1990e91cd0527165d42360c8475fde325a32f302f91793fe4d0e91ce4999d147a82aaffeef3c
+EBUILD heat-8.0.4.ebuild 5644 SHA256 7f86f98db8c106c035b62da96aa43ee9ab19af49bb36d4f002999d8a16eb90f6 SHA512 7cf53cd26567282869ce2aaf1b045cd30c16af63fe484fd238cae512ce8c8a04018d76d5fd7cb828a690d9d24526cdc5b259e7b3b0a4e786b090c41b290269cb WHIRLPOOL 9b9fc8adda07a3d08b84600ba51afd7599110463564584d2e0fef574113ba1db50c10c0acf638c90773242441ec1e244defc0cb98abbf33fc0a8b8eceb66da5c
+EBUILD heat-9.0.0.ebuild 6435 SHA256 6af699b66af71f9cd386b2784ff5d2f53326dbefa0769680cad695837900b4de SHA512 2d4de5bd02b861ef4e6b306314629bd06c2c883b56e5493e8efda75cf7a62fc5a600002c401115ac34c019325fb858ddc059ae307cf2e7751dfdbd0b4c9d22eb WHIRLPOOL 28f9bce391a7f3d7cfb8ea3ffb86fcace088f8bae779b660a2c1d117514d0e65dfd2081b9377f42500c55809a55ad4638e5edcded737e80aacb8064e690dbdf5
+MISC ChangeLog 1787 SHA256 3deab106bdcbb6a3b66d3c6a12797c9d36e1e77d24534669bf06759f5119981e SHA512 7d7b6abdfafe22c664c324317e6e9caa39f25d9ab8f49325534e414ec776ec7611538df92ac7b1dff370cc31c27f7b04a0c9346edc257bb46a48de9f858acc0a WHIRLPOOL a05b856678fccde635231f43c3275dee8b1f92aad8ff12988b2a03a087d61ac598f70d94e22efa9dc3630c99cd446ae5d84579db48f15043bbe00437d0ab8eef
+MISC metadata.xml 631 SHA256 d276373e28e559d61fd96704214c329d6e264841cde3147f0600e52ef877c5e6 SHA512 44e741975cc462454bfd08fce461b019c5ef141997f272796052f7f3aa7297646304cdc7d75a2ed01319bcba753475ba5861306c3ac74f3d97218bce60d42429 WHIRLPOOL cb83fb56d6316389e63043623c025abfc09352d6ade6a0aee9d442f8bf4603f09167b99aba5593ae4fa55be369b3c7ae442dc7ac5ed680c2d4a666a8c92baaef
diff --git a/sys-cluster/heat/files/heat.initd b/sys-cluster/heat/files/heat.initd
new file mode 100644
index 000000000000..41ec14cf82a3
--- /dev/null
+++ b/sys-cluster/heat/files/heat.initd
@@ -0,0 +1,52 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+BASENAME=$(echo $SVCNAME | cut -d '-' -f 1)
+SERVERNAME=$(echo $SVCNAME | cut -d '-' -f 2)
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -r /etc/conf.d/$BASENAME ]; then
+ eerror "No heat conf.d file found: /etc/conf.d/$BASENAME)"
+ else
+ . /etc/conf.d/$BASENAME
+ fi
+}
+
+start() {
+ checkconfig || return $?
+
+ ebegin "Starting ${SVCNAME}"
+ if [ ! -d ${PID_PATH} ]; then
+ mkdir ${PID_PATH}
+ chown heat:root ${PID_PATH}
+ fi
+
+ start-stop-daemon --start \
+ --quiet \
+ --user heat \
+ --pidfile "${PID_PATH}/${SVCNAME}.pid" \
+ --make-pidfile \
+ --background \
+ --exec /usr/bin/heat-${SERVERNAME} -- --config-file /etc/heat/heat.conf --log-file /var/log/heat/heat-${SERVERNAME}
+
+ eend $? "Failed to start ${SVCNAME}"
+}
+
+stop() {
+ checkconfig || return $?
+
+ ebegin "Stopping ${SVCNAME}"
+
+ start-stop-daemon --stop \
+ --quiet \
+ --user heat \
+ --pidfile "${PID_PATH}/${SVCNAME}.pid" \
+ --exec /usr/bin/heat-${SERVERNAME} -- --config-file /etc/heat/heat.conf
+
+ eend $? "Failed to stop ${SVCNAME}"
+}
diff --git a/sys-cluster/heat/files/heat.initd-2 b/sys-cluster/heat/files/heat.initd-2
new file mode 100644
index 000000000000..2161aa9918ee
--- /dev/null
+++ b/sys-cluster/heat/files/heat.initd-2
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${SVCNAME}
+command_user="${HEAT_USER:-heat}"
+command_background=yes
+command_args="--config-file /etc/heat/heat.conf --log-file ${HEAT_LOGDIR:-/var/log/heat}/${SVCNAME}.log"
+pidfile=/run/${SVCNAME}.pid
+required_files=/etc/heat/heat.conf
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/heat/files/newton-heat.conf.sample b/sys-cluster/heat/files/newton-heat.conf.sample
new file mode 100644
index 000000000000..433b8ba3e5e8
--- /dev/null
+++ b/sys-cluster/heat/files/newton-heat.conf.sample
@@ -0,0 +1,1225 @@
+[DEFAULT]
+
+#
+# From oslo.log
+#
+
+# If set to true, the logging level will be set to DEBUG instead of the default
+# INFO level. (boolean value)
+# Note: This option can be changed without restarting.
+#debug = false
+
+# DEPRECATED: If set to false, the logging level will be set to WARNING instead
+# of the default INFO level. (boolean value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#verbose = true
+
+# The name of a logging configuration file. This file is appended to any
+# existing logging configuration files. For details about logging configuration
+# files, see the Python logging module documentation. Note that when logging
+# configuration files are used then all logging configuration is set in the
+# configuration file and other logging configuration options are ignored (for
+# example, logging_context_format_string). (string value)
+# Note: This option can be changed without restarting.
+# Deprecated group/name - [DEFAULT]/log_config
+#log_config_append = <None>
+
+# Defines the format string for %%(asctime)s in log records. Default:
+# %(default)s . This option is ignored if log_config_append is set. (string
+# value)
+#log_date_format = %Y-%m-%d %H:%M:%S
+
+# (Optional) Name of log file to send logging output to. If no default is set,
+# logging will go to stderr as defined by use_stderr. This option is ignored if
+# log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logfile
+#log_file = <None>
+
+# (Optional) The base directory used for relative log_file paths. This option
+# is ignored if log_config_append is set. (string value)
+# Deprecated group/name - [DEFAULT]/logdir
+#log_dir = <None>
+
+# Uses logging handler designed to watch file system. When log file is moved or
+# removed this handler will open a new log file with specified path
+# instantaneously. It makes sense only if log_file option is specified and
+# Linux platform is used. This option is ignored if log_config_append is set.
+# (boolean value)
+#watch_log_file = false
+
+# Use syslog for logging. Existing syslog format is DEPRECATED and will be
+# changed later to honor RFC5424. This option is ignored if log_config_append
+# is set. (boolean value)
+#use_syslog = false
+
+# Syslog facility to receive log lines. This option is ignored if
+# log_config_append is set. (string value)
+#syslog_log_facility = LOG_USER
+
+# Log output to standard error. This option is ignored if log_config_append is
+# set. (boolean value)
+#use_stderr = true
+
+# Format string to use for log messages with context. (string value)
+#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
+
+# Format string to use for log messages when context is undefined. (string
+# value)
+#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
+
+# Additional data to append to log message when logging level for the message
+# is DEBUG. (string value)
+#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
+
+# Prefix each line of exception output with this format. (string value)
+#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
+
+# Defines the format string for %(user_identity)s that is used in
+# logging_context_format_string. (string value)
+#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
+
+# List of package logging levels in logger=LEVEL pairs. This option is ignored
+# if log_config_append is set. (list value)
+#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
+
+# Enables or disables publication of error events. (boolean value)
+#publish_errors = false
+
+# The format for an instance that is passed with the log message. (string
+# value)
+#instance_format = "[instance: %(uuid)s] "
+
+# The format for an instance UUID that is passed with the log message. (string
+# value)
+#instance_uuid_format = "[instance: %(uuid)s] "
+
+# Enables or disables fatal status of deprecations. (boolean value)
+#fatal_deprecations = false
+
+#
+# From oslo.messaging
+#
+
+# Size of RPC connection pool. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
+#rpc_conn_pool_size = 30
+
+# The pool size limit for connections expiration policy (integer value)
+#conn_pool_min_size = 2
+
+# The time-to-live in sec of idle connections in the pool (integer value)
+#conn_pool_ttl = 1200
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
+# The "host" option should point or resolve to this address. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
+#rpc_zmq_bind_address = *
+
+# MatchMaker driver. (string value)
+# Allowed values: redis, dummy
+# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
+#rpc_zmq_matchmaker = redis
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
+#rpc_zmq_contexts = 1
+
+# Maximum number of ingress messages to locally buffer per topic. Default is
+# unlimited. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
+#rpc_zmq_topic_backlog = <None>
+
+# Directory for holding IPC sockets. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
+#rpc_zmq_ipc_dir = /var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
+# "host" option, if running Nova. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_host
+#rpc_zmq_host = localhost
+
+# Seconds to wait before a cast expires (TTL). The default value of -1
+# specifies an infinite linger period. The value of 0 specifies no linger
+# period. Pending messages shall be discarded immediately when the socket is
+# closed. Only supported by impl_zmq. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
+#rpc_cast_timeout = -1
+
+# The default number of seconds that poll should wait. Poll raises timeout
+# exception when timeout expired. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
+#rpc_poll_timeout = 1
+
+# Expiration timeout in seconds of a name service record about existing target
+# ( < 0 means no timeout). (integer value)
+# Deprecated group/name - [DEFAULT]/zmq_target_expire
+#zmq_target_expire = 300
+
+# Update period in seconds of a name service record about existing target.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/zmq_target_update
+#zmq_target_update = 180
+
+# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
+# value)
+# Deprecated group/name - [DEFAULT]/use_pub_sub
+#use_pub_sub = true
+
+# Use ROUTER remote proxy. (boolean value)
+# Deprecated group/name - [DEFAULT]/use_router_proxy
+#use_router_proxy = true
+
+# Minimal port number for random ports range. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
+#rpc_zmq_min_port = 49153
+
+# Maximal port number for random ports range. (integer value)
+# Minimum value: 1
+# Maximum value: 65536
+# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
+#rpc_zmq_max_port = 65536
+
+# Number of retries to find free port number before fail with ZMQBindError.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
+#rpc_zmq_bind_port_retries = 100
+
+# Default serialization mechanism for serializing/deserializing
+# outgoing/incoming messages (string value)
+# Allowed values: json, msgpack
+# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
+#rpc_zmq_serialization = json
+
+# This option configures round-robin mode in zmq socket. True means not keeping
+# a queue when server side disconnects. False means to keep queue and messages
+# even if server is disconnected, when the server appears we send all
+# accumulated messages to it. (boolean value)
+#zmq_immediate = false
+
+# Size of executor thread pool. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
+#executor_thread_pool_size = 64
+
+# Seconds to wait for a response from a call. (integer value)
+#rpc_response_timeout = 60
+
+# A URL representing the messaging driver to use and its full configuration.
+# (string value)
+#transport_url = <None>
+
+# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
+# include amqp and zmq. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rpc_backend = rabbit
+
+# The default exchange under which topics are scoped. May be overridden by an
+# exchange name specified in the transport_url option. (string value)
+#control_exchange = openstack
+
+#
+# From oslo.service.periodic_task
+#
+
+# Some periodic tasks can be run in a separate process. Should we run them
+# here? (boolean value)
+#run_external_periodic_tasks = true
+
+#
+# From oslo.service.service
+#
+
+# Enable eventlet backdoor. Acceptable values are 0, <port>, and
+# <start>:<end>, where 0 results in listening on a random tcp port number;
+# <port> results in listening on the specified port number (and not enabling
+# backdoor if that port is in use); and <start>:<end> results in listening on
+# the smallest unused port number within the specified range of port numbers.
+# The chosen port is displayed in the service's log file. (string value)
+#backdoor_port = <None>
+
+# Enable eventlet backdoor, using the provided path as a unix socket that can
+# receive connections. This option is mutually exclusive with 'backdoor_port'
+# in that only one should be provided. If both are provided then the existence
+# of this option overrides the usage of that option. (string value)
+#backdoor_socket = <None>
+
+# Enables or disables logging values of all registered options when starting a
+# service (at DEBUG level). (boolean value)
+#log_options = true
+
+# Specify a timeout after which a gracefully shutdown server will exit. Zero
+# value means endless wait. (integer value)
+#graceful_shutdown_timeout = 60
+
+
+[cors]
+
+#
+# From oslo.middleware
+#
+
+# Indicate whether this resource may be shared with the domain received in the
+# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
+# slash. Example: https://horizon.example.com (list value)
+#allowed_origin = <None>
+
+# Indicate that the actual request can include user credentials (boolean value)
+#allow_credentials = true
+
+# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
+# Headers. (list value)
+#expose_headers =
+
+# Maximum cache age of CORS preflight requests. (integer value)
+#max_age = 3600
+
+# Indicate which methods can be used during the actual request. (list value)
+#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH
+
+# Indicate which header field names may be used during the actual request.
+# (list value)
+#allow_headers =
+
+
+[cors.subdomain]
+
+#
+# From oslo.middleware
+#
+
+# Indicate whether this resource may be shared with the domain received in the
+# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
+# slash. Example: https://horizon.example.com (list value)
+#allowed_origin = <None>
+
+# Indicate that the actual request can include user credentials (boolean value)
+#allow_credentials = true
+
+# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
+# Headers. (list value)
+#expose_headers =
+
+# Maximum cache age of CORS preflight requests. (integer value)
+#max_age = 3600
+
+# Indicate which methods can be used during the actual request. (list value)
+#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH
+
+# Indicate which header field names may be used during the actual request.
+# (list value)
+#allow_headers =
+
+
+[database]
+
+#
+# From oslo.db
+#
+
+# DEPRECATED: The file name to use with SQLite. (string value)
+# Deprecated group/name - [DEFAULT]/sqlite_db
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Should use config option connection or slave_connection to connect
+# the database.
+#sqlite_db = oslo.sqlite
+
+# If True, SQLite uses synchronous mode. (boolean value)
+# Deprecated group/name - [DEFAULT]/sqlite_synchronous
+#sqlite_synchronous = true
+
+# The back end to use for the database. (string value)
+# Deprecated group/name - [DEFAULT]/db_backend
+#backend = sqlalchemy
+
+# The SQLAlchemy connection string to use to connect to the database. (string
+# value)
+# Deprecated group/name - [DEFAULT]/sql_connection
+# Deprecated group/name - [DATABASE]/sql_connection
+# Deprecated group/name - [sql]/connection
+#connection = <None>
+
+# The SQLAlchemy connection string to use to connect to the slave database.
+# (string value)
+#slave_connection = <None>
+
+# The SQL mode to be used for MySQL sessions. This option, including the
+# default, overrides any server-set SQL mode. To use whatever SQL mode is set
+# by the server configuration, set this to no value. Example: mysql_sql_mode=
+# (string value)
+#mysql_sql_mode = TRADITIONAL
+
+# Timeout before idle SQL connections are reaped. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_idle_timeout
+# Deprecated group/name - [DATABASE]/sql_idle_timeout
+# Deprecated group/name - [sql]/idle_timeout
+#idle_timeout = 3600
+
+# Minimum number of SQL connections to keep open in a pool. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_min_pool_size
+# Deprecated group/name - [DATABASE]/sql_min_pool_size
+#min_pool_size = 1
+
+# Maximum number of SQL connections to keep open in a pool. Setting a value of
+# 0 indicates no limit. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_pool_size
+# Deprecated group/name - [DATABASE]/sql_max_pool_size
+#max_pool_size = 5
+
+# Maximum number of database connection retries during startup. Set to -1 to
+# specify an infinite retry count. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_retries
+# Deprecated group/name - [DATABASE]/sql_max_retries
+#max_retries = 10
+
+# Interval between retries of opening a SQL connection. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_retry_interval
+# Deprecated group/name - [DATABASE]/reconnect_interval
+#retry_interval = 10
+
+# If set, use this value for max_overflow with SQLAlchemy. (integer value)
+# Deprecated group/name - [DEFAULT]/sql_max_overflow
+# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
+#max_overflow = 50
+
+# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
+# value)
+# Minimum value: 0
+# Maximum value: 100
+# Deprecated group/name - [DEFAULT]/sql_connection_debug
+#connection_debug = 0
+
+# Add Python stack traces to SQL as comment strings. (boolean value)
+# Deprecated group/name - [DEFAULT]/sql_connection_trace
+#connection_trace = false
+
+# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
+# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
+#pool_timeout = <None>
+
+# Enable the experimental use of database reconnect on connection lost.
+# (boolean value)
+#use_db_reconnect = false
+
+# Seconds between retries of a database transaction. (integer value)
+#db_retry_interval = 1
+
+# If True, increases the interval between retries of a database operation up to
+# db_max_retry_interval. (boolean value)
+#db_inc_retry_interval = true
+
+# If db_inc_retry_interval is set, the maximum seconds between retries of a
+# database operation. (integer value)
+#db_max_retry_interval = 10
+
+# Maximum retries in case of connection error or deadlock error before error is
+# raised. Set to -1 to specify an infinite retry count. (integer value)
+#db_max_retries = 20
+
+
+[keystone_authtoken]
+
+#
+# From keystonemiddleware.auth_token
+#
+
+# Complete "public" Identity API endpoint. This endpoint should not be an
+# "admin" endpoint, as it should be accessible by all end users.
+# Unauthenticated clients are redirected to this endpoint to authenticate.
+# Although this endpoint should ideally be unversioned, client support in the
+# wild varies. If you're using a versioned v2 endpoint here, then this should
+# *not* be the same endpoint the service user utilizes for validating tokens,
+# because normal end users may not be able to reach that endpoint. (string
+# value)
+#auth_uri = <None>
+
+# API version of the admin Identity API endpoint. (string value)
+#auth_version = <None>
+
+# Do not handle authorization requests within the middleware, but delegate the
+# authorization decision to downstream WSGI components. (boolean value)
+#delay_auth_decision = false
+
+# Request timeout value for communicating with Identity API server. (integer
+# value)
+#http_connect_timeout = <None>
+
+# How many times are we trying to reconnect when communicating with Identity
+# API Server. (integer value)
+#http_request_max_retries = 3
+
+# Request environment key where the Swift cache object is stored. When
+# auth_token middleware is deployed with a Swift cache, use this option to have
+# the middleware share a caching backend with swift. Otherwise, use the
+# ``memcached_servers`` option instead. (string value)
+#cache = <None>
+
+# Required if identity server requires client certificate (string value)
+#certfile = <None>
+
+# Required if identity server requires client certificate (string value)
+#keyfile = <None>
+
+# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
+# Defaults to system CAs. (string value)
+#cafile = <None>
+
+# Verify HTTPS connections. (boolean value)
+#insecure = false
+
+# The region in which the identity server can be found. (string value)
+#region_name = <None>
+
+# Directory used to cache files related to PKI tokens. (string value)
+#signing_dir = <None>
+
+# Optionally specify a list of memcached server(s) to use for caching. If left
+# undefined, tokens will instead be cached in-process. (list value)
+# Deprecated group/name - [keystone_authtoken]/memcache_servers
+#memcached_servers = <None>
+
+# In order to prevent excessive effort spent validating tokens, the middleware
+# caches previously-seen tokens for a configurable duration (in seconds). Set
+# to -1 to disable caching completely. (integer value)
+#token_cache_time = 300
+
+# Determines the frequency at which the list of revoked tokens is retrieved
+# from the Identity service (in seconds). A high number of revocation events
+# combined with a low cache duration may significantly reduce performance. Only
+# valid for PKI tokens. (integer value)
+#revocation_cache_time = 10
+
+# (Optional) If defined, indicate whether token data should be authenticated or
+# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
+# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
+# cache. If the value is not one of these options or empty, auth_token will
+# raise an exception on initialization. (string value)
+# Allowed values: None, MAC, ENCRYPT
+#memcache_security_strategy = None
+
+# (Optional, mandatory if memcache_security_strategy is defined) This string is
+# used for key derivation. (string value)
+#memcache_secret_key = <None>
+
+# (Optional) Number of seconds memcached server is considered dead before it is
+# tried again. (integer value)
+#memcache_pool_dead_retry = 300
+
+# (Optional) Maximum total number of open connections to every memcached
+# server. (integer value)
+#memcache_pool_maxsize = 10
+
+# (Optional) Socket timeout in seconds for communicating with a memcached
+# server. (integer value)
+#memcache_pool_socket_timeout = 3
+
+# (Optional) Number of seconds a connection to memcached is held unused in the
+# pool before it is closed. (integer value)
+#memcache_pool_unused_timeout = 60
+
+# (Optional) Number of seconds that an operation will wait to get a memcached
+# client connection from the pool. (integer value)
+#memcache_pool_conn_get_timeout = 10
+
+# (Optional) Use the advanced (eventlet safe) memcached client pool. The
+# advanced pool will only work under python 2.x. (boolean value)
+#memcache_use_advanced_pool = false
+
+# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
+# middleware will not ask for service catalog on token validation and will not
+# set the X-Service-Catalog header. (boolean value)
+#include_service_catalog = true
+
+# Used to control the use and type of token binding. Can be set to: "disabled"
+# to not check token binding. "permissive" (default) to validate binding
+# information if the bind type is of a form known to the server and ignore it
+# if not. "strict" like "permissive" but if the bind type is unknown the token
+# will be rejected. "required" any form of token binding is needed to be
+# allowed. Finally the name of a binding method that must be present in tokens.
+# (string value)
+#enforce_token_bind = permissive
+
+# If true, the revocation list will be checked for cached tokens. This requires
+# that PKI tokens are configured on the identity server. (boolean value)
+#check_revocations_for_cached = false
+
+# Hash algorithms to use for hashing PKI tokens. This may be a single algorithm
+# or multiple. The algorithms are those supported by Python standard
+# hashlib.new(). The hashes will be tried in the order given, so put the
+# preferred one first for performance. The result of the first hash will be
+# stored in the cache. This will typically be set to multiple values only while
+# migrating from a less secure algorithm to a more secure one. Once all the old
+# tokens are expired this option should be set to a single value for better
+# performance. (list value)
+#hash_algorithms = md5
+
+# Authentication type to load (string value)
+# Deprecated group/name - [keystone_authtoken]/auth_plugin
+#auth_type = <None>
+
+# Config Section from which to load plugin specific options (string value)
+#auth_section = <None>
+
+
+[matchmaker_redis]
+
+#
+# From oslo.messaging
+#
+
+# DEPRECATED: Host to locate redis. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#host = 127.0.0.1
+
+# DEPRECATED: Use this port to connect to redis host. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#port = 6379
+
+# DEPRECATED: Password for Redis server (optional). (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#password =
+
+# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g.
+# [host:port, host1:port ... ] (list value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#sentinel_hosts =
+
+# Redis replica set name. (string value)
+#sentinel_group_name = oslo-messaging-zeromq
+
+# Time in ms to wait between connection attempts. (integer value)
+#wait_timeout = 2000
+
+# Time in ms to wait before the transaction is killed. (integer value)
+#check_timeout = 20000
+
+# Timeout in ms on blocking socket operations (integer value)
+#socket_timeout = 10000
+
+
+[oslo_messaging_amqp]
+
+#
+# From oslo.messaging
+#
+
+# Name for the AMQP container. must be globally unique. Defaults to a generated
+# UUID (string value)
+# Deprecated group/name - [amqp1]/container_name
+#container_name = <None>
+
+# Timeout for inactive connections (in seconds) (integer value)
+# Deprecated group/name - [amqp1]/idle_timeout
+#idle_timeout = 0
+
+# Debug: dump AMQP frames to stdout (boolean value)
+# Deprecated group/name - [amqp1]/trace
+#trace = false
+
+# CA certificate PEM file to verify server certificate (string value)
+# Deprecated group/name - [amqp1]/ssl_ca_file
+#ssl_ca_file =
+
+# Identifying certificate PEM file to present to clients (string value)
+# Deprecated group/name - [amqp1]/ssl_cert_file
+#ssl_cert_file =
+
+# Private key PEM file used to sign cert_file certificate (string value)
+# Deprecated group/name - [amqp1]/ssl_key_file
+#ssl_key_file =
+
+# Password for decrypting ssl_key_file (if encrypted) (string value)
+# Deprecated group/name - [amqp1]/ssl_key_password
+#ssl_key_password = <None>
+
+# Accept clients using either SSL or plain TCP (boolean value)
+# Deprecated group/name - [amqp1]/allow_insecure_clients
+#allow_insecure_clients = false
+
+# Space separated list of acceptable SASL mechanisms (string value)
+# Deprecated group/name - [amqp1]/sasl_mechanisms
+#sasl_mechanisms =
+
+# Path to directory that contains the SASL configuration (string value)
+# Deprecated group/name - [amqp1]/sasl_config_dir
+#sasl_config_dir =
+
+# Name of configuration file (without .conf suffix) (string value)
+# Deprecated group/name - [amqp1]/sasl_config_name
+#sasl_config_name =
+
+# User name for message broker authentication (string value)
+# Deprecated group/name - [amqp1]/username
+#username =
+
+# Password for message broker authentication (string value)
+# Deprecated group/name - [amqp1]/password
+#password =
+
+# Seconds to pause before attempting to re-connect. (integer value)
+# Minimum value: 1
+#connection_retry_interval = 1
+
+# Increase the connection_retry_interval by this many seconds after each
+# unsuccessful failover attempt. (integer value)
+# Minimum value: 0
+#connection_retry_backoff = 2
+
+# Maximum limit for connection_retry_interval + connection_retry_backoff
+# (integer value)
+# Minimum value: 1
+#connection_retry_interval_max = 30
+
+# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
+# recoverable error. (integer value)
+# Minimum value: 1
+#link_retry_delay = 10
+
+# The deadline for an rpc reply message delivery. Only used when caller does
+# not provide a timeout expiry. (integer value)
+# Minimum value: 5
+#default_reply_timeout = 30
+
+# The deadline for an rpc cast or call message delivery. Only used when caller
+# does not provide a timeout expiry. (integer value)
+# Minimum value: 5
+#default_send_timeout = 30
+
+# The deadline for a sent notification message delivery. Only used when caller
+# does not provide a timeout expiry. (integer value)
+# Minimum value: 5
+#default_notify_timeout = 30
+
+# Indicates the addressing mode used by the driver.
+# Permitted values:
+# 'legacy' - use legacy non-routable addressing
+# 'routable' - use routable addresses
+# 'dynamic' - use legacy addresses if the message bus does not support routing
+# otherwise use routable addressing (string value)
+#addressing_mode = dynamic
+
+# address prefix used when sending to a specific server (string value)
+# Deprecated group/name - [amqp1]/server_request_prefix
+#server_request_prefix = exclusive
+
+# address prefix used when broadcasting to all servers (string value)
+# Deprecated group/name - [amqp1]/broadcast_prefix
+#broadcast_prefix = broadcast
+
+# address prefix when sending to any server in group (string value)
+# Deprecated group/name - [amqp1]/group_request_prefix
+#group_request_prefix = unicast
+
+# Address prefix for all generated RPC addresses (string value)
+#rpc_address_prefix = openstack.org/om/rpc
+
+# Address prefix for all generated Notification addresses (string value)
+#notify_address_prefix = openstack.org/om/notify
+
+# Appended to the address prefix when sending a fanout message. Used by the
+# message bus to identify fanout messages. (string value)
+#multicast_address = multicast
+
+# Appended to the address prefix when sending to a particular RPC/Notification
+# server. Used by the message bus to identify messages sent to a single
+# destination. (string value)
+#unicast_address = unicast
+
+# Appended to the address prefix when sending to a group of consumers. Used by
+# the message bus to identify messages that should be delivered in a round-
+# robin fashion across consumers. (string value)
+#anycast_address = anycast
+
+# Exchange name used in notification addresses.
+# Exchange name resolution precedence:
+# Target.exchange if set
+# else default_notification_exchange if set
+# else control_exchange if set
+# else 'notify' (string value)
+#default_notification_exchange = <None>
+
+# Exchange name used in RPC addresses.
+# Exchange name resolution precedence:
+# Target.exchange if set
+# else default_rpc_exchange if set
+# else control_exchange if set
+# else 'rpc' (string value)
+#default_rpc_exchange = <None>
+
+# Window size for incoming RPC Reply messages. (integer value)
+# Minimum value: 1
+#reply_link_credit = 200
+
+# Window size for incoming RPC Request messages (integer value)
+# Minimum value: 1
+#rpc_server_credit = 100
+
+# Window size for incoming Notification messages (integer value)
+# Minimum value: 1
+#notify_server_credit = 100
+
+
+[oslo_messaging_notifications]
+
+#
+# From oslo.messaging
+#
+
+# The Drivers(s) to handle sending notifications. Possible values are
+# messaging, messagingv2, routing, log, test, noop (multi valued)
+# Deprecated group/name - [DEFAULT]/notification_driver
+#driver =
+
+# A URL representing the messaging driver to use for notifications. If not set,
+# we fall back to the same configuration used for RPC. (string value)
+# Deprecated group/name - [DEFAULT]/notification_transport_url
+#transport_url = <None>
+
+# AMQP topic used for OpenStack notifications. (list value)
+# Deprecated group/name - [rpc_notifier2]/topics
+# Deprecated group/name - [DEFAULT]/notification_topics
+#topics = notifications
+
+
+[oslo_messaging_rabbit]
+
+#
+# From oslo.messaging
+#
+
+# Use durable queues in AMQP. (boolean value)
+# Deprecated group/name - [DEFAULT]/amqp_durable_queues
+# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
+#amqp_durable_queues = false
+
+# Auto-delete queues in AMQP. (boolean value)
+# Deprecated group/name - [DEFAULT]/amqp_auto_delete
+#amqp_auto_delete = false
+
+# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
+# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
+# distributions. (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_version
+#kombu_ssl_version =
+
+# SSL key file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile
+#kombu_ssl_keyfile =
+
+# SSL cert file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile
+#kombu_ssl_certfile =
+
+# SSL certification authority file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs
+#kombu_ssl_ca_certs =
+
+# How long to wait before reconnecting in response to an AMQP consumer cancel
+# notification. (floating point value)
+# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
+#kombu_reconnect_delay = 1.0
+
+# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
+# be used. This option may not be available in future versions. (string value)
+#kombu_compression = <None>
+
+# How long to wait a missing client before abandoning to send it its replies.
+# This value should not be longer than rpc_response_timeout. (integer value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
+#kombu_missing_consumer_retry_timeout = 60
+
+# Determines how the next RabbitMQ node is chosen in case the one we are
+# currently connected to becomes unavailable. Takes effect only if more than
+# one RabbitMQ node is provided in config. (string value)
+# Allowed values: round-robin, shuffle
+#kombu_failover_strategy = round-robin
+
+# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
+# value)
+# Deprecated group/name - [DEFAULT]/rabbit_host
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_host = localhost
+
+# DEPRECATED: The RabbitMQ broker port where a single node is used. (port
+# value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/rabbit_port
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_port = 5672
+
+# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
+# Deprecated group/name - [DEFAULT]/rabbit_hosts
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_hosts = $rabbit_host:$rabbit_port
+
+# Connect over SSL for RabbitMQ. (boolean value)
+# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
+#rabbit_use_ssl = false
+
+# DEPRECATED: The RabbitMQ userid. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_userid
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_userid = guest
+
+# DEPRECATED: The RabbitMQ password. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_password
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_password = guest
+
+# The RabbitMQ login method. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_login_method
+#rabbit_login_method = AMQPLAIN
+
+# DEPRECATED: The RabbitMQ virtual host. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Replaced by [DEFAULT]/transport_url
+#rabbit_virtual_host = /
+
+# How frequently to retry connecting with RabbitMQ. (integer value)
+#rabbit_retry_interval = 1
+
+# How long to backoff for between retries when connecting to RabbitMQ. (integer
+# value)
+# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
+#rabbit_retry_backoff = 2
+
+# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
+# (integer value)
+#rabbit_interval_max = 30
+
+# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
+# (infinite retry count). (integer value)
+# Deprecated group/name - [DEFAULT]/rabbit_max_retries
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#rabbit_max_retries = 0
+
+# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
+# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
+# is no longer controlled by the x-ha-policy argument when declaring a queue.
+# If you just want to make sure that all queues (except those with auto-
+# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy
+# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
+# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
+#rabbit_ha_queues = false
+
+# Positive integer representing duration in seconds for queue TTL (x-expires).
+# Queues which are unused for the duration of the TTL are automatically
+# deleted. The parameter affects only reply and fanout queues. (integer value)
+# Minimum value: 1
+#rabbit_transient_queues_ttl = 1800
+
+# Specifies the number of messages to prefetch. Setting to zero allows
+# unlimited messages. (integer value)
+#rabbit_qos_prefetch_count = 0
+
+# Number of seconds after which the Rabbit broker is considered down if
+# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
+# value)
+#heartbeat_timeout_threshold = 60
+
+# How often times during the heartbeat_timeout_threshold we check the
+# heartbeat. (integer value)
+#heartbeat_rate = 2
+
+# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
+# Deprecated group/name - [DEFAULT]/fake_rabbit
+#fake_rabbit = false
+
+# Maximum number of channels to allow (integer value)
+#channel_max = <None>
+
+# The maximum byte size for an AMQP frame (integer value)
+#frame_max = <None>
+
+# How often to send heartbeats for consumer's connections (integer value)
+#heartbeat_interval = 3
+
+# Enable SSL (boolean value)
+#ssl = <None>
+
+# Arguments passed to ssl.wrap_socket (dict value)
+#ssl_options = <None>
+
+# Set socket timeout in seconds for connection's socket (floating point value)
+#socket_timeout = 0.25
+
+# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point
+# value)
+#tcp_user_timeout = 0.25
+
+# Set delay for reconnection to some host which has connection error (floating
+# point value)
+#host_connection_reconnect_delay = 0.25
+
+# Connection factory implementation (string value)
+# Allowed values: new, single, read_write
+#connection_factory = single
+
+# Maximum number of connections to keep queued. (integer value)
+#pool_max_size = 30
+
+# Maximum number of connections to create above `pool_max_size`. (integer
+# value)
+#pool_max_overflow = 0
+
+# Default number of seconds to wait for a connections to available (integer
+# value)
+#pool_timeout = 30
+
+# Lifetime of a connection (since creation) in seconds or None for no
+# recycling. Expired connections are closed on acquire. (integer value)
+#pool_recycle = 600
+
+# Threshold at which inactive (since release) connections are considered stale
+# in seconds or None for no staleness. Stale connections are closed on acquire.
+# (integer value)
+#pool_stale = 60
+
+# Persist notification messages. (boolean value)
+#notification_persistence = false
+
+# Exchange name for sending notifications (string value)
+#default_notification_exchange = ${control_exchange}_notification
+
+# Max number of not acknowledged message which RabbitMQ can send to
+# notification listener. (integer value)
+#notification_listener_prefetch_count = 100
+
+# Reconnecting retry count in case of connectivity problem during sending
+# notification, -1 means infinite retry. (integer value)
+#default_notification_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending
+# notification message (floating point value)
+#notification_retry_delay = 0.25
+
+# Time to live for rpc queues without consumers in seconds. (integer value)
+#rpc_queue_expiration = 60
+
+# Exchange name for sending RPC messages (string value)
+#default_rpc_exchange = ${control_exchange}_rpc
+
+# Exchange name for receiving RPC replies (string value)
+#rpc_reply_exchange = ${control_exchange}_rpc_reply
+
+# Max number of not acknowledged message which RabbitMQ can send to rpc
+# listener. (integer value)
+#rpc_listener_prefetch_count = 100
+
+# Max number of not acknowledged message which RabbitMQ can send to rpc reply
+# listener. (integer value)
+#rpc_reply_listener_prefetch_count = 100
+
+# Reconnecting retry count in case of connectivity problem during sending
+# reply. -1 means infinite retry during rpc_timeout (integer value)
+#rpc_reply_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending
+# reply. (floating point value)
+#rpc_reply_retry_delay = 0.25
+
+# Reconnecting retry count in case of connectivity problem during sending RPC
+# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
+# request could be processed more then one time (integer value)
+#default_rpc_retry_attempts = -1
+
+# Reconnecting retry delay in case of connectivity problem during sending RPC
+# message (floating point value)
+#rpc_retry_delay = 0.25
+
+
+[oslo_messaging_zmq]
+
+#
+# From oslo.messaging
+#
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
+# The "host" option should point or resolve to this address. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
+#rpc_zmq_bind_address = *
+
+# MatchMaker driver. (string value)
+# Allowed values: redis, dummy
+# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
+#rpc_zmq_matchmaker = redis
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
+#rpc_zmq_contexts = 1
+
+# Maximum number of ingress messages to locally buffer per topic. Default is
+# unlimited. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
+#rpc_zmq_topic_backlog = <None>
+
+# Directory for holding IPC sockets. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
+#rpc_zmq_ipc_dir = /var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
+# "host" option, if running Nova. (string value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_host
+#rpc_zmq_host = localhost
+
+# Seconds to wait before a cast expires (TTL). The default value of -1
+# specifies an infinite linger period. The value of 0 specifies no linger
+# period. Pending messages shall be discarded immediately when the socket is
+# closed. Only supported by impl_zmq. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
+#rpc_cast_timeout = -1
+
+# The default number of seconds that poll should wait. Poll raises timeout
+# exception when timeout expired. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
+#rpc_poll_timeout = 1
+
+# Expiration timeout in seconds of a name service record about existing target
+# ( < 0 means no timeout). (integer value)
+# Deprecated group/name - [DEFAULT]/zmq_target_expire
+#zmq_target_expire = 300
+
+# Update period in seconds of a name service record about existing target.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/zmq_target_update
+#zmq_target_update = 180
+
+# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
+# value)
+# Deprecated group/name - [DEFAULT]/use_pub_sub
+#use_pub_sub = true
+
+# Use ROUTER remote proxy. (boolean value)
+# Deprecated group/name - [DEFAULT]/use_router_proxy
+#use_router_proxy = true
+
+# Minimal port number for random ports range. (port value)
+# Minimum value: 0
+# Maximum value: 65535
+# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
+#rpc_zmq_min_port = 49153
+
+# Maximal port number for random ports range. (integer value)
+# Minimum value: 1
+# Maximum value: 65536
+# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
+#rpc_zmq_max_port = 65536
+
+# Number of retries to find free port number before fail with ZMQBindError.
+# (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
+#rpc_zmq_bind_port_retries = 100
+
+# Default serialization mechanism for serializing/deserializing
+# outgoing/incoming messages (string value)
+# Allowed values: json, msgpack
+# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
+#rpc_zmq_serialization = json
+
+# This option configures round-robin mode in zmq socket. True means not keeping
+# a queue when server side disconnects. False means to keep queue and messages
+# even if server is disconnected, when the server appears we send all
+# accumulated messages to it. (boolean value)
+#zmq_immediate = false
+
+
+[oslo_middleware]
+
+#
+# From oslo.middleware
+#
+
+# The maximum body size for each request, in bytes. (integer value)
+# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
+# Deprecated group/name - [DEFAULT]/max_request_body_size
+#max_request_body_size = 114688
+
+# DEPRECATED: The HTTP Header that will be used to determine what the original
+# request protocol scheme was, even if it was hidden by a SSL termination
+# proxy. (string value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+#secure_proxy_ssl_header = X-Forwarded-Proto
+
+# Whether the application is behind a proxy or not. This determines if the
+# middleware should parse the headers or not. (boolean value)
+#enable_proxy_headers_parsing = false
+
+
+[oslo_policy]
+
+#
+# From oslo.policy
+#
+
+# The JSON file that defines policies. (string value)
+# Deprecated group/name - [DEFAULT]/policy_file
+#policy_file = policy.json
+
+# Default rule. Enforced when a requested rule is not found. (string value)
+# Deprecated group/name - [DEFAULT]/policy_default_rule
+#policy_default_rule = default
+
+# Directories where policy configuration files are stored. They can be relative
+# to any directory in the search path defined by the config_dir option, or
+# absolute paths. The file defined by policy_file must exist for these
+# directories to be searched. Missing or empty directories are ignored. (multi
+# valued)
+# Deprecated group/name - [DEFAULT]/policy_dirs
+#policy_dirs = policy.d
+
+
+[ssl]
+
+#
+# From oslo.service.sslutils
+#
+
+# CA certificate file to use to verify connecting clients. (string value)
+# Deprecated group/name - [DEFAULT]/ssl_ca_file
+#ca_file = <None>
+
+# Certificate file to use when starting the server securely. (string value)
+# Deprecated group/name - [DEFAULT]/ssl_cert_file
+#cert_file = <None>
+
+# Private key file to use when starting the server securely. (string value)
+# Deprecated group/name - [DEFAULT]/ssl_key_file
+#key_file = <None>
+
+# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
+# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
+# distributions. (string value)
+#version = <None>
+
+# Sets the list of available ciphers. value should be a string in the OpenSSL
+# cipher list format. (string value)
+#ciphers = <None>
diff --git a/sys-cluster/heat/heat-2016.2.9999.ebuild b/sys-cluster/heat/heat-2016.2.9999.ebuild
new file mode 100644
index 000000000000..a0bdfb7e5d38
--- /dev/null
+++ b/sys-cluster/heat/heat-2016.2.9999.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+EGIT_REPO_URI="https://github.com/openstack/heat.git"
+EGIT_BRANCH="stable/newton"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+
+ >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${FILESDIR}/newton-heat.conf.sample" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/heat-2017.1.9999.ebuild b/sys-cluster/heat/heat-2017.1.9999.ebuild
new file mode 100644
index 000000000000..b08a1e34c776
--- /dev/null
+++ b/sys-cluster/heat/heat-2017.1.9999.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.ocata -> heat.conf.sample-${PV}"
+EGIT_REPO_URI="https://github.com/openstack/heat.git"
+EGIT_BRANCH="stable/ocata"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/heat-2017.2.9999.ebuild b/sys-cluster/heat/heat-2017.2.9999.ebuild
new file mode 100644
index 000000000000..04ed5348102c
--- /dev/null
+++ b/sys-cluster/heat/heat-2017.2.9999.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.pike -> heat.conf.sample-${PV}"
+EGIT_REPO_URI="https://github.com/openstack/heat.git"
+EGIT_BRANCH="stable/pike"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.9.17[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-openstackclient-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zunclient-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd-2" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/heat-7.0.6.ebuild b/sys-cluster/heat/heat-7.0.6.ebuild
new file mode 100644
index 000000000000..df7dda0453be
--- /dev/null
+++ b/sys-cluster/heat/heat-7.0.6.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1 eutils user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.6[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-keystoneclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+
+ >=dev-python/webob-1.2.3-r1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${FILESDIR}/newton-heat.conf.sample" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/heat-8.0.4.ebuild b/sys-cluster/heat/heat-8.0.4.ebuild
new file mode 100644
index 000000000000..450961936893
--- /dev/null
+++ b/sys-cluster/heat/heat-8.0.4.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.ocata -> heat.conf.sample-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/heat-9.0.0.ebuild b/sys-cluster/heat/heat-9.0.0.ebuild
new file mode 100644
index 000000000000..09f2d28a2330
--- /dev/null
+++ b/sys-cluster/heat/heat-9.0.0.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchistration engine."
+HOMEPAGE="https://launchpad.net/heat"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.pike -> heat.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.9.17[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pycrypto-2.6[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.0[${PYTHON_USEDEP}]
+ !~dev-python/python-barbicanclient-4.5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-ceilometerclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-openstackclient-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-senlinclient-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zunclient-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+)
+
+pkg_setup() {
+ enewgroup heat
+ enewuser heat -1 -1 /var/lib/heat heat
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd-2" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ doins "etc/heat/policy.json"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+}
diff --git a/sys-cluster/heat/metadata.xml b/sys-cluster/heat/metadata.xml
new file mode 100644
index 000000000000..f8a3eeab0b9a
--- /dev/null
+++ b/sys-cluster/heat/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Heat is a service to orchestrate multiple composite cloud applications using
+ templates, through both an OpenStack-native REST API and a
+ CloudFormation-compatible Query API.
+ </longdescription>
+ <use>
+ <flag name="memcached">Installs the memcached server</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">heat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/hpl/Manifest b/sys-cluster/hpl/Manifest
new file mode 100644
index 000000000000..e609aba6f27f
--- /dev/null
+++ b/sys-cluster/hpl/Manifest
@@ -0,0 +1,5 @@
+DIST hpl-2.0.tar.gz 591087 SHA256 d8d118c310d34a5a2acf5a689270a9f7bea60245552d24af8641599651909bec SHA512 3aa76144526b01ec40d940cae50d47e480e2760a36d1e95bc6e431b216407db190946fc3d99a6a7caf7b61bcc76d805d28da3ef0b141ff467854e1cdf10bb274 WHIRLPOOL 79da0950089d8e7d6128a2af7a44de704c2666aeb74de08e9e0a06fc23f8c4d17da2ab5107b5f6a82ca073800ec2af4f003c7792ae84e1ec032d9572e78bc0b2
+EBUILD hpl-2.0-r3.ebuild 1870 SHA256 5210141cae10bd50184673a8c0734f49556e24f48a214ea15d0d4da65b73980f SHA512 397e2ebd6fd10089cc070dbd385fdb60364280e1c1447fab0022c300bb1d46ce9ab661582b7f4d2e16c2c3553006c8309112fed693c3cbf5f78c98afdd9dd6f3 WHIRLPOOL 0d19fb794ccce38cabf88a42921c7074ac6d550a4f5c1204992533059a5c470bb0aa13316f19b3f5ad1f3a6d3b263fb7de453732b39f844aae84986281815459
+MISC ChangeLog 2420 SHA256 320451c6a05378e8724b64ffb71025dd8e4074c68e2164492fad3790ab6a9eb9 SHA512 e6c0c79b6821b214dbe0f78a8b2e3cf53925dc7a30bde6dfcea52905fed0ea5e853cd47871dd1c472a71ecf08130f76dd10f29490b41e37b19610357cea7895d WHIRLPOOL f3af4aa7533c6f66c4e073afce4336ddad79e722ee0858deb7fd53bb4e3b09a217d3871d5ece10ef6c27670262f789a1b4e42a6635835ca749585660dac071be
+MISC ChangeLog-2015 2877 SHA256 29cd80428af6c0c8afe050c55129012340c21d04b7840f37047a313a6803924a SHA512 46e6d320ec24bb7f5b8542c6f57a4e1ddaeec6d79e73b8e2f1ff8414a16b1c2d01872d00b01486f5a8072eccd57540824a200612a75e2f6d74499f8d5b4a60f9 WHIRLPOOL 19887f341c3439b2a5589ed4677fd506a039de9652382e672d4ef96f0c481f1f08375798bf0be626d24037176711dea9f30ad0858f6df7952f580ce4c8a915c2
+MISC metadata.xml 263 SHA256 0c67f68407c1153b709d094f4f7de7710f178662bb5912f1f025dbe2a842ed10 SHA512 6ec307d6a3827ce21f67f8565a79a13d2833215571c459f42f06b8dd9184e1a41fa06b1cce8b3cf3555f4f875d9e366dd34ee786b6881dc18fb7d0b2d5c2acd5 WHIRLPOOL 5951a5587420612364b1c9f51ae31a3aed0ca3ea83a26f8d6fd2a2860a6a5a46b2ad8ca0260b591ec88f7fde17ab78213acac7aeced15398992cbd2de579c82f
diff --git a/sys-cluster/hpl/hpl-2.0-r3.ebuild b/sys-cluster/hpl/hpl-2.0-r3.ebuild
new file mode 100644
index 000000000000..61cbba4afc7d
--- /dev/null
+++ b/sys-cluster/hpl/hpl-2.0-r3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib
+
+DESCRIPTION="A Portable Implementation of the High-Performance Linpack Benchmark for Distributed-Memory Computers"
+HOMEPAGE="http://www.netlib.org/benchmark/hpl/"
+SRC_URI="http://www.netlib.org/benchmark/hpl/hpl-${PV}.tar.gz"
+
+SLOT="0"
+LICENSE="HPL"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc"
+
+RDEPEND="
+ virtual/blas
+ virtual/lapack
+ virtual/mpi"
+DEPEND="${DEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ local a=""
+ local locallib="${EPREFIX}/usr/$(get_libdir)/lib"
+ local localblas="$(for i in $($(tc-getPKG_CONFIG) --libs-only-l blas lapack);do a="${a} ${i/-l/${locallib}}.so "; done; echo ${a})"
+
+ cp setup/Make.Linux_PII_FBLAS Make.gentoo_hpl_fblas_x86 || die
+ sed -i \
+ -e "/^TOPdir/s,= .*,= ${S}," \
+ -e '/^HPL_OPTS\>/s,=,= -DHPL_DETAILED_TIMING -DHPL_COPY_L,' \
+ -e '/^ARCH\>/s,= .*,= gentoo_hpl_fblas_x86,' \
+ -e '/^MPdir\>/s,= .*,=,' \
+ -e '/^MPlib\>/s,= .*,=,' \
+ -e "/^LAlib\>/s,= .*,= ${localblas}," \
+ -e '/^LINKER\>/s,= .*,= mpicc,' \
+ -e '/^CC\>/s,= .*,= mpicc,' \
+ -e '/^CCFLAGS\>/s|= .*|= $(HPL_DEFS) ${CFLAGS}|' \
+ -e "/^LINKFLAGS\>/s|= .*|= ${LDFLAGS}|" \
+ Make.gentoo_hpl_fblas_x86 || die
+}
+
+src_compile() {
+ # parallel make failure bug #321539
+ HOME=${WORKDIR} emake -j1 arch=gentoo_hpl_fblas_x86
+}
+
+src_install() {
+ dobin bin/gentoo_hpl_fblas_x86/xhpl
+ dolib lib/gentoo_hpl_fblas_x86/libhpl.a
+ dodoc INSTALL BUGS COPYRIGHT HISTORY README TUNING \
+ bin/gentoo_hpl_fblas_x86/HPL.dat
+ doman man/man3/*.3
+ if use doc; then
+ dohtml -r www/*
+ fi
+}
+
+pkg_postinst() {
+ einfo "Remember to copy /usr/share/hpl/HPL.dat to your working directory"
+ einfo "before running xhpl. Typically one may run hpl by executing:"
+ einfo "\"mpiexec -np 4 /usr/bin/xhpl\""
+ einfo "where -np specifies the number of processes."
+}
diff --git a/sys-cluster/hpl/metadata.xml b/sys-cluster/hpl/metadata.xml
new file mode 100644
index 000000000000..f3834ba82253
--- /dev/null
+++ b/sys-cluster/hpl/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/hpx/Manifest b/sys-cluster/hpx/Manifest
new file mode 100644
index 000000000000..dd933b1f4dc2
--- /dev/null
+++ b/sys-cluster/hpx/Manifest
@@ -0,0 +1,17 @@
+AUX hpx-0.9.8-cmake_dir.patch 782 SHA256 bb442661be8fca955c09de44073d49d8e89d603f8169600009fd77146a3294f9 SHA512 93fadaf1a8e302f8433c35ebbe4f75af6db21136d64a88574f56122f7204a387e6a0fc9a3fcde21cd8897364ecea203223a365fc84e2e725e8436b77a8fec9d9 WHIRLPOOL fbdcad3ee78f8153519d64d5fc2b05c451dbe4bd45c34dcb2b0502accc5743d13fdc9d42e797204e7001733126056a3699381d314d3d049569cd3d862691d6dd
+AUX hpx-0.9.8-install-path.patch 2952 SHA256 c8bc7ed3a3023b6a278d7540009cd9b837085b6a0995b444f039863e8f008043 SHA512 94273cbd42291fe8dcefe76f8e663997632c8dfc729ceac9c9e6a13b1168334788fe4f2e8c0c20b37d3d5ab339db2b44ba2a6c3fee656cc3981f26d79503f606 WHIRLPOOL c4c539b337f43f09a95f69ea123d74db425a84ae81a927d4d8d5e04830cba36a8a2bf237bfbdee4b2f90f3eec2053e9cd50f9c91de898e710deeccecc6323d2e
+AUX hpx-0.9.8-multilib.patch 6064 SHA256 77a3eff3e8882bcd36836a65255a62267310f78d43557a22a9bd908481816e79 SHA512 b378d6e259263a02929c06c0b093490115b5a573daed20f980c1fa15fe2f8ce4833a784cc8a1924ea1ddc8fdc853d07fd1e83a20fdc6c711211c8f3eb9e2f583 WHIRLPOOL 7e69572bfd9aa1b50a4173091d3b2e460fbccb7361963f74cfab14f27f965cc56d27be6e84310dd62eced27b1c4fe7eae5c1be7e43a99e9b8dbe3ed9497e2256
+DIST hpx-0.9.9.tar.gz 3461235 SHA256 cb17ac303f49795300c6b803725036aa09b434a7a23a610744457d3481be3738 SHA512 95332c924548f7d07e24c56d3d72e8aa5977a1347666fb2a0f3782fec040e83e5760750a1696cf8152d7b3f8b90ce719fe24018086a5165429b3f9851c2f7e1f WHIRLPOOL 370646b98c89133a8fd23cb17ecaefc477e09b07508884f4343526050a12fae117f1fd0e24881b9896beca97ca08d4bad8526b39cfec1cad0ce48d8826ea3c43
+DIST hpx_0.9.10.tar.gz 3016064 SHA256 af84455003bbf49fd81477138e6c7e699b7c24a4933de04d709c1437a9ad6aad SHA512 4c5ce7014d781c47415818898b99e5379e1547dd5f54fdefc9202de149ca4a0e3bf13c863cdea9ef70f7e3eb2c808cfda35d723a7f681745b8514a1887cbbb75 WHIRLPOOL 2fbc2c32532eb8141e6eb86a8e99ed4a7d4a6bb87bff9b383c4e4b5b0628fb5d6975672eaf5423f87b13f2f1d07e039362450b0276fa120f5a5abc8d7077408c
+DIST hpx_0.9.8.7z 2089649 SHA256 9e04685b07e4155e6d3e00c944e5fe91c0c815a2b3bc7bc345eb59d8708bac91 SHA512 1789582ee776173d4aa67b512d2df225c734b98ffe59a8f1eee38b5112ac7c02e0c7c478f72062e5b6a5d5053ce1848729c374093378f63200acf51a208fb3c7 WHIRLPOOL b4b5a8a83aa4d07466ee0570b9fdadd906281e626eed2ce82e3a8e03681de1591a46af2254cbd387eb2d0bfac22c6796537fbbb37764be7dd424b97dd0d433c7
+DIST hpx_0.9.99.tar.gz 3779841 SHA256 072e8ed614eb81353ed3b4628835349fb08b42515f2f8d62855921354c1ae92b SHA512 57c03c01c4a9f770e56a60645ec352338365fe05c544b18ff2e944044284315a7e76bbdc2c7193fe55e6992dcb51a51d1042372fdd141b572bd8e18bf1afc363 WHIRLPOOL 1d2241c23ef43cf3cbc68fe59c5122165aff1793f2c36928badeb8e24a6bb8f3c35cef17a04672b308905e43d5a2c87cc252f0727c9b92079420da182904e301
+DIST hpx_1.0.0.tar.gz 3972403 SHA256 b47ab61da393eeb38c5d201e08a9ecb56a4a18d660a8605f0f5ebfeac2dcb069 SHA512 42c155654f118bff34b48d929b1732fd56126b8fd3e7657b5bd2f84275288ddf538572ed1152883c4aed5e9683de53b9b1f1c3613e5092e7bd1a5e165bed606d WHIRLPOOL b72ced95a656749d116fb6b9faf181a7dc396857012b78b13d9a80e2a1e96f63a2e334fe2be359cfa86c7725e3572f4410c4ef5b16c57cb4bb881fcc973b4036
+EBUILD hpx-0.9.10.ebuild 1775 SHA256 dfaa6ec612b36636886e217285f46109fc568dc13762bd4b809cd64211b23704 SHA512 2342c6edfdaae073e1dcc176e832facdbd3a9929192e3e913ac7cb12c541eed3d56ed1f41b0d28353da3fafcc72bc523045f6e1288a77a2c986af87bd87add15 WHIRLPOOL 8aa8b51ad92c5c38d2e2c58a11b2f80036cfc4ba848616914f7917c5f798c10dbadc2af82f0852c5117aefbf99e93de96c90a4558bad777f0b523c3b5345f1df
+EBUILD hpx-0.9.8.ebuild 1928 SHA256 0f91283b9fa32d4762adc9d2a8a9065859e66c7443018152975af0fd62ac1cd9 SHA512 6938b8a989b85b11d98fca4849e385a39e61295b26c2f2670870e8df1f2561965dc6487748673d1505d5e85c0968222af815bc90ccbc79f9ca1dd117522c2a4e WHIRLPOOL 2be5fd15f1af6a5b986990cf1a634afb29db97a2ac45c91ce1008c1b5ca935d086106f1cae4e42a069eaa55e8dc9e924d5ea7bb193bb99e545dc34a5962af385
+EBUILD hpx-0.9.9.ebuild 1844 SHA256 d0b587f20b8bf82cefe52c5a0cbc22f00e4997dda13ce01fc18c54eef63cb0a6 SHA512 989807d4c30c22c5ec9ed8302bc5a1ddf7f7177bd4c423a48c450936ec4c0b685fd707c03fb15f665de2ca536a06800b6297e8deeeda7d59ab7a32c5b12df8ae WHIRLPOOL ccf152952973388ecaa4f03c71fb9140af0834d22c088fed3b2c674e4443ed44b35a314964104b3e3281c0ed0e881ec93231e31d323e48e59f1cb7bb7fb8ad5b
+EBUILD hpx-0.9.99.ebuild 1890 SHA256 fb985ead403a7a11cd75f4f93dad7605b84410bf7898baa944d208c1d9b2855e SHA512 8300f95ef02cbad1e959f6958d680f1cbd46729adf813af54063652ad5e3413e67664be743fe8950ae743d9074cc58c3f0175d3dcbe014e1d734844f2bb50e21 WHIRLPOOL 8ba39f78a31e320388acb709073941f8450102fd612d9414ce82d9dcf721b3f14d45e89f0be2b7899f4278e62f85415b206b0e3054abd0a071818e4dd74ab926
+EBUILD hpx-1.0.0.ebuild 1942 SHA256 885171455d38618080dd8b0ec315f63af65355aaebb9f7d0056182dc34de2b80 SHA512 36ac087ab8b9d2da8ad1c0a549464dc3f5786bad153668159cf588569447005852769ced2864fa021b5dc579879a28faff1204397d329ebba764416bfb524e25 WHIRLPOOL 35335842f4ac556be97d2e1c52bd44db305f231c743b0fdb67fc7be558057e4ec37e70abf1f399e2c0fc700d26d37ef20f9d8871d90b016681ea21762dbbb256
+EBUILD hpx-9999.ebuild 1894 SHA256 975f9e42849dabc3491b92ef02474dd683414e3f2b46f9576f22331892414fcb SHA512 0a7e16abd34ea9a948fb22e3ed5347d5915332165a2fc19a7cbcc114d6a224a0cbf8853674c9b6a917f78ede1d4a788ff7c6b8cb645adc50ff99b7c8c601f622 WHIRLPOOL b637a1d149055f71c62391b2ddceba0a31eac849828b18eb1fedc4ed3b9f5fd0e6b861d3a1a8d61024f7ff5ba632981e69cde67ce32fea1f0af98e704953319f
+MISC ChangeLog 2860 SHA256 38e965ea7d21e2f564561e24c4bab97519f93874cf4a47b871f6de5fb5ccad88 SHA512 64cc743eefc11358b177f7b33abe5d622660784229b880ea6e20f49e48427a71c7d8426be4e0fb536de54c140aa41faf7b33422a93acb9535d17fae4fb6e2db0 WHIRLPOOL d2c12a3adee7b79d9f99b934446b607a788355ddf43c2a5ac203994dcccbdf40878041e769d21ddc19c4cc6a1245bce97d3df6991a17043bdbb60f01905fffc7
+MISC ChangeLog-2015 995 SHA256 b6fdb7fe62ccf172be14b87d40e8e79980f889527303947fe8c21c31a0bf9bcd SHA512 8650f90a73b3200c24c517b6f0fcf2d1866b22b5ad2ac9d6600e420579d57c4db82c4283a617e9d80c0c4e72ac64d47f8268cd2e53d60d4700890bd9ebc49f9d WHIRLPOOL 359ca8a637981c47686c968554aa58b6ea965367442cc40e15fda79b520522474dfb45e97db8049908501a700aab340a83654a96f23340aae1f2f95959c7661f
+MISC metadata.xml 1103 SHA256 6223ce3f8b090a224ec6d0dadc1ad354726c44840473464fb9f113f44b18f67b SHA512 392455d961f4048e58d51138990b7a329c6454efee2c1fd90fce822def39d8c62e76e9e1ac3f19b4170ba7d5826a315c35224fe50152d0c6cf0f8d276e80af2a WHIRLPOOL 35fc3239398bd85e9476634360042d62fb76e3d904bc1a0df7b89a60b855f9664eb4e9448b6462af4a648bf8a38264b6e2628c82589ec5a1ab038b267fe9e072
diff --git a/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch
new file mode 100644
index 000000000000..b5c66c284752
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-0.9.8-cmake_dir.patch
@@ -0,0 +1,27 @@
+From e565c2cce934f2d6fa6e80061c416a2e7df0f311 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans@lanl.gov>
+Date: Tue, 20 May 2014 11:18:21 -0600
+Subject: [PATCH] make cmake_dir configure-able
+
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8ad79cb..e6f392a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1981,7 +1981,9 @@ endforeach()
+ # Make list unique
+ list(REMOVE_DUPLICATES external_definitions)
+
+-set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
++if (NOT DEFINED cmake_dir)
++ set(cmake_dir cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION})
++endif(NOT DEFINED cmake_dir)
+
+ if(MSVC)
+ set(output_dir "${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
+--
+1.8.5.5
+
diff --git a/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch
new file mode 100644
index 000000000000..f5c867b9b4a2
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-0.9.8-install-path.patch
@@ -0,0 +1,69 @@
+From 5c04f9c2d47a41f6113f45eeb4dd9f7968f2cd52 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans@lanl.gov>
+Date: Tue, 20 May 2014 09:27:47 -0600
+Subject: [PATCH] fix make install non-empty DESTDIR
+
+Symlinks were created even when make install was called with a
+non-empty DESTDIR variable. Fixed by creating the symlinks in build
+directory first and then install them using common install.
+DESTDIR installation is needed for binary packages.
+---
+ CMakeLists.txt | 31 +++++++++++++++++++------------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 00a71c7..8d5df19 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1762,15 +1762,22 @@ if(NOT HPX_NO_INSTALL)
+
+ if(UNIX)
+ file(GLOB scripts "${CMAKE_SOURCE_DIR}/python/scripts/*.py")
++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory
++ "${CMAKE_BINARY_DIR}/python/scripts" )
+ foreach(script ${scripts})
+ get_filename_component(script_name ${script} NAME)
+ get_filename_component(script_name_we ${script} NAME_WE)
+- install(CODE
+- "set(bindir \"${CMAKE_INSTALL_PREFIX}/bin/\")
+- execute_process(
+- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
+- \"${script_name}\" \"${script_name_we}\"
+- WORKING_DIRECTORY \"\${bindir}\")")
++
++ #make copy, so that we have intact symlink in CMAKE_BINARY_DIR
++ execute_process(
++ COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${script}" "${script_name}"
++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
++
++ execute_process(
++ COMMAND "${CMAKE_COMMAND}" -E create_symlink "${script_name}" "${script_name_we}"
++ WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python/scripts")
++
++ install(FILES "${CMAKE_BINARY_DIR}/python/scripts/${script_name_we}" DESTINATION "bin")
+ endforeach()
+ endif()
+
+@@ -1781,13 +1788,13 @@ if(NOT HPX_NO_INSTALL)
+ FILES_MATCHING PATTERN "*.py"
+ PATTERN ".git" EXCLUDE)
+
++ execute_process(COMMAND "${CMAKE_COMMAND}" -E make_directory "${CMAKE_BINARY_DIR}/python" )
++ #make symlink, so that we have intact hpx symlink in CMAKE_BINARY_DIR
++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "${CMAKE_SOURCE_DIR}/python/hpx"
++ "hpx-${HPX_VERSION}" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python")
+ # create a symlink in share pointing to the latest HPX installation
+- install(CODE
+- "set(sharedir \"${CMAKE_INSTALL_PREFIX}/share/\")
+- execute_process(
+- COMMAND \"\${CMAKE_COMMAND}\" -E create_symlink
+- \"hpx-${HPX_VERSION}\" \"hpx\"
+- WORKING_DIRECTORY \"\${sharedir}\")")
++ execute_process(COMMAND "${CMAKE_COMMAND}" -E create_symlink "hpx-${HPX_VERSION}" "hpx" WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/python")
++ install(DIRECTORY "${CMAKE_BINARY_DIR}/python/hpx" DESTINATION "share")
+
+ install( # Install external dependencies
+ DIRECTORY external/cache/boost
+--
+1.8.5.5
+
diff --git a/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch
new file mode 100644
index 000000000000..470e76e3b800
--- /dev/null
+++ b/sys-cluster/hpx/files/hpx-0.9.8-multilib.patch
@@ -0,0 +1,163 @@
+From 383acb45e75406fb94bb4fa86c162a78c05ab840 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans@lanl.gov>
+Date: Tue, 20 May 2014 11:03:16 -0600
+Subject: [PATCH] added LIB cmake option to configure lib directory
+
+for multiarch distributions the lib directory needs to changed
+from 'lib' to 'lib64'/'lib32'. Add an cmake option to do this.
+---
+ CMakeLists.txt | 11 +++++++----
+ cmake/HPX_AddComponent.cmake | 2 +-
+ cmake/HPX_AddLibrary.cmake | 2 +-
+ plugins/binary_filter/bzip2/CMakeLists.txt | 2 +-
+ plugins/binary_filter/snappy/CMakeLists.txt | 2 +-
+ plugins/binary_filter/zlib/CMakeLists.txt | 2 +-
+ plugins/parcel/coalescing/CMakeLists.txt | 2 +-
+ src/CMakeLists.txt | 6 +++---
+ 8 files changed, 16 insertions(+), 13 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8d5df19..8ad79cb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -192,6 +192,9 @@ else()
+ "64" ADVANCED)
+ endif()
+
++if (NOT DEFINED LIB)
++ set(LIB "lib")
++endif(NOT DEFINED LIB)
+ ###############################################################################
+ if(UNIX)
+ hpx_link_directories("${CMAKE_BINARY_DIR}/lib/hpx")
+@@ -2027,14 +2030,14 @@
+ if(NOT HPX_NO_INSTALL)
+ if(NOT ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug"))
+ install(FILES ${output_dir}/lib/pkgconfig/hpx_application.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${LIB}/pkgconfig)
+ install(FILES ${output_dir}/lib/pkgconfig/hpx_component.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${LIB}/pkgconfig)
+ else()
+ install(FILES ${output_dir}/lib/pkgconfig/hpx_application_debug.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${LIB}/pkgconfig)
+ install(FILES ${output_dir}/lib/pkgconfig/hpx_component_debug.pc
+- DESTINATION lib/pkgconfig)
++ DESTINATION ${LIB}/pkgconfig)
+ endif()
+ endif()
+
+diff --git a/cmake/HPX_AddComponent.cmake b/cmake/HPX_AddComponent.cmake
+index afbee24..babca54 100644
+--- a/cmake/HPX_AddComponent.cmake
++++ b/cmake/HPX_AddComponent.cmake
+@@ -258,7 +258,7 @@ macro(add_hpx_component name)
+ if(${name}_INSTALL_SUFFIX)
+ hpx_library_install("${name}_component" "${${name}_INSTALL_SUFFIX}")
+ else()
+- hpx_library_install(${name}_component lib/hpx)
++ hpx_library_install(${name}_component ${LIB}/hpx)
+ endif()
+
+ foreach(target ${${name}_INI})
+diff --git a/cmake/HPX_AddLibrary.cmake b/cmake/HPX_AddLibrary.cmake
+index 7f39700..8524a45 100644
+--- a/cmake/HPX_AddLibrary.cmake
++++ b/cmake/HPX_AddLibrary.cmake
+@@ -248,7 +248,7 @@ macro(add_hpx_library name)
+ if(${name}_INSTALL_SUFFIX)
+ hpx_library_install("${name}_lib" "${${name}_INSTALL_SUFFIX}")
+ else()
+- hpx_library_install(${name}_lib lib/hpx)
++ hpx_library_install(${name}_lib ${LIB}/hpx)
+ endif()
+ endif()
+ endmacro()
+diff --git a/plugins/binary_filter/bzip2/CMakeLists.txt b/plugins/binary_filter/bzip2/CMakeLists.txt
+index 2580164..b2fbf40 100644
+--- a/plugins/binary_filter/bzip2/CMakeLists.txt
++++ b/plugins/binary_filter/bzip2/CMakeLists.txt
+@@ -38,7 +38,7 @@ macro(add_bzip2_module)
+ add_hpx_pseudo_dependencies(plugins.compression.bzip2 compress_bzip2_lib)
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(compress_bzip2_lib lib/hpx)
++ hpx_library_install(compress_bzip2_lib ${LIB}/hpx)
+ endif()
+ endif()
+ endmacro()
+diff --git a/plugins/binary_filter/snappy/CMakeLists.txt b/plugins/binary_filter/snappy/CMakeLists.txt
+index 6a7bbac..47e5966 100644
+--- a/plugins/binary_filter/snappy/CMakeLists.txt
++++ b/plugins/binary_filter/snappy/CMakeLists.txt
+@@ -30,7 +30,7 @@ macro(add_snappy_module)
+ add_hpx_pseudo_dependencies(plugins.compression.snappy compress_snappy_lib)
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(compress_snappy_lib lib/hpx)
++ hpx_library_install(compress_snappy_lib ${LIB}/hpx)
+ endif()
+ endif()
+ endmacro()
+diff --git a/plugins/binary_filter/zlib/CMakeLists.txt b/plugins/binary_filter/zlib/CMakeLists.txt
+index 4a188ca..e4485f7 100644
+--- a/plugins/binary_filter/zlib/CMakeLists.txt
++++ b/plugins/binary_filter/zlib/CMakeLists.txt
+@@ -38,7 +38,7 @@ macro(add_zlib_module)
+ add_hpx_pseudo_dependencies(plugins.compression.zlib compress_zlib_lib)
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(compress_zlib_lib lib/hpx)
++ hpx_library_install(compress_zlib_lib ${LIB}/hpx)
+ endif()
+ endif()
+ endmacro()
+diff --git a/plugins/parcel/coalescing/CMakeLists.txt b/plugins/parcel/coalescing/CMakeLists.txt
+index 093e427..889c10c 100644
+--- a/plugins/parcel/coalescing/CMakeLists.txt
++++ b/plugins/parcel/coalescing/CMakeLists.txt
+@@ -22,7 +22,7 @@ macro(add_coalescing_module)
+ add_hpx_pseudo_dependencies(plugins.parcel.coalescing parcel_coalescing_lib)
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(parcel_coalescing_lib lib/hpx)
++ hpx_library_install(parcel_coalescing_lib ${LIB}/hpx)
+ endif()
+ endmacro()
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4f4c79c..6190839 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -312,7 +312,7 @@ set_property(TARGET hpx_serialization APPEND
+ "HPX_COROUTINE_EXPORTS")
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(hpx_serialization lib/hpx)
++ hpx_library_install(hpx_serialization ${LIB}/hpx)
+ endif()
+
+ ################################################################################
+@@ -403,7 +403,7 @@ set_property(TARGET hpx APPEND
+ "HPX_COROUTINE_EXPORTS") # Do we still need this?
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_library_install(hpx lib/hpx)
++ hpx_library_install(hpx ${LIB}/hpx)
+ endif()
+
+ ################################################################################
+@@ -436,7 +436,7 @@ endif()
+ set_property(TARGET hpx_init PROPERTY FOLDER "Core")
+
+ if(NOT HPX_NO_INSTALL)
+- hpx_archive_install(hpx_init lib/hpx)
++ hpx_archive_install(hpx_init ${LIB}/hpx)
+ endif()
+
+ set(HPX_CONFIG_DEFINITIONS ${HPX_CONFIG_DEFINITIONS} PARENT_SCOPE)
+--
+1.8.5.5
+
diff --git a/sys-cluster/hpx/hpx-0.9.10.ebuild b/sys-cluster/hpx/hpx-0.9.10.ebuild
new file mode 100644
index 000000000000..3d785033e606
--- /dev/null
+++ b/sys-cluster/hpx/hpx-0.9.10.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit cmake-utils fortran-2 multilib python-any-r1 versionator
+
+SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+S="${WORKDIR}/${PN}_${PV}"
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.49
+ papi? ( dev-libs/papi )
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+ doc? ( >=dev-libs/boost-1.56.0-r1[tools] )
+"
+REQUIRED_USE="
+ jemalloc? ( !perftools !tbb )
+ perftools? ( !jemalloc !tbb )
+ tbb? ( !jemalloc !perftools )
+ "
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DHPX_MALLOC=system
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION)
+ $(cmake-utils_use jemalloc HPX_JEMALLOC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS)
+ $(cmake-utils_use papi HPX_PAPI)
+ )
+
+ use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/hpx-0.9.8.ebuild b/sys-cluster/hpx/hpx-0.9.8.ebuild
new file mode 100644
index 000000000000..7694c32d0565
--- /dev/null
+++ b/sys-cluster/hpx/hpx-0.9.8.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.7z"
+KEYWORDS="~amd64 ~x86"
+S="${WORKDIR}/${PN}_${PV}"
+
+inherit cmake-utils fortran-2 multilib python-any-r1
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+# TODO: some of the forced deps are may be optional
+# it would need to work the automagic
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.51
+ dev-libs/libxml2
+ papi? ( dev-libs/papi )
+ sci-libs/hdf5
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+"
+DEPEND="${RDEPEND}
+ app-arch/p7zip
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/hpx-0.9.8-install-path.patch
+ "${FILESDIR}"/hpx-0.9.8-multilib.patch
+ "${FILESDIR}"/hpx-0.9.8-cmake_dir.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION)
+ $(cmake-utils_use jemalloc HPX_JEMALLOC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS)
+ $(cmake-utils_use papi HPX_PAPI)
+ )
+ if use perftools; then
+ mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ elif use jemalloc; then
+ mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ elif use tbb; then
+ mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+ else
+ mycmakeargs+=( -DHPX_MALLOC=system )
+ fi
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/hpx-0.9.9.ebuild b/sys-cluster/hpx/hpx-0.9.9.ebuild
new file mode 100644
index 000000000000..8001280e7023
--- /dev/null
+++ b/sys-cluster/hpx/hpx-0.9.9.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit cmake-utils fortran-2 multilib python-any-r1 versionator
+
+MY_PV="$(replace_version_separator _ -)"
+
+SRC_URI="https://github.com/STEllAR-GROUP/hpx/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64 ~x86"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.49
+ papi? ( dev-libs/papi )
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+ doc? ( >=dev-libs/boost-1.56.0-r1[tools] )
+"
+REQUIRED_USE="
+ jemalloc? ( !perftools !tbb )
+ perftools? ( !jemalloc !tbb )
+ tbb? ( !jemalloc !perftools )
+ "
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DHPX_MALLOC=system
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ $(cmake-utils_use doc HPX_BUILD_DOCUMENTATION)
+ $(cmake-utils_use jemalloc HPX_JEMALLOC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use perftools HPX_GOOGLE_PERFTOOLS)
+ $(cmake-utils_use papi HPX_PAPI)
+ )
+
+ use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/hpx-0.9.99.ebuild b/sys-cluster/hpx/hpx-0.9.99.ebuild
new file mode 100644
index 000000000000..c7977e7361c5
--- /dev/null
+++ b/sys-cluster/hpx/hpx-0.9.99.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+if [ ${PV} == 9999 ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git"
+else
+ SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}_${PV}"
+fi
+
+inherit cmake-utils fortran-2 multilib python-any-r1
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.49
+ papi? ( dev-libs/papi )
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+ doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] )
+"
+REQUIRED_USE="
+ jemalloc? ( !perftools !tbb )
+ perftools? ( !jemalloc !tbb )
+ tbb? ( !jemalloc !perftools )
+ "
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DHPX_MALLOC=system
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ -DHPX_BUILD_DOCUMENTATION=$(usex doc)
+ -DHPX_JEMALLOC=$(usex jemalloc)
+ -DBUILD_TESTING=$(usex test)
+ -DHPX_GOOGLE_PERFTOOLS=$(usex perftools)
+ -DHPX_PAPI=$(usex papi)
+ )
+
+ use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/hpx-1.0.0.ebuild b/sys-cluster/hpx/hpx-1.0.0.ebuild
new file mode 100644
index 000000000000..2f8924015c11
--- /dev/null
+++ b/sys-cluster/hpx/hpx-1.0.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+if [ ${PV} == 9999 ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git"
+else
+ SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}_${PV}"
+fi
+
+inherit cmake-utils fortran-2 multilib python-any-r1
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.49
+ papi? ( dev-libs/papi )
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+ doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] )
+"
+REQUIRED_USE="
+ jemalloc? ( !perftools !tbb )
+ perftools? ( !jemalloc !tbb )
+ tbb? ( !jemalloc !perftools )
+ "
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DHPX_MALLOC=system
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ -DHPX_BUILD_DOCUMENTATION=$(usex doc)
+ -DHPX_JEMALLOC=$(usex jemalloc)
+ -DBUILD_TESTING=$(usex test)
+ -DHPX_GOOGLE_PERFTOOLS=$(usex perftools)
+ -DHPX_PAPI=$(usex papi)
+ )
+
+ use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ mv "${D}/usr/bin/spin" "${D}/usr/bin/hpx_spin"
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/hpx-9999.ebuild b/sys-cluster/hpx/hpx-9999.ebuild
new file mode 100644
index 000000000000..9d7e3474956b
--- /dev/null
+++ b/sys-cluster/hpx/hpx-9999.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+CMAKE_MAKEFILE_GENERATOR="ninja"
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+if [ ${PV} == 9999 ] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/STEllAR-GROUP/hpx.git"
+else
+ SRC_URI="http://stellar.cct.lsu.edu/files/${PN}_${PV}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+ S="${WORKDIR}/${PN}_${PV}"
+fi
+
+inherit cmake-utils fortran-2 multilib python-any-r1
+
+DESCRIPTION="C++ runtime system for parallel and distributed applications"
+HOMEPAGE="http://stellar.cct.lsu.edu/tag/hpx/"
+
+SLOT="0"
+LICENSE="Boost-1.0"
+IUSE="doc examples jemalloc papi +perftools tbb test"
+
+RDEPEND="
+ tbb? ( dev-cpp/tbb )
+ >=dev-libs/boost-1.49
+ papi? ( dev-libs/papi )
+ perftools? ( >=dev-util/google-perftools-1.7.1 )
+ >=sys-apps/hwloc-1.8
+ >=sys-libs/libunwind-1
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+ doc? ( >=dev-libs/boost-1.56.0-r1:=[tools] )
+"
+REQUIRED_USE="
+ jemalloc? ( !perftools !tbb )
+ perftools? ( !jemalloc !tbb )
+ tbb? ( !jemalloc !perftools )
+ "
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE=Release
+ local mycmakeargs=(
+ -DHPX_BUILD_EXAMPLES=OFF
+ -DHPX_MALLOC=system
+ -DLIB=$(get_libdir)
+ -Dcmake_dir=cmake
+ -DHPX_BUILD_DOCUMENTATION=$(usex doc)
+ -DHPX_JEMALLOC=$(usex jemalloc)
+ -DBUILD_TESTING=$(usex test)
+ -DHPX_GOOGLE_PERFTOOLS=$(usex perftools)
+ -DHPX_PAPI=$(usex papi)
+ )
+
+ use perftools && mycmakeargs+=( -DHPX_MALLOC=tcmalloc )
+ use jemalloc && mycmakeargs+=( -DHPX_MALLOC=jemalloc )
+ use tbb && mycmakeargs+=( -DHPX_MALLOC=tbbmalloc )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ # avoid over-suscribing
+ cmake-utils_src_make -j1 tests
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r examples
+ fi
+}
diff --git a/sys-cluster/hpx/metadata.xml b/sys-cluster/hpx/metadata.xml
new file mode 100644
index 000000000000..8cef5eececcc
--- /dev/null
+++ b/sys-cluster/hpx/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <longdescription>
+ HPX (High Performance ParalleX) is a general C++ runtime system
+ for parallel and distributed applications of any scale. It is the
+ first freely available, open source, feature-complete, modular,
+ and performance oriented implementation of the ParalleX execution
+ model. HPX is targeted at conventional architectures and,
+ currently, Linux based systems, such as SMP nodes and conventional
+ clusters.
+</longdescription>
+ <maintainer type="person">
+ <email>slis@gentoo.org</email>
+ </maintainer>
+ <use>
+ <flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> for memory allocation</flag>
+ <flag name="perftools">Use <pkg>dev-util/google-perftools</pkg> for
+ memory allocation</flag>
+ <flag name="tbb">Use <pkg>dev-cpp/tbb</pkg> for memory
+ allocation</flag>
+ <flag name="papi">Use <pkg>dev-libs/papi</pkg> for NaCl</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">STEllAR-GROUP/hpx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/ipvsadm/Manifest b/sys-cluster/ipvsadm/Manifest
new file mode 100644
index 000000000000..f2f8ace36023
--- /dev/null
+++ b/sys-cluster/ipvsadm/Manifest
@@ -0,0 +1,18 @@
+AUX ipvsadm-1.26-buildsystem.patch 2989 SHA256 88391e5122dbb7d8c92385647b2e8856bf7ad7231cfb2e73eda4e422addce198 SHA512 0802a919c947fed04774ec4034fba22036011e51802369d7c3c6a44ec7d118011aeac0ce3f7e2cb607efff133242c782ac8708b4ec3bb890c0013ad5d14863f8 WHIRLPOOL a5a723095f5dd158490f9d6e68a9288da65e5c16a789494863dadb1d2c786e0e1816e1b39a826a475c54f0413d3c508a5d5303cb129bed9d6e0e1640a8ac4881
+AUX ipvsadm-1.26-stack_smashing.patch 912 SHA256 78cf4f4d79fb2a39afdb532e46793c4e700fa08ecacd9fa2577d53b5ced389bd SHA512 b1b50914003e0bf8688bb7e2fe011242f2ec11df70e890f4af578780367c0d38718a47a942a0cef48088a85b36276896508a8b5d580d7a15a29ae20d5ae46b4c WHIRLPOOL 267d1580c793b6f9d90b39147cccc4c4dcdfdb67999884070e1fde279c72e77c9bbfa35f2adeb104c9ae0046e2d6f75598fd7de9205b56259c4caa2268427b12
+AUX ipvsadm-1.27-buildsystem.patch 3624 SHA256 d1ff236278b7da7b313817370246ada89cd54144a09cfec48871f7df8dc6f080 SHA512 e6e94a84f3a59a2ddb73c924f28e7e6799530aa5187d499c1b002ea1caa379c728dc96493e481d9e351e14209d5424de73c7deeb4f1e1d9846eb088fb160535d WHIRLPOOL 3b91ee9b38567572ac543290199fb033c54a3b7e8b1f0639fabbb9808c3bdda96fdadf8d898ed8f76a2193da6de0312293b2aabdaf5e6e07acc0e327ec034076
+AUX ipvsadm-1.27-fix-daemon-state.patch 2001 SHA256 427c13abdffd138fcc2982895866ca967738f9fee395a9e55171fac9a0e6bcf5 SHA512 4898672423f2b53776bedde1b5d7a7dce27d8d66aeec6b749149209c6acabcfa8cc53b4f3342107f9a783c5a4afe88f4e8b10d25771c49d86b0def8777834c22 WHIRLPOOL edbd01012de5516ab8c5be85680e0acca8833f79cdb415ac328a4c5e447f35695d2ac52a766ec78b6524666d65536ba5a84f9e07d2a51562d8e2cbfbe67f86c9
+AUX ipvsadm-init 649 SHA256 78ffbe8da0840bac4902b2a3814feafbf9022c790c8000f835addd04f7670038 SHA512 3fb2467fc157599fbf308e27f39f0cb4164e3d36423500d89c7fbedec3ba6f5c7b3cbe52b077811011fc0faef73072a0bf3b204d728841773ef2a520c03130f7 WHIRLPOOL d98c943a1f1d7d3d95791def4302b33c04a191f085e723e41a5a8e485e620b3e1697cd5bda158b0258d1e8f74d96077dd95f9685cfc018a50e7466ce528d3b9b
+DIST ipvsadm-1.21-11.tar.gz 34030 SHA256 7b85020f84d4648166bce480d747d82ac5c9113f9a222e3de7eb92b7af0598fa SHA512 55a50b4a06798b035481b4d8080ff8b64772802a564f91e7ff9fc7179ff8ed687681615a22b4c51b99065b574108b6a2c616e9acf54877dfd46c221e67f99048 WHIRLPOOL 4fb619061a5d08c7f6ae9cb9a9b7e2bdd6fa1a4a0745622fe4bbd79bee79228b58191af021119e0dc8694bb0a0e74fe1468c6ffaeeb5262e85fe63c65453db23
+DIST ipvsadm-1.24.tar.gz 32007 SHA256 773cbada48061e3afafaeaa2800d5382b8ff638b2c929293c14a793112a0642a SHA512 f472e55d78901de3b8f07dec0ff6e32b5aa301dc0dc62f34fe168511c8e2af26704fb66936540eb1173d7a0280428a2e6e48f9efadd3e33050dd881e666e1041 WHIRLPOOL 846d06b4977d93562618a9215b470272915458e8712346f37dc02c6afb2e0365ec15f589caedc7654a2a33542610a8f90fc3acc6c52a12a9fdf8098789fe682b
+DIST ipvsadm-1.26.tar.gz 41700 SHA256 6d6c46fecb1c532a892616b4445c73b71730e8790d5630f60269fd9cbee0eb2d SHA512 873e23a6bdaabc153b00f1ede3853c947e8c8cfb4e18364d55197c74f26cc883ca469e074a90f377fbfd5e73e0cd6c1fe414c9f7a5c28b0d4431af58056eced4 WHIRLPOOL 5f62ad434c7da3359adbfae1cdde230769f19f0c82a190d7ef6fc8ba340d5e761875a778ad9a1dd7162d385b8ebda89c589b7179d53d495c79e82056e46bce9a
+DIST ipvsadm-1.27.tar.xz 38196 SHA256 d360fb4dcf591e0a8a918831e2c02b1dc03e3c17ee1e60d0d70de9455238b3f8 SHA512 cf982b7981674c91d1b7516de7b55cf378b306ce4a53e13976b8eeb8610015c4fa4aa9d251bc4d329db8e05c1862863160af2d3c63b76263f290087cffdf1b80 WHIRLPOOL fbb69043813ccba929bb044c9d7854b67e8d656ae08209f17e21d3d237ea4690cd8ea7a1e2806ce6b07f847eb9796e93649c7f5231d2356e8519696b5a504b73
+DIST ipvsadm-1.28.tar.xz 38600 SHA256 90e0e49cad5acb9db1c04ed4cdadf7933152a472c2f694039b9d7a291c37f3ab SHA512 a1e10ce30751d9439f832e221e5c41b338f87dcc94a0b21329d908a9164f8882049af9d9d918b764b36c30e353d5b8db49d7088e60c24e4748713c06cccf7035 WHIRLPOOL 76e972792b779526b666469e92a4e181f9b63765bea2a3908b68ea0cac9bd45533c5eeb04f618993d45dae12b8268271c18df3fae82a3eb62d14fa3db4a4f74b
+EBUILD ipvsadm-1.21-r1.ebuild 1086 SHA256 e5bc1b725be7a0a9009f2083f19869adb046884984f6aae1b3092677b53bef25 SHA512 ad0224310eb5bba50507d7fea9720fe265b3a015c90222118cebb9b40dddf56ce3489bfb0f37f996d4575b41846f8ab755dca9b684f535e48bc62132221a8575 WHIRLPOOL 74c9712939103563aaf16b19402ef5ac44df690bda4e58b16be7b20fef9d608a9ce7e387c907fbcfcb5d2cec4e1ac8c23d1cd4e55c69b11757016c343181f0ef
+EBUILD ipvsadm-1.24.ebuild 1255 SHA256 3100f52d473727e60ad4e3bbedf2e25d5b7042da5d58ec91dc519e856fce3bf3 SHA512 b02d38b0c2b59bb7a3550b91261284229dd19a3c5b7bccffd8d99bec17178242b1cee4e24a11ce3dc50972961f3c7598cd36f910e4f4319937d1ed75e0c13d3e WHIRLPOOL 149bc972d79cac285149ddb9a53020b6a0aac6d676bc7c67241f4a01ad1addd38353d9e5e0f569e17007a4a3aba924eed711177fd1459b9daedde1045483ebbb
+EBUILD ipvsadm-1.26-r2.ebuild 1468 SHA256 58ddbbc69a00e50faafa0ad1ae65347b0376bc98691d6788c8af687a9f94605e SHA512 73eba25de1121b24b2dfee8ea509f3c0c483cc22caf76bffe3742f1691346a2a13554a547ecb06cc1087373ab1866b2cd453ac99a334f62bf7618d9c423925be WHIRLPOOL fc42862cc91444e79ae22afff20d6c0cc977f902a981435511de8e6a5f8dcbf035eed5f5432119775f9752942421a4ca8b089e5ddb7413dbd4fa081c95d80083
+EBUILD ipvsadm-1.27-r1.ebuild 1736 SHA256 dc0d3672f1b37ba474dc6a7b5f1a0e6d5c5c0ed7a4daa76e61845f62fc4a3a71 SHA512 60860e46259f52965dbe1eb056f43b8878e9559f4eb0c40ed3ef74531ef8ff7c738aa6081720ecab06d2e9364c91da96de033c97591699d8af62580cd76a27a1 WHIRLPOOL 88f7e31b4d08cec225cf63b8061d332e0119b0b20ddd2e35eec191f2894b5de07acc68f945361e91d912fe9a33938c287ea25eadb236af1ae4f9af74cdc19184
+EBUILD ipvsadm-1.28.ebuild 1647 SHA256 209f80463dd03f37cbe84d012c7b88dd1ef7cffd3614a98e19a0fe65dc07b6a9 SHA512 0132f04eb777f8289ab98edff96a90e3d07309993bbbc892c9c5f2f0f1e1b238253a86dd8383aeff5c8446c8e0cb4f108f8159692ba0d659852568d49155b906 WHIRLPOOL c5ebe64b850ec42ba299ca24df73235615ffb0abf0bc714cf0df2b1c3dfe3d55c3b2e21b797dff2eb974e3eb1d8bbd05854b0619ae250deae43acd7d6c7550ed
+MISC ChangeLog 3574 SHA256 8dc025ce5e072f9474a81d53cd3a7fae301888976f7860cbec191bfd86b969a3 SHA512 d5058fc2c118a55f0b70a17853d1618c61bb3c7d4745f8093e51d808fbe01e78a3f282c9447005761eb6c9a4f8f0e10be02f8813e0520b4082ca9a308e4e16f4 WHIRLPOOL 1301bcb2edc243e562715d17630c5e2db6764d22158a0861ef3c8b7804e51f4ef29b416ca6a8b35eb96aa185020d07a41089b0a2738e1e9a132b0e0b98aa5366
+MISC ChangeLog-2015 9083 SHA256 f22d33cce3328dfa02e7c546301b3fdacf312d818fbc59b65da41801a2467809 SHA512 6a2776ef2d81b0c7c19a51951fb72662cc17e53bb3355c5a06ac5e461e9ba28fba1631f271b6628e54d6f109644cc34a7b047a7b3a8986a281492e4fd976017f WHIRLPOOL 1dccffebc7303bb9c0e39e216f120d855b9fdcb82cc29713d25d9d95510206368cbd96ffd669ff5ddb1d356679fa88abec166157e6de0c4839e5ba9367547404
+MISC metadata.xml 366 SHA256 99c1935c6018be78647e899c1e8a8b222934ca30b861d6b5918088ec2199ddd2 SHA512 6cdf615e2158872ea3081ba02996989acd1fa9a02286946acc1b972c717943eba27b2733dc7c33ff782624017adc140fd125cf04f1d989e006c2541eb159f256 WHIRLPOOL b1c9f17339b00a1da42fc7d9044b9432711bfe44d9d50984309590852361985e34aa4836101b5ad44671493340c446febc90babad82cd4263d67abe0e7ed0601
diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch
new file mode 100644
index 000000000000..ba8e9450eb35
--- /dev/null
+++ b/sys-cluster/ipvsadm/files/ipvsadm-1.26-buildsystem.patch
@@ -0,0 +1,113 @@
+--- a/Makefile
++++ b/Makefile
+@@ -43,14 +43,13 @@
+ INIT = $(BUILD_ROOT)/etc/rc.d/init.d
+ MKDIR = mkdir
+ INSTALL = install
+-STATIC_LIBS = libipvs/libipvs.a
+
+ ifeq "${ARCH}" "sparc64"
+- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
++ CFLAGS := -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
+ else
+- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g
++ CFLAGS := -g
+ endif
+-
++OPTFLAGS += -Wall -Wunused -Wstrict-prototypes
+
+ #####################################
+ # No servicable parts below this line
+@@ -94,10 +93,12 @@
+ all: libs ipvsadm
+
+ libs:
+- make -C libipvs
++ $(MAKE) -C libipvs
++
++$(OBJS): libs
+
+-ipvsadm: $(OBJS) $(STATIC_LIBS)
+- $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
++ipvsadm: $(OBJS)
++ $(CC) $(LDFLAGS) $(OPTFLAGS) $(CFLAGS) -o $@ $^ -Llibipvs -lipvs $(LIBS)
+
+-install: all
++install:
+ if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
+@@ -108,15 +109,13 @@
+ $(INSTALL) -m 0644 ipvsadm.8 $(MAN)
+ $(INSTALL) -m 0644 ipvsadm-save.8 $(MAN)
+ $(INSTALL) -m 0644 ipvsadm-restore.8 $(MAN)
+- [ -d $(INIT) ] || $(MKDIR) -p $(INIT)
+- $(INSTALL) -m 0755 ipvsadm.sh $(INIT)/ipvsadm
+
+ clean:
+ rm -f ipvsadm $(NAME).spec $(NAME)-$(VERSION).tar.gz
+ rm -rf debian/tmp
+ find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \
+ -o -name "*.rej" -o -name core | xargs rm -f
+- make -C libipvs clean
++ $(MAKE) -C libipvs clean
+
+ distclean: clean
+
+@@ -149,4 +148,4 @@
+ dpkg-buildpackage
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+--- a/libipvs/Makefile
++++ b/libipvs/Makefile
+@@ -1,32 +1,39 @@
+ # Makefile for libipvs
+
+ CC = gcc
+-CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC
++OPTFLAGS = -Wall -Wunused -Wstrict-prototypes
+ ifneq (0,$(HAVE_NL))
+-CFLAGS += -DLIBIPVS_USE_NL
++DEFINES += -DLIBIPVS_USE_NL
+ endif
+
+ INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \
+ echo "-I../../."; fi;)
+-DEFINES = $(shell if [ ! -f ../../ip_vs.h ]; then \
++DEFINES += $(shell if [ ! -f ../../ip_vs.h ]; then \
+ echo "-DHAVE_NET_IP_VS_H"; fi;)
+
+ .PHONY = all clean install dist distclean rpm rpms
+-STATIC_LIB = libipvs.a
+-SHARED_LIB = libipvs.so
+
+-all: $(STATIC_LIB) $(SHARED_LIB)
++TARGETS = libipvs.so
+
+-$(STATIC_LIB): libipvs.o ip_vs_nl_policy.o
++ifeq (1,$(STATIC_LIB))
++TARGETS += libipvs.a
++endif
++
++all: $(TARGETS)
++
++libipvs.a: libipvs.o ip_vs_nl_policy.o
+ ar rv $@ $^
+
+-$(SHARED_LIB): libipvs.o ip_vs_nl_policy.o
+- $(CC) -shared -Wl,-soname,$@ -o $@ $^
++libipvs.so: libipvs.lo ip_vs_nl_policy.lo
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^
++
++%.lo: %.c
++ $(CC) -fPIC $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+
+ clean:
+- rm -f *.[ao] *~ *.orig *.rej core *.so
++ rm -f *.[ao] *~ *.orig *.rej core *.so *.lo
+
+ distclean: clean
diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch
new file mode 100644
index 000000000000..d36b0bf8abe4
--- /dev/null
+++ b/sys-cluster/ipvsadm/files/ipvsadm-1.26-stack_smashing.patch
@@ -0,0 +1,32 @@
+From 81529af388c0f0f4e4b169b7bcb285ef5e798f41 Mon Sep 17 00:00:00 2001
+From: Christian Ruppert <idl0r@gentoo.org>
+Date: Sat, 8 Oct 2011 02:05:37 +0200
+Subject: [PATCH] Fix stack smashing because of a typo
+
+IPVS_CMD_ATTR_MAX was the size of __IPVS_SVC_ATTR_MAX before, which has a
+different size and thus it caused trouble. The right enum to use is
+__IPVS_CMD_ATTR_MAX.
+
+Reported-by: Deniss Gaplevsky <slim@inbox.lv>
+X-Gentoo-Bug: 371903
+X-Gentoo-Bug-URL: https://bugs.gentoo.org/371903
+---
+ libipvs/ip_vs.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/libipvs/ip_vs.h b/libipvs/ip_vs.h
+index 9726a17..5e1d544 100644
+--- a/libipvs/ip_vs.h
++++ b/libipvs/ip_vs.h
+@@ -413,7 +413,7 @@ enum {
+ __IPVS_CMD_ATTR_MAX,
+ };
+
+-#define IPVS_CMD_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1)
++#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1)
+
+ /*
+ * Attributes used to describe a service
+--
+1.7.3.4
+
diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch
new file mode 100644
index 000000000000..54d2e55c1519
--- /dev/null
+++ b/sys-cluster/ipvsadm/files/ipvsadm-1.27-buildsystem.patch
@@ -0,0 +1,117 @@
+diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/libipvs/Makefile ipvsadm-1.27/libipvs/Makefile
+--- ipvsadm-1.27.orig/libipvs/Makefile 2013-09-06 01:37:27.000000000 -0700
++++ ipvsadm-1.27/libipvs/Makefile 2013-11-01 23:45:21.633636401 -0700
+@@ -1,9 +1,9 @@
+ # Makefile for libipvs
+
+ CC = gcc
+-CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -fPIC
++#OPTFLAGS = -Wall -Wunused -Wstrict-prototypes
+ ifneq (0,$(HAVE_NL))
+-CFLAGS += -DLIBIPVS_USE_NL
++DEFINES += -DLIBIPVS_USE_NL
+ CFLAGS += $(shell \
+ if which pkg-config > /dev/null 2>&1; then \
+ if pkg-config --cflags libnl-3.0 2> /dev/null; then :; \
+@@ -15,7 +15,7 @@
+
+ INCLUDE += $(shell if [ -f ../../ip_vs.h ]; then \
+ echo "-I../../."; fi;)
+-DEFINES = $(shell if [ ! -f ../../ip_vs.h ]; then \
++DEFINES += $(shell if [ ! -f ../../ip_vs.h ]; then \
+ echo "-DHAVE_NET_IP_VS_H"; fi;)
+ DEFINES += $(shell if which pkg-config > /dev/null 2>&1; then \
+ if pkg-config --exists libnl-3.0; then :; \
+@@ -24,21 +24,31 @@
+ then echo "-DFALLBACK_LIBNL1"; fi; fi)
+
+ .PHONY = all clean install dist distclean rpm rpms
++
+ STATIC_LIB = libipvs.a
+ SHARED_LIB = libipvs.so
+
+-all: $(STATIC_LIB) $(SHARED_LIB)
++TARGETS = $(SHARED_LIB)
++ifeq (1,$(STATIC))
++TARGETS += $(STATIC_LIB)
++endif
++all: $(TARGETS)
++
++SOURCES = libipvs.c ip_vs_nl_policy.c
+
+-$(STATIC_LIB): libipvs.o ip_vs_nl_policy.o
++$(STATIC_LIB): $(SOURCES:%.c=%.o)
+ ar rv $@ $^
+
+-$(SHARED_LIB): libipvs.o ip_vs_nl_policy.o
+- $(CC) -shared -Wl,-soname,$@ -o $@ $^
++$(SHARED_LIB): $(SOURCES:%.c=%.lo)
++ $(CC) $(LDFLAGS) -shared -Wl,-soname,$@ -o $@ $^
++
++%.lo: %.c
++ $(CC) -fPIC $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
+
+ clean:
+- rm -f *.[ao] *~ *.orig *.rej core *.so
++ rm -f *.[ao] *~ *.orig *.rej core *.so *.lo
+
+ distclean: clean
+diff -Nuar -Nuar --exclude '*.orig' --exclude '*.rej' ipvsadm-1.27.orig/Makefile ipvsadm-1.27/Makefile
+--- ipvsadm-1.27.orig/Makefile 2013-11-01 23:49:36.523225124 -0700
++++ ipvsadm-1.27/Makefile 2013-11-01 23:49:09.478738760 -0700
+@@ -43,14 +43,13 @@
+ INIT = $(BUILD_ROOT)/etc/rc.d/init.d
+ MKDIR = mkdir
+ INSTALL = install
+-STATIC_LIBS = libipvs/libipvs.a
+
+ ifeq "${ARCH}" "sparc64"
+- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
++ CFLAGS := -g -m64 -pipe -mcpu=ultrasparc -mcmodel=medlow
+ else
+- CFLAGS = -Wall -Wunused -Wstrict-prototypes -g
++ CFLAGS := -g
+ endif
+-
++OPTFLAGS += -Wall -Wunused -Wstrict-prototypes
+
+ #####################################
+ # No servicable parts below this line
+@@ -84,12 +83,14 @@
+ all: libs ipvsadm
+
+ libs:
+- make -C libipvs
++ $(MAKE) -C libipvs CFLAGS="$(CFLAGS)" STATIC="$(STATIC)" OPTFLAGS="$(OPTFLAGS)"
++
++$(OBJS): libs
+
+-ipvsadm: $(OBJS) $(STATIC_LIBS)
+- $(CC) $(CFLAGS) -o $@ $^ $(LIBS)
++ipvsadm: $(OBJS)
++ $(CC) $(LDFLAGS) $(OPTFLAGS) $(CFLAGS) -o $@ $^ -Llibipvs -lipvs $(LIBS)
+
+-install: all
++install: all
+ if [ ! -d $(SBIN) ]; then $(MKDIR) -p $(SBIN); fi
+ $(INSTALL) -m 0755 ipvsadm $(SBIN)
+ $(INSTALL) -m 0755 ipvsadm-save $(SBIN)
+@@ -106,7 +107,7 @@
+ rm -rf debian/tmp
+ find . -name '*.[ao]' -o -name "*~" -o -name "*.orig" \
+ -o -name "*.rej" -o -name core | xargs rm -f
+- make -C libipvs clean
++ $(MAKE) -C libipvs clean
+
+ distclean: clean
+
+@@ -139,4 +140,4 @@
+ dpkg-buildpackage
+
+ %.o: %.c
+- $(CC) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
++ $(CC) $(OPTFLAGS) $(CFLAGS) $(INCLUDE) $(DEFINES) -c -o $@ $<
diff --git a/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch b/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch
new file mode 100644
index 000000000000..e3e5ebec72c6
--- /dev/null
+++ b/sys-cluster/ipvsadm/files/ipvsadm-1.27-fix-daemon-state.patch
@@ -0,0 +1,56 @@
+From 8c34d5a0d4c763db9b8f1e54be0c6c3ded6c54e0 Mon Sep 17 00:00:00 2001
+From: Alexander Holler <alexander.holler@1und1.de>
+Date: Mon, 9 Jan 2012 13:16:55 +0100
+Subject: [PATCH] libipvs: Fix reporting of the state of the backup-daemon.
+
+ipvsadm -l --daemon didn't report a running ipvs-backup-daemon
+(if no master-daemon was run).
+
+It seems there was some misunderstanding of
+how the daemons got reported (without using netlink). The state of
+the backup-daemon is always reported (by the kernel) in the second
+element of type ip_vs_daemon_user which is returned by the kernel
+through IP_VS_SO_GET_DAEMON or IPVS_CMD_GET_DAEMON.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+---
+ libipvs/libipvs.c | 11 ++++++-----
+ 1 files changed, 6 insertions(+), 5 deletions(-)
+
+Note: patch adjusted slightly to apply against ipvsadm (was spun for keepalived) - robbat2
+
+diff --git a/libipvs/libipvs.c b/libipvs/libipvs.c
+index ea5e851..6bee837 100644
+--- a/libipvs/libipvs.c
++++ b/libipvs/libipvs.c
+@@ -1003,12 +1003,9 @@ static int ipvs_daemon_parse_cb(struct nl_msg *msg, void *arg)
+ struct nlattr *attrs[IPVS_CMD_ATTR_MAX + 1];
+ struct nlattr *daemon_attrs[IPVS_DAEMON_ATTR_MAX + 1];
+ ipvs_daemon_t *u = (ipvs_daemon_t *)arg;
++ __u32 state;
+ int i = 0;
+
+- /* We may get two daemons. If we've already got one, this is the second */
+- if (u[0].state)
+- i = 1;
+-
+ if (genlmsg_parse(nlh, 0, attrs, IPVS_CMD_ATTR_MAX, ipvs_cmd_policy) != 0)
+ return -1;
+
+@@ -1021,7 +1018,11 @@ static int ipvs_daemon_parse_cb(struct nl_msg *msg, void *arg)
+ daemon_attrs[IPVS_DAEMON_ATTR_SYNC_ID]))
+ return -1;
+
+- u[i].state = nla_get_u32(daemon_attrs[IPVS_DAEMON_ATTR_STATE]);
++ state = nla_get_u32(daemon_attrs[IPVS_DAEMON_ATTR_STATE]);
++ /* The second element is used for the state of the backup daemon. */
++ if (state == IP_VS_STATE_BACKUP)
++ i = 1;
++ u[i].state = state;
+ strncpy(u[i].mcast_ifn,
+ nla_get_string(daemon_attrs[IPVS_DAEMON_ATTR_MCAST_IFN]),
+ IP_VS_IFNAME_MAXLEN);
+--
+1.7.6.5
+
diff --git a/sys-cluster/ipvsadm/files/ipvsadm-init b/sys-cluster/ipvsadm/files/ipvsadm-init
new file mode 100644
index 000000000000..c4f58ee567fc
--- /dev/null
+++ b/sys-cluster/ipvsadm/files/ipvsadm-init
@@ -0,0 +1,36 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="save"
+
+depend() {
+ need net
+}
+
+checkconfig() {
+ if [ ! -f /var/lib/ipvsadm/rules-save ] ; then
+ eerror "Not starting ipvsadm. First create some rules then run"
+ eerror "/etc/init.d/ipvsadm save"
+ return 1
+ fi
+}
+
+start() {
+ ebegin "Starting ipvsadm"
+ einfo "Clearing previous rules"
+ ipvsadm -C
+ ipvsadm-restore < /var/lib/ipvsadm/rules-save
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ipvsadm"
+ eend $?
+}
+
+save() {
+ ebegin "Saving ipvsadm state"
+ ipvsadm-save > /var/lib/ipvsadm/rules-save
+ eend $?
+}
diff --git a/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild
new file mode 100644
index 000000000000..52156e121819
--- /dev/null
+++ b/sys-cluster/ipvsadm/ipvsadm-1.21-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit linux-info
+
+PATCHLEVEL="11"
+MY_PV="${PV}-${PATCHLEVEL}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="utility to administer the IP virtual server services"
+HOMEPAGE="http://linuxvirtualserver.org"
+LICENSE="GPL-2"
+DEPEND=">=sys-libs/ncurses-5.2"
+
+SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.4/${MY_P}.tar.gz"
+
+SLOT="0"
+KEYWORDS="~ppc ~ppc64 x86"
+IUSE=""
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if kernel_is -ge 2 6; then
+ eerror "${P} does not support 2.6 kernels, please try newer versions"
+ die "wrong kernel version"
+ fi
+}
+
+src_compile() {
+ emake || die "error compiling source"
+}
+
+src_install() {
+ into /
+ dosbin ipvsadm ipvsadm-save ipvsadm-restore || die
+
+ doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8
+
+ newinitd "${FILESDIR}"/ipvsadm-init ipvsadm || die
+ keepdir /var/lib/ipvsadm
+
+ dolib.a libipvs/libipvs.a || die
+
+ insinto /usr/include/ipvs
+ newins libipvs/libipvs.h ipvs.h || die
+
+ einfo "You will need a kernel that has ipvs patches to use LVS"
+}
diff --git a/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild
new file mode 100644
index 000000000000..da5e18b99cf8
--- /dev/null
+++ b/sys-cluster/ipvsadm/ipvsadm-1.24.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit linux-info toolchain-funcs
+
+DESCRIPTION="utility to administer the IP virtual server services offered by the Linux kernel"
+HOMEPAGE="http://linuxvirtualserver.org/"
+SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.5/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ~ppc64 s390 sparc x86"
+IUSE=""
+
+RDEPEND=">=sys-libs/ncurses-5.2"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ if kernel_is 2 4; then
+ eerror "${P} supports only 2.6 kernels, please try ${PN}-1.21 for 2.4 kernels"
+ die "wrong kernel version"
+ fi
+}
+
+src_compile() {
+ emake \
+ -j1 \
+ INCLUDE="-I${KV_DIR}/include -I.. -I." \
+ CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" \
+ || die "error compiling source"
+}
+
+src_install() {
+ into /
+ dosbin ipvsadm ipvsadm-save ipvsadm-restore || die
+
+ doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8 || die
+
+ newinitd "${FILESDIR}"/ipvsadm-init ipvsadm
+ keepdir /var/lib/ipvsadm
+
+ dolib.a libipvs/libipvs.a || die
+
+ insinto /usr/include/ipvs
+ newins libipvs/libipvs.h ipvs.h || die
+}
+
+pkg_postinst() {
+ einfo "You will need a kernel that has ipvs patches to use LVS."
+ einfo "This version is specifically for 2.6 kernels."
+}
diff --git a/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild
new file mode 100644
index 000000000000..a022f55e3d23
--- /dev/null
+++ b/sys-cluster/ipvsadm/ipvsadm-1.26-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils linux-info toolchain-funcs
+
+DESCRIPTION="utility to administer the IP virtual server services"
+HOMEPAGE="http://linuxvirtualserver.org/"
+SRC_URI="http://www.linuxvirtualserver.org/software/kernel-2.6/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 s390 sparc x86"
+IUSE="static-libs"
+
+RDEPEND=">=sys-libs/ncurses-5.2
+ dev-libs/libnl:1.1
+ >=dev-libs/popt-1.16"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_pretend() {
+ if kernel_is 2 4; then
+ eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels"
+ die "wrong kernel version"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-buildsystem.patch
+ epatch "${FILESDIR}/${P}-stack_smashing.patch" # bug 371903
+ use static-libs && export STATIC=1
+}
+
+src_compile() {
+ emake -e \
+ INCLUDE="-I.. -I." \
+ CC="$(tc-getCC)" \
+ HAVE_NL=1 \
+ STATIC_LIB=${STATIC} \
+ POPT_LIB="$(pkg-config --libs popt)"
+}
+
+src_install() {
+ into /
+ dosbin ipvsadm ipvsadm-save ipvsadm-restore
+
+ into /usr
+ doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8
+
+ newinitd "${FILESDIR}"/ipvsadm-init ipvsadm
+ keepdir /var/lib/ipvsadm
+
+ use static-libs && dolib.a libipvs/libipvs.a
+ dolib.so libipvs/libipvs.so
+
+ insinto /usr/include/ipvs
+ newins libipvs/libipvs.h ipvs.h
+}
+
+pkg_postinst() {
+ einfo "You will need a kernel that has ipvs patches to use LVS."
+}
diff --git a/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild
new file mode 100644
index 000000000000..ad82d37548d0
--- /dev/null
+++ b/sys-cluster/ipvsadm/ipvsadm-1.27-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils linux-info toolchain-funcs
+
+DESCRIPTION="utility to administer the IP virtual server services"
+HOMEPAGE="http://linuxvirtualserver.org/"
+SRC_URI="https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-${PV}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ia64 ppc ppc64 ~s390 sparc x86"
+IUSE="static-libs"
+
+RDEPEND=">=sys-libs/ncurses-5.2:*
+ dev-libs/libnl:=
+ >=dev-libs/popt-1.16"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_pretend() {
+ if kernel_is 2 4; then
+ eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels"
+ die "wrong kernel version"
+ fi
+}
+
+src_prepare() {
+ default
+ epatch "${FILESDIR}"/${PN}-1.27-buildsystem.patch
+ # Merged upstream in 1.27
+ #epatch "${FILESDIR}"/${PN}-1.26-stack_smashing.patch # bug 371903
+ epatch "${FILESDIR}"/${PN}-1.27-fix-daemon-state.patch
+ use static-libs && export STATIC=1
+}
+
+src_compile() {
+ local libnl_include
+ if has_version ">=dev-libs/libnl-3.0"; then
+ libnl_include=$(pkg-config --cflags libnl-3.0)
+ else
+ libnl_include=""
+ fi
+ emake -e \
+ INCLUDE="-I.. -I. ${libnl_include}" \
+ CC="$(tc-getCC)" \
+ HAVE_NL=1 \
+ STATIC=${STATIC} \
+ POPT_LIB="$(pkg-config --libs popt)"
+}
+
+src_install() {
+ into /
+ dosbin ipvsadm ipvsadm-save ipvsadm-restore
+
+ into /usr
+ doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8
+
+ newinitd "${FILESDIR}"/ipvsadm-init ipvsadm
+ keepdir /var/lib/ipvsadm
+
+ use static-libs && dolib.a libipvs/libipvs.a
+ dolib.so libipvs/libipvs.so
+
+ insinto /usr/include/ipvs
+ newins libipvs/libipvs.h ipvs.h
+}
+
+pkg_postinst() {
+ einfo "You will need a kernel that has ipvs patches to use LVS."
+}
diff --git a/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild b/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild
new file mode 100644
index 000000000000..39f351f5ae90
--- /dev/null
+++ b/sys-cluster/ipvsadm/ipvsadm-1.28.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils linux-info toolchain-funcs
+
+DESCRIPTION="utility to administer the IP virtual server services"
+HOMEPAGE="http://linuxvirtualserver.org/"
+SRC_URI="https://kernel.org/pub/linux/utils/kernel/ipvsadm/ipvsadm-${PV}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="static-libs"
+
+RDEPEND=">=sys-libs/ncurses-5.2:*
+ dev-libs/libnl:=
+ >=dev-libs/popt-1.16"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_pretend() {
+ if kernel_is 2 4; then
+ eerror "${P} supports only 2.6 series and later kernels, please try ${PN}-1.21 for 2.4 kernels"
+ die "wrong kernel version"
+ fi
+}
+
+src_prepare() {
+ default
+ epatch "${FILESDIR}"/${PN}-1.27-buildsystem.patch
+ epatch "${FILESDIR}"/${PN}-1.27-fix-daemon-state.patch
+ use static-libs && export STATIC=1
+}
+
+src_compile() {
+ local libnl_include
+ if has_version ">=dev-libs/libnl-3.0"; then
+ libnl_include=$(pkg-config --cflags libnl-3.0)
+ else
+ libnl_include=""
+ fi
+ emake -e \
+ INCLUDE="-I.. -I. ${libnl_include}" \
+ CC="$(tc-getCC)" \
+ HAVE_NL=1 \
+ STATIC=${STATIC} \
+ POPT_LIB="$(pkg-config --libs popt)"
+}
+
+src_install() {
+ into /
+ dosbin ipvsadm ipvsadm-save ipvsadm-restore
+
+ into /usr
+ doman ipvsadm.8 ipvsadm-save.8 ipvsadm-restore.8
+
+ newinitd "${FILESDIR}"/ipvsadm-init ipvsadm
+ keepdir /var/lib/ipvsadm
+
+ use static-libs && dolib.a libipvs/libipvs.a
+ dolib.so libipvs/libipvs.so
+
+ insinto /usr/include/ipvs
+ newins libipvs/libipvs.h ipvs.h
+}
+
+pkg_postinst() {
+ einfo "You will need a kernel that has ipvs patches to use LVS."
+}
diff --git a/sys-cluster/ipvsadm/metadata.xml b/sys-cluster/ipvsadm/metadata.xml
new file mode 100644
index 000000000000..7ca6574ca7b4
--- /dev/null
+++ b/sys-cluster/ipvsadm/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+
+ <longdescription>
+ Administration tools for linux virtual server clusters
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/keepalived/Manifest b/sys-cluster/keepalived/Manifest
new file mode 100644
index 000000000000..32ecf7e5f442
--- /dev/null
+++ b/sys-cluster/keepalived/Manifest
@@ -0,0 +1,9 @@
+AUX keepalived.confd 171 SHA256 dcc2d9b209a9836d861612547537df8f06bb08153482920dd4b927730ba6ae8d SHA512 468d176d22f1ce308871829f24624b33e6ba3b234a413395599a67a865f3cf815cc24a10c244dffd1421a0acf5352fe51027a2d3b282cd3822dfeadc8a1d4df0 WHIRLPOOL a25dacb9d7d4e9f28b67dfc9db353ba9784fd77ebdefc527313668e2ab773860e6850205a2ed19812121f9996bd8fe78ce0e27268cde527876af06524221fb54
+AUX keepalived.init 792 SHA256 0567d2b8cfeb78951e6c9e9d8ae5ed018e9eb116dd9d3d92779cfb823700c9b9 SHA512 240201b81bcca7b213bd3ec45fc286f0305d72a6952a3baf485d717df413df3a2da0f4b018eaa050b0b12cda78767f5c4ae60ec75e5802cfe57cb29951e86ba0 WHIRLPOOL 479f7819685ce5e8997b351098783eaff62c981d5401a54e22f543ffe7ddb80a383d51924444c0ffbdc2d65da6d7e00a3abb4db7be9a55c96375b5c12474e6d9
+DIST keepalived-1.2.24.tar.gz 601873 SHA256 3071804478077e606197a2348b5733d7d53af2843906af5e0d544945565c36ef SHA512 a5e555dd955173887896155a04b1f6bb0c2f2a758008472abd5433b057be3fd85e4f270a7b7eb2f36a1c16e46b235ef930b1844938276528ff61bbdd783bb1f5 WHIRLPOOL 03bb40cc499139679a5ca1446334459ef92e8acabce1d7359a30330d2afedc6f425e0226c0f98cabebe05310aac538f503c49627ed46091f132f042213392c5d
+DIST keepalived-1.3.5.tar.gz 683183 SHA256 c0114d86ea4c896557beb0d9367819a423ffba772bc5d7c548dc455e6b3bd048 SHA512 ebd710167becd4b99b665877953d19477c11f1d1c736eb580a05dedd4946363b756553e20607f34aa6c35f57b7252d8a22287beedc316b62a745fccc4243a720 WHIRLPOOL 4dfe73c20b3c7d40a1e1c4af85754df1ac494e8ada213e9b642197cfba0cd32acee7e17f7f9aec86c72fce8a8a01b36b464e649d6e4b8678a6246486d1468cb1
+EBUILD keepalived-1.2.24.ebuild 1412 SHA256 1d82ca2c33a235f53a7650e3f8ca14ac2d84bab6ac33dc2db53e0b7a8d18962d SHA512 3c4a6951cf0cb39bdd604af88f41f3895d5cf72c283d022b506c0fae841cb86adda7b11aa1d23247be17e26cd6cdf826fd45bae39b018f3477820a4dd2c26588 WHIRLPOOL 7c85d1ec92f7dca38c62ac5508ff4681be904c125a3c878b6bec8350f5b683b5b75de050c5c6ef2fcc57eeb95a743ee0d7b0a6b623d4d409212fe4868855ad7d
+EBUILD keepalived-1.3.5.ebuild 1535 SHA256 d3f13066d3e637acb3826703785b9b75c763918872ef54314ac7b6db5b66e8cd SHA512 900a77aa4bfee11e98672dd60390f093c1f322a0d288118790cb482189a5058a9aec160dbef1a3e298b1b8c83293c258bea095873e91a0514aca5dbf9654fe8c WHIRLPOOL a4ac65c8e6d3aa672fcfbafdaf993efe42065d7591719d0e81664e0c10abbe4104bbe881021461b4e8446292a40c3d9c9e691ad764c605fbac99c8b3f13364c6
+MISC ChangeLog 5823 SHA256 6b149038eb1cb4d46b374c91f2727fb379c259d1727423c5066c721ba8c87b76 SHA512 021de388f2e972153f957c30f92936cfbd4116d8555ca568020a2a8f7d2f494caa5fbcb3caf87a294ac33fd3e5b1dbdee723b079f30a494779a24a005c1d36cb WHIRLPOOL fe722d6084b1fb833c5dbef9905b81af5d9ad784c064f110af84f6f5fc0ec8424559d20c83ddf69ba26564b168ebd498d607cec155c711039e5e75979cd17ece
+MISC ChangeLog-2015 19989 SHA256 fb70d26b1268011904561aa2175ca57b7ebe5bbc712e038c415f1a886aeef68a SHA512 0bd6f3ace50e3a6c93d3691fda1c8afb5b31c8ef754adf5f9bfdc4cc73567b06e17d83c690a953729aedc11f81d966ca9265c1c399955d3627a7c0f5af7ca83c WHIRLPOOL c261e6347ac7b2d3c023412ffc9c175d6d69dce4f3e4dbd883b85d012199c558039f736144f7afe0f6b477bb9ad4758dceaa082fe19d31ec361cd7832fa96941
+MISC metadata.xml 368 SHA256 b2da76dd3c8c21c5965d5e12f9301f6c94b090f78a77c1dabb7260d411a2134d SHA512 712ea427d36786eaf0516e0b36f821ec89ee20bec9190a510ec0576c5f7e3867be89c2486cbd0faa341e3cc8235a3ed3f3d76028235d93038cc8c95be44021f5 WHIRLPOOL ba0345c0233d2b53da0be0bda94e820a99f4c3c3f9d3c746ac35073b31244523738ee6126c1a93907c2d6e7a7fb68033d3991e1acaeac7bb7cf89ed662602f46
diff --git a/sys-cluster/keepalived/files/keepalived.confd b/sys-cluster/keepalived/files/keepalived.confd
new file mode 100644
index 000000000000..5f56cb23b031
--- /dev/null
+++ b/sys-cluster/keepalived/files/keepalived.confd
@@ -0,0 +1,6 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Keepalived options
+# Increase logging:
+#KEEPALIVED_OPTS="-D"
diff --git a/sys-cluster/keepalived/files/keepalived.init b/sys-cluster/keepalived/files/keepalived.init
new file mode 100644
index 000000000000..c290c9dbc518
--- /dev/null
+++ b/sys-cluster/keepalived/files/keepalived.init
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use logger
+ # The interfaces do not actually need to exist to start, it handles them gracefully.
+ use net
+}
+
+command="/usr/sbin/keepalived"
+command_args="${KEEPALIVED_OPTS}"
+pidfile="/var/run/keepalived.pid"
+
+extra_commands="checkconfig reload"
+
+checkconfig() {
+ # keepalived has a config check command, but it does not work while the daemon is running!
+ if [ ! -e /etc/keepalived/keepalived.conf ] ; then
+ eerror "You need an /etc/keepalived/keepalived.conf file to run keepalived"
+ return 1
+ fi
+}
+
+start_pre() {
+ checkconfig || return 1
+}
+
+reload() {
+ ebegin "Reloading keepalived.conf"
+ start-stop-daemon --pidfile $pidfile --signal HUP
+ eend $?
+}
diff --git a/sys-cluster/keepalived/keepalived-1.2.24.ebuild b/sys-cluster/keepalived/keepalived-1.2.24.ebuild
new file mode 100644
index 000000000000..56d96bf45ccf
--- /dev/null
+++ b/sys-cluster/keepalived/keepalived-1.2.24.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="A strong & robust keepalive facility to the Linux Virtual Server project"
+HOMEPAGE="http://www.keepalived.org/"
+SRC_URI="http://www.keepalived.org/software/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 ~s390 sparc x86"
+IUSE="debug ipv6 snmp"
+
+RDEPEND="dev-libs/popt
+ sys-apps/iproute2
+ dev-libs/libnl:=
+ dev-libs/openssl:=
+ snmp? ( net-analyzer/net-snmp )
+ net-libs/libnfnetlink"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-4.4"
+
+DOCS=( README CONTRIBUTORS INSTALL ChangeLog AUTHOR TODO
+ doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt )
+
+src_prepare() {
+ eautoreconf
+ default
+}
+
+src_configure() {
+ STRIP=/bin/true \
+ econf \
+ --with-kernel-dir=/usr \
+ --enable-vrrp \
+ $(use_enable debug) \
+ $(use_enable snmp)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/keepalived.init keepalived
+ newconfd "${FILESDIR}"/keepalived.confd keepalived
+
+ use snmp && dodoc doc/KEEPALIVED-MIB
+
+ docinto genhash
+ dodoc genhash/README genhash/AUTHOR genhash/ChangeLog
+ # This was badly named by upstream, it's more HOWTO than anything else.
+ newdoc INSTALL INSTALL+HOWTO
+
+ # Security risk to bundle SSL certs
+ rm -f "${ED}"/etc/keepalived/samples/*.pem
+ # Clean up sysvinit files
+ rm -rf "${ED}"/etc/sysconfig "${ED}"/etc/rc.d/
+}
diff --git a/sys-cluster/keepalived/keepalived-1.3.5.ebuild b/sys-cluster/keepalived/keepalived-1.3.5.ebuild
new file mode 100644
index 000000000000..3b9a251008b9
--- /dev/null
+++ b/sys-cluster/keepalived/keepalived-1.3.5.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="A strong & robust keepalive facility to the Linux Virtual Server project"
+HOMEPAGE="http://www.keepalived.org/"
+SRC_URI="http://www.keepalived.org/software/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
+IUSE="dbus debug ipv6 snmp"
+
+RDEPEND="dev-libs/libnl:=
+ dev-libs/openssl:=
+ dev-libs/popt
+ net-libs/libnfnetlink
+ sys-apps/iproute2
+ dbus? ( sys-apps/dbus )
+ snmp? ( net-analyzer/net-snmp )"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-4.4"
+
+DOCS=( README CONTRIBUTORS INSTALL ChangeLog AUTHOR TODO
+ doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt )
+
+src_prepare() {
+ eautoreconf
+ default
+}
+
+src_configure() {
+ STRIP=/bin/true \
+ econf \
+ --with-kernel-dir=/usr \
+ --enable-sha1 \
+ --enable-vrrp \
+ $(use_enable dbus) \
+ $(use_enable dbus dbus-create-instance) \
+ $(use_enable debug) \
+ $(use_enable snmp)
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/keepalived.init keepalived
+ newconfd "${FILESDIR}"/keepalived.confd keepalived
+
+ use snmp && dodoc doc/KEEPALIVED-MIB
+
+ docinto genhash
+ dodoc genhash/README genhash/AUTHOR genhash/ChangeLog
+ # This was badly named by upstream, it's more HOWTO than anything else.
+ newdoc INSTALL INSTALL+HOWTO
+
+ # Security risk to bundle SSL certs
+ rm -f "${ED}"/etc/keepalived/samples/*.pem
+ # Clean up sysvinit files
+ rm -rf "${ED}"/etc/sysconfig "${ED}"/etc/rc.d/
+}
diff --git a/sys-cluster/keepalived/metadata.xml b/sys-cluster/keepalived/metadata.xml
new file mode 100644
index 000000000000..51b30f6d8f3f
--- /dev/null
+++ b/sys-cluster/keepalived/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ VRRP2 implementation. Used for setting up high availability clusters.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/knem/Manifest b/sys-cluster/knem/Manifest
new file mode 100644
index 000000000000..f9e8c7aa5951
--- /dev/null
+++ b/sys-cluster/knem/Manifest
@@ -0,0 +1,7 @@
+AUX 45-knem.rules 28 SHA256 6087f4d9ae8e629f5440d94ae0359935a4222dafb091bcb7fa9efd7f2024e80d SHA512 fc819a12ad7432cbf08450ebc36b469402753d8d363d72a46b71efb916391d320591eac0be9498a37a7bbc5ebe1b2725a2cbf37c7c69ed7d5c6e1ccf9ce0e51b WHIRLPOOL 06625f151fd4832d3a89ea65e8b648f4bfb10123dc8434ef0c8e0f7f546f77e222a5f52a9d8665a619e47ac5c4f0e129807eb3ccbee53e670a246e6508c9cdd2
+DIST knem-1.1.1.tar.gz 321401 SHA256 4bfbb4c237022cfebbe6b80c9d181252ee3a09cd42bc9dd1e90a81575fbbbef6 SHA512 6b53748df8ffcfa400870657d5c121f51e132d2b724bca832b00d7c16c546299d1dd29739fe1d4b00cc33010558ae584e7c0078de2c56d8ea92ce7880b4bfedc WHIRLPOOL 74908664d734d880082e35ec5707887dd17745b0edc161926906fcab9767bdc59d98bd710463188a6d73da781265d8ab83a8dd15beae57058455e734480a46d5
+EBUILD knem-1.1.1.ebuild 1568 SHA256 bebb991567730fd1b16aa5851f8d4035234b21ed7609524b0fa8a3148bf520da SHA512 6586238a87b39dd0041bcf0f22f7704bcbdb2d9deeaa1f24818fdff4da1f7cb807a9e92cc6b4876592da44e73e38cbc9da67090e45f0f277a2567b8d02e94f81 WHIRLPOOL 7b59a09df19df374bc8b4061541396f16ba05ab824674f3d63967ac2946628c5c1a83c0b4f6db19af864acb7bf89bc09c1ffc9043e313ce33a42367e22e07e31
+EBUILD knem-9999.ebuild 1568 SHA256 bebb991567730fd1b16aa5851f8d4035234b21ed7609524b0fa8a3148bf520da SHA512 6586238a87b39dd0041bcf0f22f7704bcbdb2d9deeaa1f24818fdff4da1f7cb807a9e92cc6b4876592da44e73e38cbc9da67090e45f0f277a2567b8d02e94f81 WHIRLPOOL 7b59a09df19df374bc8b4061541396f16ba05ab824674f3d63967ac2946628c5c1a83c0b4f6db19af864acb7bf89bc09c1ffc9043e313ce33a42367e22e07e31
+MISC ChangeLog 2487 SHA256 4720a4453e1b7ad957c93308c5b984d8d30a80ca7dd276fc7e13350b1a31bdb4 SHA512 82ed8b7f28d6a1fa98283d5746ddfcd101c2b7593895138dddb12d595489f7479eba6efa28bc5cc84ee4d3919b03b6b695e1e95e065051dcb687a71d65ffb4b1 WHIRLPOOL b7327c0519df0d2848f2b2d11894995d2c598f5c9a95bd777c726176ff1aee70a508a550bf9d249b354149369dc0f70ab2f82e1fb23b9d0346fed68b3f6d6f42
+MISC ChangeLog-2015 1258 SHA256 6762dc38524d2644e602ffe7c99a9276629888ee51dd6d1f8ee81b582868e571 SHA512 6cc0160fe538d5bbb7164253fc5ee802fa64131f7677ae01028677f81322e07fcc4673f873f4b44c6e3f32193b0cbfa9207bec62c8865f0323117e040bfac14c WHIRLPOOL 5a60f245ed260ed5ba840c42d7604f82d1c2a61da2da9e885fd3174272b1b556bb601cc64217b00109ae4570fbbb39ecebf7a1b57dd76ffa6e15ca8ad60baf5a
+MISC metadata.xml 365 SHA256 90e0eb71575b3b48ddebbb80e17f8a75e2e071f1b8048ec7ad42b62e3179995f SHA512 debd6bb734810af46390ed76b73151e5729999aff31956951cf9482e06ae6d08e4d642f9fc27ff99f0947b0b63214dc9ca6514e760d0d93a79bcd9ea79b60743 WHIRLPOOL 3f4277a73ba9bcbebc283ee05e6d99c5827b52ebe47ba0acd8b02f6207132b1ed6618f7408c85bfbf9588a2b222adac3ff2578a715d21521b95a290be3c9a9a6
diff --git a/sys-cluster/knem/files/45-knem.rules b/sys-cluster/knem/files/45-knem.rules
new file mode 100644
index 000000000000..1b87b1eb7a64
--- /dev/null
+++ b/sys-cluster/knem/files/45-knem.rules
@@ -0,0 +1 @@
+KERNEL=="knem", MODE="0666"
diff --git a/sys-cluster/knem/knem-1.1.1.ebuild b/sys-cluster/knem/knem-1.1.1.ebuild
new file mode 100644
index 000000000000..5de621a022fb
--- /dev/null
+++ b/sys-cluster/knem/knem-1.1.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools linux-mod linux-info toolchain-funcs udev multilib
+
+DESCRIPTION="High-Performance Intra-Node MPI Communication"
+HOMEPAGE="http://runtime.bordeaux.inria.fr/knem/"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://gforge.inria.fr/git/knem/knem.git"
+ inherit git-2
+ KEYWORDS=""
+else
+ SRC_URI="http://runtime.bordeaux.inria.fr/knem/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+IUSE="debug modules"
+
+DEPEND="
+ sys-apps/hwloc
+ virtual/linux-sources"
+RDEPEND="
+ sys-apps/hwloc
+ virtual/modutils"
+
+MODULE_NAMES="knem(misc:${S}/driver/linux)"
+BUILD_TARGETS="all"
+BUILD_PARAMS="KDIR=${KERNEL_DIR}"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ linux-mod_pkg_setup
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+}
+
+src_prepare() {
+ sed 's:driver/linux::g' -i Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-hwloc \
+ --with-linux="${KERNEL_DIR}" \
+ --with-linux-release=${KV_FULL} \
+ $(use_enable debug)
+}
+
+src_compile() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_compile || die "failed to build driver"
+ fi
+}
+
+src_install() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_install || die "failed to install driver"
+ fi
+
+ # Drop funny unneded stuff
+ rm "${ED}/usr/sbin/knem_local_install" || die
+ rmdir "${ED}/usr/sbin" || die
+ # install udev rules
+ udev_dorules "${FILESDIR}/45-knem.rules"
+ rm "${ED}/etc/10-knem.rules" || die
+}
diff --git a/sys-cluster/knem/knem-9999.ebuild b/sys-cluster/knem/knem-9999.ebuild
new file mode 100644
index 000000000000..5de621a022fb
--- /dev/null
+++ b/sys-cluster/knem/knem-9999.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools linux-mod linux-info toolchain-funcs udev multilib
+
+DESCRIPTION="High-Performance Intra-Node MPI Communication"
+HOMEPAGE="http://runtime.bordeaux.inria.fr/knem/"
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="https://gforge.inria.fr/git/knem/knem.git"
+ inherit git-2
+ KEYWORDS=""
+else
+ SRC_URI="http://runtime.bordeaux.inria.fr/knem/download/${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+IUSE="debug modules"
+
+DEPEND="
+ sys-apps/hwloc
+ virtual/linux-sources"
+RDEPEND="
+ sys-apps/hwloc
+ virtual/modutils"
+
+MODULE_NAMES="knem(misc:${S}/driver/linux)"
+BUILD_TARGETS="all"
+BUILD_PARAMS="KDIR=${KERNEL_DIR}"
+
+pkg_setup() {
+ linux-info_pkg_setup
+ linux-mod_pkg_setup
+ ARCH="$(tc-arch-kernel)"
+ ABI="${KERNEL_ABI}"
+}
+
+src_prepare() {
+ sed 's:driver/linux::g' -i Makefile.am
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-hwloc \
+ --with-linux="${KERNEL_DIR}" \
+ --with-linux-release=${KV_FULL} \
+ $(use_enable debug)
+}
+
+src_compile() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_compile || die "failed to build driver"
+ fi
+}
+
+src_install() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_install || die "failed to install driver"
+ fi
+
+ # Drop funny unneded stuff
+ rm "${ED}/usr/sbin/knem_local_install" || die
+ rmdir "${ED}/usr/sbin" || die
+ # install udev rules
+ udev_dorules "${FILESDIR}/45-knem.rules"
+ rm "${ED}/etc/10-knem.rules" || die
+}
diff --git a/sys-cluster/knem/metadata.xml b/sys-cluster/knem/metadata.xml
new file mode 100644
index 000000000000..fc70a30f312d
--- /dev/null
+++ b/sys-cluster/knem/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/kube-apiserver/Manifest b/sys-cluster/kube-apiserver/Manifest
new file mode 100644
index 000000000000..50dc2734cff4
--- /dev/null
+++ b/sys-cluster/kube-apiserver/Manifest
@@ -0,0 +1,10 @@
+AUX kube-apiserver.confd 116 SHA256 41c807a6b97b5cb309fb83a9c201956849d9e26da160825cc14e64aaa258e327 SHA512 302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee WHIRLPOOL 97e3233336c3afc89a579d20ea26a67ecacfae776f1be05ff9e1a355d0955c74dbc404ca6947d5e0d3f52902c7db816c30413bb774751c30b987fd20399bf803
+AUX kube-apiserver.initd 541 SHA256 c20920c79c9b17d28e9a9bb2375a7a226e05a96e7a0ec8079999ae300a54c06c SHA512 2863ad6d1d238b5e9557874cd3f5413108ed9424604cf026e2fd8c2fd66ba867ca9a3d98f67fdac54f335bacddf0479547b28f71aaa1db6580beff49290de110 WHIRLPOOL 54b8496a4e67e381ffcbf8fbc5d030d6e2cafffaf2a21dea2c46cd03198559c6370b0388fe31a37df54c5f2fa8e3397b344e09e5560269430ba3f0833e1b42d3
+AUX kube-apiserver.logrotated 84 SHA256 0e47872a37f8b06bc56ea17e35640af70f490588b16928d936f354415e559500 SHA512 91c1115cfebb17355f655b54b6574499c3e85876b186e217e80c87974a42171b32f9b1a359f5a361df0e33d1d6ecbb79dce1506728f4948bb5973680128b5ff2 WHIRLPOOL 6f4bf99d3f33a47633fbb657c335c6c6b75ff1da31363d694e3d3a16f0d8b90076aebe7c9898c3f0462025e5eb47d665dd1868e0f0e4a0bfb5aa754de75206fa
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kube-apiserver-1.7.5.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13
+EBUILD kube-apiserver-1.7.6.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13
+EBUILD kube-apiserver-1.8.0.ebuild 1197 SHA256 bd2f234b0c230833e147daba384e39fc4bb65a862e82126d6ad4563023c241be SHA512 fb9ea8d90470560651ee6a05144f78b55c97edc0b1fac0afb6378b355da5c1810ca1dace31f2499411327fbea31ce247c9aa47d3e01362936fc0f332eae1643d WHIRLPOOL f4b9f72baad98189da9c354be284e3fd167f20b4e472c13d5bd248c23380d847cc94a149d68e13edfd41da70dc68af040e76637d1086dfc89fc495534d933f13
+MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925
diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.confd b/sys-cluster/kube-apiserver/files/kube-apiserver.confd
new file mode 100644
index 000000000000..db74d27f0207
--- /dev/null
+++ b/sys-cluster/kube-apiserver/files/kube-apiserver.confd
@@ -0,0 +1,7 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-apiserver
+#
+
+command_args=""
diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.initd b/sys-cluster/kube-apiserver/files/kube-apiserver.initd
new file mode 100644
index 000000000000..6f649f5a5460
--- /dev/null
+++ b/sys-cluster/kube-apiserver/files/kube-apiserver.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes API Server"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-apiserver"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated b/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated
new file mode 100644
index 000000000000..8bbeb0abde24
--- /dev/null
+++ b/sys-cluster/kube-apiserver/files/kube-apiserver.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-apiserver/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild
new file mode 100644
index 000000000000..56d8ee795dcd
--- /dev/null
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.7.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes API server"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild
new file mode 100644
index 000000000000..56d8ee795dcd
--- /dev/null
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.7.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes API server"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild b/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild
new file mode 100644
index 000000000000..56d8ee795dcd
--- /dev/null
+++ b/sys-cluster/kube-apiserver/kube-apiserver-1.8.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes API server"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-apiserver/metadata.xml b/sys-cluster/kube-apiserver/metadata.xml
new file mode 100644
index 000000000000..f3dec6944099
--- /dev/null
+++ b/sys-cluster/kube-apiserver/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/kube-controller-manager/Manifest b/sys-cluster/kube-controller-manager/Manifest
new file mode 100644
index 000000000000..5389cfdeb1ab
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/Manifest
@@ -0,0 +1,10 @@
+AUX kube-controller-manager.confd 142 SHA256 378af056f60aefc4e4619b7d805e489d2129a4e2407b198cd7421d4294455ca9 SHA512 b0227a7431018a6742b3931fda0f14b4a040107ecd6821c84593180919ba8a5af9b99b7a507645a5488792f14accd686acc4cc6f70a5084bbdfcdd494021aafc WHIRLPOOL e2e88071f8bbb487fcf5594134220398a223c364867600cd78d02553ffa5bb864336da9adb6da973e429186cb7164d18e12032fbef9579c5868255bd9806c45b
+AUX kube-controller-manager.initd 566 SHA256 1271f550840ad78ce45135f6a64c2a95d639fb2f5dbbdf81cf336a4f705fe022 SHA512 7e3baab9b034e7048ed3cda8d09444c76369874cecc0a747fb5484c482fef464adb5ccc25fcb4481fb4aff68415a60462f6cbee2138810316f0cf822637676c1 WHIRLPOOL b642c8ca42215e6e8d132ef02cbaba187554be715c780ebe18e88168a5045ac73c5b8d59bf2a8bb36450b2a3892d040059f2bd48c4b50c0858886d44c46c9e06
+AUX kube-controller-manager.logrotated 93 SHA256 f56bb3ae56cd34c554524f1dd663b0b7652f09401fe1c0eaf0c6190192679155 SHA512 9c9d33696dc4fb915848efff258d2150b31d1a793e6b58715a6bc97bf7843ff8b67497f9fb02e025b19a109975913a6d93b7aacd9f485562d535591d849199f2 WHIRLPOOL 53c4279418049dc805d514401776ee4687957f2fbe030228ca2a2ce1c427e73fe711f4b009aece6b657aa1947b3c4759008d946759f1469a2faaba8a6d34064b
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kube-controller-manager-1.7.5.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3
+EBUILD kube-controller-manager-1.7.6.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3
+EBUILD kube-controller-manager-1.8.0.ebuild 1205 SHA256 10cbae6a937d6f84e48ee5f6991bcbe27d62a3763747b2c6028b6398073b4941 SHA512 7e3d27d052066d98fd014d4188f090eeea7a87d34b152be35c4fab01175ce2a375fb566dc718a2531464cbe528cb374e2d548cbbcb867660770798b72f2b103c WHIRLPOOL 787009973d32c39053c68d5e0ad74d07dc2ff3d3169e8ad8304621ec393878c3f1533c6b803facabc7d08cf067522b7151346d1761a4719a0b646927b97603c3
+MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925
diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd b/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd
new file mode 100644
index 000000000000..155c43a07561
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.confd
@@ -0,0 +1,9 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-controller-manager
+#
+
+# Add your own!
+command_args=""
+
diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd b/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd
new file mode 100644
index 000000000000..276197f06562
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Controller Manager service"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-controller-manager"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated b/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated
new file mode 100644
index 000000000000..a74eca94abf1
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/files/kube-controller-manager.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-controller-manager/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild
new file mode 100644
index 000000000000..e5ab12f16012
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild
new file mode 100644
index 000000000000..e5ab12f16012
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.7.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild b/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild
new file mode 100644
index 000000000000..e5ab12f16012
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/kube-controller-manager-1.8.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-controller-manager/metadata.xml b/sys-cluster/kube-controller-manager/metadata.xml
new file mode 100644
index 000000000000..f3dec6944099
--- /dev/null
+++ b/sys-cluster/kube-controller-manager/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/kube-proxy/Manifest b/sys-cluster/kube-proxy/Manifest
new file mode 100644
index 000000000000..a10300ea94cb
--- /dev/null
+++ b/sys-cluster/kube-proxy/Manifest
@@ -0,0 +1,10 @@
+AUX kube-proxy.confd 53 SHA256 a64f7683e165325c7ea27d75f1072a9aab33f3bb6dbd3cde10c62e0e39cc4876 SHA512 4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018 WHIRLPOOL 06b0c1feb540972544331c2b34325b78dc70fa25ae89a131581fa796eecb3f5a84c3825f875558f34aabeff161e1936701b922c5e3f74e104f590117c8a1a809
+AUX kube-proxy.initd 528 SHA256 d33e0bc015b9212f6105070880d5b87d272b3b0225433b3d365ab831e6ded38e SHA512 74dbbc24d811c2251c180cbf17beeb072f315a931e0643e668e6f804389d087661cc0c6e7be371329021b3ff9a47e67696b276481bad10801896d1d4897a16c1 WHIRLPOOL c054cff28b25b6bbaf72d4d92b62992f847098be79d1920312a39e65b446d3d9d2634408d84289507b6642e428b042dffe7fc22ac59d6ebd6549a4303510fe6f
+AUX kube-proxy.logrotated 80 SHA256 c9a2cd891aaa1a4193d8244ffd857400e2bc258d6b43fb4796c0787f3a06fcba SHA512 866e25b63e955ca4855ed6bff2d98225b82e313155a6f24ba39c3063bf0d66a2ed87be4f940a0a562d5bdb73cd90daf11b9b4748a880e64db4ec5092689fcbe4 WHIRLPOOL 13e918604291bb3378105e59d6e27108e6b3bc9df0ec314be5ff9f117e81267585257c0a8b80d8bcf1b840d9ac3827f015c4ff6698f5d49b70452c3588d09355
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kube-proxy-1.7.5.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39
+EBUILD kube-proxy-1.7.6.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39
+EBUILD kube-proxy-1.8.0.ebuild 1109 SHA256 c954932ce483576da1b3f4295617d74b465f8da1bed5370f404d76637e4178e3 SHA512 6dd581cfd97d999d1634181700984a8fd3b4d87f7a91011638a100b7076e23b5addfa364425b1bfb3619aae4919ef1d77f9e11a38daf782b3ebe3ae9b4e867bf WHIRLPOOL e4854293acc347634aea7538ec6770298719b30c684e09d14fac7f5bb7221a88578f465ead9ee5702e0bad61ed7b23dbba63c8c2a49a153b09619fb29e46fc39
+MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925
diff --git a/sys-cluster/kube-proxy/files/kube-proxy.confd b/sys-cluster/kube-proxy/files/kube-proxy.confd
new file mode 100644
index 000000000000..00f33f358bb9
--- /dev/null
+++ b/sys-cluster/kube-proxy/files/kube-proxy.confd
@@ -0,0 +1,4 @@
+###
+# Kubernetes kube-proxy config
+#
+command_args=""
diff --git a/sys-cluster/kube-proxy/files/kube-proxy.initd b/sys-cluster/kube-proxy/files/kube-proxy.initd
new file mode 100644
index 000000000000..10d51f8785f4
--- /dev/null
+++ b/sys-cluster/kube-proxy/files/kube-proxy.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Proxy service"
+pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
+user=${user:-root}
+group=${group:-root}
+
+command="/usr/bin/kube-proxy"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${SVCNAME}/${SVCNAME}.log \
+ --stderr /var/log/${SVCNAME}/${SVCNAME}.log"
+
+depend() {
+ need net
+ after net
+}
diff --git a/sys-cluster/kube-proxy/files/kube-proxy.logrotated b/sys-cluster/kube-proxy/files/kube-proxy.logrotated
new file mode 100644
index 000000000000..892c730e83a1
--- /dev/null
+++ b/sys-cluster/kube-proxy/files/kube-proxy.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-proxy/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild
new file mode 100644
index 000000000000..4824d28abca5
--- /dev/null
+++ b/sys-cluster/kube-proxy/kube-proxy-1.7.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Proxy service"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN} /var/lib/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild
new file mode 100644
index 000000000000..4824d28abca5
--- /dev/null
+++ b/sys-cluster/kube-proxy/kube-proxy-1.7.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Proxy service"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN} /var/lib/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild b/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild
new file mode 100644
index 000000000000..4824d28abca5
--- /dev/null
+++ b/sys-cluster/kube-proxy/kube-proxy-1.8.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Proxy service"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN} /var/lib/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-proxy/metadata.xml b/sys-cluster/kube-proxy/metadata.xml
new file mode 100644
index 000000000000..f3dec6944099
--- /dev/null
+++ b/sys-cluster/kube-proxy/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/kube-scheduler/Manifest b/sys-cluster/kube-scheduler/Manifest
new file mode 100644
index 000000000000..95577c2ee26f
--- /dev/null
+++ b/sys-cluster/kube-scheduler/Manifest
@@ -0,0 +1,10 @@
+AUX kube-scheduler.confd 133 SHA256 70edc8af1b41224c51951df215533029e708f544fbc9c8852862fa3e7034b4ab SHA512 d7326f34b26aaebf4b5c25a03abcff3bc3d397382ad4fed0f4718ee425e71399febf6fec6dc817813490671692d3f1b454fd5d14d9c47c3d41b0d3405a01a6c2 WHIRLPOOL 18149eaa544a683e49e23975faddeb547032528107a34f3bd0920724e073a73c742e928a97960e304b33018a7306d099cb359a04f239ad902e76fd09c99788fa
+AUX kube-scheduler.initd 548 SHA256 5da776b988c9f11ef4801fe80c30c8d1af7d451a31b094daa3cd34e85309831e SHA512 151ea6f5cc36de9b83f0e5365579e33eea8002f9a03f5f61d195a349236e6baf192f701d3fb591b769aa90e8e1e620d525b20c95a1e8cda58d062971d8f587a3 WHIRLPOOL 621ccbc1e20e0f9eecef2654f6e3d0f633070f2e58ecc54620cb32e5240593dae5b91cc6af65230479f012882bdf7513b5681b5524ae92324d9a5f82aa741f5c
+AUX kube-scheduler.logrotated 84 SHA256 1930db199708801e324d3fd0131f2a8f0eecd32d108a92df521f976333d4d5ef SHA512 34d1cf5b5e84b2466b2f40a998bd81e197df7f284636e79ed6e55442d04c7a565af57487ee2f95566c7a9bc95cc903fa2772cc434eaf49c1aa3a6df4f0be5fd2 WHIRLPOOL cebd1e659f51be2c6c9db184bf39df4dbcc247ff4249daddc7ef693cba48c0ce6ee05b870297c336d5f2a2ab9589a1396bbd66a83748ac699658fd0b23ead5a0
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kube-scheduler-1.7.5.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303
+EBUILD kube-scheduler-1.7.6.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303
+EBUILD kube-scheduler-1.8.0.ebuild 1212 SHA256 61aa6e4d0aa1aaeac5fe4df77d787b02944e9902d04c8b2548915c0c4a4a2c54 SHA512 03ad58f55630501b97575183c6d56aa59a4290a3bd8b08818c5f616f0966f539558588ebce58283dedc1543519e229c228f83f8886f82e5f36a636c5b4d655c9 WHIRLPOOL 7648f122210c39a05ceeacaff31e1149ca4929ce3b6072358ca856b2f51abe93d1b7cf37c8633770b88d3c6fd65d049d1bc94c306263de19bfedc749a75ab303
+MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925
diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.confd b/sys-cluster/kube-scheduler/files/kube-scheduler.confd
new file mode 100644
index 000000000000..8442e0348d23
--- /dev/null
+++ b/sys-cluster/kube-scheduler/files/kube-scheduler.confd
@@ -0,0 +1,9 @@
+###
+# kubernetes system config
+#
+# The following values are used to configure the kube-scheduler
+#
+
+# Add your own!
+command_args=""
+
diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.initd b/sys-cluster/kube-scheduler/files/kube-scheduler.initd
new file mode 100644
index 000000000000..2c49bce3ec80
--- /dev/null
+++ b/sys-cluster/kube-scheduler/files/kube-scheduler.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubernetes Scheduler service"
+pidfile=${pidfile:-"/run/${RC_SVCNAME}.pid"}
+user=${user:-${RC_SVCNAME}}
+group=${group:-${RC_SVCNAME}}
+
+command="/usr/bin/kube-scheduler"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log \
+ --stderr /var/log/${RC_SVCNAME}/${RC_SVCNAME}.log"
+
+depend() {
+ after net
+}
diff --git a/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated b/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated
new file mode 100644
index 000000000000..8bd67e8db69e
--- /dev/null
+++ b/sys-cluster/kube-scheduler/files/kube-scheduler.logrotated
@@ -0,0 +1,7 @@
+/var/log/kube-scheduler/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild
new file mode 100644
index 000000000000..aa15c73ecc3a
--- /dev/null
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.7.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild
new file mode 100644
index 000000000000..aa15c73ecc3a
--- /dev/null
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.7.6.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild b/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild
new file mode 100644
index 000000000000..aa15c73ecc3a
--- /dev/null
+++ b/sys-cluster/kube-scheduler/kube-scheduler-1.8.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit user golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Controller Manager"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=plugin/cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /var/log/${PN}
+ fowners ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kube-scheduler/metadata.xml b/sys-cluster/kube-scheduler/metadata.xml
new file mode 100644
index 000000000000..f3dec6944099
--- /dev/null
+++ b/sys-cluster/kube-scheduler/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/kubectl/Manifest b/sys-cluster/kubectl/Manifest
new file mode 100644
index 000000000000..568737de56f0
--- /dev/null
+++ b/sys-cluster/kubectl/Manifest
@@ -0,0 +1,7 @@
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kubectl-1.7.5.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814
+EBUILD kubectl-1.7.6.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814
+EBUILD kubectl-1.8.0.ebuild 1195 SHA256 52c65b73376bfe55d2e4422c840ca0ea3b76c3dd67d91d066d024b747fc25b45 SHA512 7f11ea2a0820fdd11ee3e15ff86f1af6999e538e6b96703921babba7df6a0756e1f209b795816bc8b983d6066dc5424a868be4fc6200b69d43007e4e40eb8544 WHIRLPOOL 5f80d841ed707970cc4f37ac11e7914bfcfa5f3b2496babfe68d08b07b3b3ed128c22ad7e62621fb21d15459afb14abf9dc3c3fe5b078aada5e8c10b88e15814
+MISC metadata.xml 331 SHA256 757e4c9e564d7c023ce2068c998fa06b2266edf7608d717268c294a3f6e10a41 SHA512 d44cef89f9f902c706b0f9c0c4106bfd6ca094d64c273d0a13da53aec7ba2b238cd6ff489f13765e895ee4a6f2bb4638436839c7c60cce2ece3013fdc27232a4 WHIRLPOOL 51540c0c28cc89e47e72825981e9f823b4abf942d35e755daa69e18c5160335f13001fbc93da85d3556562473ba8d983596c069b8ff17ce55d6ac0466bc7fb0f
diff --git a/sys-cluster/kubectl/kubectl-1.7.5.ebuild b/sys-cluster/kubectl/kubectl-1.7.5.ebuild
new file mode 100644
index 000000000000..89ea95537ed0
--- /dev/null
+++ b/sys-cluster/kubectl/kubectl-1.7.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot bash-completion-r1
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="CLI to run commands against Kubernetes clusters"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+ pushd src/${EGO_PN} || die
+ _output/bin/${PN} completion bash > ${PN}.bash
+ _output/bin/${PN} completion zsh > ${PN}.zsh
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+
+ newbashcomp ${PN}.bash ${PN}
+ insinto /usr/share/zsh/site-functions
+ newins ${PN}.zsh ${PN}
+
+ popd || die
+}
diff --git a/sys-cluster/kubectl/kubectl-1.7.6.ebuild b/sys-cluster/kubectl/kubectl-1.7.6.ebuild
new file mode 100644
index 000000000000..89ea95537ed0
--- /dev/null
+++ b/sys-cluster/kubectl/kubectl-1.7.6.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot bash-completion-r1
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="CLI to run commands against Kubernetes clusters"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+ pushd src/${EGO_PN} || die
+ _output/bin/${PN} completion bash > ${PN}.bash
+ _output/bin/${PN} completion zsh > ${PN}.zsh
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+
+ newbashcomp ${PN}.bash ${PN}
+ insinto /usr/share/zsh/site-functions
+ newins ${PN}.zsh ${PN}
+
+ popd || die
+}
diff --git a/sys-cluster/kubectl/kubectl-1.8.0.ebuild b/sys-cluster/kubectl/kubectl-1.8.0.ebuild
new file mode 100644
index 000000000000..89ea95537ed0
--- /dev/null
+++ b/sys-cluster/kubectl/kubectl-1.8.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot bash-completion-r1
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="CLI to run commands against Kubernetes clusters"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+ pushd src/${EGO_PN} || die
+ _output/bin/${PN} completion bash > ${PN}.bash
+ _output/bin/${PN} completion zsh > ${PN}.zsh
+ popd || die
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+
+ newbashcomp ${PN}.bash ${PN}
+ insinto /usr/share/zsh/site-functions
+ newins ${PN}.zsh ${PN}
+
+ popd || die
+}
diff --git a/sys-cluster/kubectl/metadata.xml b/sys-cluster/kubectl/metadata.xml
new file mode 100644
index 000000000000..417822e21b70
--- /dev/null
+++ b/sys-cluster/kubectl/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/kubelet/Manifest b/sys-cluster/kubelet/Manifest
new file mode 100644
index 000000000000..80d73666a8f1
--- /dev/null
+++ b/sys-cluster/kubelet/Manifest
@@ -0,0 +1,10 @@
+AUX kubelet.confd 58 SHA256 c1476a6d4af6a40296c990ad46bd5793d9b52c8b12c0c7764ee177962022938e SHA512 2ae3bbc8a66da644b59d7f753294ad43d5675edbe2e4769b91d7c988d0eeffd5b4209a10650ad937f9698b1b6050279d448c75274815a6b348ad2023f2fef08e WHIRLPOOL 95d2f220e8afbe315e146ee76cab3df06d63662894c59d4b03fed887ed99c17e71baf7bdf3493d4e904cbcfa10cf7848c6761184112714fc423d611a8e5d81b2
+AUX kubelet.initd 532 SHA256 7b46dcff102ea5a01bcb01da06578a392d91e44266fb038e780ec20a3bdf5e5d SHA512 6f8268eb8626d2e5d884e8a714861abebc92f1e7ebc9d50ab6d122fdec4e88aa672a3df900c3ce1deac36ba9991c914d7564adc0ef0e965b5975a86d51874962 WHIRLPOOL af49f279f6b8540147e0ffc76083e36971c3e833e1393f656a466e6b055de63e6070e2dac9005c76d286ccc5250957c06ce3f55a1fafb854e3f2094cca2c869d
+AUX kubelet.logrotated 80 SHA256 80eb18515e5c7f12d2bcbe907ef6fc218f3c83274c18f22535bf59feaa8003a8 SHA512 c51f65a691fdd280798610cb04f9a48766045952687917828dd9c554f626a2303220ecd717a5d6be8f838422720a69a7c5e11576245a2e7dd75311a975a8d72e WHIRLPOOL 01e7acf5a8f5b3fde6ccd5633ca0eb0c612a2918cf98cc9cf191d87df908dd0d4b966c363cb9aba7f49891aee14ec5b6a616a06b07d81a55745293aeb1665312
+DIST kubernetes-1.7.5.tar.gz 22027539 SHA256 5fe434de8b17ef951d156f7cee24b24a0c5a071a85a612bba4890603541e1ff1 SHA512 a9fcc8f2d50ab431dc9aa5580c79acb8f1738102980f15cf99d01c64be5c6764dd670d436b2e42bf53d1e068a1e8924117384ebc4a3ac571267875862a86d4e3 WHIRLPOOL c2bcf741d9bd8a2fe840ceb9e8b67221c96218a0a0c4caa198d3971cd6044fe922da58c2be20e4230aab6b3ae7057ac37a82c457d0049b126954ece40f66d3de
+DIST kubernetes-1.7.6.tar.gz 22032012 SHA256 434ef607ba5cb77046066e5ebe2859fb7a1a07657f2b56762f7f16501dc12359 SHA512 b4db0951236f2a7aa8bea70ab0c3e5f1f1efe302ab378277db3752a44a41a360c4def9d71b3398e41f3f3ede503a5fccb5ed7b65e4c1152f0a0854659c4966c9 WHIRLPOOL b9b11e07bed8cb14b15ec346be388ec3c481bd97d744c73743653a17d1dedff21a77fd4729380141d589b50cf772e7018cb3fa697fa1fb9a3c4372885f9c48ce
+DIST kubernetes-1.8.0.tar.gz 23388112 SHA256 235c3eccf3490d5ffb7a32d7b3a02f0b849efe0a0ff831094f614ff6907d36aa SHA512 679e58bb29cd398198343f008da27fa4a0461d25c922a54b17cf26a7f6329ed7443717d1e564df646d17f60a014e1e4e0b1285d0ae4f63ab846843b309ce2872 WHIRLPOOL c9e06b6a699903382c0efef8a2fb850efcc4a8c855beaa5cd9bb94e6dc4dfe2fc139ae4814f29bbb3c46a19ca65ec68b7bb5a5f454eeb0fb6bfef55c3d0caee9
+EBUILD kubelet-1.7.5.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec
+EBUILD kubelet-1.7.6.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec
+EBUILD kubelet-1.8.0.ebuild 1206 SHA256 192d3c71383989c1c7a0d54e5a5d68f19f60f80759d10f7d8c4fa1fdea8294ea SHA512 232f3600c53b381f4cfc41c9808ca68a6582958bc7aa31a04b2d95466c2ff0770350906d208091150fa50a137ea59d04f30b820e03a9d3221ec60e7f5e94fb43 WHIRLPOOL 2a0127c6af63a85b3e6dbc6c6c48d1dfd739af224efbc6cc78e7513fb28fc486e72246d8004633572d31db4d5500346252a7fbbef79d0d71a4d4fba416c495ec
+MISC metadata.xml 331 SHA256 d36b415b6920b0f46ff81985c0ad7d18c35a945358cf2846d0a968cdf9dc5f1c SHA512 257e9afcaaf393a21fc701f3df370e4a772f680829e4afbd29543b3b465b7ba1cf2a590e9b49c5a01acec4953c15a7037d57d74bc619fa70db33d9574cff2f68 WHIRLPOOL 3fb6d9e005c6ea6d7d82e288c0a0c9c6b643599b5c16f3f66113b99d5082036642502541d54bc2f84f764f5fd1cd84eaf1d50e3e11ce7f9bff46763304794925
diff --git a/sys-cluster/kubelet/files/kubelet.confd b/sys-cluster/kubelet/files/kubelet.confd
new file mode 100644
index 000000000000..24f424877eb8
--- /dev/null
+++ b/sys-cluster/kubelet/files/kubelet.confd
@@ -0,0 +1,4 @@
+###
+# Kubernetes Kubelet (worker) config
+
+command_args=""
diff --git a/sys-cluster/kubelet/files/kubelet.initd b/sys-cluster/kubelet/files/kubelet.initd
new file mode 100644
index 000000000000..2f6b4eaf5df5
--- /dev/null
+++ b/sys-cluster/kubelet/files/kubelet.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 2016-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Kubelet, a Kubernetes node agent"
+pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
+user=${user:-root}
+group=${group:-root}
+
+command="/usr/bin/kubelet"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/kubelet/${SVCNAME}.log \
+ --stderr /var/log/kubelet/${SVCNAME}.log"
+
+depend() {
+ need net
+ after net
+}
diff --git a/sys-cluster/kubelet/files/kubelet.logrotated b/sys-cluster/kubelet/files/kubelet.logrotated
new file mode 100644
index 000000000000..3d096428655b
--- /dev/null
+++ b/sys-cluster/kubelet/files/kubelet.logrotated
@@ -0,0 +1,7 @@
+/var/log/kubernetes/* {
+ missingok
+ size 5M
+ rotate 3
+ compress
+ copytruncate
+}
diff --git a/sys-cluster/kubelet/kubelet-1.7.5.ebuild b/sys-cluster/kubelet/kubelet-1.7.5.ebuild
new file mode 100644
index 000000000000..8348f6d70ace
--- /dev/null
+++ b/sys-cluster/kubelet/kubelet-1.7.5.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Node Agent"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="hardened"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kubelet/kubelet-1.7.6.ebuild b/sys-cluster/kubelet/kubelet-1.7.6.ebuild
new file mode 100644
index 000000000000..8348f6d70ace
--- /dev/null
+++ b/sys-cluster/kubelet/kubelet-1.7.6.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Node Agent"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="hardened"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kubelet/kubelet-1.8.0.ebuild b/sys-cluster/kubelet/kubelet-1.8.0.ebuild
new file mode 100644
index 000000000000..8348f6d70ace
--- /dev/null
+++ b/sys-cluster/kubelet/kubelet-1.8.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/kubernetes"
+ARCHIVE_URI="https://github.com/kubernetes/kubernetes/archive/v${PV}.tar.gz -> kubernetes-${PV}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Kubernetes Node Agent"
+HOMEPAGE="https://github.com/kubernetes/kubernetes https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="hardened"
+
+DEPEND="dev-go/go-bindata"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e "/vendor\/github.com\/jteeuwen\/go-bindata\/go-bindata/d" src/${EGO_PN}/hack/lib/golang.sh || die
+ sed -i -e "/export PATH/d" src/${EGO_PN}/hack/generate-bindata.sh || die
+}
+
+src_compile() {
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -j1 -C src/${EGO_PN} WHAT=cmd/${PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin _output/bin/${PN}
+ popd || die
+ keepdir /etc/kubernetes/manifests /var/log/kubelet /var/lib/kubelet
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}"/${PN}.logrotated ${PN}
+}
diff --git a/sys-cluster/kubelet/metadata.xml b/sys-cluster/kubelet/metadata.xml
new file mode 100644
index 000000000000..f3dec6944099
--- /dev/null
+++ b/sys-cluster/kubelet/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/kubernetes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/legion/Manifest b/sys-cluster/legion/Manifest
new file mode 100644
index 000000000000..faef48085d58
--- /dev/null
+++ b/sys-cluster/legion/Manifest
@@ -0,0 +1,15 @@
+AUX legion-16.08.0-hwloc.patch 825 SHA256 424bcbb1e09d1811b24831c43588ae0a9e34a9c763208f53930407ce6f495348 SHA512 a5fb493f9b99fc2fc48d283990684efdbbe835ffd1d50084ceaf40adeda4a362ae3cff1095c4b3d655e676568faf5ec584e794a6d6cde62cc6fec40486012b80 WHIRLPOOL fca7a0482da8ae2c9f6968ddcb127be08d350fa0f8629ee79e9bfb9f939a965ade62c7d44ca4ca6c616361a96a9c5c9bcc632c898f6f0d25991f33aecfb44177
+AUX legion-16.08.0-multilib.patch 3874 SHA256 1834e199f2708b364a5f78afae32132a1f727a5a868ba5d83cb490d927cde427 SHA512 6613fdf2a06e8d46eda9b540681cfa4a8e820d5306397d5dcd1e45e9f80aa348dd36200606fe6667f5371794f2e4505b1e799d7aa8a18ba354ea368de0e33ac6 WHIRLPOOL d440c5586eb3403b1a37f5497bb6b7aca1b56d20659818d55213b8148ad33a23beeb4e8d240537b19f4fc60f9b9f1f5c63001045bcf2ebe7b9f66abe491e3e6e
+DIST legion-16.08.0.tar.gz 2501054 SHA256 c2a344e54124172b49d97e0e0033021e9ed3d9ddb4158b0620430c5597f6ccba SHA512 8847fa8c0c7683812dd6ffb038a4d6d3427fdfde62ec917ab32e9a15cd7320321cab2b106479589aa2451cabd98cd0b1dc88b4ff668f991bb4c95f383de785a5 WHIRLPOOL 355f54164fca71c49891869644c841814600c09253bc807297bc79391f13f05fbe93029f29918167cd79a745928b0d991bc671ccd841320a32ce67941f34705c
+DIST legion-16.10.0.tar.gz 2474656 SHA256 92190ae5ff0a1f6356890446e026479ed715230d4761a40d4834af256a722099 SHA512 cfe610fef047def835f95adcc4ae52d7844a4a89a5bdebb2ec40b0e63a66aba9d180bd78e559762b1ac18f84c1ca1142c3e73238dbe4c516672a8843335442a5 WHIRLPOOL 3a0e083b9d8d5c5071f1914e7cc3fda0c7c5bc2f4d187506aee9d3c1def8a046ec7732f2ce105bc3ee93075f35fc2ee7952020e2806e7f43be962018147111fb
+DIST legion-17.02.0.tar.gz 2690415 SHA256 c5413fe8990c33a087c9a567671756c8267e050f5285f75ee33b84911b00c355 SHA512 0c6ee53953ec2e5072d39b1c1260a1783393feaf7064f381bb1733cf9cdb1be8fd521a35e0a452ebc9e9509d117fdc6f3e472cdb6c633ba00c987c880a33bc2d WHIRLPOOL 97bb2da8d362414d6e3c65ba2b50bf4e57041e337f6492efb27f5796c3afe0225c6324532e7413e5f9987c8395b05751d6fc0ca7b7983c21b96ef7679fdc57dc
+DIST legion-17.05.0.tar.gz 2783482 SHA256 b5f54454b28d3b61dde03711dadc2b969cf5c6412b9c1887893c5af521eba79a SHA512 51532f043eea1467a2b8ff17004f224c763f411eb5940d0a4dc5d8eb6503d758964aba26eb4977c68264c7344fcf269682a428e86a2c1a756f91cc9c50d04677 WHIRLPOOL c178ad310ef79997f4716dc7380892c814a11eadb39cbb88f1dab46df73b7fc6396262ea3a7db330847bd25b217b5f50dc5ea3c9b3e86932e3e3693e5a9eb5cb
+DIST legion-17.08.0.tar.gz 2839522 SHA256 5edfc9ee05b7bd0eb45f698e3cfd66c062d21fe36c3da89d233d93b2d47d9d1e SHA512 5d97157f97e12149e5fdf3a75d2e6e8a41ebf97e09c35501e2c93437bd0a47643d261f68c6b4a83b47e64d706f35914acd3a852eb0c08a11696b05ba9ef7af87 WHIRLPOOL 0602b0876190a1209fd215d9a85d3713ae2dcbae8f4df7b9eb34f40da5c13d2ee446137d22bc89f250bc90e134d84f484ec15106ea3cab1d32740941186a38a8
+EBUILD legion-16.08.0-r1.ebuild 842 SHA256 e80b953435f1132477a2101dfa2957a59bb3699bf902891df9e2bee455500551 SHA512 d3d0f07e5028c88a288ec07b40cd06c336319405421ece8abc66a8606cfc8ae48e16636462c377dba2fc09afe29a013f6782cf2e3894c24dcfac5847cbd26166 WHIRLPOOL a3c664438deb63dcfbb960ef5c55a380eb2d664ff5689e9c66063f0a30d9c0706017a07cb7881a55ccd9b0fb6a3b927c23ca4d68a44e80b6f81cb08ea6911fab
+EBUILD legion-16.10.0.ebuild 669 SHA256 1907079216e421227fc0c894d8301c765104b19607f0fc637b11a1bab4aafbb8 SHA512 599658544d58e5df36506abd5fb05fef69bccac29668714c203d48fd5902127fa6a73cb3284b798569e9402cb921d5db5f766bc2a69edb6558837f55262385df WHIRLPOOL b502a08bdcecb8a3c418fdd6f722d9490c34c384c7a73f15c54593fed487e2e6fbf914ce10a0341b25e281e07abbd14822e00cb7f73054632c6d7e0c693219d5
+EBUILD legion-17.02.0.ebuild 724 SHA256 501d4895858173b4fcf3f5d22de0a8cc286cdb4c07925686793b44ca7b1c55d4 SHA512 ecb3a77330e40a0abee5af0bbc5a7ecf0fc7baad53f077eea9975f22b165c68ad999111f3c01bdc9e8df92c57ce3ac658817b7be4b96429c2fe67c8782671c98 WHIRLPOOL 87d65fb5e0b24b1f66388f3649c9a31f412306136f72b46dd37da2dfc079eb682e3fe45cd18ba19995bf81e645398d967579af1c6f0e5d6926648f6d158e9423
+EBUILD legion-17.05.0.ebuild 881 SHA256 36b33f834bbdc15edc9f675b70bfab407e95773420485ac01ea97baf1a4846f9 SHA512 8976cb8040a1ad4a205900ee6d040029c54c1cf802a70d83fc52b63190bd8405d1f0107f4a0a9e5a3cb9ba37a9e2446a4f7a2b84587ba33b83d60d2dfea9c01f WHIRLPOOL 4defbb7fad9a327bad2bf79ac80600c7f7bbd7bc4a7e18214ef48ee04837b3808cff286f0c0dd0c3b5f727ff520550b456dcf0a704524dc7ec8fc988e3b5fd9d
+EBUILD legion-17.08.0.ebuild 925 SHA256 0bde161e407b52d5594a6e6cd8da962a4e6051ad2f7a247fea7c33948c606cc4 SHA512 fd399c48fe6e4209c1d5a1cb8ea8a2d9af507268784c009143aa67fefe3f8a9f5fce81b3231e0b2390bf049f410372928c59e211def52cb0303fa49647964538 WHIRLPOOL b7a5f8606322bcdc35f0ea65d52b757d7907b131d65904fef4245fdf70041379d87f5d275a8d699cca4d4947a1c892b52de5feeef051a1d9fc39ba8461633e57
+EBUILD legion-9999.ebuild 881 SHA256 36b33f834bbdc15edc9f675b70bfab407e95773420485ac01ea97baf1a4846f9 SHA512 8976cb8040a1ad4a205900ee6d040029c54c1cf802a70d83fc52b63190bd8405d1f0107f4a0a9e5a3cb9ba37a9e2446a4f7a2b84587ba33b83d60d2dfea9c01f WHIRLPOOL 4defbb7fad9a327bad2bf79ac80600c7f7bbd7bc4a7e18214ef48ee04837b3808cff286f0c0dd0c3b5f727ff520550b456dcf0a704524dc7ec8fc988e3b5fd9d
+MISC ChangeLog 871 SHA256 4b5f0f0f160797c9a0abae5d7c114c513dabf3c96718cfa978ba1a60afeb2e78 SHA512 9730f27c06a5f2652ba26dc791a29c8aebe88b3a729d5409727bd00854fddb398fa159257aaa88a4b8ee49bb3fa1a143984bf75ead04b2286efa55ee120183ac WHIRLPOOL 61560ebde65e47f5607eb10b12468a84c9b4f52759aab3091b0b914c5035874865a55cd7e2340c29b2a44b17e453d3a5a3aa19b37b556286087f8fb8d33f2a82
+MISC metadata.xml 602 SHA256 fb472821c80dc596cc022cf5f60ed06e77e7f38175451bef57088854527bb186 SHA512 ec6acaf029c0909ea54e7548c50fbcf5b1796081c9e774dcdaf6cd9ebfb9f67110be68b88208dcb1dd59cc9b4c7efc16ab5cf740a81ba2c61cc3b568b4648ac1 WHIRLPOOL d7eae2d05617cb3a4647e7263d5ddbdaae86dd9bd34ddb42d1ae6220590894a9dd681562db499f9805376364fc7a2fe683d2e3a14de6ecc3edce03c0d42dcd65
diff --git a/sys-cluster/legion/files/legion-16.08.0-hwloc.patch b/sys-cluster/legion/files/legion-16.08.0-hwloc.patch
new file mode 100644
index 000000000000..f9e270c1798b
--- /dev/null
+++ b/sys-cluster/legion/files/legion-16.08.0-hwloc.patch
@@ -0,0 +1,22 @@
+From 8c636a8547b1695105501b8b7c8c713094ef7921 Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <christoph.junghans@gmail.com>
+Date: Fri, 2 Sep 2016 15:26:51 -0600
+Subject: [PATCH] FindHWLOC.cmake: fix syntax error
+
+---
+ cmake/FindHWLOC.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/FindHWLOC.cmake b/cmake/FindHWLOC.cmake
+index 1019b59..1e9e97d 100644
+--- a/cmake/FindHWLOC.cmake
++++ b/cmake/FindHWLOC.cmake
+@@ -28,7 +28,7 @@ if(NOT HWLOC_FOUND AND NOT TARGET HWLOC)
+ # Save the existing prefix options
+ set(_CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH})
+ set(_CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH})
+- set(CMAKE_PREFIX_PATH ${HWLOC_ROOT_DIR}
++ set(CMAKE_PREFIX_PATH ${HWLOC_ROOT_DIR})
+ unset(CMAKE_LIBRARY_PATH)
+ set(_HWLOC_FIND_OPTS
+ NO_CMAKE_ENVIRONMENT_PATH
diff --git a/sys-cluster/legion/files/legion-16.08.0-multilib.patch b/sys-cluster/legion/files/legion-16.08.0-multilib.patch
new file mode 100644
index 000000000000..7ddd9a880980
--- /dev/null
+++ b/sys-cluster/legion/files/legion-16.08.0-multilib.patch
@@ -0,0 +1,131 @@
+From f9b71c86098c16436c3a51d8706f52f720ef008d Mon Sep 17 00:00:00 2001
+From: Christoph Junghans <junghans@lanl.gov>
+Date: Fri, 2 Sep 2016 15:54:49 -0600
+Subject: [PATCH] cmake: support multilib
+
+---
+ CMakeLists.txt | 26 ++++++++++++++++----------
+ runtime/CMakeLists.txt | 8 ++++----
+ 2 files changed, 20 insertions(+), 14 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 726e8e4..181a2bd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -20,12 +20,18 @@ project(Legion)
+ #------------------------------------------------------------------------------#
+ # Some boilerplate to setup nice output directories
+ #------------------------------------------------------------------------------#
++
++#for multilib distros
++if (NOT DEFINED LIB)
++ set(LIB "lib")
++endif(NOT DEFINED LIB)
++
+ list(INSERT CMAKE_MODULE_PATH 0 "${Legion_SOURCE_DIR}/cmake")
+ if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
+- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/lib)
++ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/${LIB})
+ endif()
+ if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
+- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/lib)
++ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/${LIB})
+ endif()
+ if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Legion_BINARY_DIR}/bin)
+@@ -50,7 +56,7 @@ option(Legion_USE_HWLOC "Use hwloc for topology awareness" OFF)
+ if(Legion_USE_HWLOC)
+ find_package(HWLOC REQUIRED)
+ install(FILES ${Legion_SOURCE_DIR}/cmake/FindHWLOC.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+ endif()
+
+@@ -69,7 +75,7 @@ if(Legion_USE_GASNet)
+ mark_as_advanced(GASNet_CONDUIT)
+ find_package(GASNet REQUIRED)
+ install(FILES ${Legion_SOURCE_DIR}/cmake/FindGASNet.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+ endif()
+
+@@ -81,7 +87,7 @@ if(Legion_USE_LLVM)
+ set(Legion_LLVM_COMPONENTS irreader jit mcjit x86)
+ find_package(LLVM REQUIRED COMPONENTS ${Legion_LLVM_COMPONENTS})
+ install(FILES ${Legion_SOURCE_DIR}/cmake/FindLLVM.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+ endif()
+
+@@ -97,10 +103,10 @@ if(Legion_USE_CUDA)
+ endif()
+ find_package(CUDA REQUIRED)
+ install(FILES ${Legion_SOURCE_DIR}/cmake/FindCUDA.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+ install(FILES ${Legion_SOURCE_DIR}/cmake/newcmake/FindCUDA.cmake
+- DESTINATION lib/cmake/Legion/newcmake
++ DESTINATION ${LIB}/cmake/Legion/newcmake
+ )
+ endif()
+
+@@ -128,7 +134,7 @@ export(EXPORT LegionTargets
+ install(EXPORT LegionTargets
+ NAMESPACE Legion::
+ FILE LegionTargets.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+
+ configure_file(
+@@ -137,7 +143,7 @@ configure_file(
+ @ONLY
+ )
+ install(FILES ${Legion_BINARY_DIR}/LegionConfigCommon.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ )
+
+ configure_file(
+@@ -147,7 +153,7 @@ configure_file(
+ )
+
+ install(FILES cmake/LegionConfig-install.cmake
+- DESTINATION lib/cmake/Legion
++ DESTINATION ${LIB}/cmake/Legion
+ RENAME LegionConfig.cmake
+ )
+
+diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
+index e21e141..91f6a03 100644
+--- a/runtime/CMakeLists.txt
++++ b/runtime/CMakeLists.txt
+@@ -176,8 +176,8 @@ target_include_directories(LowLevelRuntime
+ )
+
+ install(TARGETS LowLevelRuntime EXPORT LegionTargets
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${LIB}
++ ARCHIVE DESTINATION ${LIB}
+ RUNTIME DESTINATION bin
+ )
+
+@@ -244,8 +244,8 @@ target_include_directories(HighLevelRuntime
+ )
+
+ install(TARGETS HighLevelRuntime EXPORT LegionTargets
+- LIBRARY DESTINATION lib
+- ARCHIVE DESTINATION lib
++ LIBRARY DESTINATION ${LIB}
++ ARCHIVE DESTINATION ${LIB}
+ RUNTIME DESTINATION bin
+ )
+
+--
+2.7.3
+
diff --git a/sys-cluster/legion/legion-16.08.0-r1.ebuild b/sys-cluster/legion/legion-16.08.0-r1.ebuild
new file mode 100644
index 000000000000..e90f7d02ed71
--- /dev/null
+++ b/sys-cluster/legion/legion-16.08.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gasnet +hwloc"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+S="${WORKDIR}/${PN}-${P}"
+
+#https://github.com/StanfordLegion/legion/pull/166
+#https://github.com/StanfordLegion/legion/pull/167
+PATCHES=( "${FILESDIR}/${P}-hwloc.patch" "${FILESDIR}/${P}-multilib.patch" )
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DBUILD_SHARED_LIBS=ON
+ -DLIB=$(get_libdir)
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/legion-16.10.0.ebuild b/sys-cluster/legion/legion-16.10.0.ebuild
new file mode 100644
index 000000000000..ced14b8e65e5
--- /dev/null
+++ b/sys-cluster/legion/legion-16.10.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gasnet +hwloc"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DBUILD_SHARED_LIBS=ON
+ -DLegion_BUILD_EXAMPLES=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/legion-17.02.0.ebuild b/sys-cluster/legion/legion-17.02.0.ebuild
new file mode 100644
index 000000000000..03e2d594815d
--- /dev/null
+++ b/sys-cluster/legion/legion-17.02.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="gasnet +hwloc"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+S="${WORKDIR}/${PN}-${P}"
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DBUILD_SHARED_LIBS=ON
+ -DLegion_BUILD_EXAMPLES=ON
+ -DLegion_BUILD_TESTS=ON
+ -DLegion_BUILD_TUTORIAL=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/legion-17.05.0.ebuild b/sys-cluster/legion/legion-17.05.0.ebuild
new file mode 100644
index 000000000000..443814e2abdd
--- /dev/null
+++ b/sys-cluster/legion/legion-17.05.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+if [[ $PV = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="gasnet +hwloc"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DBUILD_SHARED_LIBS=ON
+ -DLegion_BUILD_EXAMPLES=ON
+ -DLegion_BUILD_TESTS=ON
+ -DLegion_BUILD_TUTORIAL=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/legion-17.08.0.ebuild b/sys-cluster/legion/legion-17.08.0.ebuild
new file mode 100644
index 000000000000..4d6ccbc9cb31
--- /dev/null
+++ b/sys-cluster/legion/legion-17.08.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+if [[ $PV = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="gasnet +hwloc test"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DLegion_ENABLE_TESTING=$(usex test)
+ -DBUILD_SHARED_LIBS=ON
+ -DLegion_BUILD_EXAMPLES=ON
+ -DLegion_BUILD_TESTS=ON
+ -DLegion_BUILD_TUTORIAL=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/legion-9999.ebuild b/sys-cluster/legion/legion-9999.ebuild
new file mode 100644
index 000000000000..443814e2abdd
--- /dev/null
+++ b/sys-cluster/legion/legion-9999.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit cmake-utils
+
+DESCRIPTION="A data-centric parallel programming system"
+HOMEPAGE="http://legion.stanford.edu/"
+if [[ $PV = 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="git://StanfordLegion/${PN}.git https://github.com/StanfordLegion/${PN}.git"
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/StanfordLegion/${PN}/archive/${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/${PN}-${P}"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="gasnet +hwloc"
+
+DEPEND="
+ gasnet? ( >=sys-cluster/gasnet-1.26.4-r1 )
+ hwloc? ( sys-apps/hwloc )
+ "
+
+src_configure() {
+ mycmakeargs=(
+ -DLegion_USE_HWLOC=$(usex hwloc)
+ -DLegion_USE_GASNet=$(usex gasnet)
+ -DBUILD_SHARED_LIBS=ON
+ -DLegion_BUILD_EXAMPLES=ON
+ -DLegion_BUILD_TESTS=ON
+ -DLegion_BUILD_TUTORIAL=ON
+ )
+ cmake-utils_src_configure
+}
diff --git a/sys-cluster/legion/metadata.xml b/sys-cluster/legion/metadata.xml
new file mode 100644
index 000000000000..15e1c0385f6f
--- /dev/null
+++ b/sys-cluster/legion/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="hwloc">Enable HWLoc lib support</flag>
+ <flag name="gasnet">Enable GASNet lib support</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">StanfordLegion/legion</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/libccs-perl/Manifest b/sys-cluster/libccs-perl/Manifest
new file mode 100644
index 000000000000..52247e8c28f1
--- /dev/null
+++ b/sys-cluster/libccs-perl/Manifest
@@ -0,0 +1,5 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+EBUILD libccs-perl-3.1.5.ebuild 993 SHA256 09b65e0c3e8bd01ae6b7d6240ad22df6c06767b228e63166c3a8a5d23ce7e286 SHA512 0bf725bdc87e0a5ae89e846443ff6b8e6df01f2a4c75f4957fae6a20d964975e13b9f897cd82f088ffa26ca761bd4481c21ff2c04b649187612b81d86bdc31e0 WHIRLPOOL b8c7201e188ea793c95e78316068437adbc54ed9d9c4c7e5acbad222e31f2830d83ac6b4980b0f94598698d35e271a7a490fe5cdbcdbc80632cb69a5c83005c3
+MISC ChangeLog 2442 SHA256 e0dba2ba379b3957087b0947be4766b9429f319601c3ded562d634b3e80c90dc SHA512 36fb7e81c27e40d8ed75e2057983f5f44dc024da4355e943f2757a003ae6a59d412973b859d32bf2801a2cf894028ba5d92c0d83f03b4506344b3b0a8a4741f8 WHIRLPOOL 65c6bd4728535b5a4106d823cb5e7332899e1f779204e697274098a5f28d532ae789c8e6db4e2361bd7cf7304c4626bcf42e82955d51b76d75cd9606cbf04b36
+MISC ChangeLog-2015 363 SHA256 00d1bc5c5606fbb014ea9a1bc0a2de1b339949ffb0d802c07352f3a8f773b6d2 SHA512 997835c83721597b9254607996a417f807a1dc05013cc0e113034cb78db501239980da4c4f980c195ed1bb0eb910526ab96c827724fbd8a88bc26da6261a92b0 WHIRLPOOL 3e53c2b906172e699d085ec067bcc785d5e378aac27af9ea5090c2290f469fbb3131a563910cc6444096bd79e6add82a9d549d41e64e83135f14dca9402eb67e
+MISC metadata.xml 344 SHA256 6716304c910404fcec23f706dac9a1f8dbce5c9ca3bf2f994f25977d46379e42 SHA512 4cf5ea22bcee5e35cb8857ab36527a52a407b9c0321251037932fc5ae73b96824aa4f4b7259871dac5021cd311f8a5d26c95b880e27f5cd4186e0b5e3689a379 WHIRLPOOL 8588b82ea62f9f9997e0a1f0833c57ac03afe4695c3a47d4d5361282be079492a7fe59b8a5219edc3e7cae0b20d74e0456ead4a461f4923087e8af3bc46f4d02
diff --git a/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild b/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild
new file mode 100644
index 000000000000..da075781e5b0
--- /dev/null
+++ b/sys-cluster/libccs-perl/libccs-perl-3.1.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Configuration System Library Perl-Bindings"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="sys-cluster/libccs"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/bindings/perl"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --ccslibdir=/usr/$(get_libdir) \
+ --ccsincdir=/usr/include \
+ || die "configure problem"
+}
diff --git a/sys-cluster/libccs-perl/metadata.xml b/sys-cluster/libccs-perl/metadata.xml
new file mode 100644
index 000000000000..05ae0dded68b
--- /dev/null
+++ b/sys-cluster/libccs-perl/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Configuration System Library Perl-Bindings</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libccs/Manifest b/sys-cluster/libccs/Manifest
new file mode 100644
index 000000000000..e7a49016bc68
--- /dev/null
+++ b/sys-cluster/libccs/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD libccs-3.1.5.ebuild 1143 SHA256 563b1db344e7b049b266561cf03ff10143877fc615e83c0802e49d6ce39cdbe3 SHA512 2e1e70d6bf0d7c2b2d9a2d26304952a4ada7b81cd1ca45630f31cdce0f6b3bd02029833f25af0acab41c40ab51e1ed8e55072a70d02018f4901056d565cb2a59 WHIRLPOOL e920861daefd328fb0cbd29edd7309f1baf909b0d2c432e3e7784397ce53f1be4447fda82113cb8dc5679516a0e68f8aa6e37c572411ab086a62786cb01eae11
+EBUILD libccs-3.2.0.ebuild 1150 SHA256 30b48cb02dc8aee882a88ef24add54dffdaef40db446d375c48a88542332e506 SHA512 8a549d811818855a77bbed18b7629ea8a51a832cf5b88c45a4a78f4a97f21cc1e07fe0299051685c0d44832031c419b0b620bca50ca7e3376cdc4820c7271235 WHIRLPOOL c30caffeb25c2b3c2abb9efdc46ea4c42614b01c2fd67766f37a7fbcc78a74e4ca43a6ea71188a9d565db84062ca5fa4bd50ec99b8ddf46250555e9a2eb8371c
+MISC ChangeLog 2477 SHA256 e753ca152136d721d1b9018fe40b1f7db22d52f7cfd827dc6d1fee3109865f77 SHA512 cb9de1cffa0955bfc1e5c600b5901e4931539dc812952ec86363eb62f67935df5e6b599ef8cb46d2e9edb68ae56a59993202084ca5dad6ffc373e6e5e07345b2 WHIRLPOOL 2fc569092838990388277b87b7a4fe07c060a81af610956aced3dd43f70f27d165d4e88e2faf4ee342894921c2b0d22b6c87a11c685d6f23f0784a52e77130f8
+MISC ChangeLog-2015 694 SHA256 d3862563be435f152af81d06baaf90961ca6d573cb5bf2818e5164983c2ac20a SHA512 701fca829508b1bf65cc1270ed83b040ad800d498c80f17d399ff0c4a3185b17ab8cbe8b9a148d9416d8ec972858a814050d5bd64cc38d1f7c9179269374e780 WHIRLPOOL 29c65eac7c15a7c4f14874411f9e7dbcde7933a4949190526f0c1c124c0b017eb184ef4e6c335a67da8d97ee773d68e6bc8bd238ec04bf6ad74947b1e405419c
+MISC metadata.xml 330 SHA256 b8f1be07daf51b91d0d49b6fbbf19e0105358875d92a0cf5599d393d1ad90b67 SHA512 e41d0df2a7bd4e11f561ffb239ea5fc9b74b0607bb05a7e5e8f4f9a6ab0b7482067ab2d255862b7a891d773b1bb8753b7bdbb5e63dfa734264ad2285b768ccc2 WHIRLPOOL f64e08478504bdcc9958831acf9fb8f8750a7e47b57c7041a13c63ba3353010eef46329d4b1a7f957013d4d2a2a31eec7a8ed524ec79a1bddb64200049a5da1b
diff --git a/sys-cluster/libccs/libccs-3.1.5.ebuild b/sys-cluster/libccs/libccs-3.1.5.ebuild
new file mode 100644
index 000000000000..d5dc0d2fea45
--- /dev/null
+++ b/sys-cluster/libccs/libccs-3.1.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Configuration System Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND="
+ =sys-cluster/corosync-1.4.7
+ dev-libs/libxml2
+ !sys-cluster/ccs"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/config/libs"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --ccslibdir=/usr/$(get_libdir) \
+ --ccsincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libccs/libccs-3.2.0.ebuild b/sys-cluster/libccs/libccs-3.2.0.ebuild
new file mode 100644
index 000000000000..fa9307da647e
--- /dev/null
+++ b/sys-cluster/libccs/libccs-3.2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Configuration System Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND="
+ =sys-cluster/corosync-1.4.7
+ dev-libs/libxml2
+ !sys-cluster/ccs"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/config/libs"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --ccslibdir=/usr/$(get_libdir) \
+ --ccsincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libccs/metadata.xml b/sys-cluster/libccs/metadata.xml
new file mode 100644
index 000000000000..7c52bc7fad7b
--- /dev/null
+++ b/sys-cluster/libccs/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Configuration System Library</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libcircle/Manifest b/sys-cluster/libcircle/Manifest
new file mode 100644
index 000000000000..a0422914b252
--- /dev/null
+++ b/sys-cluster/libcircle/Manifest
@@ -0,0 +1,7 @@
+DIST libcircle-0.2.0_rc1.tar.gz 351901 SHA256 59ed75c0bdf2b24f96fbc0230848a5aab57d4eab5a68895489d59a7f68ddd2ee SHA512 1ce07ae012c281fe3e6fbae29bf48e1079768ed5f92f9375c3be02880bed1b1feee6630b31560d7129f76640990e94da1753f55b11a0a8977adaaf9e51144044 WHIRLPOOL 984713d28ee80f686daea7d419a1135360bcda542f904a1aa4ea0ef03b87482e60c2c0858a9e6fd85d7bde1ef557bd61c717ba924f942dfd82d7cbeb9a2e0359
+DIST libcircle-0.2.1_rc1.tar.gz 354251 SHA256 a0d0d75db2be9e47045572ad40f7e1077b7c3540f79180ad1db265ca89438db3 SHA512 9a125bc9f95b1dfb1c777dece4310a709cec46f820651216cd3a34486260f80221e564b82dfaf1ba58b8091b18c6d6b87b0c64d24a940cae6593dc144426fb54 WHIRLPOOL ec77f629c8d5b2391a8f25aa888e0606a0d0240ccf86e6bbe5ba8a04c5e411a6d3f077777da6cdd7badaa87c40b44b6a67b7b901ceb94fb3bec3b118b8465a0a
+EBUILD libcircle-0.2.0_rc1.ebuild 939 SHA256 7059ba7a45aa3fadd7c601753571a5577e66861fe31a14d41deda765d59045e0 SHA512 794df2fdd09ed17cc9d9c67a279563f49f123db14b4d1a7b33ab47f1155d60daaa7eb8f673c7631debcaab05591af1307a492e7e46325173cfa351789cf0d8a2 WHIRLPOOL fa5ff9248c9d19146e8e9fe27f93994a0fdda40b36e0fdf82765712e8b5e87d1416af60db8b99b4e94334889d5582f1fbd37e4d58ef7bf34babe6d7dcac6b076
+EBUILD libcircle-0.2.1_rc1.ebuild 939 SHA256 7059ba7a45aa3fadd7c601753571a5577e66861fe31a14d41deda765d59045e0 SHA512 794df2fdd09ed17cc9d9c67a279563f49f123db14b4d1a7b33ab47f1155d60daaa7eb8f673c7631debcaab05591af1307a492e7e46325173cfa351789cf0d8a2 WHIRLPOOL fa5ff9248c9d19146e8e9fe27f93994a0fdda40b36e0fdf82765712e8b5e87d1416af60db8b99b4e94334889d5582f1fbd37e4d58ef7bf34babe6d7dcac6b076
+MISC ChangeLog 2890 SHA256 5894bf6ba2dbe1f711b1b9c5fb150613938ef827129fb17ecacdcb83b8c14a03 SHA512 4f1411741f326d330384d8653c364e4d054e8eb95dfdd6b01ceeed74fe29496cb0a20212709b7bcc8d2bd9354c0627c465fe25cd82294a33143523802b1c46ff WHIRLPOOL aac3f9eebed965a49cd09cf9687397888de093415664b8f58239d17297286d2757ceea73d7fa1c3a099406c56bce956ca99ae6634a8c424d2b5f3056ddc9ca7f
+MISC ChangeLog-2015 990 SHA256 1830ed52c65b9045127ae5d8e21b7dcb75190eed76fd0a45ee4e7b9520c1f6fa SHA512 bbb1741fb1abe7caa94c6a7b76b210b50c1826553cb18f7286f5c411e141577e4937695203a93b08f96eaca62c34931b5b08f8ef64929b99bb64a22f88d563f2 WHIRLPOOL 1c189f3e396c8a3338da32cad54a342fed1d5d420ce1ac41b15af04f191592828b78cef7b04f85d1226c5a41a1ba2c7a33717054bf7e4cb7e4c365969a1b1535
+MISC metadata.xml 449 SHA256 d1c2fd031ab6a6d544cd3f2d0c9a3660c5e10bef087e7f7c7c8d394730fb4a13 SHA512 99123cb30ea2d364d8df6997ee9f6498665bc2747f98dcae29a22b477cb6ccaa51aeb27f0e2f405fcc4bce9c810c2230bfc540d04abb520793430a11686dbaff WHIRLPOOL 2746332460dc5cfcd209fabea012dfbd31d87ed5417b32e82be54569085296d3d1b24afb19a2b74f9d100cb729788278cb71e1afb0cc64ce098a42334cdfc120
diff --git a/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild b/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild
new file mode 100644
index 000000000000..8093e3eee7b1
--- /dev/null
+++ b/sys-cluster/libcircle/libcircle-0.2.0_rc1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/hpc/${PN}.git"
+ inherit git-2
+ KEYWORDS=""
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/hpc/${PN}/archive/${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="an API for distributing embarrassingly parallel workloads using self-stabilization"
+HOMEPAGE="https://github.com/hpc/libcircle"
+
+SLOT="0"
+LICENSE="BSD"
+IUSE="doc test"
+
+RDEPEND="virtual/mpi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-libs/check )"
+
+DOCS=( HACKING.md README.md )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable test tests)
+ $(use_enable doc doxygen)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}/doc/html/" )
+ autotools-utils_src_install
+}
diff --git a/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild b/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild
new file mode 100644
index 000000000000..8093e3eee7b1
--- /dev/null
+++ b/sys-cluster/libcircle/libcircle-0.2.1_rc1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/hpc/${PN}.git"
+ inherit git-2
+ KEYWORDS=""
+else
+ inherit vcs-snapshot
+ SRC_URI="https://github.com/hpc/${PN}/archive/${PV/_rc/-rc.}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86 ~amd64-linux"
+fi
+
+DESCRIPTION="an API for distributing embarrassingly parallel workloads using self-stabilization"
+HOMEPAGE="https://github.com/hpc/libcircle"
+
+SLOT="0"
+LICENSE="BSD"
+IUSE="doc test"
+
+RDEPEND="virtual/mpi"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( dev-libs/check )"
+
+DOCS=( HACKING.md README.md )
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable test tests)
+ $(use_enable doc doxygen)
+ )
+ autotools-utils_src_configure
+}
+
+src_install() {
+ use doc && HTML_DOCS=( "${BUILD_DIR}/doc/html/" )
+ autotools-utils_src_install
+}
diff --git a/sys-cluster/libcircle/metadata.xml b/sys-cluster/libcircle/metadata.xml
new file mode 100644
index 000000000000..3f3b2bb2c1ae
--- /dev/null
+++ b/sys-cluster/libcircle/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">hpc/libcircle</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/libcman/Manifest b/sys-cluster/libcman/Manifest
new file mode 100644
index 000000000000..17d85c53ce72
--- /dev/null
+++ b/sys-cluster/libcman/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD libcman-3.1.5.ebuild 1069 SHA256 3ffece9b936b3e41bcf81f2c78e567178b3fbd5eb7c2cad1c980391b172aa25c SHA512 4f030908790a3e7d12b5d72cc76a41656203a34a583baf4d985b0e5eb624c6f18d49b5a09799e52d0eaa4060326bac04677ea7c1b9406534f9ca471f54ac2815 WHIRLPOOL de92bf4feb1581284a36144dff7c02a27869cd0f9e6cf02cd4139a402986062fc23718fab55e4a8c4c6125b47ec4e2a55c38fec631da04db90a0e49026a131b4
+EBUILD libcman-3.2.0.ebuild 1076 SHA256 db36742fbc69dec7852cd154da613723aa3806b3b16808ebd9594c0e04de8261 SHA512 5625f1adfd52cccad9f8649a5e380532a65563e6e14e40db41e6f4d82dd7b0f703c7a8e13941b3eea58e2bebc3a8a7ca3b3baaa8a309426930812fa693a9bb55 WHIRLPOOL 1af879e563264b828eb2f28028c126404e3f43b6c041d0c5deec5843a8a334849688817eaf0fa72430ca8e3f456e9c2e218ed539076a7e96a29d92051758e6a2
+MISC ChangeLog 2482 SHA256 426058b7089f6b8695a14fac085abaec56b1dd17e8240e7acfa9e1d1e8ec245f SHA512 cd0885357d900c73c91dc8ba6878680c195cbe0a859219d7d9a03f0b018a1f501e6b51164b5c71356305bf9df94fd1c0bec26ae4723d7809b0cefd6331c6fb81 WHIRLPOOL aafe19d0be314ebeaea5048ed68a4d24cc868f170eb99c23f907e3ca9c16155034f66caec53a580d20a7762614ad16a2972b3c31d33eaa663b2e10f9b113938e
+MISC ChangeLog-2015 574 SHA256 24d84e79ad0494305bb9283c0665bc39fbae1752f5cb62a5e4823b930218c78f SHA512 2f3704cb30866d5f2a5fc20cd496c7f9f9a62e6186e9053c119edd75ebfe4639e93945f6919ec9ebc2594df10f57bc57fc4b9f6c161203a55d1786213e3ff4d0 WHIRLPOOL 80f54728893d1f365daeb00844e12c7b93c463c19f4d7b59bf1d3f811ec229924db92339dc34e4982ac44f9508280d3f324a2263fcc7606da5dd2d37014f88f9
+MISC metadata.xml 317 SHA256 2f3e24837fe91091a90ccb1982019ebc22c0db39b013f2b485b2625ec8d3a0de SHA512 797aa2cfe7f61965454cce0043d86979f978fb6f6eee1e0bfc85dc03e776815e5b5b544a58e8ac842df50d14d4e32f14c159e71a4451d50d49377e1bd47d86e9 WHIRLPOOL ecdce32b04d1c72a442b6dd87d0c875c7c1d758ddc37599b14b97a057b7da583b467315c9c54d0460bac7e3b48f382ac372dab9d9f8da749b214c37a9c4164b0
diff --git a/sys-cluster/libcman/libcman-3.1.5.ebuild b/sys-cluster/libcman/libcman-3.1.5.ebuild
new file mode 100644
index 000000000000..d5cc61b46a93
--- /dev/null
+++ b/sys-cluster/libcman/libcman-3.1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Manager Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="static-libs"
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24"
+RDEPEND="!sys-cluster/cman-lib"
+
+S="${WORKDIR}/${MY_P}/cman/lib"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir=/usr/$(get_libdir) \
+ --cmanincdir=/usr/include \
+ || die "configure failed"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libcman/libcman-3.2.0.ebuild b/sys-cluster/libcman/libcman-3.2.0.ebuild
new file mode 100644
index 000000000000..226432d5ce8a
--- /dev/null
+++ b/sys-cluster/libcman/libcman-3.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Manager Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~x86"
+IUSE="static-libs"
+
+DEPEND=">=sys-kernel/linux-headers-2.6.24"
+RDEPEND="!sys-cluster/cman-lib"
+
+S="${WORKDIR}/${MY_P}/cman/lib"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --cmanlibdir=/usr/$(get_libdir) \
+ --cmanincdir=/usr/include \
+ || die "configure failed"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libcman/metadata.xml b/sys-cluster/libcman/metadata.xml
new file mode 100644
index 000000000000..d1b9efcd225a
--- /dev/null
+++ b/sys-cluster/libcman/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Manager Library</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libdlm/Manifest b/sys-cluster/libdlm/Manifest
new file mode 100644
index 000000000000..2529fc467c82
--- /dev/null
+++ b/sys-cluster/libdlm/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD libdlm-3.1.5.ebuild 1435 SHA256 36a5626895d180e1e5f986e931a46cd3097d959a175a5240d54432157e6acaef SHA512 ee6463c25df6bcd045bbe8cc2b3ea14fa2873fe8b209af6dccb5252c4ae82f0b3288f96699568ee5f7e7f33af5b1ac1ed8ad3dd93ca579a7d9707fc7f2953ad0 WHIRLPOOL ec1445a4c016c2b7fcdaa81029837100e41e7256af49bba0088a0e375ab8e4e227136a345a6f9e86bcab93805e0e266607ae22bd688f4eb19eadcf49f066d580
+EBUILD libdlm-3.2.0.ebuild 1599 SHA256 d1ec50cb17a03bdb081adbd9ca80c6f64f90e5d5c961e043d68808dcc7d1d2ee SHA512 d5df4a9da2f018a4d6098d8977da2ff376226c55a2b5adf96549154944dcefa073c513f39065163aa788c90110064641dc19f1f7623f342e66670ea1314b24ad WHIRLPOOL 5808704bdd45cc84163d817bf90850ef0c30a07021776b4ca3c7ad314a37188c3a525fe3d41d6fc0d7695fc02d87a3f0added01fe757701d9183911f834502b6
+MISC ChangeLog 2798 SHA256 c7469c5801fa55227d7567a8d3df8e1d48cc3e216b88b6a3fe37d53adaf8edcd SHA512 7ae9f37593c16bc982139979f611ea4c6221c0dcd8b121f6b4fe7359503c31ef9ae6bd10170260f867d18e6dc41cbd92ab8cfb7d2d0adf1f82d14026d8c1b344 WHIRLPOOL 5f1be13692fe4cb45b9eef1caf0e5d6f480b6777471f305ecda87f175047bc0095588afde1c200ed46d3e3c4092131c4006c80c13062e38a2334b75dbd396313
+MISC ChangeLog-2015 888 SHA256 04ff6a09be39220ed924b2f815bfd840605420b5be9503710f68b45c37b8f7d3 SHA512 5863747d17bbb6b76fab8730440d4e213d77285f354bcd9c4c1da5bf7752cb99e9ad799294cec75787eb34a5a1a5801f71cddcd9bdf6cbaedbc00c85c6c9ddbb WHIRLPOOL 7d5995bcb5f0f9c9e9526fc70c9dc8d3848f946f5957c1501d04abc254562f1f2303c31444950dfaf9401321d4393a37d35eeb3cbfcf97e9a217c0ff2f21ec5c
+MISC metadata.xml 342 SHA256 5988fe5227b410d1211b3743daa55cf499896d723d392d911f5bf4cc54553cd3 SHA512 2acce7a5bf8ca7cdc148b258f9a64c4ad1a3eb7e4385cf4394f0d55891d649c6d7ab1efe5e1235a39afe9a8782b9c7ab36dec4a87f78f1a81cb2df6662ffd6c9 WHIRLPOOL 3c1502af25c54146aef277fab9dd1e9b51ad5acfd906587f3d887c89693c4c75bb24504e71831052283428a1acbc70f47e2b5c448ef7dd0baf91bc12a57fe612
diff --git a/sys-cluster/libdlm/libdlm-3.1.5.ebuild b/sys-cluster/libdlm/libdlm-3.1.5.ebuild
new file mode 100644
index 000000000000..8c6593cb92b6
--- /dev/null
+++ b/sys-cluster/libdlm/libdlm-3.1.5.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND="
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ !sys-cluster/dlm-lib"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S=${WORKDIR}/${MY_P}/dlm
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=/usr/ \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --dlmlibdir=/usr/$(get_libdir) \
+ --dlmincdir=/usr/include \
+ --dlmcontrollibdir=/usr/$(get_libdir) \
+ --dlmcontrolincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_compile() {
+ for i in libdlm libdlmcontrol; do
+ emake -C ${i}
+ done
+}
+
+src_install() {
+ for i in libdlm libdlmcontrol; do
+ emake DESTDIR="${D}" -C ${i} install
+ done
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+ doman man/libdlm.3
+ dodoc doc/{libdlm.txt,example.c,user-dlm-overview.txt}
+}
diff --git a/sys-cluster/libdlm/libdlm-3.2.0.ebuild b/sys-cluster/libdlm/libdlm-3.2.0.ebuild
new file mode 100644
index 000000000000..84928252827f
--- /dev/null
+++ b/sys-cluster/libdlm/libdlm-3.2.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="General-purpose Distributed Lock Manager Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~hppa x86"
+IUSE="static-libs"
+
+RDEPEND="
+ !sys-cluster/dlm-headers
+ !sys-cluster/dlm-kernel
+ !sys-cluster/dlm-lib"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/dlm"
+
+src_prepare() {
+ sed -i \
+ -e "s|/lib|/$(get_libdir)|g" \
+ "${WORKDIR}/${MY_P}/make/install.mk" || die "sed failed"
+}
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=/usr/ \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --dlmlibdir=/usr/$(get_libdir) \
+ --dlmincdir=/usr/include \
+ --dlmcontrollibdir=/usr/$(get_libdir) \
+ --dlmcontrolincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_compile() {
+ for i in libdlm libdlmcontrol; do
+ emake -C ${i}
+ done
+}
+
+src_install() {
+ for i in libdlm libdlmcontrol; do
+ emake DESTDIR="${D}" -C ${i} install
+ done
+ mv "${D}"/$(get_libdir) "${D}"/lib
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+ doman man/libdlm.3
+ dodoc doc/{libdlm.txt,example.c,user-dlm-overview.txt}
+}
diff --git a/sys-cluster/libdlm/metadata.xml b/sys-cluster/libdlm/metadata.xml
new file mode 100644
index 000000000000..d3f8da79cd5a
--- /dev/null
+++ b/sys-cluster/libdlm/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>General-purpose Distributed Lock Manager Library</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libfence/Manifest b/sys-cluster/libfence/Manifest
new file mode 100644
index 000000000000..5a3b333a879e
--- /dev/null
+++ b/sys-cluster/libfence/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD libfence-3.1.5.ebuild 1365 SHA256 bc75be6a8d0ff75fe25af5b0432856176b9e53489fb49aeaa4e51d062e0eab04 SHA512 5883b357716337ebaaf0d4aa36ae61362e17e3e8010d6159ed4595702695e54f587a6d40161866ea9a98f40463e7c971c8684ac4cb3ebdb15ee1a382be31a148 WHIRLPOOL 5da10d2c0fb2eea47cd38fa751f6f996f1d36d20f9fa810dbad0f440619c73bf7649ae2ce6c8d7d3174b3fd0080443bdbf041b853ba5556dace3823d6704c695
+EBUILD libfence-3.2.0.ebuild 1372 SHA256 f626906c6724850f90ba0d22e8c08f646d222e8b70b8177915c624089265c055 SHA512 da502b73bf72ab22eb8227cac52d6f3d5b06bcff3a80b930310ecc897572d6614f3ddd3347d056556cafdb03e733197c5eaeaeb8bece5904dba8749f83f7bc66 WHIRLPOOL fd85d5a181cfefc8c4346da896fd09ad501dada4300c9c545d163661ab82eb1b3037a4a453e8c787a53ab7c0fccac54ec9408d6afd0a58c2f2b55a0d1c7cc6e9
+MISC ChangeLog 2487 SHA256 08791d49b567feb5eb1ddd4150ed9d1e28c6a0bad6274e1e8a444721f31cd3cd SHA512 052d27b4da9b2a912ba44a7a83998423c2d1895ffc1ebadaf4eeb47ed5be4b26b0a1e39ea7eeac4e3130a815997c59752605ec39bee0f771fe48586782aab6cd WHIRLPOOL 7fab03f89e0e04655b5e4dff5572115af58379474bbc6958d3991509b2205bfdbbee324349101f6653e96d4343206e01fea0292db5f05605810e05708332c0ba
+MISC ChangeLog-2015 569 SHA256 0becf0511ead3ff7e0d68b43519243e8e77c50509d6047b5a3312b5ed115af2a SHA512 cc4474713bdaad6f2b5665c8484b38309dc5cb4d188acbd79083c0b0e8d14dad7ce7282f77c05059daf48b4b136c0a69b7f925df5cb72b5e363eabe1778ef5e6 WHIRLPOOL bc50ce3d665c415b7d6cd8ecfa772bf20f2c2ac2471ef36e292a5020420d17c059d537d445aa98f90ce6cff68113e979bdedce3452a2f69b576bb2126afa1dc8
+MISC metadata.xml 317 SHA256 b392bd5956409ce0c4f534e9ab463e289e23624300b4c398dca7ee54be37dfe3 SHA512 1622dc57ee420ab60a653ab370f0a3142a93efc865c2f8c47c8d0931b8aeeb9bfaef841ce9e9834985630193511002655fb0da2a10fa16707b2d0f4ecd51db05 WHIRLPOOL a2911485b0ffa3428e139f8a924ad448ea648c99a9ebf3a4df24b88b663c3bb943c79c9b0692f85ba12f84456ae342f2c3cb362ec0c5646172a4fd140bcb6655
diff --git a/sys-cluster/libfence/libfence-3.1.5.ebuild b/sys-cluster/libfence/libfence-3.1.5.ebuild
new file mode 100644
index 000000000000..024a3122df91
--- /dev/null
+++ b/sys-cluster/libfence/libfence-3.1.5.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Fencing Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND="~sys-cluster/libccs-${PV}"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/fence"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --fencelibdir=/usr/$(get_libdir) \
+ --fenceincdir=/usr/include \
+ --fencedlibdir=/usr/$(get_libdir) \
+ --fencedincdir=/usr/include \
+ --ccslibdir=/usr/$(get_libdir) \
+ --ccsincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_compile() {
+ for i in libfence libfenced; do
+ emake -C ${i}
+ done
+}
+
+src_install() {
+ for i in libfence libfenced; do
+ emake DESTDIR="${D}" -C ${i} install
+ done
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libfence/libfence-3.2.0.ebuild b/sys-cluster/libfence/libfence-3.2.0.ebuild
new file mode 100644
index 000000000000..165a3bc5561d
--- /dev/null
+++ b/sys-cluster/libfence/libfence-3.2.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Cluster Fencing Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND="~sys-cluster/libccs-${PV}"
+DEPEND="${RDEPEND}
+ >=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/fence"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --fencelibdir=/usr/$(get_libdir) \
+ --fenceincdir=/usr/include \
+ --fencedlibdir=/usr/$(get_libdir) \
+ --fencedincdir=/usr/include \
+ --ccslibdir=/usr/$(get_libdir) \
+ --ccsincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_compile() {
+ for i in libfence libfenced; do
+ emake -C ${i}
+ done
+}
+
+src_install() {
+ for i in libfence libfenced; do
+ emake DESTDIR="${D}" -C ${i} install
+ done
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/libfence/metadata.xml b/sys-cluster/libfence/metadata.xml
new file mode 100644
index 000000000000..0a34fce91e47
--- /dev/null
+++ b/sys-cluster/libfence/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Cluster Fencing Library</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/liblogthread/Manifest b/sys-cluster/liblogthread/Manifest
new file mode 100644
index 000000000000..fc679bfa0799
--- /dev/null
+++ b/sys-cluster/liblogthread/Manifest
@@ -0,0 +1,7 @@
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+DIST cluster-3.2.0.tar.gz 688411 SHA256 96651381645cde0e32b06f83e180b1664232a5c589c72f06206e0539e0036cfb SHA512 00620b89564c4f9b67b679695749cd7515f49af43ace6a565e32e020ee66db219f3db3f53420d6460ea8c1cab03258305735fe5db81aab3953777015119533e9 WHIRLPOOL cc468ac8e879dadc157d585b22615d6ffcf0b38a5c93196f8aa9564467e8b8aae6c2688faa9d9e8a98e68a605b86d84b6a79edb474d0cde231e5a78729ebb4e4
+EBUILD liblogthread-3.1.5.ebuild 1067 SHA256 5fc70e4725c70a332961b8a0eaba0ca78b4f069b76446c6303296d01d563c6a6 SHA512 4a60cd5d2cd7e4662d0fab9261a86e1be54a9b9654fe0640e4edda338b86763c2711c4a04d027025df7256fb31ddf04be434ab245e314b8542ce5e65aa253f8d WHIRLPOOL 1a23ef9c4c48450c8b69979ea1bbf68a648dd42832b573548bf0b9edd40342222cce1ee2e9ac1f5a92c3af008eed68a1c35130014928f43c375f6fe48ca2dffe
+EBUILD liblogthread-3.2.0.ebuild 1074 SHA256 b934fd3077fbccbf8b95c3f5a65cba3e3de15726a9d4c762a73e99e428ac03d4 SHA512 decf3a30f60aabcd387f87cc759a3a9019da9fbb9a54f4d461686759e27b0122db04f2576451e6439170005ec2d9813dfbc60a27c005abdb64cace970d14ffb3 WHIRLPOOL f3ed2449a094a0dca3dfa7702c0bbca41ed7474b7d3c58fbc787b3f9cc88da7e6043174c77d21d83110e0e6560f933058b068ddb07aee4507296107a1a9bcc85
+MISC ChangeLog 2507 SHA256 6544f1291957aa769bdde65098b69d096b3d531421fd45a3e7d3c80f9a512093 SHA512 bb29da28c2e2573820d0f97bdde8d664b716d8ab31d20453bc83874bfa53d8dbf6f8fae69a2f9b301e24f166b1e9a388cc87c52f87092b5a7609e30fe8f90e96 WHIRLPOOL b14048504410af83f4ad82346ba915854b8b15bf9db2d1125bd5762b0335cd4811bfb0e83769ea8a2401ef01213d665841b813a250bdc499893215298f17231c
+MISC ChangeLog-2015 597 SHA256 b273858e79608247b217c25aa1ba60bea3e9c5caf02dde04780b706d468eb980 SHA512 efe6906c8554b59d86d7b2af2bd811ddeacdfaf7dc292114f5e735960ba1f312c5c3618360bba1651e870c64b8becd8fc86c957cd21809b5d64aa41fd0b03e61 WHIRLPOOL 52d60b6b037a15c4b3f4ab3006ee4892c12d7f0e3f097221639f662ae58b9c5dead8f1997f3e868320591f061f8544f171e3a108f863e7dbc2b7028ba3413417
+MISC metadata.xml 328 SHA256 e995bec476d9d126386f66c6a26de701bcb85d78a045b81c3a918b8cd937cdb1 SHA512 30edf69ff0d4929a2938cf4c42e173563af4e3f0edeec5ad900fd38858fb8a6d3a0bfa7013982166bb84878120b485bb99da523c5f0169a36dd53c4c9642394a WHIRLPOOL 04ee6c17986e0054e1062fbe590c1237fae46c8072cc8eff6dbcd66f16f2c67126e9deeef014d1a89afdfc3b387fd489bea5c273c88b0b0ac90d88f6f7695208
diff --git a/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild b/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild
new file mode 100644
index 000000000000..6f0b960e7dcf
--- /dev/null
+++ b/sys-cluster/liblogthread/liblogthread-3.1.5.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Thread-Safe Syslog Logging Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND=">=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/common/${PN}"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --logtlibdir=/usr/$(get_libdir) \
+ --logtincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild b/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild
new file mode 100644
index 000000000000..7f6669c154f4
--- /dev/null
+++ b/sys-cluster/liblogthread/liblogthread-3.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit linux-info multilib toolchain-funcs versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Thread-Safe Syslog Logging Library"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~x86"
+IUSE="static-libs"
+
+RDEPEND=""
+DEPEND=">=sys-kernel/linux-headers-2.6.24"
+
+S="${WORKDIR}/${MY_P}/common/${PN}"
+
+src_configure() {
+ cd "${WORKDIR}/${MY_P}"
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --kernel_src=${KERNEL_DIR} \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --logtlibdir=/usr/$(get_libdir) \
+ --logtincdir=/usr/include \
+ || die "configure problem"
+}
+
+src_install() {
+ default
+ use static-libs || rm -f "${D}"/usr/lib*/*.a
+}
diff --git a/sys-cluster/liblogthread/metadata.xml b/sys-cluster/liblogthread/metadata.xml
new file mode 100644
index 000000000000..94c3766e291a
--- /dev/null
+++ b/sys-cluster/liblogthread/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Thread-Safe Syslog Logging Library</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/libqb/Manifest b/sys-cluster/libqb/Manifest
new file mode 100644
index 000000000000..e8282879380e
--- /dev/null
+++ b/sys-cluster/libqb/Manifest
@@ -0,0 +1,9 @@
+DIST libqb-0.17.1.tar.xz 386304 SHA256 7a2115f83bfe20eaa5f2e4ed235e8f2994235d3b87e3e5ca41ba47b320f12e29 SHA512 9705b291a61ca278fd0c9ab631af2cb844cdfc73b19501dd2e12eb162b37f0eded800860127a8a5c5c7c2a0e8db53e4780d3ab9697b099f4560a9a87aa8ec9ca WHIRLPOOL 8b853fd6e26eca02605a49c5b9c0f97a41e98c5667dadd9a9c3ad36024ec1baacf764e40a774c83938d80ea686af61de0474c390337c16673f2abcbe983ec067
+DIST libqb-0.17.2.tar.xz 373540 SHA256 9a419c649ed51f275dc780da8a15babb8a5d33633567bd9e0cb6193b6e21f4fe SHA512 9c6dce7d18aa4da31594faecd0ea2737c2beefa749290094f733fe89ac40f094ec6409f310c534b8144d500e8c204c328386eaf1029995698d7019c014433443 WHIRLPOOL 3a39339893571a9842172c100820eb7324e3caf4c4e8811bdf5f65cdc5b5c96dbe797232d45b5b970cd9b77cee04578582d1b2ef0b28c5f7cb30b2fed4884453
+DIST libqb-1.0.1.tar.xz 438204 SHA256 912e8e7b9f1c2ed96c7308986f612313c4b26c841147a95546247e5ce38714c6 SHA512 9afdf5b7064f4e79f70e3c21d1ae954d1444d202d5903bd84866e502b2afc218d4a84fd21fab637a198357e1dad5da94814a6c0bdaa0ba6ac4a24ff40422c185 WHIRLPOOL 9000ac470a4d37b245a30eaba725ae7b65bec8e30830061ebd60d98c7dafa7d7179973aa3d66824f49007ae004cf56e722d5ba661400a0997ee934c8ea0acb9d
+EBUILD libqb-0.17.1.ebuild 1105 SHA256 d4b18e09228d2b7bedc61c9c47f2989c23951ac02c6f1110400054fbdcde2d1a SHA512 929ab8e277508eaba06516e7b4424bba5e81c4a22e7fd5b8b962fcaa1402cad78df56546b56ed14f39b81efe2e9a19f32e0fd921209b2bcd71070ceaf6a11b94 WHIRLPOOL 9b42057afc1b4754a786a1f10fa959232fca0957406b8981e4578a4fadabfcd28bb8bf8a5980a845839f0dba4f487d26de3b8ffe93961339d157a393c9529168
+EBUILD libqb-0.17.2.ebuild 1115 SHA256 1fb3285fdd4a245d08f2e76b8de513e237fc5af184e879a0cd6b7287da3d28b2 SHA512 e9aa9dd53e4a75ac67e45778ce537987d93244ac769888b2ce4cb2d442dac0ad6637a51c658c4e3909b2d7f4d3061efa8e6f18d46876e4729f45eb8469c3b7ea WHIRLPOOL 493fadcd25fe4bd9dd1c2bdcf5e76e98bd9af4f9a8f9057515820ebb9060fdb549535bf764d103842aff5d00d129ce27fa4080718d66ad5b9738b57c61a7ca17
+EBUILD libqb-1.0.1.ebuild 1143 SHA256 632a6d9202626490b2762d2bcd09f8c977e60eaac0e388b979fa15ec99780100 SHA512 59ab3d4399c91a42c943c851dd857ad3cac4e6c70acef525b2a3a22d13867fb24fafa4e12bf55f263a7b633f49dbc153321518f2f858870bc50ac60479fdff5f WHIRLPOOL c16993a9f4e2fa86fbecc27d88e333d578e75a2a8395e1ce07a24748958e03af15767b6667d1af67f6da3d29fbbcb00049e09a1974bb51ff5483dcf88d28bd79
+MISC ChangeLog 2788 SHA256 80f069fe8468ee6157acccfb643a2825356387eea44d97e22d11e7600ff0b9a8 SHA512 31703cf0592d636e54bd97cdb35babcaac0ab965dfd0ab9debd11a1012bb5cab216daf386451db9d6a075744276868159d433cb2a74de544cb0163644b1e7696 WHIRLPOOL 633fc9c342499b0de8cf53a8d979e2069442fe0f2f102546f03bd0eb5c0990721898f7b08ea03c9e8a403e9d983c4bad24e455c9275b4e4776f46b36e7f36a42
+MISC ChangeLog-2015 1333 SHA256 93680a027ed56342e595745cfa15c7ac59919a082223176bb1455d12a7e059da SHA512 0158ef1fedb42ad998ac51fca844d273ce166000fe2912dad857ea9e9544bba110b5c3ad9128f2c8d54fde81cff8b985e47f16e66cd4870a3ad4b4267d3b661c WHIRLPOOL 9cdaf9554ecf74aa17bfed02fab986b61428805cb8b2315b79f6332583605613b35947f915437c19cc846a6998f67338d663449d957455c0bc413e7be9b3d475
+MISC metadata.xml 336 SHA256 cc688c8df5fdf5ff154b527c5f464a668a96e6090bdb27b3796f7be496a0a7f3 SHA512 7138793800d1d53f31019dcd56eb8d44a0442dc25733a777931af10846f0a61488d3e30f2ba7b5540380e1ddb4d7fdc44eaa39c126ed005b8bde7ef75b2b495e WHIRLPOOL 8ab5e3ca8b5fa36cf355a97b6e10bf6b98c38572e61fa89f6ec9a0233d8d0dc2d35fe5e798bc0af36897392a735455721d5202eb5988523790a8f795f0a40235
diff --git a/sys-cluster/libqb/libqb-0.17.1.ebuild b/sys-cluster/libqb/libqb-0.17.1.ebuild
new file mode 100644
index 000000000000..b79bf5d082a9
--- /dev/null
+++ b/sys-cluster/libqb/libqb-0.17.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll"
+HOMEPAGE="https://github.com/asalkeld/libqb"
+SRC_URI="http://fedorahosted.org/releases/q/u/quarterback/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="debug doc examples static-libs test"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ test? ( dev-libs/check )
+ doc? ( app-doc/doxygen[dot] )"
+
+DOCS=(README.markdown ChangeLog)
+
+src_prepare() {
+ sed -e '/dist_doc_DATA/d' -i Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxygen
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/")
+ autotools-utils_src_install
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/sys-cluster/libqb/libqb-0.17.2.ebuild b/sys-cluster/libqb/libqb-0.17.2.ebuild
new file mode 100644
index 000000000000..8b80054d7eab
--- /dev/null
+++ b/sys-cluster/libqb/libqb-0.17.2.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll"
+HOMEPAGE="https://github.com/asalkeld/libqb"
+SRC_URI="http://fedorahosted.org/releases/q/u/quarterback/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 hppa ppc ppc64 x86"
+IUSE="debug doc examples static-libs test"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ test? ( dev-libs/check )
+ doc? ( app-doc/doxygen[dot] )"
+
+DOCS=(README.markdown ChangeLog)
+
+src_prepare() {
+ sed -e '/dist_doc_DATA/d' -i Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxygen
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/")
+ autotools-utils_src_install
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/sys-cluster/libqb/libqb-1.0.1.ebuild b/sys-cluster/libqb/libqb-1.0.1.ebuild
new file mode 100644
index 000000000000..748d05368bf3
--- /dev/null
+++ b/sys-cluster/libqb/libqb-1.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+AUTOTOOLS_AUTORECONF=1
+
+inherit autotools-utils
+
+DESCRIPTION="Library providing high performance logging, tracing, ipc, and poll"
+HOMEPAGE="https://github.com/ClusterLabs/libqb"
+SRC_URI="https://github.com/ClusterLabs/${PN}/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+IUSE="debug doc examples static-libs test"
+
+RDEPEND="dev-libs/glib:2"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ test? ( dev-libs/check )
+ doc? ( app-doc/doxygen[dot] )"
+
+DOCS=(README.markdown ChangeLog)
+
+src_prepare() {
+ sed -e '/dist_doc_DATA/d' -i Makefile.am || die
+ autotools-utils_src_prepare
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable debug)
+ )
+ autotools-utils_src_configure
+}
+
+src_compile() {
+ autotools-utils_src_compile
+ use doc && autotools-utils_src_compile doxygen
+}
+
+src_install() {
+ use doc && HTML_DOCS=("${AUTOTOOLS_BUILD_DIR}/docs/html/")
+ autotools-utils_src_install
+ if use examples ; then
+ insinto /usr/share/doc/${PF}/examples
+ doins examples/*.c
+ fi
+}
diff --git a/sys-cluster/libqb/metadata.xml b/sys-cluster/libqb/metadata.xml
new file mode 100644
index 000000000000..3b2c851443a0
--- /dev/null
+++ b/sys-cluster/libqb/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">asalkeld/libqb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/libquo/Manifest b/sys-cluster/libquo/Manifest
new file mode 100644
index 000000000000..517dc6fbf8f0
--- /dev/null
+++ b/sys-cluster/libquo/Manifest
@@ -0,0 +1,14 @@
+DIST libquo-1.2.2.tar.gz 711528 SHA256 fb1231bde16b5e669caf23f5bfed4c77643cd3d4ae2ae755cfe258610a70667a SHA512 1aad84e65ba9167656ba6ffd53859816ea396239781b51846992766be7d01e33af732ac9c2ddda5839ec518bf304b4882a73f884c714c6e8eb9dc6884a9a6b11 WHIRLPOOL c5d28ddebaf98912b7ee92ab9e765cbff91ad1a29b323babc9db2d534f4261127377906ffbf670a4e38e65b248d4a56c8435290f4b64f39aae7e27b3d6ebaeb7
+DIST libquo-1.2.3.tar.gz 727836 SHA256 8f359b6f9efe0d38d2a7b6999b801297d80cebbf74b30de7b124bccbd77ae04e SHA512 d937253f1444723631439a78e5533d9ce4c8772f04f7c3475fe48c63d0dd827d5d73c4a925efec614a36d1c9680e9d93d53617ac12c00fce65b922fa69cd8c5b WHIRLPOOL 4d35a9e806184051ae56fc5c8f1454e73fa4dfb96b181b13753ac09d8f654f7f1154ca8008514aea0fc2b46bad8011d6a27e022c9811eb852d4e6c78b6041951
+DIST libquo-1.2.4.tar.gz 714871 SHA256 a7324c5e7faa6f99e14e7565d19a657e21e686dd039d8519fad48890bbb6ce18 SHA512 a8b6ab6bcaab3f22cc707ee85ea41c8b8f345bf11319a12bc1e4bceed15577f339b7c797ecee4301d0ba8b8c5ebb7af5961d19982261e41192c3fc777cbfecfe WHIRLPOOL eef090a00843a37a0f9823973bc26220416a0bb6f2db1f727ef964ce8f8b0d664c7703b6fff4e2357cc1d7fd9deca527f4cdd2b368e56ffe9c175df613446df4
+DIST libquo-1.2.9.tar.gz 788507 SHA256 0a64bea8f52f9eecd89e4ab82fde1c5bd271f3866c612da0ce7f38049409429b SHA512 732a737b9d53ca7b530ae5ecfd79cc9200f86e6a39f4c529975b204631165a178f6bb87228985222bf623f2581ecc29c774e8480ce9ebfcace12e14c49f98e62 WHIRLPOOL 1340a48ad031427aaa06f842ceb8068aa451bfdc7dde7435c58ea2ec3b0b961a055010998362447e7d120856709f1ae942ff6950ab2c080c8d5eaa12d7e8354f
+DIST libquo-1.2.tar.gz 710465 SHA256 accd7b5fd1d7118897d98929245b8a91baf3d00e477769df66322a7feeed352d SHA512 c9c087490c01af51f47490635dbf42d5433719931afbaa89dfe91bfe812e09e468649cf5a7703b6c3d5b0c0d6d6318731dcff4928a52017505f814750131c75b WHIRLPOOL a209676d6bc8d0b012e8797d5600ec812b35aeae06391b6f3cc5b7bac743198fc17726187d199988fb75e8c5a33706921982b35c8094dee6fef303e57fd5be96
+EBUILD libquo-1.2.2.ebuild 590 SHA256 40ad18ae0deff82677a52c67fef93ac414b4ead4d319741640ac73accca556a9 SHA512 94d9599f247443e5a797fcf2f5fce182f58683e5e57a0c46fc50d5c40490412d1071856545e49c6e35ff4d6dd76c96cb65a03794c82eb691fbdecf7bfdf0f707 WHIRLPOOL f9211052a9f6785b319687186d2168ae9e0bdcbc6bc0e8f1361190f98b49c469a9777f6e75139639bb8fd2bd9244d7efb3ca520621743cae3d19d8fc43ee35d0
+EBUILD libquo-1.2.3.ebuild 718 SHA256 c544cc3869035930a4e3207b2edba17eebab67e26dc10e893eed24057d09a17b SHA512 19ea79f999461ea43bf157347b67c58447e2607f8ea623b68eaee1f0b99c696a1d3ff7e89fac7ee7c300290d276648af9e9d52ac5cd0c31a14edbd15348c0c9a WHIRLPOOL da36582dfbe4365cdd6f18221f0a25192bdbf19209baab53a8e00b4aac305cf608c134e9412bdfbd9e43753b4a8d342ea28e2c38f28e8b6d2c299da5ba87ac52
+EBUILD libquo-1.2.4-r1.ebuild 772 SHA256 64dee9715bf1063a249e0dd85d0b0bd9318426e234941282f21a64105d31ddc8 SHA512 7acd8fd96314780820aa4599b33a0d0c1d4d9d991d26e0d9bd1a3cfe487965c07e1b40f730ddaeceae73fb51ea93b9f438278d0d9bf52f0dfb3891887e4b1988 WHIRLPOOL 16ca58527509d79effeeeab31594d067283e9d458b603af834f0f7171d9bed9cf93d05a3c3f189c9be55f60587299a949f365883220905d8a3084983830ed726
+EBUILD libquo-1.2.9.ebuild 737 SHA256 3dca5960d484e9cebe61a1a66a9ab25af5f935f81988c2c54e2b405b6e20f67a SHA512 4a75c8c72a1eebde7c0bee7edbc4a5776d5bef4730e44a260ae06cd002aabfe1da86a1bb0d366dc5ac6220d18211a6852637fbcc4bc5537331d7b20561bb6248 WHIRLPOOL da6dac4d99e00d6dc650f50c537d3acb1da34f158e4090cd8e6eb4412cc3b2e6fdd946b0e6580ee5c1fa6e517452010a35b63c33588a76a8691baa2386237d64
+EBUILD libquo-1.2.ebuild 541 SHA256 33a42accd02f0af554eb19ad7b6a1fb802d15ab1ad514f17f2a7199b06593104 SHA512 179d109864de8811d2c065bdd430ee4c1a86f32f4e281ed1e1b80984de5e0cd0a584df6bd1a9e192e8d4e18539b812976f179cb2d9af564af360ef43dc2deb01 WHIRLPOOL 3e11f9044bdf2ff4bf55483216975760a8a7628d5987411def6fa4ce836ac5eaabc8037b4cbbe3d42bb42431d845f81160a4f7c466ee3eaa42d45450dc3e476b
+EBUILD libquo-9999.ebuild 786 SHA256 c40f973fd9f0763fa7c3a0629938dd9bf63302dce0b1c4628b4a715801afdc8f SHA512 46ba7bab9617cff2099590f67bfca566ffeff0ad227c1c34f2ec3fa0efb62d0a67dac411865ef3794d94fb81b60fdf5bd39cb88b51b7fb368ae566947803ca7f WHIRLPOOL 53c2bf749e142197cbaafd32e08606aba3e9aecf3a9a7ed737936b816059e5ae7dea1bf8e1181ee98035f2320a0bd1dfeaed9fcaf45ca55c90c7fb258488b91f
+MISC ChangeLog 3298 SHA256 1885a4da2d5e6fd9e4fb1e46c0ec66e3c3b4121c815dfe7d252446043f50b977 SHA512 7726d4659a17f38162cc56eca8644d8dfa1e40ecf56d48ac03b2272994d4d18b77f1cfafa14f4f8310396a797bd77b4019ae0e771eb1a7177246cfd2a8b95cb8 WHIRLPOOL e70633589ebddbf9877c7ee4658c2f11f50c3c69cd405d8046317fe5dcb3d9e367f6fa1d9ebf89f682bd487220e7622604569bb73f83984612a2c3176f778abd
+MISC ChangeLog-2015 586 SHA256 bb257146ad4caec05af53cf4e659c550f9eb78018c95605d63434e8e0805758e SHA512 ca6ae8c516c03fa78ea7021673d27f0205994e68e03bb3300d90a3abe34899ec717dba421cf37b1115330c392c33a54c1e3aa38db8ce27afd31dc5e95c036096 WHIRLPOOL 4dc5f753a0138c5ed5ce2ab8dbf44ba4b4e9797eb19f5d1fa1902e43e19d1762e793345456a2a75bf7e4f147463d44a940fd27a54b1d67d8f8c1058764dc1774
+MISC metadata.xml 443 SHA256 004ef62d2c20eb2a4c76065c499ec4a3da5631f590a4eaf99b3abb3d251878b3 SHA512 24f513273a47dfe443e18a9be97a710d523353daa131ea686de70ec13780d89c64bd7019ad83cf8aec8eeb1c63cd9cd3073cc86cdc27cfd361c5bc9197dba611 WHIRLPOOL d3e084011fefa0cbf3575598ed8cda4fbda564fdca2b54db3c5e9a8cd050060247f3d3bbda838912bd191d5755ca4d3e935ef08e3a9aacc8973bb9795fc83bcf
diff --git a/sys-cluster/libquo/libquo-1.2.2.ebuild b/sys-cluster/libquo/libquo-1.2.2.ebuild
new file mode 100644
index 000000000000..3a8606d58270
--- /dev/null
+++ b/sys-cluster/libquo/libquo-1.2.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="fortran"
+
+DEPEND="
+ virtual/mpi[fortran?]
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false)
+}
diff --git a/sys-cluster/libquo/libquo-1.2.3.ebuild b/sys-cluster/libquo/libquo-1.2.3.ebuild
new file mode 100644
index 000000000000..69867bf0fe21
--- /dev/null
+++ b/sys-cluster/libquo/libquo-1.2.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/lanl/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ AUTOTOOLS_AUTORECONF=1
+else
+ SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="fortran static-libs"
+
+DEPEND="
+ virtual/mpi[fortran?]
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false)
+}
diff --git a/sys-cluster/libquo/libquo-1.2.4-r1.ebuild b/sys-cluster/libquo/libquo-1.2.4-r1.ebuild
new file mode 100644
index 000000000000..ca89f8c78fe2
--- /dev/null
+++ b/sys-cluster/libquo/libquo-1.2.4-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=90
+
+inherit autotools-utils fortran-2
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/lanl/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ AUTOTOOLS_AUTORECONF=1
+else
+ SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="fortran static-libs"
+
+DEPEND="
+ virtual/mpi[fortran?]
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ autotools-utils_src_configure CC=mpicc FC=$(usex fortran mpif90 false)
+}
diff --git a/sys-cluster/libquo/libquo-1.2.9.ebuild b/sys-cluster/libquo/libquo-1.2.9.ebuild
new file mode 100644
index 000000000000..0b005031c633
--- /dev/null
+++ b/sys-cluster/libquo/libquo-1.2.9.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=90
+
+inherit fortran-2
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/lanl/${PN}.git"
+ inherit git-r3
+ KEYWORDS=""
+ AUTOTOOLS_AUTORECONF=1
+else
+ SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="fortran static-libs test"
+
+DEPEND="
+ virtual/mpi[fortran?]
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf CC=mpicc FC=$(usex fortran mpif90 false)
+}
diff --git a/sys-cluster/libquo/libquo-1.2.ebuild b/sys-cluster/libquo/libquo-1.2.ebuild
new file mode 100644
index 000000000000..72ea50f3be66
--- /dev/null
+++ b/sys-cluster/libquo/libquo-1.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+ virtual/mpi
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+src_configure() {
+ autotools-utils_src_configure CC=mpicc
+}
diff --git a/sys-cluster/libquo/libquo-9999.ebuild b/sys-cluster/libquo/libquo-9999.ebuild
new file mode 100644
index 000000000000..88c33d14f348
--- /dev/null
+++ b/sys-cluster/libquo/libquo-9999.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD=90
+
+inherit fortran-2
+
+if [ "${PV}" = "9999" ]; then
+ EGIT_REPO_URI="https://github.com/lanl/${PN}.git"
+ inherit autotools git-r3
+ KEYWORDS=""
+else
+ SRC_URI="https://lanl.github.io/${PN}/dists/${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="run-time tuning of process binding policies made easy"
+HOMEPAGE="https://lanl.github.io/libquo/"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="fortran static-libs test"
+
+DEPEND="
+ virtual/mpi[fortran?]
+ sys-process/numactl
+ sys-apps/hwloc[numa,xml]
+ "
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ [[ ${PV} = 9999 ]] && eautoreconf
+}
+
+src_configure() {
+ econf CC=mpicc FC=$(usex fortran mpif90 false)
+}
diff --git a/sys-cluster/libquo/metadata.xml b/sys-cluster/libquo/metadata.xml
new file mode 100644
index 000000000000..a9b0889886df
--- /dev/null
+++ b/sys-cluster/libquo/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">lanl/libquo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/lspbs/Manifest b/sys-cluster/lspbs/Manifest
new file mode 100644
index 000000000000..097ce5a90957
--- /dev/null
+++ b/sys-cluster/lspbs/Manifest
@@ -0,0 +1,5 @@
+DIST lspbs-1.1.tar.gz 69265 SHA256 c22a625578c57c60f2f6d0487b30801b8fce9641bc41603a8559ab3c35b7a9ab SHA512 4732767968d3226a88617fd60796811c8fef6e7ba717e66e31867b06045a1483d4be65f795a8fde81598efdd5e6cdaf688d52cac9cb0c8f888d9420f539b2730 WHIRLPOOL 5a58c8139a68f78b99b29ab15550c8ea8c88903bf14252b38af983a55592c0fb2946493fbc1411196d3b71fdb47c8e0ea7b70c2d37fb2d78ee17a8434e1aa6c3
+EBUILD lspbs-1.1-r1.ebuild 687 SHA256 d19402d0800655c4f33b99c4b8e9f65c200e7f2df2735f92efb5b031747c5c57 SHA512 028be545f670646894e6acd9ee7868f9dd1233d30f4a9a8db8cb853e3e2b4cc0bd7e33b33eb378f23ce0727b488a9292b6894d228e74c019b1589e01b4d6d666 WHIRLPOOL f1ab59da13fb40ccff1b35294603bc5d3a0322f66fc4feaa0eb5ef8b7cae4b41f2e9ebf1d43f97fbf222f9c7ef1a3f8f82e7be02c4c7d61e23c718f9b6865f4b
+MISC ChangeLog 2819 SHA256 ffd0e9bfc3202a126d458ce75be63b5b9a2034f658eaac58a89d6b8f40f3ca2f SHA512 230b242c877e20ada9e5b39b26fcb389a26190e41c6d458a7f4d9804ab20c8e3cb7ff9fbc2065205780373803a31b2f9ab6059ef5eaf12de583c0c504c6757a0 WHIRLPOOL 99ba03ec1fb958154bc4a3cbd7ab5cbb01a6152880d22a5a73dfe6064d100d7a7e6ed3c667062e523da31591e7d1848d9d5ddd2a72a0f85abba2cfe5bd6300aa
+MISC ChangeLog-2015 1859 SHA256 19957fef3e6ce8c4a39a3fcc4a3f1ec8ac821b7ea60e59bbeb769216355f59e6 SHA512 b7de771ddd26be60cf12d74d3084fa9fe965c4ececd7a8a94d6cd50b2243b8171e34f06d5c5a5020b082a64a55852f8bf5ff9b5b641539a02443723d3a2590c7 WHIRLPOOL b15d0f23baf349cfc2cc9750e5061cbd4c5d31d13af7d40fff250c46fb3940c8e1bdd3a6d3ddbac9b49070dca552cae25415c568633e857839298b0da3bb2720
+MISC metadata.xml 833 SHA256 5cef2835a8bb0804b388a87f4d8e2275aef54c8af8dbf235872ad50c2547578b SHA512 939ff6cd4dcfadca5196014cd570cbf51dfbd5af543a99768d43b3c7c76193f83305d13c718da26e7cc806703067dab6cf5482e8323bd9036895b23ce61ba824 WHIRLPOOL 135792d17a6aac8121215a7423d7edd2ca959dec75380e7e8aee7dc09685c5ea06d4f440be947918d2eac44dbe2aea2bb6570c5d468d45633c2c4e59cafbdc57
diff --git a/sys-cluster/lspbs/lspbs-1.1-r1.ebuild b/sys-cluster/lspbs/lspbs-1.1-r1.ebuild
new file mode 100644
index 000000000000..6c7e8850c564
--- /dev/null
+++ b/sys-cluster/lspbs/lspbs-1.1-r1.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+DESCRIPTION="Displays clear, concise and up-to-date PBS node and CPU usage information"
+SRC_URI="http://homepages.inf.ed.ac.uk/s0239160/misc/lspbs/${P}.tar.gz"
+HOMEPAGE="http://homepages.inf.ed.ac.uk/s0239160/misc/lspbs/lspbs.html"
+IUSE=""
+
+DEPEND="sys-cluster/torque"
+RDEPEND="${DEPEND}"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64 ~ppc"
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install failed"
+
+ dodoc README || die "dodoc failed"
+
+ doman "${D}"/usr/share/lspbs.1 || die "doman failed"
+ rm -f "${D}"/usr/share/lspbs.1 || die "failed to remove old man page"
+}
diff --git a/sys-cluster/lspbs/metadata.xml b/sys-cluster/lspbs/metadata.xml
new file mode 100644
index 000000000000..e40efc65cc22
--- /dev/null
+++ b/sys-cluster/lspbs/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ Lspbs is a lightweight alternative to the xpbsmon utility, which
+ is part of the OpenPBS package. It uses the color xterm to
+ display clear, concise and up-to-date node and CPU usage
+ information. Lspbs also supports unformatted printing and can
+ filter nodes by their properties and current state. This generic
+ filtering feature extends the simplistic functionality provided by
+ the pbsnodes utility, which is also part of the OpenPBS
+ package. This makes lspbs useful for managing PBS-based clusters.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/maui/Manifest b/sys-cluster/maui/Manifest
new file mode 100644
index 000000000000..2b8293c19662
--- /dev/null
+++ b/sys-cluster/maui/Manifest
@@ -0,0 +1,10 @@
+AUX 3.2.6_p21-autoconf-2.60-compat.patch 476 SHA256 52847580ae728a650c9812d017323d2ca9b2ee8b60fb4a81e8c6d68f213156c0 SHA512 28575326cd87c14421fe60ec7f27f8c16e43a8468104082938fa2f0eefb2b477d1fb62a3b0ab584374a0a32be287d4525cfd1c959a9db4b91df00e8668f1e3a5 WHIRLPOOL d461add28eae14b3dcd81eeddc0fb87ce0ed8a03d7444f74ee7fecc2bc4166fecbf55d4746dd9703250f89f0d017d3b0f43af9c5c0906fdcb5f3ceaf8d5928b2
+AUX maui-3.2.6_p21-pbs-nodefile.patch 554 SHA256 3030b9fcdffdb67fca02e691206cfe0acbbcadd5427cbdf05bb903fec6a9f02e SHA512 e488c7e814cf686e14d163d87df98e64de14ee45e00937d4b7eb023d0baebd7132ae4efb5c1db5eda2128f9f080b833ef0d309618a8fac0f5fd2449a8dc81efd WHIRLPOOL 980c8a282745c218cef4aeffb19191bac337d3c9caefb36d5cd43fe9a3a696c19805d026363d5c487d0117e5bbe5f5eadeae7be372d1d12d484b40e221f2e4a7
+AUX maui-3.3.1-torque_4.patch 568 SHA256 1cd02d24716616d554485bbb9d1cb6f2c00e356919f3c0efc61fe27a0e74ac04 SHA512 ac493718454e9d08f9d94aa38ce7a9f6baa58643928eb9d6af738be94aa7dd2b685de98ed0516170656ca94a52b6838a3203c87d64642dfebe81733efc461f18 WHIRLPOOL 3c38e62eabdd46dfbadb5053e9bcce8e81200324bb4725797a79edff6e886dc0c2af646907bc73b0f2473534fe0aa3272fc25de6d275676ac7e43147e51b9413
+AUX maui.initd 477 SHA256 4be34a42832db7447ba552329d724070948793b812e1f2a1dc6120c6816b6f7b SHA512 73748cba13d55a56d7db3e3b36d52726c3e6eb54a177f87dc14aec655e7c19614932116719d121da6808227c9216c3ca59697b4327b3a5fb828ef8c2f6645b3f WHIRLPOOL 2da5699311ae2e3f386310da4ffba13fa34842f283ffb7d8415f811923b50f2247fddb4fdeeb4598d7624d244461f785401b0d952ca852a644a63790015e519c
+DIST maui-3.3.1.tar.gz 901179 SHA256 033a1ab40da69bc091ce5d01199ac599de0b6bbdfa404b9b1631ee964dc711a1 SHA512 e22a0f08b40d810792175b5bc15a53831e84eeab43ddc79ebc3e10a2d5c0b77a4634ff67975f9dae06fbb84f84cb3a95e9cbfcb8086734dbd41caee3359675b0 WHIRLPOOL 0d3bcb6284b852881b2ac4faf83abf7d8668db53e94938f82ba73e7f8f4ca9e5e3fbb698b984fd1d053ffa1514431bf18d958915e783045a94578767cd675bf6
+EBUILD maui-3.3.1-r2.ebuild 1353 SHA256 2365f3971e54b202a02e809daa64073b889ae168f24ec9f2eca1a5c3defceabd SHA512 3e4a6d00464c9c6d99c5ce148e13bb72f9b92039d0b2ef6524cb5734df259b9fffe04e9f31ae33be469842cbe971f911caaf9358d48ac9be3bd40bf110673c11 WHIRLPOOL 0aabdc6a0248d0232b468572d992b44f55a068c1e7d0f8c7504d7ea6b3f9017420461d8f80e3fb395a911c52685e538637564954a50f0fd0990843fccaa0706e
+EBUILD maui-3.3.1-r3.ebuild 1400 SHA256 e41fe5434e586551e389445fde528ddeca1a460ab158174337a02174a7c48eae SHA512 bba6f57085c1a081d8b0eba96854a12f24bee3cee3eda5f7b81431e5dae5dcc24449021e092ef332b6f6a14e8d2135c269b905c5a7603c95e70b2fec5628629b WHIRLPOOL 738d905410eeb0b24691cfceb7c60566b774f3f8a071415dfe70999468b3a4677878f52533964bfcb445bf4a007ffe1749953215ed399cb3f5cfd3e38e4975b4
+MISC ChangeLog 3106 SHA256 e1b4161ca17a54efaa1aa463a504ab066af67f469e33f2f9489f4e3d9f61ac88 SHA512 4a66a4e4f9be4f9673fcbe2801371ee45022c0c33e9f2220e58c4f056c88985d4fbdd11e9610a4f4bafa4fb69516f1f5ab691053062b385ca024c7183dd66427 WHIRLPOOL dfdfa17ab40b9c2b2ee685edfd889bf77a35a1b747f9dcb8416ca0935caa91c295ec79f265969721be26f60aaf73eedb30c869c7a15401d0bdca6549f307d3fa
+MISC ChangeLog-2015 4361 SHA256 656f0497e93df9453bbf6f7fcbadeb4210951d505bdd6e815f71aef8302a5018 SHA512 cd182a61ca803033c8020b10d78a1fd178d09e234483309678c4d098f23b2c7ea0cb6a7f114654f5e53708751fa026d01a6369fa9661d9a0b8614373e44addcb WHIRLPOOL 1734975a11d843052e8ab9b7064eeae1e5c1c4cd3e3b5b1db2b6bf1337cadeaf3beb3429b4e6c39189a92b1a2da7a77c1b5aa043fd9a27cca6011161c42b4d5d
+MISC metadata.xml 386 SHA256 79682c24b648f701f226006eba4c53cc2b9253e97e08ef78743323731e1d42c4 SHA512 15a026ae2a40cc79038965dc0cff98f4dc4a5c2e231a9a59f46c1360c6b32e2195e1d354be34870cc7ef3033c9182d4b933c1e7625dd1053d062f12321c8130e WHIRLPOOL eaac5ec23157eb8c9f3f4f31ba621fc9d5c3b21f2a3c6f738ac0cab09d17da58617c830f8985283c2e959adf511e76728fd7b82d016472fcbfb35ef2557c4cf1
diff --git a/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch b/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch
new file mode 100644
index 000000000000..9b77a27f88df
--- /dev/null
+++ b/sys-cluster/maui/files/3.2.6_p21-autoconf-2.60-compat.patch
@@ -0,0 +1,11 @@
+--- maui-3.2.6p21.orig/Makefile.in 2006-05-23 15:20:49.000000000 -0700
++++ maui-3.2.6p21/Makefile.in 2006-09-25 20:42:24.000000000 -0700
+@@ -18,7 +18,7 @@
+ # ============================
+ # Resource Manager section
+ # ============================
+-@ll_definitions@@sdr_definitions@@pbs_definitions@@sge_definitions@@lsf_definitions@@mx_definitions@@pcre_definitions@
++@pbs_definitions@
+
+ # ============================
+ # Master Makefile for @PACKAGE_NAME@-@PACKAGE_VERSION@
diff --git a/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch b/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch
new file mode 100644
index 000000000000..90bf80ca661a
--- /dev/null
+++ b/sys-cluster/maui/files/maui-3.2.6_p21-pbs-nodefile.patch
@@ -0,0 +1,23 @@
+--- maui-3.2.6p21/src/moab/MPBSI.c.orig 2010-03-16 12:54:09.000000000 +0100
++++ maui-3.2.6p21/src/moab/MPBSI.c 2010-03-16 12:57:07.000000000 +0100
+@@ -6406,6 +6406,7 @@
+ int tindex;
+
+ char tmpHostName[MAX_MLINE];
++ char tmpTaskList[MAX_MLINE+10];
+
+ mnode_t *N;
+
+@@ -6458,10 +6459,10 @@
+ }
+ else
+ {
+- sprintf(TSBuf,"%s%s:ppn=%d",
+- TSBuf,
++ snprintf (tmpTaskList,MAX_MLINE+10,"%s:ppn=%d",
+ tmpHostName,
+ NL[tindex].TC);
++ MUStrCat(TSBuf,tmpTaskList,BufSize);
+ }
+ } /* END for (tindex) */
+
diff --git a/sys-cluster/maui/files/maui-3.3.1-torque_4.patch b/sys-cluster/maui/files/maui-3.3.1-torque_4.patch
new file mode 100644
index 000000000000..1e0631555736
--- /dev/null
+++ b/sys-cluster/maui/files/maui-3.3.1-torque_4.patch
@@ -0,0 +1,14 @@
+diff -ur maui-3.3.1.orig/src/moab/MPBSI.c maui-3.3.1/src/moab/MPBSI.c
+--- maui-3.3.1.orig/src/moab/MPBSI.c 2013-07-31 09:36:31.831849229 -0700
++++ maui-3.3.1/src/moab/MPBSI.c 2013-07-31 09:37:12.951107957 -0700
+@@ -174,8 +174,8 @@
+
+ extern int pbs_errno;
+
+-extern int get_svrport(const char *,char *,int);
+-extern int openrm(char *,int);
++extern unsigned int get_svrport(char *,char *,unsigned int);
++extern int openrm(char *,unsigned int);
+ extern int addreq(int,char *);
+ extern int closerm(int);
+ extern int pbs_stagein(int,char *,char *,char *);
diff --git a/sys-cluster/maui/files/maui.initd b/sys-cluster/maui/files/maui.initd
new file mode 100644
index 000000000000..df4f64474f1f
--- /dev/null
+++ b/sys-cluster/maui/files/maui.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ after pbs_server slurmctld
+ before pbs_mom slurmd
+ after logger
+}
+
+start() {
+ ebegin "Starting Maui scheduler"
+ start-stop-daemon --start --exec /usr/sbin/maui
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Maui scheduler"
+ start-stop-daemon --stop -p /var/spool/maui/maui.pid
+ eend ${?}
+}
+# vim:ts=4
diff --git a/sys-cluster/maui/maui-3.3.1-r2.ebuild b/sys-cluster/maui/maui-3.3.1-r2.ebuild
new file mode 100644
index 000000000000..95d331c38e1e
--- /dev/null
+++ b/sys-cluster/maui/maui-3.3.1-r2.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils multilib
+
+DESCRIPTION="Maui Cluster Scheduler"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/maui/"
+SRC_URI="http://www.adaptivecomputing.com/download/${PN}/${P}.tar.gz"
+
+LICENSE="maui"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="pbs slurm"
+
+REQUIRED_USE="^^ ( pbs slurm )"
+
+DEPEND="
+ pbs? ( sys-cluster/torque )
+ slurm? ( sys-cluster/slurm )"
+RDEPEND="${DEPEND}"
+
+RESTRICT="fetch mirror"
+
+pkg_setup() {
+ if use slurm; then
+ if [ -z ${MAUI_KEY} ]; then
+ eerror "You should set MAUI_KEY to any integer value in make.conf"
+ return 1
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -e "s:\$(INST_DIR)/lib:\$(INST_DIR)/$(get_libdir):" \
+ -i src/{moab,server,mcom}/Makefile || die
+}
+
+src_configure() {
+ local myconf
+ use pbs && myconf="--with-pbs=${EPREFIX}/usr"
+ use slurm && myconf+=" --with-wiki --with-key=${MAUI_KEY}"
+ econf \
+ --with-spooldir="${EPREFIX}"/var/spool/${PN} \
+ ${myconf}
+}
+
+src_install() {
+ emake BUILDROOT="${D}" INST_DIR="${ED}/usr" install || die
+ dodoc docs/README CHANGELOG || die
+ dohtml docs/mauidocs.html || die
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+}
+
+pkg_nofetch() {
+ einfo "Please visit ${HOMEPAGE}, obtain the file"
+ einfo "${P}.tar.gz and put it in ${DISTDIR}"
+}
diff --git a/sys-cluster/maui/maui-3.3.1-r3.ebuild b/sys-cluster/maui/maui-3.3.1-r3.ebuild
new file mode 100644
index 000000000000..a21bb11735c7
--- /dev/null
+++ b/sys-cluster/maui/maui-3.3.1-r3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit eutils multilib
+
+DESCRIPTION="Maui Cluster Scheduler"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/maui/"
+SRC_URI="http://www.adaptivecomputing.com/download/${PN}/${P}.tar.gz"
+
+LICENSE="maui"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux"
+IUSE="pbs slurm"
+
+REQUIRED_USE="^^ ( pbs slurm )"
+
+DEPEND="
+ pbs? ( >=sys-cluster/torque-4 )
+ slurm? ( sys-cluster/slurm )"
+RDEPEND="${DEPEND}"
+
+RESTRICT="fetch mirror"
+
+pkg_setup() {
+ if use slurm; then
+ if [ -z ${MAUI_KEY} ]; then
+ eerror "You should set MAUI_KEY to any integer value in make.conf"
+ return 1
+ fi
+ fi
+}
+
+src_prepare() {
+ sed -e "s:\$(INST_DIR)/lib:\$(INST_DIR)/$(get_libdir):" \
+ -i src/{moab,server,mcom}/Makefile || die
+
+ epatch "${FILESDIR}"/${P}-torque_4.patch
+}
+
+src_configure() {
+ local myconf
+ use pbs && myconf="--with-pbs=${EPREFIX}/usr"
+ use slurm && myconf+=" --with-wiki --with-key=${MAUI_KEY}"
+ econf \
+ --with-spooldir="${EPREFIX}"/var/spool/${PN} \
+ ${myconf}
+}
+
+src_install() {
+ emake BUILDROOT="${D}" INST_DIR="${ED}/usr" install || die
+ dodoc docs/README CHANGELOG || die
+ dohtml docs/mauidocs.html || die
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+}
+
+pkg_nofetch() {
+ einfo "Please visit ${HOMEPAGE}, obtain the file"
+ einfo "${P}.tar.gz and put it in ${DISTDIR}"
+}
diff --git a/sys-cluster/maui/metadata.xml b/sys-cluster/maui/metadata.xml
new file mode 100644
index 000000000000..9baf5ea25211
--- /dev/null
+++ b/sys-cluster/maui/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="pbs">Enable pbs integration</flag>
+ <flag name="slurm">Enable slurm integration</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/metadata.xml b/sys-cluster/metadata.xml
new file mode 100644
index 000000000000..6f48783fcc73
--- /dev/null
+++ b/sys-cluster/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The sys-cluster category contains cluster-related software.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría sys-cluster contiene paquetes relacionados con clusters.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie sys-cluster enthält Software für die Arbeit mit Clustern.
+ </longdescription>
+ <longdescription lang="nl">
+ De sys-cluster categorie bevat software voor gebruik met clusters.
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm sys-cluster chứa các phần mềm liên quan đến cluster.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria sys-cluster contiene pacchetti per l'utilizzo e la gestione dei clusters.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria sys-cluster contém programas relacionados a cluster.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria sys-cluster zawiera oprogramowanie dla klastrów.
+ </longdescription>
+</catmetadata>
+
diff --git a/sys-cluster/minikube/Manifest b/sys-cluster/minikube/Manifest
new file mode 100644
index 000000000000..82604fe8349c
--- /dev/null
+++ b/sys-cluster/minikube/Manifest
@@ -0,0 +1,3 @@
+DIST minikube-0.22.3.tar.gz 18675181 SHA256 c27b870da46048b8d0eb775f86b8351e21583cf234f7c722ac92e18edf098dac SHA512 2ef1f64a5011bb57034e1d873730c55284ce008ab480775c64a66a148118bf0f66608177244a29527ac984aa34d9d39400d4d42006b930bdb35da6551e936833 WHIRLPOOL 92636e47bb9604211979cfcdc8b936fe4b5b1ce9938ceb8121a3c6fc25895fa383626226c7c8107838235fa16e8152162a602b37d8ca1c83962fd65b92d258a5
+EBUILD minikube-0.22.3.ebuild 1250 SHA256 abe8d564bae9bfb5c48464bb1ffb1de5e1b445dea8a0e72b5f42ead98e281597 SHA512 38875170f6d33d604a48d51384fbf3a82641779513ce44167ad9f9165758040c85fabbbbb70a83ad07d4de262213585df6f9b38d3600a7b20ed6bcaa0e7bcde6 WHIRLPOOL 842c2e2f6080b4b12d892c9ef545d0ef0a26589243c748d4e2a57b3a516ec191386d5da39f8d6eec07b5828bd3a220ba2f168941ac58cc33f2f82caef16b0a87
+MISC metadata.xml 329 SHA256 b3600da8b14aec576f9da32558438704a4a31afe04a4b5e91a12ee4ebeb31209 SHA512 4b280d1e0c76f5f571d1b31cda9cad9c564e03d99891ff7ae83f6e61e078636608aed240d088bc2d4b309f9315645abdba751cdba11bfd8268b89adc8c339857 WHIRLPOOL b5e347c694f5fa801e203f738ecdaab2d90025a7090f4f001a6467a4958f9796d8e42e7d46fd2c9e58f151888889985566c3202132eb2d5f7bfdca02588ae826
diff --git a/sys-cluster/minikube/metadata.xml b/sys-cluster/minikube/metadata.xml
new file mode 100644
index 000000000000..56bdc5ee4457
--- /dev/null
+++ b/sys-cluster/minikube/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kubernetes/minikube</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/minikube/minikube-0.22.3.ebuild b/sys-cluster/minikube/minikube-0.22.3.ebuild
new file mode 100644
index 000000000000..1ba40d2ac399
--- /dev/null
+++ b/sys-cluster/minikube/minikube-0.22.3.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
+
+inherit python-any-r1 golang-build golang-vcs-snapshot
+
+EGO_PN="k8s.io/minikube"
+ARCHIVE_URI="https://github.com/kubernetes/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Single Node Kubernetes Cluster"
+HOMEPAGE="https://github.com/kubernetes/minikube https://kubernetes.io"
+SRC_URI="${ARCHIVE_URI}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="hardened"
+
+DEPEND="dev-go/go-bindata
+ ${PYTHON_DEPS}"
+RDEPEND=">=sys-cluster/kubectl-1.8.0"
+
+RESTRICT="test"
+
+src_prepare() {
+ default
+ sed -i -e 's/ -s -w/ -w/' -e 's#$(GOPATH)/bin/go-bindata#go-bindata#' -e 's#GOBIN=$(GOPATH)/bin go get github.com/jteeuwen/go-bindata/...##' src/${EGO_PN}/Makefile || die
+ sed -i -e "s/get_rev(), get_version(), get_tree_state()/get_rev(), get_version(), 'gitTreeState=clean'/" src/${EGO_PN}/hack/get_k8s_version.py || die
+}
+
+src_compile() {
+ export CGO_LDFLAGS="$(usex hardened '-fno-PIC ' '')"
+ LDFLAGS="" GOPATH="${WORKDIR}/${P}" emake -C src/${EGO_PN}
+}
+
+src_install() {
+ pushd src/${EGO_PN} || die
+ dobin out/minikube out/localkube
+ dodoc -r docs CHANGELOG.md README.md
+ popd || die
+}
diff --git a/sys-cluster/moosefs/Manifest b/sys-cluster/moosefs/Manifest
new file mode 100644
index 000000000000..62517a61c216
--- /dev/null
+++ b/sys-cluster/moosefs/Manifest
@@ -0,0 +1,11 @@
+AUX mfs.confd 368 SHA256 be22c70e7a40a5373d18bfe17ec5a692f50b914c5c044a121a83cfb90a680c43 SHA512 508b1d99befd1340d3685df3d548399789321edf7f73f11b32baa88291b65dfcba98436b6f85b1975924ae596b962c501391fd783562b12f7cc3862183646e56 WHIRLPOOL 9d566699211cb1acc4c59743bf42571755d472ddca54f06219205aa2a3a167e1f4760a16abf699659e23a941b720c3c6d1ede3bf7f25875a2d55acd16813568e
+AUX mfs.initd-r1 1526 SHA256 4c4428861838df08a02a259a1360442ba05ae8cef8db06f028f972743513d61e SHA512 01341b6c67adf7bb2503cbcfd9b039f704763ef5326c132e864ba7265b887a37bb3475b704878c5fb3a238ec46f69498adb5e6840e09ef695716369834131583 WHIRLPOOL e7e0296f3aed81086f2d2ce1896301b578059f5143153e31e17ac4a6d2044c999f85d5b40f513025d291b32ef51fe29bc5a3a6b884b0604a6ff4ff4fa80f7e41
+AUX mfscgiserver.confd 180 SHA256 23ccc3ee023543a162d6b4cfb1406922597b4cd744d35b6db1f4f7ea8bc138f6 SHA512 d0389a3200f3ccad16578970d7c0e4c649df8d35eb25b586ac23ad828d06ce9280a5b977174e7a1d03d67af28817fc35df5544e0190a159b3e7ad1aebb92cc7c WHIRLPOOL a36adaa149eb2314c315831d94998f5c1844510267e25c1e7f124c3a70dc9561d71c6f31d5ae316929fe561966d450c21c86737433ca3b8b314d00e0f6bdeaa3
+AUX mfscgiserver.initd-r1 543 SHA256 81d78d4a4127df523dee9151fe5bff6946267da00783bd7e29eb17bb4bcc901d SHA512 48697c15938f4781d0b2240daa3dfa5680af1d78c5dc8dc2f8a3dc7f4410dd9c251cfe0923b371bd1286508e624e52a4c9e466db41d7e8b06220f368cdc63d51 WHIRLPOOL 31fe0df97c5be31b4d59643639cf7a09d5605298fd797380e7d593264d737771063b0de803c2b51e1d72f359c2644e11021ac68ce0367b2e6bfb20d1a3a3e8e0
+DIST mfs-1.6.26.tar.gz 754573 SHA256 f250f97c6f2a229277fdbf9fe96036873fd6c95a38f484f06e6b87a404c01885 SHA512 42fdf2b43f3d4a81068ecad48da5519adbc9fb753931198f48741e6d7235b80864ee7d8e3c04b5de2e9536be9459b72e3a5b12037adfdb97bf2a7695595e9ec5 WHIRLPOOL 234ea32360db89076d1c1da5875d28277c27a5989195c4fb638b44c86fca0df183c2bb62a73dd3e3e2a5118e04223f8e14b66da5b5a090fed1c1d3f3dae3888a
+DIST mfs-1.6.27-1.tar.gz 771983 SHA256 dfe682f0b184ed13e602274825148cd9a7ddfe4f0894e1ab9c1823f66208cb28 SHA512 8e222c0741b09206e7fb6c792d679d2defa4d7f4de4c20551c236453604153fdb6e5ec049c14c675a80afa2d9df283bb4eb2e407f70cd55dbe204c325a473d59 WHIRLPOOL fb0823daf4947157936f2a59b3c7848ab91f480b02f6c49ac88f14abc877fa6a8f7de97724e675a326c4acb634b9701bdb5f0f39db2db35375500f941ea7ee56
+EBUILD moosefs-1.6.26-r1.ebuild 1533 SHA256 f27fcf3ac70b9f73e047f3bbd9761e3bde0f5b2dd1c87f4fe0f60f68a48d7e8d SHA512 04a26d39a9ecaec7639129aabb1f6d0d1fabf70a6d9fd30a7291f8e9756de5e61c115c32498e89aee1e4a302c0f6eea8cac2249480bf5e6548ebf09b47a3a791 WHIRLPOOL 5d08f7167f0718526f8791b0fc508983d7223a7fc2cac7bc178854a05624de4d56776af8ad45af4bac72a2b9331c3287518cc6e6fbde3524af73457ea54aaa1b
+EBUILD moosefs-1.6.27.ebuild 1535 SHA256 e328453d583976d83605d997903914df7399da95f730ae2bf48a81cbcdf51567 SHA512 7b3c51b9b649f03f15c0f85b2ecd6f78a384259d967512d3e29e0a1e2ae1ad7adb5abf4142bde1e5c75dbca81b39a68cef0fec2e506eff00cd3699c8acf39085 WHIRLPOOL 001bcc0d4ffecae5163368533a06c5211f1cd69ff25b39aadaa7fd7f588c4d8b64644d4c08eb89c7b190baa52e3b495c6999daaa15ce66094696571f466c3296
+MISC ChangeLog 2752 SHA256 d01ce80510d2e5618748403f57f828a25284fef1b38bf37e34a87680aec2d935 SHA512 c157916c700558df532941b36044368675d885bd1e54ebe391506c6268836aea86feb521ac0a8469172f5e364082d8a5fd1142951dea55ada7f055595bbe0c00 WHIRLPOOL bc1b140e02017b0b482b36462fdbf1680ed594612df535bf9a716595a23172b7cb02480c076ce3d17ff159eb6af7b4fbc81899f259c69bf3804a1745c2de26fd
+MISC ChangeLog-2015 1646 SHA256 acfa1cef55f5ab8f0dc6dd2c59469eae3ffbb235b73bf7df6165e7be7c8bc518 SHA512 e5cb884abd8c2f3bffebc211e5b49cedbcd6a82c08459ba76bb5b3c47d5a6a99cf3445504eae7acd3375488a44fd8972268bc73ae283842bfdf13cc86e54c1a2 WHIRLPOOL 90f52bdfe0f9f218de6f806433ef894b26b0b281f870f4986db58faf5cb8a85f5d0676070454561cbd7b3149a7cd8b4efa63d6f272f33cd011965ad00ec9b956
+MISC metadata.xml 657 SHA256 4b9ae0e6378993c64bb14a98c96b507b274ac5ad3a7f40579021e9ff55c67d26 SHA512 0557bc8c5bd3a63fdd08cd8da09e813cc3dff52b6d51292da5c797324cee2b393c2eae5aaedf5f82b0dafc614376f72be2a7e5ba75836189bb0302ab9924d3a4 WHIRLPOOL 41209ae4db6b56259f7f4a8e67c8f59b6599e10488ed64a4d0d3551a0d5abd30fe402483d700cd2c29a75eb2ed6511e71abd667b0af69b5361ea56f286f93e3d
diff --git a/sys-cluster/moosefs/files/mfs.confd b/sys-cluster/moosefs/files/mfs.confd
new file mode 100644
index 000000000000..423795e33355
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfs.confd
@@ -0,0 +1,11 @@
+# Which mooseFS roles should we start ?
+#
+# NOTE: The roles are stopped in *reverse* order of the given list
+# so make sure to list mfsmaster *before* the other roles.
+#
+# Possible values: mfsmaster mfsmetalogger mfschunkserver
+#ROLES=""
+
+# If the role mfsmaster fails to start, should we try to run mfsmetarestore -a ?
+# Possible values: 0 (no), 1 (yes)
+AUTORESTORE=0 \ No newline at end of file
diff --git a/sys-cluster/moosefs/files/mfs.initd-r1 b/sys-cluster/moosefs/files/mfs.initd-r1
new file mode 100644
index 000000000000..89715bf310c9
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfs.initd-r1
@@ -0,0 +1,96 @@
+#!/sbin/openrc-run
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+}
+
+chkconfig() {
+ [ -z "${ROLES}" ] && { eerror "No role defined !"; return 1;}
+ for ROLE in ${ROLES}; do
+ if [ ! -f /etc/mfs/${ROLE}.cfg ]; then
+ eerror "Missing configuration file for role ${ROLE} !"
+ return 1
+ fi
+ done
+ return 0
+}
+
+autorestore() {
+ einfo "AUTORESTORE set, trying to restore metadata files"
+ mfsmetarestore -a &>/dev/null
+ return $?
+}
+
+start_role() {
+ local ROLE=$1
+ local RETURN=0
+
+ ebegin "${ROLE}"
+ start-stop-daemon -q --start --exec "${ROLE}" -- start >/dev/null
+ RETURN=$?
+ eend ${RETURN}
+
+ return ${RETURN}
+}
+
+start_roles() {
+ local RETURN=0
+
+ eindent
+ for ROLE in ${ROLES}; do
+
+ start_role ${ROLE} || RETURN=$?
+ eend ${RETURN}
+
+ if [ "${RETURN}" != "0" ] && [ "${ROLE}" == "mfsmaster" ] && [ ${AUTORESTORE} -eq 1 ]; then
+ eindent
+ autorestore && start_role ${ROLE}
+ RETURN=$?
+ eoutdent
+ fi
+
+ [ "${RETURN}" != "0" ] && break
+ done
+ eoutdent
+
+ return ${RETURN}
+}
+
+start() {
+ ebegin "Starting mfs node"
+ chkconfig && start_roles
+ eend $?
+}
+
+stop() {
+ local RETURN=0
+
+ ebegin "Stopping mfs node"
+ eindent
+ local REVERSE=$(echo ${ROLES} | tac -s' ')
+ for ROLE in ${REVERSE}; do
+ ebegin "${ROLE}"
+ start-stop-daemon -q --stop -n ${ROLE} || RETURN=$?
+ eend ${RETURN}
+ done
+ eoutdent
+
+ eend ${RETURN}
+}
+
+reload() {
+ local RETURN=0
+
+ ebegin "Reloading mfs node"
+ eindent
+ for ROLE in ${ROLES}; do
+ ebegin "${ROLE}"
+ start-stop-daemon --signal HUP -n ${ROLE}
+ eend ${RETURN}
+ done
+ eoutdent
+
+ eend ${RETURN}
+}
diff --git a/sys-cluster/moosefs/files/mfscgiserver.confd b/sys-cluster/moosefs/files/mfscgiserver.confd
new file mode 100644
index 000000000000..ae93c54f4f94
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfscgiserver.confd
@@ -0,0 +1,9 @@
+# MooseFS HTTP/CGI server configuration.
+
+# BIND_HOST: local address to listen on
+# default: any
+BIND_HOST="0.0.0.0"
+
+# BIND_PORT: port to listen on
+# default: 9425
+BIND_PORT=9425
diff --git a/sys-cluster/moosefs/files/mfscgiserver.initd-r1 b/sys-cluster/moosefs/files/mfscgiserver.initd-r1
new file mode 100644
index 000000000000..d60cf8034cd5
--- /dev/null
+++ b/sys-cluster/moosefs/files/mfscgiserver.initd-r1
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+
+PIDFILE=/var/run/mfscgiserv.pid
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting mfs CGI server"
+ start-stop-daemon --start --quiet --exec /usr/sbin/mfscgiserv \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -H ${BIND_HOST} -P ${BIND_PORT} -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mfs CGI server"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading mfs CGI server"
+ start-stop-daemon --signal HUP --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/sys-cluster/moosefs/metadata.xml b/sys-cluster/moosefs/metadata.xml
new file mode 100644
index 000000000000..d42432463d97
--- /dev/null
+++ b/sys-cluster/moosefs/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>MooseFS is a fault tolerant, network distributed file system.
+ It spreads data over several physical servers which are visible to the user as one resource.
+ For standard file operations MooseFS acts as other Unix-alike file systems
+ </longdescription>
+ <use>
+ <flag name="cgi">Install CGI server and scripts.</flag>
+ <flag name="fuse">Install the mfsmount utility.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild b/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild
new file mode 100644
index 000000000000..cdcf22ba0780
--- /dev/null
+++ b/sys-cluster/moosefs/moosefs-1.6.26-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 user
+
+MY_P="mfs-${PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="A filesystem for highly reliable petabyte storage"
+HOMEPAGE="http://www.moosefs.org/"
+SRC_URI="http://pro.hit.gemius.pl/hitredir/id=p4CVHPOzkVa0JJIK.m0Ee6dyHZEgoQb1KaiPmVK29EX.M7/url=moosefs.org/tl_files/mfscode/${MY_P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cgi +fuse static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ fuse? ( >=sys-fs/fuse-2.6 )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup mfs
+ enewuser mfs -1 -1 -1 mfs
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # rename dist config files
+ sed -i 's@\.cfg\.dist@\.cfg@g' mfsdata/Makefile.in || die
+}
+
+src_configure() {
+ local myopts=""
+ use fuse || myopts="--disable-mfsmount"
+ econf \
+ --sysconfdir=/etc/mfs \
+ --with-default-user=mfs \
+ --with-default-group=mfs \
+ $(use_enable cgi mfscgi) \
+ $(use_enable cgi mfscgiserv) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}/mfs.initd-r1" mfs
+ newconfd "${FILESDIR}/mfs.confd" mfs
+ if use cgi; then
+ python_fix_shebang "${D}"/usr/sbin/mfscgiserv
+ newinitd "${FILESDIR}/mfscgiserver.initd-r1" mfscgiserver
+ newconfd "${FILESDIR}/mfscgiserver.confd" mfscgiserver
+ fi
+
+ chown -R mfs:mfs "${D}/var/lib/mfs" || die
+ chmod 750 "${D}/var/lib/mfs" || die
+}
diff --git a/sys-cluster/moosefs/moosefs-1.6.27.ebuild b/sys-cluster/moosefs/moosefs-1.6.27.ebuild
new file mode 100644
index 000000000000..87cbdf9bdb5b
--- /dev/null
+++ b/sys-cluster/moosefs/moosefs-1.6.27.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils python-single-r1 user
+
+MY_P="mfs-${PV}"
+S="${WORKDIR}/${MY_P}"
+
+DESCRIPTION="A filesystem for highly reliable petabyte storage"
+HOMEPAGE="http://www.moosefs.org/"
+SRC_URI="http://pro.hit.gemius.pl/hitredir/id=.WCbG2t.7Ln5k1s3Q9xPg8cPfX.wVMc5kyXfrKcJTDH.c7/url=moosefs.org/tl_files/mfscode/${MY_P}-1.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cgi +fuse static-libs"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ fuse? ( >=sys-fs/fuse-2.6 )"
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ enewgroup mfs
+ enewuser mfs -1 -1 -1 mfs
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # rename dist config files
+ sed -i 's@\.cfg\.dist@\.cfg@g' mfsdata/Makefile.in || die
+}
+
+src_configure() {
+ local myopts=""
+ use fuse || myopts="--disable-mfsmount"
+ econf \
+ --sysconfdir=/etc/mfs \
+ --with-default-user=mfs \
+ --with-default-group=mfs \
+ $(use_enable cgi mfscgi) \
+ $(use_enable cgi mfscgiserv) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ newinitd "${FILESDIR}/mfs.initd-r1" mfs
+ newconfd "${FILESDIR}/mfs.confd" mfs
+ if use cgi; then
+ python_fix_shebang "${D}"/usr/sbin/mfscgiserv
+ newinitd "${FILESDIR}/mfscgiserver.initd-r1" mfscgiserver
+ newconfd "${FILESDIR}/mfscgiserver.confd" mfscgiserver
+ fi
+
+ chown -R mfs:mfs "${D}/var/lib/mfs" || die
+ chmod 750 "${D}/var/lib/mfs" || die
+}
diff --git a/sys-cluster/mpe2/Manifest b/sys-cluster/mpe2/Manifest
new file mode 100644
index 000000000000..239193635bca
--- /dev/null
+++ b/sys-cluster/mpe2/Manifest
@@ -0,0 +1,7 @@
+AUX slog2sdk-trace_rlog-makefile-fixes.patch 2734 SHA256 015ac2a9bed7d84a9e101c437b54c689e79f293c318e022a1d6884ed3571545e SHA512 6fee1a5b06cb1394a9263d856af3b5522c8b8f10bbd481b1f94644a93290718cb38c753efbeb426d3aed98827049c7c574e1e529dfb34e35134da672c34bd684 WHIRLPOOL 6dba7ffd10a91ae25c56da7b9a0ee9398f2d1bc4a1ddd92db1ffe1accfb626f2e7a468b6b39a7a5e8668ffd4995ffd7e8a1b39d2f1ecc211186ba2c9ca6f4ae1
+AUX slog2sdk-trace_sample-makefile-fixes.patch 2746 SHA256 e611b08f6c7a2cdccee7d37075ff1f8ab4bce84458b40bc859c87f541d54fd2a SHA512 dd5f1f86a4a2abc9a5248856b0eddfc276f9bfb1376ac65f98ec28280d98fb6039e4425c5fe3a02b3ef38bd993a0440b200734520f25afef52feee7af9cd11f9 WHIRLPOOL b5edc131538295c330a6464d691c693331eadc70dc8efde6d265e7594afd83e8f89d43cbb8d4b54b4e45fd1a332b743ceb161dc3d8c1773a400e917d44367b42
+DIST mpe2-1.0.6p1.tar.gz 9313216 SHA256 23cfef2b8a0a27408b5bdadeb216ba3adb3b02bf40d0fa6fc0a110cefd8c5863 SHA512 89aa4197aef4fdef14db032f058772c179bbb9055ad369338588a883ed9e75c825e396a1233d8dc079db605eeb1aa3a8ccd392c2df6ea0ccd89cd0433ba371b4 WHIRLPOOL a32418610af18401dd36b2908efd040f61196dfc7bf181f144ba4969a103f5ea4811e771d70d2c4eecf4419db9c30ef45193acc374c559c3842ebdb8d18e8b76
+EBUILD mpe2-1.0.6_p1-r2.ebuild 3813 SHA256 7e7082054e4de8524c72dce563cdbd1a4ae201a4dc28cf894763aaa546d43045 SHA512 f766eb771fba7f92f87c1c92dee1499c41d1e1aa32aac86a05a0b52ae3a64fd7e2fb6df947bdc958e8f5ea820358a7074037f04381143a091fbf22780d25f699 WHIRLPOOL 714ccee0a2af831ee3824977cee67fc55939823e8e70f7779c0e44113748305fd6d7276610aa4fad25b474b809bb25eab0db912341446c6f628986f428d2ebcc
+MISC ChangeLog 4201 SHA256 d2685184cf70e2f040fe5cc827d1f1da9c0a5b1907d99d3230e319f01d61ddd0 SHA512 dba11e8f06a7505421427b3e8171b538e06576894485b2d5d417ce705aa2c7655c3129599f7c46beb3fb2493e506bd672e632e2617df47d6d4dba3b14dcfa07c WHIRLPOOL 61da5d8a53cd4ed34b36184ff9b66055badec37b6fdaba1d8c382c411585613a846e773b1831de2bef11a339c1f9e55d150d351a410ee9a585330fb6bae1abe0
+MISC ChangeLog-2015 2133 SHA256 8736dc11b3c840bfdcef19cd2209416288a13ff85572487b66e56bd1c5b7b98b SHA512 dd9e3ef8afaeec5a66c714ba9483d7a262b9627243d6c40c1f45c1d764ebd02b9b2430b4e2809693b91406a9acfbe2ad0dbd3304686cfe2eeefd8816b3b08b82 WHIRLPOOL 419f6be79cbe90e404f32fb6be1bf7bf7746b2489683e950f6dd0753175a99f7582a71adb3e4f4911eb407b2329ddc2a570efe67eb43be60f03e1658af254833
+MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b
diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch
new file mode 100644
index 000000000000..4f2119ec69f0
--- /dev/null
+++ b/sys-cluster/mpe2/files/slog2sdk-trace_rlog-makefile-fixes.patch
@@ -0,0 +1,68 @@
+From 5bc91497bd4b3d2e4e962ffb2d5b9b471c4183c2 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 13 Sep 2010 14:18:51 -0400
+Subject: [PATCH 1/2] slog2sdk/trace_rlog makefile fixes
+
+- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK.
+- Do not install libraries during the compile phase.
+---
+ src/slog2sdk/trace_rlog/src/Makefile.in | 19 ++++++++-----------
+ 1 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/src/slog2sdk/trace_rlog/src/Makefile.in b/src/slog2sdk/trace_rlog/src/Makefile.in
+index 9b289b8..2d772e0 100644
+--- a/src/slog2sdk/trace_rlog/src/Makefile.in
++++ b/src/slog2sdk/trace_rlog/src/Makefile.in
+@@ -48,7 +48,8 @@ RM = @RM@
+
+ JNI_INC = @JNI_INC@
+ CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@
+-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
++LDFLAGS = @LDFLAGS@
++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
+
+ # memory leak checker
+ MEMLIBS = @DEBUG_LIBS@
+@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$
+
+ $(libbuild_dir)/$(LIB_TRACE): $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(libbuild_dir) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(libbuild_dir) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir)
+- $(LIBTOOL) --finish $(libbuild_dir)
+
+ INSTALL_LIBSO: $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(LIBDIR) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(LIBDIR) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR)
+- $(LIBTOOL) --finish $(LIBDIR)
+
+ $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T)
+- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS)
+
+ $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E)
+- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS)
+
+ clean:
+ @-$(RM) *.@OBJEXT@ *.lo *.la
+--
+1.7.1
+
diff --git a/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch
new file mode 100644
index 000000000000..717911ffb710
--- /dev/null
+++ b/sys-cluster/mpe2/files/slog2sdk-trace_sample-makefile-fixes.patch
@@ -0,0 +1,68 @@
+From b23d8d40cf62d03cad7ce777565069368e040a96 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 13 Sep 2010 14:22:10 -0400
+Subject: [PATCH 2/2] slog2sdk/trace_sample makefile fixes
+
+- Respect user-defined LDFLAGS when linking PGM_PRINT and PGM_CHECK.
+- Do not install libraries during the compile phase.
+---
+ src/slog2sdk/trace_sample/src/Makefile.in | 19 ++++++++-----------
+ 1 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/src/slog2sdk/trace_sample/src/Makefile.in b/src/slog2sdk/trace_sample/src/Makefile.in
+index f716fff..8d3641a 100644
+--- a/src/slog2sdk/trace_sample/src/Makefile.in
++++ b/src/slog2sdk/trace_sample/src/Makefile.in
+@@ -48,7 +48,8 @@ RM = @RM@
+
+ JNI_INC = @JNI_INC@
+ CFLAGS = -I.. $(JNI_INC) -I$(TRACE_INCDIR) @COPTS@
+-LDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
++LDFLAGS = @LDFLAGS@
++LIBLDFLAGS = -module -no-undefined -avoid-version @LDFLAGS@
+
+ # memory leak checker
+ MEMLIBS = @DEBUG_LIBS@
+@@ -66,33 +67,29 @@ ALL: $(libbuild_dir)/$(LIB_TRACE) $(binbuild_dir)/$(PGM_PRINT) $(binbuild_dir)/$
+
+ $(libbuild_dir)/$(LIB_TRACE): $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(libbuild_dir) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(libbuild_dir) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(libbuild_dir)
+- $(LIBTOOL) --finish $(libbuild_dir)
+
+ INSTALL_LIBSO: $(LOBJ)
+ if [ "$(EXPORT_SYMBOLS)" = "yes" ] ; then \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -export-symbols $(srcdir)/JavaTraceInput.sym \
+ -rpath $(LIBDIR) ; \
+ else \
+- $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LDFLAGS) \
++ $(LIBTOOL) --mode=link $(CC) -o $(LIB_TRACE) $(LOBJ) $(LIBLDFLAGS) \
+ -rpath $(LIBDIR) ; \
+ fi
+- $(LIBTOOL) --mode=install $(INSTALL) $(LIB_TRACE) $(DESTDIR)$(LIBDIR)
+- $(LIBTOOL) --finish $(LIBDIR)
+
+ $(binbuild_dir)/$(PGM_PRINT): $(OBJ4T)
+- $(CC) @COPTS@ -o $@ $(OBJ4T) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4T) $(MEMLIBS)
+
+ $(binbuild_dir)/$(PGM_CHECK): $(OBJ4E)
+- $(CC) @COPTS@ -o $@ $(OBJ4E) $(MEMLIBS)
++ $(CC) @COPTS@ $(LDFLAGS) -o $@ $(OBJ4E) $(MEMLIBS)
+
+ clean:
+ @-$(RM) *.@OBJEXT@ *.lo *.la
+--
+1.7.1
+
diff --git a/sys-cluster/mpe2/metadata.xml b/sys-cluster/mpe2/metadata.xml
new file mode 100644
index 000000000000..8bf4b5f36954
--- /dev/null
+++ b/sys-cluster/mpe2/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild
new file mode 100644
index 000000000000..3c424fdf3c65
--- /dev/null
+++ b/sys-cluster/mpe2/mpe2-1.0.6_p1-r2.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 java-pkg-opt-2 toolchain-funcs
+
+MY_P=${P/_/}
+
+DESCRIPTION="MPI development tools"
+HOMEPAGE="http://www-unix.mcs.anl.gov/perfvis/download/index.htm"
+SRC_URI="ftp://ftp.mcs.anl.gov/pub/mpi/${PN%2}/${MY_P}.tar.gz"
+
+LICENSE="mpich2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug minimal fortran threads"
+
+COMMON_DEPEND="
+ !minimal? (
+ x11-libs/libXtst
+ x11-libs/libXi
+ )
+ || (
+ sys-cluster/openmpi[fortran?,threads?]
+ sys-cluster/mpich2[fortran?,threads?]
+ )"
+
+DEPEND="
+ !minimal? ( >=virtual/jdk-1.6 )
+ ${COMMON_DEPEND}"
+
+RDEPEND="
+ !minimal? ( >=virtual/jre-1.6 )
+ ${COMMON_DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+MPE_IMP=""
+
+# README:
+# This ebuild is created to handle building with both mpich2 and openmpi.
+# However, without empi (in the science overlay), and some further
+# conversion to use mpi.eclass, we can only handle one implementation
+# at a time. I still believe it's better to have the ebuild setup
+# correctly in preperation.
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ local i
+
+ if has_version sys-cluster/openmpi; then
+ MPE_IMP=openmpi
+ elif has_version sys-cluster/mpich2; then
+ MPE_IMP=mpich2
+ elif has_version sys-cluster/mpich; then
+ MPE_IMP=mpich2
+ else
+ die "Unknown MPI implementation"
+ fi
+
+ export JFLAGS="${JFLAGS} $(java-pkg_javac-args)"
+
+ if [[ "${MPE_IMP}" == openmpi ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then
+ echo
+ elog "Currently src_test fails on collchk with openmpi, hence"
+ elog "testing is disabled by default. If you would like to"
+ elog "force testing, please add MPE_FORCE_OPENMPI_TEST=1"
+ elog "to your environment."
+ echo
+ fi
+
+ einfo "Building with support for: sys-cluster/${MPE_IMP}"
+
+ use minimal || java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ # Don't assume path contains ./
+ sed -i 's,\($MPERUN\) $pgm,\1 ./$pgm,' sbin/mpetestexeclog.in || die
+ epatch \
+ "${FILESDIR}"/slog2sdk-trace_rlog-makefile-fixes.patch \
+ "${FILESDIR}"/slog2sdk-trace_sample-makefile-fixes.patch
+
+ use minimal || java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local c="--with-mpicc=/usr/bin/mpicc"
+
+ if use fortran; then
+ c+=" --with-mpif77=/usr/bin/mpif77"
+ else
+ c+=" --disable-f77"
+ fi
+
+ if use minimal; then
+ c+=" --enable-slog2=no --disable-rlog --disable-sample"
+ else
+ c+=" --with-java2=$(java-config --jdk-home) --enable-slog2=build"
+ fi
+
+ [[ "${MPE_IMP}" == openmpi ]] && c+=" --disable-rlog --disable-sample"
+
+ econf ${c} \
+ --sysconfdir=/etc/${PN} \
+ --datadir=/usr/share/${PN} \
+ --with-htmldir=/usr/share/${PN} \
+ --with-docdir=/usr/share/${PN} \
+ --enable-collchk \
+ --enable-wrappers \
+ $(use_enable !minimal graphics) \
+ $(use_enable threads threadlogging) \
+ $(use_enable debug g)
+}
+
+src_test() {
+ local rc
+
+ cd "${S}" || die
+ if [[ "${MPE_IMP}" == mpich2 ]]; then
+ echo "MPD_SECRETWORD=junk" > "${T}"/mpd.conf || die
+ chmod 600 "${T}"/mpd.conf || die
+ export MPD_CONF_FILE="${T}/mpd.conf"
+ "${ROOT}"usr/bin/mpd -d --pidfile="${T}"/mpd.pid || die
+ elif [[ "${MPE_IMP}" == openmpi* ]] && [ -z "${MPE2_FORCE_OPENMPI_TEST}" ]; then
+ echo
+ einfo "Skipping tests for openmpi"
+ echo
+ return 0
+ fi
+
+ # No parallel make:
+ # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1
+ emake -j1 \
+ CC="${S}"/bin/mpecc \
+ FC="${S}"/bin/mpefc \
+ MPERUN="${ROOT}/usr/bin/mpiexec -n 4" \
+ CLOG2TOSLOG2="${S}/src/slog2sdk/bin/clog2TOslog2" \
+ check;
+ rc=${?}
+ if [[ "${MPE_IMP}" == mpich2 ]]; then
+ "${ROOT}"usr/bin/mpdallexit || kill $(<"${T}"/mpd.pid)
+ fi
+
+ return ${rc}
+}
+
+src_install() {
+ # No parallel make:
+ # http://trac.mcs.anl.gov/projects/mpich2/ticket/1095#comment:1
+ MAKEOPTS+=" -j1"
+ default
+ rm -f "${ED}"/usr/sbin/mpeuninstall || die
+ rm -f "${ED}"/usr/bin/*.in || die
+}
diff --git a/sys-cluster/mpich/Manifest b/sys-cluster/mpich/Manifest
new file mode 100644
index 000000000000..1deb5da29387
--- /dev/null
+++ b/sys-cluster/mpich/Manifest
@@ -0,0 +1,12 @@
+DIST mpich-3.0.4.tar.gz 10921075 SHA256 cf638c85660300af48b6f776e5ecd35b5378d5905ec5d34c3da7a27da0acf0b3 SHA512 f9d8b2cf561fe5f85c12512ef4dd7b0cf5ec8b53ddb07bfa0d1db2e3c8ae0382c77e0661f46b82ec96b05d18ea2d25328bb84e9528ac06e5925f30ec8ef030d0 WHIRLPOOL 52c811d1adcba26424bb3f05b7b97faff16ab3762782474fcde5f49e9ca77155fb91d80967120d9277eed2adb116443afe444671eb6315a610587d55ac4ec9ed
+DIST mpich-3.1.3.tar.gz 11487313 SHA256 afb690aa828467721e9d9ab233fe00c68cae2b7b930d744cb5f7f3eb08c8602c SHA512 3071d75e925808c13ea528aaff81a2ee44a4eb9732c74005a0cedd5a710aeafc691d30c7a035ae0aba14bd2b837c1c788202a7612599d3ffac8e5a9299467c09 WHIRLPOOL ade5a2ab7a98a3ee353a0b41ad8c57b8676ea7e381e625c01237519c88e9e16c5330cf6c569707ded26462022dd8647ba0a24dc2c1559240781b0e4fa1c69511
+DIST mpich-3.1.4.tar.gz 11325036 SHA256 f68b5330e94306c00ca5a1c0e8e275c7f53517d01d6c524d51ce9359d240466b SHA512 55bd4d12a42b9ebc116016bd777eb2b8ed8c51e69f5ea5faf823eba0aeb7eadfe2848c4cca3032aa38841a25a4902c07cec2409811149a057c4aa99a25c6b6da WHIRLPOOL 243ea40dd67b7f8e6fecde58740c21703833ca2857922ad59c5744888145bbf0ee934a69128818cd5bb91f39a3e842c26b2eced20ba23e08c8968b903f1f9992
+DIST mpich-3.2.tar.gz 11862150 SHA256 0778679a6b693d7b7caff37ff9d2856dc2bfc51318bf8373859bfa74253da3dc SHA512 083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717 WHIRLPOOL 4196be94f5f5766f06e3f5893153e6d44fe93a5ef17dfcf3fce075b1506d5b762ba175dceeac0668284adc9f4a846917801f2138ed2d81f464d3a191b3f88f1c
+EBUILD mpich-3.0.4.ebuild 2525 SHA256 678c9ce3b9ee3b4c2e1c6d47a0afdc360456a6eff6a22673940170bc184efc2c SHA512 f5bf6fc9c4507d36098659bc83b16424f36f34ce4d33e816e3f084ab48dabce3fb3be001d89a18b4ecf2697f24f8559a48839a92effd2e7375edd36862526fd4 WHIRLPOOL 3212a545cfa0d5fedd7d9eb675e097131258a45f232b1154d4dcf825b0b61e4087db49ccaa2065269f07a230231a76e83b15680cc7e9b755a5ca61a64c7ded4e
+EBUILD mpich-3.1.3.ebuild 2536 SHA256 f54c1dbfdf626acc1e1314f2512869b8a2361e18e6d1377398fa3755e770aff1 SHA512 6de19ec1f8c1501d4e1ac9f2aaeaa80da5df419acc0c6c8fc098f05fa07f23661e8f196bdcb8219aa10a6d41646a38a8299d4038eb5b1c78e6b95bc6d98eecd4 WHIRLPOOL bda24b88afb86c05510c1ba505254de8f23633bd77a56c33f3305e7c51bbc52f5d1e99a1c02366db0406bfa0ab968ff69a9a3c9bedb95bf6982e2908a46f3de6
+EBUILD mpich-3.1.4.ebuild 2558 SHA256 66569145fbea940f4024dd474ab1c47e1e42fb830be27e7bfb74b4b0f8d9696e SHA512 af2234b1fd821b406f590580c49aa3762dcf478c6ea73ae57cdb748e4cbaeb4ec3c04345e6c06a83db77a122c4d90675253274b867a84b3aaf0150b9fffaa46a WHIRLPOOL c1b176c86cb4d997b286d660bb1bd8e4c6c4a378d076d658d3594f7e4eed6f994662b4e25ee70d2759a1b586a6ad9b37eb735d1f8c4c2bbae70759cdd1c51336
+EBUILD mpich-3.2-r1.ebuild 3121 SHA256 1ae18b8af6273b7b34afd853171dc3f2f60cd1ea530a4ea61890fe1a2af893bd SHA512 afd8bfe874c7da0340afc0c8d45b98297b8ff9976ecad4df3a653777fbf268ca1b3682b4c6f47277b8e63faae9581429d74a432b838aedd1192742ed9b5c6fa4 WHIRLPOOL 367a4a5522272994623c8dea49c864b475200a01a4d144210c7b32e74d4d965a9ee54069aa635961cc2735fef0d94a96a125ed0fc8e9b95aae3f65b92b1113da
+EBUILD mpich-3.2.ebuild 2558 SHA256 66569145fbea940f4024dd474ab1c47e1e42fb830be27e7bfb74b4b0f8d9696e SHA512 af2234b1fd821b406f590580c49aa3762dcf478c6ea73ae57cdb748e4cbaeb4ec3c04345e6c06a83db77a122c4d90675253274b867a84b3aaf0150b9fffaa46a WHIRLPOOL c1b176c86cb4d997b286d660bb1bd8e4c6c4a378d076d658d3594f7e4eed6f994662b4e25ee70d2759a1b586a6ad9b37eb735d1f8c4c2bbae70759cdd1c51336
+MISC ChangeLog 3376 SHA256 15f949095b624bbca43e043da1aca775fbdd39c1cdb530301459d702d2b4c18e SHA512 0cc8e14234a0f12de2666177ef05865183fae3dedd7afa3e5a483ceeca75433713a1b275f76bd369df9ffe00d52b93d7e6b122a59c6910dd2549347b15e4a9c1 WHIRLPOOL ceccbe46797aefdb065336af5afaac3e2c093387813409cc0d5950b1e470d969ec617af8221fbfde65feb52e23efa25ca15b9a7a91dd04950d9174a8cac1cdfe
+MISC ChangeLog-2015 1135 SHA256 ee778609b1259d3d52507e50cf682e9cb869a45a8dbbe471888cb25e8ab012bd SHA512 0c80fe92dd53bcf463fd3f8315597358f7f7ae6101ba628c233f3a803d6d50832514690e06eb6dca4de89cefe2a588b5d50e3ebf94f4ebe9310ffbf999a6ade4 WHIRLPOOL 1435577c019d8019e4c31203cd5716fa47add34e959b84f21a478dd6171e8f6b1da20b53b6aafdb2e68e37b37ad9fe5dfe2fd81ec8d5256d91ab8b97667beb98
+MISC metadata.xml 658 SHA256 36ba3a7882526eda76a522faddf61a9ecbfc6a6b7c3d5ee80930d8d335968bb5 SHA512 fb8427b6757ba0571f5f78ee71bfd80ebf9e0835a1016b3ef1f66d27a2022033118c7a1fbfe4011e591d321bae9df48c4e4554e3daaa1a3033bee74b5f4c08fe WHIRLPOOL c4f63d413cc3a6d1c8f5b5b4d1026e6ca17db071f719a91d9ce96b70255dd897ae948561250605d005ef34f1601c2e070c9f21c1e319541a10b3c6877a6d040a
diff --git a/sys-cluster/mpich/metadata.xml b/sys-cluster/mpich/metadata.xml
new file mode 100644
index 000000000000..6cbe440faf21
--- /dev/null
+++ b/sys-cluster/mpich/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsbronder@gentoo.org</email>
+ <name>Justin Bronder</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>balaji@mcs.anl.gov</email>
+ <name>Pavan Balaji</name>
+ <description>Upstream Contact</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag>
+ <flag name="romio">Build the ROMIO MPI-IO component</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/mpich/mpich-3.0.4.ebuild b/sys-cluster/mpich/mpich-3.0.4.ebuild
new file mode 100644
index 000000000000..63dee55d2a0b
--- /dev/null
+++ b/sys-cluster/mpich/mpich-3.0.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mpich.org/"
+SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich"
+KEYWORDS="amd64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ dev-libs/libaio
+ sys-apps/hwloc
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich2
+ !sys-cluster/openmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+pkg_setup() {
+ FORTRAN_STANDARD="77 90"
+ fortran-2_pkg_setup
+
+ if use mpi-threads && ! use threads; then
+ ewarn "mpi-threads requires threads, assuming that's what you want"
+ fi
+}
+
+src_prepare() {
+ # Using MPICHLIB_LDFLAGS doesn't seem to fully work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich.pc.in \
+ src/env/*.in \
+ || die
+}
+
+src_configure() {
+ local c="--enable-shared"
+
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories.
+
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+
+ export MPICHLIB_CFLAGS=${CFLAGS}
+ export MPICHLIB_CPPFLAGS=${CPPFLAGS}
+ export MPICHLIB_CXXFLAGS=${CXXFLAGS}
+ export MPICHLIB_FFLAGS=${FFLAGS}
+ export MPICHLIB_FCFLAGS=${FCFLAGS}
+ export MPICHLIB_LDFLAGS=${LDFLAGS}
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ econf ${c} \
+ --with-pm=hydra \
+ --disable-mpe \
+ --disable-fast \
+ --enable-smpcoll \
+ --enable-versioning \
+ --with-hwloc-prefix=/usr \
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(use_enable fortran f77) \
+ $(use_enable fortran fc)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ dodir /usr/share/doc/${PF}
+ dodoc README{,.envvar} CHANGES RELEASE_NOTES
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${D}"usr/share/doc/${PF}/www*
+ fi
+}
diff --git a/sys-cluster/mpich/mpich-3.1.3.ebuild b/sys-cluster/mpich/mpich-3.1.3.ebuild
new file mode 100644
index 000000000000..0ed79526c4a0
--- /dev/null
+++ b/sys-cluster/mpich/mpich-3.1.3.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mpich.org/"
+SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ dev-libs/libaio
+ >=sys-apps/hwloc-1.9
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich2
+ !sys-cluster/openmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+pkg_setup() {
+ FORTRAN_STANDARD="77 90"
+ fortran-2_pkg_setup
+
+ if use mpi-threads && ! use threads; then
+ ewarn "mpi-threads requires threads, assuming that's what you want"
+ fi
+}
+
+src_prepare() {
+ # Using MPICHLIB_LDFLAGS doesn't seem to fully work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich.pc.in \
+ src/env/*.in \
+ || die
+}
+
+src_configure() {
+ local c="--enable-shared"
+
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories.
+
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+
+ export MPICHLIB_CFLAGS=${CFLAGS}
+ export MPICHLIB_CPPFLAGS=${CPPFLAGS}
+ export MPICHLIB_CXXFLAGS=${CXXFLAGS}
+ export MPICHLIB_FFLAGS=${FFLAGS}
+ export MPICHLIB_FCFLAGS=${FCFLAGS}
+ export MPICHLIB_LDFLAGS=${LDFLAGS}
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ econf ${c} \
+ --with-pm=hydra \
+ --disable-mpe \
+ --disable-fast \
+ --enable-smpcoll \
+ --enable-versioning \
+ --with-hwloc-prefix=/usr \
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(use_enable fortran f77) \
+ $(use_enable fortran fc)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ dodir /usr/share/doc/${PF}
+ dodoc README{,.envvar} CHANGES RELEASE_NOTES
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${D}"usr/share/doc/${PF}/www*
+ fi
+}
diff --git a/sys-cluster/mpich/mpich-3.1.4.ebuild b/sys-cluster/mpich/mpich-3.1.4.ebuild
new file mode 100644
index 000000000000..81b842d0f03e
--- /dev/null
+++ b/sys-cluster/mpich/mpich-3.1.4.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mpich.org/"
+SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ dev-libs/libaio
+ >=sys-apps/hwloc-1.9
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich2
+ !sys-cluster/openmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+pkg_setup() {
+ FORTRAN_STANDARD="77 90"
+ fortran-2_pkg_setup
+
+ if use mpi-threads && ! use threads; then
+ ewarn "mpi-threads requires threads, assuming that's what you want"
+ fi
+}
+
+src_prepare() {
+ # Using MPICHLIB_LDFLAGS doesn't seem to fully work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich.pc.in \
+ src/env/*.in \
+ || die
+}
+
+src_configure() {
+ local c="--enable-shared"
+ local hydra_c="--with-hwloc-prefix=/usr"
+
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories. Hence the separate
+ # local vars.
+
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+
+ export MPICHLIB_CFLAGS=${CFLAGS}
+ export MPICHLIB_CPPFLAGS=${CPPFLAGS}
+ export MPICHLIB_CXXFLAGS=${CXXFLAGS}
+ export MPICHLIB_FFLAGS=${FFLAGS}
+ export MPICHLIB_FCFLAGS=${FCFLAGS}
+ export MPICHLIB_LDFLAGS=${LDFLAGS}
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ econf ${c} \
+ --with-pm=hydra \
+ --disable-fast \
+ --enable-versioning \
+ ${hydra_c}
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(use_enable fortran f77) \
+ $(use_enable fortran fc)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ dodir /usr/share/doc/${PF}
+ dodoc README{,.envvar} CHANGES RELEASE_NOTES
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${D}"usr/share/doc/${PF}/www*
+ fi
+}
diff --git a/sys-cluster/mpich/mpich-3.2-r1.ebuild b/sys-cluster/mpich/mpich-3.2-r1.ebuild
new file mode 100644
index 000000000000..7a865b38f333
--- /dev/null
+++ b/sys-cluster/mpich/mpich-3.2-r1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+FORTRAN_STANDARD="77 90"
+
+inherit fortran-2 multilib-minimal
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mpich.org/"
+SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich"
+KEYWORDS="amd64 ~arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ >=dev-libs/libaio-0.3.109-r5[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP}]
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich2
+ !sys-cluster/openmpi
+ !sys-cluster/nullmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpicxx.h
+ /usr/include/mpi.h
+ /usr/include/opa_config.h
+)
+
+src_prepare() {
+ default
+
+ # Using MPICHLIB_LDFLAGS doesn't seem to fully work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich.pc.in \
+ src/env/*.in \
+ || die
+}
+
+multilib_src_configure() {
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories. Hence the separate
+ # local vars.
+
+ local c=
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+
+ export MPICHLIB_CFLAGS="${CFLAGS}"
+ export MPICHLIB_CPPFLAGS="${CPPFLAGS}"
+ export MPICHLIB_CXXFLAGS="${CXXFLAGS}"
+ export MPICHLIB_FFLAGS="${FFLAGS}"
+ export MPICHLIB_FCFLAGS="${FCFLAGS}"
+ export MPICHLIB_LDFLAGS="${LDFLAGS}"
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ ECONF_SOURCE=${S} econf \
+ --enable-shared \
+ --with-hwloc-prefix="${EPREFIX}/usr" \
+ ${c} \
+ --with-pm=hydra \
+ --disable-fast \
+ --enable-versioning \
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(multilib_native_use_enable fortran fortran all)
+}
+
+multilib_src_test() {
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if use fortran; then
+ if multilib_is_native_abi; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"usr/include/mpif* "${T}"/fortran || die
+ mv "${ED}"usr/include/*.mod "${T}"/fortran || die
+ else
+ rm "${ED}"usr/include/mpif* "${ED}"usr/include/*.mod || die
+ fi
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/* "${ED}"usr/include || die
+ fi
+
+ einstalldocs
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${ED}"usr/share/doc/${PF}/www* || die
+ fi
+}
diff --git a/sys-cluster/mpich/mpich-3.2.ebuild b/sys-cluster/mpich/mpich-3.2.ebuild
new file mode 100644
index 000000000000..81b842d0f03e
--- /dev/null
+++ b/sys-cluster/mpich/mpich-3.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mpich.org/"
+SRC_URI="http://www.mpich.org/static/downloads/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich"
+KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ dev-libs/libaio
+ >=sys-apps/hwloc-1.9
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich2
+ !sys-cluster/openmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+pkg_setup() {
+ FORTRAN_STANDARD="77 90"
+ fortran-2_pkg_setup
+
+ if use mpi-threads && ! use threads; then
+ ewarn "mpi-threads requires threads, assuming that's what you want"
+ fi
+}
+
+src_prepare() {
+ # Using MPICHLIB_LDFLAGS doesn't seem to fully work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich.pc.in \
+ src/env/*.in \
+ || die
+}
+
+src_configure() {
+ local c="--enable-shared"
+ local hydra_c="--with-hwloc-prefix=/usr"
+
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories. Hence the separate
+ # local vars.
+
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+
+ export MPICHLIB_CFLAGS=${CFLAGS}
+ export MPICHLIB_CPPFLAGS=${CPPFLAGS}
+ export MPICHLIB_CXXFLAGS=${CXXFLAGS}
+ export MPICHLIB_FFLAGS=${FFLAGS}
+ export MPICHLIB_FCFLAGS=${FCFLAGS}
+ export MPICHLIB_LDFLAGS=${LDFLAGS}
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ econf ${c} \
+ --with-pm=hydra \
+ --disable-fast \
+ --enable-versioning \
+ ${hydra_c}
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(use_enable fortran f77) \
+ $(use_enable fortran fc)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ dodir /usr/share/doc/${PF}
+ dodoc README{,.envvar} CHANGES RELEASE_NOTES
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${D}"usr/share/doc/${PF}/www*
+ fi
+}
diff --git a/sys-cluster/mpich2/Manifest b/sys-cluster/mpich2/Manifest
new file mode 100644
index 000000000000..69adeaa676cf
--- /dev/null
+++ b/sys-cluster/mpich2/Manifest
@@ -0,0 +1,5 @@
+DIST mpich2-1.5.tar.gz 22826035 SHA256 7175926fc2e4230f00201e880318c08de4f949c0dbe167fe1b2e256ac79d5f66 SHA512 01ef68accdd60af805705c1c7a144a570eee6f01984939fe151a093f963c956fba366247b1058885ba1a2ff626278d30e928e03d394bd6cf2a4b6dab99586c15 WHIRLPOOL 2cffe3dc6942f4d141601fcb51a08405c5c61af84c8e224dc9301b18846862d27f7646637aa199720c3858345471c244cb78800d4f2b484742edd8ef6a674b45
+EBUILD mpich2-1.5.ebuild 2597 SHA256 1e4fc6b7998321f0342117046b1a61cb64b0881c392b7307518285189aaa5158 SHA512 798070431a2fd857dd57c9608dd623e29c14e037db36bafa4c76a4a7d2efe4a32725f555def91d9186162839bb36332d4c7a4aa591d1b80e659f562b6685142d WHIRLPOOL 86610542345dfbb55e5c3c547983fa5cb0ef43a9c620cea973c5913c77bf3a4228d336c08589cd9eecd66a75c541d55d99651a8199bb069f531b30c4999b3cec
+MISC ChangeLog 2423 SHA256 39d2e78f94c15410a031573a978d9ec5d15e79f17698a74f9c8b3c8d3e164e4e SHA512 032c15bbdc8d5b27c51a93afba0f7c1be6bdc3c0f06a74916ce53d2f5ad0bb397566d60da6b3faf0b53c87d13f873c3a93cfb6fa039dc695737b84217e04bb2f WHIRLPOOL 86251956fb6637c587836966f977d47392817bec4a080fb613f28a3d0ca37df1c8b91252245509f4972fb1bbb89536f1fd18ec93d4bda799a7655a1c24d5d4ae
+MISC ChangeLog-2015 17582 SHA256 9c92113c92ab216448a4e27b44def1defb66646527659f6715a0aaa0976f7fc9 SHA512 5a4e7191941cc986b1880523f8ee4ec5052fba021730c3c5d2a1f50d0e9db8aba0f722a710b138962df31546b7b885d137a6788ef928e7a9f123069fa8ea1081 WHIRLPOOL b1a8654eaf59a0e8158cb5a3e52e54de265ad035540e9e1ac3316a25df449052a61ee4a74502dcec98bab9120ed1e14291dfcaedb07fa384c72a6cc64ef95f2f
+MISC metadata.xml 537 SHA256 2a954472dbdda148e5c9f5c8ff1edcda2728ed6de50a40d2c742a3186542de7f SHA512 6fef333f26872e307ad083ef2e9feafcd264b363feb519e61dea1e2b254b5f3035ff152d84f61311eb3e54c0d08f2a858f446da60ceaa74bd31466fee9ac5500 WHIRLPOOL 17f9b0927aacdf957219f4e4b1326d963ab8a72528659b1ba898207f0063179ee42da85e1e8e1ca4c8bb80203b572122952d6977ad4d7f216a93469a76662641
diff --git a/sys-cluster/mpich2/metadata.xml b/sys-cluster/mpich2/metadata.xml
new file mode 100644
index 000000000000..d88fa13bcaf8
--- /dev/null
+++ b/sys-cluster/mpich2/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsbronder@gentoo.org</email>
+ <name>Justin Bronder</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="romio">Enable romio, a high-performance portable MPI-IO
+ implementation</flag>
+ <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/mpich2/mpich2-1.5.ebuild b/sys-cluster/mpich2/mpich2-1.5.ebuild
new file mode 100644
index 000000000000..a962084a710f
--- /dev/null
+++ b/sys-cluster/mpich2/mpich2-1.5.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit fortran-2
+
+MY_PV=${PV/_/}
+DESCRIPTION="A high performance and portable MPI implementation"
+HOMEPAGE="http://www.mcs.anl.gov/research/projects/mpich2/index.php"
+SRC_URI="http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/${MY_PV}/${PN}-${MY_PV}.tar.gz"
+
+SLOT="0"
+LICENSE="mpich2"
+KEYWORDS="amd64 ~arm64 hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+cxx doc fortran mpi-threads romio threads"
+
+COMMON_DEPEND="
+ dev-libs/libaio
+ sys-apps/hwloc
+ romio? ( net-fs/nfs-utils )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-lang/perl
+ sys-devel/libtool"
+
+RDEPEND="${COMMON_DEPEND}
+ !sys-cluster/mpich
+ !sys-cluster/openmpi"
+
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+pkg_setup() {
+ FORTRAN_STANDARD="77 90"
+ fortran-2_pkg_setup
+
+ if use mpi-threads && ! use threads; then
+ ewarn "mpi-threads requires threads, assuming that's what you want"
+ fi
+}
+
+src_prepare() {
+ # Using MPICH2LIB_LDFLAGS doesn't seem to full work.
+ sed -i 's| *@WRAPPER_LDFLAGS@ *||' \
+ src/packaging/pkgconfig/mpich2.pc.in \
+ src/env/*.in \
+ || die
+}
+
+src_configure() {
+ local c="--enable-shared"
+
+ # The configure statements can be somewhat confusing, as they
+ # don't all show up in the top level configure, however, they
+ # are picked up in the children directories.
+
+ if use mpi-threads; then
+ # MPI-THREAD requries threading.
+ c="${c} --with-thread-package=pthreads"
+ c="${c} --enable-threads=runtime"
+ else
+ if use threads ; then
+ c="${c} --with-thread-package=pthreads"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+ c="${c} --enable-threads=single"
+ fi
+
+ export MPICH2LIB_CFLAGS=${CFLAGS}
+ export MPICH2LIB_CPPFLAGS=${CPPFLAGS}
+ export MPICH2LIB_CXXFLAGS=${CXXFLAGS}
+ export MPICH2LIB_FFLAGS=${FFLAGS}
+ export MPICH2LIB_FCFLAGS=${FCFLAGS}
+ export MPICH2LIB_LDFLAGS=${LDFLAGS}
+ unset CFLAGS CPPFLAGS CXXFLAGS FFLAGS FCFLAGS LDFLAGS
+
+ c="${c} --sysconfdir=${EPREFIX}/etc/${PN}"
+ c="${c} --docdir=${EPREFIX}/usr/share/doc/${PF}"
+ econf ${c} \
+ --with-pm=hydra \
+ --disable-mpe \
+ --disable-fast \
+ --enable-smpcoll \
+ --enable-versioning \
+ $(use_enable romio) \
+ $(use_enable cxx) \
+ $(use_enable fortran f77) \
+ $(use_enable fortran fc)
+}
+
+src_test() {
+ emake -j1 check
+}
+
+src_install() {
+ default
+
+ dodir /usr/share/doc/${PF}
+ dodoc COPYRIGHT README{,.envvar} CHANGES RELEASE_NOTES
+ newdoc src/pm/hydra/README README.hydra
+ if use romio; then
+ newdoc src/mpi/romio/README README.romio
+ fi
+
+ if ! use doc; then
+ rm -rf "${D}"usr/share/doc/${PF}/www*
+ fi
+}
diff --git a/sys-cluster/mvapich2/Manifest b/sys-cluster/mvapich2/Manifest
new file mode 100644
index 000000000000..9bf801fc0790
--- /dev/null
+++ b/sys-cluster/mvapich2/Manifest
@@ -0,0 +1,5 @@
+DIST mvapich2-1.6.tgz 23239787 SHA256 e657ba2eaf43119fec70859677a08bb8138a8bf18c1f375891fed0b7c77aa28d SHA512 4a4aac17742f347c4daed40a8360576ff4c644c549d4a3b364c7d2b1eada6aecc514b447b4613111e113d8f9be79b5101a999298cf89ff19ce63523a54702289 WHIRLPOOL 922fce19a07388b2efdae67e921355b532fe32ae1698d50de1aa00b34587f0efaf37de778f2a8c97f4fdc53a475c829e62bd41754322fbcaef71a7376691f296
+EBUILD mvapich2-1.6.ebuild 3905 SHA256 a5a5310426a57e90b60c65d84cf7833af36cda31bf229f9b2af069c01e5422b8 SHA512 856e1c976f39b6cfa83cf111f35a109bd634060851a25f1c26a51178c01893210d43ff2cfa5b9302748e952e045de27a107fb4aac68f5890c5426a6e5cc980f4 WHIRLPOOL 8bc661c3cf310e3d43fa6cb1d10dc30614bd05c71da944971770a105079074bc55fe0dc1521d2e45ca4e3354477bcd07a0559efc92f17205690a4b9099c63250
+MISC ChangeLog 2584 SHA256 78df17220118e47b0b93218fafc4f12760b2ad71245a082ce940b3a616fa493d SHA512 1bded62ad2556a507e8572f29ff098c8c8692799e9d66265e96aa449e195d92dd17346f14058bf4495c69698d342a51b3bc2e90d8213aaeb47824e3d8eff6542 WHIRLPOOL a4fc8617301cd06495abb5f650d8f8a848711571055432c60b1bd5156481d66503f3ef57451520fa525f57615e1f1927c0fdadacefbcb512b30edf991898017e
+MISC ChangeLog-2015 358 SHA256 22a408422f68a4eb6ad223ce405a7f072e11d1fa61af21bd4e186ff940b224f7 SHA512 b1a2b9622c7b0194ca9905d5f30828ae7d15d2f4dc172c4b2af992a744f38d304b1cb78d745f87bc709dcc43490deb0ef2e41751e10a28783bfacb7f6d9ecf5b WHIRLPOOL 1f8e48c2f3017c0b7a1778429cff84b5bdacc93bfe5ba351ddf95bc8ff7e9a0185c330984b859cac74f248c7a469669d9f6db8aaa60ae2ad2a826fed8d75cca7
+MISC metadata.xml 646 SHA256 5a6626a1b245f51c6d0962b034dd3265a6ab6f19dce29b16195fa007d4446235 SHA512 251bae667db76befd899a01a8f1c658f4552f2a4c0e0790489c7b0d8e984fcf3f08b2954e9dcb2ddc4d3b7a4d0bb8a82aee5d004c9dabb4b760e1c7d0ec3b67a WHIRLPOOL e3184888e688efc8195f72532b9528ff03c746bf38dad9014bd15bf027d363b2b8c23af9d28189c50bff3db0fdc8378274f8b7ef9e9fa68acf45d87265ad1044
diff --git a/sys-cluster/mvapich2/metadata.xml b/sys-cluster/mvapich2/metadata.xml
new file mode 100644
index 000000000000..2c8285bf4d21
--- /dev/null
+++ b/sys-cluster/mvapich2/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB.
+</longdescription>
+ <use>
+ <flag name="large-cluster">Automatically generated description for large-cluster</flag>
+ <flag name="medium-cluster">Automatically generated description for medium-cluster</flag>
+ <flag name="romio">Automatically generated description for romio</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/mvapich2/mvapich2-1.6.ebuild b/sys-cluster/mvapich2/mvapich2-1.6.ebuild
new file mode 100644
index 000000000000..31fec6cd3d00
--- /dev/null
+++ b/sys-cluster/mvapich2/mvapich2-1.6.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="4"
+
+inherit fortran-2
+
+DESCRIPTION="MVAPICH2 MPI-over-infiniband package auto-configured for OpenIB"
+HOMEPAGE="http://mvapich.cse.ohio-state.edu/"
+SRC_URI="${HOMEPAGE}/download/mvapich2/mvapich2-${PV/_/-}.tgz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~x86 ~amd64"
+IUSE="debug fortran large-cluster medium-cluster romio threads"
+
+RDEPEND="
+ || (
+ (
+ sys-fabric/libibverbs
+ sys-fabric/libibumad
+ sys-fabric/libibmad
+ sys-fabric/librdmacm )
+ sys-fabric/openib-userspace )"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/mvapich2-${PV/_/-}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+
+ if [ -z "${MVAPICH_HCA_TYPE}" ]; then
+ elog "${PN} needs to know which HCA it should optimize for. This is"
+ elog "passed to the ebuild with the variable, \${MVAPICH_HCA_TYPE}."
+ elog "Please choose one of: _MLX_PCI_EX_SDR_, _MLX_PCI_EX_DDR_,"
+ elog "_MLX_PCI_X, _PATH_HT_, or _IBM_EHCA_."
+ elog "See make.mvapich2.detect in ${S} for more information."
+ die "MVAPICH_HCA_TYPE undefined"
+ fi
+
+ case ${ARCH} in
+ amd64)
+ if grep Intel /proc/cpuinfo &>/dev/null; then
+ BUILD_ARCH=-D_EM64T_
+ else
+ BUILD_ARCH=-D_X86_64_
+ fi
+ ;;
+ x86)
+ BUILD_ARCH=-D_IA32_
+ ;;
+ ia64)
+ BUILD_ARCH=-D_IA64_
+ ;;
+ ppc64)
+ BUILD_ARCH=-D_PPC64_
+ ;;
+ *)
+ die "unsupported architecture: ${ARCH}"
+ ;;
+ esac
+}
+
+src_prepare() {
+ einfo "Disabling examples"
+ # Examples are always compiled with the default 'all' target. This
+ # causes problems when we don't build support for everything, including
+ # threads, mpe2, etc. So we're not going to build them.
+ sed -i 's:.*cd examples && ${MAKE} all.*::' Makefile.in
+}
+
+src_configure() {
+ local c="--with-device=osu_ch3:mrail
+ --with-rdma=gen2
+ --with-pm=mpd
+ $(use_enable romio)
+ --with-mpe=no"
+
+ # TODO Shared libs should build with this, but they don't
+ # --enable-shared=gcc"
+
+ local enable_srq
+ local vcluster=-D_SMALL_CLUSTER
+
+ use large-cluster && vcluster=-D_LARGE_CLUSTER
+ use medium-cluster && vcluster=-D_MEDIUM_CLUSTER
+ [ "${MVAPICH_HCA_TYPE}" == "_MLX_PCI_X_" ] && enable_srq="-DSRQ"
+
+ append-ldflags "-lrdmacm"
+ append-flags "-DADAPTIVE_RDMA_FAST_PATH -DRDMA_CM"
+
+ append-ldflags "-libverbs -libumad -libmad"
+
+ append-flags "${BUILD_ARCH} -DUSE_INLINE -D_SMP_ -D_GNU_SOURCE"
+ append-flags "${enable_srq} -DUSE_HEADER_CACHING -DLAZY_MEM_UNREGISTER"
+ append-flags "-DONE_SIDED -D${MVAPICH_HCA_TYPE} ${vcluster}"
+ append-flags "-DMPID_USE_SEQUENCE_NUMBERS -DUSE_MPD_RING"
+
+ use debug && c="${c} --enable-g=all --enable-debuginfo"
+
+ if use threads; then
+ c="${c} --enable-threads=multiple --with-thread-package=pthreads"
+ append-flags "-pthread"
+ else
+ c="${c} --with-thread-package=none"
+ fi
+
+ # enable f90 support for appropriate compilers
+ if use fortran; then
+ case "$(tc-getFC)" in
+ gfortran|ifort|f95)
+ c="${c} --enable-f77 --enable-f90";;
+ g77|f77|f2c)
+ c="${c} --enable-f77 --disable-f90";;
+ esac
+ else
+ c="${c} --disable-f77 --disable-f90"
+ fi
+
+ sed -i \
+ -e 's/ ${exec_prefix}/ ${DESTDIR}${exec_prefix}/' \
+ -e 's/ ${libdir}/ ${DESTDIR}${libdir}/' \
+ ${S/-beta2/}/Makefile.in
+ sed -i '/bindir/s/ ${bindir}/ ${DESTDIR}${bindir}/' ${S/-beta2/}/src/pm/mpd/Makefile.in
+ cd ${S/-beta2/}
+
+ econf ${c}
+}
+
+src_install() {
+ emake DESTDIR="${D}"|| die
+ dodoc CHANGES_MPICH2 COPYRIGHT COPYRIGHT_MVAPICH2 LICENSE.TXT \
+ README* RELEASE_NOTES*
+}
+
+pkg_postinst() {
+ einfo "To allow normal users to use infiniband, it is necessary to"
+ einfo "increase the system limits on locked memory."
+ einfo "You must increase the kernel.shmmax sysctl value, and increase"
+ einfo "the memlock limits in /etc/security/limits.conf. i.e.:"
+ echo
+ einfo "echo 'kernel.shmmax = 512000000' >> /etc/sysctl.conf"
+ einfo "echo 512000000 > /proc/sys/kernel/shmmax"
+ einfo "echo -e '* soft memlock 500000\n* hard memlock 500000' > /etc/security/limits.conf"
+}
diff --git a/sys-cluster/native-mpi/Manifest b/sys-cluster/native-mpi/Manifest
new file mode 100644
index 000000000000..8d8fa53ff2f3
--- /dev/null
+++ b/sys-cluster/native-mpi/Manifest
@@ -0,0 +1,4 @@
+EBUILD native-mpi-0.ebuild 622 SHA256 b51d2ec3279f76641039903ae42eb2dff980c81d2865be7cc293e14bde5edae3 SHA512 9f86900e569535c5e00fdbca9b89269b5d2404b1a88d0c0c30e75ca70950d7d6d73609ac88b7adc986af6e9d8d289264875ec580bb2d051b4785e0e426fc03d0 WHIRLPOOL 5e69ff432b4b1f40ce3cf5728096576a2aaef7ae6a100eae707770ecd3589b9cd8245c2da3095bbad6aa13b2928880d8d73d314cd7d8d341dad3412e7a25f6a3
+MISC ChangeLog 2657 SHA256 0fedfe3a64d08269053a57a4bb8df55a96f1cdbfc65da6d2e11da93cadc3351b SHA512 66c3d768b80b30bbc14bfe8d279b64c074425773df9cda63d1855c9bca7fcd41332a50f8818c62409509b8502b63d5e3055e5972c1dab241a44b0db4703320b5 WHIRLPOOL b4b08541e667ad787851125cb864b3774bd2e19d5ff383325dcdb0628d26be3b74259a2e21f0f0f7cbb7a2bd678c3d7d0fb436010143dbcc2cdfc19516194272
+MISC ChangeLog-2015 474 SHA256 e7dcbf47a47f134d8a5ffb9977d440e1c28dd65d5a7414e6996e0ff6031eed19 SHA512 7f6b53c1b95efcc165b706e0a7621a83758df03bf31f98e0f97a8e491e4d140e21c24dac9f70c5a4f6670d2f479aedb5cfe3a45a96bcb75ab8ca8bf5cb2e1a47 WHIRLPOOL bbdca8f151fb01f1e14f2972156000d6d997c8f893d0db745889357045597867eb12016e346ffb758babfeaee7a790dcf43ef6d414c664d3953193a918735cad
+MISC metadata.xml 364 SHA256 42e9a796dc9709d484f90894843a15f129a83108a729388e182b44a649ff2837 SHA512 14e1b1507a36c5de43477ce2596f8e303ed3f01e28f86b378659fcfd08e6a65cf34b9324ebf0e8205cd81b942b70f5169803155740641d4dfaf6809a63fc369b WHIRLPOOL 6fb4cff1de065cc6f1c859f53debe3f117bfacedce7b13b0a9073c32fefaeac8912f5eb6c780475919f2a54723eca5fb2fdd0b7b1f07495d645d6b27c7c19580
diff --git a/sys-cluster/native-mpi/metadata.xml b/sys-cluster/native-mpi/metadata.xml
new file mode 100644
index 000000000000..326a015ab7c4
--- /dev/null
+++ b/sys-cluster/native-mpi/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/native-mpi/native-mpi-0.ebuild b/sys-cluster/native-mpi/native-mpi-0.ebuild
new file mode 100644
index 000000000000..5b2cab5d1d15
--- /dev/null
+++ b/sys-cluster/native-mpi/native-mpi-0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=3
+
+DESCRIPTION="Use native OS MPI in prefix environment"
+HOMEPAGE="https://prefix.gentoo.org"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+
+src_install() {
+ cat >> "${T}"/99mpi <<- EOF
+ MPI_CC=gcc
+ MPI_CXX=g++
+ MPI_FC=gfortran
+ MPI_F90=gfortran
+ HPMPI_F77=gfortran
+ EOF
+ doenvd "${T}"/99mpi
+}
+
+pkg_postinst() {
+ einfo
+ einfo "Please read and edit ${EPREFIX}/etc/env.d/99mpi"
+ einfo "to add needed values for your os-mpi implentation"
+ einfo
+}
diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
new file mode 100644
index 000000000000..4f7199366e16
--- /dev/null
+++ b/sys-cluster/neutron/Manifest
@@ -0,0 +1,37 @@
+AUX neutron-dhcp-agent.confd 75 SHA256 e36fe3d370ad2b4c82ccf1f4caac60882334d93e3abd7e0e6e268d23cb069d71 SHA512 94cf300c9a9d0275e4fcab4ffdb7e29ca26b73c120d6ff683b48ea0e9c21e46123289522aedd295e4d5d28307133b50084541a90a48db456802d675eed6c2d3e WHIRLPOOL 9e77fe1ef65fa8ef46f8272ddea7213a46e71c6f2884eab20f09eaddc977f5cc202c8529c1a75347132c667e4e2d39d5bdd3ab2c94812c4b1f95f398af75c38c
+AUX neutron-l3-agent.confd 73 SHA256 560997f3e40d90ef885483e4bd02728bf88720378238fc5e6b3b2abb2ba9dd0e SHA512 4a902c5621abc124424bdad97de8959f63f7c846b4c7b9b3ccaab5522ff3e6938acf748df269980484228d4fc13d2f1e3e3670619207e3c88ea5dd5373699e0a WHIRLPOOL 653156dbbff34606fa0694bab622eb40c2ead171b1ad0a0c934285a50f15db4d8927e40ebff8d2ffe64078a8a079d48a2834e68b049c11a68417dc3945374cb8
+AUX neutron-linuxbridge-agent.confd 133 SHA256 6ab45c510081a0cb25a42bbae3e4b326e3332efedf1bd6b95edf0c7f6b5b54c5 SHA512 d87a21d307dbfcdadaf9655b194a9646dad26a3b138bb02977dcb372cf0a7585ca69fa4bd7085e63b4119daa25f5db314ac4d62839a4d7d106a85a795ac3d1d4 WHIRLPOOL f24a3b450ee92678ee170af2f08e444fd968dfe64322fa27922e9156d3a1c4e2ce173dd334fbde739b56831d77f7fc6535eea4ed348ad9b2b4e341017ca432b5
+AUX neutron-metadata-agent.confd 79 SHA256 6888df2f0bf5332d880ceb5a1076816ee605d30b70879d9972b0c9504399edea SHA512 a7a4af56141f1528f7f9ca222f88d400f7a5f6cba392a603121974f6429ecdb925996b1bd6631b589df70464f910deed688e287668ccb1d61fe1d6aa641272a1 WHIRLPOOL e7fc657e6fd0dcf99dad0bc5b7747b1521e22ba1eced8ad163151a0e1ec8c6c9b4eb46ed17ce23264c8903c5aeb2455f9c057ad956fa925d6ad131345cb2d772
+AUX neutron-openvswitch-agent.confd 142 SHA256 5b58c86356f0f851d5a838bddffe9d86da4ac8a54198859067684ccf37d13715 SHA512 277bc5fe0a55bfc5e6f95ddabee76340a7725d156ca1100bc0dbc6245929322e537129628b5cef353cfe689d14330a7c8e0cd9aff894f7d0b093d909c83fdd87 WHIRLPOOL 5079aaaf0cf32337acb8c74d7de99520f2bd738a9af61844fb276688e1af1b1bc039b9988384914bd8df7aadb03fff7b5f13e57f542f23e489f7660f1afc8519
+AUX neutron-server.confd 70 SHA256 40d09a699fc3bced40c5a9dc7394a76c40c245b579fc270909966e11485564d7 SHA512 79f1a40486c37b2c3486b4ef015864f6b20ee89b05d788ce6ade8af934e2c160da9e0495d22e941a717072c1d8ca3b77963a3ec06f3ec25a3f8af8b24a4e40a0 WHIRLPOOL 59f9ac13d58fd76014090988c642d4cb244d51726fb5733cc30e7fbba5c22226ef955f8e8021dad04ab457df0fe5879d13af8c40a6913d03c15bffb48cf4a5ac
+AUX neutron.initd 679 SHA256 9dde94306c7681110eab64122dae7f63ce370d09c724557e9e9e1c7d40371774 SHA512 7c233d3ca96a90201a97772b67e98d50e7dcacc079bee9d7eb62e3900b54d515eb4615bea098148ec5bd02ecab0818dad80f2dcbd9867760b31cb74325218493 WHIRLPOOL 7c0f36b05a6ab346da2941695b1a7fcf8aedd351f3bc380c88b71c5f498582250b55c243dad0e486f6ef88b185c169e2a141172ecb39e5e7b1554c198080aedb
+AUX neutron.initd-2 530 SHA256 ae78b7651dd97277c928d478ab809434d0e34402ed3aa90a65d296fd8e7fa5b1 SHA512 56331cbac87b14180e738cb2d3881682344a59f698b8fa67428e058693430363418e31707484786b4eb8053904c061d278d06a56c03cc77d8f6a0372c892d5a7 WHIRLPOOL 192bddf28a05290356a38907e5b3cb3406b8937d3876090d52650bac625101a324bb10af6f81ee379783ed5ed9c6dded76362d36a90eae3aa7bd7ef77b2b8cd4
+AUX neutron.sudoersd 117 SHA256 b40ea04a95deedbb66fe504df61b55905cbd746e5ba26321c01cd25b5cc9dcbe SHA512 143f8a1faa7650bc66b2566d0bd62f71eb743231b9efc4c7df265e53d664418b23182e3f271b86845ed76c537b7f60157e87af59413cf659379f367924d14366 WHIRLPOOL bb0e35d7b7471fab424f86f181601bc87d4bba98f4fbc282cc6302a05128992613097afe1fea159e9c718cd688a03c280b53d72bfe47fc91bd24967a4b4618da
+DIST neutron-10.0.3.tar.gz 3125880 SHA256 7f4c455d54647f5f32871b61acac0d66de32dd1e7a589bad04b266560d0ba7ef SHA512 615c5ece84d61c1e3878566cc538af15f32d92a3a3def0bfe627e804c44c9d64cb1160f7adf4f136596e687348036a795035c773213f7d57e79422fb149f560e WHIRLPOOL 1c249112c5f850b6244db7264f2295106ef2b8b68cc472eafe19e407f36c6afcfd8024ac160d9b2e7da85a60c86a88f70bd385763bdd8c22fc276000151ff46c
+DIST neutron-10.0.4.tar.gz 3124422 SHA256 1e7c999045c8d5c1e3dcb6aca05984f880bc58935682f6b8146239739a3a121a SHA512 f85949ac08728b6338cf58abfaf2c9e67882d49fefa16104580c73aaea3f0634602712583e88248f261fd3b0c8690172e4a72f550bd159cacf732440274cc844 WHIRLPOOL 6694f8372e8a2af3ff2bcc766523c11837515ebb85548160779d4cc4ea21ee7a68f1bc0636efb56f2f83764521625a1f238b59999df21849c36826c8186b03e4
+DIST neutron-11.0.1.tar.gz 10472277 SHA256 a6ea7a9e57c507bbcffea9373383543f976289c692c9aafc458a530e51db10f0 SHA512 ab353e6ae09e32c9b520a918624a661c5635f2de4df05f78f3e9c6102258ab12ee5c657f89732d89ef182833f80cb70454418a5556cc7738bd7f86b995762b37 WHIRLPOOL cb74b2feaa659f980e619c1f0fd95b5d40ddc1a581a0cc0b6b35fb2d74ec6ff93b2fb675c7b5be4ea59769c878e777ee920a6943c9612b32219a4fc619d5f2eb
+DIST neutron-9.4.1.tar.gz 3060881 SHA256 c8a4c5a9f696b3d4455ef4b823d47d2cccfdfff7a160981e4d26c61a9cf41d0a SHA512 94a374a2f03ab9d586d6be6a612aabcc9cb71565d5ec2415442cfdb09463811418b04d1f159f4b5a286798020ae3e83196bb0c9db3f27c43e5abedfe66ecdb33 WHIRLPOOL db09caef44b969fec9b80b1898cab4293bb62d6188938aa943ccd00bc736a64e5b8f85f4a07f12de2866b4b76966e55d01b991f0db82d648b73fc8710095659d
+DIST neutron-configs-10.0.3.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
+DIST neutron-configs-10.0.4.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
+DIST neutron-configs-11.0.1.tar.gz 25030 SHA256 ad2a57865a13ccf62b852c2d31336e9f0aab0f979caaaa6227856c59a3ef86ac SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a WHIRLPOOL 30a577afb2d48ee5d5c13666dc23843bee1aadcd3369d090ffa150bf7ea60ae97bfac0ecc39aa09d29106f9117aab477632c520b146db4c9a78ec021c959851d
+DIST neutron-configs-2016.2.9999.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601
+DIST neutron-configs-2017.1.9999.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
+DIST neutron-configs-2017.2.9999.tar.gz 25030 SHA256 ad2a57865a13ccf62b852c2d31336e9f0aab0f979caaaa6227856c59a3ef86ac SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a WHIRLPOOL 30a577afb2d48ee5d5c13666dc23843bee1aadcd3369d090ffa150bf7ea60ae97bfac0ecc39aa09d29106f9117aab477632c520b146db4c9a78ec021c959851d
+DIST neutron-configs-9.4.1.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601
+DIST neutron-ml2-plugins-10.0.3.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
+DIST neutron-ml2-plugins-10.0.4.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
+DIST neutron-ml2-plugins-11.0.1.tar.gz 6885 SHA256 bcd177baaed1c4438f8852607a7a660aa5d6181c18b42dd52a489a229730b3a5 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd WHIRLPOOL a77d3c00d63f21e96d2996ea59af326555499455f63a63d517a2580435d9ec822f1e74d0cb747c3bc04edeb183d65cc918f4e3336b2d6ea5db7ecd72d6a014e4
+DIST neutron-ml2-plugins-2016.2.9999.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671
+DIST neutron-ml2-plugins-2017.1.9999.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
+DIST neutron-ml2-plugins-2017.2.9999.tar.gz 6885 SHA256 bcd177baaed1c4438f8852607a7a660aa5d6181c18b42dd52a489a229730b3a5 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd WHIRLPOOL a77d3c00d63f21e96d2996ea59af326555499455f63a63d517a2580435d9ec822f1e74d0cb747c3bc04edeb183d65cc918f4e3336b2d6ea5db7ecd72d6a014e4
+DIST neutron-ml2-plugins-9.4.1.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671
+EBUILD neutron-10.0.3.ebuild 8645 SHA256 ba205bea9d609683143120d0918552df1acf1e163ce463f86e36388ebf772597 SHA512 8069f0a69824c5dfcf127d0e058dd0c0e5cff5a5ae54b3bf82e87bfc55e283379f3e38a095edce156f6533ae2547b3f7a54c1fe09fd44c10d5c28847d73ad0bc WHIRLPOOL 6142edffbe6733b9b04dcee547cf893823491fb7d858ac6c70495983129232f1378e94b656c0e10fc4c0a9516a01951d06b053957e790f7f5309ff4e76fce285
+EBUILD neutron-10.0.4.ebuild 8647 SHA256 8bef9b36cdb64e41f01d4f70ea9d51195f3a06923d4e8e695f22e39ed31e8a55 SHA512 2503c0d4bd453e0aa34abf373e3b3cec4ac68144d744a834656bbfc116ea081ab48171a5595955dd1072ff3e140905e918f2c69972a0d585d2dbe615830908ef WHIRLPOOL 90206aac2b18b50c0fd475cff66dc93587a24602ddfea6addcd125b39791020e5af28b0f1ee7b51d1c890bfc2f583157a7e53aa552bbdb5aaacbd8b475e1262b
+EBUILD neutron-11.0.1.ebuild 9547 SHA256 b29ed2fdae67682c0a9b4771b0cf3152f22dd9a1080fed4b9fa149619538e36c SHA512 097ba6eb1aa4a3a3748978f32ccbfa496855eeb9ce34931061380d52210225687952713ceb5940e1a0d4a57213ff815209dc58b7ffba21ea986a6adc7c4c36f0 WHIRLPOOL 640d247edff40330fbf063390dbb9d59449b8e4a5fa89ef1a2f5df40c0f546b8d4d170e1e02cc40e90dce5955541b0bdc63a10d596020a6d5c5804ee1e047b0b
+EBUILD neutron-2016.2.9999.ebuild 8606 SHA256 796e2dc0996d2b9a9c009c1d96d4e01496964742df67a8888e55e9eea73baf12 SHA512 fded1fb3ee23382522b2dbf11c8177b72fd1379dd56e3b071c83c457857443369eee9a9bef5fd5d8067b74b89d84b768a541cd2a35e80d8f9207a9b90c1fc7db WHIRLPOOL c05c9aa0adc807e54b36e3f61acf377b0707ddaa6685485adc764fcd8d8a0a5e80a434b86b78a6a125bcf2e807a4f6ed13d236ba816b57a16d38ee3b3719c5de
+EBUILD neutron-2017.1.9999.ebuild 8670 SHA256 e9d64cad0e05c54fc38d555bbf66bfa5c3390a88b13a104710ed74ebb21030de SHA512 26022752732fe8171b1e341d36f04b8eb73b3ad64b798a5002856d8d68672d88766ae0a19e66dd0af9122e3a12d0569e3b19b5646495fc45557ffa04d0ddf62f WHIRLPOOL 2ac706a5956e535c910bf563281d8b65eec0ceeff86d6c101d67b7e93fcf370b0db741efee2f190dcc0daf2dac2e015f5df3b84c7d3e44cd6b990dd93a6dc4de
+EBUILD neutron-2017.2.9999.ebuild 9571 SHA256 d7e656eac8dbb12c23b766c162c2de57bb5b9c4fc5b74c9f56cb17f4d4bc36b8 SHA512 4769f3f31fc4e9b936a556272dc59614b8f50e3a077afa564472a65ee96baba352ab2dd641537331bdb30349c0114cdc1c0984a1cf809290950eab576dc7ef58 WHIRLPOOL e22263dd546d00ebce12a921ca1bfae564d5cfcb05aa268056013ef88967d05a04310719cd68a6e549b59a73993846e2dd88d913f89b12ed60aa158c0b5e369e
+EBUILD neutron-9.4.1.ebuild 8442 SHA256 ecd24101e791d2bb0ce9029e1dc611c14b2bb78f832a5fed6d76d376bebbdd10 SHA512 a833c2f91e88850c9d260cce39b4ecb8973206e86e664fc6cb326280978463ec44b5a60835a38e163a38127295a3c22c5ce5221ebd69f16877c366f6e7c08081 WHIRLPOOL ee09f5eecfed85caf36749b75b50f61a822a8a1dbd99a6c4c302391b8a29b835dd58d1c95545ae28b4fbb1b428176b493a028a33d4ba8baf638a53273d32ad22
+MISC ChangeLog 15147 SHA256 59b54d19ce4b63d1f481c78a60a859ba151022de06846133e428474b177832c9 SHA512 57d48b157628ddc731112f74ce4e9404ef250b068581c883ffdd090150ab80cd11be5771f2fb27c5b5d949df4d821a7dfaf91796902e2533e72f49819c60423c WHIRLPOOL 2c46895d78590674ede2f8aca96c3605e8de6cc145fec9b45caa56eaf5385189debdb318ee2b8fb7f80d4ffad9a13d161b100896dea9fb96138bb57a31eadcd7
+MISC ChangeLog-2015 18698 SHA256 4a6446fb01cf1d8399a4ce110d6eb6ab16544e5620f9fdc5971310a096366f63 SHA512 ba2d79f13f48cb97014e803c285e236bf51121b759109485d60cbb5d1abda48edb041a1040a9c291f3bc57ee116b44baba3b861c26a8c17549fcb986ba790f38 WHIRLPOOL a1edadb7c8edc01c01a1c23b01a37998bf2551988b6f08d602ceda8eb6b1d371f644a28d734504fbead7af94e90665fd4c59eeb3fd1b61c599abfee1fec1e3b1
+MISC metadata.xml 1563 SHA256 6c4260c21c306a8f22a061e8b75aadd074f5fe66e808b954d41f007243b28421 SHA512 137f360c6ad2e71ff87105a260b4fdca88264ad0bcd0be3b4f8f5f111002f1d5c47d1423f443f24fa3d11b6f3f0fa7891999ddea3b74c33a29c9cfdcc8316ac6 WHIRLPOOL b4861a0f2a410404653209d2c4a1a2450121b39502da173999c3838a4347fadcbcf3f48beeba3c274710781992e9d94fdebfa07f8e63341535de3fe5e4f58a13
diff --git a/sys-cluster/neutron/files/neutron-dhcp-agent.confd b/sys-cluster/neutron/files/neutron-dhcp-agent.confd
new file mode 100644
index 000000000000..75ddba5ebb7a
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-dhcp-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/dhcp_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-l3-agent.confd b/sys-cluster/neutron/files/neutron-l3-agent.confd
new file mode 100644
index 000000000000..990278682fbd
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-l3-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/l3_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd
new file mode 100644
index 000000000000..9a2d52c70f8a
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/ml2/linuxbridge_agent.ini")
diff --git a/sys-cluster/neutron/files/neutron-metadata-agent.confd b/sys-cluster/neutron/files/neutron-metadata-agent.confd
new file mode 100644
index 000000000000..6a78b7abe3c9
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-metadata-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/metadata_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-openvswitch-agent.confd b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd
new file mode 100644
index 000000000000..30b10b69bbfb
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini")
diff --git a/sys-cluster/neutron/files/neutron-server.confd b/sys-cluster/neutron/files/neutron-server.confd
new file mode 100644
index 000000000000..9b6b2e63f8bc
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-server.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugin.ini")
diff --git a/sys-cluster/neutron/files/neutron.initd b/sys-cluster/neutron/files/neutron.initd
new file mode 100644
index 000000000000..803ccb58f70e
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/"${SVCNAME}"
+command_background=yes
+pidfile=/var/run/neutron/"${SVCNAME}".pid
+required_files=(${NEUTRON_CONFS[@]:-/etc/neutron/neutron.conf})
+command_args="${required_files[@]/#/--config-file } --log-file /var/log/neutron/${SVCNAME#*-}.log"
+start_stop_daemon_args="--quiet --user ${NEUTRON_USER:-neutron}"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath --directory --owner "${NEUTRON_USER:-neutron}":"${NEUTRON_GROUP:-neutron}" --mode 0755 "${NEUTRON_RUN:-/var/run/neutron}"
+}
diff --git a/sys-cluster/neutron/files/neutron.initd-2 b/sys-cluster/neutron/files/neutron.initd-2
new file mode 100644
index 000000000000..7a7dad6e6865
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.initd-2
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/"${SVCNAME}"
+command_background=yes
+command_user="${NEUTRON_USER:-neutron}"
+pidfile=/run/"${SVCNAME}".pid
+required_files=(${NEUTRON_CONFS[@]:-/etc/neutron/neutron.conf})
+command_args="${required_files[@]/#/--config-file } --log-file ${NEUTRON_LOGDIR:-/var/log/neutron}/${SVCNAME#*-}.log"
+retry="SIGTERM/15"
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/neutron/files/neutron.sudoersd b/sys-cluster/neutron/files/neutron.sudoersd
new file mode 100644
index 000000000000..0b7002374538
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.sudoersd
@@ -0,0 +1,4 @@
+Defaults:neutron !requiretty
+
+neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf *
+
diff --git a/sys-cluster/neutron/metadata.xml b/sys-cluster/neutron/metadata.xml
new file mode 100644
index 000000000000..b0230af6ee3a
--- /dev/null
+++ b/sys-cluster/neutron/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Just like OpenStack Nova provides an API to dynamically request and
+ configure virtual servers, Neutron provides an API to dynamically request
+ and configure virtual networks. These networks connect "interfaces" from
+ other OpenStack services (e.g., vNICs from Nova VMs). The Neutron API
+ supports extensions to provide advanced network capabilities
+ (e.g., QoS, ACLs, network monitoring, etc).
+ </longdescription>
+ <use>
+ <flag name="compute-only">Only install things needed on compute hosts</flag>
+ <flag name="dhcp">Installs the initscripts for the neutron dhcp service</flag>
+ <flag name="l3">Installs the initscripts for the neutron l3 agent service</flag>
+ <flag name="metadata">Installs the initscripts for the neutron metadata agent service</flag>
+ <flag name="openvswitch">Installs the initscripts for the neutron openvswitch agent service</flag>
+ <flag name="linuxbridge">Installs the initscripts for the neutron linuxbridge agent service</flag>
+ <flag name="server">Installs the initscripts for the neutron server service</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">neutron</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/neutron/neutron-10.0.3.ebuild b/sys-cluster/neutron/neutron-10.0.3.ebuild
new file mode 100644
index 000000000000..482826b624b0
--- /dev/null
+++ b/sys-cluster/neutron/neutron-10.0.3.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ryu-4.9[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-10.0.4.ebuild b/sys-cluster/neutron/neutron-10.0.4.ebuild
new file mode 100644
index 000000000000..3d7f813965c4
--- /dev/null
+++ b/sys-cluster/neutron/neutron-10.0.4.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ryu-4.9[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-11.0.1.ebuild b/sys-cluster/neutron/neutron-11.0.1.ebuild
new file mode 100644
index 000000000000..575c14d4433d
--- /dev/null
+++ b/sys-cluster/neutron/neutron-11.0.1.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ryu-4.14[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ net-proxy/haproxy
+ openvswitch? ( <=net-misc/openvswitch-2.8.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-2016.2.9999.ebuild b/sys-cluster/neutron/neutron-2016.2.9999.ebuild
new file mode 100644
index 000000000000..c496dc6a14b3
--- /dev/null
+++ b/sys-cluster/neutron/neutron-2016.2.9999.ebuild
@@ -0,0 +1,237 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 git-r3 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+EGIT_BRANCH="stable/newton"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !=dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ryu-3.30[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.1[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.2[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.2.1[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.4[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-2017.1.9999.ebuild b/sys-cluster/neutron/neutron-2017.1.9999.ebuild
new file mode 100644
index 000000000000..1872be64f638
--- /dev/null
+++ b/sys-cluster/neutron/neutron-2017.1.9999.ebuild
@@ -0,0 +1,238 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 git-r3 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+EGIT_BRANCH="stable/ocata"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ryu-4.9[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-2017.2.9999.ebuild b/sys-cluster/neutron/neutron-2017.2.9999.ebuild
new file mode 100644
index 000000000000..d0129f9df24d
--- /dev/null
+++ b/sys-cluster/neutron/neutron-2017.2.9999.ebuild
@@ -0,0 +1,256 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 git-r3 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+EGIT_BRANCH="stable/pike"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/ryu-4.14[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.4.17[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ net-proxy/haproxy
+ openvswitch? ( <=net-misc/openvswitch-2.8.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd-2" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insopts -m 0644
+ insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-9.4.1.ebuild b/sys-cluster/neutron/neutron-9.4.1.ebuild
new file mode 100644
index 000000000000..a845ee71fe30
--- /dev/null
+++ b/sys-cluster/neutron/neutron-9.4.1.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
+
+inherit distutils-r1 linux-info user
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !=dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ryu-3.30[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.1[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.2[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.2.1[${PYTHON_USEDEP}]
+ !~dev-python/ryu-4.4[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
+ !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+ virtual/python-singledispatch[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
+ NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup neutron
+ enewuser neutron -1 -1 /var/lib/neutron neutron
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ insopts -m 0644
+ insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
+ doins -r "neutron/db/migration/alembic_migrations/versions"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
new file mode 100644
index 000000000000..a0f8350fe938
--- /dev/null
+++ b/sys-cluster/nova/Manifest
@@ -0,0 +1,23 @@
+AUX nova-compute.conf 144 SHA256 977cf4892d44f8957631ce56b5bf8a2457882724c724de1dbbf76fd35cbaa7bd SHA512 88d7207f4d7008e909c276f153e2abd66c2fb34fad85c90fe0bcc65a10f9c9c619ac315aee25e486e85896a2dfdc97eda4c9d2c78bd8b4117eaac7d8ebfb0270 WHIRLPOOL 169fe624b64ae63ae82df23c31d3e0c2f677445f432160a6046ae134febff07282db5235fb3c75816536e907fa4464e9e0cccdb6edb9492ba9296ca178a3c9b8
+AUX nova-sudoers 78 SHA256 9e88c2843fb74cc46802c0b103067ad12915ec50335d05e546a5dba76acb4a76 SHA512 22c0606c6335b2d1a03bd18a319a54f16f76f091b2e8416dbba05ce7c15890beff7f32f0322eb5ba3f2a5c750436cacbe0cee189b390b878e3f0c0df219ef984 WHIRLPOOL bc42ae1d12e9f900b263fd5c3d0f59062f46fbec1ff97c0bceb234082bea5943eb64795b4f5e102b8e2749c6868163e5924467088cad42df09345e3406e5f83c
+AUX nova.initd 944 SHA256 16903be9d8350426b2c8c716ff16476afdc9c95cff98be10bb750889ab421c7c SHA512 c71b3af496c3128ed4eef9c459a8a488209a2bd28a7e0439b92505087eacbdcb8546e9bc4a29fd9041d6626b0552ec33856611ce2bccf90b5a4102a657750b32 WHIRLPOOL 601a1a218cf55920b1d9c273bd2e75c50aec4b823f1d60475f8811f9ad1972d93492b2d1ae748c493b9c6d274948cf5f57afa1b3b24b4bbe5500f43ba5dab199
+AUX nova.initd-2 745 SHA256 624181286431ddba997403ebd6ce3b794eff65ef2b73da450eea1c1de927580b SHA512 859c2a55c7a91da4a83a8aad5396c4b692e91c170c70b7705620f90da461b78a9cae6ff1c734bee3b20d245f502c475847e0ec1525cca167693303f326e6e42c WHIRLPOOL c4b6cb73abcf100dd6e3fa2bd066e0327e936516221c2e95ad379653f1ff5ec3c768312ed7e83b5e4a14bb0d313cd301e964c9cb75ab479ba1029497a16e2160
+AUX openstack-scsi-disk.rules 134 SHA256 929cfecc3eae1142ac45923f1de06876af9db7fb41b21d25f4d258d9f3606867 SHA512 6c3734d0b9ce9de887e15b1ddd5f5486dd1d0a55f463f9824ef067d3fe64a93d08ad2ef2b9d288f0dd42d570a5061e7a06976f7223df44b98bd321b73f9d036b WHIRLPOOL fede94215b722c414076f42b07d95036971edce4222ffd04b6be677e51fbea0b682914078f3613a2dd3bf8868ff8170b71e128baed4dbdf69fc08880f22f7ad3
+AUX scsi-openscsi-link.sh 2777 SHA256 4ea97b8b7121092245ae108faf488beb2b11113407eb2b478ff8ee79a87b8290 SHA512 3e7f6fc872f27b6a4d6c991346bd8eafcbc8f2b74439f1c77e93362e57fa1010ff002813cf21bf12d0550bfc165f79c70430862cd4ed5aaa15056777baf34409 WHIRLPOOL 636fff1abe0e8934dde986e9c8f51bc4a4284d57db9efe4b0090479df7516817bbfdc3e3da2fd35d19c80b095bddbcc2f31b1cd54be8d204a62df6da973279f0
+DIST newton-nova.conf.sample 44496 SHA256 a7d9b95e67b77d0335edac760e037ad117d8c9f18c4792939ba8bb02739eae58 SHA512 ac917f0fed24c6705cbe43b4e1af31138bb656ea06f0cbe66d5b820677a47ca854abf6ca7fdf76a9a7f3a5afff758dac294ffd778d1bda82bb9f95c48d103d6e WHIRLPOOL 3c54dc8e4721f4289a8f64e9ac215c4b2e4b6afd2904fea4080659d3c292dcd942535d998b463efa4dd96a6090afb9830dfa6b9b3f2062439a8d03ec09356adc
+DIST nova-14.0.8.tar.gz 5608059 SHA256 9c38a74965b4543ddfb2f0baaa2e73673037d47fed86b1a2fc48a09878b6f2ac SHA512 3d8177a00ecef7aa152ecd87d376c7b8d1e5a877b0831e220ba204b022425c688515cfa72a21d4604418b20bd670f3fc263f7040da856f9598682e3d627c8abd WHIRLPOOL 7f4e0ca49809ed2cb0d8bd064c71cd1336b58525e55a7b5d657dabde5bd75af2fc4c0e90bbdde15fddf895fff1a191deaa655a788d87f58bb6768b42a404b559
+DIST nova-15.0.7.tar.gz 5763951 SHA256 75d2f307301396d423e81e817b4c087da08c9db7ab2340fcef7618fc20379fb9 SHA512 3e4b02bebdc8d0c002a09d757a2f1e96e9b7a5c16c6bd9108f0564c9be23da8ae8f90d81924050f01be691b4800c5c0ff2f5b3400fa389964899b1faa509293c WHIRLPOOL 6c8c49509bbee938886c7d2b900cf113ca86105c606c46976f3528afdd215f9ebe34026103c8e36c065ce33efe05a96db4b618be6ab94d0f3c9dceaff0ef10ab
+DIST nova-16.0.1.tar.gz 10896414 SHA256 e657675b0ca62fbbe66808cccbb7db84bdfd007b82f9579ced98c13c215b18d6 SHA512 bdeb3254e9ad6b95e7f8c07093192fb511e2a278790afd6336093f817288cd6cddee9c1a3d81b1ea82bddd4d8caf60234183f995f35bad631edaf6b9c0fe2b79 WHIRLPOOL 59750f9b4b849f78156db15c8e692ee0cdb998b786acc7466dd49cae24d6c1d869913b5b7533bba2d7993586f41e9969e10631de57593454926b50adf89a0328
+DIST nova.conf.sample-15.0.7 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125
+DIST nova.conf.sample-16.0.1 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
+DIST nova.conf.sample-2017.1.9999 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125
+DIST nova.conf.sample-2017.2.9999 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
+EBUILD nova-14.0.8.ebuild 8523 SHA256 df8976e04da389cca0975450eb4b8ac76f973a4b60d03c4e1ce803b0638f20b6 SHA512 b24f3061d8f9a5981646d4a088d7b6b0d18db12371fa89ec7f329ecdb2074afdc3c96ab51c81394b50db57d2b1c453520aa7dab7b5def1b8908c8e2a2f8b244a WHIRLPOOL 233842f35753f9a4531e65aff6e34976c0ffdb5abd1ed07b2ed5f4494ea0023fe7de82565dc3c008f123474fd8baf0b8391c36f2d85815454a6ba4c941838743
+EBUILD nova-15.0.7.ebuild 8591 SHA256 12a90783f0304604efa69aacda39728b3f37ada4aedfaa57782c392d85b1851f SHA512 89db87c533edf932796f688fea8cac0f2db5e0fd5a950dd26e6560e7b69231379949ff537d9116ae75f57cdbaec6306baaee35d7610284484d08ca33134c961f WHIRLPOOL 1c09faff69e257366d4ef57b47c5772130afe61185c0e9dad20425d2e6b9de7756356397c1e016c21fd6afa922d4883b563d02bc7f6734167bbe8f19ecb642b1
+EBUILD nova-16.0.1.ebuild 9551 SHA256 3f0655394e915f29142e75f04b784b2902cc72a27277cd83504529712113bfc3 SHA512 f4c4e83282dd32be8bf9ebeb89489e456e8ca7a647d5c1d9689556d8238d64d6f5b654be9c9839b17c6708efce9888cb28da98da2e4c179545ea4e3fbfe6d368 WHIRLPOOL 86497228a1f38fec87ff319d3abf9328256ec64993b5c2c0d2e14747179e5d3b7daff45c987850c6fa8c7172873e0ace6893dc3a245013de7e96622522b12b33
+EBUILD nova-2016.2.9999.ebuild 8053 SHA256 f583834a52e3aff76362cc0011c7ad2c5869eb88eaeea00ef52b58669eb128c5 SHA512 12944e02b17616d8f52dbcf4d00dfca9274afde45d6bc41af43bef710c1c048b63d5efe09948e0590262d02904e718778ee0553cbbf54d8688d900a3fb96b6c7 WHIRLPOOL a50d4b880246e115df82123f98e72764101f6b548ee095ca708abbaa05aa99f5de46a69df2e4ad696a2491be6baa376c7125b7aa79117e581eb7b2c728247cb7
+EBUILD nova-2017.1.9999.ebuild 8563 SHA256 c941662be7134e1adda0b0517bfe049b750b4b5fb2ec0704293cca7dd607aa4f SHA512 cea6cfbaafb3c5c0977cabbbc790da256daf851459079aa73c9d4ee0a9e81153051b2bd0cf62c18eeaee4be1c268a9cf35f671b839cc6a97316a8df80679f94a WHIRLPOOL 5eae713ffe93790ba7263573c05f5e7995bfe666d9c82336979baf60fe64510f9ab52abe4bf239820b2d4cf4fa29a4893192f58bade106028b6975621a6310df
+EBUILD nova-2017.2.9999.ebuild 9572 SHA256 d0c9b13a305fea4fa388c7984929fe411e8b9f02e87a7bf90e485190e7399594 SHA512 51f966525ad1f5d7b5b611296bbccd2bf81ec58b7a2021e48cee28342f451c19a95158b21aaa4c4f1a03c5e7d7f104e997389905737d4108fb3c666e0566a86d WHIRLPOOL ad7ba84108e74a29e01744470b7a9a0b107d861424ed9152705b49330faf9ec8472b86b347e087da6e1ed2e535cfe0d90b23bf8eaf4cd904eb2b3f9441870679
+MISC ChangeLog 19879 SHA256 6d2732fdce1e774100e6fc0ea79645c59c6e563dc558b4f3a3d83a252a620408 SHA512 aed39b76013532d72711f5925b4f3ae888fddc06bad6bb87c0db553f81bf01b23d587c8287911f70a81c016f28cc826d2d9630173d0ba5a8326eb3902cbff149 WHIRLPOOL 2d89dc73f49a207a0073147be545947f571890b6e34a5f4c6b85a01f034ac12c82f391b2bb06b2d0aa81bc5a59e16b49985a27bd8fa76f6f905c5e81d99e6844
+MISC ChangeLog-2015 22304 SHA256 e33e52b8d5741a0dc8d9ea31b2b46f4120b7dab5a6b678cfe1b8ff7e40bb4809 SHA512 6400c0bbc4b6a7064afa6f40b08057af88bd3710bd16391639a26bb2d9e3a04c283bada292afabd735a7c4a18163b193b4660013b26a77d0a93ac860594cd2b9 WHIRLPOOL 42237f4fd4b4f7ab040a9c225c3c54d3c2960c827805ed6f1ae5f06b3e07299a2d5423e033992e8b60d89fe13726b9bf2028f8847736afd083193676427a104c
+MISC metadata.xml 1172 SHA256 34de0236a734011dcc8dd62567ebdec29615c61f9002104925b8d498c2e5f94c SHA512 bb506fa680b064c3d6a48710cac11efedc9e8a340603e234bf5c4c48aaab773e4527d7a8fc66ae36ec894230a1d02a5be995e521d222914f652e03b6f72642e4 WHIRLPOOL 13f62c4c7a3d761627911849f899afb2e65e6a087c0dc4f108159eb94df8c07f02d51a501894a3d445cdba3b6622c5140f423756369d76cff2991bcfe4abeb33
diff --git a/sys-cluster/nova/files/nova-compute.conf b/sys-cluster/nova/files/nova-compute.conf
new file mode 100644
index 000000000000..59c7aea2cd24
--- /dev/null
+++ b/sys-cluster/nova/files/nova-compute.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+# mkisofs_cmd is needed as the default provider for the binary was remvoed as
+# a package from Gentoo.
+mkisofs_cmd = /usr/bin/mkisofs
diff --git a/sys-cluster/nova/files/nova-sudoers b/sys-cluster/nova/files/nova-sudoers
new file mode 100644
index 000000000000..f15b3285b7d4
--- /dev/null
+++ b/sys-cluster/nova/files/nova-sudoers
@@ -0,0 +1,3 @@
+Defaults:nova !requiretty
+
+nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap
diff --git a/sys-cluster/nova/files/nova.initd b/sys-cluster/nova/files/nova.initd
new file mode 100644
index 000000000000..7d679ed95fc9
--- /dev/null
+++ b/sys-cluster/nova/files/nova.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command="/usr/bin/${SVCNAME} -- --config-file /etc/nova/nova.conf"
+pidfile=/var/run/nova/${SVCNAME}.pid
+required_files=/etc/nova/nova.conf
+start_stop_daemon_args="--quiet --user ${NOVA_USER:-nova}"
+if [ "$SVCNAME" == nova-compute ]; then
+ required_files="${required_files} /etc/nova/nova-compute.conf"
+ command="${command} --config-file /etc/nova/nova-compute.conf"
+fi
+
+
+depend() {
+ use net
+}
+
+start_pre() {
+ checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/run/nova}
+ checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/lock/nova}
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon -S -b -m -p ${pidfile} -q -u ${NOVA_USER:-nova} -x ${command}
+ eend $?
+}
diff --git a/sys-cluster/nova/files/nova.initd-2 b/sys-cluster/nova/files/nova.initd-2
new file mode 100644
index 000000000000..cb82c947ddfe
--- /dev/null
+++ b/sys-cluster/nova/files/nova.initd-2
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command="/usr/bin/${SVCNAME}"
+command_args="--config-file /etc/nova/nova.conf"
+pidfile=/run/${SVCNAME}.pid
+command_background=true
+required_files=/etc/nova/nova.conf
+if [ "$SVCNAME" == nova-compute ]; then
+ required_files="${required_files} /etc/nova/nova-compute.conf"
+ command_args="${command_args} --config-file /etc/nova/nova-compute.conf"
+fi
+start_stop_daemon_args="-u ${NOVA_USER:-nova}"
+retry="SIGTERM/15"
+
+depend() {
+ use net
+}
+
+start_pre() {
+ checkpath --directory --owner ${NOVA_USER:-nova}:${NOVA_GROUP:-nova} --mode 0775 ${NOVA_RUN:-/var/lock/nova}
+}
diff --git a/sys-cluster/nova/files/openstack-scsi-disk.rules b/sys-cluster/nova/files/openstack-scsi-disk.rules
new file mode 100644
index 000000000000..ee44d5066291
--- /dev/null
+++ b/sys-cluster/nova/files/openstack-scsi-disk.rules
@@ -0,0 +1,2 @@
+KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b $id", SYMLINK+="disk/by-path/%c"
+
diff --git a/sys-cluster/nova/files/scsi-openscsi-link.sh b/sys-cluster/nova/files/scsi-openscsi-link.sh
new file mode 100644
index 000000000000..197eac4438e5
--- /dev/null
+++ b/sys-cluster/nova/files/scsi-openscsi-link.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+# Author: Geaaru
+# Date: October 23, 2014
+# Version: 0.1.0
+# License: GPL 2.0
+
+# Description: Script for udev symlink creation of
+# scsi disk attached and visible under
+# /dev/disk/by-path/ with name convention
+# used in openstack LVM iscsi driver.
+#
+# Requirements: lsscsi (for retrieve LUN ID, I don't know how can i do that from udev/iscsiadm)
+
+# Rules for UDEV must in this format:
+# KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b",SYMLINK+="disk/by-path/%c"
+
+# NOTE: it seems that input params %b or others are not passed to script.
+# I try to retrieve it from environment variables.
+
+if [[ -z "$DEVTYPE" || -z "$ID_BUS" ]] ; then
+ exit 1
+fi
+
+echo "--------------------" >> /tmp/udev.log
+echo "ENV => `env`" >> /tmp/udev.log
+echo "--------------------" >> /tmp/udev.log
+
+if [[ $DEVTYPE != "disk" || $ID_BUS != "scsi" ]]; then
+ echo "EXIT 1" >> /tmp/udev.log
+ exit 1
+fi
+
+# ID_SCSI variable what identify ?
+
+HOST=`echo "$DEVPATH" | awk '{ split($0, word, "/"); print substr(word[4], 5); }'`
+
+
+
+# Bins
+iscsiadm=/usr/sbin/iscsiadm
+lsscsi=/usr/bin/lsscsi
+
+[ -e /sys/class/iscsi_host ] || exit 1
+
+# Create file path like this:
+# /sys/class/iscsi_host/host11/device/session3/iscsi_session/session3/targetname
+file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/session*/targetname"
+
+target_iqn=$(cat ${file})
+
+if [ -z "${target_iqn}" ] ; then
+ echo "EXIT 2" >> /tmp/udev.log
+ exit 1
+fi
+
+# Retrieve target_port because I can't retrieve it with iscsi_id
+# /lib/udev/scsi_id -g -x /dev/sdg
+# ID_SCSI=1
+# ID_VENDOR=IET
+# ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20
+# ID_MODEL=VIRTUAL-DISK
+# ID_MODEL_ENC=VIRTUAL-DISK
+# ID_REVISION=0001
+# ID_TYPE=disk
+# ID_SERIAL=1IET_00010001
+# ID_SERIAL_SHORT=IET_00010001
+# ID_SCSI_SERIAL= beaf11a
+
+# iscsiadm -m node | grep --colour=none iqn.2014-09.org.openstack:vol-cinder-f48f0a69-e871-4c47-9cd3-3ccb8c811363 | cut -d',' -f 1
+
+tp_ispresent=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | wc -l)
+if [ x$tp_ispresent = x0 ] ; then
+ # Target is not present. Ignore it.
+ echo "EXIT 3" >> /tmp/udev.log
+ exit 1
+fi
+
+target_portal=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d',' -f 1)
+#target=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d' ' -f 1)
+#target_portal=$(echo ${target} | cut -d',' -f 1)
+target_lun=$(${lsscsi} | grep $DEVNAME | sed 's/.[0-9]*:[0-9]*:[0-9]*:\([0-9]*\).*/\1/')
+
+echo "TARGET_PORTAL=$target_portal" >> /tmp/udev.log
+echo "TARGET_LUN=$target_lun" >> /tmp/udev.log
+
+linkname="ip-${target_portal}-iscsi-${target_iqn}-lun-${target_lun}"
+
+echo "RETURN ${linkname}" >> /tmp/udev.log
+
+echo "${linkname}"
+
+exit 0
diff --git a/sys-cluster/nova/metadata.xml b/sys-cluster/nova/metadata.xml
new file mode 100644
index 000000000000..25bcac3ecf41
--- /dev/null
+++ b/sys-cluster/nova/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Nova is a cloud computing fabric controller
+ (the main part of an IaaS system). It is written in Python.
+ </longdescription>
+ <use>
+ <flag name="compute">Installs the initscripts for the nova volume service</flag>
+ <flag name="compute-only">only install stuff needed for a compute host</flag>
+ <flag name="iscsi">Installs iscsi helper udev scripts</flag>
+ <flag name="memcached">Installs the memcached server</flag>
+ <flag name="novncproxy">Installs the initscripts for the nova novncproxy service</flag>
+ <flag name="openvswitch">Installs openvswitch for the neutron openvswitch support</flag>
+ <flag name="rabbitmq">Installs the rabbitmq server</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">nova</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/nova/nova-14.0.8.ebuild b/sys-cluster/nova/nova-14.0.8.ebuild
new file mode 100644
index 000000000000..2c2ce969d8c2
--- /dev/null
+++ b/sys-cluster/nova/nova-14.0.8.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_4 )
+
+inherit distutils-r1 eutils linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/newton/nova.conf.sample -> newton-nova.conf.sample
+https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.3[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
+ <dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/newton-nova.conf.sample" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-15.0.7.ebuild b/sys-cluster/nova/nova-15.0.7.ebuild
new file mode 100644
index 000000000000..b419a54d7128
--- /dev/null
+++ b/sys-cluster/nova/nova-15.0.7.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/ocata/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.1.1[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-16.0.1.ebuild b/sys-cluster/nova/nova-16.0.1.ebuild
new file mode 100644
index 000000000000..4bb4c81e0a24
--- /dev/null
+++ b/sys-cluster/nova/nova-16.0.1.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd-2" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd-2" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd-2" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-2016.2.9999.ebuild b/sys-cluster/nova/nova-2016.2.9999.ebuild
new file mode 100644
index 000000000000..e43137070e8c
--- /dev/null
+++ b/sys-cluster/nova/nova-2016.2.9999.ebuild
@@ -0,0 +1,220 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/newton/nova.conf.sample -> newton-nova.conf.sample"
+EGIT_REPO_URI="https://github.com/openstack/nova.git"
+EGIT_BRANCH="stable/newton"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
+ !~dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-glanceclient-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-1.1.1[${PYTHON_USEDEP}]
+ <dev-python/psutil-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-0.2.3[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/wsgiintercept-0.6.1[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/newton-nova.conf.sample" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-2017.1.9999.ebuild b/sys-cluster/nova/nova-2017.1.9999.ebuild
new file mode 100644
index 000000000000..fa38dc987200
--- /dev/null
+++ b/sys-cluster/nova/nova-2017.1.9999.ebuild
@@ -0,0 +1,232 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/ocata/nova.conf.sample -> nova.conf.sample-${PV}"
+EGIT_REPO_URI="https://github.com/openstack/nova.git"
+EGIT_BRANCH="stable/ocata"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.0[${PYTHON_USEDEP}]
+ !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
+ !~dev-python/routes-2.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.1.1[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-2017.2.9999.ebuild b/sys-cluster/nova/nova-2017.2.9999.ebuild
new file mode 100644
index 000000000000..4bc17bcde842
--- /dev/null
+++ b/sys-cluster/nova/nova-2017.2.9999.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+
+inherit distutils-r1 eutils git-r3 linux-info multilib user
+
+DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
+HOMEPAGE="https://launchpad.net/nova"
+SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV}"
+EGIT_REPO_URI="https://github.com/openstack/nova.git"
+EGIT_BRANCH="stable/pike"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
+ !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
+ !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
+ !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ dev-python/paste[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
+ !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+ enewgroup nova
+ enewuser nova -1 -1 /var/lib/nova nova
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd-2" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd-2" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd-2" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/api-metadata.filters"
+ doins "etc/nova/rootwrap.d/compute.filters"
+ doins "etc/nova/rootwrap.d/network.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
+ doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
+ # copy the CA cert dir (not coppied on install via setup.py script)
+ cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nullmpi/Manifest b/sys-cluster/nullmpi/Manifest
new file mode 100644
index 000000000000..80c30d167396
--- /dev/null
+++ b/sys-cluster/nullmpi/Manifest
@@ -0,0 +1,5 @@
+AUX nullmpi-0.7-libtool.patch 1817 SHA256 dea202626599d20abf50c985a9b5b49620a145b32e5c90bf5e6562bd2f1be047 SHA512 b6621053616a1b474214e499de2c89ba92b550de58aa168d66464399de963399cec3b59b0de898de2683e93d7ea0d521a6957a48db63b67cd8bc7cfd8ed7c02f WHIRLPOOL c1be96463b6952d2d20a8f9f75fb9c35a14a3fc8c12dd715d97b78d86824c694c5c521c94f249de1289c656bbc9a77feb0d06e188c793f47eb317d4a33b42361
+DIST nullmpi-0.7.tar.gz 148188 SHA256 88d6d09db717e22627fa7f225225f807d9315e611b903d2076ab0c83e74c8c96 SHA512 8575b019f4ea835f3824dc181a3bea70684ad5c4fa59686ff293ba63dfbf1a90ba7a80dccecc817664d10ea23d131003eed46a5a29cc18cd619176090d8a1ae1 WHIRLPOOL da058909917f0f32dce6086c01337543266e89d7e71ace2fe57f3b558643d6528494eac5e742c336a1c37664df5e195b132648bf87d12b47db4bc581083f1fff
+EBUILD nullmpi-0.7.ebuild 903 SHA256 b06b3a94e5ff0b25294266bd90e731d2c08d36cc614c5eb34e3a0c2130fbdfa6 SHA512 3ad9546a1fb63496034a2e8392ce4c3cfb207d005c517e633d0fb6da1e439fcc81ea7d5623b0724aad1e524633193137abc7da0a91bb391edcd213cc9e30b81e WHIRLPOOL c48b7a1062105ef945e5b4c7a04122a05a0c5cde2bac120d4b25b15185189a571c032c2296659c598f1f7b373bcf5bc817c04b584360a865d1b1362ab683b973
+MISC ChangeLog 469 SHA256 3ac6de64d019db8cbcc1b62fba05e8a69720c2901b88c5073e03a802f18495f6 SHA512 2366754e9c4f0069a118fb23cc818ee051583ad432a102f19779affa4dd1121af77459d687d4a17abfdc01475c10b1aac98030d40817bd1119031f094879fbe9 WHIRLPOOL c61cbf9939e93b83a8dac5dea75ba15048b5f1e95f1a9eb955674ac3b8a5febb799038000fc87259ef2fc773a382b99d2068acddadeb6e0003fe45c16c7436c5
+MISC metadata.xml 381 SHA256 d92baf3a7482a6e6f8b2a49717dda94f3311823fc9cac33e71f4376454a5a0ee SHA512 e411c2a9f366d4700fe49ac58189f9dbaa57f4d07435c2731e175c163553e7be6a9ea4e370a0daa76731d4d5bd26c673e86a0a66295eb1eb2757e2e77b3f7c59 WHIRLPOOL 9267363bd216234b49ce615b49d663d9dc6c88fd99b2410f4b5c8621bdc1a5d0ce1eac5e34dbb52785cb1826e0a79c7a7e3ace605532a14f4c264717e73b6cb8
diff --git a/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch b/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch
new file mode 100644
index 000000000000..60b56930938f
--- /dev/null
+++ b/sys-cluster/nullmpi/files/nullmpi-0.7-libtool.patch
@@ -0,0 +1,53 @@
+diff -Naur nullmpi-0.7.orig/configure.ac nullmpi-0.7/configure.ac
+--- nullmpi-0.7.orig/configure.ac 2011-01-23 17:20:35.000000000 +0100
++++ nullmpi-0.7/configure.ac 2011-01-23 17:21:21.000000000 +0100
+@@ -18,6 +18,7 @@
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
++LT_INIT
+
+ # Checks for header files.
+ AC_HEADER_STDC
+diff -Naur nullmpi-0.7.orig/pmpi/Makefile.am nullmpi-0.7/pmpi/Makefile.am
+--- nullmpi-0.7.orig/pmpi/Makefile.am 2011-01-23 17:20:35.000000000 +0100
++++ nullmpi-0.7/pmpi/Makefile.am 2011-01-23 17:41:58.000000000 +0100
+@@ -1,7 +1,7 @@
+ ## process this file with automake to produce Makefile.in
+
+-lib_LIBRARIES = libnullpmpi.a
+-libnullpmpi_a_SOURCES = \
++lib_LTLIBRARIES = libnullpmpi.la
++libnullpmpi_la_SOURCES = \
+ abort.c \
+ allgather.c \
+ allgatherv.c \
+@@ -115,4 +115,6 @@
+ waitsome.c \
+ pmpi_wrap.h
+
++libnullpmpi_la_LIBADD = ../src/libnullmpi.la
++
+ AM_CPPFLAGS = -I$(srcdir)/../src -DPROFILELIB
+diff -Naur nullmpi-0.7.orig/pmpi/out.c nullmpi-0.7/pmpi/out.c
+--- nullmpi-0.7.orig/pmpi/out.c 2011-01-23 17:20:35.000000000 +0100
++++ nullmpi-0.7/pmpi/out.c 2011-01-23 17:47:38.000000000 +0100
+@@ -1,3 +1,3 @@
+ #include "pmpi_wrap.h"
+
+-PMPI_WRAP2(MPI_Abort, MPI_Comm, int)
++/*PMPI_WRAP2(MPI_Abort, MPI_Comm, int)*/
+diff -Naur nullmpi-0.7.orig/src/Makefile.am nullmpi-0.7/src/Makefile.am
+--- nullmpi-0.7.orig/src/Makefile.am 2011-01-23 17:20:35.000000000 +0100
++++ nullmpi-0.7/src/Makefile.am 2011-01-23 17:22:11.000000000 +0100
+@@ -1,8 +1,8 @@
+ ## process this file with automake to produce Makefile.in
+
+ include_HEADERS = $(PUBLICHEADERS)
+-lib_LIBRARIES = libnullmpi.a
+-libnullmpi_a_SOURCES = $(PUBLICHEADERS) $(PRIVATEHEADERS) $(PRIVATESOURCES)
++lib_LTLIBRARIES = libnullmpi.la
++libnullmpi_la_SOURCES = $(PUBLICHEADERS) $(PRIVATEHEADERS) $(PRIVATESOURCES)
+
+ PUBLICHEADERS = \
+ mpi.h \
diff --git a/sys-cluster/nullmpi/metadata.xml b/sys-cluster/nullmpi/metadata.xml
new file mode 100644
index 000000000000..394776703b20
--- /dev/null
+++ b/sys-cluster/nullmpi/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>junghans@gentoo.org</email>
+ <name>Christoph Junghans</name>
+ </maintainer>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/nullmpi/nullmpi-0.7.ebuild b/sys-cluster/nullmpi/nullmpi-0.7.ebuild
new file mode 100644
index 000000000000..b5c5cc6dabc2
--- /dev/null
+++ b/sys-cluster/nullmpi/nullmpi-0.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools multilib-minimal
+
+DESCRIPTION="MPI substitute library"
+HOMEPAGE="http://wissrech.ins.uni-bonn.de/research/projects/nullmpi/"
+SRC_URI="http://wissrech.ins.uni-bonn.de/research/projects/nullmpi/${PF}.tar.gz"
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="static-libs"
+
+RDEPEND="
+ !sys-cluster/openmpi
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mvapich2
+ !sys-cluster/native-mpi"
+
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-libtool.patch" )
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/nullmpi_conf.h
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf --enable-shared $(use_enable static-libs static)
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ #no deps
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sys-cluster/ocfs/Manifest b/sys-cluster/ocfs/Manifest
new file mode 100644
index 000000000000..fc81fcfddd9b
--- /dev/null
+++ b/sys-cluster/ocfs/Manifest
@@ -0,0 +1,5 @@
+DIST ocfs-1.0.14.tar.gz 467237 SHA256 bbcd6c88f3687be13ed69b8968df38843e4f3e1c957a69010a81988890de3a5f SHA512 0a081806ef65bb988a85d65221210748b3b6eaeb1191dde333120090c8d54818549bdeadd72dd814497d3aa4053ef474ade18c4ced8cbf3423785ff6fb404264 WHIRLPOOL 26e16d11e582e4ca6679e5d7fd28b9a4ee70c988400cfaec24bc2dafedd7282cef4c9f652a79cebf490b2058bd5e211ab5b676cda7eac311a7df972aa0cc32e2
+EBUILD ocfs-1.0.14.ebuild 1044 SHA256 56c009bb6bb26db713b1df927bee91926a40f7e6bb5db3adbc93bd806a0e9562 SHA512 24328bf22688aee661715bf7afc784f28b08b8ab431f6670d8360be61b2b4a168dd499f4232b2ae345040ab7bebed9141a93ede099f5e0cf98877a56054eab1f WHIRLPOOL e97d8d81382bc5d5c9567127ada72b9aa1e29284837b89f1cd9a5831786a10670e57a8105d4f3f70f9dfbebb47bafaec848ba94af89be39b4231963739dfeacb
+MISC ChangeLog 2816 SHA256 55de087f134e3401cb4b89343107f37eceae9353a3b56872f3c80831f0ba0a45 SHA512 29d886aaff8371b105af6f9788d48cd7a8bcd31c1894c9b60b7486b3762e294d08c340c6a8e54287310b8aa771671ae577494a58f7bd6674f0badcc16f2c0bce WHIRLPOOL 3a808d53b793e5378f1bf86694c3d946265e1dc3375075c6b153eabc60f60f0fbc5b9ba4dc915e29ac4c1f422e802b57e4877469f59201d623a9e567c430a9e6
+MISC ChangeLog-2015 1000 SHA256 5778473faf59c1f3d39d25c74e223042b3e72683a675a3c37fa109d7e99b0f5e SHA512 fd1495c7acb74821ce00655386108e4a3d836e8acc332e272c20f11b0e8118701ca7eb5c8bc67c0e4acfe20f18961ab0f1e14a1b4bdcf9f9caa16dc6b03f2c4c WHIRLPOOL c5ceffd9231355b08f22140eeeb7a977ec10d4e0ac3359e351af6fefcb34fc04a9131aaf59523c9886fa4105c36ca8ae636f8142023224a73dd51288fa470755
+MISC metadata.xml 307 SHA256 badbac1a6cbca8b8dcce2d77bad76111fe73257ca3e4f7f06d4758dbc5dad775 SHA512 4373d384ed9713aca4b4b69e7aaa5d1d0c700e9d43a5c23a66bd736fa3b7cecb5dfe0f1a314296a6235e48af76529875425fd9ef0582d8583fc8e1b5a5012461 WHIRLPOOL 9e73db232c5dd3dad7e62ac105dc40fbcf098107028cd72b7f83c9ba214ac413caa39d595043d25ca92d60f5841807d04623d7c0fac5aef3269994e1600a75e3
diff --git a/sys-cluster/ocfs/metadata.xml b/sys-cluster/ocfs/metadata.xml
new file mode 100644
index 000000000000..cacaf0222b69
--- /dev/null
+++ b/sys-cluster/ocfs/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+<use>
+ <flag name="aio">Add aio support</flag>
+</use>
+</pkgmetadata>
diff --git a/sys-cluster/ocfs/ocfs-1.0.14.ebuild b/sys-cluster/ocfs/ocfs-1.0.14.ebuild
new file mode 100644
index 000000000000..ecbeed23ad84
--- /dev/null
+++ b/sys-cluster/ocfs/ocfs-1.0.14.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit linux-mod
+
+DESCRIPTION="The Oracle Cluster Filesystem"
+SRC_URI="http://oss.oracle.com/projects/ocfs/dist/files/source/${P}.tar.gz"
+HOMEPAGE="http://oss.oracle.com/projects/ocfs"
+LICENSE="GPL-2"
+
+DEPEND="virtual/linux-sources"
+
+IUSE="aio"
+SLOT="0"
+KEYWORDS="~x86"
+
+pkg_setup() {
+ if kernel_is -ge 2 6; then
+ die "${P} supports only 2.4 kernels"
+ fi
+}
+
+src_compile() {
+ set_arch_to_kernel
+ local myconf
+ use aio && myconf="--enable-aio=yes" || myconf="--enable-aio=no"
+
+ econf \
+ --with-kernel=${KV_DIR} \
+ ${myconf} \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ einstall DESTDIR=${D} || die "Failed to install"
+
+ dodir /etc/ocfs
+ insinto /etc/ocfs
+ doins ocfs2/ocfs.conf
+
+ dodoc README docs/ocfs_doc.zip || die
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+
+ einfo ""
+ einfo "Please remember to re-emerge ${PN} when you upgrade your kernel!"
+ einfo ""
+ einfo "Please edit the configuration file /etc/ocfs/ocfs.conf"
+ einfo ""
+}
diff --git a/sys-cluster/onesis/Manifest b/sys-cluster/onesis/Manifest
new file mode 100644
index 000000000000..020529fde091
--- /dev/null
+++ b/sys-cluster/onesis/Manifest
@@ -0,0 +1,5 @@
+DIST oneSIS-2.0.2.tar.gz 1703998 SHA256 0840f2b7d5e1378aa6e08bc377b0c93ac9411c81edff91bfa2b81ab1f2503eec SHA512 e479b1d261d67247c26cf4c89efe79380c8c0dc759f50dca0613836c05da136922594bffbb2b17fa5007fa91ee5c46c29741429d56fdee91d0d54a1e7dc267bf WHIRLPOOL 4a1ec9b6e12c1831ffe360da3a6a3b2070218f7370816c1d26939e0a186252ef1d81915604774eaed33fe6c20c6c6f4856256f6dd68bc53874499496cfc3b4ac
+EBUILD onesis-2.0.2.ebuild 502 SHA256 992ab34b546a732d28db9eac71bd502e11444f05be6a13211f201c6d750b47f5 SHA512 e9c9042393da68ea6d2634c5e8eab0705342e3ab3ec635b795ac17ca74b5ab1e6498c584041413382f658d6ac65b23c2a715b1d89df71f5f5f4a863c1c64b168 WHIRLPOOL fbe26e5f79e44a0b7d72cfeca06c02b6de909da2dde6b1cf4d6703ffa5d729c761f9bf128da0c6a33e06879e3767af8a0653d54807617ae4c5a6503bad2bf03c
+MISC ChangeLog 2427 SHA256 a55e19526505f3d3859fc19a265ab8df0f1324889e37b1575ea973393faea3f1 SHA512 4d49dfef0f07c3a6a1337be96ef598c5cf0509879551e808a9b0c6606f811ce45b875287ecc12270ca6114ffa64cd08b8985666dea204f70de2f75f58fd60845 WHIRLPOOL 11d05c2fda1f17cb6e6d95820f5f7828b4e6169e83a7b9ff9b38b970432d9c52345c8c523f6236ce872be41fa8be7a2979d6adadf01956e007fce4186a4125f0
+MISC ChangeLog-2015 1341 SHA256 da4cde7324f3f0bbd5f23507edf264cb9618680f25ed26e93fe8fbec474f5b47 SHA512 c54386b3f2379aa0e8a94c67eb81dbcdd1771b25d5bd8f221fd30b9ecb80f10a09e96ff9d16f9aa43e5e2747e83b93436726e18d77b4b36b65052c9fdc0a7d75 WHIRLPOOL 4261362ec2fc28bc6d53c9be56bafc2a013569194c674477a370dde93d4cd0c4ca27c76419cd4d4841362d0a274457e642418aaeeefaca6f12330e733ff9f316
+MISC metadata.xml 333 SHA256 93f36607ffa6e55e493e5d857032b6dbe29f1fe72815abdf2b14b3c8c8420c81 SHA512 721f59fbc6854e7896342cc51ab7c30b65eb7f227ddaa25cb26141ace67976a556db3d1bebf92b082a1f51a92e5e1f0b9a0c61ef47f5f43d024a18fd4626fb36 WHIRLPOOL 7519037a342492d8e78c7b35622369c18a3d2a6fdf1d2e84ac026d9f5c2baf6874cb69f02ba6688b7e7ac0444d56e557256284f62b667d129393fe24502f9f84
diff --git a/sys-cluster/onesis/metadata.xml b/sys-cluster/onesis/metadata.xml
new file mode 100644
index 000000000000..ae7d2150d983
--- /dev/null
+++ b/sys-cluster/onesis/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">onesis</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/onesis/onesis-2.0.2.ebuild b/sys-cluster/onesis/onesis-2.0.2.ebuild
new file mode 100644
index 000000000000..3262234d696a
--- /dev/null
+++ b/sys-cluster/onesis/onesis-2.0.2.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+MY_P="oneSIS-${PV/_}"
+
+DESCRIPTION="Diskless computing made easy"
+HOMEPAGE="http://onesis.org/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE=""
+
+DEPEND="dev-lang/perl"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"/${MY_P}
+
+src_install() {
+ make prefix="${D}" INSTALLDIRS=vendor install || die "make install failed"
+}
diff --git a/sys-cluster/open-mx/Manifest b/sys-cluster/open-mx/Manifest
new file mode 100644
index 000000000000..cb8b5475543c
--- /dev/null
+++ b/sys-cluster/open-mx/Manifest
@@ -0,0 +1,7 @@
+AUX omxoed.initd 912 SHA256 cf328d447b9db77ec1879f4bbff1c86f9f46021f70cb3623ce0636c486de61f4 SHA512 ecfc0419317ca767d099f8089e92d08396359c5fd223123281bdada1f165619ef73498b1b0732a5f9f280551e7e4fb5efccea69450b68e6c1360405ff84f48dd WHIRLPOOL 71cfdf545a0970bbb1b10020832283c65ad28f235f8ebb2792b3b19d7c94d098d5a7fdf4cf0df251a5cbb8a388e7adf76ac03b1a660de28de14c2594e31d29c8
+AUX open-mx-1.4.0-driver.patch 284 SHA256 cf6b97ecdd350e531c40154ca5efe6e134cec25f60b34d5cebd9f7d5ae3814c8 SHA512 8807f515f6bc29c8500b282b69d5cb7030e25804e0597b44e6015988ea639487882ad3ca3d650aec21ff06815662e11753d8524dcc8b713bcbb9fd318fa78488 WHIRLPOOL 7ae599fec16306bbb3e2bafdf97ee10f0b62929690402ce8a0ecb4171c533a91d0c9e5c60d7882a55e8051a799a45c9762b69ef0cdae39183356d21b73b009b8
+DIST open-mx-1.5.4.tar.gz 1094452 SHA256 78192041c55afc5328fef159499410e40b9d1dd6ab529abbe15f0843278624cc SHA512 df41132de0c6f7a20a1cdb9aff3c654d5e306771369c12086affda785686e1a3ed23ba82e617618ebbd72ffa3b32d1f3c76e4450d6ab772d9e5a3080f6a3e977 WHIRLPOOL 16fb2f0ebaba6b97ec4b58459534d4642afe1e77ce68fdc001f053e4a40555601196a223933c3715a11490cd17b84cfc0f1512d1d4caa0bcb84060077f127485
+EBUILD open-mx-1.5.4.ebuild 1913 SHA256 4e86f46013488b713cf92f564739b545217c3723f5d7da5e34c139cf64493e55 SHA512 134a61592d9bc9ed16edff25b05548543d5b616dab241cc99e9d7a0e015c306b0f46351ec4ff83b6d2c629bfbd2d839fcf1cefb1f5b6042f85032e68c039ba7f WHIRLPOOL a577ac343734c2abced44e1fb0ddb889c9914e1596b1041d82aeef04cfe272973812cc38a54acd7bd5a028f047a601ead1b40052294fb8486453c2b1486d973e
+MISC ChangeLog 2999 SHA256 419e37cf9e9d52979de7f2185df99455382561e4fc967ddcf445c33ff36f21ea SHA512 ca798bf5e81eb787466a5fef80624f1df4431a8af0d7e69346ce6818e720ce725bb1733379f25a10d9507be372314a8c0ffffc0bd73acf48a89aeb02bfa0c4ba WHIRLPOOL 3f634cd17433d8112396cb9e9e21a409682b61e229fbf6e351b142f7ab583a401ded11da1fc889a333e0db7a239b9b610c47de19898a32dad8d3322f5edf979e
+MISC ChangeLog-2015 1471 SHA256 267c364e5b9395829f611fc4aa8ced22008e0e942bcdd84d053063519e584e2e SHA512 1318f9f6a5cd50b7b11e68fc92c64503760fe0588ea6a91727db2b5e8b7525c4d3a40953050f5b70765fa89ce8859f447b38a336fea671ed8c5d5ab55004bde1 WHIRLPOOL c3259637e0a7b76e5400b39e7c9540f9f444e2432bafb3f684440ee994591fee8569df37becdac48a2cfc2f32d6a1c21592c7eb1208a24700aa6b480f13d5658
+MISC metadata.xml 365 SHA256 90e0eb71575b3b48ddebbb80e17f8a75e2e071f1b8048ec7ad42b62e3179995f SHA512 debd6bb734810af46390ed76b73151e5729999aff31956951cf9482e06ae6d08e4d642f9fc27ff99f0947b0b63214dc9ca6514e760d0d93a79bcd9ea79b60743 WHIRLPOOL 3f4277a73ba9bcbebc283ee05e6d99c5827b52ebe47ba0acd8b02f6207132b1ed6618f7408c85bfbf9588a2b222adac3ff2578a715d21521b95a290be3c9a9a6
diff --git a/sys-cluster/open-mx/files/omxoed.initd b/sys-cluster/open-mx/files/omxoed.initd
new file mode 100644
index 000000000000..765842ed7f68
--- /dev/null
+++ b/sys-cluster/open-mx/files/omxoed.initd
@@ -0,0 +1,45 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+}
+
+checksystem() {
+ if [ -c /dev/open-mx ]; then
+ einfo "Open-MX module already loaded"
+ return 0
+ else
+ einfo "Checking if Open-MX module present"
+ if [ "x$(modprobe -l open-mx | grep open-mx)" == "x" ]; then
+ eerror "open-mx not found!"
+ return 1
+ fi
+ fi
+}
+
+start() {
+ ebegin "Starting ${SVCNAME}"
+ checksystem || return 1
+ if [ ! -c /dev/open-mx ]; then
+ ebegin "Loading open-mx module"
+ modprobe -q open-mx
+ fi
+ start-stop-daemon --start --exec /usr/bin/omxoed \
+ --background --make-pidfile \
+ --pidfile /var/run/omeoed.pid
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --exec /usr/bin/omxoed \
+ --pidfile /var/run/omeoed.pid
+ eend $?
+}
+
+status() {
+ ebegin "Showing current active Open-MX peers"
+ omx_info -q
+}
diff --git a/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch
new file mode 100644
index 000000000000..e082865c235a
--- /dev/null
+++ b/sys-cluster/open-mx/files/open-mx-1.4.0-driver.patch
@@ -0,0 +1,14 @@
+--- Makefile.am 2011-07-15 02:42:53.000000000 +0400
++++ Makefile.am 2011-07-15 02:43:02.000000000 +0400
+@@ -20,11 +20,6 @@
+
+ SUBDIRS =
+
+-# Driver
+-if OMX_BUILD_DRIVER
+- SUBDIRS += driver/linux
+-endif
+-
+ # Library
+ if OMX_BUILD_LIBRARY
+ SUBDIRS += libopen-mx tools tests tests/mx
diff --git a/sys-cluster/open-mx/metadata.xml b/sys-cluster/open-mx/metadata.xml
new file mode 100644
index 000000000000..fc70a30f312d
--- /dev/null
+++ b/sys-cluster/open-mx/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/open-mx/open-mx-1.5.4.ebuild b/sys-cluster/open-mx/open-mx-1.5.4.ebuild
new file mode 100644
index 000000000000..ac461bfced30
--- /dev/null
+++ b/sys-cluster/open-mx/open-mx-1.5.4.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit autotools eutils linux-mod multilib toolchain-funcs udev
+
+DESCRIPTION="Open-MX - Myrinet Express over Generic Ethernet Hardware"
+HOMEPAGE="http://open-mx.gforge.inria.fr/"
+SRC_URI="http://gforge.inria.fr/frs/download.php/34371/${P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug modules static-libs"
+
+DEPEND="
+ sys-apps/hwloc
+ virtual/linux-sources
+ virtual/pkgconfig"
+RDEPEND="
+ sys-apps/hwloc
+ virtual/modutils"
+
+MODULE_NAMES="open-mx(misc:${S}/driver/linux)"
+BUILD_TARGETS="all"
+BUILD_PARAMS="KDIR=${KERNEL_DIR}"
+
+pkg_setup() {
+ einfo "You can set desired mtu by setting OPEN_MX_MTU in make.conf"
+ linux-mod_pkg_setup
+}
+
+src_prepare() {
+ # We still want to configure driver but dont want to build it at all
+ epatch "${FILESDIR}/open-mx-1.4.0-driver.patch"
+ # We dont want tests
+ sed -e 's:tests/mx::g' \
+ -e 's:tests::g' \
+ -i Makefile.am || die "sed failed"
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-mtu=${OPEN_MX_MTU:-9000} \
+ --with-linux="${KERNEL_DIR}" \
+ --with-linux-release=${KV_FULL} \
+ $(use_enable static-libs static) \
+ $(use_enable debug)
+}
+
+src_compile() {
+ default
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_compile || die "failed to build driver"
+ fi
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.*a' -exec rm {} +
+ # Drop init scripts
+ rm -rf "${ED}/usr/sbin" || die
+ rm "${ED}/usr/bin/omx_check"
+ # install udev rules
+ udev_dorules "${ED}/etc/open-mx/10-open-mx.rules"
+ dodoc "${ED}/usr/share/open-mx/FAQ.html"
+ # Drop misc stuff
+ rm "${ED}/etc/open-mx/10-open-mx.rules" || die
+ rm -rf "${ED}/usr/share/open-mx" || die
+ newinitd "${FILESDIR}/omxoed.initd" omxoed
+ if use modules; then
+ cd "${S}/driver/linux"
+ linux-mod_src_install || die "failed to install driver"
+ fi
+}
diff --git a/sys-cluster/openais/Manifest b/sys-cluster/openais/Manifest
new file mode 100644
index 000000000000..3e01494cf409
--- /dev/null
+++ b/sys-cluster/openais/Manifest
@@ -0,0 +1,5 @@
+DIST openais-1.1.4.tar.gz 566559 SHA256 974b4959f3c401c16156dab31e65a6d45bbf84dd85a88c2a362712e738c06934 SHA512 9dab2d0c3ac1996fd76385cc89071dc84268065e6992642fefe005962e8367170681fed626c5bd863a8ea24abe57e2b8b3eddc20bc38b14104c729c599f3c79e WHIRLPOOL 2dce858ead76f4008dacde48aa4bd91692625a85c3fec293a593b50d5312df65a2978e05476179bd47e49e99c42df0329f5c54c13594e0e8775fa855332e3ed5
+EBUILD openais-1.1.4-r1.ebuild 1096 SHA256 1a19e6b74dff7f7f421773bb3259963695010dbe8cf2b8b3a2e45924fdaf9079 SHA512 75ac8549f13a7c4b752ffaa5d59b805294ea236c91fe551af70bd66c66ef129a6afcd7b9b701261aca60311cfedcfd78ffae5201c8e16b267e71e787b0fd3d4d WHIRLPOOL c37fa90b748b1d8f2268ea9b634b455e764fc989e35f73d3838853312ac41213bd9d756a719513bb6def592b143afd426c08e11228e60110576fac0cf91fd677
+MISC ChangeLog 2436 SHA256 6329776156ceeaecca62f2a4b9eff80bd271042d77ad0c37e28b440b8d538a49 SHA512 6ecda3379cadce2efd4345da29483fca4d36d607d461fc47214ad5d498c6bac1e7482316301295c8970534db1be003906f15f8604cef4ab6d13fdb305b2a2d28 WHIRLPOOL d90b0ff9f3071572680d9cfae96a3f8ce680ef2ab5c2f6b40d53f0a8b7c9cea19daca7368c2333567dc58aace73b67d9f7aa64071aaf5b39facdc7b77adfada9
+MISC ChangeLog-2015 1953 SHA256 df717398231bebc6312dadadf9f1bdabd988c44581f3671ffc224396e12d465c SHA512 8d7613bd919b801ebdc20b6106574823a1ff509aef6e53b156d59937978423a5584a5ddeef5e66feed2ef922ecf23f21b8ec449ece2850581908420b54268d19 WHIRLPOOL 08932130de25fcdfa4e03c1caf547010cb6e9d71eb51b82b27472d0a3f6cf5e8d299cedcedeb1f2425419e304ad815645f0704ae9fcd4658b13572a30cae4734
+MISC metadata.xml 822 SHA256 de469eb11af541973c727f37c897eb5d98707641702db3b6771792f7c07cdab6 SHA512 85eb8ae73ebc0614b240733110eecf256f00cd694c303c1dc5b42d5b038f8cef72adf65a99866cd270d6cdbc229e6730d947fcfedb2b59e2a51bf8b8a4f12aa3 WHIRLPOOL c49bca79e2681789394b8ba746e9eccbd1e955a6bcd64401f7c14d945862ced273fffde5520109f840223322f7916f0df28308e67a4e1703f4c2f826c25848b1
diff --git a/sys-cluster/openais/metadata.xml b/sys-cluster/openais/metadata.xml
new file mode 100644
index 000000000000..c08a18d0927c
--- /dev/null
+++ b/sys-cluster/openais/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ The OpenAIS Standards Based Cluster Framework is an OSI Certified implementation of
+ the Service Availability Forum Application Interface Specification (AIS).
+ The Application Interface Specification is a software API and policies which are
+ used to develop applications that maintain service during faults.
+ Restarting and failover of applications is also provided for those
+ deploying applications which may not be modified. The OpenAIS software is built
+ to operate as plugins to the Corosync Cluster Engine.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/openais/openais-1.1.4-r1.ebuild b/sys-cluster/openais/openais-1.1.4-r1.ebuild
new file mode 100644
index 000000000000..bf42581c57c3
--- /dev/null
+++ b/sys-cluster/openais/openais-1.1.4-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="2"
+
+inherit autotools base
+
+DESCRIPTION="Open Application Interface Specification cluster framework"
+HOMEPAGE="http://www.openais.org/"
+SRC_URI="ftp://ftp:${PN}.org@${PN}.org/downloads/${P}/${P}.tar.gz"
+
+LICENSE="BSD public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 hppa x86 ~x86-fbsd"
+IUSE="static-libs"
+
+RDEPEND="<sys-cluster/corosync-2.0.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS=( "${S}/AUTHORS" "${S}/README.amf" )
+
+src_prepare() {
+ # respect CFLAGS
+ sed -i -e "s/\$OPT_CFLAGS \$GDB_FLAGS//" configure.ac || die
+ # respect LDFLAGS
+ sed -i -e "s/\$(CFLAGS) -shared/\$(CFLAGS) \$(LDFLAGS) -shared/" \
+ services/Makefile.am || die
+ # don't install docs
+ sed -i -e "/^dist_doc/d" Makefile.am || die
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --docdir=/usr/share/doc/${PF} \
+ --localstatedir=/var
+}
+
+src_install() {
+ base_src_install
+ rm -rf "${D}"/etc/init.d/openais || die
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/*.a || die
+}
diff --git a/sys-cluster/openmpi/Manifest b/sys-cluster/openmpi/Manifest
new file mode 100644
index 000000000000..3a4c3ca8ba78
--- /dev/null
+++ b/sys-cluster/openmpi/Manifest
@@ -0,0 +1,27 @@
+AUX hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch 1602 SHA256 551d0aaab2d83bdb9d128fc1bdcbcc0bb4a9b8775defa5d9b4b065151ac1154b SHA512 7732a53f6074432a10bbe7dcca6b64e45bebadb797c214fca9c93d2ec5fd179832f69374c38d2bba5932089fcae6a7045990a1c7bbb048c3b5ab1397e9596c74 WHIRLPOOL 8aba8593a683b1f564a6aa2c4c3d76e1e0a48491c90faa447ce2505555ca74930adb46a5c374011f48d240f925b8f14afba19db9201179ec1df642ba7d1f4528
+AUX openmpi-ltdl.patch 2449 SHA256 e373af4671a3056776fe53a3a12d28641aa8e5a4b400d23f5840deaccc865992 SHA512 4487ecbd2025d561f5ac46c70da5e407f6f201b7588f350d1211790dceb64ec2acdf3ca8f90e2ecbe8a6f7c3a6577e77fb7ae22be0ff3dd4adbded9035a7b6c9 WHIRLPOOL 34712f50ec93e781e2f03d23527a719132b6257f862eb50d7fc20e8186f948fc8dc624e76a9517caab5f7c9d2d794c889def4aff8f0d9c333e3963de17c26e2f
+DIST openmpi-1.10.7.tar.bz2 13435131 SHA256 a089ece151fec974905caa35b0a59039b227bdea4e7933069e94bee4ed0e5a90 SHA512 9c5470f9959ca37650a59e56fb8343c028422c709876ab9d25a411dd09a07cdde927c45d8f3db1ad524b1f2847fe799471d469fa1efee48f8018b2ff24427ecb WHIRLPOOL 4ba8c403ac20d5f6db2a4648f35606583b6a38666d65793e726496b99d60179a7a3684874d2ea6e428e301a266fd93db7e4300155bf199eabed77c98ef6438be
+DIST openmpi-1.4.3.tar.bz2 6626909 SHA256 220b72b1c7ee35469ff74b4cfdbec457158ac6894635143a33e9178aa3981015 SHA512 c33d5e019ba0b080aa34ecfa085182349da806e4bff26c1bf4dbdc8fb3f8f3c38899b9d96d671e1ae337b523ac9d634ae25c49d9af6eef2bc340c29dba75b1b8 WHIRLPOOL 92349d7bd16ff6e8563df602c215ce98ce5624b38a2975c13832d5b9504691c844206acad4c45376fe53e0116fe591782a3e5f8a132c4ac18ae793470d57db55
+DIST openmpi-1.4.5.tar.bz2 6643760 SHA256 a3857bc69b7d5258cf7fc1ed1581d9ac69110f5c17976b949cb7ec789aae462d SHA512 f89922345cde8978483e397e9016103626db3f1787f9afccaf0f60d59caa2a4409b47b01ac221d60e24e241f2afecb636ca89688bf326dc0ca5c817de96b3e99 WHIRLPOOL 2008bd952f9cc93ead6508267f5a45ee6d9ebf9136e35e25b798400d162173514da73349518bfada4777471c32d315e8556bbee8847a5268719d6b32fd0fd811
+DIST openmpi-1.6.5.tar.bz2 10943881 SHA256 fe37bab89b5ef234e0ac82dc798282c2ab08900bf564a1ec27239d3f1ad1fc85 SHA512 b0ede0264cd9263b8ba59ec51d17ad47b5f20d49d219ca05f7c396d608398d517b2023a46a2535fd6191160d709e4805c4de436dcfee56eda287383bd69f9652 WHIRLPOOL d0288677827c1deba17295ee1b69cd21da294ac314cc49404389b4c286384f9f2f229cae4c4fd62511e7f20abc510998642d6a2edfac3f16f83078f474f8e735
+DIST openmpi-1.7.5.tar.bz2 13286694 SHA256 cb3eef6880537d341d5d098511d390ec853716a6ec94007c03a0d1491b2ac8f2 SHA512 72de2788fa26615a2e7373b5f32e0a2b9e39d56094c45b49348ef19bbb0ea306734b7d3275d76471a18628b5244d882de4ed3595eb46f13683e1c8d2b277f065 WHIRLPOOL 107edd2eeca6e0ce9a9fb9ea1cd920cb1a87e8434390f2ed93279734c61bed63e9942bf2d33081e992d4d892f77a8643abbb58194aa76f7148d8716f1648aa82
+DIST openmpi-1.8.4.tar.bz2 13488749 SHA256 23158d916e92c80e2924016b746a93913ba7fae9fff51bf68d5c2a0ae39a2f8a SHA512 d4c8ce2bd3359cf2e85958b58ba18b52c9cef6676718eb3d948309b164b2f54544f8f8419ef6881c7a51ba268a876cd56e9b2d340a106a16fa25fb9fc3e4eff9 WHIRLPOOL 793f64ad44c2e3451a269bcb53d747d15a01649978d80f13599596e1bdd6a6011b50fdd60222bbe3a4ebe567a4785b2660e3c1eb09bdba77420581a0062480a2
+DIST openmpi-1.8.7.tar.bz2 13228742 SHA256 da629e9bd820a379cfafe15f842ee9b628d7451856085ccc23ee75ab3e1b48c7 SHA512 953e007b00c9753bafc05d13e6f686c9aa47f76f55fcc4eda565174d410de059e07862b7e667d15df13afb80418661d9a8d5ee17fdcc211d3e044992cd9ceede WHIRLPOOL 374edbca97262217dfe405414deff2f6a3cacc06daec56e3356ea76f27804ef3caa3f37050dc8a81f257b83c1ced49fd5f66647c2cba4892fbe4ec9746a6f84e
+DIST openmpi-1.8.8.tar.bz2 13231433 SHA256 a28382d1e6a36f4073412dc00836ff2524e42b674da9caf6ca7377baad790b94 SHA512 8ca2e3ebb9d9ba0f33faba9bef76fe95293721b73619cbc18176611074a56c277e9ab6cae7fa6c87ace11f16151c1bc495b2a8dbc8ad064d5a8f89f5d431a660 WHIRLPOOL e36186452978ba7a368c83b84b8b089f6995450fa866b7b8300d32eec7e64a816abf5f301dc716bf25b3b45b987489952ffc4b7057f4407677f2a2df5ee67cdd
+DIST openmpi-2.0.2.tar.bz2 8311215 SHA256 cae396e643f9f91f0a795f8d8694adf7bacfb16f967c22fb39e9e28d477730d3 SHA512 87dc3c23db4b9cb92dbacc9b384b21ce8c4288fe4edc204fbf4a3bef70d8ac4329269e777ed190fa87933d78b73b9e5550ea3b925b2039599cfef3953567232a WHIRLPOOL 9403135fbf1682597c211b1ca0d1e300bd6f49294e9a70bf21f030c48a54f85d2d7ce8de8693dccaf81e2b46fbfd9a43a817bf598dc1f96e122b3f6ea6ffc3c6
+DIST openmpi-2.0.3.tar.bz2 8285131 SHA256 b52c0204c0e5954c9c57d383bb22b4181c09934f97783292927394d29f2a808a SHA512 158f90e3fac41540036d0c9cbcbf6abfe3f420c9f295d50a28f00e98181367769167dc3a59bb47ea34bdcd5a1c5a43bd2e77dad5b0c8b08d91f65340ff2b8547 WHIRLPOOL 07740f47814279f239aab0ef52f97fdd2c4a3ed5eb643ec5e9cf8b09d2096cbb8039f60d02153002c1035fc3514f7029b525b1fceb50bdbe05ec307c06fb7501
+DIST openmpi-2.1.2.tar.bz2 8278459 SHA256 3cc5804984c5329bdf88effc44f2971ed244a29b256e0011b8deda02178dd635 SHA512 8a27a67cab384f9f03efe69bfdd51a8e8790f47a156e3a7e34f26a29d033889653070981c0105f142a96f00293fc069536bd020ae28a97afb564eab747e60457 WHIRLPOOL 9dbae8a3b0a35a761a8436bc30a4af36ea3492914f726a0334b39efe3e053e430d85723745ad33ca56d82f2884722532d408b809c25ea478b54c27f52fa99276
+EBUILD openmpi-1.10.7.ebuild 6355 SHA256 3687235863008b94cd0d0c5390fde9593bcdcd7715d78199e4035f0743596ea2 SHA512 1da5f322ebc8e7d0e4858bf005083370d1431559fa445eb0f0b80cdc9cf75d0493ab8db452784f87d052b38f434031b20c01f5eacd780eb720d69b9677b9e140 WHIRLPOOL 6bb2391fea652b4b9d95ac77d461bd3bca85575c08642aa62f89b733979dd49da5ff4182abdbe12f2d7e81f6c937b73a6798396d2dedbfc92bfbed58bcd85c5e
+EBUILD openmpi-1.4.3.ebuild 2571 SHA256 b2a48a9b2f7b408f296eca2575636fb9e8d0647352f6a72df61db56c06684b7f SHA512 cbd64eaa022ca3861166ceb5a12b0d113d88c9cf4381c5f4eb9e1ca9c0b0006c2457e7639a2cabdd8118518f313bded89d80eb0b2ccd9a91dbb29018a3dd9efd WHIRLPOOL 020bbf9982fd789387988193181217a210f4a5092e5e136c154120b6cc9322e1d7571d9a1a387d7c21cab1358b010e20cd80d5dde217b44c5f751da8dce0d561
+EBUILD openmpi-1.4.5.ebuild 2580 SHA256 87522c0729e34797f5f84685751ada19f8f21ee93603bba74f204df9436cd564 SHA512 a8b3f8628aa6f8379b959d2c3ea7ad4e8d9edf7c1e5a41e54e42959f831b53355a3dd0590a72e389f3864dcecafbc62f4b4cee03fe475455900e881598a290a1 WHIRLPOOL c31a122e2d2407962b39f4f2edde2622de0ab88a0d3e0b678b8003f36b1ab315c1f8e8fdf4a37966d04cd4dc4e03fad0763d02b5bc8b4962793e11d828e33479
+EBUILD openmpi-1.6.5-r1.ebuild 5294 SHA256 8b5aff80d3313970602ba4d6bec90aabd5297d7270e95a27e085406bf053fb63 SHA512 9598d7407d6af3fa0c726aebc087731fa612590127da79fe559a151fd339991fd955c2825538dcfbc0ef255efba47952cbfe7af591e629c590a31c73443390f6 WHIRLPOOL 206459dfdbb9552e68cc6e16a68b82e4d53d8942913ab4090eafd5c9b4f85bbd260393b71efd17e6838c6bcd2c7ad7dc3ec7657062d9c70a9294ad67afee13bf
+EBUILD openmpi-1.7.5-r1.ebuild 4989 SHA256 58b2eb1c9d052782e4f409be1fd29449e144728065a04077c2339a6e3a6cb34a SHA512 b69c89d38fed3d7345a12d783f8ef553cc1156e2f8058d990c8a866155a8aeca76b93a514f9980099dc378fdc49752392854d4c432af6cc17fc38e72cb2a7ae8 WHIRLPOOL a56555ae9349fc6dd3eb46033e9093d2fa9629a79eb40d5c28190f0faba52853861ca88cb101242f6c4b9ef8375a6b31859eac997e1f1f74564d6d429491cd0f
+EBUILD openmpi-1.8.4-r4.ebuild 5032 SHA256 437c5f61eb00831f551e31af2f1044efe00b8272d8f229f2a132edc6cd18e1a9 SHA512 2ebcedba5301d5e70b6c91f958ff902b83ab977187aec96956d468499880788851fe36996a04245c559a6c3eea447467620ac040e3d944c12ba18444c7fca634 WHIRLPOOL 1c15a03ff5555d4a586fe4ded93e9e49dc8a3f79bcea6679531a8d83a5ccfc6d028b9419e9ad52034afd77c9958eb2b06d8060d6947a0bff1dc507dc7750b407
+EBUILD openmpi-1.8.7-r1.ebuild 5544 SHA256 421715bdea5bfa5fde86e5698127edf611c9ba1c3b5fad0179d999003801097b SHA512 2b3de9e53b8cb911a5ab1a1181f734fb115f77b2ceeadaaf04eaaf776eb476150633d307431c7294a602ab48a6fb9c7172fbf057c1ec0d2155c8a5eb72953ef0 WHIRLPOOL 624f24a298c30c61036daf00a525e06a43c95ce46fd00315188ab8e4f69396a1473fd57d4674f053147b21ed455f34e905fe7534ba70bea586c70b427c125224
+EBUILD openmpi-1.8.8.ebuild 5550 SHA256 2e6b7826f6f3b16e65b3dcbdd2a1303c946180c610f857b3c2e6bacea8684429 SHA512 51a5e3282133dbcc1d54e21f5f3957804c32df6d799d968dba43263cb7aba089fe9f7338b09c0e285b2d007758d446a8e64a02b2609a211b03bf984ec0fe3192 WHIRLPOOL 52db3acfcd35809e2f737587647dbbf08e8470e0cc300f2b1b8a2472065b6fc739dec20fdf599d8c191524be9947fe14a3efd6cfcc14f11bacc860ce3734020a
+EBUILD openmpi-2.0.2.ebuild 5865 SHA256 2b115648f0eaa1fa1cac159238c3b70c5b316d371310d8d3f5069a5efce2a16c SHA512 52b5c8c601d20988b06fb96d88b4afa4d81c759ab5526ced4f5844e7fd7b94003dfeca2ab50c9344352d448a0dfc88a09effd518dfc91cebabb311427ebd35af WHIRLPOOL e47692aeb34d14fb82f884d160131a5c57ee271b94f69a7503859a9aa3eb310ee3e470ef05a550a4dccaa41b11503987897c1324686b4d15479e80dbb411d49d
+EBUILD openmpi-2.0.3.ebuild 5869 SHA256 6fa4e35ed7f96b6f762e38cdb7094809b94000c02dc83511569e4705a6d5c13e SHA512 3806f6cb1b58c7065f8762c3991a2b4cac3d66c86402f7107bb9c683c53415f0091145a69640ddd0209eba8c0eaa1b831a4ae38143643d92d5656e25abc9419d WHIRLPOOL 6297101ba2099ff43033cc0e29ef085c2b16ba757a0f08556b1dca290b1e329a42994b2f334b5df16736682d0d7a153b91477feb723fe754c4d13395dcab6541
+EBUILD openmpi-2.1.2.ebuild 5580 SHA256 60f61d68edb0ea8cf9148a4825af142ca81494173d30d0c6a7f02dcfb9beeefe SHA512 86bdd21e669732ee8bb13fb9b6461d75b7680dc5ee1ca90985562e479ab4df06f3bde2d7c4e765e3fbf893eb967f81d6092648eb16071e365ba008ab1dd0a2e5 WHIRLPOOL 443ef64891016239dffaad5c10c58cfa2d0a1de6d18e86b3ce9d6c5bf1d2f39b3cc216d3d084221c22e350d3f50168879207b7a1362fa9b6e016b54536fde95a
+MISC ChangeLog 6199 SHA256 527fd29f393545c06272aac0dd472b12d31e7fcfa18f6509d3afc21ab7e54dcc SHA512 f9dfbb1f4311f40d39bcbfebbe32152036d7a776611e151ada0806127fd5e6ef9e2da645782da08869e248a5dcd2cf789c39bd3e19f2131a6eb35c1849f28cef WHIRLPOOL 4aa0606aab2800e4f1a8f3110331d9bafa5077a57d1863b2d02e73cc5232f33a3518155dedbf2b5566d247cb1043a033eaad57fd47575b95c7f1183f343f3056
+MISC ChangeLog-2015 22605 SHA256 98728cdd98b01ef2bfddb2ab3e29c3593f561957385158cecff415a6ed440e9b SHA512 bdaec10229fb19b70c9c3bf601e40cc2d8796889b640a158a49e8db7304f1709c1532a22357ee78969bd5e96d0bba887fb56e9f5a3594d6e2d83eb56149a9277 WHIRLPOOL bfa30e308a856dd5673f69e053ce3608c6f64f3e0307a88f8764df98fcdad3921dc703806ccc47dcf3001645a989de32a5499dbf7369ae39171f62b833baa715
+MISC metadata.xml 901 SHA256 4dd4e2cb3cd8c47d97ddd98a966181d3eb968683fb6621f303b0178ee3702e96 SHA512 6f30f50d2f2173a01e7ef0d4b808352be98b64945b6af1f05cfaa28024f6efccad28984fe0ad31094f8822c5e251c1270765d5905c7737e1b84302143fe4ac09 WHIRLPOOL 0d39eb4ea06fc52023043732c1397ec778c8e033726aea1f6b3b9735722e02ca6b095cfb042c1ffcda36b3544a8559a584735adb2e8bab39fe2e53f3b30b43c2
diff --git a/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
new file mode 100644
index 000000000000..197430aee6f2
--- /dev/null
+++ b/sys-cluster/openmpi/files/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
@@ -0,0 +1,42 @@
+From 3bd5897c7ca8ab61fb024957aeae891e204b3e3f Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 1 Jul 2013 20:37:17 -0400
+Subject: [PATCH] hooks: disable malloc override inside of Gentoo sandbox
+
+As described in the comments in the source, Gentoo's own version of
+fakeroot, sandbox, also runs into hangs when malloc is overridden.
+Sandbox environments can easily be detected by looking for SANDBOX_PID
+in the environment. When detected, employ the same fix used for
+fakeroot.
+
+See https://bugs.gentoo.org/show_bug.cgi?id=462602
+---
+ opal/mca/memory/linux/hooks.c | 11 +++++++++--
+ 1 file changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/opal/mca/memory/linux/hooks.c b/opal/mca/memory/linux/hooks.c
+index 6a1646f..5ded08c 100644
+--- a/opal/mca/memory/linux/hooks.c
++++ b/opal/mca/memory/linux/hooks.c
+@@ -747,9 +747,16 @@ static void opal_memory_linux_malloc_init_hook(void)
+ "fakeroot" build environment that allocates memory during
+ stat() (see http://bugs.debian.org/531522). It may not be
+ necessary any more since we're using access(), not stat(). But
+- we'll leave the check, anyway. */
++ we'll leave the check, anyway.
++
++ This is also an issue when using Gentoo's version of 'fakeroot',
++ sandbox v2.5. Sandbox environments can also be detected fairly
++ easily by looking for SANDBOX_ON.
++ */
++
+ if (getenv("FAKEROOTKEY") != NULL ||
+- getenv("FAKED_MODE") != NULL) {
++ getenv("FAKED_MODE") != NULL ||
++ getenv("SANDBOX_ON") != NULL ) {
+ return;
+ }
+
+--
+1.8.1.5
+
diff --git a/sys-cluster/openmpi/files/openmpi-ltdl.patch b/sys-cluster/openmpi/files/openmpi-ltdl.patch
new file mode 100644
index 000000000000..a288ea272473
--- /dev/null
+++ b/sys-cluster/openmpi/files/openmpi-ltdl.patch
@@ -0,0 +1,78 @@
+diff -up openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl openmpi-1.6.3/ompi/debuggers/dlopen_test.c
+--- openmpi-1.6.3/ompi/debuggers/dlopen_test.c.ltdl 2012-04-03 08:30:25.000000000 -0600
++++ openmpi-1.6.3/ompi/debuggers/dlopen_test.c 2012-11-02 14:50:12.613702426 -0600
+@@ -13,7 +13,17 @@
+ #include <string.h>
+ #include <stdlib.h>
+
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+
+ static int do_test(void);
+
+diff -up openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl openmpi-1.6.3/ompi/debuggers/Makefile.am
+--- openmpi-1.6.3/ompi/debuggers/Makefile.am.ltdl 2012-04-03 08:30:25.000000000 -0600
++++ openmpi-1.6.3/ompi/debuggers/Makefile.am 2012-11-02 15:04:53.636926260 -0600
+@@ -47,7 +47,7 @@ headers = \
+
+ dlopen_test_SOURCES = dlopen_test.c
+ dlopen_test_CPPFLAGS = -I$(top_srcdir)/opal/libltdl
+-dlopen_test_LDADD = $(top_builddir)/opal/libltdl/libltdlc.la
++dlopen_test_LDADD = $(LIBLTDL)
+
+ predefined_gap_test_SOURCES = predefined_gap_test.c
+ predefined_gap_test_LDFLAGS = $(WRAPPER_EXTRA_LDFLAGS)
+diff -up openmpi-1.6.3/test/support/components.c.ltdl openmpi-1.6.3/test/support/components.c
+--- openmpi-1.6.3/test/support/components.c.ltdl 2012-04-03 08:29:44.000000000 -0600
++++ openmpi-1.6.3/test/support/components.c 2012-11-02 14:50:29.204705380 -0600
+@@ -24,7 +24,17 @@
+
+ #include "opal/constants.h"
+ #include "opal/mca/mca.h"
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+
+ #include "components.h"
+
+diff -up openmpi-1.6.3/test/support/components.h.ltdl openmpi-1.6.3/test/support/components.h
+--- openmpi-1.6.3/test/support/components.h.ltdl 2012-04-03 08:29:44.000000000 -0600
++++ openmpi-1.6.3/test/support/components.h 2012-11-02 14:50:22.409703519 -0600
+@@ -20,7 +20,17 @@
+ #ifndef OMPI_SUPPORT_COMPONENTS_H
+ #define OMPI_SUPPORT_COMPONENTS_H
+
+-#include "opal/libltdl/ltdl.h"
++#if OPAL_WANT_LIBLTDL
++ #ifndef __WINDOWS__
++ #if OPAL_LIBLTDL_INTERNAL
++ #include "opal/libltdl/ltdl.h"
++ #else
++ #include "ltdl.h"
++ #endif
++ #else
++ #include "ltdl.h"
++ #endif
++#endif
+ #include "opal/mca/mca.h"
+
+ BEGIN_C_DECLS
diff --git a/sys-cluster/openmpi/metadata.xml b/sys-cluster/openmpi/metadata.xml
new file mode 100644
index 000000000000..d909acfe0a0a
--- /dev/null
+++ b/sys-cluster/openmpi/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsbronder@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="cma">Enable the CMA (Cross Memory Attach) MCA</flag>
+ <flag name="cuda">Add GPU direct support</flag>
+ <flag name="heterogeneous">Enable features required for heterogeneous
+ platform support</flag>
+ <flag name="romio">Build the ROMIO MPI-IO component</flag>
+ <flag name="mpi-threads">Enable MPI_THREAD_MULTIPLE</flag>
+ <flag name="numa">Enable numactl to allow binding processes to CPUs</flag>
+ <flag name="vt">Enable bundled VampirTrace support</flag>
+ <flag name="pbs">Add support for the Portable Batch System (PBS)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/openmpi/openmpi-1.10.7.ebuild b/sys-cluster/openmpi/openmpi-1.10.7.ebuild
new file mode 100644
index 000000000000..b5f0b4edbf30
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.10.7.ebuild
@@ -0,0 +1,195 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+# dev-util/nvidia-cuda-toolkit is always multilib
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ !sys-cluster/mpiexec
+ >=dev-libs/libevent-2.0.21[${MULTILIB_USEDEP}]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-1.10.0-r2[${MULTILIB_USEDEP},numa?]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ if use mpi-threads; then
+ ewarn
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ ewarn
+ fi
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+ fi
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ECONF_SOURCE=${S} econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --enable-pretty-print-stacktrace \
+ --enable-orterun-prefix-by-default \
+ --with-hwloc="${EPREFIX}/usr" \
+ --with-libltdl="${EPREFIX}/usr" \
+ --enable-mpi-fortran=$(usex fortran all no) \
+ $(usex !vt --enable-contrib-no-build=vt "") \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(multilib_native_use_enable java) \
+ $(multilib_native_use_enable java mpi-java) \
+ $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(multilib_native_use_with openmpi_rm_pbs tm) \
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die
+ fi
+}
+
+multilib_src_install_all() {
+ # From USE=vt see #359917
+ rm -rf "${ED}"usr/share/libtool &> /dev/null || die
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"usr/include || die
+ fi
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"usr/include/event2 &> /dev/null || die
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ einstalldocs
+}
diff --git a/sys-cluster/openmpi/openmpi-1.4.3.ebuild b/sys-cluster/openmpi/openmpi-1.4.3.ebuild
new file mode 100644
index 000000000000..4b8de0f2d9e8
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.4.3.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs
+
+MY_P=${P/-mpi}
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+RESTRICT="mpi-threads? ( test )"
+KEYWORDS="alpha amd64 ia64 ppc ppc64 sparc x86 ~x86-fbsd"
+IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads pbs romio threads vt"
+RDEPEND="
+ pbs? ( sys-cluster/torque )
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --without-slurm)
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-progress-threads)
+ fi
+
+ if use fortran; then
+ if [[ $(tc-getFC) =~ g77 ]]; then
+ myconf+=(--disable-mpi-f90)
+ elif [[ $(tc-getFC) =~ if ]]; then
+ # Enabled here as gfortran compile times are huge with this enabled.
+ myconf+=(--with-mpi-f90-size=medium)
+ fi
+ else
+ myconf+=(--disable-mpi-f90 --disable-mpi-f77)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_with pbs tm) \
+ $(use_enable ipv6)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check || die "emake check failed"
+}
diff --git a/sys-cluster/openmpi/openmpi-1.4.5.ebuild b/sys-cluster/openmpi/openmpi-1.4.5.ebuild
new file mode 100644
index 000000000000..a810a5a3e3ce
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.4.5.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit eutils fortran-2 multilib flag-o-matic toolchain-funcs
+
+MY_P=${P/-mpi}
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v1.4/downloads/${MY_P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+RESTRICT="mpi-threads? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads pbs romio threads vt"
+RDEPEND="
+ pbs? ( sys-cluster/torque )
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --without-slurm)
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-progress-threads)
+ fi
+
+ if use fortran; then
+ if [[ $(tc-getFC) =~ g77 ]]; then
+ myconf+=(--disable-mpi-f90)
+ elif [[ $(tc-getFC) =~ if ]]; then
+ # Enabled here as gfortran compile times are huge with this enabled.
+ myconf+=(--with-mpi-f90-size=medium)
+ fi
+ else
+ myconf+=(--disable-mpi-f90 --disable-mpi-f77)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_with pbs tm) \
+ $(use_enable ipv6)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check || die "emake check failed"
+}
diff --git a/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild
new file mode 100644
index 000000000000..51c493411e17
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.6.5-r1.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools eutils fortran-2 multilib flag-o-matic toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_dapl
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm
+ openmpi_fabrics_sctp"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover
+ "
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="+cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ >=sys-apps/hwloc-1.3
+ dev-libs/libltdl:0
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_dapl? ( sys-fabric/dapl )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm )
+ openmpi_fabrics_sctp? ( net-misc/lksctp-tools )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )
+ "
+DEPEND="${RDEPEND}"
+# TODO: Newer releases of Vampir use otf2 which would resolve the above blockers.
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+
+ # https://svn.open-mpi.org/trac/ompi/ticket/3649
+ # https://svn.open-mpi.org/trac/ompi/ticket/3648
+ epatch "${FILESDIR}"/hooks-disable-malloc-override-inside-of-Gentoo-sandb.patch
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR="config opal/config orte/config ompi/config" eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(
+ --enable-mpi-thread-multiple
+ --enable-opal-multi-threads
+ )
+ fi
+
+ if use fortran; then
+ if [[ $(tc-getFC) =~ g77 ]]; then
+ myconf+=(--disable-mpi-f90)
+ elif [[ $(tc-getFC) =~ if ]]; then
+ # Enabled here as gfortran compile times are huge with this enabled.
+ myconf+=(--with-mpi-f90-size=medium)
+ fi
+ else
+ myconf+=(--disable-mpi-f90 --disable-mpi-f77)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_dapl udapl "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_ofed openib "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_fabrics_sctp sctp) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install || die "make install failed"
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check || die "emake check failed"
+}
diff --git a/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild
new file mode 100644
index 000000000000..ad59007d9d7b
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.7.5-r1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.7.2
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-opal-multi-threads)
+ fi
+
+ if use fortran; then
+ if [[ $(tc-getFC) =~ g77 ]]; then
+ myconf+=(--disable-mpi-f90)
+ elif [[ $(tc-getFC) =~ if ]]; then
+ # Enabled here as gfortran compile times are huge with this enabled.
+ myconf+=(--with-mpi-f90-size=medium)
+ fi
+ else
+ myconf+=(--disable-mpi-f90 --disable-mpi-f77)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "$EPREFIX"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+
+ # Do not override malloc during build. Works around #462602
+ emake -j1 check
+}
diff --git a/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild b/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild
new file mode 100644
index 000000000000..f028d4301614
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.4-r4.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit autotools cuda eutils flag-o-matic fortran-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="alpha ~amd64 ~ia64 ppc ppc64 sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 mpi-threads numa romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+RDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.9.1[numa?]
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )
+ "
+DEPEND="${RDEPEND}"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+
+ # https://github.com/open-mpi/ompi/issues/163
+ epatch "${FILESDIR}"/openmpi-ltdl.patch
+
+ AT_M4DIR=config eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl=external
+ )
+
+ if use mpi-threads; then
+ myconf+=(--enable-mpi-threads
+ --enable-opal-multi-threads)
+ fi
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
diff --git a/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild b/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild
new file mode 100644
index 000000000000..fccf7a7c8285
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.7-r1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda eutils flag-o-matic fortran-2 java-pkg-opt-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.9.1[numa?]
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl="${EPREFIX}/usr"
+ )
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_enable mpi-threads mpi-thread-multiple) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm) \
+ $(use_enable java) \
+ $(use_enable java mpi-java)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ if use java; then
+ local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
diff --git a/sys-cluster/openmpi/openmpi-1.8.8.ebuild b/sys-cluster/openmpi/openmpi-1.8.8.ebuild
new file mode 100644
index 000000000000..af6407a8a709
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-1.8.8.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda eutils flag-o-matic fortran-2 java-pkg-opt-2 multilib toolchain-funcs versionator
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_open-mx
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda +cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads vt
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+MPI_UNCLASSED_DEP_STR="
+ vt? (
+ !dev-libs/libotf
+ !app-text/lcdf-typetools
+ )"
+
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/mpiexec
+ dev-libs/libevent
+ dev-libs/libltdl:0
+ >=sys-apps/hwloc-1.9.1[numa?]
+ sys-libs/zlib
+ cuda? ( dev-util/nvidia-cuda-toolkit )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_open-mx? ( sys-cluster/open-mx )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ if use mpi-threads; then
+ echo
+ ewarn "WARNING: use of MPI_THREAD_MULTIPLE is still disabled by"
+ ewarn "default and officially unsupported by upstream."
+ ewarn "You may stop now and set USE=-mpi-threads"
+ echo
+ fi
+
+ echo
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ echo
+}
+
+src_prepare() {
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --enable-pretty-print-stacktrace
+ --enable-orterun-prefix-by-default
+ --with-hwloc="${EPREFIX}/usr"
+ --with-libltdl="${EPREFIX}/usr"
+ )
+
+ if use fortran; then
+ myconf+=(--enable-mpi-fortran=all)
+ else
+ myconf+=(--enable-mpi-fortran=no)
+ fi
+
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ! use vt && myconf+=(--enable-contrib-no-build=vt)
+
+ econf "${myconf[@]}" \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(use_enable mpi-threads mpi-thread-multiple) \
+ $(use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_open-mx mx "${EPREFIX}"/usr) \
+ $(use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(use_with openmpi_rm_pbs tm) \
+ $(use_with openmpi_rm_slurm slurm) \
+ $(use_enable java) \
+ $(use_enable java mpi-java)
+}
+
+src_install () {
+ emake DESTDIR="${D}" install
+
+ # From USE=vt see #359917
+ rm "${ED}"/usr/share/libtool &> /dev/null
+
+ # Avoid collisions with libevent
+ rm -rf "${ED}"/usr/include/event2 &> /dev/null
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}"/usr/$(get_libdir)/ -type f -name '*.la' -delete
+
+ if use java; then
+ local mpi_jar="${ED}"/usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ dodoc README AUTHORS NEWS VERSION || die
+}
+
+src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
diff --git a/sys-cluster/openmpi/openmpi-2.0.2.ebuild b/sys-cluster/openmpi/openmpi-2.0.2.ebuild
new file mode 100644
index 000000000000..5553a3fcd9ce
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-2.0.2.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+# dev-util/nvidia-cuda-toolkit is always multilib
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ !sys-cluster/mpiexec
+ >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+ fi
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ECONF_SOURCE=${S} econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --enable-pretty-print-stacktrace \
+ --enable-orterun-prefix-by-default \
+ --with-hwloc="${EPREFIX}/usr" \
+ --with-libltdl="${EPREFIX}/usr" \
+ --with-libevent="${EPREFIX}/usr" \
+ --enable-mpi-fortran=$(usex fortran all no) \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(multilib_native_use_enable java) \
+ $(multilib_native_use_enable java mpi-java) \
+ $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(multilib_native_use_with openmpi_rm_pbs tm) \
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"usr/include || die
+ fi
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ einstalldocs
+}
diff --git a/sys-cluster/openmpi/openmpi-2.0.3.ebuild b/sys-cluster/openmpi/openmpi-2.0.3.ebuild
new file mode 100644
index 000000000000..a711f2778004
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-2.0.3.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_connectx-xrc
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl
+ openmpi_ofed_features_failover"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_connectx-xrc? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_failover? ( openmpi_fabrics_ofed )"
+
+# dev-util/nvidia-cuda-toolkit is always multilib
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ !sys-cluster/mpiexec
+ >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+ fi
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ECONF_SOURCE=${S} econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --enable-pretty-print-stacktrace \
+ --enable-orterun-prefix-by-default \
+ --with-hwloc="${EPREFIX}/usr" \
+ --with-libltdl="${EPREFIX}/usr" \
+ --with-libevent="${EPREFIX}/usr" \
+ --enable-mpi-fortran=$(usex fortran all no) \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(multilib_native_use_enable java) \
+ $(multilib_native_use_enable java mpi-java) \
+ $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(multilib_native_use_enable openmpi_ofed_features_connectx-xrc openib-connectx-xrc) \
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(multilib_native_use_enable openmpi_ofed_features_failover btl-openib-failover) \
+ $(multilib_native_use_with openmpi_rm_pbs tm) \
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm "${ED}"usr/include/mpif* "${ED}"usr/bin/mpif* || die
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"usr/include || die
+ fi
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ einstalldocs
+}
diff --git a/sys-cluster/openmpi/openmpi-2.1.2.ebuild b/sys-cluster/openmpi/openmpi-2.1.2.ebuild
new file mode 100644
index 000000000000..0ef453d9dc78
--- /dev/null
+++ b/sys-cluster/openmpi/openmpi-2.1.2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+FORTRAN_NEEDED=fortran
+
+inherit cuda flag-o-matic fortran-2 java-pkg-opt-2 toolchain-funcs versionator multilib-minimal
+
+MY_P=${P/-mpi}
+S=${WORKDIR}/${MY_P}
+
+IUSE_OPENMPI_FABRICS="
+ openmpi_fabrics_ofed
+ openmpi_fabrics_knem
+ openmpi_fabrics_psm"
+
+IUSE_OPENMPI_RM="
+ openmpi_rm_pbs
+ openmpi_rm_slurm"
+
+IUSE_OPENMPI_OFED_FEATURES="
+ openmpi_ofed_features_control-hdr-padding
+ openmpi_ofed_features_udcm
+ openmpi_ofed_features_rdmacm
+ openmpi_ofed_features_dynamic-sl"
+
+DESCRIPTION="A high-performance message passing library (MPI)"
+HOMEPAGE="http://www.open-mpi.org"
+SRC_URI="http://www.open-mpi.org/software/ompi/v$(get_version_component_range 1-2)/downloads/${MY_P}.tar.bz2"
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux"
+IUSE="cma cuda cxx elibc_FreeBSD fortran heterogeneous ipv6 java mpi-threads numa romio threads
+ ${IUSE_OPENMPI_FABRICS} ${IUSE_OPENMPI_RM} ${IUSE_OPENMPI_OFED_FEATURES}"
+
+REQUIRED_USE="openmpi_rm_slurm? ( !openmpi_rm_pbs )
+ openmpi_rm_pbs? ( !openmpi_rm_slurm )
+ openmpi_fabrics_psm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_control-hdr-padding? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_udcm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_rdmacm? ( openmpi_fabrics_ofed )
+ openmpi_ofed_features_dynamic-sl? ( openmpi_fabrics_ofed )"
+
+# dev-util/nvidia-cuda-toolkit is always multilib
+CDEPEND="
+ !sys-cluster/mpich
+ !sys-cluster/mpich2
+ !sys-cluster/nullmpi
+ !sys-cluster/mpiexec
+ >=dev-libs/libevent-2.0.22[${MULTILIB_USEDEP},threads]
+ dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=sys-apps/hwloc-1.11.2[${MULTILIB_USEDEP},numa?]
+ >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
+ cuda? ( >=dev-util/nvidia-cuda-toolkit-6.5.19-r1 )
+ elibc_FreeBSD? ( dev-libs/libexecinfo )
+ openmpi_fabrics_ofed? ( sys-fabric/ofed:* )
+ openmpi_fabrics_knem? ( sys-cluster/knem )
+ openmpi_fabrics_psm? ( sys-fabric/infinipath-psm:* )
+ openmpi_rm_pbs? ( sys-cluster/torque )
+ openmpi_rm_slurm? ( sys-cluster/slurm )
+ openmpi_ofed_features_rdmacm? ( sys-fabric/librdmacm:* )"
+
+RDEPEND="${CDEPEND}
+ java? ( >=virtual/jre-1.6 )"
+
+DEPEND="${CDEPEND}
+ java? ( >=virtual/jdk-1.6 )"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/mpi.h
+ /usr/include/openmpi/ompi/mpi/java/mpiJava.h
+)
+
+pkg_setup() {
+ fortran-2_pkg_setup
+ java-pkg-opt-2_pkg_setup
+
+ elog
+ elog "OpenMPI has an overwhelming count of configuration options."
+ elog "Don't forget the EXTRA_ECONF environment variable can let you"
+ elog "specify configure options if you find them necessary."
+ elog
+}
+
+src_prepare() {
+ default
+
+ # Necessary for scalibility, see
+ # http://www.open-mpi.org/community/lists/users/2008/09/6514.php
+ if use threads; then
+ echo 'oob_tcp_listen_mode = listen_thread' \
+ >> opal/etc/openmpi-mca-params.conf || die
+ fi
+}
+
+multilib_src_configure() {
+ if use java; then
+ # We must always build with the right -source and -target
+ # flags. Passing flags to javac isn't explicitly supported here
+ # but we can cheat by overriding the configure test for javac.
+ export ac_cv_path_JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
+ fi
+
+ ECONF_SOURCE=${S} econf \
+ --sysconfdir="${EPREFIX}/etc/${PN}" \
+ --enable-pretty-print-stacktrace \
+ --enable-orterun-prefix-by-default \
+ --with-hwloc="${EPREFIX}/usr" \
+ --with-libltdl="${EPREFIX}/usr" \
+ --with-libevent="${EPREFIX}/usr" \
+ --enable-mpi-fortran=$(usex fortran all no) \
+ $(use_enable cxx mpi-cxx) \
+ $(use_with cma) \
+ $(use_with cuda cuda "${EPREFIX}"/opt/cuda) \
+ $(use_enable romio io-romio) \
+ $(use_enable heterogeneous) \
+ $(use_enable ipv6) \
+ $(multilib_native_use_enable java) \
+ $(multilib_native_use_enable java mpi-java) \
+ $(multilib_native_use_enable mpi-threads mpi-thread-multiple) \
+ $(multilib_native_use_with openmpi_fabrics_ofed verbs "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_knem knem "${EPREFIX}"/usr) \
+ $(multilib_native_use_with openmpi_fabrics_psm psm "${EPREFIX}"/usr) \
+ $(multilib_native_use_enable openmpi_ofed_features_control-hdr-padding openib-control-hdr-padding) \
+ $(multilib_native_use_enable openmpi_ofed_features_rdmacm openib-rdmacm) \
+ $(multilib_native_use_enable openmpi_ofed_features_udcm openib-udcm) \
+ $(multilib_native_use_enable openmpi_ofed_features_dynamic-sl openib-dynamic-sl) \
+ $(multilib_native_use_with openmpi_rm_pbs tm) \
+ $(multilib_native_use_with openmpi_rm_slurm slurm)
+}
+
+multilib_src_test() {
+ # Doesn't work with the default src_test as the dry run (-n) fails.
+ emake -j1 check
+}
+
+multilib_src_install() {
+ default
+
+ # fortran header cannot be wrapped (bug #540508), workaround part 1
+ if multilib_is_native_abi && use fortran; then
+ mkdir "${T}"/fortran || die
+ mv "${ED}"usr/include/mpif* "${T}"/fortran || die
+ else
+ # some fortran files get installed unconditionally
+ rm \
+ "${ED}"usr/include/mpif* \
+ "${ED}"usr/bin/mpif* \
+ "${ED}"usr/bin/oshfort \
+ "${ED}"usr/bin/shmemfort \
+ || die
+ fi
+}
+
+multilib_src_install_all() {
+ # fortran header cannot be wrapped (bug #540508), workaround part 2
+ if use fortran; then
+ mv "${T}"/fortran/mpif* "${ED}"usr/include || die
+ fi
+
+ # Remove la files, no static libs are installed and we have pkg-config
+ find "${ED}" -name '*.la' -delete || die
+
+ if use java; then
+ local mpi_jar="${ED}"usr/$(get_libdir)/mpi.jar
+ java-pkg_dojar "${mpi_jar}"
+ # We don't want to install the jar file twice
+ # so let's clean after ourselves.
+ rm "${mpi_jar}" || die
+ fi
+
+ einstalldocs
+}
diff --git a/sys-cluster/openstack-meta/Manifest b/sys-cluster/openstack-meta/Manifest
new file mode 100644
index 000000000000..3086ac187ebf
--- /dev/null
+++ b/sys-cluster/openstack-meta/Manifest
@@ -0,0 +1,6 @@
+EBUILD openstack-meta-2016.2.9999.ebuild 615 SHA256 b932fbcf2c2a5a43906b81b87945e5d6ce25661060480a2e041bf7fa64ef5167 SHA512 3ecb4da9176487240fc53d853cda6e8257fc2fe761508b0e3ebb0148ed47cbc93ce967e4f6a30036113d4997537a0f146160b34d5be5922d1d6be2f2e35ce5d1 WHIRLPOOL ae6beb35fcf5b47618c926f8cee58946ff50f51cfb955ec3272a3f3b4713cbe5297fad083cfdf33d8183b6c33b366c3ef6e388e592f1deba06decd5d9eba377f
+EBUILD openstack-meta-2017.1.9999.ebuild 616 SHA256 02c3540d2471b68b8e8c676733d9cabcc2e4498b31b8ee5e7c5c6fb5a392797d SHA512 c81135f7019bb9dafbb5da967a559848cac7445728beb76749dbac3881ae5945e8518cf21b3528daf2f8010887e3cccd22d1148797d054f24b9a62278d6e82c3 WHIRLPOOL 90fec1934d21d7149339baf73dec1ff82743f93ecdc70c71ad8fcb922d0852b3cf4fd3d4985c66d3891d31abb3380a3d9d45e8724e34457fc4932b9ea7636d67
+EBUILD openstack-meta-2017.2.9999.ebuild 616 SHA256 02c3540d2471b68b8e8c676733d9cabcc2e4498b31b8ee5e7c5c6fb5a392797d SHA512 c81135f7019bb9dafbb5da967a559848cac7445728beb76749dbac3881ae5945e8518cf21b3528daf2f8010887e3cccd22d1148797d054f24b9a62278d6e82c3 WHIRLPOOL 90fec1934d21d7149339baf73dec1ff82743f93ecdc70c71ad8fcb922d0852b3cf4fd3d4985c66d3891d31abb3380a3d9d45e8724e34457fc4932b9ea7636d67
+MISC ChangeLog 3442 SHA256 70495346ba00a4fa94cba2fff8d276ad942b875814953f3f9653fbce85af0d79 SHA512 90adc4f7070cc9910785f4f754d75fb18e4db824dc0a79368fa66e72643c143b4af774428b0a49985a6c1c6bf7df7628e3ae38382a59b19243cb91022bf31d4f WHIRLPOOL 4837b023473b260dc20e8a6abcaad8557ec9a86fe2220bc5a4d6597a95dd4afbc0c0a52d4f696af428aa8c1c1d29155fcf17497a4f25b9824cc244a676df47c3
+MISC ChangeLog-2015 1394 SHA256 95b539e23232cc8465e5f34016ef3217ab8a75226fcf62b7e8c62235cdf475c3 SHA512 945418b68c4b1bd5902ce73ac82de481e5ed4085181d0491f1cd62e96fa0148c27f590b59488f4fbb36bea380300474ab6f7ca8237b1fef2c9ef543a96b592ca WHIRLPOOL f0d84823cc76517ef399bafe705c791d8d9cd7bb02dc085e0ce9b9b308c70018c746fce5d882826054fa6fd7e4130fb1c0117162f6dcde67aeffd68dcab29dbd
+MISC metadata.xml 868 SHA256 acfea9094bce26b731e1786296fa5582c030bed509e0aab513903c478ee01166 SHA512 20cad66e79a57fbe4e17bd8bd53a30b71746f5efa8ddaa9c6c7bebfa8db5fd64275dc213f927c433f1e6621d1b5d053efaef38c1144806cf736c44b56c5d967c WHIRLPOOL 4538336541a0f1e2a2ed60cc4ecb8c8f4629ab3f5c932eccf32c02f96e8a6539ca48befe2926eb90660a1be410ef98d0de4ad818aee7539a888834a19710318d
diff --git a/sys-cluster/openstack-meta/metadata.xml b/sys-cluster/openstack-meta/metadata.xml
new file mode 100644
index 000000000000..bc6326bac805
--- /dev/null
+++ b/sys-cluster/openstack-meta/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ An openstack meta package to allow for easier installation of openstack.
+ </longdescription>
+ <use>
+ <flag name="keystone">Installs Openstack Keystone</flag>
+ <flag name="swift">Installs Openstack Swift</flag>
+ <flag name="glance">Installs Openstack Glance</flag>
+ <flag name="cinder">Installs Openstack Cinder</flag>
+ <flag name="neutron">Installs Openstack Neutron</flag>
+ <flag name="nova">Installs Openstack Nova</flag>
+ <flag name="heat">Installs Openstack Heat</flag>
+ <!-- <flag name="horizon">Installs Openstack Horizon</flag> -->
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild
new file mode 100644
index 000000000000..0d8f1662a682
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2016.2.9999.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="cinder glance heat keystone neutron nova swift"
+
+DEPEND=""
+RDEPEND="
+ keystone? ( ~sys-auth/keystone-${PV} )
+ swift? ( <sys-cluster/swift-2.11 )
+ neutron? ( ~sys-cluster/neutron-${PV} )
+ glance? ( ~app-admin/glance-${PV} )
+ cinder? ( ~sys-cluster/cinder-${PV} )
+ nova? ( ~sys-cluster/nova-${PV} )
+ heat? ( ~sys-cluster/heat-${PV} )
+"
diff --git a/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild
new file mode 100644
index 000000000000..59b9ec4d4271
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2017.1.9999.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="cinder glance heat keystone neutron nova swift"
+
+DEPEND=""
+RDEPEND="
+ keystone? ( ~sys-auth/keystone-${PV} )
+ swift? ( ~sys-cluster/swift-${PV} )
+ neutron? ( ~sys-cluster/neutron-${PV} )
+ glance? ( ~app-admin/glance-${PV} )
+ cinder? ( ~sys-cluster/cinder-${PV} )
+ nova? ( ~sys-cluster/nova-${PV} )
+ heat? ( ~sys-cluster/heat-${PV} )
+"
diff --git a/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild b/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild
new file mode 100644
index 000000000000..59b9ec4d4271
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2017.2.9999.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="cinder glance heat keystone neutron nova swift"
+
+DEPEND=""
+RDEPEND="
+ keystone? ( ~sys-auth/keystone-${PV} )
+ swift? ( ~sys-cluster/swift-${PV} )
+ neutron? ( ~sys-cluster/neutron-${PV} )
+ glance? ( ~app-admin/glance-${PV} )
+ cinder? ( ~sys-cluster/cinder-${PV} )
+ nova? ( ~sys-cluster/nova-${PV} )
+ heat? ( ~sys-cluster/heat-${PV} )
+"
diff --git a/sys-cluster/osc-mpiexec/Manifest b/sys-cluster/osc-mpiexec/Manifest
new file mode 100644
index 000000000000..de7fcf54d16f
--- /dev/null
+++ b/sys-cluster/osc-mpiexec/Manifest
@@ -0,0 +1,5 @@
+DIST mpiexec-0.83.tgz 207619 SHA256 4485c6f5ced0889ea7fb88b49af001904348dee24a23cd85dd8402f606e2128d SHA512 e82828bad6d6f0cf8b2fa879d239460483af5164f696b26b21b138eeddf0d63a37748f8b540ceba6d328f90a64797a337934ba7152bdf2cbdde40be3f990a57d WHIRLPOOL e498f6e95daa459bdf7697d761b2daedc6005b07350c32a2a19b8ff0a6cb556262acf4012e5036d9efe3dd28487308682afa69b1b715d22a482227498e6d0cd5
+EBUILD osc-mpiexec-0.83.ebuild 1856 SHA256 b16aa951a9ad8e9d04b72b86ec2ad1028492822c3f452ae49033144ebca4a0f2 SHA512 d633f9b437ab6417b8bff2cc8475db8f9ad6111255bb6aeb731226982cb1f947ddfaa8b60fdc00aa16f43c029eb241a946dffaab8a950e70816929b03392e10d WHIRLPOOL 42088087453a4c7ce7b06b628bb104714dd48c2555e4fc3eb69460c328ca1744201820e554c4528b3734da05550448d4c71f3afa1b038d58ef9f484bad99c311
+MISC ChangeLog 2440 SHA256 8f5471ac8835cda0cf0cf2d728b40560f082a771152bde9728110e19f55be697 SHA512 08ffc741dbdc2432c02c4a5622497bdb12ec41aafec78a1461e7f1d0436f072c94dd2c7a9764b5bb23cd16640d7bfc7766e6ef8844a4300e4668a230fd69eaea WHIRLPOOL a43505adcaedfed95a41f301ed1daf2bb4d12b2441524d86081050666f08fbe0713e98a76295e81dbf618d634c64dc4bd0c3e976956e56a0de908f7fefad252a
+MISC ChangeLog-2015 1086 SHA256 62233b943c3504e398c2001f80289fdd33a7bc45d5a553736a3437b596a5e441 SHA512 d3b29efe967c8fc6bdfab8aad1d8a105f3fd5046811865bca994a9f4dea7bc271bf79b65085a358bac87d301233c1fee910e27a1489c472a684b1126df610556 WHIRLPOOL bdd982765f0ba630c2c9d439effd63d8a7a211d70f5027e229897400fbf8101c1072577a6e813cddd6d4acba375b6e6a77366af6b9c504183b10a46207c58328
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/osc-mpiexec/metadata.xml b/sys-cluster/osc-mpiexec/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/osc-mpiexec/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild b/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild
new file mode 100644
index 000000000000..58b0836bf837
--- /dev/null
+++ b/sys-cluster/osc-mpiexec/osc-mpiexec-0.83.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+MY_PN=${PN#osc-}
+DESCRIPTION="replacement for mpirun, integrates MPI with PBS"
+SRC_URI="http://www.osc.edu/~djohnson/mpiexec/${MY_PN}-${PV}.tgz"
+HOMEPAGE="http://www.osc.edu/~djohnson/mpiexec/index.php"
+
+DEPEND="sys-cluster/torque"
+RDEPEND="${DEPEND}
+ net-misc/openssh"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="amd64 ~ppc x86"
+IUSE=""
+
+S="${WORKDIR}"/${MY_PN}-${PV}
+
+RESTRICT="test"
+# The test suite that is included with the source requires
+# the ability to qsub a number of jobs. Such behavior
+# obviously does not belong in the ebuild.
+
+src_compile() {
+ local c="--with-default-comm=mpich-p4
+ --with-pbs=/usr/
+ --with-mpicc=/usr/bin/mpicc
+ --with-mpif77=/usr/bin/mpif77"
+
+ # The following at the recommendation of README, Cray specific.
+ c="${c} --disable-mpich-rai"
+
+ econf ${c} || die
+ emake || die "compile failed"
+}
+
+src_install() {
+ local f
+ emake DESTDIR="${D}" install || die
+
+ # And the following so that osc-mpiexec doesn't conflict with
+ # the packaged mpiexec's that all the MPI-2 implementations have.
+ for f in $(find "${D}" -name 'mpiexec*'); do
+ mv ${f} $(dirname ${f})/osc-$(basename ${f}) \
+ || die "Failed to prefix binary ${f} with osc-"
+ done
+
+ dodoc README README.lam ChangeLog
+}
+
+pkg_postinst() {
+ elog "The OSC Mpiexec package typically installs it's binaries"
+ elog "and manpages as 'mpiexec'. However, this ebuild renames"
+ elog "those to be prefixed with 'osc-' in order to avoid blocking"
+ elog "against the exact packages that osc-mpiexec is meant to"
+ elog "work with."
+ elog
+ elog "The default communication device has been set to mpich-p4"
+ elog "(ethernet). If you wish to use another communication"
+ elog "device, either set MPIEXEC_COMM in your environment or use"
+ elog "the --comm argument to mpiexec."
+}
diff --git a/sys-cluster/pacemaker/Manifest b/sys-cluster/pacemaker/Manifest
new file mode 100644
index 000000000000..b5d71c74980f
--- /dev/null
+++ b/sys-cluster/pacemaker/Manifest
@@ -0,0 +1,15 @@
+AUX pacemaker-1.1.10-tinfo.patch 767 SHA256 5ed6ba9d70df8c288005cf73d9080cd842998485565ba9aa5b62ba69873c0949 SHA512 2418cb275d69e5a589ed5e7aba707719c23bbdae83f2700b4fdabe9df03bf6f6922ef7db6f09b0c06d6d66e8cd661eed37f9c905a5781f865842517a3bd56358 WHIRLPOOL e7e0291140e302fcbd007befaf7ca87ecc2da437ab79cb5bd8db1feee7c58e76d97cabe2296ee29cdcf1d1c3dff2ac572708afa381727201199958b3a7ffb822
+AUX pacemaker-1.1.12-glib.patch 1634 SHA256 577cad59c99929397b45a9e76fa0b15848259bcab40815f7ffad49218b86fdb9 SHA512 11d95e0b85c61b845d9465d1d5dd6ebf2b33a3cba40a89a085fbe4c16eabbc9262546a62fbcdcaab22071de2bbb3967e041527965b61d8bf9a978904128cba0b WHIRLPOOL ea0a481afce1cc2e82deea45c63f1321315cc56c3898174671ccf45c42823f90a330adcd63868cd372eafe3e1e7434636082a666614e24130c686409d81c7947
+AUX pacemaker-1.1.12-stonith.patch 690 SHA256 85e7ce9239b239236eab0aa7d6ba6d3d50c449a9abf954eb31c1d4b244f84e72 SHA512 168811591d18aea99d260c53d4e8307a8c65e0b756f50cd939d05c37697e1c2d0018d3422065add6d126ca23e4fc2371cf8d9f24e68bac2bab74d438112d80d1 WHIRLPOOL c311318f2d5318b778b44e0373954e20ccf661db53f09a9f253b7089dfece178b8566133d3042e449e0ae2284b07bdc1766317ee555eaca0f331ceb8af33b8ae
+AUX pacemaker.initd 862 SHA256 0b22c755fa0333f2d72526b5d70549f4fe61c783331e73c86e15c30a433c9e1f SHA512 9578a47ea9271a5b8b5939dc32ff49736504c2e6318f3e9f906b554b1b11a334c01cae8900e946318cdffd3cf9611d748013bdcc63b3ae68919709ebb12e7e7c WHIRLPOOL 915713c85e4061fc20b56082aea3952896e64c3529868a588b897171db5abbef08b21a1f711ddcc946e74a7c91806f80196714594cfa0207c7c4947ab7c561d4
+AUX pacemaker.service 105 SHA256 43034635a3a92ef55bf638ea3e29c2285240228283a70fbd88fe5e28c0d57c8c SHA512 478e1040811f16c0c26fad8feb55cf803e5c4ec4a25e7c82ec771663f25270500fce2dd53622abd7126006c4629bdc3a82fb7f16361eb19543619824a56e848b WHIRLPOOL ec891f83ec9f561060b08bd39e9e0ecf5b243617958bd68f07a2f087a881af85895a4f25f810657ababb6d4541dfcc63e59e195fb6006717dc0cb69a1f869376
+AUX ping 10389 SHA256 021c85d8019b182be7a3603d3363328219ba0b165ea2fe37495dc77d0308f2b4 SHA512 832cd68dab0844b9cee1d1b1453314d42497bc497e97a5cbb78aafbd43b696aa97786b71d1b4d175c1aa8c5f7f240432f1fd4421d16a40ceecdc008d911c0288 WHIRLPOOL 2919972abd1eb4cc78952d39021fcddae07de3f5c193f4872bef07a7745d5d956ba3fff4610f32ef6a107acce6245ad0b8b919585619fe8a03f5436f15b3ce80
+DIST Pacemaker-1.1.12.tar.gz 10459675 SHA256 f5c72b609fac18d362880d120f08f990e8afd9388e6ff86c55cd93900ba54d9c SHA512 cf88a313f5e91f445a159a5d800d27fd891f63c082c92d3f09bfd2aff856325e8ef6e0ebab8c0b2b9cd6eb15cc593c58c8e23e888e17d5286ebc651dd096f9c1 WHIRLPOOL e737d70288936d2f76d310848940bde78537c32e703c68d8dd37a78e54a66dc9d34cf2fe0037f1621fbc5ba10bb9688490da96394cde65f0668d4b62eccf3f03
+DIST Pacemaker-1.1.14.tar.gz 4729808 SHA256 2f73043a5de5e66a47462d37cd68c4c6861f71a03c0ea02eb4ae2b1a550cd7b0 SHA512 81927061bcc0a0b88c472f87a2cbdb26b88a2443b06112cd8c8d58d8491da4e9ae03997108c9d40aa408e80e2998bdc0ac03691f1732d2629c4cef0adcc4b7fa WHIRLPOOL cbae34051a406a9379157fe13171ea8b04c9793528c5f346a7845b2ffa894df4a74fd008e708d99207c6064acf2a39bf569dff0200c47552c0b3b124de00e7eb
+DIST Pacemaker-1.1.16.tar.gz 4897772 SHA256 dffcae035975669a66ab545d45216a637496a251ee2114fa03d58acfcc969202 SHA512 967c860fab7b9e73dd8643e6d09083a2a1298a77d71c3b138187803c89153bee7219da13e6b94b20f2881b53ba7fc1c8584a43ff058a265e76708fd5dbccf534 WHIRLPOOL 8beb0188968743d6415c7158790582f01192a643a13246e61cafd6eb8e0d22cd2565dd31e5cfcda04b3aa3e9c749b4c1f0c44bd9419c3fffcc815909e836a92f
+EBUILD pacemaker-1.1.12-r2.ebuild 2357 SHA256 a410522c772ca704ef6394ab90ae023c0d1c0667d85ec02d48075a52ce76f761 SHA512 2d1eceed9491e95b2e87b37056ea8b63c1a0fc491ed88a91d4e80a0c79144714392887547f5491ec2c43c9eed272a217fc847097bd5e4dbc6517f8d5b34924f4 WHIRLPOOL 53c34f179b7c6b91b8774115c849606d4618b5b2856b5f6e143c573f6ad30c8029fd1344556791218864e37263d76824f10421139a04b981a7d6617cf2c05a71
+EBUILD pacemaker-1.1.14.ebuild 2197 SHA256 ca8c48d1db3e32fd6cf957af2f96b2d67ac364102cd584b4c177007f3f441c44 SHA512 e39e2084d9a409df027cf3fa9f506e8b5076ac93c6217219d29e19d1b69585ce42094e4873ed8249366abb1b330dd13565a1b0363f5993946fa197ca908ff13c WHIRLPOOL 8a9098b8e876b97678a8b27f4db328e1d0a4aeacff85d8b272be4cf0289388849a6482536ced08259580318cf753b80495916e67f16d026f9a246b031d6f4b0b
+EBUILD pacemaker-1.1.16.ebuild 1801 SHA256 8a5fe2a0c9578a03bf10860155e72ff02db8bac532c27d9ad9f4af375620cbbf SHA512 c01c388c60cbd0be7bef5b7df979994fc57cf0ed2ab4b047c6ab64fcc794d8e62b6778871206fc6d2cfbaf191cc75e6aea5c5458ac2442b2d60f92fe2b7d9b53 WHIRLPOOL a3e0bae2bdb0ac005018795aed526aaae9fae388fc035e6ad5deb1bd3edbdfe3e99ab565870675b127d32fdf54a1bf68269712b477d13425da867c238c8cf194
+MISC ChangeLog 3264 SHA256 a9e5b5eb2db190c0d44147947d421342c0c34556cab75432f251e31b6fef8855 SHA512 ce1c6977a6f90f1b56364c468533b91ff101bc0b9ad86fed50ebd77c5d2f61a079507e0c477863095b547aa73641ae245bea553f593f7fe1714f8e4e8bed4262 WHIRLPOOL a77f6cfd51b825f16743a77dc76336734b03089ad5b5d806956816b0d7ea3f71ef3e6aa4275f3d47eb5b6cd34fcb532a3f4d0ea5a215773e5b6d5dfecfebaa2f
+MISC ChangeLog-2015 8024 SHA256 7c53f5f74ec8cf5d30d97a1a5ea752524b0b5cdf2a6a48de3fb5382412f23750 SHA512 fe69e97802784a74be5cd102b18ab6e1fac13927a2529e58d5a4035740cef11b8cee857b9fff708aeda614633c73fc903308561db08bbe9f1bde739d358ea0ca WHIRLPOOL 9ab3163a8c0565d19e7854fa3d6454c0955d9076fcbab745555a49fad215b7d57fb99f5c1ce8bbf0b6f086e10cced069f377b7fd5d3ae257af2a892b5a0b4005
+MISC metadata.xml 983 SHA256 181db433b3073e72221ac0b08fa2ea4df98f4de896ac190080daf7752c808fa6 SHA512 0e0f2363d68a4bfb4918b0ca59eca6377c30f6a56a80eb9b12f14a13f59b2a52c3a74ae2152b9866a82b451c75bf14e6040d650733373237c3e9fcc68b38f157 WHIRLPOOL 022877eb7bb335f3215d2b953d6e6ca508b8b4e2644fba29effc4be090a280ccee37d386ed30270b9491b17f21a933b44f4560df1bc4e2795d6a9d5a1b3da1a9
diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch
new file mode 100644
index 000000000000..1dba440c9e79
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker-1.1.10-tinfo.patch
@@ -0,0 +1,21 @@
+--- a/configure.ac 2014-12-12 14:13:07.262413254 +0100
++++ b/configure.ac 2014-12-12 14:13:14.922480835 +0100
+@@ -885,14 +885,16 @@
+ CURSESLIBS=''
+ if test "$ac_cv_header_ncurses_h" = "yes"; then
+ AC_CHECK_LIB(ncurses, printw,
+- [CURSESLIBS='-lncurses'; AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)]
++ [AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)]
+ )
++ CURSESLIBS=`$PKGCONFIG --libs ncurses`;
+ fi
+
+ if test "$ac_cv_header_ncurses_ncurses_h" = "yes"; then
+ AC_CHECK_LIB(ncurses, printw,
+- [CURSESLIBS='-lncurses'; AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)]
++ [AC_DEFINE(HAVE_LIBNCURSES,1, have ncurses library)]
+ )
++ CURSESLIBS=`$PKGCONFIG --libs ncurses`;
+ fi
+
+ dnl Only look for non-n-library if there was no n-library.
diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch
new file mode 100644
index 000000000000..8233f98a17e8
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch
@@ -0,0 +1,47 @@
+From 568e41db929a34106c8c2ff7c48716ab5c13ef49 Mon Sep 17 00:00:00 2001
+From: Andrew Beekhof <andrew@beekhof.net>
+Date: Mon, 13 Oct 2014 13:30:58 +1100
+Subject: [PATCH] Fix: lrmd: Prevent glib assert triggered by timers being
+ removed from mainloop more than once
+
+---
+ lib/services/services.c | 3 +++
+ lib/services/services_linux.c | 1 +
+ 2 files changed, 4 insertions(+)
+
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -313,6 +313,7 @@ services_action_free(svc_action_t * op)
+
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ if (op->opaque->stderr_gsource) {
+ mainloop_del_fd(op->opaque->stderr_gsource);
+@@ -425,6 +426,7 @@ services_action_kick(const char *name, c
+ } else {
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ recurring_action_timer(op);
+ return TRUE;
+@@ -459,6 +461,7 @@ handle_duplicate_recurring(svc_action_t
+ if (dup->pid != 0) {
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ recurring_action_timer(dup);
+ }
+--- a/lib/services/services_linux.c
++++ b/lib/services/services_linux.c
+@@ -226,6 +226,7 @@ recurring_action_timer(gpointer data)
+ op->stdout_data = NULL;
+ free(op->stderr_data);
+ op->stderr_data = NULL;
++ op->opaque->repeat_timer = 0;
+
+ services_action_async(op, NULL);
+ return FALSE;
diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch
new file mode 100644
index 000000000000..31c729559f35
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch
@@ -0,0 +1,21 @@
+Description: Fix: stonith-ng: Reset mainloop source IDs after removing them
+
+Origin: upstream, commit: 0326f05c9e26f39a394fa30830e31a76306f49c7
+Author: Andrew Beekhof <andrew@beekhof.net>
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1412962
+Last-Update: 2015-01-20
+
+--- a/lib/fencing/st_client.c
++++ b/lib/fencing/st_client.c
+@@ -663,9 +663,11 @@ stonith_action_async_done(mainloop_child
+
+ if (action->timer_sigterm > 0) {
+ g_source_remove(action->timer_sigterm);
++ action->timer_sigterm = 0;
+ }
+ if (action->timer_sigkill > 0) {
+ g_source_remove(action->timer_sigkill);
++ action->timer_sigkill = 0;
+ }
+
+ if (action->last_timeout_signo) {
diff --git a/sys-cluster/pacemaker/files/pacemaker.initd b/sys-cluster/pacemaker/files/pacemaker.initd
new file mode 100644
index 000000000000..8dbcea6ce37d
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE=/var/run/pacemaker.pid
+
+depend() {
+ need net corosync
+ use syslog
+}
+
+start() {
+ nc=0
+ ebegin "Starting Pacemaker Cluster Manager"
+
+ checkpath -d -m 0750 -o hacluster:haclient /var/run/crm
+
+ einfon "Waiting for Corosync startup ."
+ while true; do
+ /usr/sbin/corosync-cfgtool -s &>/dev/null && break
+ nc=$(expr $nc + 1)
+ if [ $nc -gt 30 ]; then
+ echo
+ eend 1 "Failed to detect Corosync startup, is it really running ?"
+ exit 1
+ fi
+ sleep 1
+ echo -n "."
+ done
+ echo
+ start-stop-daemon --start -q --exec /usr/sbin/pacemakerd \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Pacemaker Cluster Manager"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
diff --git a/sys-cluster/pacemaker/files/pacemaker.service b/sys-cluster/pacemaker/files/pacemaker.service
new file mode 100644
index 000000000000..6383499ba923
--- /dev/null
+++ b/sys-cluster/pacemaker/files/pacemaker.service
@@ -0,0 +1,5 @@
+service {
+ # Load the Pacemaker Cluster Resource Manager
+ name: pacemaker
+ ver: 1
+} \ No newline at end of file
diff --git a/sys-cluster/pacemaker/files/ping b/sys-cluster/pacemaker/files/ping
new file mode 100644
index 000000000000..52c4c3d4cad8
--- /dev/null
+++ b/sys-cluster/pacemaker/files/ping
@@ -0,0 +1,380 @@
+#!/bin/sh
+#
+#
+# Ping OCF RA that utilizes the system ping
+#
+# Copyright (c) 2009 Andrew Beekhof
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like. Any license provided herein, whether implied or
+# otherwise, applies only to this software file. Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+#
+
+#######################################################################
+# Initialization:
+
+: ${OCF_FUNCTIONS=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs}
+. ${OCF_FUNCTIONS}
+: ${__OCF_ACTION=$1}
+
+#######################################################################
+
+meta_data() {
+ cat <<END
+<?xml version="1.0"?>
+<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<resource-agent name="ping">
+<version>1.0</version>
+
+<longdesc lang="en">
+Every time the monitor action is run, this resource agent records (in the CIB) the current number of ping nodes the host can connect to.
+It is essentially the same as pingd except that it uses the system ping tool to obtain the results.
+</longdesc>
+<shortdesc lang="en">node connectivity</shortdesc>
+
+<parameters>
+
+<parameter name="pidfile" unique="0">
+<longdesc lang="en">PID file</longdesc>
+<shortdesc lang="en">PID file</shortdesc>
+<content type="string" default="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}" />
+</parameter>
+
+<parameter name="dampen" unique="0">
+<longdesc lang="en">
+The time to wait (dampening) further changes occur
+</longdesc>
+<shortdesc lang="en">Dampening interval</shortdesc>
+<content type="integer" default="5s"/>
+</parameter>
+
+<parameter name="name" unique="0">
+<longdesc lang="en">
+The name of the attributes to set. This is the name to be used in the constraints.
+</longdesc>
+<shortdesc lang="en">Attribute name</shortdesc>
+<content type="string" default="pingd"/>
+</parameter>
+
+<parameter name="multiplier" unique="0">
+<longdesc lang="en">
+The number by which to multiply the number of connected ping nodes by
+</longdesc>
+<shortdesc lang="en">Value multiplier</shortdesc>
+<content type="integer" default=""/>
+</parameter>
+
+<parameter name="host_list" unique="0" required="1">
+<longdesc lang="en">
+The list of ping nodes to count.
+</longdesc>
+<shortdesc lang="en">Host list</shortdesc>
+<content type="string" default=""/>
+</parameter>
+
+<parameter name="attempts" unique="0">
+<longdesc lang="en">
+Number of ping attempts, per host, before declaring it dead
+</longdesc>
+<shortdesc lang="en">no. of ping attempts</shortdesc>
+<content type="integer" default="2"/>
+</parameter>
+
+<parameter name="timeout" unique="0">
+<longdesc lang="en">
+How long, in seconds, to wait before declaring a ping lost
+</longdesc>
+<shortdesc lang="en">ping timeout in seconds</shortdesc>
+<content type="integer" default="2"/>
+</parameter>
+
+<parameter name="options" unique="0">
+<longdesc lang="en">
+A catch all for any other options that need to be passed to ping.
+</longdesc>
+<shortdesc lang="en">Extra Options</shortdesc>
+<content type="string" default=""/>
+</parameter>
+
+<parameter name="failure_score" unique="0">
+<longdesc lang="en">
+Resource is failed if the score is less than failure_score.
+Default never fails.
+</longdesc>
+<shortdesc lang="en">failure_score</shortdesc>
+<content type="integer" default=""/>
+</parameter>
+
+<parameter name="debug" unique="0">
+<longdesc lang="en">
+Enables to use default attrd_updater verbose logging on every call.
+</longdesc>
+<shortdesc lang="en">Verbose logging</shortdesc>
+<content type="string" default="false"/>
+</parameter>
+
+</parameters>
+
+<actions>
+<action name="start" timeout="60" />
+<action name="stop" timeout="20" />
+<action name="reload" timeout="100" />
+<action name="monitor" depth="0" timeout="60" interval="10"/>
+<action name="meta-data" timeout="5" />
+<action name="validate-all" timeout="30" />
+</actions>
+</resource-agent>
+END
+}
+
+#######################################################################
+
+ping_conditional_log() {
+ level=$1; shift
+ if [ ${OCF_RESKEY_debug} = "true" ]; then
+ ocf_log $level "$*"
+ fi
+}
+
+ping_usage() {
+ cat <<END
+usage: $0 {start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data}
+
+Expects to have a fully populated OCF RA-compliant environment set.
+END
+}
+
+ping_start() {
+ ping_monitor
+ if [ $? = $OCF_SUCCESS ]; then
+ return $OCF_SUCCESS
+ fi
+ touch ${OCF_RESKEY_pidfile}
+ ping_update
+}
+
+ping_stop() {
+
+ rm -f ${OCF_RESKEY_pidfile}
+
+ attrd_updater -D -n $OCF_RESKEY_name -d $OCF_RESKEY_dampen $attrd_options
+
+ return $OCF_SUCCESS
+}
+
+ping_monitor() {
+ if [ -f ${OCF_RESKEY_pidfile} ]; then
+ ping_update
+ if [ $? -eq 0 ]; then
+ return $OCF_SUCCESS
+ fi
+ return $OCF_ERR_GENERIC
+ fi
+ return $OCF_NOT_RUNNING
+}
+
+ping_validate() {
+ # Is the state directory writable?
+ state_dir=`dirname "$OCF_RESKEY_pidfile"`
+ touch "$state_dir/$$"
+ if [ $? != 0 ]; then
+ ocf_log err "Invalid location for 'state': $state_dir is not writable"
+ return $OCF_ERR_ARGS
+ fi
+ rm "$state_dir/$$"
+
+# Pidfile better be an absolute path
+ case $OCF_RESKEY_pidfile in
+ /*) ;;
+ *) ocf_log warn "You should use an absolute path for pidfile not: $OCF_RESKEY_pidfile" ;;
+ esac
+
+# Check the host list
+ if [ "x" = "x$OCF_RESKEY_host_list" ]; then
+ ocf_log err "Empty host_list. Please specify some nodes to ping"
+ exit $OCF_ERR_CONFIGURED
+ fi
+
+ check_binary ping
+
+ return $OCF_SUCCESS
+}
+
+
+fping_check() {
+ active=0
+ f_out=`mktemp`
+ f_err=`mktemp`
+
+ n=$OCF_RESKEY_attempts
+ timeout=`expr $OCF_RESKEY_timeout \* 1000 / $OCF_RESKEY_attempts`
+
+ cmd="fping -r $OCF_RESKEY_attempts -t $timeout -B 1.0 $OCF_RESKEY_host_list"
+ $cmd>$f_out 2>$f_err; rc=$?
+ active=`grep alive $f_out|wc -l`
+
+ case $rc in
+ 0)
+ ;;
+ 1)
+ for h in `grep unreachable $f_out | awk '{print $1}'`; do
+ ping_conditional_log warn "$h is inactive"
+ done
+ ;;
+ *)
+ ocf_log err "Unexpected result for '$cmd' $rc: `tr '\n' ';' < $f_err`"
+ ;;
+ esac
+ rm -f $f_out $f_err
+
+ return $active
+}
+
+ping_check() {
+ active=0
+ for host in $OCF_RESKEY_host_list; do
+ p_exe=ping
+
+ case `uname` in
+ Linux) p_args="-n -q -W $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts";;
+ Darwin) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";;
+ *) ocf_log err "Unknown host type: `uname`"; exit $OCF_ERR_INSTALLED;;
+ esac
+
+ case $host in
+ *:*) p_exe=ping6
+ esac
+
+ p_out=`$p_exe $p_args $OCF_RESKEY_options $host 2>&1`; rc=$?
+
+ case $rc in
+ 0) active=`expr $active + 1`;;
+ 1) ping_conditional_log warn "$host is inactive: $p_out";;
+ *) ocf_log err "Unexpected result for '$p_exe $p_args $OCF_RESKEY_options $host' $rc: $p_out";;
+ esac
+ done
+ return $active
+}
+
+ping_update() {
+
+ if have_binary fping; then
+ fping_check
+ active=$?
+ else
+ ping_check
+ active=$?
+ fi
+
+ score=`expr $active \* $OCF_RESKEY_multiplier`
+ attrd_updater -n $OCF_RESKEY_name -v $score -d $OCF_RESKEY_dampen $attrd_options
+ rc=$?
+ case $rc in
+ 0) ping_conditional_log debug "Updated $OCF_RESKEY_name = $score" ;;
+ *) ocf_log warn "Could not update $OCF_RESKEY_name = $score: rc=$rc";;
+ esac
+ if [ $rc -ne 0 ]; then
+ return $rc
+ fi
+
+ if [ -n "$OCF_RESKEY_failure_score" -a "$score" -lt "$OCF_RESKEY_failure_score" ]; then
+ ocf_log warn "$OCF_RESKEY_name is less than failure_score($OCF_RESKEY_failure_score)"
+ return 1
+ fi
+ return 0
+}
+
+: ${OCF_RESKEY_name:="pingd"}
+: ${OCF_RESKEY_dampen:="5s"}
+: ${OCF_RESKEY_attempts:="3"}
+: ${OCF_RESKEY_multiplier:="1"}
+: ${OCF_RESKEY_debug:="false"}
+: ${OCF_RESKEY_failure_score:="0"}
+
+: ${OCF_RESKEY_CRM_meta_timeout:="20000"}
+: ${OCF_RESKEY_CRM_meta_globally_unique:="true"}
+
+integer=`echo ${OCF_RESKEY_timeout} | egrep -o '[0-9]*'`
+case ${OCF_RESKEY_timeout} in
+ *[0-9]ms|*[0-9]msec) OCF_RESKEY_timeout=`expr $integer / 1000`;;
+ *[0-9]m|*[0-9]min) OCF_RESKEY_timeout=`expr $integer \* 60`;;
+ *[0-9]h|*[0-9]hr) OCF_RESKEY_timeout=`expr $integer \* 60 \* 60`;;
+ *) OCF_RESKEY_timeout=$integer;;
+esac
+
+if [ -z ${OCF_RESKEY_timeout} ]; then
+ if [ x"$OCF_RESKEY_host_list" != x ]; then
+ host_count=`echo $OCF_RESKEY_host_list | awk '{print NF}'`
+ OCF_RESKEY_timeout=`expr $OCF_RESKEY_CRM_meta_timeout / $host_count / $OCF_RESKEY_attempts`
+ OCF_RESKEY_timeout=`expr $OCF_RESKEY_timeout / 1100` # Convert to seconds and finish 10% early
+ else
+ OCF_RESKEY_timeout=5
+ fi
+fi
+
+if [ ${OCF_RESKEY_timeout} -lt 1 ]; then
+ OCF_RESKEY_timeout=5
+elif [ ${OCF_RESKEY_timeout} -gt 1000 ]; then
+ # ping actually complains if this value is too high, 5 minutes is plenty
+ OCF_RESKEY_timeout=300
+fi
+
+if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then
+ : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESKEY_name}"}
+else
+ : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}"}
+fi
+
+case $__OCF_ACTION in
+ meta-data)
+ meta_data
+ exit $OCF_SUCCESS
+ ;;
+ usage|help)
+ ping_usage
+ exit $OCF_SUCCESS
+ ;;
+esac
+
+attrd_options='-q'
+if ocf_is_true ${OCF_RESKEY_debug} ; then
+ attrd_options=''
+fi
+
+# Check the debug option
+ case "${OCF_RESKEY_debug}" in
+ true|True|TRUE|1) OCF_RESKEY_debug=true;;
+ false|False|FALSE|0) OCF_RESKEY_debug=false;;
+ *)
+ ocf_log warn "Value for 'debug' is incorrect. Please specify 'true' or 'false' not: ${OCF_RESKEY_debug}"
+ OCF_RESKEY_debug=false
+ ;;
+ esac
+
+case $__OCF_ACTION in
+start) ping_start;;
+stop) ping_stop;;
+monitor) ping_monitor;;
+reload) ping_start;;
+validate-all) ping_validate;;
+*) ping_usage
+ exit $OCF_ERR_UNIMPLEMENTED
+ ;;
+esac
+exit $?
diff --git a/sys-cluster/pacemaker/metadata.xml b/sys-cluster/pacemaker/metadata.xml
new file mode 100644
index 000000000000..c486adbd93a7
--- /dev/null
+++ b/sys-cluster/pacemaker/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Pacemaker is a cluster resource manager.
+ It achieves maximum availability for your cluster services (aka. resources) by detecting and
+ recovering from node and resource-level failures by making use of the messaging and membership
+ capabilities provided by your preferred cluster infrastructure (either OpenAIS or Heartbeat).
+ </longdescription>
+ <use>
+ <flag name="cman">Enable <pkg>sys-cluster/cman</pkg> support.</flag>
+ <flag name="heartbeat">Enable <pkg>sys-cluster/heartbeat</pkg> support.</flag>
+ <flag name="smtp">Enable SMTP support via <pkg>net-libs/libesmtp</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ClusterLabs/pacemaker</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild
new file mode 100644
index 000000000000..fc65ae9855a1
--- /dev/null
+++ b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+PYTHON_COMPAT=( python2_7 )
+WANT_AUTOMAKE="1.12"
+
+inherit autotools eutils python-single-r1
+
+MY_PN="Pacemaker"
+MY_P=${MY_PN}-${PV/_/-}
+
+DESCRIPTION="Pacemaker CRM"
+HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker"
+SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+REQUIRED_USE="cman? ( !heartbeat )"
+IUSE="acl cman heartbeat smtp snmp static-libs"
+
+DEPEND="${PYTHON_DEPS}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ sys-cluster/cluster-glue
+ >=sys-cluster/libqb-0.14.0
+ sys-cluster/resource-agents
+ cman? ( sys-cluster/cman )
+ heartbeat? ( >=sys-cluster/heartbeat-3.0.0 )
+ !heartbeat? ( sys-cluster/corosync )
+ smtp? ( net-libs/libesmtp )
+ snmp? ( net-analyzer/net-snmp )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+PATCHES=(
+ "${FILESDIR}"/pacemaker-1.1.10-tinfo.patch
+ "${FILESDIR}"/pacemaker-1.1.12-glib.patch
+ "${FILESDIR}"/pacemaker-1.1.12-stonith.patch
+)
+
+S="${WORKDIR}/${PN}-${MY_P}"
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ epatch_user
+
+ # bug #490908
+ cp "${FILESDIR}/ping" extra/resources/ping || die
+
+ sed -i -e "/ggdb3/d" configure.ac || die
+ sed -i -e "s/ -ggdb//g" configure.ac || die
+ sed -i -e "s/uid2username(uid)/uid2username(uid_client)/g" lib/common/ipc.c || die
+ sed -i -e "s:<glib/ghash.h>:<glib.h>:" lib/ais/plugin.c || die
+ eautoreconf
+
+ python_fix_shebang .
+}
+
+src_configure() {
+ local myopts=""
+ if use heartbeat ; then
+ myopts="--without-corosync"
+ else
+ myopts="--with-ais"
+ fi
+ # appends lib to localstatedir automatically
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var \
+ --disable-dependency-tracking \
+ --disable-fatal-warnings \
+ $(use_with acl) \
+ $(use_with cman cs-quorum) \
+ $(use_with cman cman) \
+ $(use_with heartbeat) \
+ $(use_with smtp esmtp) \
+ $(use_with snmp) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/var/run "${D}"/etc/init.d
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+ if has_version "<sys-cluster/corosync-2.0"; then
+ insinto /etc/corosync/service.d
+ newins "${FILESDIR}/${PN}.service" ${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ elog " "
+ elog "Looking for the crm CLI ? emerge sys-cluster/crmsh !"
+ elog " "
+}
diff --git a/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild
new file mode 100644
index 000000000000..492f531c7022
--- /dev/null
+++ b/sys-cluster/pacemaker/pacemaker-1.1.14.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+WANT_AUTOMAKE="1.12"
+
+inherit autotools eutils python-single-r1
+
+MY_PN="Pacemaker"
+MY_P=${MY_PN}-${PV/_/-}
+
+DESCRIPTION="Pacemaker CRM"
+HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker"
+SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+REQUIRED_USE="cman? ( !heartbeat )"
+IUSE="acl cman heartbeat smtp snmp static-libs"
+
+DEPEND="${PYTHON_DEPS}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ sys-cluster/cluster-glue
+ >=sys-cluster/libqb-0.14.0
+ sys-cluster/resource-agents
+ cman? ( sys-cluster/cman )
+ heartbeat? ( >=sys-cluster/heartbeat-3.0.0 )
+ !heartbeat? ( sys-cluster/corosync )
+ smtp? ( net-libs/libesmtp )
+ snmp? ( net-analyzer/net-snmp )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+S="${WORKDIR}/${PN}-${MY_P}"
+
+src_prepare() {
+ default
+ epatch_user
+
+ # bug #490908
+ cp "${FILESDIR}/ping" extra/resources/ping || die
+
+ sed -i -e "/ggdb3/d" configure.ac || die
+ sed -i -e "s/ -ggdb//g" configure.ac || die
+ sed -i -e "s/uid2username(uid)/uid2username(uid_client)/g" lib/common/ipc.c || die
+ sed -i -e "s:<glib/ghash.h>:<glib.h>:" lib/ais/plugin.c || die
+ eautoreconf
+
+ python_fix_shebang .
+}
+
+src_configure() {
+ local myopts=""
+ if use heartbeat ; then
+ myopts="--without-corosync"
+ else
+ myopts="--with-ais"
+ fi
+ # appends lib to localstatedir automatically
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var \
+ --disable-dependency-tracking \
+ --disable-fatal-warnings \
+ $(use_with acl) \
+ $(use_with cman cs-quorum) \
+ $(use_with cman cman) \
+ $(use_with heartbeat) \
+ $(use_with smtp esmtp) \
+ $(use_with snmp) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/var/run "${D}"/etc/init.d
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+ if has_version "<sys-cluster/corosync-2.0"; then
+ insinto /etc/corosync/service.d
+ newins "${FILESDIR}/${PN}.service" ${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ elog " "
+ elog "Looking for the crm CLI ? emerge sys-cluster/crmsh !"
+ elog " "
+}
diff --git a/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild
new file mode 100644
index 000000000000..300cc72025e1
--- /dev/null
+++ b/sys-cluster/pacemaker/pacemaker-1.1.16.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit autotools eutils python-single-r1
+
+MY_PN="Pacemaker"
+MY_P=${MY_PN}-${PV/_/-}
+
+DESCRIPTION="Pacemaker CRM"
+HOMEPAGE="http://www.linux-ha.org/wiki/Pacemaker"
+SRC_URI="https://github.com/ClusterLabs/${PN}/archive/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~hppa x86"
+REQUIRED_USE="cman? ( !heartbeat )"
+IUSE="acl cman heartbeat smtp snmp static-libs"
+
+DEPEND="${PYTHON_DEPS}
+ app-text/docbook-xsl-stylesheets
+ dev-libs/libxslt
+ sys-cluster/cluster-glue
+ >=sys-cluster/libqb-0.14.0
+ sys-cluster/resource-agents
+ cman? ( sys-cluster/cman )
+ heartbeat? ( >=sys-cluster/heartbeat-3.0.0 )
+ !heartbeat? ( sys-cluster/corosync )
+ smtp? ( net-libs/libesmtp )
+ snmp? ( net-analyzer/net-snmp )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+S="${WORKDIR}/${PN}-${MY_P}"
+
+src_prepare() {
+ default
+ sed -i -e "s/ -ggdb//g" configure.ac || die
+ eautoreconf
+ python_fix_shebang .
+}
+
+src_configure() {
+ local myopts=""
+ if use heartbeat ; then
+ myopts="--without-corosync"
+ else
+ myopts="--with-ais"
+ fi
+ # appends lib to localstatedir automatically
+ econf \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var \
+ --disable-dependency-tracking \
+ --disable-fatal-warnings \
+ $(use_with acl) \
+ $(use_with cman cs-quorum) \
+ $(use_with cman cman) \
+ $(use_with heartbeat) \
+ $(use_with smtp esmtp) \
+ $(use_with snmp) \
+ $(use_enable static-libs static) \
+ ${myopts}
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/var/run "${D}"/etc/init.d
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+ if has_version "<sys-cluster/corosync-2.0"; then
+ insinto /etc/corosync/service.d
+ newins "${FILESDIR}/${PN}.service" ${PN} || die
+ fi
+}
diff --git a/sys-cluster/pbs-python/Manifest b/sys-cluster/pbs-python/Manifest
new file mode 100644
index 000000000000..8ba9162031bc
--- /dev/null
+++ b/sys-cluster/pbs-python/Manifest
@@ -0,0 +1,5 @@
+DIST pbs_python-4.3.3.tar.gz 185442 SHA256 d149803973f8db52ca62a49e69e9e34b4d8726d8b7fa480f909d345dca9dd2b8 SHA512 2a8c49d0be887cd7c5f9c17bd7ce679c7c04481c70e6949fd430007b7678c15636e8416fd30ac16d06cc387680bd4f9d3df8cad8be7b512b6fa2785891338044 WHIRLPOOL 15db1b5bae67b3eca4924a596d7040305f13b37c030314c268734b3d5c1145aa8f99196dd405ee802062daa41fd24cacc02f60ccd738c84e83601ef2309aef02
+EBUILD pbs-python-4.3.3-r1.ebuild 760 SHA256 4ffc108b728de4bd736221a912ee4696c55e65b6e13d351aa86102bd5ee7f270 SHA512 aa8a60da40ca583713285734313804c350d106500e58ebb966c203936eb297e054d77daaf5a133d6cc72f59f2378ddfd59760ef9bd52e67ecf76ebb8f0b1b0ae WHIRLPOOL 3326c5370f828d94f5357c331cbd456a361380fe972f07099f58d44bd498f92cf9e4807788c56810caeffed9d624195a1e30a06fc9caf6b1814e19e74e8a177f
+MISC ChangeLog 2445 SHA256 50c3bcaf3008330ba425e4ad4ffee0fca529be9e45a8360f66ad32c6b887516b SHA512 548bdbc0ef3229f856d590c7e73d336b42b2aaf573955ccec9a3599a8fc978edfb0134fd21a4f175d8380306aff8436f8371d64bf90b9f1b39b2459d905a1087 WHIRLPOOL 5836387ef43e714d804914983f8af9fb3568df8559a5c34c4efa836cf037e837b073e4e1ced98322bc0668c660ee694f4bd98fd1deca07d2ae4681a82db3d762
+MISC ChangeLog-2015 1540 SHA256 eae3322c88659bc2b5fc26310ca6b43a37c3d0fbc0a2c2bd7092be94bc1a6564 SHA512 a3a844664d842bff5de9a927f58f935ebaa90d960268b2862be994c2cd882dbadfd0ac08cc40a6833206180c5a86a80c27021f0f8391773d473758c615fa159a WHIRLPOOL ae21a0c6e0c4859667b334a9e04063129c6823b468898d1ecd8f21734da81badfdf7f1eb92736c015e6c1d093b7f820d19a2f01a0b4591705ed4d94c3bafd388
+MISC metadata.xml 257 SHA256 eba5a727fcb9e27d2a6e5dac0c92b252de676d434ef19bb09d44534257bed08c SHA512 d01f4b592393076365e924fcc717c807172488f03a7b64542238616207fd00dacd096c383e68b9558142f7dab357578f91904f73acd41ce3a6ba7b7ef72b4980 WHIRLPOOL 8621cedc31dcd2b89dffd18c102b491aea21946189d752b9dfc3b686aea7adfff6782a3c7796d777e18677b7dd99f1cd8584022642eaf009cab3b733918a501b
diff --git a/sys-cluster/pbs-python/metadata.xml b/sys-cluster/pbs-python/metadata.xml
new file mode 100644
index 000000000000..8bf4b5f36954
--- /dev/null
+++ b/sys-cluster/pbs-python/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild b/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild
new file mode 100644
index 000000000000..d7f9338f422a
--- /dev/null
+++ b/sys-cluster/pbs-python/pbs-python-4.3.3-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+MY_P=${P/-/_}
+
+DESCRIPTION="Python bindings to the Torque C API"
+HOMEPAGE="https://subtrac.sara.nl/oss/pbs_python/"
+SRC_URI="ftp://ftp.sara.nl/pub/outgoing/${MY_P}.tar.gz"
+
+LICENSE="openpbs"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="sys-cluster/torque"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+python_prepare_all() {
+ sed -i -e "s/4.1.3/${PV}/" setup.py.in || die
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ econf
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ insinto /usr/share/doc/${P}
+ doins "${S}"/examples/*
+ fi
+}
diff --git a/sys-cluster/pconsole/Manifest b/sys-cluster/pconsole/Manifest
new file mode 100644
index 000000000000..2e1b38bdd18c
--- /dev/null
+++ b/sys-cluster/pconsole/Manifest
@@ -0,0 +1,6 @@
+AUX pconsole-1.0-exit-warn.patch 248 SHA256 4d2f01afc46cbc67fecbebf0173fda19aca7b3a5666230cd237727432518598b SHA512 583f869efa7d11db5c1de623af473fced1b0b7a07d363246702b705ff7e50e8ecce817fbb8fe98584f3cc266f420165f5255dbc666a741611d92b6688a9aff3c WHIRLPOOL 0108b02b96520223f558452dd7162cfc8d3fbc50372bfbbd07fc5eb95cf098c5a346fa89c51482e60aadf65638499236d49e9a2696020d4c37ad3126ffb3af6a
+DIST pconsole-1.0.tar.gz 215426 SHA256 94520bf65f726df9d7e686bb486e9a2828c29d09a20b9522f1da4f7d66700bb2 SHA512 b03f189e4030a417bbe1ee19dc55f5149581b084d89edecdf857916d66c0e235f1b4bfecf6a198f865ad187d7630b0c266940eafadd576e829d20366dc9cc248 WHIRLPOOL b4b711e07f34b4c477df0585f75bd40a4cd1c5143937fbaa72f81e30b43e578d3c56958d2b1545b5671c17dfe8682656c8fe65f1dc962f2767f3bc90ef718eb4
+EBUILD pconsole-1.0-r3.ebuild 818 SHA256 d45592817f6fb662c688017208d068c7de5e2186444fec631bb3b45e1b0beddc SHA512 2deab7f0b0cb8aaa8628e5322731b5191d0401f3dd036d779ace8336adf4646b28ebb6df2d9fe75d15cd8f8151e850a14b19f47fa5dc4f8b4148ca3b1dfe4fc8 WHIRLPOOL 596150d9b91606ca220f6b59f926b612403ecc36df6ed01b21fac41623f7a14d3ffa9c9c0e2a1f70117b9bc7a8f315f4cab045ce14521c16975e83b3b96c32ef
+MISC ChangeLog 2472 SHA256 3a71b74eb698a38733908c7cfc9eea25ca7e7d798a1a6637d3c60240a4beeb99 SHA512 34f21d4adb2f58c9a4a231c68b0a724bafe246807287f0c111fa6102e01db8f5c168ce09d38c7ffa430c0199c8f1007a3720f6cb80649763c45c11bd759cceb7 WHIRLPOOL cc0c7ea187fa95268dc4e082abffa0a8bd4dc33a25c437e2e019e923a9dba553abcbe2a6ce529542f90f075485516a66e1921b7cb4df17e1ebe83e907663b294
+MISC ChangeLog-2015 2047 SHA256 9f316ec193120605ba5ff49fcf42c08f234b2a3cdb9d59e3f2bf9fcc2fc3bbe9 SHA512 378dc323299be3605f016e71aa0ec132c4e52befc00fdad5cbb4eaab069d8f227ffc089993d843ebd52b9f952215ac7a3f04aeb6e6db2829d95e59cfa4cb4946 WHIRLPOOL 1e775c7aa151c099f1d91091af645e59b4bc40a332dde28ed95fec39ffe056a9dada862cf88eeeb30762efe1c4ca14b08565206948a9fac0454e12612ad4726a
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch b/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch
new file mode 100644
index 000000000000..f306d6408ee8
--- /dev/null
+++ b/sys-cluster/pconsole/files/pconsole-1.0-exit-warn.patch
@@ -0,0 +1,10 @@
+--- pconsole.c 2001-04-09 12:51:49.000000000 +0400
++++ pconsole.c~vox 2004-08-16 11:37:49.606267087 +0400
+@@ -28,6 +28,7 @@
+ #include "Conn.h"
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <errno.h>
+ #include <signal.h>
diff --git a/sys-cluster/pconsole/metadata.xml b/sys-cluster/pconsole/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/pconsole/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/pconsole/pconsole-1.0-r3.ebuild b/sys-cluster/pconsole/pconsole-1.0-r3.ebuild
new file mode 100644
index 000000000000..e071f8b28ba4
--- /dev/null
+++ b/sys-cluster/pconsole/pconsole-1.0-r3.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit eutils toolchain-funcs
+
+DESCRIPTION="Tool for managing multiple xterms simultaneously"
+HOMEPAGE="http://www.heiho.net/pconsole/"
+SRC_URI="http://www.xs4all.nl/~walterj/pconsole/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="virtual/ssh"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-exit-warn.patch
+}
+
+src_compile() {
+ emake LFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}" \
+ CC="$(tc-getCC)" || die
+}
+
+src_install() {
+ dobin pconsole || die
+ fperms 4110 /usr/bin/pconsole || die
+ dodoc ChangeLog README.pconsole || die
+ dohtml public_html/pconsole.html || die
+}
+
+pkg_postinst() {
+ echo
+ ewarn "Warning:"
+ ewarn "pconsole installed with suid root!"
+ echo
+}
diff --git a/sys-cluster/ploop/Manifest b/sys-cluster/ploop/Manifest
new file mode 100644
index 000000000000..41eb55471c71
--- /dev/null
+++ b/sys-cluster/ploop/Manifest
@@ -0,0 +1,8 @@
+AUX disable_create_run_dir.patch 632 SHA256 0334ed939108d23b914caf28db9562e71af21713cebb630fb403a34e3343d487 SHA512 4ef81f24a21f200881f2ff94ba9d39f1b097362eb371623a62dc7d66c7e174e3e7a465be85856c7c5ca8a01d8fe725bd9d713f871af8cec3c25bc94811d7c415 WHIRLPOOL 8356827f291afa87c45400368e2f1b88380ab8d966b4549d5601aedb02530f2ef55030805ba663dbf600fbba3bb88bfa6861a721e42d35a99c14630349bb7adb
+DIST ploop-1.13.2.tar.bz2 122821 SHA256 c1705c3bebd4f0f8860fecadf57cca457216b2abad880eb36098351244f9c1c3 SHA512 85a3314dc1114b692cd98290412fd2ea78c516964c712487dd72f8347fd583172d8836f997d63ccade89ee39be031669074d9bc957926b97175e659ec505ddfb WHIRLPOOL aea714ec18aa82cce2fcffa9aafdfe0e627ed83db9b8eaf0621b2dddb58fd300fdd9a3896e2e5192154cc5e0b6b11668128ed2e66fd04c1daae84e23d41c7a99
+DIST ploop-1.14.1.tar.bz2 123962 SHA256 841fde81c46632072ff8bcc29a4074a15b3c8359967254deeba51f0af34a6c0e SHA512 7a235865f071de6e2762923d6591c8c6ee00d0d05ec80c6a2a1332f5b6881ccf827f7ddc40dfe1d663b8abf492a188a23f7d28a43dd553d6e37c8091cb3bc484 WHIRLPOOL 8e80385233cbd5be0a26a20fb5442f82fa57adffe22f78a1207c73ece65822091c7fbbf90b59b97b8cf6ff760447a93c391e828af5402ecdc59285a74c114332
+EBUILD ploop-1.13.2.ebuild 1356 SHA256 e2cff247c64251906cef1005d5803e0393a889628cc4aff0f92894d0c14124c6 SHA512 544277674af1130d8042e7404cb00d72ab7f27abef7a1c020542a25faaba52354a431082b0e1f16e426523fa4c90254a561ca62b6557483fecfbd41a74a5c30b WHIRLPOOL d2e0de76b5d47f4f0aebd1a8f40c2a9d007b4defcc6960dd5db78b5d9b1987cc92b23497ed5dcfed360ddae207ab4249fe49da9a4a2040ebe9e3f6825d8fd438
+EBUILD ploop-1.14.1.ebuild 1410 SHA256 460e943257c550c4b0edac17a3e2942331cc2a510a77a47cb56e03ced8d7426f SHA512 c3eaa46a0f9ba5588c7d2c06a0b0887b156dbb552e7787a73762a34829c0832d76808c1c85ebc17484b554eb3dc03921f1561611d2d9b140a105d5cae61f15ad WHIRLPOOL 75447cdc81aae4179085f4e588bfb96368b10c3441729b32bbf5d6fc06b39ce94bf9e6d85a7bf0524bf57a8a5024ce60fe14c541ce17c339588120dc27852c1a
+MISC ChangeLog 2677 SHA256 62f9b949605956cb878ee3a371e6277d05127a9c2fff010a60a5fe47d8f495fa SHA512 4d548ef140c49ea0c304c850a9fd6c37611de49b2e9b9fa492a3ecd9cbe4009f9673070a8130da39fae40ecf5e62a7e3db87a7ea43d1f5d2e347a46c7d08728b WHIRLPOOL 22c3f92aa52a9f4f0c184ca12bfa978c3014fc7760d7467d6868062a502ab868e0dd72ce48d4b15696c24781c41d0ed490cbc6d4bfdc47cbaf77750997438e8b
+MISC ChangeLog-2015 5197 SHA256 1b7e504d362d95f9ef6bf6fe6591da4d072582723aff3653e376c163177e8d64 SHA512 1fc7f4916a245e74cadab4ce1f603bcae1146b877397a9e0a1caacc516f723be1a40537ceff4a6683f93fe0872196bc3d3f87e06ea510db31997ec6b9fb7313f WHIRLPOOL 0258a17ca5d0cf36e1759c4a4480c2955ea8aca89edd46430965d8140114ccf29e962c019584b7db6b48ee863124d80e26208dd364c1501a3bc47074b3a2e4f0
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/sys-cluster/ploop/files/disable_create_run_dir.patch b/sys-cluster/ploop/files/disable_create_run_dir.patch
new file mode 100644
index 000000000000..726094903b51
--- /dev/null
+++ b/sys-cluster/ploop/files/disable_create_run_dir.patch
@@ -0,0 +1,21 @@
+--- lib/Makefile.old 2015-10-10 15:49:25.377235002 +0300
++++ lib/Makefile 2015-10-10 15:49:50.021464544 +0300
+@@ -76,17 +76,13 @@
+ .depend: $(filter-out $(GENERATED),$(SOURCES))
+ -include .depend
+
+-install-lockdir:
+- $(Q) $(INSTALL) -d $(DESTDIR)$(LOCKDIR)
+-.PHONY: install-lockdir
+-
+ install-pc: $(PC)
+ $(E) " INSTALL " $(PC)
+ $(Q) $(INSTALL) -d $(DESTDIR)$(PCDIR)
+ $(Q) $(INSTALL) $(PC) $(DESTDIR)$(PCDIR)
+ .PHONY: install-pc
+
+-install: all install-lockdir install-pc
++install: all install-pc
+ $(Q) $(INSTALL) -d $(DESTDIR)$(LIBDIR)
+ $(E) " INSTALL " $(LIBPLOOP)
+ $(Q) $(INSTALL) -m 644 $(LIBPLOOP) $(DESTDIR)$(LIBDIR)
diff --git a/sys-cluster/ploop/metadata.xml b/sys-cluster/ploop/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/sys-cluster/ploop/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/sys-cluster/ploop/ploop-1.13.2.ebuild b/sys-cluster/ploop/ploop-1.13.2.ebuild
new file mode 100644
index 000000000000..153867c91c88
--- /dev/null
+++ b/sys-cluster/ploop/ploop-1.13.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib systemd
+
+DESCRIPTION="openvz tool and a library to control ploop block devices"
+HOMEPAGE="http://wiki.openvz.org/Download/ploop"
+SRC_URI="http://download.openvz.org/utils/ploop/${PV}/src/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug static-libs"
+
+DEPEND="
+ dev-libs/libxml2
+ virtual/pkgconfig
+ "
+
+RDEPEND="dev-libs/libxml2
+ !<sys-cluster/vzctl-4.8
+ sys-block/parted
+ sys-fs/e2fsprogs
+ sys-process/lsof
+ sys-apps/findutils
+ "
+
+DOCS=( tools/README )
+
+src_prepare() {
+ # Respect CFLAGS and CC, do not add debug by default
+ sed -i \
+ -e 's|CFLAGS =|CFLAGS +=|' \
+ -e '/CFLAGS/s/-g -O0 //' \
+ -e '/CFLAGS/s/-O2//' \
+ -e 's|CC=|CC?=|' \
+ -e 's/-Werror//' \
+ -e '/DEBUG=yes/d' \
+ -e '/LOCKDIR/s/var/run/' \
+ Makefile.inc || die 'sed on Makefile.inc failed'
+ # Avoid striping of binaries
+ sed -e '/INSTALL/{s: -s::}' -i tools/Makefile || die 'sed on tools/Makefile failed'
+
+ # respect AR and RANLIB, bug #452092
+ tc-export AR RANLIB
+ sed -i -e 's/ranlib/$(RANLIB)/' lib/Makefile || die 'sed on lib/Makefile failed'
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" V=1 $(usex debug 'DEBUG' '' '=yes' '')
+}
+
+src_install() {
+ default
+ ldconfig -n "${D}/usr/$(get_libdir)/" || die
+}
diff --git a/sys-cluster/ploop/ploop-1.14.1.ebuild b/sys-cluster/ploop/ploop-1.14.1.ebuild
new file mode 100644
index 000000000000..c38b72e9f7e8
--- /dev/null
+++ b/sys-cluster/ploop/ploop-1.14.1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils toolchain-funcs multilib systemd
+
+DESCRIPTION="openvz tool and a library to control ploop block devices"
+HOMEPAGE="http://wiki.openvz.org/Download/ploop"
+SRC_URI="http://download.openvz.org/utils/ploop/${PV}/src/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug static-libs"
+
+DEPEND="
+ dev-libs/libxml2
+ virtual/pkgconfig
+ "
+
+RDEPEND="dev-libs/libxml2
+ !<sys-cluster/vzctl-4.8
+ sys-block/parted
+ sys-fs/e2fsprogs
+ sys-process/lsof
+ sys-apps/findutils
+ "
+
+DOCS=( tools/README )
+
+src_prepare() {
+ epatch "${FILESDIR}/disable_create_run_dir.patch"
+
+ # Respect CFLAGS and CC, do not add debug by default
+ sed -i \
+ -e 's|CFLAGS =|CFLAGS +=|' \
+ -e '/CFLAGS/s/-g -O0 //' \
+ -e '/CFLAGS/s/-O2//' \
+ -e 's|CC=|CC?=|' \
+ -e 's/-Werror//' \
+ -e '/DEBUG=yes/d' \
+ -e '/LOCKDIR/s/var/run/' \
+ Makefile.inc || die 'sed on Makefile.inc failed'
+ # Avoid striping of binaries
+ sed -e '/INSTALL/{s: -s::}' -i tools/Makefile || die 'sed on tools/Makefile failed'
+
+ # respect AR and RANLIB, bug #452092
+ tc-export AR RANLIB
+ sed -i -e 's/ranlib/$(RANLIB)/' lib/Makefile || die 'sed on lib/Makefile failed'
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" V=1 $(usex debug 'DEBUG' '' '=yes' '')
+}
+
+src_install() {
+ default
+ ldconfig -n "${D}/usr/$(get_libdir)/" || die
+}
diff --git a/sys-cluster/polysh/Manifest b/sys-cluster/polysh/Manifest
new file mode 100644
index 000000000000..479875a28669
--- /dev/null
+++ b/sys-cluster/polysh/Manifest
@@ -0,0 +1,5 @@
+DIST polysh-0.4.tar.bz2 62770 SHA256 0456c25c664dad80ebf7bf748a1661fddf5fbea0a3788328621029c4d0b8b04f SHA512 84d77a2272e9a5a577c17a4e1b791db0f8d2bf58f1ef4c52ebfbe7ba9396de3744bf6fafa72df126c3a3958d97bdb9feb8da002209b0dd0eb9b16b19b859e43d WHIRLPOOL ba0c7f8b07fcd280b20b66a743fb32226f7791309d19e92de7e416ecf0ab03a42a74cee49df4f1a6211426e4d1cc750d0051376c6f0d8c315ec8c4816ce556db
+EBUILD polysh-0.4-r1.ebuild 412 SHA256 ef72c9849e7780c89d17383c183f9880c3de59625e107bccc8d38305d839809f SHA512 e439dd28dfbf11a84e1f626468a047959fdc7a971b0c8858a5486fd24cc36d176cdab03dec22dfea02a5f568de4d0314b1fe91b5c42982a5da79c1eca02f2a56 WHIRLPOOL 8fb0bf3c39118889d6c8302e9e73e22e1f37688e558dd8c5ad4eebbdd9d47e4a683ace8c1bd425bc3572383035b545e7b6b40f9206349a3508555a1938218398
+MISC ChangeLog 2524 SHA256 dc3bd363bf93401138c90b4e89a3560cdf0f54164f1fe72823f16e5b7ff21af8 SHA512 94100782241948b852046d2eb0ed1c0b7025de84510a707f2c088f556b482a835563027c2a05a128dd0a48b50fb7756877d9dc2d6be896ebc8d6dcc72c9c821f WHIRLPOOL 39c7f05f3092b167b730eefd5960b46b650e3bcfc6a7faaec141bfa12cefe0614a07e84c15d768832ec5fc05f650e1624c39facbdd98ccb3fe982adbb8ef256e
+MISC ChangeLog-2015 2141 SHA256 ccab680aca1b5a68883a2b44c38aa6e185eff4758b8ac6fae17c1b987fbe9db1 SHA512 196581e632eb8fed82656fb1b68e647fe56f7116f39d1ec6302b724f4e5918838bfd2d4ce51e80700b099858511b302f12681ca04fdc43ed80402ce9e54a5187 WHIRLPOOL 2528824288602769abc581a2704e33556bccde3426bb6ac423ec490a3f67236ea06d68c276804f923858ce98518eb200dd966f9058f64117f95ff0a544c56833
+MISC metadata.xml 347 SHA256 78f291e501a7f67671fc3b8892596e661648e20b060adda481e3f152c046446b SHA512 8d1d0e69924c2a83222d376b72d9e777927763ae869de6f5609c6cf746035e4ab5e6258c3c124dc2265334a0f286132546f34a46ef093262b78b142502409fe3 WHIRLPOOL 82386477ece2df282e01bec36126380854f60543d05b8fe80bbc822000258d8d2cdf2b04d525e2749222041153cb6b8771a3e1708729d04880a7aaf853d43cc4
diff --git a/sys-cluster/polysh/metadata.xml b/sys-cluster/polysh/metadata.xml
new file mode 100644
index 000000000000..0477ed06c415
--- /dev/null
+++ b/sys-cluster/polysh/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <longdescription>
+ Polysh is a tool to aggregate several remote shells into one. It is used to
+ launch an interactive remote shell on many machines at once.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/polysh/polysh-0.4-r1.ebuild b/sys-cluster/polysh/polysh-0.4-r1.ebuild
new file mode 100644
index 000000000000..b6f9c52ccc77
--- /dev/null
+++ b/sys-cluster/polysh/polysh-0.4-r1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Aggregate several remote shells into one"
+HOMEPAGE="http://guichaz.free.fr/polysh/"
+SRC_URI="http://guichaz.free.fr/polysh/files/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE=""
diff --git a/sys-cluster/poolmon/Manifest b/sys-cluster/poolmon/Manifest
new file mode 100644
index 000000000000..e95d0bd753a1
--- /dev/null
+++ b/sys-cluster/poolmon/Manifest
@@ -0,0 +1,8 @@
+AUX poolmon.conf 67 SHA256 cce26febefa84d2e184786f04760cddbce373c6ebdfcba614c9c4008f705ef7c SHA512 74641c17776aa8cc3d3155d92a731da05eb9ca18c053de216ccc7b98ad684ca3aff9f8a7972955670f2b8e4210c6ac469a3a124686824efa91f6c6c537ee35b2 WHIRLPOOL 8740ef5321326cf46d5f0823ecf21ca8387aba35c1775657a38f20d2433df16c9f804ea97a447243985dcf073e9a08ddba6daf210d570b3bc19272e3692c4376
+AUX poolmon.init 416 SHA256 9183a6508d132a875dd683291f9dd29b6a578d03ead06aad677759e19337fba2 SHA512 f82e806ae9b57dc91a42e53ff1a7ce40423a48c8220616be3bf3ec0e9b2035baed2304b9e82fab0a8cc2ccd3f8e8fb325b319f587595d4c31f66db84b47f9e59 WHIRLPOOL d9e6865f98c34b20572d71aa2056856ad32a30b33188d035e97422355503f963d289647c55a9820e75d7b51c9280e47788c16aaef8489bbdd953e1e9da9b5306
+AUX poolmon.logrotate 132 SHA256 d689c9a79043d6cb5d6797fe143f1ecb59e46bd4ce48a620bc1f357b6e26dd24 SHA512 b18cca84d2d12aca84a5b53369631a34cc93d58fd74877c38f7577e68657510d741e3897e42b8ceab8c8c109916d1992dbf7bc4bb886803c9f3de7e640738590 WHIRLPOOL 28764293af9e247c6cc1667599c0901090db67e12e255d2cfc5f3351d353a21ab1bae6895de2e29fddd231218d2aadc5a0185c430b92eb74a361733b87a8e6e0
+DIST poolmon-0.5.tar.gz 6902 SHA256 7418c1486e9cf34740ca82f72f32be97eeaeb4b4ddeda74ce1972ca4735ed6dc SHA512 17faa13e6b9b42f0913673598002aa5ad65e7d35b6ed4f5d6a1bb36d7fce630a7e9f1afc6979d7a098a2b66e5943901213b5617ba6190b5b7e1e9a6a55f6cbf5 WHIRLPOOL d72866b0675724eb2787818799152a94c75ee76351db96f36f4a1bd9c4ec1c90e2e314eb2acc980c90149ca82133c2369996a14dd4386718259e7700139414ba
+EBUILD poolmon-0.5.ebuild 650 SHA256 b9177977f4d6fa39e5ec1e60ae79e255300bc69476b7d296813e0ec8612bf760 SHA512 674d185811dc2ed7709fae06e8e241072d0dc349c6a027858e47fea1c783408094398e10ad324b082d07bc42f95aab838dde7c5de6bbe38a21a56663ae07d195 WHIRLPOOL 9e834220f5e0ba6d3956b9211bc75dafdd0da2afc2817fb4eabf5c85d091fcf6d91366c8d47054b04ed847f5aa23e71a97fddcd3b4f8ce7fdedaad4d424803ad
+MISC ChangeLog 2374 SHA256 61b6a2dbc34c8937801a1a009bb6dbe60efa6610efa58fbaf415e20dabac3530 SHA512 bdb3317b98a2db353d0b3da22284ecca4123b3d1add434b2ad5b1fdc4796deb618dc0e84d67721b521f5709be84402abd8458c54d1e1f25b0ac997fe484421db WHIRLPOOL 8223012e3aef940f0d66eac82493f87d77a026656677c590046b4892b56656951f2142e73835b2533fd6896e9603c06d977a57927d75baba142e3e61ce8ec351
+MISC ChangeLog-2015 671 SHA256 132e52288fee128123afef0e8518ff41212524b9e5a716a0f714cee028e637a6 SHA512 b2080c1aedacff8614da9ceccfceaced32ba93315dc8c5432888039102dc2766f77e67c57ac37c948702cde91b3a26fe866bb1eabf5e860b64a2430e2343eda4 WHIRLPOOL 7fc758d654e749695120a15c14316ef1e5acdbee437bcac09abe8b8525c11037fba4c938754553988339376c647d324f30a8da389c509210824cca41eacdccf6
+MISC metadata.xml 341 SHA256 07d1da75d90b59be36c56557e44323cff28786773a3f4590f556fe2fe86029a1 SHA512 38660612f1c77312b67e4fbc505cbb32fe7f9052b7aeca505f8ee5ed8dba2d4e1755a9bd7f326c65de24719558d0bf13bd8921f1ab12f5b7c6b744283ad9e215 WHIRLPOOL 6f4e069c25424fef8af4461180478143aa59a918a10d2f0e10ca38dda29c75b4dcb783af32cea1e14a8e25cb123534f19813a2eeef9fcd17f42e107443971261
diff --git a/sys-cluster/poolmon/files/poolmon.conf b/sys-cluster/poolmon/files/poolmon.conf
new file mode 100644
index 000000000000..930a58c9c012
--- /dev/null
+++ b/sys-cluster/poolmon/files/poolmon.conf
@@ -0,0 +1,3 @@
+# /etc/conf.d/poolmon
+# set poolmon commandline options
+OPTIONS=""
diff --git a/sys-cluster/poolmon/files/poolmon.init b/sys-cluster/poolmon/files/poolmon.init
new file mode 100644
index 000000000000..d62c922c050e
--- /dev/null
+++ b/sys-cluster/poolmon/files/poolmon.init
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+start() {
+ local pidfile=/run/poolmon.pid
+ ebegin "Starting poolmon"
+ start-stop-daemon --pidfile "${pidfile}" --exec /usr/bin/poolmon -- ${OPTIONS}
+ eend $?
+}
+
+stop() {
+ local pidfile=/run/poolmon.pid
+ ebegin "Stopping poolmon"
+ start-stop-daemon --stop --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/sys-cluster/poolmon/files/poolmon.logrotate b/sys-cluster/poolmon/files/poolmon.logrotate
new file mode 100644
index 000000000000..5925635a70c1
--- /dev/null
+++ b/sys-cluster/poolmon/files/poolmon.logrotate
@@ -0,0 +1,6 @@
+/var/log/poolmon.log {
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /run/poolmon.pid 2> /dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/sys-cluster/poolmon/metadata.xml b/sys-cluster/poolmon/metadata.xml
new file mode 100644
index 000000000000..a9e709493af1
--- /dev/null
+++ b/sys-cluster/poolmon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">brandond/poolmon</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/poolmon/poolmon-0.5.ebuild b/sys-cluster/poolmon/poolmon-0.5.ebuild
new file mode 100644
index 000000000000..f22108a82c96
--- /dev/null
+++ b/sys-cluster/poolmon/poolmon-0.5.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DESCRIPTION="A director mailserver pool monitoring script for Dovecot"
+HOMEPAGE="https://github.com/brandond/poolmon"
+SRC_URI="https://github.com/brandond/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ dev-perl/IO-Socket-SSL
+ net-mail/dovecot
+ "
+
+src_install() {
+ dobin poolmon
+ dodoc README
+ newinitd "${FILESDIR}"/poolmon.init poolmon
+ newconfd "${FILESDIR}"/poolmon.conf poolmon
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}"/poolmon.logrotate poolmon
+}
diff --git a/sys-cluster/projections/Manifest b/sys-cluster/projections/Manifest
new file mode 100644
index 000000000000..4c37fe5b6ac8
--- /dev/null
+++ b/sys-cluster/projections/Manifest
@@ -0,0 +1,5 @@
+DIST projections_6.2.1.tar.gz 3713748 SHA256 8d47164f3765a1d7dae28bf35d2963dc87542f1f08025b6aa01d3952199deaa8 SHA512 2a6e4b787491066dec31de05d777243252c08b4504743577297da7e3ecd9c4c3b96db46c295c55c413a98ebe5e338e6b90c213346925a20d89b47bb0b77eeaf8 WHIRLPOOL 10a8a8ac6ec283d95c7485b02075d69eb37b9445b89db000ebcd4ffeec62dc74773807b564af9f89d2e488ec3965eb58f937fb53b889d54b72bfa5c2abc2dad1
+EBUILD projections-6.2.1.ebuild 641 SHA256 8d64c9379d490bfe64e200eb3a0c4031576aefce810c9687333a6a6743b05aa8 SHA512 ae0715c1d71d12fafb03388400b1cf806ac60592119be9466fd8a78c4d6a14a1c618845b77f5bf39d4b9a1d65657e12b4cab933c397fba77a1ec60e6af142c3b WHIRLPOOL eea577de3e2e8c4a87a0352f1206a5fc347f98354cc4d5758d60f2895b604c5eda9e0f6d5693e471220c3a76eef335741eb2681c64c1502299dc7f1e65f5949b
+MISC ChangeLog 2442 SHA256 a34d24c22709fd9b7d4f3ac6469c60de22c3990031c347825252da3d1d0062a2 SHA512 577e74f297dae4ce47e31e200e7d5a32fe8995fcb7367ac258795061a6d589e0b678fc57d7861115ca0fb2b0a5f74f7cffcf5d6b0a3fb91c0e9bd489b681d87a WHIRLPOOL 481e7ef8c775af7bcf977061afd8638d1911061584c933d5a80e2cdbc513b4ba6db9fcf410d7951606a722f15e20191661a8941e8ff3c2e2c3ea25374e800dd0
+MISC ChangeLog-2015 512 SHA256 8dbd9ce44bc1b28f2e2ef40ef150233959982554a09d2183b9e1d4f0898d956b SHA512 8e6e15e3943cbcd232efc0d61c93c2a6e11b484d6c5745236706aede775571dca357b0b658f824b2fe62adc3014b11552b3112f585874084955039c57dc6622f WHIRLPOOL 52ad0984358ee51d721705064f18aa46e3f1b8a85ee009b75cc878ac3ce22e1f246c247b07c684d4ae0386f2a845d4818bd41725d71f31a9b5c7aba2d0b11443
+MISC metadata.xml 363 SHA256 cf6240d8dbc499458d8d87988a68859a852f74f406280f22e614d96ae2bf6eac SHA512 49a2f641562ba04ec39effc18cd4a917e6147307f6c780836d60db936b7d38ed9144a816420c00096290ca16256cb5cc88913d481a6e838498ab2ac9775c22d1 WHIRLPOOL 7458c4ca458d8e407eb22366ec833115bfe39ba11c748a7a8e47fe625be1d643393618aa58e39362d3b073d5b86132d1cd4be00c6cc24fe63adbd2de5ef0f8fe
diff --git a/sys-cluster/projections/metadata.xml b/sys-cluster/projections/metadata.xml
new file mode 100644
index 000000000000..d61970e70ce8
--- /dev/null
+++ b/sys-cluster/projections/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>nicolasbock@gentoo.org</email>
+ <name>Nicolas Bock</name>
+ </maintainer>
+<maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/projections/projections-6.2.1.ebuild b/sys-cluster/projections/projections-6.2.1.ebuild
new file mode 100644
index 000000000000..a3d6764d546a
--- /dev/null
+++ b/sys-cluster/projections/projections-6.2.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit java-pkg-2
+
+DESCRIPTION="Projections Performance Analysis Framework for Charm++ Applications"
+HOMEPAGE="http://charm.cs.uiuc.edu/"
+SRC_URI="http://charm.cs.illinois.edu/distrib/binaries/projections/projections_${PV}.tar.gz"
+
+S="${WORKDIR}/${PN}_${PV}"
+
+LICENSE="charm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="
+ >=virtual/jre-1.6
+ sys-cluster/charm[charmtracing]"
+
+src_install() {
+ java-pkg_newjar ${PN}.jar
+ java-pkg_dolauncher ${PN} \
+ --main projections.analysis.ProjMain \
+ --jar ${PN}.jar
+}
diff --git a/sys-cluster/resource-agents/Manifest b/sys-cluster/resource-agents/Manifest
new file mode 100644
index 000000000000..09dd2c0b98cc
--- /dev/null
+++ b/sys-cluster/resource-agents/Manifest
@@ -0,0 +1,8 @@
+AUX 3.9.4-configure.patch 1052 SHA256 8e02d6ae231099bb35b2ea5daec0cc072560f4811f748ada2f35a9df3c63c032 SHA512 3d716f9ddd24fe7bf6080525a106bb84bd83f684890fef8e88ef2bdf6fcf38409a9b83b0800e6f040b2f38450c8a8a47eb076ee1facd4ec730fbdf08fb98390e WHIRLPOOL bc2688aad7aa3b382bf1cbf8aaa1f5ff02fa72ece27b6ae1112dc772e016abb84338f5f816a09ab156d12bc280d63f67187a871d38751aa3c6e77a8fbdd8649a
+DIST resource-agents-3.9.6.tar.gz 617790 SHA256 39722cdee68ff96d06788f05f325bd21ec2fc59c59d847e5e4b23c6df23bf678 SHA512 b4ca8b8cc3e09508847af3f1cf50cef946f374eae4ee7903700ba49ef7a3357b1ceaa26dca0616feaa79fb290713f18939dda42ee92a5a7bca2fab807fc77901 WHIRLPOOL d5210c70096d45dc91f49f1333711a3d2350d682d9e5720eeda1470b680fcba2b7cbe8c0dd1fbcd26408e88c40ad0ec60951b06a6e2174131f0c588d2a10720c
+DIST resource-agents-4.0.1.tar.gz 659123 SHA256 863f83c724bad3a8bcff12b9c8712406c43e010041868826cad7b78fd8cfb9fb SHA512 9c92bca7775e3c47c6463587fd7eea89f019997cfab0361ef37ee97192604d3b3d0dcd1cb70f774e01689b803dc856af170bd10e86a9d4824597293c264735d5 WHIRLPOOL 8fe3ce305b0b6b37fce83464bcf2ac45c3c060d9b4021fdb8cf5bb7972ab547fea8ec19603210d473c917d7314268296c682b0b9366c7a735cee1b0f7e767496
+EBUILD resource-agents-3.9.6.ebuild 1521 SHA256 f2aed202fd2bf976d3a18d836b1421e7703c757b7d3a5f061da85e2b6a45fee0 SHA512 0bb816f54d9b9ad8ac3958cee5247fe85546245ae6327d61277163062a0d9aa2f90995a866c47775c69bc6572b878255f2e122a38db9b9db6e351ce8b7e6e095 WHIRLPOOL a746d6339f4bdb185fd0c27790de494b06613968ead8ddf7dade1e7b863feedb97be0cb637e5d6c73cc7270132bdbee0dfba72895cd8f2540cd3a6fed450e091
+EBUILD resource-agents-4.0.1.ebuild 1524 SHA256 5c1d81c9268509c1c0323d3e31bebb3724ebe21e7ffa710aa7fc169fa0138508 SHA512 dc5803facc4c2bfc64a8bd8f2ca96c6041ddfc81705d4c2b8cd2e50265e9638a8e4e1f381f96157378c8755a579732b1aba592fdca4efba354b081bba2d8935e WHIRLPOOL fe596ecfb41a5f6eb899029a44ec58ab663a0952087ab9ba71ff6cea60cb52bfc056a7a5bd8a77ee7f35deec0fc278059846e904950245493aaef3ab7c1b5591
+MISC ChangeLog 3679 SHA256 bc2fa29e7bb6d8968265a4f7f6eff395e481ba94df7f4b6b01113cd10512bb2b SHA512 08c5bd4be6ddec39189b6fe872d124b90af3f81151671a4c1434d09d51319cf03f5df2452f505d0ce83363e05c9c8df10ba10bfbec37d1511aec833fea192e46 WHIRLPOOL a835c21e1579810a652460673c9afe712ea8fe5f6d0a0c2c70ea9631e5b685f8d779b1230d88eeb78e9f550fefd31c6f31c62eb78ba36104400c37a591ca66a2
+MISC ChangeLog-2015 3069 SHA256 5c4236212552a234e81e800a0e3b8cc76126813d32f952a20b40c31b8a5aafb6 SHA512 94267d76f7cd4068657377809bc83cd7a2601287c7e9e1fac5531d780e0d6340a232452e99be41624b5fca947b783384c0428cbdefb0c5cff120411de5a1d611 WHIRLPOOL 4da650b74106a168800624682423c4d2c92f7a417b4b2a27d576cf399490956d4059abfe9b1f3be9953a9b0adab1500c99803c1809acad382818a00278754620
+MISC metadata.xml 888 SHA256 273c20b5aa734c672ef0168bc54a6b6e52b2c113bb8ab9a7d86c54e534c5baaf SHA512 e46229794660b7f8f870c66eee90a3450722a0ef4fcf07ec538b86059585ef8c849270ccec4062865d7505a45cad80dffb614a71a23a8155f34d6cfe86b4282d WHIRLPOOL 6dab16cf43da47440d617219b883f9043691833c1093a16cdfc1ad76a23af14af49df4247bb303e88c2a3cf7be3abff8a732d0439b2a6cd668c60193c9157fe0
diff --git a/sys-cluster/resource-agents/files/3.9.4-configure.patch b/sys-cluster/resource-agents/files/3.9.4-configure.patch
new file mode 100644
index 000000000000..bb2f7bec62a4
--- /dev/null
+++ b/sys-cluster/resource-agents/files/3.9.4-configure.patch
@@ -0,0 +1,30 @@
+--- a/configure.ac 2013-01-18 13:14:54.492191322 +0100
++++ b/configure.ac 2013-01-18 13:17:17.559551891 +0100
+@@ -557,11 +557,13 @@
+ AC_DEFINE_UNQUOTED(POWEROFF_CMD, "$POWEROFF_CMD", path to the poweroff command)
+ AC_DEFINE_UNQUOTED(POWEROFF_OPTIONS, "$POWEROFF_OPTIONS", poweroff options)
+
+-AC_PATH_PROGS(XSLTPROC, xsltproc)
+-AM_CONDITIONAL(BUILD_DOC, test "x$XSLTPROC" != "x" )
+-if test "x$XSLTPROC" = "x"; then
+- AC_MSG_WARN([xsltproc not installed, unable to (re-)build manual pages])
+-fi
++AC_ARG_ENABLE([doc],
++ AS_HELP_STRING([--enable-doc],[Build documentation]))
++
++AS_IF([test "x$enable_doc" = "xyes"], [
++ AC_PATH_PROGS(XSLTPROC, xsltproc)
++])
++AM_CONDITIONAL([BUILD_DOC], [test "x$enable_doc" = "xyes"] )
+ AC_SUBST(XSLTPROC)
+
+ AC_PATH_PROGS(POD2MAN, pod2man)
+@@ -732,8 +734,6 @@
+ CFLAGS="$CFLAGS -g"
+ enable_fatal_warnings=no
+ else
+- CFLAGS="$CFLAGS -ggdb3"
+-
+ # We had to eliminate -Wnested-externs because of libtool changes
+ # Also remove -Waggregate-return because we use one libnet
+ # call which returns a struct
diff --git a/sys-cluster/resource-agents/metadata.xml b/sys-cluster/resource-agents/metadata.xml
new file mode 100644
index 000000000000..de22179c7fa9
--- /dev/null
+++ b/sys-cluster/resource-agents/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>
+ Resource agents are a standardized interfaces for a cluster resource.
+ They translate a standard set of operations into steps specific to
+ the resource or application, and interpret their results as success or
+ failure. Previously, they were a part of the then-monolithic Heartbeat
+ project, and had no collective name.
+ </longdescription>
+ <use>
+ <flag name="libnet">Force use of <pkg>net-libs/libnet</pkg></flag>
+ <flag name="rgmanager">Install resources for <pkg>sys-cluster/rgmanager</pkg></flag>
+ </use>
+ <upstream>
+ <remote-id type="github">ClusterLabs/resource-agents</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild b/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild
new file mode 100644
index 000000000000..70c075ce6545
--- /dev/null
+++ b/sys-cluster/resource-agents/resource-agents-3.9.6.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/resource-}"
+inherit autotools eutils multilib
+
+DESCRIPTION="Resources pack for Heartbeat / Pacemaker"
+HOMEPAGE="http://www.linux-ha.org/wiki/Resource_Agents"
+SRC_URI="https://github.com/ClusterLabs/resource-agents/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 hppa x86"
+IUSE="doc libnet rgmanager"
+
+RDEPEND="sys-apps/iproute2
+ sys-cluster/cluster-glue
+ !<sys-cluster/heartbeat-3.0
+ libnet? ( net-libs/libnet:1.1 )"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )"
+
+PATCHES=(
+ "${FILESDIR}/3.9.4-configure.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-fatal-warnings \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/$(get_libdir) \
+ --with-ocf-root=/usr/$(get_libdir)/ocf \
+ $(use_enable doc) \
+ $(use_enable libnet)
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/etc/init.d/ || die
+ rm -rf "${D}"/var/run || die
+ use rgmanager || rm -rf "${D}"/usr/share/cluster/ "${D}"/var/
+}
+
+pkg_postinst() {
+ elog "To use Resource Agents installed in /usr/$(get_libdir)/ocf/resource.d"
+ elog "you have to emerge required runtime dependencies manually."
+ elog ""
+ elog "Description and dependencies of all Agents can be found on"
+ elog "http://www.linux-ha.org/wiki/Resource_Agents"
+ elog "or in the documentation of this package."
+}
diff --git a/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild b/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild
new file mode 100644
index 000000000000..dcbb842b6cdc
--- /dev/null
+++ b/sys-cluster/resource-agents/resource-agents-4.0.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+MY_P="${P/resource-}"
+inherit autotools eutils multilib
+
+DESCRIPTION="Resources pack for Heartbeat / Pacemaker"
+HOMEPAGE="http://www.linux-ha.org/wiki/Resource_Agents"
+SRC_URI="https://github.com/ClusterLabs/resource-agents/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="doc libnet rgmanager"
+
+RDEPEND="sys-apps/iproute2
+ sys-cluster/cluster-glue
+ !<sys-cluster/heartbeat-3.0
+ libnet? ( net-libs/libnet:1.1 )"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-libs/libxslt
+ app-text/docbook-xsl-stylesheets
+ )"
+
+PATCHES=(
+ "${FILESDIR}/3.9.4-configure.patch"
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --disable-dependency-tracking \
+ --disable-fatal-warnings \
+ --localstatedir=/var \
+ --docdir=/usr/share/doc/${PF} \
+ --libdir=/usr/$(get_libdir) \
+ --with-ocf-root=/usr/$(get_libdir)/ocf \
+ $(use_enable doc) \
+ $(use_enable libnet)
+}
+
+src_install() {
+ default
+ rm -rf "${D}"/etc/init.d/ || die
+ rm -rf "${D}"/var/run || die
+ use rgmanager || rm -rf "${D}"/usr/share/cluster/ "${D}"/var/
+}
+
+pkg_postinst() {
+ elog "To use Resource Agents installed in /usr/$(get_libdir)/ocf/resource.d"
+ elog "you have to emerge required runtime dependencies manually."
+ elog ""
+ elog "Description and dependencies of all Agents can be found on"
+ elog "http://www.linux-ha.org/wiki/Resource_Agents"
+ elog "or in the documentation of this package."
+}
diff --git a/sys-cluster/rgmanager-agents/Manifest b/sys-cluster/rgmanager-agents/Manifest
new file mode 100644
index 000000000000..c098261b7968
--- /dev/null
+++ b/sys-cluster/rgmanager-agents/Manifest
@@ -0,0 +1,5 @@
+DIST rgmanager-agents-3.9.2.tar.gz 1103104 SHA256 e62cedf54cdfec0e1532a6ca08a1b4d6e1686586001bd695e45c28eed0c4a887 SHA512 6ca12715ebbf43fda8acfe17932f79629f55e98e50f79f846c5d66c067389f72357a14474352cfb3bb545efaedde47ffc31b9f60b4237a374f9b76a586378935 WHIRLPOOL 9c20292e29b141f829c28b9a5ee20bb1e2c1c96ea5888758a2a26123782f8a0409a700c1f2cb47f51c922e092b248ca0ee54e990544b6af655709bea692fca23
+EBUILD rgmanager-agents-3.9.2.ebuild 1677 SHA256 fdaefe4895843a0501152ec2e3bc06efd7473f220196823796a34fcd075a2eaa SHA512 29a7d6e22ca5fe13fb0965da857e526dbd2f2460a2f8e8eb373e581b3fd9cda581e3a26f50f048134600893ff737264f8afa7878aa1635f305dd3fa4b273e1b7 WHIRLPOOL 74937b097325f36f4302967ea22569d6d07af6ebe5024265de51f2c11c55e31bdb49b3c79d51bda4df9b66bac489112442e1a46db3459cf364427ecc55fccce6
+MISC ChangeLog 2457 SHA256 27987de8289b4b092c377343ff2eed23bf899a433a20c6c07bf5983a76d722b3 SHA512 7f838a829a2d1c9f4852fc06cc9f8130c3dd7145a259e9f9f1b37a80dff1d56b3ff4bc0caac27c886d5df46490746989796775730846b2eef9bed39801f360b2 WHIRLPOOL ee06323a84a4cb0d61af8f1a8f109185caee30bd966dd817888457ab0516a0567ede2bc7da58ae7f4cf40e620335a6b8b9fd9466fee3c1699e03e6601223f5f3
+MISC ChangeLog-2015 383 SHA256 218ea521f4763562fab8690e3df6e39de149e06ddcdd7e352bbe43208be11756 SHA512 e89d0db3ed77c6d6c274405a387c54b3238343e128672e0d747d2cdaf0f5d45183fa76c73d537fcb9fcc09113c6e17b6eb658e7a72b7bf7ae1e84f582b5c2dda WHIRLPOOL 0e5d4738a5b617a534527e9456b58babfd133a436ca9772f5c757f9c22f6d3b80799af0138b6d8939d57d37e3600a704b1cdb8b929849390950323470459cc25
+MISC metadata.xml 317 SHA256 fbbbb1354d161ebfb47b6e54673a8d57a63ed79f6c0f7fe255db22a09035f068 SHA512 969b84373fae066dff00e89008411a4fc5e73270126aaf50fe731d54056d04491ad0641ebc7dcc8a8d0cad2c77053b48fa07031b09be4af2ad5d89dd3399525d WHIRLPOOL 7589595dcac2d0671abf580bb23acbe3fefab07d7b6850da56745b6a77e2ddcd7481d50b200eb7ee07f2933bd16a2296b35e1bb4a6b859cd50f7b76ecccb3113
diff --git a/sys-cluster/rgmanager-agents/metadata.xml b/sys-cluster/rgmanager-agents/metadata.xml
new file mode 100644
index 000000000000..70466e153364
--- /dev/null
+++ b/sys-cluster/rgmanager-agents/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <longdescription>Resource Manager Agents</longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild b/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild
new file mode 100644
index 000000000000..280fff2162e2
--- /dev/null
+++ b/sys-cluster/rgmanager-agents/rgmanager-agents-3.9.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit multilib versionator
+
+CLUSTER_RELEASE="3.1.5"
+MY_PN="resource-agents"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Resource Manager Agents"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/r/e/${MY_PN}/${MY_P}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="~sys-cluster/rgmanager-${CLUSTER_RELEASE}
+ ~sys-cluster/cman-${CLUSTER_RELEASE}"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+src_configure() {
+ econf \
+ --docdir=/usr/share/doc/${P} \
+ --libdir=/usr/$(get_libdir) \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --with-ras-set=rgmanager
+}
+
+src_install() {
+ default
+
+ # remove useless RHEV check script and log directory
+ rm -rf "${D}/usr/sbin" "${D}/var"
+}
+
+pkg_postinst() {
+ if [[ "${ROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you will not be able to define ressources."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ /usr/sbin/ccs_update_schema -v -f
+ fi
+}
+
+pkg_postrm() {
+ if [[ "${ROOT}" != "/" ]] ; then
+ ewarn "You have to run 'ccs_update_schema' in the chroot-environment"
+ ewarn "to update the schema file for the cluster configuration."
+ ewarn "Otherwise you may be able to define ressources even though they"
+ ewarn "are not present anymore."
+ else
+ elog "Running ccs_update_schema to update the configuration file schema"
+ /usr/sbin/ccs_update_schema -v -f
+ fi
+}
diff --git a/sys-cluster/rgmanager/Manifest b/sys-cluster/rgmanager/Manifest
new file mode 100644
index 000000000000..efe406e533cb
--- /dev/null
+++ b/sys-cluster/rgmanager/Manifest
@@ -0,0 +1,14 @@
+AUX rgmanager-2.03.09-CVE-2010-3389.patch 1404 SHA256 cd7c3ef38d317531c807768f195bb2eb64c1943aec9b114c47d557067171eb3e SHA512 35a9654e074a04fe1fb8dbce8262dfeab1f011ce611e630ec21c4cc0e7f3c1586a53cdb803e155ebf738c6a2f1e08959f96b004c4d5ac3560c585975e93929c6 WHIRLPOOL b24a28923c6bf7ac4ef20dde7d6772336221f214a302b23e9c3095c91a12fb3ab2e0e4383a32fde8b0b13ca89d40999284be2b0cda3dc797339a519dd1efbbd1
+AUX rgmanager-2.0x.conf 122 SHA256 7b0706d649375a41e17a3b394d09f2276ce4e7894dc34e1c76b4dbbd6432a1d9 SHA512 35e51d4ce26c51cf78ddf05aa82c03f168dff74c31aadba8a6435f57e8dd3c9db6a4ce6d7e763d7cef4f0e3c093382cb58c586c5d689129a655dc75543583110 WHIRLPOOL 7856a12f82f9238bc8063eb32106fcd8978021001e7225ac8c0b9256d8e6d9165915843396baa07a75b0edf1fcfc0a90099dbb145e3bfbdb483453f55d7af575
+AUX rgmanager-2.0x.rc 1871 SHA256 0643b0fca662187eb895ca1c61d15112cf8635f8a8f4330fdff92cf79ecb07e1 SHA512 f07f5a73b3c193e8ad80d43eeebd48c22bc7e77a3c51dc7a0cd5ffbea0b7bc9c00cdd949b21d640d56dd1726033dda346b76ca60b5ed01668f4dea93d08b8a7b WHIRLPOOL 5c85a13c7aefb7495e1a6d10e998eb9f8ec5369db20823ed98a26188c115e601322688cff48919ed5ed39cd82902a757145b797325e83ac7495d7398f1cd3856
+AUX rgmanager-3.1.5-fix_libxml2.patch 731 SHA256 b939dec463869b3b3c21b4a9dfad61f14eee57e0cd006e661387c408a0537ced SHA512 1ed141c77d138fd91e9ba290a43c1c2c90caa37746b9450ccd75fa1ec2633a8f718a8dece6f3819e8e8cb34ab6c4f1a1104fc5f52e9bcf664edd0f5b6e8022f9 WHIRLPOOL 79836501e4d15da9e40aff10fab8e1b5fc891da7264ac20b63ca7def2fbdb75f73f7dd02086c83c73b25137f3f7516eef1085c4c14c635dfd8af70715700f839
+AUX rgmanager.confd 157 SHA256 3104c1a46c8f7e9027854dc44b458e5f92075cd9b38b3bf7ea2ea31730767d12 SHA512 ffda3bd80dccb70dd75723dd63185354a69380f076aecbbc5e13cd8949730a139c518e03f8e75aa99d6f12f6d6e7b577030c0763fc7a167002945b166aebc56f WHIRLPOOL 31a892fc08fadce818e7f69181ad38e4dbecebfb256879bfaaf3035ea26c5845f84e962da8f3f01b1d07c752fb60dbe063639537bd7975467a21ea7ba5d57e29
+AUX rgmanager.initd 634 SHA256 4142f555ba942a61bd0a668fe5a9e489714b58eab63aecae3d7f401bb7494869 SHA512 345146c9f4bc7492a39b6a0b50d4529046843b353a2d66443ca35f8b759d7bec833addca650210b2a699b66012de09410ad86be49ad82cd92f84cd2754254559 WHIRLPOOL 9602bf9ea207f76ff089ec40d68409aaf667e7350e7b55e7d7a863b0443064e05b016ade9b4d5e78c05f50b021e17e970935d79d902bb6997bce5d9bb8efae59
+DIST cluster-2.03.09.tar.gz 1784357 SHA256 b6d6f35f58b2f8628c369391e0fd01b1803af40029ec1e6ef88865dda38b855f SHA512 5dbcf978336a6b7998df0d3dfcff037e1e77e9e69b43d78eb573a65432445e572e69d7783e7874e9edf2632627f02426f428103831e10f5d1f338afa91a62c28 WHIRLPOOL 30158d495677d9cd0d8a8915dd062f75b60ca99a5d937fa10862d746608bab0e500565e94d14f6b2a4f6e8dc13674d342347aecd24546df6d3f578c0cf87113d
+DIST cluster-3.1.5.tar.gz 651449 SHA256 95be1b484f9c58af3c47a9d46dc2802d37f1b2b9028053f243a2c8bd1f07623e SHA512 692888ed55c6bb7ebf3b3e792ec071b5fcff4c35c181c5b0c9296e8222c62e10f8a6344af391fbae8186b39cb31e674632bde77ebcc1fcab758657ae4264634a WHIRLPOOL 9d511effd14f9644dea11d1aba22878846beaa6bad4686358ad552c918c2cb72bc5a59605ad2dd576f626ea95f48c9d6b0b8c79f75eb4a721f65b8a60d0728cf
+EBUILD rgmanager-2.03.09-r1.ebuild 1530 SHA256 21de86b827eebee3a867d25cf3daa5f9b44e6fe375c2c522c0b3e175bd5df839 SHA512 4a8d4a655c8107f23e26844b5785fb1d44a9cb427a05e2a2c66ae5ac3b59df7b5f22e948ec2d127117c02ade4d70daaa7bd45e4d5aaa14878b9ce2a734fb4eef WHIRLPOOL bafa32989ad392f6531968b4e588e96616b2cadbbc60ea5ab1c939fd06db7ac61a5387f7adaf087577a0e6025fe2f9019bbea9a2415d75764d7e3ee17ce84660
+EBUILD rgmanager-2.03.09.ebuild 1526 SHA256 70a8ee31c7d78fd1a856a65d854da8aef7a1410455c36df82a62e9b3dbf3e0f4 SHA512 dc3c457934da82e25b1ac4673b04acd4b0d220fab201837bfe7bb64633d0df4d78e479d65c1e500dec8bdc23fa105e54250eec57aefd81ce62b25a3a31609fa5 WHIRLPOOL 1ffe537bcd6e9f82d666c0a682963d80104709649d8ca80f9f8a56b50098ad6fd872cd9297148c67fdf0d972023233bb7582ae8c199ee985783d4e12110c331b
+EBUILD rgmanager-3.1.5.ebuild 1400 SHA256 33de5599ed917641916c9828877cbee0f1d0b1d63289434d6612bca0e21b2cb3 SHA512 4292c6b6a31f136a963747698181b995c8e56a509f7db9a92f9c56860fdf7cad47d474a843c5060cd0388bad90c6a30cced047dfc0a497cf09e17697137669a2 WHIRLPOOL 8c2cb47097d8f41a45695d62b94408914131b29f411d7f44f769f42683dea8f2f3301c3e42add01fad4e4aa4bf2326561866c90517854634c297107629f1ba0c
+MISC ChangeLog 3396 SHA256 1c06132553360899fe9b9d26ee871cef62e2fe86c5c7281e5bf8109d8f528788 SHA512 a1ff65ec69d2315edd08d1144db8fb871a0fd6b39d0396352be20299f65ee6e7e849fa8ac6b70d5cc94f6af309dc637f475c1d4b424f5fe6eaaff61729eab2b7 WHIRLPOOL 28a1fcb52f0f5f99578620a43b327930613dbab9bb24f4392dfdc25278e8220d5cbf42a513d1bc112dcfa573c033f10976ef56e9e6bf101a6e4ed29cd167bea3
+MISC ChangeLog-2015 3619 SHA256 b1e13e34205591a6ff23a1e5c20718ab483279e99a48fb26fbc1aa819b80efe6 SHA512 435d94b1dce411568b73945f9f2968206bc6ad22e9536c643e9ff024e81a3badc9b9c2c070a8a4ffecb716c4f72418786b1950a3e5d3afc0de5603ac81032963 WHIRLPOOL 06a2752cc367ab39e5e68eb9f1645c8723890b8cd6b2844008c592e37848c9f1a41fc401b56779dd0ebe5c5a9971f902faa0debdbf040d0394d17afd8dcd2715
+MISC metadata.xml 253 SHA256 5030a84d36a522ae62530f6406dbda5099255457f76b3ed419dcffc6d7383667 SHA512 0894860713279dc39bbe7ce3491002710b62c4476198984a0deb6328cb0012c19d7a5546299960bbe600ee240e62a603dd4c4fa04325a753cc0b7c4044c30aba WHIRLPOOL c55ba84102cbd078e50dd719902811669b3913122f44e982c90039b27067446810d881e73a22ed410edc41a409a273fd355be8a6d627bb0e67717b6a33d5fe1e
diff --git a/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch b/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch
new file mode 100644
index 000000000000..86e1f138eed1
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager-2.03.09-CVE-2010-3389.patch
@@ -0,0 +1,36 @@
+https://bugs.gentoo.org/show_bug.cgi?id=352213
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598549
+
+Patch by Jari Aalto <jari.aalto@cante.net>
+--- a/rgmanager/src/resources/SAPDatabase
++++ b/rgmanager/src/resources/SAPDatabase
+@@ -670,8 +670,11 @@
+ fi
+
+ # as root user we need the library path to the SAP kernel to be able to call executables
+-if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then
+- LD_LIBRARY_PATH=$DIR_EXECUTABLE:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
++if [ "$DIR_EXECUTABLE" ]; then
++ if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then
++ LD_LIBRARY_PATH="$DIR_EXECUTABLE${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
++ export LD_LIBRARY_PATH
++ fi
+ fi
+ sidadm="`echo $SID | tr [:upper:] [:lower:]`adm"
+
+--- a/rgmanager/src/resources/SAPInstance
++++ b/rgmanager/src/resources/SAPInstance
+@@ -382,8 +382,11 @@
+ fi
+
+ # as root user we need the library path to the SAP kernel to be able to call sapcontrol
+-if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then
+- LD_LIBRARY_PATH=$DIR_EXECUTABLE:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
++if [ "$DIR_EXECUTABLE" ]; then
++ if [ `echo $LD_LIBRARY_PATH | grep -c "^$DIR_EXECUTABLE\>"` -eq 0 ]; then
++ LD_LIBRARY_PATH="$DIR_EXECUTABLE${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
++ export LD_LIBRARY_PATH
++ fi
+ fi
+ sidadm="`echo $SID | tr [:upper:] [:lower:]`adm"
+
diff --git a/sys-cluster/rgmanager/files/rgmanager-2.0x.conf b/sys-cluster/rgmanager/files/rgmanager-2.0x.conf
new file mode 100644
index 000000000000..ba5587060f76
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager-2.0x.conf
@@ -0,0 +1,4 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+RGMGR_OPTS=""
diff --git a/sys-cluster/rgmanager/files/rgmanager-2.0x.rc b/sys-cluster/rgmanager/files/rgmanager-2.0x.rc
new file mode 100644
index 000000000000..d7d77d47fbe2
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager-2.0x.rc
@@ -0,0 +1,109 @@
+#!/sbin/openrc-run
+# Copyright 1999-2005 Gentoo Foundation
+# Adaption of the original RedHat script
+# Original Copyright (C) 2003 Red Hat, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use net
+ need cman
+}
+
+# We'd like a reload method as well
+opts="${opts} reload"
+
+ID="Cluster Resource Manager"
+RGMGRD=$(which clurgmgrd)
+RMTABD=$(which clurmtabd)
+CFG_FILE="/etc/cluster/cluster.conf"
+
+LOG_ERR=3
+LOG_WARNING=4
+LOG_NOTICE=5
+LOG_INFO=6
+
+#
+# If we're not configured, then don't start anything.
+#
+[ -f "$CFG_FILE" ] || exit 0
+
+
+#
+# log_and_print <level> <message>
+#
+function log_and_print()
+{
+ if [ -z "$1" -o -z "$2" ]; then
+ return 1;
+ fi
+
+ clulog -p $$ -n "rgmanager" -s $1 "$2"
+ echo $2
+
+ return 0;
+}
+
+
+#
+# Bring down the cluster on a node.
+#
+function stop_cluster()
+{
+ kill -TERM $(pidof $RGMGRD)
+
+ while [ 0 ]; do
+ if [ -n "`pidof $RGMGRD`" ]; then
+ while [ -n "`pidof $RGMGRD`" ]; do
+ sleep 1
+ done
+ einfo "Waiting for $(basename ${RGMGRD})"
+ else
+ eend "Services are stopped."
+ fi
+
+ # Ensure all NFS rmtab daemons are dead.
+ killall $(basename ${RMTABD}) &> /dev/null
+
+ rm -f /var/run/$(basename ${RGMGRD}).pid
+
+ return 0
+ done
+}
+
+
+
+function start() {
+ ebegin "Starting cluster resource manager"
+ start-stop-daemon --start --quiet --exec ${RGMGRD} ${RGMGR_OPTS}
+ ret=$?
+ if [ $ret -eq 0 ]; then
+ touch /var/lock/subsys/rgmanager
+ fi
+ eend $ret
+}
+
+function restart() {
+ pidof ${RGMGRD} &> /dev/null
+ if [ ${?} -ne 1 ]; then
+ svc_stop
+ fi
+ svc_start
+}
+
+function reload() {
+ clulog -p ${LOG_NOTICE} "Reloading Resource Configuration."
+ ebegin "Reloading Resource Configuration "
+ kill -s HUP $(pidof ${RGMGRD} )
+ rv=${?}
+ eend
+ exit ${rv}
+}
+
+function stop() {
+ ebegin "Shutting down cluster resource manager"
+ if [ -n "$(pidof ${RGMGRD})" ]; then
+ stop_cluster
+ fi
+ rm -f /var/lock/subsys/rgmanager
+ eend
+}
diff --git a/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch b/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch
new file mode 100644
index 000000000000..eff23ef495bc
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager-3.1.5-fix_libxml2.patch
@@ -0,0 +1,23 @@
+* Use double underline as header-protectors to avoid collision with icu's platform.h
+* (pulled in via libxml2 when built with icu support) resulting in int64_t defined twice
+* (once in icu's ptypes.h and once in stdint.h)
+* patch by Tiziano Mueller <dev-zero@gentoo.org>
+--- a/rgmanager/include/platform.h 2011-03-07 19:58:22.000000000 +0100
++++ b/rgmanager/include/platform.h 2011-03-08 15:59:36.773871936 +0100
+@@ -1,8 +1,8 @@
+ /** @file
+ * Defines for byte-swapping
+ */
+-#ifndef _PLATFORM_H
+-#define _PLATFORM_H
++#ifndef __PLATFORM_H
++#define __PLATFORM_H
+
+ #include <endian.h>
+ #include <sys/param.h>
+@@ -56,4 +56,4 @@
+ #define PACKED __attribute__((packed))
+ #endif
+
+-#endif /* _PLATFORM_H */
++#endif /* __PLATFORM_H */
diff --git a/sys-cluster/rgmanager/files/rgmanager.confd b/sys-cluster/rgmanager/files/rgmanager.confd
new file mode 100644
index 000000000000..fa9f66830bd5
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager.confd
@@ -0,0 +1,7 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+PIDFILE="/var/run/rgmanager.pid"
+
+RGMGR_OPTS=""
+
diff --git a/sys-cluster/rgmanager/files/rgmanager.initd b/sys-cluster/rgmanager/files/rgmanager.initd
new file mode 100644
index 000000000000..caaa86f551e7
--- /dev/null
+++ b/sys-cluster/rgmanager/files/rgmanager.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+# Copyright 1999-2011 Gentoo Foundation
+# Adaption of the original RedHat script
+# Original Copyright (C) 2003 Red Hat, Inc.
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ use net
+# need cman
+}
+
+start() {
+ ebegin "Starting cluster resource manager"
+
+ # recreate run-directory
+ mkdir -p /var/run/cluster
+
+ start-stop-daemon \
+ --start \
+ --quiet \
+ --exec "/usr/sbin/rgmanager" \
+ --pidfile "${PIDFILE}" \
+ -- ${RGMGR_OPTS}
+ eend $ret
+}
+
+stop() {
+ ebegin "Shutting down cluster resource manager"
+ start-stop-daemon \
+ --stop \
+ --pidfile "${PIDFILE}" \
+ --retry 0
+ eend $?
+}
diff --git a/sys-cluster/rgmanager/metadata.xml b/sys-cluster/rgmanager/metadata.xml
new file mode 100644
index 000000000000..4a09d7ba8d61
--- /dev/null
+++ b/sys-cluster/rgmanager/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+</maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild b/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild
new file mode 100644
index 000000000000..916463bc0271
--- /dev/null
+++ b/sys-cluster/rgmanager/rgmanager-2.03.09-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=2
+
+inherit eutils multilib versionator
+
+CLUSTER_RELEASE=${PV}
+MY_P=cluster-${CLUSTER_RELEASE}
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="Clustered resource group manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="=sys-cluster/ccs-${CLUSTER_RELEASE}*
+ =sys-cluster/dlm-lib-${CLUSTER_RELEASE}*
+ =sys-cluster/cman-lib-${CLUSTER_RELEASE}*"
+
+DEPEND="${RDEPEND}
+ dev-libs/libxml2[-icu]
+ =sys-libs/slang-2*"
+
+S=${WORKDIR}/${MY_P}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-CVE-2010-3389.patch
+ sed -i -e 's/-Werror//g' src/{clulib,utils,daemons}/Makefile || die
+}
+
+src_configure() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --dlmlibdir=/usr/$(get_libdir) \
+ --dlmincdir=/usr/include \
+ --cmanlibdir=/usr/$(get_libdir) \
+ --cmanincdir=/usr/include \
+ ) || die "configure problem"
+}
+
+src_compile() {
+ # There's a problem with -O2 right now, a patch was submitted.
+ env -u CFLAGS emake -j1 clean all || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ newinitd "${FILESDIR}"/${PN}-2.0x.rc ${PN} || die
+ newconfd "${FILESDIR}"/${PN}-2.0x.conf ${PN} || die
+}
diff --git a/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild b/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild
new file mode 100644
index 000000000000..6b626ebc17ac
--- /dev/null
+++ b/sys-cluster/rgmanager/rgmanager-2.03.09.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit eutils versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2).$(get_version_component_range 3)"
+
+DESCRIPTION="Clustered resource group manager"
+HOMEPAGE="https://sourceware.org/cluster/wiki/"
+SRC_URI="ftp://sourceware.org/pub/cluster/releases/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="=sys-cluster/ccs-${CLUSTER_RELEASE}*
+ =sys-cluster/dlm-lib-${CLUSTER_RELEASE}*
+ =sys-cluster/cman-lib-${CLUSTER_RELEASE}*
+ "
+
+DEPEND="${RDEPEND}
+ dev-libs/libxml2
+ =sys-libs/slang-2*
+ "
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+src_compile() {
+ (cd "${WORKDIR}"/${MY_P};
+ ./configure \
+ --cc=$(tc-getCC) \
+ --cflags="-Wall" \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --dlmlibdir=/usr/lib \
+ --dlmincdir=/usr/include \
+ --cmanlibdir=/usr/lib \
+ --cmanincdir=/usr/include \
+ ) || die "configure problem"
+
+ # fix the manual pages have executable bit
+ sed -i -e '
+ /\tinstall -d/s/install/& -m 0755/; t
+ /\tinstall/s/install/& -m 0644/' \
+ man/Makefile
+
+ # There's a problem with -O2 right now, a patch was submitted.
+ env -u CFLAGS emake -j1 clean all || die "compile problem"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "install problem"
+
+ newinitd "${FILESDIR}"/${PN}-2.0x.rc ${PN} || die
+ newconfd "${FILESDIR}"/${PN}-2.0x.conf ${PN} || die
+}
diff --git a/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild b/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild
new file mode 100644
index 000000000000..14508c6668c9
--- /dev/null
+++ b/sys-cluster/rgmanager/rgmanager-3.1.5.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=4
+
+inherit eutils multilib versionator
+
+CLUSTER_RELEASE="${PV}"
+MY_P="cluster-${CLUSTER_RELEASE}"
+
+MAJ_PV="$(get_major_version)"
+MIN_PV="$(get_version_component_range 2-3)"
+
+DESCRIPTION="Clustered resource group manager"
+HOMEPAGE="https://fedorahosted.org/cluster/wiki/HomePage"
+SRC_URI="https://fedorahosted.org/releases/c/l/cluster/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus"
+
+DEPEND="~sys-cluster/libcman-${PV}
+ ~sys-cluster/liblogthread-${PV}
+ ~sys-cluster/libccs-${PV}
+ ~sys-cluster/libdlm-${PV}
+ dev-libs/libxml2
+ =sys-libs/slang-2*
+ dbus? ( sys-apps/dbus )"
+RDEPEND="${DEPEND}
+ ~sys-cluster/cman-${PV}"
+
+S=${WORKDIR}/${MY_P}/${PN}
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-fix_libxml2.patch"
+}
+
+src_configure() {
+ local myopts=""
+ use dbus || myopts="--disable_dbus"
+ cd "${WORKDIR}"/${MY_P}
+ ./configure \
+ --cc="$(tc-getCC)" \
+ --cflags="-Wall" \
+ --libdir=/usr/$(get_libdir) \
+ --disable_kernel_check \
+ --somajor="$MAJ_PV" \
+ --sominor="$MIN_PV" \
+ --dlmlibdir=/usr/$(get_libdir) \
+ --dlmincdir=/usr/include \
+ --cmanlibdir=/usr/$(get_libdir) \
+ --cmanincdir=/usr/include \
+ ${myopts} \
+ || die "configure problem"
+}
+
+src_install() {
+ default
+
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/sys-cluster/sanlock/Manifest b/sys-cluster/sanlock/Manifest
new file mode 100644
index 000000000000..47276557673e
--- /dev/null
+++ b/sys-cluster/sanlock/Manifest
@@ -0,0 +1,5 @@
+AUX sanlock.initd 249 SHA256 339371540c4167c7705c1bd1d010c00beb62e4763f6c7a11bd5e83258013093a SHA512 5ed7b2d96cb875e2db0914ec7232fe8443c05de69e07d214ffc0adfafac5123694173373f831c5acf46d11aa4fca304b88e6e4c4ee2fbe5b033d173eea5aec36 WHIRLPOOL 05a4154c0978c0566aa4e0c1f01f15ac835562af882b977d95e64b03d6172fa12c5ba006d428d5db5bf95a2c0c7f266f3a8883be9f5fd1b7a0424d897d19af39
+AUX wdmd.initd 261 SHA256 93bbb7fd52e14ef5285e1f2676d9a5a48b956cda618d3c95061dd641469b8eab SHA512 9c7e980817c1c76868caff229b42a3d70e912abfd8c974bf5b856067bef79fbd3a5942b30bcb7d02869e2eba85e6f6ba3c861e9780046b01b25df1b39661b6c0 WHIRLPOOL dc4e5cbaab1ef1f001874f7f5f99f027a0321fd44a595e74e23ead0fba02225d5da6b099e5edaa58ae330e6cb0f181bc6281851be5132d9eaa0918270d2f74b5
+DIST sanlock-3.4.0.tar.xz 157016 SHA256 b4b18eb0af1bfc730a037f9da7dd84777c9a4ceb1a1ac2e577705124c4c9e891 SHA512 8a10faaa5b9ce9f0506ca16620ad482804c9ca860b84a60a6f0b525a256059229a202163d366a57fb59169c0f4f822ced570b42562e412747f6f716509341f19 WHIRLPOOL 500ccc9ab323bed28fc6b65dbdc04588deae03d3bb500ab623b9b922c436db896b793965bf4e780800138cd780d4fb659a952dc064bb01065e629c69062c330e
+EBUILD sanlock-3.4.0-r1.ebuild 2051 SHA256 e2cbf7a94384c29ae15ee7a7e25814f9bef99156dfb36fa395ca025681d15c98 SHA512 35c102a99b0e44073e97cc03e591ac1a1c95a886675b16a90c390414674440cf2d1cf88e52c805d63cbf34d1520f48604e74f32d925841e93aa8bab8b2c9fbcf WHIRLPOOL 0a16d2797b03755347c2185a556526436505b524f168611f8e0175124011a719e9e88cd627a7e9e5aa4985a3972ca5e52c1dea7166b92b02103cb226c8264802
+MISC metadata.xml 368 SHA256 b4e92de3890c887828ee9e71a4bbb69bd98de5e6f5c065bf78b22710dc7ee1a7 SHA512 2cc3ec3c99cfff2e0c576ab6c7b0a39460af875ba826ce0cf3c5a1a4f0f3def6170753c8d42af2fc7a139ad7f2135e309c3165bde83b4e7574292768c96e8086 WHIRLPOOL 6a427e2e2c9fd1d4a002a603487b87b04a1834a8525e9942be1966aeb3595201303550e14252d718db1aa801153e027ee9a5e969a32b728e8ba1451fac568676
diff --git a/sys-cluster/sanlock/files/sanlock.initd b/sys-cluster/sanlock/files/sanlock.initd
new file mode 100644
index 000000000000..823e5edf26b8
--- /dev/null
+++ b/sys-cluster/sanlock/files/sanlock.initd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/sanlock.pid"
+command="/usr/sbin/sanlock"
+command_args="daemon ${SANLOCKOPTS:-"-U sanlock -G sanlock"}"
+
diff --git a/sys-cluster/sanlock/files/wdmd.initd b/sys-cluster/sanlock/files/wdmd.initd
new file mode 100644
index 000000000000..a87106aaa853
--- /dev/null
+++ b/sys-cluster/sanlock/files/wdmd.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+pidfile="/var/run/wdmd.pid"
+command="/usr/sbin/wdmd"
+command_args="${WDMDOPTS:-"-G sanlock"}"
+
+start_pre() {
+ $command -p || exit 1
+}
diff --git a/sys-cluster/sanlock/metadata.xml b/sys-cluster/sanlock/metadata.xml
new file mode 100644
index 000000000000..f854e201fabf
--- /dev/null
+++ b/sys-cluster/sanlock/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild b/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..a4d7474e909b
--- /dev/null
+++ b/sys-cluster/sanlock/sanlock-3.4.0-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5} )
+inherit linux-info python-r1 systemd user
+
+DESCRIPTION="shared storage lock manager"
+HOMEPAGE="https://pagure.io/sanlock"
+SRC_URI="https://git.fedorahosted.org/cgit/${PN}.git/snapshot/${P}.tar.xz"
+
+LICENSE="LGPL-2+ GPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
+IUSE="python"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+DEPEND="
+ sys-apps/util-linux
+ python? ( ${PYTHON_DEPS} )
+"
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ local warning="You need to have CONFIG_SOFT_WATCHDOG enabled in your kernel for wdmd"
+ if linux_config_exists; then
+ if ! linux_chkconfig_present SOFT_WATCHDOG; then
+ ewarn ""
+ ewarn "$warning"
+ ewarn ""
+ fi
+ else
+ ewarn ""
+ ewarn "Could not be checked automatically: $warning"
+ ewarn ""
+ fi
+}
+
+pkg_preinst() {
+ enewgroup sanlock
+ enewuser sanlock -1 -1 -1 sanlock,disk
+
+}
+
+src_compile() {
+ for d in wdmd src fence_sanlock reset; do
+ cd $d; emake; cd ..
+ done
+ if use python; then
+ cd python; python_foreach_impl emake; cd ..
+ fi
+}
+
+src_install() {
+ for d in wdmd src fence_sanlock reset; do
+ cd $d; emake DESTDIR="${D}" LIBDIR="${EROOT}usr/$(get_libdir)" install; cd ..
+ done
+ if use python; then
+ cd python; python_foreach_impl emake DESTDIR="${D}" install; cd ..
+ fi
+
+ # config
+ dodir /etc/wdmd.d
+ dodir /etc/sanlock
+ insinto /etc/sanlock
+ doins src/sanlock.conf
+
+ # init
+ newconfd init.d/sanlock.sysconfig sanlock
+ newconfd init.d/wdmd.sysconfig wdmd
+ newinitd "${FILESDIR}"/sanlock.initd sanlock
+ newinitd "${FILESDIR}"/wdmd.initd wdmd
+ #doinitd ${FILESDIR}/sanlk-resetd.initd
+ #doinitd ${FILESDIR}/fence_sanlockd.initd
+
+ # systemd
+ systemd_newunit init.d/sanlock.service.native sanlock.service
+ sed -i 's,^ExecStartPre=,#ExecStartPre=,' init.d/wdmd.service.native
+ systemd_newunit init.d/wdmd.service.native wdmd.service
+ systemd_dounit init.d/sanlk-resetd.service
+ #systemd_dounit ${FILESDIR}/fence_sanlockd.service
+}
diff --git a/sys-cluster/singularity/Manifest b/sys-cluster/singularity/Manifest
new file mode 100644
index 000000000000..9014873c0759
--- /dev/null
+++ b/sys-cluster/singularity/Manifest
@@ -0,0 +1,8 @@
+AUX singularity-2.2.1-glibc-2.25.patch 742 SHA256 836cd7544d3ee88003ea032b2b7def8b09aae5b2515c372c22bf3f2e2caf776d SHA512 745fe14112e72fb06b5956516a3ad37fd18b96e024d80444b7e6844019e7a0c7ab1adc0887cb6591c1fba01484e659be50dc1a3cf03e6feb1065d98ecd4ac5c1 WHIRLPOOL 7e6afa455881605c75110ab392f8aebac024a2b545405d2d825a46086bffe4f8238fc906263c8c4b2d15ee25a70b7a5364f8147cae8fb211d1e2e58934f34e7e
+AUX singularity-2.3.1-slurm.patch 1597 SHA256 85e1995332f2589859de6cc590c06a04c0eeb11ef7a75911d33b951dd4f82ef8 SHA512 174dc15dcd5bff0a0b6796d4623f829fb4b7d0e8483308cafe179beb6321d31cf3ee9913decd91aebac0689a62181096cc0ac3a283f8c88927c00e113a476224 WHIRLPOOL 538a295dff1e92252696d54e054ae1578d2180bd594afbdaea808f1b9609ad7390e1b85b9d64ce8c26bbb51955a748d790a93dc7ca8237c74df002ac3b031d51
+DIST singularity-2.2.1.tar.gz 493368 SHA256 0e2a0b0cf6c8d4dc041365f715b2df157e0d8d89986e4eb111c61716df031c8a SHA512 b1195e98254957cd8d80b35b13d4f11060c5836f05ed450d242544fc30f8c298b837ba8986b1184288bc9a5ff2ebb5b1f56dc55a0686b540242b0042a152f902 WHIRLPOOL 3d3c5cb0928bd5beb683c4075c88453d076795c0e41ad30676f7169ccbd6d71a70ad64104833925913138f47b8fc318e90366af79259a05bad41bb0a42703b05
+DIST singularity-2.3.1.tar.gz 643021 SHA256 dcccae9ff67a550d142c94e932c0fb59442dd59ae69ce1deeb7ba45829ef2cd7 SHA512 36c581e8dba57d133013c2fcfea26886b54a1a9a9165b011d2cebacb2a6249fe0f8e5aa91ed90f7a18855c658300682436c431a226629408f31422cc8a036600 WHIRLPOOL d9bb8604ce2afb6bb2b5b257eb88276a93987916cd4c08ecc800d98761f5d1ae54e48ed615d77b1c992bcc8bb6202e9bf5e04637d10d1126fba6d1c2619cb98c
+EBUILD singularity-2.2.1.ebuild 603 SHA256 284ddda57f6ab272b912705b7bfb5f4e601864b8878e75c96aed805a9807bbf3 SHA512 030a1a39ea1915d75ef5ebdaa8b6b6d4b0eb0c45222a1d4492cb3a3b41cb4e6ad50c1fa6b85d13413d34bb232b62db14f12f4db48ea9876127d0fe32fdbff5d0 WHIRLPOOL 4afd0755887fe98ccf3fdbafacb61f7a0874590a2c7256323ffca8da1e2b7f33d4657ccf006c28a2ae270569937b5a21447f4ef48f6a94d9d1ae5e1dcd68c035
+EBUILD singularity-2.3.1.ebuild 952 SHA256 b45c03e3a2ca5de21b14144967c2da9727f477709332a9c32bc357c3de9dc815 SHA512 60ed34f1ab7543ae5f728b51595640dc671ebb514028dce2fb82c72f1d192ca896c761fe38b4c786641f1df678adfd45d855eac262b68ee00c2b1048072e6d2c WHIRLPOOL 07f332ecdc9de4af06a10941cec0db76c20b04695e6ecde0f11cbd02edaeffa134ff7188e595e8dab5f44849fad32403c246bc355f23ec1c645c0e6c9ad12bc4
+MISC ChangeLog 771 SHA256 37adb96a35be0b0dcb6bc1c64e47203bc7836c7d6cb944ca69db79007b0bd446 SHA512 1e6fb03f5d3c4329a3c22c8274610ee940406c8bfcdf0e0ec9b3c3caed4b51f2ff1e34079c76e27940eab7470c8c1447bf02fa5d3f9ff985006ec65f0be76536 WHIRLPOOL dcbfd8b7040b56025c5567b78237aeb14bda64684dc6995a9cef05c6da392d5c6fb5f56bdee89c720dec3c0f67e3b745105f0fc3ca1e0e55477725ce1df28627
+MISC metadata.xml 440 SHA256 f01b881c69a798ee1e24df0d25e7deef12e41a1bbad55dc9440e9f8c733fcc91 SHA512 d8363de6994afc68b776ee6330a56b6a5e6d3156f440633c01160a9e9967654e4a564e235fc126be9400f436ec099fb05bd7754739cf8221666913b244d3b559 WHIRLPOOL 012b025cbbb9a777ba198613d872d47cbc82336424d1eef7b15fdbb0f479b5f5d1617cfe734aad27d6b1c73a366f268355283d6e82f3f36d2fb2977bd79da5b8
diff --git a/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch b/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch
new file mode 100644
index 000000000000..e550811dc676
--- /dev/null
+++ b/sys-cluster/singularity/files/singularity-2.2.1-glibc-2.25.patch
@@ -0,0 +1,28 @@
+ src/lib/loop-control.c | 1 +
+ src/lib/mount/dev/dev.c | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/lib/loop-control.c b/src/lib/loop-control.c
+index f9ab2d6f..4bfed843 100644
+--- a/src/lib/loop-control.c
++++ b/src/lib/loop-control.c
+@@ -26,6 +26,7 @@
+ #include <sys/file.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <errno.h>
+ #include <string.h>
+ #include <fcntl.h>
+diff --git a/src/lib/mount/dev/dev.c b/src/lib/mount/dev/dev.c
+index 547157a4..c994c264 100644
+--- a/src/lib/mount/dev/dev.c
++++ b/src/lib/mount/dev/dev.c
+@@ -25,6 +25,7 @@
+ #include <sys/mount.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#include <sys/sysmacros.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+
diff --git a/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch b/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch
new file mode 100644
index 000000000000..71a8d9972b75
--- /dev/null
+++ b/sys-cluster/singularity/files/singularity-2.3.1-slurm.patch
@@ -0,0 +1,54 @@
+From e858cfaf73eadb4cf4076a754c4836816c908d44 Mon Sep 17 00:00:00 2001
+From: Petr Votava <votava.petr@gene.com>
+Date: Thu, 29 Jun 2017 16:53:48 +0000
+Subject: [PATCH] A patch for slurm plugin build
+
+---
+ src/slurm/Makefile.am | 2 +-
+ src/slurm/singularity.c | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/slurm/Makefile.am b/src/slurm/Makefile.am
+index 860c7667d..152e41450 100644
+--- a/src/slurm/Makefile.am
++++ b/src/slurm/Makefile.am
+@@ -4,7 +4,7 @@ plugindir = $(libdir)/slurm
+ if WITH_SLURM
+ plugin_LTLIBRARIES = singularity_spank.la
+ singularity_spank_la_SOURCES = singularity.c
+-singularity_spank_la_LIBADD = ../lib/libsingularity_internal.la
++singularity_spank_la_LIBADD = ../lib/runtime/libinternal.la
+ singularity_spank_la_LDFLAGS = -module -no-undefined -avoid-version -export-symbols-regex '^slurm_spank_|^plugin_'
+ endif
+
+diff --git a/src/slurm/singularity.c b/src/slurm/singularity.c
+index acddddfd1..3509f4d8e 100644
+--- a/src/slurm/singularity.c
++++ b/src/slurm/singularity.c
+@@ -22,6 +22,7 @@
+
+ #define _GNU_SOURCE 1
+
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+@@ -29,9 +30,9 @@
+ #include <string.h>
+
+ #include "config.h"
+-#include "lib/singularity.h"
+ #include "util/util.h"
+ #include "util/file.h"
++#include "util/registry.h"
+
+ #include "slurm/spank.h"
+
+@@ -169,7 +170,6 @@ static int setup_container(spank_t spank)
+ }
+
+
+- char *image;
+ if ( ( image = singularity_registry_get("IMAGE") ) == NULL ) {
+ singularity_message(ERROR, "SINGULARITY_CONTAINER not defined!\n");
+ }
diff --git a/sys-cluster/singularity/metadata.xml b/sys-cluster/singularity/metadata.xml
new file mode 100644
index 000000000000..bb97aa8832e8
--- /dev/null
+++ b/sys-cluster/singularity/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jlec@gentoo.org</email>
+ <name>Justin Lecher</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">singularityware/singularity</remote-id>
+ </upstream>
+ <use>
+ <flag name="slurm">
+ Compile spank plugin for <pkg>sys-cluster/slurm</pkg>
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/singularity/singularity-2.2.1.ebuild b/sys-cluster/singularity/singularity-2.2.1.ebuild
new file mode 100644
index 000000000000..0d679f703fed
--- /dev/null
+++ b/sys-cluster/singularity/singularity-2.2.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils
+
+DESCRIPTION="Application containers for Linux"
+HOMEPAGE="http://singularity.lbl.gov/"
+SRC_URI="https://github.com/${PN}ware/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="cctbx-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-glibc-2.25.patch
+)
+
+src_configure() {
+ econf --with-userns
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+ default
+ prune_libtool_files
+ dodoc ChangeLog
+ use examples && dodoc -r examples
+}
diff --git a/sys-cluster/singularity/singularity-2.3.1.ebuild b/sys-cluster/singularity/singularity-2.3.1.ebuild
new file mode 100644
index 000000000000..68fad22fedfe
--- /dev/null
+++ b/sys-cluster/singularity/singularity-2.3.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )
+
+inherit autotools eutils python-single-r1
+
+DESCRIPTION="Application containers for Linux"
+HOMEPAGE="http://singularity.lbl.gov/"
+SRC_URI="https://github.com/${PN}ware/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="cctbx-2.0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples slurm static-libs +suid"
+
+RDEPEND="
+ slurm? ( sys-cluster/slurm )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-slurm.patch
+)
+
+src_prepare() {
+ default
+ # automake version hardcoding
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-userns \
+ $(use_with slurm) \
+ $(usex suid "" "--disable-suid") \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ MAKEOPTS+=" -j1"
+ default
+ prune_libtool_files
+ dodoc ChangeLog AUTHORS.md CONTRIBUTING.md
+ use examples && dodoc -r examples
+}
diff --git a/sys-cluster/slurm/Manifest b/sys-cluster/slurm/Manifest
new file mode 100644
index 000000000000..c9c46b169ae7
--- /dev/null
+++ b/sys-cluster/slurm/Manifest
@@ -0,0 +1,16 @@
+AUX logrotate 360 SHA256 22a0e4bf21c9387f34245ec3cdd3a59512e377f6a0509451088b17e6c5201f89 SHA512 f6edceef15960accbe72ddd34ff34934fa46b6d647c83e0d3a512d2ddc1ae6c60352e377cfa5332fd5cd817689e23680f7384f1b27fc49677b2e671e1bfe86b9 WHIRLPOOL f210575af8ce123646e78c05980f1953b409e19e678221e4a17d97423fae6a9bd14a7ecc6cdb046102c3439d50718349063c01ef29f507500e3259f33b85e3e4
+AUX slurm-16.05.2-disable-sview.patch 2317 SHA256 adffddff2230af0bca6c0acea655852eec5613e93b168cac4faa673c3bea6bbd SHA512 d351f3293976e49971a70fdfaf18247babfff870f6d8be216ad5beee8b866157405fd30afee832b29484064535dfa64eec17c720e8c6b72042481d17ac95eaff WHIRLPOOL eade950c8c7b818a7924373d4dd43ae89ec4ee46813684ca9a3860ccb7d4e81f68ae44d883bda1986ed8b610d2820fdb354e211a13e7b91d5cfbec715e710d96
+AUX slurm-16.05.2-sysmacros.patch 983 SHA256 ecf8280d8ab2e7ac37b860fe8062c1696bd206a0dd60aa50b360ba8714718fe0 SHA512 f9c2ce668e1ec0c191b809ffe7d94d4a47623a0325b63dcc7a51cce6a95bf322e03f03c81f02f26162df20c320bf45d810bdc6f7ebbfecb1bf651a8dac88f04c WHIRLPOOL 8f6df5f9a378bf85325185d78980e458856223b3e658ad80571a4b9136746a3d2e239bee7c2d8c3daf35a12819d17e715038a580bb3f8f816d01be38d6bb1f87
+AUX slurm-17.02.6-disable-sview.patch 2831 SHA256 3cc774398903c6a167d16802449ebb7bf2d9459030a04bd5c8bf641066816782 SHA512 3ea30226b721b982ddad78d538c280da78b311d66b0be63087ef606d7f9008731c583e276504b668d8fde74c45ac8aa80babf4d693eca1d274d27dc72479d5e7 WHIRLPOOL e8db83bb3de2c9541307b761697f647d6ef241f502f5efdd4bdb170659fe57c985e584362de4a311371fe16a65b938f75f7b4ab7ad1772668621b961f5412b07
+AUX slurm-17.02.6-glibc-2.25.patch 1575 SHA256 06d6dde16eded793a1c18be2bf4f349aa402f34a93f2512835d87f7a8b1a4c47 SHA512 09bf1e74ce81d2715608d9eab1875fbdd5ac487f24e8e350dc6de765e46d18e7ffd35807d4d017cc1b4cdb0dfcb44e877663c5652252cdcd5b269505e155d7e0 WHIRLPOOL 409975fddc03782e463542e35ddb3e5ea48ad7b2cccaf02bc1ec30929ce8a5c168fe79a15e3ccdaadd06f32df134888126e909882a1944ad42147ef8c4c5765f
+AUX slurm.confd 155 SHA256 bc1b32f7b3c4a2fb5d97ae227ff15d40da16c346c0eed33a7956ed780a1a0d96 SHA512 e4d21cdb6a427f0beaef0e157202308f9e86a41dea4532ee98b274a5979b5e82ec2ca4ca2996f6cb59045fd8b01e815aaad71673e2011cead788de3d879aa11f WHIRLPOOL c836f20aae1fc4619757fe0db935f22736cc73077d51792427c8c629248af1e35d5f0f8c54342e41f45729ae6cdbb2b7dad2bf4db0f0689c46656a5cfc652564
+AUX slurmctld.initd 1833 SHA256 8adfe93adf1e8f7e5f2c442fa70cfcf4a0d55c84abbfd6bf64482ad31e2c15c6 SHA512 14246262aaf70642237f2ad13194d2bdc64f72b26e34113c2e7d340cf7661c62c79c4f939c61684c98fc5181680c08dbc55807dea0e382a3b2d1e26d0e57ce1c WHIRLPOOL 3816014acf2b45d79531fba9ed84d5592383de9e21f1222930b9512f085b08dcbdb33c8858374501a73541a3c40e3e7c832ebe8fd89aaa5a23ce799c4c585e9f
+AUX slurmd.initd 1993 SHA256 79c8a084b6125d18d88e254a8346020aa2662d99e046b1490f07758c094bd93e SHA512 f58b68c3fb5e9109b6fa261cbb816ef240f9d1465229ec418f3a2bba9a1bc47ca22bf1386d7014ea62a23d0807d73b263c4a4df86e8c354fcb760af3cc9d0250 WHIRLPOOL 93ce03deb62f54012ec6d59c1feb37543b670f5f2eba3fcb2c429aaae40e00cc859456eda90e36fd348742a57d7edbdad11887384a2dc2211a80720295caa78f
+AUX slurmdbd.initd 1709 SHA256 860a405f4b222221399e557bfcf2a169d4cb5759c6a115e6890ce8628e5e118f SHA512 323852ab3ae1cbec55c51e54f7f7acc2e60a694e46a91454638b7f167f5dc0c1ecdba8bdb82641aee9ad303558c445d7551e774a6b470da279173b5c44123911 WHIRLPOOL c93cd55891a499a9cfd72de41ca6cc7a38cd02d3795292546f753c3f367a199a828c1ae53c67bb6b9aa3785e246a7c7f909ff480c57d496ee2ef4e1691977345
+DIST slurm-16.05.2.tar.bz2 5982329 SHA256 de57ab107c98499f7184c54de8d5ac115a55657aa03d29d69cd0b7e737a42852 SHA512 8b4296481c5ad83da2bde1530937b3da9b6e32b6606ba0b0a3899e0f2f0b4fc42ca8a802d4bf346d0de28852d75839e9359e28c4ce77588cd22a08ddbd34dd21 WHIRLPOOL 925902c9432b24a2c85488d1ba6a867abed0adaaecaa94b648402e48d250d924000741b2be486b34d3b7f6890aeabb9aea6c47e2e8fd9896dda3a3ae416a4a89
+DIST slurm-17.02.6.tar.bz2 6017979 SHA256 f057127870544be5b3476594fc58b3c35727e6db3a18d84c4ea63059c2ebe4ea SHA512 e7e33ae037f8b30ccf467fa19c90786c28a527df80cf1362075634ada7072bffcd172d79d2af9ac9ad2b2206b50c0560584c7b8193bfaa9dfa1b1d2c7216e5f6 WHIRLPOOL 9dec9fae0d6def7fc0c243ceec8a2d3bf3c10ecf230f8ef5df03804ce048481279691572fb9bd83a509f344639d4b73313e7f7615bfa1d17c279010e44a2e63e
+EBUILD slurm-16.05.2.ebuild 7616 SHA256 3ddb80565765cd1011ad7fdeff6d5728a8b9b8a7eab7625266130d87572bec4b SHA512 d8b1af2cdb9d73c1bdc9dedc632ca3e3b9d267624cef96a2ed8c12a87c4029bfe0e463bdf804772cfa11cd50e52cdb0ea29dce404aa55f8cecc806c38e058fc0 WHIRLPOOL d94a0834f2344f7407b3fac0e4c95b405efdb0e5fb320287ef061a0d2409dc17fe1b9fc20a878abb6f439f231c25302c030f36b76f8d746b2747c9f3310a3123
+EBUILD slurm-17.02.6.ebuild 7074 SHA256 15964b60f52f2b047b29ee6ce1cbf65d36c18b1a2447f6b3cad63140d68b4fef SHA512 69a0fc69676909b2397d7e4c58d1b70d44fbf88306223a75336950731a22e2cf46a9777a296a5c02e6b5c2f090dedb6884036f06dfa4dcb98c69128f8c1ea4bc WHIRLPOOL c639cdc7f6202bb63d196baff05a1f732653da456f3905c7444bc0818f78461409211459ab8f5d7bcc9ec2637c83fe2bb1c59fe2b2a12b9bf70fd91a03151fcd
+MISC ChangeLog 3725 SHA256 7964056017afcbdaeea15b1ef42977054401b7cc8b464b74d59b80959b7bbedf SHA512 c1ec255817322d3b8d05391590ad9a0ea6039c29017224c33356338687a5207a9318dfeb9e5cf9fc8da991842d329a91fee0ded41a5a5c4443bdd0739c5e2a2e WHIRLPOOL 33aa9ebd54a980f8fac0541312415ede25d1b66f4a26ab3beaf5d2157fd711a2c877dbb59c98597331797603f0b0a00cb020ce627150f522794f3f1464be8835
+MISC ChangeLog-2015 5064 SHA256 1804adae45f9e76d1a30c0b82d1358989bc10051da47d81d152d3de70503b4fb SHA512 59ceea08c3ac6d518f969d459b5c9f1d3c740da5e44afdda859fb5ae5ef658dda6b444c827049e19e307ad4a832543bc6470b9ecea4c18bd13258b52578f491f WHIRLPOOL dc12bf2ac7f8a623954ff58ff2dbc12031eebc0caf1fc497d4c5826d5dddaecbaa95476cb583251fdb662ac9e1afb4a001cfe36191e0eab46d0878e81d2ed776
+MISC metadata.xml 563 SHA256 3227f64ff0a943f6ee51560a9d0f287cac5c69e898a371df441efba5a244ab0d SHA512 31d52fcdcd9526f8dc9ac00d173986943303b74ff6c554f6be30f2c059a0e1cc54330871ec132c451ab6f23ac062b3a9161293c13f3fffa13343f964d6cb959b WHIRLPOOL db656967776adccc8ce75f72a483f56a001270825096cff85674c2ada57b3c9dd5f4da059307395c31c1a4d53aa9343f24e2a52bb884d5c0deb96b7dcafd7ab5
diff --git a/sys-cluster/slurm/files/logrotate b/sys-cluster/slurm/files/logrotate
new file mode 100644
index 000000000000..978a869eb993
--- /dev/null
+++ b/sys-cluster/slurm/files/logrotate
@@ -0,0 +1,20 @@
+/var/log/slurm/*.log {
+ weekly
+ compress
+ missingok
+ nocopytruncate
+ nocreate
+ nodelaycompress
+ nomail
+ notifempty
+ noolddir
+ rotate 5
+ sharedscripts
+ size=5M
+ create 640 slurm slurm
+ postrotate
+ /etc/init.d/slurmd reload
+ /etc/init.d/slurmctld reload
+ /etc/init.d/slurmdbd reload
+ endscript
+}
diff --git a/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch
new file mode 100644
index 000000000000..1e4a5b4fae3a
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch
@@ -0,0 +1,69 @@
+diff -urN slurm-16.05.2.orig/configure.ac slurm-16.05.2/configure.ac
+--- slurm-16.05.2.orig/configure.ac 2016-07-07 02:51:37.000000000 +0300
++++ slurm-16.05.2/configure.ac 2016-07-15 20:02:41.373270765 +0300
+@@ -261,44 +261,6 @@
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
+
+-#
+-# Tests for GTK+
+-#
+-
+-# use the correct libs if running on 64bit
+-if test -d "/usr/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-if test -d "/opt/gnome/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread])
+-
+-if test ${glib_config_minor_version=0} -ge 32 ; then
+- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher])
+-fi
+-
+-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread])
+-if test ${gtk_config_minor_version=0} -ge 10 ; then
+- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 12 ; then
+- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 14 ; then
+- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher])
+-fi
+-
+-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then
+- AC_MSG_WARN([cannot build sview without gtk library]);
+-fi
+-
+-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"])
+-
+ X_AC_DATABASES
+
+ dnl Cray ALPS/Basil support depends on mySQL
+@@ -503,7 +465,6 @@
+ src/sshare/Makefile
+ src/sstat/Makefile
+ src/strigger/Makefile
+- src/sview/Makefile
+ src/plugins/Makefile
+ src/plugins/accounting_storage/Makefile
+ src/plugins/accounting_storage/common/Makefile
+diff -urN slurm-16.05.2.orig/src/Makefile.am slurm-16.05.2/src/Makefile.am
+--- slurm-16.05.2.orig/src/Makefile.am 2016-07-07 02:51:37.000000000 +0300
++++ slurm-16.05.2/src/Makefile.am 2016-07-15 20:02:41.373270765 +0300
+@@ -27,8 +27,7 @@
+ srun_cr \
+ sshare \
+ sstat \
+- strigger \
+- sview
++ strigger
+
+ if !REAL_BG_L_P_LOADED
+ SUBDIRS += srun
diff --git a/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch
new file mode 100644
index 000000000000..f9d22f479f89
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch
@@ -0,0 +1,34 @@
+ configure.ac | 2 +-
+ src/plugins/task/cgroup/task_cgroup_devices.c | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 869a989..2936983 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -141,7 +141,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \
+ AC_HEADER_SYS_WAIT
+ AC_HEADER_TIME
+ AC_HEADER_STDC
+-
++AC_HEADER_MAJOR
+
+ dnl Checks for structures.
+ dnl
+diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c
+index 554583c..9be99d8 100644
+--- a/src/plugins/task/cgroup/task_cgroup_devices.c
++++ b/src/plugins/task/cgroup/task_cgroup_devices.c
+@@ -42,6 +42,12 @@
+ #include <sched.h>
+ #include <glob.h>
+ #include <sys/types.h>
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#endif
++#ifdef MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
+ #include <sys/stat.h>
+ #include <slurm/slurm.h>
+ #include <slurm/slurm_errno.h>
diff --git a/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch
new file mode 100644
index 000000000000..f7e2c5b26739
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch
@@ -0,0 +1,99 @@
+ configure.ac | 39 ---------------------------------------
+ doc/man/man1/Makefile.am | 8 --------
+ src/Makefile.am | 3 +--
+ 3 files changed, 1 insertion(+), 49 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2f177ec..ff4d69b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -238,44 +238,6 @@ AC_SUBST(HAVE_SOME_CURSES)
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
+
+-#
+-# Tests for GTK+
+-#
+-
+-# use the correct libs if running on 64bit
+-if test -d "/usr/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-if test -d "/opt/gnome/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread])
+-
+-if test ${glib_config_minor_version=0} -ge 32 ; then
+- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher])
+-fi
+-
+-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread])
+-if test ${gtk_config_minor_version=0} -ge 10 ; then
+- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 12 ; then
+- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 14 ; then
+- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher])
+-fi
+-
+-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then
+- AC_MSG_WARN([cannot build sview without gtk library]);
+-fi
+-
+-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"])
+-
+ dnl Cray ALPS/Basil support depends on mySQL
+ X_AC_CRAY
+
+@@ -477,7 +439,6 @@ AC_CONFIG_FILES([Makefile
+ src/sshare/Makefile
+ src/sstat/Makefile
+ src/strigger/Makefile
+- src/sview/Makefile
+ src/plugins/Makefile
+ src/plugins/accounting_storage/Makefile
+ src/plugins/accounting_storage/common/Makefile
+diff --git a/doc/man/man1/Makefile.am b/doc/man/man1/Makefile.am
+index 246f16d..ba39af2 100644
+--- a/doc/man/man1/Makefile.am
++++ b/doc/man/man1/Makefile.am
+@@ -29,10 +29,6 @@ if WITH_BLCR
+ man1_MANS += srun_cr.1
+ endif
+
+-if BUILD_SVIEW
+-man1_MANS += sview.1
+-endif
+-
+ EXTRA_DIST = $(man1_MANS)
+
+ if HAVE_MAN2HTML
+@@ -65,10 +61,6 @@ if WITH_BLCR
+ html_DATA += srun_cr.html
+ endif
+
+-if BUILD_SVIEW
+-html_DATA += sview.html
+-endif
+-
+ MOSTLYCLEANFILES = ${html_DATA}
+
+ EXTRA_DIST += $(html_DATA)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index bcd5aa7..a8cbf17 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,5 +28,4 @@ SUBDIRS = \
+ srun_cr \
+ sshare \
+ sstat \
+- strigger \
+- sview
++ strigger
diff --git a/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch
new file mode 100644
index 000000000000..dc48f8475c00
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch
@@ -0,0 +1,53 @@
+commit 056d9ff26b1d2ccac45da3c26a6918f182f8c559
+Author: Justin Lecher <jlec@gentoo.org>
+Date: Sun Jul 9 15:54:20 2017 +0100
+
+ Include sysmacros.h in addition for major() & minor()
+
+ Starting from glibc-2.25 [1] the macros major and minor are only available
+ from sys/sysmacros.h. This patch uses an autoconf macro to detect the
+ location and includes the header accordingly.
+
+ 1)
+ https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html
+
+ Signed-off-by: Justin Lecher <jlec@gentoo.org>
+
+diff --git a/configure.ac b/configure.ac
+index 44699ae095..66d4350d44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -124,7 +124,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \
+ AC_HEADER_SYS_WAIT
+ AC_HEADER_TIME
+ AC_HEADER_STDC
+-
++AC_HEADER_MAJOR
+
+ dnl Checks for structures.
+ dnl
+diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c
+index 6a09b3d52a..63c0a11c9e 100644
+--- a/src/plugins/task/cgroup/task_cgroup_devices.c
++++ b/src/plugins/task/cgroup/task_cgroup_devices.c
+@@ -34,12 +34,20 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ \*****************************************************************************/
+
++#include "config.h"
++
+ #define _GNU_SOURCE
+ #include <glob.h>
+ #include <limits.h>
+ #include <sched.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#endif
++#ifdef MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
+
+ #include "slurm/slurm.h"
+ #include "slurm/slurm_errno.h"
diff --git a/sys-cluster/slurm/files/slurm.confd b/sys-cluster/slurm/files/slurm.confd
new file mode 100644
index 000000000000..c406dc3f2a2c
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm.confd
@@ -0,0 +1,6 @@
+# /etc/conf.d/slurm: config file for /etc/init.d/slurm*
+SLURMCTLD_OPTIONS=""
+SLURMDBD_OPTIONS=""
+SLURMD_OPTIONS=""
+SLURM_USE_MUNGE="0"
+SLURM_USE_YPBIND="0" \ No newline at end of file
diff --git a/sys-cluster/slurm/files/slurmctld.initd b/sys-cluster/slurm/files/slurmctld.initd
new file mode 100644
index 000000000000..e87dfdb83ad3
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmctld.initd
@@ -0,0 +1,68 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="reload"
+
+[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm
+
+depend() {
+ local _need
+ [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged"
+ [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind"
+ after logger slurmdbd
+ need ${_need}
+}
+
+create_folder_and_set_permission() {
+ folder=${1}
+ # Fix permissions (/tmp is wiped at boot)
+ if [[ "${folder}" == "/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /tmp"
+ exit
+ fi
+ if [[ "${folder}" == "/var/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /var/tmp"
+ exit
+ fi
+ checkpath -d -o slurm:slurm ${folder}
+}
+
+checkconfig() {
+ if [ ! -e "/etc/slurm/slurm.conf" ]; then
+ eerror "Missing config /etc/slurm/slurm.conf"
+ eerror "Customize sample one or generate new by configurator.html"
+ eerror "in slurm doc directory"
+ return 1
+ fi
+
+ # Make sure folders exists
+ . /etc/slurm/slurm.conf
+ folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation})
+ for folder in ${folders[*]}; do
+ create_folder_and_set_permission ${folder}
+ done
+}
+
+start() {
+ ebegin "Starting slurm control daemon"
+ checkconfig
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmctld.pid \
+ --user slurm \
+ --group slurm \
+ --exec /usr/sbin/slurmctld -- ${SLURMCTLD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurm control daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmctld.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurm daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmctld.pid
+ eend $?
+}
diff --git a/sys-cluster/slurm/files/slurmd.initd b/sys-cluster/slurm/files/slurmd.initd
new file mode 100644
index 000000000000..a4a165be87d3
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmd.initd
@@ -0,0 +1,71 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="reload"
+
+[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm
+
+depend() {
+ local _need
+ [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged"
+ [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind"
+ after logger
+ need ${_need}
+}
+
+create_folder_and_set_permission() {
+ folder=${1}
+ # Fix permissions (/tmp is wiped at boot)
+ if [[ "${folder}" == "/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /tmp"
+ exit
+ fi
+ if [[ "${folder}" == "/var/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /var/tmp"
+ exit
+ fi
+ checkpath -d -o slurm:slurm ${folder}
+}
+
+checkconfig() {
+ if [ ! -e "/etc/slurm/slurm.conf" ]; then
+ eerror "Missing config /etc/slurm/slurm.conf"
+ eerror "Customize sample one or generate new by configurator.html"
+ eerror "in slurm doc directory"
+ return 1
+ fi
+ # Make sure folders exists
+ . /etc/slurm/slurm.conf
+ folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation})
+ for folder in ${folders[*]}; do
+ create_folder_and_set_permission ${folder}
+ done
+}
+
+start() {
+ ebegin "Starting slurm daemon"
+ checkconfig
+ # Slurm does not propagate limits, which can brakes InfiniBand
+ # See http://www.open-mpi.org/faq/?category=openfabrics
+ # and https://computing.llnl.gov/linux/slurm/faq.html#rlimit
+ ulimit -l unlimited
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmd.pid \
+ --user root \
+ --group root \
+ --exec /usr/sbin/slurmd -- ${SLURMD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurm daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmd.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurm daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmd.pid
+ eend $?
+}
diff --git a/sys-cluster/slurm/files/slurmdbd.initd b/sys-cluster/slurm/files/slurmdbd.initd
new file mode 100644
index 000000000000..296afaf9421c
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmdbd.initd
@@ -0,0 +1,66 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="reload"
+
+[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm
+
+depend() {
+ local _need
+ [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged"
+ [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind"
+ after logger
+ need ${_need}
+}
+
+create_folder_and_set_permission() {
+ folder=${1}
+ # Fix permissions (/tmp is wiped at boot)
+ if [[ "${folder}" == "/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /tmp"
+ exit
+ fi
+ if [[ "${folder}" == "/var/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /var/tmp"
+ exit
+ fi
+ checkpath -d -o slurm:slurm ${folder}
+}
+
+checkconfig() {
+ if [ ! -e "/etc/slurm/slurmdbd.conf" ]; then
+ eerror "Missing config /etc/slurm/slurmdbd.conf"
+ return 1
+ fi
+
+ # Make sure folders exists
+ . /etc/slurm/slurm.conf
+ folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation})
+ for folder in ${folders[*]}; do
+ create_folder_and_set_permission ${folder}
+ done
+}
+
+start() {
+ ebegin "Starting slurmdb daemon"
+ checkconfig
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmdbd.pid \
+ --user slurm \
+ --group slurm \
+ --exec /usr/sbin/slurmdbd -- ${SLURMD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurmdb daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmdbd.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurmdb daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmdbd.pid
+ eend $?
+}
diff --git a/sys-cluster/slurm/metadata.xml b/sys-cluster/slurm/metadata.xml
new file mode 100644
index 000000000000..3ea81217548b
--- /dev/null
+++ b/sys-cluster/slurm/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <use>
+ <flag name="munge">Enable authentication via munge</flag>
+ <flag name="multiple-slurmd">Allow multiple slurmd to run</flag>
+ <flag name="torque">Enable perl scripts that emulates pbs (qstat, qsub etc.)</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/slurm/slurm-16.05.2.ebuild b/sys-cluster/slurm/slurm-16.05.2.ebuild
new file mode 100644
index 000000000000..956fa3e12514
--- /dev/null
+++ b/sys-cluster/slurm/slurm-16.05.2.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/SchedMD/slurm.git"
+ INHERIT_GIT="git-r3"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ inherit versionator
+ if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then
+ MY_PV=$(replace_version_separator 3 '-0.') # pre-releases or release-candidate
+ else
+ MY_PV=$(replace_version_separator 3 '-') # stable releases
+ fi
+ MY_P="${PN}-${MY_PV}"
+ INHERIT_GIT=""
+ SRC_URI="https://www.schedmd.com/download/latest/${MY_P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+inherit autotools eutils pam perl-module user prefix ${INHERIT_GIT}
+
+DESCRIPTION="SLURM: A Highly Scalable Resource Manager"
+HOMEPAGE="https://www.schedmd.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="lua multiple-slurmd +munge mysql pam perl ssl static-libs torque"
+
+DEPEND="
+ !sys-cluster/torque
+ !net-analyzer/slurm
+ !net-analyzer/sinfo
+ mysql? ( virtual/mysql )
+ munge? ( sys-auth/munge )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl:0= )
+ lua? ( dev-lang/lua:0= )
+ !lua? ( !dev-lang/lua )
+ >=sys-apps/hwloc-1.1.1-r1"
+RDEPEND="${DEPEND}
+ dev-libs/libcgroup"
+
+REQUIRED_USE="torque? ( perl )"
+
+LIBSLURM_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurm/perl"
+LIBSLURMDB_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurmdb/perl"
+
+RESTRICT="primaryuri"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-disable-sview.patch
+ "${FILESDIR}"/${P}-sysmacros.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-2_src_unpack
+ else
+ default
+ fi
+}
+
+pkg_setup() {
+ enewgroup slurm 500
+ enewuser slurm 500 -1 /var/spool/slurm slurm
+}
+
+src_prepare() {
+ if [ ${#PATCHES[0]} -ne 0 ]; then
+ epatch "${PATCHES[@]}"
+ fi
+ eapply_user
+ # pids should go to /var/run/slurm
+ sed -e "s:/var/run/slurmctld.pid:${EPREFIX}/var/run/slurm/slurmctld.pid:g" \
+ -e "s:/var/run/slurmd.pid:${EPREFIX}/var/run/slurm/slurmd.pid:g" \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed for /var/run/slurmctld.pid"
+ # also state dirs are in /var/spool/slurm
+ sed -e "s:StateSaveLocation=*.:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \
+ -e "s:SlurmdSpoolDir=*.:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed ${S}/etc/slurm.conf.example for StateSaveLocation=*. or SlurmdSpoolDir=*"
+ # and tmp should go to /var/tmp/slurm
+ sed -e 's:/tmp:/var/tmp:g' \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed for StateSaveLocation=*./tmp"
+
+ hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --with-hwloc="${EPREFIX}/usr"
+ --docdir="${EPREFIX}/usr/share/doc/${P}"
+ --htmldir="${EPREFIX}/usr/share/doc/${P}"
+ )
+ use pam && myconf+=( --with-pam_dir=$(getpam_mod_dir) )
+ use mysql || myconf+=( --without-mysql_config )
+ econf "${myconf[@]}" \
+ $(use_enable pam) \
+ $(use_with ssl) \
+ $(use_with munge) \
+ $(use_enable static-libs static) \
+ $(use_enable multiple-slurmd)
+
+ # --htmldir does not seems to propagate... Documentations are installed
+ # in /usr/share/doc/slurm-2.3.0/html
+ # instead of /usr/share/doc/slurm-2.3.0.2/html
+ sed -e "s|htmldir = .*/html|htmldir = \${prefix}/share/doc/slurm-${PVR}/html|g" -i doc/html/Makefile || die
+ if use perl ; then
+ # small hack to make it compile
+ mkdir -p "${S}/src/api/.libs"
+ mkdir -p "${S}/src/db_api/.libs"
+ touch "${S}/src/api/.libs/libslurm.so"
+ touch "${S}/src/db_api/.libs/libslurmdb.so"
+ cd "${LIBSLURM_PERL_S}"
+ S="${LIBSLURM_PERL_S}" SRC_PREP="no" perl-module_src_configure
+ cd "${LIBSLURMDB_PERL_S}"
+ S="${LIBSLURMDB_PERL_S}" SRC_PREP="no" perl-module_src_configure
+ cd "${S}"
+ rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs"
+ fi
+}
+
+src_compile() {
+ default
+ use pam && emake -C contribs/pam
+ if use perl ; then
+ cd "${LIBSLURM_PERL_S}"
+ S="${LIBSLURM_PERL_S}" perl-module_src_compile
+ cd "${LIBSLURMDB_PERL_S}"
+ S="${LIBSLURMDB_PERL_S}" perl-module_src_compile
+ cd "${S}"
+ fi
+ if use torque ; then
+ emake -C contribs/torque
+ fi
+}
+
+src_install() {
+ default
+ use pam && emake DESTDIR="${D}" -C contribs/pam install
+ if use perl; then
+ cd "${LIBSLURM_PERL_S}"
+ S="${LIBSLURM_PERL_S}" perl-module_src_install
+ cd "${LIBSLURMDB_PERL_S}"
+ S="${LIBSLURMDB_PERL_S}" perl-module_src_install
+ cd "${S}"
+ fi
+ if use torque; then
+ emake DESTDIR="${D}" -C contribs/torque
+ rm -f "${ED}/usr/bin/mpiexec" || die
+ fi
+ use static-libs || find "${ED}" -name '*.la' -exec rm {} +
+ # install sample configs
+ keepdir /etc/slurm
+ insinto /etc/slurm
+ doins etc/bluegene.conf.example
+ doins etc/cgroup.conf.example
+ doins etc/cgroup_allowed_devices_file.conf.example
+ doins etc/slurm.conf.example
+ doins etc/slurmdbd.conf.example
+ exeinto /etc/slurm
+ doexe etc/cgroup.release_common.example
+ doexe etc/slurm.epilog.clean
+ # install init.d files
+ newinitd "$(prefixify_ro "${FILESDIR}/slurmd.initd")" slurmd
+ newinitd "$(prefixify_ro "${FILESDIR}/slurmctld.initd")" slurmctld
+ newinitd "$(prefixify_ro "${FILESDIR}/slurmdbd.initd")" slurmdbd
+ # install conf.d files
+ newconfd "${FILESDIR}/slurm.confd" slurm
+ # Install logrotate file
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" slurm
+ # cgroups support
+ exeinto /etc/slurm/cgroup
+ doexe etc/cgroup.release_common.example
+ mv "${ED}"/etc/slurm/cgroup/{cgroup.release_common.example,release_common} || die "Can't move cgroup.release_common.example"
+ ln -s release_common "${ED}"/etc/slurm/cgroup/release_cpuset || die "Can't create symbolic link release_cpuset"
+ ln -s release_common "${ED}"/etc/slurm/cgroup/release_devices || die "Can't create symbolic link release_devices"
+ ln -s release_common "${ED}"/etc/slurm/cgroup/release_freezer || die "Can't create symbolic link release_freezer"
+}
+
+pkg_preinst() {
+ if use munge; then
+ sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${ED}"etc/conf.d/slurm || die
+ fi
+}
+
+create_folders_and_fix_permissions() {
+ einfo "Fixing permissions in ${@}"
+ mkdir -p ${@}
+ chown -R ${PN}:${PN} ${@}
+}
+
+pkg_postinst() {
+ paths=(
+ "${EROOT}"var/${PN}/checkpoint
+ "${EROOT}"var/${PN}
+ "${EROOT}"var/spool/${PN}/slurmd
+ "${EROOT}"var/spool/${PN}
+ "${EROOT}"var/run/${PN}
+ "${EROOT}"var/log/${PN}
+ /var/tmp/${PN}/${PN}d
+ /var/tmp/${PN}
+ )
+ for folder_path in ${paths[@]}; do
+ create_folders_and_fix_permissions $folder_path
+ done
+ einfo
+
+ elog "Please visit the file '/usr/share/doc/${P}/html/configurator.html"
+ elog "through a (javascript enabled) browser to create a configureation file."
+ elog "Copy that file to /etc/slurm/slurm.conf on all nodes (including the headnode) of your cluster."
+ einfo
+ elog "For cgroup support, please see https://www.schedmd.com/slurmdocs/cgroup.conf.html"
+ elog "Your kernel must be compiled with the wanted cgroup feature:"
+ elog " General setup --->"
+ elog " [*] Control Group support --->"
+ elog " [*] Freezer cgroup subsystem"
+ elog " [*] Device controller for cgroups"
+ elog " [*] Cpuset support"
+ elog " [*] Simple CPU accounting cgroup subsystem"
+ elog " [*] Resource counters"
+ elog " [*] Memory Resource Controller for Control Groups"
+ elog " [*] Group CPU scheduler --->"
+ elog " [*] Group scheduling for SCHED_OTHER"
+ elog "Then, set these options in /etc/slurm/slurm.conf:"
+ elog " ProctrackType=proctrack/cgroup"
+ elog " TaskPlugin=task/cgroup"
+ einfo
+ ewarn "Paths were created for slurm. Please use these paths in /etc/slurm/slurm.conf:"
+ for folder_path in ${paths[@]}; do
+ ewarn " ${folder_path}"
+ done
+}
diff --git a/sys-cluster/slurm/slurm-17.02.6.ebuild b/sys-cluster/slurm/slurm-17.02.6.ebuild
new file mode 100644
index 000000000000..72d5cafc9948
--- /dev/null
+++ b/sys-cluster/slurm/slurm-17.02.6.ebuild
@@ -0,0 +1,236 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/SchedMD/slurm.git"
+ INHERIT_GIT="git-r3"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ inherit versionator
+ if [[ ${PV} == *pre* || ${PV} == *rc* ]]; then
+ MY_PV=$(replace_version_separator 3 '-0.') # pre-releases or release-candidate
+ else
+ MY_PV=$(replace_version_separator 3 '-') # stable releases
+ fi
+ MY_P="${PN}-${MY_PV}"
+ INHERIT_GIT=""
+ SRC_URI="https://www.schedmd.com/download/latest/${MY_P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+inherit autotools eutils pam perl-module user prefix ${INHERIT_GIT}
+
+DESCRIPTION="A Highly Scalable Resource Manager"
+HOMEPAGE="https://www.schedmd.com"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug lua multiple-slurmd +munge mysql pam perl ssl static-libs torque"
+
+DEPEND="
+ !sys-cluster/torque
+ !net-analyzer/slurm
+ !net-analyzer/sinfo
+ mysql? ( virtual/mysql )
+ munge? ( sys-auth/munge )
+ pam? ( virtual/pam )
+ ssl? ( dev-libs/openssl:0= )
+ lua? ( dev-lang/lua:0= )
+ !lua? ( !dev-lang/lua )
+ >=sys-apps/hwloc-1.1.1-r1"
+RDEPEND="${DEPEND}
+ dev-libs/libcgroup"
+
+REQUIRED_USE="torque? ( perl )"
+
+LIBSLURM_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurm/perl"
+LIBSLURMDB_PERL_S="${WORKDIR}/${P}/contribs/perlapi/libslurmdb/perl"
+
+RESTRICT="primaryuri"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-disable-sview.patch
+ "${FILESDIR}"/${P}-glibc-2.25.patch
+)
+
+src_unpack() {
+ if [[ ${PV} == *9999* ]]; then
+ git-2_src_unpack
+ else
+ default
+ fi
+}
+
+pkg_setup() {
+ enewgroup slurm 500
+ enewuser slurm 500 -1 /var/spool/slurm slurm
+}
+
+src_prepare() {
+ default
+
+ # pids should go to /var/run/slurm
+ sed -e "s:/var/run/slurmctld.pid:${EPREFIX}/var/run/slurm/slurmctld.pid:g" \
+ -e "s:/var/run/slurmd.pid:${EPREFIX}/var/run/slurm/slurmd.pid:g" \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed for /var/run/slurmctld.pid"
+ # also state dirs are in /var/spool/slurm
+ sed -e "s:StateSaveLocation=*.:StateSaveLocation=${EPREFIX}/var/spool/slurm:g" \
+ -e "s:SlurmdSpoolDir=*.:SlurmdSpoolDir=${EPREFIX}/var/spool/slurm/slurmd:g" \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed ${S}/etc/slurm.conf.example for StateSaveLocation=*. or SlurmdSpoolDir=*"
+ # and tmp should go to /var/tmp/slurm
+ sed -e 's:/tmp:/var/tmp:g' \
+ -i "${S}/etc/slurm.conf.example" \
+ || die "Can't sed for StateSaveLocation=*./tmp"
+
+ hprefixify auxdir/{ax_check_zlib,x_ac_{lz4,ofed,munge}}.m4
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --sysconfdir="${EPREFIX}/etc/${PN}"
+ --with-hwloc="${EPREFIX}/usr"
+ --docdir="${EPREFIX}/usr/share/doc/${P}"
+ --htmldir="${EPREFIX}/usr/share/doc/${P}"
+ )
+ use debug || myconf+=( --disable-debug )
+ use pam && myconf+=( --with-pam_dir=$(getpam_mod_dir) )
+ use mysql || myconf+=( --without-mysql_config )
+ econf "${myconf[@]}" \
+ $(use_enable pam) \
+ $(use_with ssl) \
+ $(use_with munge) \
+ $(use_enable static-libs static) \
+ $(use_enable multiple-slurmd)
+
+ # --htmldir does not seems to propagate... Documentations are installed
+ # in /usr/share/doc/slurm-2.3.0/html
+ # instead of /usr/share/doc/slurm-2.3.0.2/html
+ sed \
+ -e "s|htmldir = .*/html|htmldir = \${prefix}/share/doc/slurm-${PVR}/html|g" \
+ -i doc/html/Makefile || die
+ if use perl ; then
+ # small hack to make it compile
+ mkdir -p "${S}/src/api/.libs" || die
+ mkdir -p "${S}/src/db_api/.libs" || die
+ touch "${S}/src/api/.libs/libslurm.so" || die
+ touch "${S}/src/db_api/.libs/libslurmdb.so" || die
+ cd "${LIBSLURM_PERL_S}" || die
+ S="${LIBSLURM_PERL_S}" SRC_PREP="no" perl-module_src_configure
+ cd "${LIBSLURMDB_PERL_S}" || die
+ S="${LIBSLURMDB_PERL_S}" SRC_PREP="no" perl-module_src_configure
+ cd "${S}" || die
+ rm -rf "${S}/src/api/.libs" "${S}/src/db_api/.libs" || die
+ fi
+}
+
+src_compile() {
+ default
+ use pam && emake -C contribs/pam
+ if use perl ; then
+ cd "${LIBSLURM_PERL_S}" || die
+ S="${LIBSLURM_PERL_S}" perl-module_src_compile
+ cd "${LIBSLURMDB_PERL_S}" || die
+ S="${LIBSLURMDB_PERL_S}" perl-module_src_compile
+ cd "${S}" || die
+ fi
+ use torque && emake -C contribs/torque
+}
+
+src_install() {
+ default
+ use pam && emake DESTDIR="${D}" -C contribs/pam install
+ if use perl; then
+ cd "${LIBSLURM_PERL_S}" || die
+ S="${LIBSLURM_PERL_S}" perl-module_src_install
+ cd "${LIBSLURMDB_PERL_S}" || die
+ S="${LIBSLURMDB_PERL_S}" perl-module_src_install
+ cd "${S}" || die
+ fi
+ if use torque; then
+ emake DESTDIR="${D}" -C contribs/torque
+ rm -f "${ED}/usr/bin/mpiexec" || die
+ fi
+ use static-libs || find "${ED}" -name '*.la' -exec rm {} +
+ # install sample configs
+ keepdir /etc/slurm
+ insinto /etc/slurm
+ doins \
+ etc/bluegene.conf.example \
+ etc/cgroup.conf.example \
+ etc/cgroup_allowed_devices_file.conf.example \
+ etc/slurm.conf.example \
+ etc/slurmdbd.conf.example
+ exeinto /etc/slurm
+ doexe \
+ etc/slurm.epilog.clean
+ # install init.d files
+ newinitd "$(prefixify_ro ${FILESDIR}/slurmd.initd)" slurmd
+ newinitd "$(prefixify_ro ${FILESDIR}/slurmctld.initd)" slurmctld
+ newinitd "$(prefixify_ro ${FILESDIR}/slurmdbd.initd)" slurmdbd
+ # install conf.d files
+ newconfd "${FILESDIR}/slurm.confd" slurm
+ # Install logrotate file
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" slurm
+}
+
+pkg_preinst() {
+ if use munge; then
+ sed -i 's,\(SLURM_USE_MUNGE=\).*,\11,' "${ED}"etc/conf.d/slurm || die
+ fi
+}
+
+create_folders_and_fix_permissions() {
+ einfo "Fixing permissions in ${@}"
+ mkdir -p ${@}
+ chown -R ${PN}:${PN} ${@}
+}
+
+pkg_postinst() {
+ paths=(
+ "${EROOT}"var/${PN}/checkpoint
+ "${EROOT}"var/${PN}
+ "${EROOT}"var/spool/${PN}/slurmd
+ "${EROOT}"var/spool/${PN}
+ "${EROOT}"var/run/${PN}
+ "${EROOT}"var/log/${PN}
+ /var/tmp/${PN}/${PN}d
+ /var/tmp/${PN}
+ )
+ for folder_path in ${paths[@]}; do
+ create_folders_and_fix_permissions $folder_path
+ done
+ echo
+
+ elog "Please visit the file '/usr/share/doc/${P}/html/configurator.html"
+ elog "through a (javascript enabled) browser to create a configureation file."
+ elog "Copy that file to /etc/slurm/slurm.conf on all nodes (including the headnode) of your cluster."
+ echo
+ elog "For cgroup support, please see https://www.schedmd.com/slurmdocs/cgroup.conf.html"
+ elog "Your kernel must be compiled with the wanted cgroup feature:"
+ elog " General setup --->"
+ elog " [*] Control Group support --->"
+ elog " [*] Freezer cgroup subsystem"
+ elog " [*] Device controller for cgroups"
+ elog " [*] Cpuset support"
+ elog " [*] Simple CPU accounting cgroup subsystem"
+ elog " [*] Resource counters"
+ elog " [*] Memory Resource Controller for Control Groups"
+ elog " [*] Group CPU scheduler --->"
+ elog " [*] Group scheduling for SCHED_OTHER"
+ elog "Then, set these options in /etc/slurm/slurm.conf:"
+ elog " ProctrackType=proctrack/cgroup"
+ elog " TaskPlugin=task/cgroup"
+ einfo
+ ewarn "Paths were created for slurm. Please use these paths in /etc/slurm/slurm.conf:"
+ for folder_path in ${paths[@]}; do
+ ewarn " ${folder_path}"
+ done
+}
diff --git a/sys-cluster/swift/Manifest b/sys-cluster/swift/Manifest
new file mode 100644
index 000000000000..132fc62a8d6b
--- /dev/null
+++ b/sys-cluster/swift/Manifest
@@ -0,0 +1,15 @@
+AUX swift-account.initd 867 SHA256 edb769d425cb2b67f75a860636c3c345f1db2cf85e3061ecbdcf75cefbf3b5a6 SHA512 7526cf09a582eba4607b22038e632c82eddd89fb6930ad00ca26f565b58682031eef0e1f4e0b2798d1e98b55a7309455fe2b68398d70cdf26c734c75f3f58087 WHIRLPOOL 6ea137b67a627396063310740f9462454e9e49e05c467f515691e6b55bc8e261fadc59e261e81dd3ffbe7300b62802d950769e5f39e652c7bc6fbe782107450a
+AUX swift-container.initd 877 SHA256 a9d328e4c75dc48c108a0263979b98655b6de8fac50aa983ff49f517fa8c4c6e SHA512 46ae66806db3cb8b9416ccde1a08f0f8af5dd1bbeeda23fc547f8ed29f979c554b47ff0c9ca13f8944ec8c3f4c2d0ffd0616bead4ac9b42078ffaf0ba238d52b WHIRLPOOL 3b1e52d4018459e30d79511b3bd6fc228f4eec6894e03cfbcb2ccd16b3cbe6f5555568bbc8ee2f17889c7419566b657cca9b7ddd187469d223d37fe1b13ca15e
+AUX swift-object.initd 862 SHA256 758efeedb3eea1fa6a8a030a194307a45ed604d197d2f854bf53e0e0f48f6593 SHA512 a977e3d81e22785b4999e5dbe6c51c020f98fe4ba08d52ff971477fca606a7fbd8e80f4c45ac6ba6afa213ddca7b81acc6238d91bb5c45635cc68c174575aa05 WHIRLPOOL 0504782e703bd8791ee10effb759f9574229e6e93f617aaec3c2787a2b8793caa050611509c26167e6a6b454883330f74d49812843752df9b5f4b9f2e53ab54d
+AUX swift-proxy.initd 1379 SHA256 3be32a94fa09a0d8de2113da8e6f32a557814596038122ceec1eb9f9282e9f6c SHA512 dd32e4249686b51d2ed6add8e2e91eb9e520c662ebdf068f68b4e52faf4d508d3c87e996c6c2f7ba2a7d1f5fdf639d08e1e6878cd4c9918408e007ccbd7c84ec WHIRLPOOL ec94804328502de8e799bc245ac301e8b045979f5b5afb9a52328a5810b86c0bff1ad781ec68dea3bacc184ccdc0ef550e30abeed55334ff8275f9484c8bded2
+DIST swift-2.10.2.tar.gz 1899226 SHA256 310d0c762fc4bfae7beaa7a2a1d7cddcc7478e817f40b5322f9b7403772ce53b SHA512 9efcb764d18524327a1e3164bcf79fbeb25fefafb7b8cf24dda22477d5d08e9d9a76c851d3b51c86e22a02f30004d5421500150c42f5963e15882aec894e09e8 WHIRLPOOL ded7d106277a8c493a494633039b19eae6d8e3783d9a4a05f73ed75869402758e3650a292f6758334d45197d4995a08d6b6f1cc88fd68b6a005c3e026a460159
+DIST swift-2.13.1.tar.gz 1940686 SHA256 785a098b93eceeb745fe85bafba8a8bda20a6aec64f76fb9e4d58bb671eb2bab SHA512 6f08239bbeebfd213d2d7bb23c83507bf033288bb5125f5fd7f37517d8b3ad0b050220c1ad03632c1ab4723a98a9068b146e38c360e6786159a6f8638f4d5d79 WHIRLPOOL 016ddab1201c0895b00b05a1c5a84628e3f69f306780e730ada5c8cae63e75c0959cec8be8c170abba42ea6b63bd32dd5ed6d9b6d37f72534c3a05f3c2cea4e4
+DIST swift-2.15.1.tar.gz 2429235 SHA256 f7f03fe30f845655bb15dfc0850b13a38069a555ea2c23b2cf40924559031409 SHA512 8b01831c6c9103953a3dd61fbaf0b18287af0ee3a2e4be376352266e8442bea54bcd32e7e6de89376feb5e492c5b49f623b8eda5e5ea3e58fe0dcea1547bc1ac WHIRLPOOL 7debf87925504bbafa453e63493c2777b8dbd93b35e3ecc4454f300008f4870da45a9e77e0b8152b02d83bcdd07731dfd59fdd14e2bdd5116c967397b71a3a88
+EBUILD swift-2.10.2-r1.ebuild 3802 SHA256 86cd7cc39d10e8170ba41f2d4b25586178f877e38ece07ebcb4dd2ca2700bc71 SHA512 048094181424de9f7136662c2951632d56ab8dd9055fff492f3faad346950291dee97e75f37a68a6ce6baa18aa3620cc2e179831bd8a3713eaae80c0bfdcf2ab WHIRLPOOL c47c40b1830e4a1d8a41f3b5ecfcacb79920b048b9d079bfdd5f238755cecb8cb9dc569b57804d134b1614d14b8f6475a7f7ab0e965dd2be3570c1ae8e363c94
+EBUILD swift-2.13.1-r1.ebuild 3698 SHA256 26cada26b84e615fb9ea3c6e27b0296ec1c1e08925b2b924d56625ef3d38f5de SHA512 fafcb23cdce1866d55f8ba8af42896da5b9cd47b667066da9da967ddd8f82388d49af28e29e2d78306bfa77bd1c67364ece90fb4f605e8df491b7dc8d55a9ef6 WHIRLPOOL 44fb91200d4a4446d5773c2ac6e189da376802290d5affede36a20dc3edbf970ddf7831a70ed069b554b6bb9aeb780c29f7f8b0a0ede7c9ede0feaf4c9dbc5d3
+EBUILD swift-2.15.1-r1.ebuild 3698 SHA256 26cada26b84e615fb9ea3c6e27b0296ec1c1e08925b2b924d56625ef3d38f5de SHA512 fafcb23cdce1866d55f8ba8af42896da5b9cd47b667066da9da967ddd8f82388d49af28e29e2d78306bfa77bd1c67364ece90fb4f605e8df491b7dc8d55a9ef6 WHIRLPOOL 44fb91200d4a4446d5773c2ac6e189da376802290d5affede36a20dc3edbf970ddf7831a70ed069b554b6bb9aeb780c29f7f8b0a0ede7c9ede0feaf4c9dbc5d3
+EBUILD swift-2017.1.9999.ebuild 3712 SHA256 e9733f0d363428d162e0ee79fc1c106fbcf62e1c4299c2028f505196d7f587ee SHA512 9ebee6f9ada811dbb326c907865508bb5759ba0da0548b1b246cf79c8489c1b4f04646bed5d655a12544c8e9073d73f4589fd7ce635829fe4e2623e563767178 WHIRLPOOL 5292ee88dfb1e41b10f42d7a4b823ed15e2efc56a5a8c8a8c6a61d8463e988143d22cd62399ac2477d7b43520e53864d892955fcf7fdf8565a613932e5c6d2bd
+EBUILD swift-2017.2.9999.ebuild 3711 SHA256 09843cc20d29895885787087eab92ce7320996a3ca321e0c40106ec65f3a94b3 SHA512 9aaf45d59410e93fe55c9aacdd2c0de697ce6d076af71b703b7c51df14eecf5fb1edc0d0e62a95240092a624f586a7e79167b33688087a2363208f22f4191bff WHIRLPOOL d0afaf67280078184dec01646edf7f2b152154c740a15b5e921e2c2ef6f5ca1ef6cca8f4f0fd288440fb5fa36df5a5970b0c757a1cc8d3374fc43da694ac0090
+MISC ChangeLog 8171 SHA256 73f547e590b0be08d84dbfc132ab9f8a64d4aac685465be669426ff33dc5afe7 SHA512 b4ed6419e4ec5997e19f59496c57d8a303f4407643e8834850e5aa9a242df669a141581e8c60d06b847f73de4d53118834730e50eb3d962ef007305b49b3b1bc WHIRLPOOL 8eadc21035afae4d00a5da4a67959bb650ecc197e2cb2dada5b1507126a3cdff907c3212026becb4ded9480be147f3e8309a95cc47d5b22bb7a43d678d7d6815
+MISC ChangeLog-2015 8352 SHA256 6a48ac3e4b56264d6cfacce7bc8dce7ce7f993fba30d3c7a01fa4e01124c3cda SHA512 762884001779daed5284cb870e4a55881f563bccd198b6e12339f56b0ee3811d53624be423f12f5a29f11c217245796b59be793d060a87e5d9377e96b25c0894 WHIRLPOOL e88baf8886e23a37deeb1428f294b838f326b4cff6c3349c45614976214731ad730c65b83dc426fab7822eefb8fcaf57f01e5938f47c9b674430008d2ae4d654
+MISC metadata.xml 898 SHA256 8de123416e23bb73757c3fccc041b3076e4adfab2cbc9e1641b4e0b59d2e63df SHA512 3f9d2cf7538fe32010b811d3a49802eb085dde793b29d9590fe3032d63a743f620e3c1dcf1226b59aa5938ea239f440997a3d4d489f9887816621879e19a0c4c WHIRLPOOL 0b9065706a9d6ea8caf5cf17ba40d9c3790d0ebdffa9c739e1444721b253052153e03cdb9c8371f609b5bcc2f015baa545e28449df2b767a8a1065aa7a263430
diff --git a/sys-cluster/swift/files/swift-account.initd b/sys-cluster/swift/files/swift-account.initd
new file mode 100644
index 000000000000..205280c76ae0
--- /dev/null
+++ b/sys-cluster/swift/files/swift-account.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/account-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/account-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/account-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-container.initd b/sys-cluster/swift/files/swift-container.initd
new file mode 100644
index 000000000000..051951af138d
--- /dev/null
+++ b/sys-cluster/swift/files/swift-container.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/container-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/container-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/container-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-object.initd b/sys-cluster/swift/files/swift-object.initd
new file mode 100644
index 000000000000..59ec78ca039a
--- /dev/null
+++ b/sys-cluster/swift/files/swift-object.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/object-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/object-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/object-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-proxy.initd b/sys-cluster/swift/files/swift-proxy.initd
new file mode 100644
index 000000000000..cce9c32e335b
--- /dev/null
+++ b/sys-cluster/swift/files/swift-proxy.initd
@@ -0,0 +1,56 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/proxy-server.pid
+
+depend() {
+ after net
+}
+
+opts="reload"
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/proxy-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/proxy-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy stop
+ eend $?
+}
+
+reload() {
+ checkconfig || return $?
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --quiet -i ${COMMAND} -- proxy reload
+ eend $? "Failed to reload ${SVCNAME}"
+}
+
+restart() {
+ checkconfig || return $?
+ ebegin "Restarting ${SVCNAME}"
+ start-stop-daemon --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy restart
+ eend $? "Failed to restart ${SVCNAME}"
+}
+
+status() {
+ start-stop-daemon --quiet -i ${COMMAND} -- proxy status
+ eend $? "Failed to get status for ${SVCNAME}"
+}
diff --git a/sys-cluster/swift/metadata.xml b/sys-cluster/swift/metadata.xml
new file mode 100644
index 000000000000..14aa35f3e4a6
--- /dev/null
+++ b/sys-cluster/swift/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="account">adds swift account support</flag>
+ <flag name="container">adds swift container support</flag>
+ <flag name="memcached">adds memcached support</flag>
+ <flag name="object">adds swift object support</flag>
+ <flag name="proxy">adds swift proxy support</flag>
+ </use>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Swift is a highly available, distributed, eventually consistent object/blob
+ store.
+ </longdescription>
+ <upstream>
+ <remote-id type="launchpad">swift</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/swift/swift-2.10.2-r1.ebuild b/sys-cluster/swift/swift-2.10.2-r1.ebuild
new file mode 100644
index 000000000000..30e158655806
--- /dev/null
+++ b/sys-cluster/swift/swift-2.10.2-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="proxy account container object +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND="
+ >=dev-python/pbr-0.8.0[${PYTHON_USEDEP}]
+ <dev-python/pbr-2.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' swift.egg-info/requires.txt || die
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+src_test () {
+ # https://bugs.launchpad.net/swift/+bug/1249727
+ find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+ SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\
+ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/swift/swift-2.13.1-r1.ebuild b/sys-cluster/swift/swift-2.13.1-r1.ebuild
new file mode 100644
index 000000000000..20394c0afbb4
--- /dev/null
+++ b/sys-cluster/swift/swift-2.13.1-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="proxy account container object +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+src_test () {
+ # https://bugs.launchpad.net/swift/+bug/1249727
+ find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+ SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\
+ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/swift/swift-2.15.1-r1.ebuild b/sys-cluster/swift/swift-2.15.1-r1.ebuild
new file mode 100644
index 000000000000..20394c0afbb4
--- /dev/null
+++ b/sys-cluster/swift/swift-2.15.1-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="proxy account container object +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+src_test () {
+ # https://bugs.launchpad.net/swift/+bug/1249727
+ find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+ SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\
+ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/swift/swift-2017.1.9999.ebuild b/sys-cluster/swift/swift-2017.1.9999.ebuild
new file mode 100644
index 000000000000..088cba57d7fe
--- /dev/null
+++ b/sys-cluster/swift/swift-2017.1.9999.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+EGIT_REPO_URI="https://github.com/openstack/swift.git"
+EGIT_BRANCH="stable/ocata"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="proxy account container object +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+src_test () {
+ # https://bugs.launchpad.net/swift/+bug/1249727
+ find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+ SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\
+ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/swift/swift-2017.2.9999.ebuild b/sys-cluster/swift/swift-2017.2.9999.ebuild
new file mode 100644
index 000000000000..bba5692f08cc
--- /dev/null
+++ b/sys-cluster/swift/swift-2017.2.9999.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils git-r3 linux-info user
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+EGIT_REPO_URI="https://github.com/openstack/swift.git"
+EGIT_BRANCH="stable/pike"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="proxy account container object +memcached"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/dnspython-1.14.0:0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.17.4[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.5[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
+ !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+pkg_setup() {
+ enewuser swift
+ enewgroup swift
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+src_test () {
+ # https://bugs.launchpad.net/swift/+bug/1249727
+ find . \( -name test_wsgi.py -o -name test_locale.py -o -name test_utils.py \) -delete || die
+ SKIP_PIP_INSTALL=1 PBR_VERSION=0.6.0 sh .unittests || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\
+ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ fowners root:swift "/etc/swift" || die "fowners failed"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/teleport/Manifest b/sys-cluster/teleport/Manifest
new file mode 100644
index 000000000000..f5012b024bd2
--- /dev/null
+++ b/sys-cluster/teleport/Manifest
@@ -0,0 +1,14 @@
+AUX teleport-makefile-buildflags.patch 402 SHA256 a703d044a527736b4e6e4a0397b988464e992e29c8de9877ad66a6930bca9d76 SHA512 e9101609ec4155e3e77f99c7ff69abd47f75e1f0b7b6c75a639efc8df3e782b1e790c57c2f9a37c0f03e136c6084d4bd530a570ff67e17eaa4d518cdcc103d37 WHIRLPOOL 773632599d9f2058f8142e9a615826ddc256e21c0b5da2d2e268a874d7735e4fe98823d83dfe319ee9cc30f0b06c360d2fd176eceff23d9a47164785dc3b4183
+AUX teleport.conf.d 442 SHA256 741b26473c069d48da42ed244a5f2aa30b36854dca618f495bd1e73da5058892 SHA512 e50e3d0030e467afcfaf42c8f56ba1c0397e3dc6a445981b3f1533d7a0a9e550aabdc8bff394a5b01e44d3445b1981e2e955ea38b079386f675df8a37d7d20de WHIRLPOOL 86095a578040637175e6009fedbf67283361fa1f0bbe5b3db2899f47ca06c3728fb0b1e971dde61841b0775d6440dfcd36333696c78cde0ca043c79cc461fd06
+AUX teleport.init.d 763 SHA256 82e7ca98beb2f587deedf04c36ca94d545c4557f2bb88539900020cbf57eee90 SHA512 ea8803c27ed1b89615183ed17b6772726c4cc2f976bc008d6752a5d10a814e381baccd7c6cc354120b3707f351f1cc6592a9f55f6aff2010946eca9f17566f46 WHIRLPOOL 8278cdcd81df54469d5ba91020e420fbb173b5a8f09a927ca34395321ef48ad7a611b0c43f3c6cc76ff81d617246fbbfc0d49bb614d7808ebfc98392e76b7e17
+AUX teleport.service 209 SHA256 9b7f950ccf4d6795b70319389c7241a0f78bd5f6f27bd33076126926e9ae68d5 SHA512 c71665c287575b1e127fdf5c580552aeb17bff55627d537999964be3a86ba2b11dce9d46bf10ab8e909c65a9d94263ced590191b7ea9e5ee2f0c3f65a044816e WHIRLPOOL ad3501e68b828dafe34ca2c4c18832c87203994aebd8777df96ea23b5848e3b71e3b23b5a8b2335687ac51d1c548b8e7a0ebdc37e66a729413c7826a37eb3631
+AUX teleport.service.conf 90 SHA256 626001d9737938cafdf65b1dd83f50903889c6969cbd1446ba0f0178fd2cfe08 SHA512 d17faa0deaf3c864e5159d3567e542e36d09c6ea0ac91c663d3ae9729d1bccf7d2139f1f48fec132eccc473e023ffdaed0b8f2ee75db5dedc6ff36f637f68e1c WHIRLPOOL 61d4bb3847a4e35437ad58144c1cbd25fe0127e25d32a6ca12925867c5dcdb3246fc79beacfc07e22eb29fced0514c280de638499df21f2feba10bf073f80953
+AUX teleport.yaml 5177 SHA256 3de8389f6b87378fc0a3aa09b74917eb5e1d34f98cccb8e024006eab806fdab1 SHA512 f9f854472d469d0822d5766517cc68364feca4f3345a69d616d073aaaf9af7be6f72aa55c7d0c801426c3fef42714c09b884e0e086a58a07208ebef0ffe3ca80 WHIRLPOOL 13ffe73b8d75437dd46765f66477b9253fdac2bc3ea82dd7d7a3bce60ee5f560e26eb61c1cafeb937123a62c00f073783a3f81a1315960b99c8d4408cbd27b3b
+DIST teleport-2.2.0.tar.gz 7229371 SHA256 b12bea0474a0ce5f4df10729607661b1afbecd5e95083835ccee7b54493c9452 SHA512 bec288983371bd3807b7ce994b1533a5e869d903251f8a8ce6315768a1d3ae95d72f832037345c36c9cd4789fbc449c54b86359988b1e74d4f46f9e0db6b3239 WHIRLPOOL 5b128fda80b1ce4afe60e10e6d5d9e83f621f6a405e713af7d1b988562038aa927c9f7c733a927a3aa724c261d058dba1fa75526dd2eb9051b1e6fe4c984004c
+DIST teleport-2.2.1.tar.gz 7235188 SHA256 5a5c7be4615a3ef3e6915a4330b71cd063dd3a86013b8a72a5dbbca882eb28ac SHA512 011ffd8fdf42131455c32b8a8ed1ddee0181a8dcd3424dc9cf5ac96c53ce719d369e0bfac4392cc0dec14e78fed94732bbcb56c2db5987ee778ad29e4f7a749d WHIRLPOOL 988da053d7c85acfe1103696e33eff9fbb37d4feb5af580b1fb7b8995ca7ec449786c997619f81717816298b4cdc0bf26b823ac62b3c85ce72d3bdd783d02215
+DIST teleport-2.2.4.tar.gz 7234252 SHA256 25624d3b8dff987eab70cfadd0fe55a96d741ef8955064cd6e51e718da7f0363 SHA512 859bc34c90c4d1a504b9fa2958e49803c7af8bee3c2692d70590095ef0356a00cf963c5fc30613f3a7852b602fc7fbbd81ca99fc24ce51787f6d8d2e05af4762 WHIRLPOOL 4572b9b0cd9b84a579b99135759cd270d6b6c1f4590a990f3652bd4a80ce80f54e061564518500615ac77a321bebfd1476596a83e822b33a166fa1b3ae62311f
+EBUILD teleport-2.2.0.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724
+EBUILD teleport-2.2.1.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724
+EBUILD teleport-2.2.4.ebuild 1542 SHA256 63d498de0fb9999b59633bab0267d9eab225eaf222cad8b9757e9388c1d438a5 SHA512 416f9685b2b50788476043d7130ac358b68621da05237ea84502220fe065dff96b10f44e29b068690c79a9a0f528dfabee7430a87e25ef4b86c64e1d288c78a8 WHIRLPOOL 0e389dd9d5dfb02d8c8b3b6e046e3a9b952d93f265e42669250f68abdb86e5024466dc86b6873ac5b4ce8a8922c0b10181dc80e5d30d413ef4c467a47dab2724
+EBUILD teleport-9999.ebuild 1460 SHA256 0b70586206bb346e9725430ef5528e960cc23ead7c24a161801a4ea83acccdf2 SHA512 74ff9bb734b5b47ad2ac475413af8721c818293eb8166bc99887f75f3e9fa4b8e66e5abeb6fcbf58bb8a4f63db34f010d85471b1a5a7cd1c28c70e43019fa2cd WHIRLPOOL 3e91ec924a2c1c53278b437044049f7ca59e1105b2afd52f7c7a68680a321a7a80041657436919503b6702897261980501795b23e24e23554b38a29ae8fdd857
+MISC metadata.xml 630 SHA256 dde12b45aed05bd498cedda65f05c118e615b2ff246d404304782481b5ab83a1 SHA512 2aa911f2a91bfdea340b38715d69cbe59bcd460d34ac6d1d641f2badf2ba72f4e02cdd2f8a2ca387c9a9d19ea2c22e2be80ab4bb582d9395c1517b818f343c74 WHIRLPOOL 7a4feaf6cc59a3386c3fcb41304b8a1a799deea87c2957bdd9915dfc9f8a922dc802a8a6e8bd3d761d27a35dba46baf53bf3305b059922314ab5764c57fa99ee
diff --git a/sys-cluster/teleport/files/teleport-makefile-buildflags.patch b/sys-cluster/teleport/files/teleport-makefile-buildflags.patch
new file mode 100644
index 000000000000..d3da35350d86
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport-makefile-buildflags.patch
@@ -0,0 +1,11 @@
+--- work/src/github.com/gravitational/teleport/Makefile
++++ work/src/github.com/gravitational/teleport/Makefile
+@@ -12,7 +12,7 @@
+ PWD ?= `pwd`
+ TELEPORT_DEBUG ?= no
+ GITTAG=v$(VERSION)
+-BUILDFLAGS := $(ADDFLAGS) -ldflags '-w -s'
++BUILDFLAGS ?= $(ADDFLAGS) -ldflags '-w -s'
+
+ RELEASE=teleport-$(GITTAG)-`go env GOOS`-`go env GOARCH`-bin
+ BINARIES=$(BUILDDIR)/tsh $(BUILDDIR)/teleport $(BUILDDIR)/tctl
diff --git a/sys-cluster/teleport/files/teleport.conf.d b/sys-cluster/teleport/files/teleport.conf.d
new file mode 100644
index 000000000000..e4b2cbb1a7e8
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport.conf.d
@@ -0,0 +1,17 @@
+# /etc/conf.d/teleport: config file for /etc/init.d/teleport
+
+# Where is your teleport.yaml file stored?
+TELEPORT_CONFDIR="/etc/teleport"
+
+# Any random options you want to pass to teleport.
+TELEPORT_OPTS=""
+
+# Pid file to use (needs to be absolute path).
+#TELEPORT_PIDFILE="/var/run/teleport.pid"
+
+# Path to log file
+#TELEPORT_LOGFILE="/var/log/teleport.log"
+
+# Startup dependency
+# Un-comment when using etcd storage backend
+#rc_need="etcd"
diff --git a/sys-cluster/teleport/files/teleport.init.d b/sys-cluster/teleport/files/teleport.init.d
new file mode 100644
index 000000000000..a5d08b7f3f69
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport.init.d
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+: ${TELEPORT_CONFDIR:=/etc/teleport}
+: ${TELEPORT_PIDFILE:=/var/run/${SVCNAME}.pid}
+: ${TELEPORT_BINARY:=/usr/bin/teleport}
+: ${TELEPORT_LOGFILE:=/var/log/teleport.log}
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting Teleport SSH Service"
+ start-stop-daemon --start --exec /usr/bin/teleport \
+ --background --make-pidfile --pidfile "${TELEPORT_PIDFILE}" \
+ --stderr "${TELEPORT_LOGFILE}" \
+ -- start --config="${TELEPORT_CONFDIR}/teleport.yaml" \
+ ${TELEPORT_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Teleport SSH Service"
+ start-stop-daemon --stop --exec /usr/bin/teleport \
+ --pidfile "${TELEPORT_PIDFILE}"
+ eend $?
+}
diff --git a/sys-cluster/teleport/files/teleport.service b/sys-cluster/teleport/files/teleport.service
new file mode 100644
index 000000000000..b74734bbf9ef
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Teleport SSH Service
+After=network.target
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/bin/teleport start --config=/etc/teleport/teleport.yaml
+
+[Install]
+WantedBy=multi-user.target
diff --git a/sys-cluster/teleport/files/teleport.service.conf b/sys-cluster/teleport/files/teleport.service.conf
new file mode 100644
index 000000000000..2ff7ffbf3a4e
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport.service.conf
@@ -0,0 +1,3 @@
+# Uncomment the following when using the etcd storage backend
+#[Unit]
+#Wants=etcd.service
diff --git a/sys-cluster/teleport/files/teleport.yaml b/sys-cluster/teleport/files/teleport.yaml
new file mode 100644
index 000000000000..e297bb89b571
--- /dev/null
+++ b/sys-cluster/teleport/files/teleport.yaml
@@ -0,0 +1,142 @@
+# By default, this file should be stored in /etc/teleport.yaml
+
+# This section of the configuration file applies to all teleport
+# services.
+teleport:
+ # nodename allows to assign an alternative name this node can be reached by.
+ # by default it's equal to hostname
+ # nodename: graviton
+
+ # Data directory where Teleport keeps its data, like keys/users for
+ # authentication (if using the default BoltDB back-end)
+ data_dir: /var/lib/teleport
+
+ # one-time invitation token used to join a cluster. it is not used on
+ # subsequent starts
+ auth_token: xxxx-token-xxxx
+
+ # when running in multi-homed or NATed environments Teleport nodes need
+ # to know which IP it will be reachable at by other nodes
+ # advertise_ip: 10.1.0.5
+
+ # list of auth servers in a cluster. you will have more than one auth server
+ # if you configure teleport auth to run in HA configuration
+ auth_servers:
+ - localhost:3025
+
+ # Teleport throttles all connections to avoid abuse. These settings allow
+ # you to adjust the default limits
+ connection_limits:
+ max_connections: 1000
+ max_users: 250
+
+ # Logging configuration. Possible output values are 'stdout', 'stderr' and
+ # 'syslog'. Possible severity values are INFO, WARN and ERROR (default).
+ log:
+ output: stderr
+ severity: ERROR
+
+ # Type of storage used for keys. You need to configure this to use etcd
+ # backend if you want to run Teleport in HA configuration.
+ storage:
+ type: bolt
+
+# This section configures the 'auth service':
+auth_service:
+ # Turns 'auth' role on. Default is 'yes'
+ enabled: yes
+
+ # Turns on dynamic configuration. Dynamic configuration defines the source
+ # for configuration information, configuration files on disk or what's
+ # stored in the backend. Default is false if no backend is specified,
+ # otherwise if backend is specified, it is assumed to be true.
+ dynamic_config: false
+
+ # defines the types and second factors the auth server supports
+ authentication:
+ # type can be local or oidc
+ type: local
+ # second_factor can be off, otp, or u2f
+ second_factor: otp
+
+ # this section is only used if using u2f
+ u2f:
+ # app_id should point to the Web UI.
+ app_id: https://localhost:3080
+
+ # facets should list all proxy servers.
+ facets:
+ - https://localhost
+ - https://localhost:3080
+
+ # IP and the port to bind to. Other Teleport nodes will be connecting to
+ # this port (AKA "Auth API" or "Cluster API") to validate client
+ # certificates
+ listen_addr: 0.0.0.0:3025
+
+ # Pre-defined tokens for adding new nodes to a cluster. Each token specifies
+ # the role a new node will be allowed to assume. The more secure way to
+ # add nodes is to use `ttl node add --ttl` command to generate auto-expiring
+ # tokens.
+ #
+ # We recommend to use tools like `pwgen` to generate sufficiently random
+ # tokens of 32+ byte length.
+ tokens:
+ - "proxy,node:xxxxx"
+ - "auth:yyyy"
+
+ # Optional "cluster name" is needed when configuring trust between multiple
+ # auth servers. A cluster name is used as part of a signature in certificates
+ # generated by this CA.
+ #
+ # By default an automatically generated GUID is used.
+ #
+ # IMPORTANT: if you change cluster_name, it will invalidate all generated
+ # certificates and keys (may need to wipe out /var/lib/teleport directory)
+ cluster_name: "main"
+
+# This section configures the 'node service':
+ssh_service:
+ # Turns 'ssh' role on. Default is 'yes'
+ enabled: yes
+
+ # IP and the port for SSH service to bind to.
+ listen_addr: 0.0.0.0:3022
+ # See explanation of labels in "Labeling Nodes" section below
+ labels:
+ role: master
+ type: postgres
+ # List (YAML array) of commands to periodically execute and use
+ # their output as labels.
+ # See explanation of how this works in "Labeling Nodes" section below
+ commands:
+ - name: hostname
+ command: [/usr/bin/hostname]
+ period: 1m0s
+ - name: arch
+ command: [/usr/bin/uname, -p]
+ period: 1h0m0s
+
+# This section configures the 'proxy servie'
+proxy_service:
+ # Turns 'proxy' role on. Default is 'yes'
+ enabled: yes
+
+ # SSH forwarding/proxy address. Command line (CLI) clients always begin their
+ # SSH sessions by connecting to this port
+ listen_addr: 0.0.0.0:3023
+
+ # Reverse tunnel listening address. An auth server (CA) can establish an
+ # outbound (from behind the firewall) connection to this address.
+ # This will allow users of the outside CA to connect to behind-the-firewall
+ # nodes.
+ tunnel_listen_addr: 0.0.0.0:3024
+
+ # The HTTPS listen address to serve the Web UI and also to authenticate the
+ # command line (CLI) users via password+HOTP
+ web_listen_addr: 0.0.0.0:3080
+
+ # TLS certificate for the HTTPS connection. Configuring these properly is
+ # critical for Teleport security.
+ https_key_file: /etc/teleport/teleport.key
+ https_cert_file: /etc/teleport/teleport.crt
diff --git a/sys-cluster/teleport/metadata.xml b/sys-cluster/teleport/metadata.xml
new file mode 100644
index 000000000000..224f5639f024
--- /dev/null
+++ b/sys-cluster/teleport/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Graeme Lawes</name>
+ <email>graemelawes@gmail.com</email>
+ </maintainer>
+ <maintainer type="project">
+ <name>Gentoo Proxy Maintainers Project</name>
+ <email>proxy-maint@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <changelog>https://github.com/gravitational/teleport/blob/master/CHANGELOG.md</changelog>
+ <bugs-to>https://github.com/gravitational/teleport/issues</bugs-to>
+ <remote-id type="github">gravitational/teleport</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/teleport/teleport-2.2.0.ebuild b/sys-cluster/teleport/teleport-2.2.0.ebuild
new file mode 100644
index 000000000000..90fddb344c0c
--- /dev/null
+++ b/sys-cluster/teleport/teleport-2.2.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils golang-build systemd user
+
+DESCRIPTION="Modern SSH server for teams managing distributed infrastructure"
+HOMEPAGE="https://gravitational.com/teleport"
+
+EGO_PN="github.com/gravitational/${PN}/..."
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3 golang-vcs
+ EGIT_REPO_URI="https://github.com/gravitational/${PN}.git"
+else
+ inherit golang-vcs-snapshot
+ SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+RESTRICT="test"
+
+DEPEND="
+ app-arch/zip
+ >=dev-lang/go-1.8.3"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch )
+
+src_compile() {
+ BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*}
+ pushd src/${EGO_PN%/*}/web/dist >/dev/null || die
+ zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die
+ popd >/dev/null || die
+ cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die
+ zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die
+}
+
+src_install() {
+ dodir /var/lib/${PN} /etc/${PN}
+ dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport}
+
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.yaml
+
+ newinitd "${FILESDIR}"/${PN}.init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf.d ${PN}
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service
+}
+
+src_test() {
+ GOPATH="${S}" emake -C src/${EGO_PN%/*} test
+}
diff --git a/sys-cluster/teleport/teleport-2.2.1.ebuild b/sys-cluster/teleport/teleport-2.2.1.ebuild
new file mode 100644
index 000000000000..90fddb344c0c
--- /dev/null
+++ b/sys-cluster/teleport/teleport-2.2.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils golang-build systemd user
+
+DESCRIPTION="Modern SSH server for teams managing distributed infrastructure"
+HOMEPAGE="https://gravitational.com/teleport"
+
+EGO_PN="github.com/gravitational/${PN}/..."
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3 golang-vcs
+ EGIT_REPO_URI="https://github.com/gravitational/${PN}.git"
+else
+ inherit golang-vcs-snapshot
+ SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+RESTRICT="test"
+
+DEPEND="
+ app-arch/zip
+ >=dev-lang/go-1.8.3"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch )
+
+src_compile() {
+ BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*}
+ pushd src/${EGO_PN%/*}/web/dist >/dev/null || die
+ zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die
+ popd >/dev/null || die
+ cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die
+ zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die
+}
+
+src_install() {
+ dodir /var/lib/${PN} /etc/${PN}
+ dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport}
+
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.yaml
+
+ newinitd "${FILESDIR}"/${PN}.init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf.d ${PN}
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service
+}
+
+src_test() {
+ GOPATH="${S}" emake -C src/${EGO_PN%/*} test
+}
diff --git a/sys-cluster/teleport/teleport-2.2.4.ebuild b/sys-cluster/teleport/teleport-2.2.4.ebuild
new file mode 100644
index 000000000000..90fddb344c0c
--- /dev/null
+++ b/sys-cluster/teleport/teleport-2.2.4.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils golang-build systemd user
+
+DESCRIPTION="Modern SSH server for teams managing distributed infrastructure"
+HOMEPAGE="https://gravitational.com/teleport"
+
+EGO_PN="github.com/gravitational/${PN}/..."
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3 golang-vcs
+ EGIT_REPO_URI="https://github.com/gravitational/${PN}.git"
+else
+ inherit golang-vcs-snapshot
+ SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+RESTRICT="test"
+
+DEPEND="
+ app-arch/zip
+ >=dev-lang/go-1.8.3"
+RDEPEND=""
+
+PATCHES=( "${FILESDIR}"/${PN}-makefile-buildflags.patch )
+
+src_compile() {
+ BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*}
+ pushd src/${EGO_PN%/*}/web/dist >/dev/null || die
+ zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die
+ popd >/dev/null || die
+ cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die
+ zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die
+}
+
+src_install() {
+ dodir /var/lib/${PN} /etc/${PN}
+ dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport}
+
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.yaml
+
+ newinitd "${FILESDIR}"/${PN}.init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf.d ${PN}
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service
+}
+
+src_test() {
+ GOPATH="${S}" emake -C src/${EGO_PN%/*} test
+}
diff --git a/sys-cluster/teleport/teleport-9999.ebuild b/sys-cluster/teleport/teleport-9999.ebuild
new file mode 100644
index 000000000000..a16c3c133705
--- /dev/null
+++ b/sys-cluster/teleport/teleport-9999.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils golang-build systemd user
+
+DESCRIPTION="Modern SSH server for teams managing distributed infrastructure"
+HOMEPAGE="https://gravitational.com/teleport"
+
+EGO_PN="github.com/gravitational/${PN}/..."
+
+if [[ ${PV} == "9999" ]] ; then
+ inherit git-r3 golang-vcs
+ EGIT_REPO_URI="https://github.com/gravitational/${PN}.git"
+else
+ inherit golang-vcs-snapshot
+ SRC_URI="https://github.com/gravitational/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+DEPEND="
+ app-arch/zip
+ >=dev-lang/go-1.7"
+RDEPEND=""
+
+src_compile() {
+ BUILDFLAGS="" GOPATH="${S}" emake -C src/${EGO_PN%/*}
+ pushd src/${EGO_PN%/*}/web/dist >/dev/null || die
+ zip -qr "${S}/src/${EGO_PN%/*}/build/webassets.zip" . || die
+ popd >/dev/null || die
+ cat "${S}/src/${EGO_PN%/*}/build/webassets.zip" >> "src/${EGO_PN%/*}/build/${PN}" || die
+ zip -q -A "${S}/src/${EGO_PN%/*}/build/${PN}" || die
+}
+
+src_install() {
+ dodir /var/lib/${PN} /etc/${PN}
+ dobin src/${EGO_PN%/*}/build/{tsh,tctl,teleport}
+
+ insinto /etc/${PN}
+ doins "${FILESDIR}"/${PN}.yaml
+
+ newinitd "${FILESDIR}"/${PN}.init.d ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf.d ${PN}
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_install_serviced "${FILESDIR}"/${PN}.service.conf ${PN}.service
+}
+
+src_test() {
+ GOPATH="${S}" emake -C src/${EGO_PN%/*} test
+}
diff --git a/sys-cluster/torque/Manifest b/sys-cluster/torque/Manifest
new file mode 100644
index 000000000000..f84a47ec7748
--- /dev/null
+++ b/sys-cluster/torque/Manifest
@@ -0,0 +1,31 @@
+AUX CVE-2013-4319-2.x-root-submit-fix.patch 1253 SHA256 a6ebd0c0966148ecb34fb885911e163f93749be72fc5a2e58f11f3c7a9523f45 SHA512 78780ad87e997f22b6abbc3cb51c313616e90320d997705c534c35fbc7f5738b7a2e0ace33051e6e15d4f6e0ab6f97ab9f1ef60dcee5fc4544db13b0a72ea5c4 WHIRLPOOL 64eaf701099da902282b3e1debb6bbfa323fc266ad067047c43dcb353463bf2df7475066f9e263cc9a506b2905aba19c290d50a419ee56a0daa65f237693ede7
+AUX CVE-2013-4495.4.1.patch 9063 SHA256 78a368607133cc9daeca9872ef61ac4117268e091a11554b72ccd48c1a34e781 SHA512 52d0105c8d756e50252926c764eff46653544584c25c43d4dbaf70ed45a1c610c9381b1f735ff6c436774fb8d77a2a7607e0ea2b70eaae927e9a1024b3048913 WHIRLPOOL 815c1719548f21c4cf712c96577701f084ab5f6fc7287e4cd1ddd4fd9678c19a303a94546842c890d0e994c84bae8768aa2ddf49e6ef3094c6b1c61193873d32
+AUX CVE-2013-4495.patch 836 SHA256 4cfaef5ced3b336920821089a97a86f38d71fcc573951912be701d2c51253d45 SHA512 91522f5c8b6fa2e5de80f02e24b2a6827422c335d88600bcbb1a763dd985b3e52b850eab5059adbe4e543311551ec0da21cd69fcb7dc6e01ff93bff843769d8c WHIRLPOOL 17e2790d362a16dcd58b0cb0a9acc81d5f920b96ad8d4eb99fff6cbd58a49e312414c9c9b580b9fbdbd35b4314fb0ea820888e4d93723ffec5ec02cc3c72bbf2
+AUX CVE-2014-0749.patch 750 SHA256 e79c9c2e08aec2e0adc4a10c2d97510ccc6780d5d2944e9fd646bf99b0a5e5aa SHA512 8830f4d1a0190876e97fc568a3ac84341c042686a630cc5a7d8f254414dd13063f08db3b490e447698d9c16430ab6c8990c70ee1acda2435a0b0debfb2666829 WHIRLPOOL 76a459649865456b1d004de5d728c97697f4351870f54980748dfc2046df26ed791738cea96189d3f82b76f8aa370904060ecdbcc0b52c5e092d2870221a132c
+AUX TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch 4292 SHA256 67338a9c338b71b4dff5a911978798a4e51a2f84ce1429d80d70819511874e43 SHA512 15bb5b271b62be03df2b6aeab89082f3003abc67e00aaef96539ab88f21879f3cf30a95303fe68b3e4984cdc4f4c020e61328a4e3c26b4e44be9eafa9be3b5a6 WHIRLPOOL 00342548ab024f70f4f3de6c5982dbcdf5a4acedad94d46d340368bff58e7023a97d386486805a93a1f3da415345bf56ae5b93d7cfec320695bdb4461949b3ac
+AUX pbs_mom-init.d 1084 SHA256 b9f65c9d2fa74835e0737d3ffa3c54a15a6b27a1a42a84f7a2058c2b48874443 SHA512 698707c833070f77224e55788799ae4b32088b47221bfd9ed8fbb4097095bb4771ec39db831bbfd5af46d0a6addee04464bc71ef548ca94f3a324ebb97ce8a9c WHIRLPOOL 8884a378af2ef147314709dc133375e41099ffcc0b2afaf8dec1a62e8c50f2928558614b5302084ce80a661fc65bdad68a25b67f6b8ed2e5fa0bbf04831ce3ce
+AUX pbs_mom-init.d-munge 1149 SHA256 ed2bdf0ac4469dde1c19f9beb5aa6fa69840dc9a471a4195eea952ecfc91d1b7 SHA512 643deb1f21983dbdd8aa53416899db01ff651d81b3d989299eef9c2d3e1aab0e9b083cfae9bb559b6c3195238998a881ec5bf2a663e09f7f8508bb895bc11027 WHIRLPOOL 98ff6b73f83f4ed1859337b126473bc1915cea8dd358caea4aa19aa9880859c66fa6b1e96363838481c465a3237beaee2fa2fa91a079fd0b6f5d9cb7698b5c4f
+AUX pbs_sched-init.d 1165 SHA256 b04d43a838d271c2d78dee950ed9ea2f87a4cd6f3eb4409537a015d286f4c68d SHA512 9417ffe5a417d69e03262221816b2778aacfe7cf393ea5b5ea535497f4dfcbad9545d49cdbcacaaa5e8a0fd01432806aac8e050b4979cabb59656c1256a91dd0 WHIRLPOOL cca5750647349612ad9bd534fe53fb33d851fdb4c9ac705bcb685276538e11c867e6acbbd1dfb6124e2832dbef77ee16c96a925eb650e61afa33f1c3ca4b8c7c
+AUX pbs_server-init.d 1615 SHA256 e6c4bdd33ab79b9e0ca085269e845fbd8794d7427b8ca45cfafa7187a1317dab SHA512 459334236d5614522dafa15c0144bbf9e9b5fe89ce73d61fde6b1bfbcc96c284d8f827069c4dd77f7a6c5fb2828923d60a9381c158123d5f6edd5ca50a471c21 WHIRLPOOL 7cd157ebe0a30099172c48ec774b8256825350a06b6ce0619dc99d465b82e210e6f5facda756743700fc054103af776f08f1d4809a014776e7dd914f07faf5ae
+AUX pbs_server-init.d-munge 1689 SHA256 9d1972d5fdbb31a7ab74a45a77631b96ac23d47e4b814b3fb31964fd1084863f SHA512 b9628241581fbed629d0edf83a3f987de894fb5711061239e737f63ef7dbe9033d35aa87a38b56dbd8da887a3058f9f284bfe101ee13db3464e6e814b537ea23 WHIRLPOOL b9fe25f9097f369e5a944a0e9d2efdf2a1c48bd0b0a6e9504a438956be5e4682ae44c7fc09dbbbffcf07bcbbfc786c2c7fe8f2dc34ac92d69b6f1c5268a9f39e
+AUX tcl8.6.patch 2396 SHA256 02905289c2707b2bc60b3aed513d9d4578cb597b346ee79deb89b1e72131af2b SHA512 a288526bf43cd39d0b5505938f02ee38ccd70481a1b6351a80c5cd151376604d5cdc925293d3bd7f2d4bbe50182993448da645ca42f58e3f1bdf59bce9363b4a WHIRLPOOL cbccee8ce08d3bf36bc30b49cf0740753f10d1d309558a702aa8df8f0d9ec5069e37cc3e7cb47caa686d69935f90c6b6f2dbdae55eba98864f3bbc22f4fa7ada
+AUX torque-4.1.5.1-tcl8.6.patch 2546 SHA256 3b03036181df73cee7e2dea6746b822368a92d4f76953018e226c4e7c26abe86 SHA512 0cd584784b5254daf11635e1d6252fa4fe3c5f2e46a0771452016f66ff0e3be01b91d154cef0a793cf0ab0df223ef5c51303d35c419f1d9addc64ea26a892521 WHIRLPOOL b335acece9491ecfa5adbb9a64122826f8e6944ac33aac862ac4c57c7cf73c0ed823b60228a3567c249f1710d1a8ab0fac8ce2fbb301500eeb0bf8d832c0f117
+AUX torque-4.2-dont-mess-with-cflags.patch 806 SHA256 e3f0028dc7c9ecd9df3d9c849159a980130af0db8859fb4e7c9624ffa64c8c56 SHA512 23aeb87fc75ec8b916817264501240b9f0fae7b3e81662496824dcccc21d1a07b2b58221ea22ca6551b6830e76347416a09da6c22de4aea173a32fe13c90c7ff WHIRLPOOL 0a45b03fffcd6fe9a64b207ab3e6a07b373476423a979012738b984ae999171f25bcef85188130af58181deb1e4ff4405ce8df494936b667b1730bb5146cfb77
+AUX torque-4.2.9-tcl8.6.patch 2702 SHA256 cd894a32a300b9b8b5fa343c79ac0ff9f44dc02e12eae9d7bb69d5f8799ead34 SHA512 9844a1f633f049a66cf31d3721f6a5e205ede26186da1357e0b0aa2c0c4d064cbdff45e2f7e685d6c4afd09d961e59ff1759163e4a2ae349fa866e960c1bcf77 WHIRLPOOL a4acb94a7d64e84b25c8ebb0898ab3c4523a141c17719f51eb19276604a3543041374de5e828664dcc1dc35269148512231628d3990c09a9872ade353aa7479f
+AUX torque-conf.d 649 SHA256 4139da44a55dbcb4a8227fd0aedede8e091971fd63c0e08644712f4a91e7b174 SHA512 b82f6c1d661bed03a32c3761530c4b303715167a317e467371091b11d3ae0e19e9784b1588577ee5f65397cb0699818ed5f621aeb66d3f2d218df12d0cf39bde WHIRLPOOL 0f0db60c037400ce87013d7639a5e126b65388e914e1f3bde81548ebc1e8fcefb17972c4deec03509973973a263c5006856699d3f51fad0133b8428e13e2e04c
+AUX torque-conf.d-munge 784 SHA256 7b8e47737211fd0d05dcc7938021ea5dbb1575010c53075440ef0b6b5d43d8b1 SHA512 a78634a6f2bdf3c24e8c99d3cd7a9634daa32d69244a9ddfcc26199f4d04e901abbfa79ad057f5a4e4c492c9e21bc0c65edd8465ac6935fb7c67c8c639e75d68 WHIRLPOOL 90ed407a5a98fb7b4509610c3c23dd1d38566886e4b02fa4db4a9708f8c45b500369e782c25b7b9f02fc685bdcb965049e681c829bad58206729690e6eeadbb9
+AUX torque-env.d 240 SHA256 d04eab3b1314645ee2014c718c4cf79ca74950dee1357d814b85c9faa5ef6002 SHA512 275ce5ccf9f138bcee504a9996c9d838cd34714d352d4b7ac2d631d0fca662bf38a2ef7e8745605d9b3847049015e0791c937340cfdacbf44800482ce73bb042 WHIRLPOOL b7cdc4d6752d00b315fb369f6382e1a6684c1cb8a3486545bd406270ed09811936c2735755fc01175fceed0422139e5d7d8dcd67868e2e40c8ebbb406c2eec57
+AUX trqauthd-init.d 477 SHA256 41d9dfdb64b2512b6da3a0e87fbaf9ac6d7a988ce398c63d918ccf069aa81e4e SHA512 55f19b5effc21444addb465967bbd44d6f67dc48945221753512216c4fc26878d90569cdee7b277676d157aa241c04dc08df65505d21f59f046fa5448d43b81d WHIRLPOOL f1b7f0429d77619099bac9e27c849cfb7fac2f1c0306e8ab6f878a452cf67db3adfb748684a43bc78d644d48f5681ae0e3d3d641ca2457825a40820b84bb36e6
+DIST torque-2.5.13.tar.gz 5854910 SHA256 ab59d4c8e8b45383ddd8202fa83956816175e348bb955a4ad5f7e3cd4dde5ff9 SHA512 e08ddf3950bb32177f4bc504a502fae3928a616739c28ca9687c5207606817d4589583306508a2c568cf19fc8c5617dc4a9decc81576c2875660b715c256cfcf WHIRLPOOL 29eefb89d1eb9d6a81735aa117922a1eb0b72e14eeccab7dbd70cdcf01431b7ecd9c3927e1c5c28b7f42d6739b28f45386740b92adb790ccdf9803e4c6e38534
+DIST torque-4.1.7.tar.gz 6218108 SHA256 3c86b2d84589f54ac222e81dd1953d153e1d836163d2000412369fefd25fb2af SHA512 5a085c0a7b205fed075bff4599db90ca5c4bb5f22d87d76fd56539d5cc1935bb8eeffcd4d18ba84401bd4ca128718070b69c8b91ab6814a4638622ba351654e6 WHIRLPOOL cae9216f0cebc22927eec2d1f007b1a3c4a6cc619f2926c40a5f46e0bd0eec19691f9aafcad4fe727e2c5ed2485d11c972603cca613269f82147ff1dc41f1ba4
+DIST torque-4.2.10.tar.gz 6294022 SHA256 46f1f319683af6d3820e18cda69ce59113c9a5c192e1f07826007be69385889b SHA512 898703fa1d02310c22e2a02b86d67ca52ebed46684597931944edebb39f8293746739c8dca9cd10e07c2e7274c3dd7f65a5664d1980817e3feec58952c4cf4d1 WHIRLPOOL e65be66b056a519ebd1c30c2c1ae2ddf43bc4e617a52d3caced1e6dfd2b0d8b2a83c26a0f2e6e41cfae791aca68b6f91424745b2baffa2085fccc8f6ae9b8e04
+DIST torque-4.2.9.tar.gz 6294022 SHA256 46f1f319683af6d3820e18cda69ce59113c9a5c192e1f07826007be69385889b SHA512 898703fa1d02310c22e2a02b86d67ca52ebed46684597931944edebb39f8293746739c8dca9cd10e07c2e7274c3dd7f65a5664d1980817e3feec58952c4cf4d1 WHIRLPOOL e65be66b056a519ebd1c30c2c1ae2ddf43bc4e617a52d3caced1e6dfd2b0d8b2a83c26a0f2e6e41cfae791aca68b6f91424745b2baffa2085fccc8f6ae9b8e04
+DIST torque-6.0.3-1485300822_19e79ad.tar.gz 41660338 SHA256 dcbc806379596848f9887ff3b518d4ca7031e888d29d0b12e4e270c0e677dd80 SHA512 40531f2e7732a11ffc224c536f61adc48ce5699a7caebb8aa1fbe7536b5ca4ed66c8436420bc918f7538ef980818141888aa26390a5a2c8185c8cc57373a0ac1 WHIRLPOOL f504106f33a031f9e578b5aa9992423ecc50fad88ec0b380e10284007d1271aeee10da494b32d9a3f7da5a012eeaadbbae2f91f0180ef0abcda9309942eb7777
+EBUILD torque-2.5.13-r1.ebuild 7741 SHA256 9de9ea394760c905c44572e12be1f3e1566d0298e4377031c72fddeda3434393 SHA512 d17389297c11f28c4f849e95d2f5c87f428d2b8d3c6a907d5863f4cbdd19a41532cb5abf5b9d78092f99b2838c2e1892b8fb7111b4dcb98338bfa11c4bbc5e5d WHIRLPOOL bba4e436413e131f1baa143501ff81f86ed2305104960a50490c516aff2874504aa01ea317880db498b4c5ae7f8bc738e8330b737d5cf0d1f62c7ecb6f89922e
+EBUILD torque-4.1.7-r1.ebuild 7491 SHA256 0e8dd567a22c62fd9c6b4869c9d1b7878bc6d33d8c539c5afffc3e7300d02f86 SHA512 e7213e0df29564fa24a48bf8b96e59a69fbd56abf5c470b794eb19fbdefe705ead880d9d908f006c9c79eeab325b0f6ccc3ae64973cb1e50061c2020c64aa816 WHIRLPOOL 6d8be71bae13d46ad27a4536c5b73685e53ed75a808f158faa47fd9cfca6ef15caa29b77b4fd1530c838c7b836c651f4dd4f37dc16497b182e11f592e17dd64f
+EBUILD torque-4.2.10.ebuild 5942 SHA256 d6379c131cf7dcb1b3c643d86c7ace72b65a93184aaec8592621a9cb7f74e937 SHA512 b31613ee3bbf1623180a55e20a61ef21909a520d9fe04f776a885b06ba3335a4f684c8b18017d658c36151663a6baecbe804d6750a954bb38fc90160b0e52ad6 WHIRLPOOL 62a672550d8a75342ffe9e71bd53f49b0474c1cb8c7ab7a2adbfeb5a28cfc6cabdf5b47d5bb06afd54f7cf8f7075bbb040d21d100b7babcf4725b385b02b3ffa
+EBUILD torque-4.2.9-r5.ebuild 5687 SHA256 d0ecd4e5dfa095ff14883b2ea0c0927c282dd2bbb6497c20d545219f91f8d041 SHA512 faa2b1e99265f1222123a4b30c0edeb512d67d2285cf56789c21dcf85d43daab2ebbf38a6d768614d9124b1b0b43ffec895da4010b4fab36574b79be461c8860 WHIRLPOOL b411d3f32ac0c286e3a3757b4cc7cab44bc4841ae400da69d6e25b2d8934cfca09368c99962849f5eeba612944d195e7121e1286c5ee9e701979f3594a37d114
+EBUILD torque-6.0.3.ebuild 5639 SHA256 8e3c74b82bcab83bd8914eaa871e8b9e188d987819908e616335e76c7510f678 SHA512 4043dce415db5d59743901c95a3b43301671b24515879ba5b67a98a712ba61bcce0434d607a861324c128378730b008b0c53afc9744360674c9ed9c3096f3147 WHIRLPOOL 873dd468bda5790b7b1d5a44e57d0b6b82f551aedf2da872af97097b51815527862e9c44c17b622be880b479b69794982e33aa4a5f788ff28555dde8478970d0
+MISC ChangeLog 4882 SHA256 47c534a744f898d4d7a9b6f3755dad6787f08fa35ab83be9782bc239e1fcc930 SHA512 903940262569bfe38fc67b2ad7238f449075e2c70ee9855875041eca59e7c912fa0803bc4afa23b1c83318e30a9e3e26cfcb9afb974286e2e8b66ebc5d52bccc WHIRLPOOL ca993f5e7712ffc8c8d8d3be553a9f2e1c120eeb7601a37d21d6068e644a5448684f5b313319baa95baf7374af6254a857711d22125bca48ba12b01012d93969
+MISC ChangeLog-2015 31920 SHA256 2007f50e617be4bdd277b65705450288d2eec8067f7dabf231dfedc9365094c3 SHA512 a5cc38230ce5ddc05770e7fe8b8eb19e9cfa707cedfed761d69fc2c9054942a8436860dea440b8a05830113dbf997f3649d15fd78d2c1d57484fbf0d7e560e72 WHIRLPOOL 8a2983c9e98a3dc0e434f4fb0e94e46048484f3ec1d44a3665463ff6d5047222050d8c5593f6af52e2199c5553c391aca3da3b98af0252c0ac6bdf8451f13ada
+MISC metadata.xml 988 SHA256 e27586f33abc567b80daafafc201613b99068c875849b4fee3957e845ca2d942 SHA512 46f2eb41303c17e84aacf5b8548b645772ab923bf9a4847892260cc5c6aaf354acc0bb0128186acf312ed77a24d9429c97f18914d759c7c5c97c19ad62489a43 WHIRLPOOL 9b06e825891730374b1ab286a8664a9648c5de91d60b59828b5e2e267d047845f342af9072b184b020bc7aeee0feb0c41f47f7ce08275e9af0131dd33529ee70
diff --git a/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch b/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch
new file mode 100644
index 000000000000..aa53239f157c
--- /dev/null
+++ b/sys-cluster/torque/files/CVE-2013-4319-2.x-root-submit-fix.patch
@@ -0,0 +1,40 @@
+From 5dee0365a56dd2cc4cfd0b182bc843b4f32c086c Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Mon, 23 Dec 2013 12:40:27 -0500
+Subject: [PATCH] CVE-2013-4319: 2.x root submit fix
+
+https://bugs.gentoo.org/show_bug.cgi?id=484320
+http://nvd.nist.gov/nvd.cfm?cvename=CVE-2013-4319\
+---
+ src/server/process_request.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/src/server/process_request.c b/src/server/process_request.c
+index d4a3c92..b06a333 100644
+--- a/src/server/process_request.c
++++ b/src/server/process_request.c
+@@ -640,6 +640,21 @@ void process_request(
+ log_buffer);
+ }
+
++ if (svr_conn[sfds].cn_authen != PBS_NET_CONN_FROM_PRIVIL)
++ {
++ sprintf(log_buffer, "request type %s from host %s rejected (connection not privileged)",
++ reqtype_to_txt(request->rq_type),
++ request->rq_host);
++
++ log_record(PBSEVENT_JOB, PBS_EVENTCLASS_JOB, id, log_buffer);
++
++ req_reject(PBSE_BADHOST, 0, request, NULL, "request not authorized");
++
++ close_client(sfds);
++
++ return;
++ }
++
+ if (!tfind(svr_conn[sfds].cn_addr, &okclients))
+ {
+ sprintf(log_buffer, "request type %s from host %s rejected (host not authorized)",
+--
+1.8.3.2
+
diff --git a/sys-cluster/torque/files/CVE-2013-4495.4.1.patch b/sys-cluster/torque/files/CVE-2013-4495.4.1.patch
new file mode 100644
index 000000000000..810a4f0944a5
--- /dev/null
+++ b/sys-cluster/torque/files/CVE-2013-4495.4.1.patch
@@ -0,0 +1,343 @@
+From 2aad72c3d2ac612ecbb66828ac6ed5ab51eff5f3 Mon Sep 17 00:00:00 2001
+From: David Beer <dbeer@adaptivecomputing.com>
+Date: Mon, 11 Nov 2013 11:55:58 -0700
+Subject: [PATCH] Fix CVE 2013-4495. Note: this patch has been verified as
+ fixing this security hole but has not received other regression testing.
+ Could not cherry-pick as 2.5 and 4.1 are very different.
+
+---
+ src/server/svr_mail.c | 265 ++++++++++++++++++++++++++++++++------------------
+ 1 file changed, 170 insertions(+), 95 deletions(-)
+
+diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c
+index b269e82..52f2f1f 100644
+--- a/src/server/svr_mail.c
++++ b/src/server/svr_mail.c
+@@ -89,6 +89,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include "list_link.h"
+ #include "attribute.h"
+ #include "server_limits.h"
+@@ -136,6 +137,77 @@ void free_mail_info(
+
+
+
++void add_body_info(
++
++ char *bodyfmtbuf /* I */,
++ mail_info *mi /* I */)
++
++ {
++ char *bodyfmt = NULL;
++ bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n"
++ "Job Name: %j\n");
++ if (mi->exec_host != NULL)
++ {
++ strcat(bodyfmt, "Exec host: %h\n");
++ }
++
++ strcat(bodyfmt, "%m\n");
++
++ if (mi->text != NULL)
++ {
++ strcat(bodyfmt, "%d\n");
++ }
++ }
++
++
++/*
++ * write_email()
++ *
++ * In emailing, the mail body is written to a pipe connected to
++ * standard input for sendmail. This function supplies the body
++ * of the message.
++ *
++ */
++void write_email(
++
++ FILE *outmail_input,
++ mail_info *mi)
++
++ {
++ char *bodyfmt = NULL;
++ char *subjectfmt = NULL;
++
++ /* Pipe in mail headers: To: and Subject: */
++ fprintf(outmail_input, "To: %s\n", mi->mailto);
++
++ /* mail subject line formating statement */
++ get_svr_attr_str(SRV_ATR_MailSubjectFmt, (char **)&subjectfmt);
++ if (subjectfmt == NULL)
++ {
++ subjectfmt = "PBS JOB %i";
++ }
++
++ fprintf(outmail_input, "Subject: ");
++ svr_format_job(outmail_input, mi, subjectfmt);
++ fprintf(outmail_input, "\n");
++
++ /* Set "Precedence: bulk" to avoid vacation messages, etc */
++ fprintf(outmail_input, "Precedence: bulk\n\n");
++
++ /* mail body formating statement */
++ get_svr_attr_str(SRV_ATR_MailBodyFmt, &bodyfmt);
++ if (bodyfmt == NULL)
++ {
++ char bodyfmtbuf[MAXLINE];
++ add_body_info(bodyfmtbuf, mi);
++ bodyfmt = bodyfmtbuf;
++ }
++
++ /* Now pipe in the email body */
++ svr_format_job(outmail_input, mi, bodyfmt);
++
++ } /* write_email() */
++
+
+
+ void *send_the_mail(
+@@ -143,15 +215,19 @@ void *send_the_mail(
+ void *vp)
+
+ {
+- mail_info *mi = (mail_info *)vp;
+-
+- int i;
+- char *mailfrom = NULL;
+- char *subjectfmt = NULL;
+- char *bodyfmt = NULL;
+- char *cmdbuf = NULL;
+- char bodyfmtbuf[MAXLINE];
+- FILE *outmail;
++ mail_info *mi = (mail_info *)vp;
++
++ int status = 0;
++ int numargs = 0;
++ int pipes[2];
++ int counter;
++ pid_t pid;
++ char *mailptr;
++ char *mailfrom = NULL;
++ char tmpBuf[LOG_BUF_SIZE];
++ // We call sendmail with cmd_name + 2 arguments + # of mailto addresses + 1 for null
++ char *sendmail_args[100];
++ FILE *stream;
+
+ /* Who is mail from, if SRV_ATR_mailfrom not set use default */
+ get_svr_attr_str(SRV_ATR_mailfrom, &mailfrom);
+@@ -173,124 +249,123 @@ void *send_the_mail(
+ mailfrom = PBS_DEFAULT_MAIL;
+ }
+
+- /* mail subject line formating statement */
+- get_svr_attr_str(SRV_ATR_MailSubjectFmt, &subjectfmt);
+- if (subjectfmt == NULL)
+- {
+- subjectfmt = "PBS JOB %i";
+- }
++ sendmail_args[numargs++] = (char *)SENDMAIL_CMD;
++ sendmail_args[numargs++] = (char *)"-f";
++ sendmail_args[numargs++] = (char *)mailfrom;
+
+- /* mail body formating statement */
+- get_svr_attr_str(SRV_ATR_MailBodyFmt, &bodyfmt);
+- if (bodyfmt == NULL)
++ /* Add the e-mail addresses to the command line */
++ mailptr = strdup(mi->mailto);
++ sendmail_args[numargs++] = mailptr;
++ for (counter=0; counter < (int)strlen(mailptr); counter++)
+ {
+- bodyfmt = strcpy(bodyfmtbuf, "PBS Job Id: %i\n"
+- "Job Name: %j\n");
+- if (mi->exec_host != NULL)
++ if (mailptr[counter] == ',')
+ {
+- strcat(bodyfmt, "Exec host: %h\n");
+- }
+-
+- strcat(bodyfmt, "%m\n");
+-
+- if (mi->text != NULL)
+- {
+- strcat(bodyfmt, "%d\n");
++ mailptr[counter] = '\0';
++ sendmail_args[numargs++] = mailptr + counter + 1;
++ if (numargs >= 99)
++ break;
+ }
+ }
+
+- /* setup sendmail command line with -f from_whom */
+- i = strlen(SENDMAIL_CMD) + strlen(mailfrom) + strlen(mi->mailto) + 6;
+-
+- if ((cmdbuf = calloc(1, i + 1)) == NULL)
++ sendmail_args[numargs] = NULL;
++
++ /* Create a pipe to talk to the sendmail process we are about to fork */
++ if (pipe(pipes) == -1)
+ {
+- char tmpBuf[LOG_BUF_SIZE];
+-
+- snprintf(tmpBuf,sizeof(tmpBuf),
+- "Unable to popen() command '%s' for writing: '%s' (error %d)\n",
+- SENDMAIL_CMD,
+- strerror(errno),
+- errno);
++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to pipes for sending e-mail\n");
+ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
+ PBS_EVENTCLASS_JOB,
+ mi->jobid,
+ tmpBuf);
+-
+- free_mail_info(mi);
+
++ free_mail_info(mi);
++ free(mailptr);
+ return(NULL);
+ }
+
+- sprintf(cmdbuf, "%s -f %s %s",
+- SENDMAIL_CMD,
+- mailfrom,
+- mi->mailto);
+-
+- outmail = popen(cmdbuf, "w");
+-
+- if (outmail == NULL)
++ if ((pid=fork()) == -1)
+ {
+- char tmpBuf[LOG_BUF_SIZE];
+-
+- snprintf(tmpBuf,sizeof(tmpBuf),
+- "Unable to popen() command '%s' for writing: '%s' (error %d)\n",
+- cmdbuf,
+- strerror(errno),
+- errno);
++ snprintf(tmpBuf, sizeof(tmpBuf), "Unable to fork for sending e-mail\n");
+ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
+ PBS_EVENTCLASS_JOB,
+ mi->jobid,
+ tmpBuf);
+
+ free_mail_info(mi);
+- free(cmdbuf);
+-
++ free(mailptr);
++ close(pipes[0]);
++ close(pipes[1]);
+ return(NULL);
+ }
++ else if (pid == 0)
++ {
++ /* CHILD */
+
+- /* Pipe in mail headers: To: and Subject: */
+- fprintf(outmail, "To: %s\n", mi->mailto);
++ /* Make stdin the read end of the pipe */
++ dup2(pipes[0], 0);
+
+- fprintf(outmail, "Subject: ");
+- svr_format_job(outmail, mi, subjectfmt);
+- fprintf(outmail, "\n");
++ /* Close the rest of the open file descriptors */
++ int numfds = sysconf(_SC_OPEN_MAX);
++ while (--numfds > 0)
++ close(numfds);
+
+- /* Set "Precedence: bulk" to avoid vacation messages, etc */
+- fprintf(outmail, "Precedence: bulk\n\n");
++ execv(SENDMAIL_CMD, sendmail_args);
++ /* This never returns, but if the execv fails the child should exit */
++ exit(1);
++ }
++ else
++ {
++ /* This is the parent */
+
+- /* Now pipe in the email body */
+- svr_format_job(outmail, mi, bodyfmt);
++ /* Close the read end of the pipe */
++ close(pipes[0]);
+
+- errno = 0;
+- if ((i = pclose(outmail)) != 0)
+- {
+- char tmpBuf[LOG_BUF_SIZE];
++ /* Write the body to the pipe */
++ stream = fdopen(pipes[1], "w");
++ write_email(stream, mi);
+
+- snprintf(tmpBuf,sizeof(tmpBuf),
+- "Email '%c' to %s failed: Child process '%s' %s %d (errno %d:%s)\n",
+- mi->mail_point,
+- mi->mailto,
+- cmdbuf,
+- ((WIFEXITED(i)) ? ("returned") : ((WIFSIGNALED(i)) ? ("killed by signal") : ("croaked"))),
+- ((WIFEXITED(i)) ? (WEXITSTATUS(i)) : ((WIFSIGNALED(i)) ? (WTERMSIG(i)) : (i))),
+- errno,
+- strerror(errno));
+- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
+- PBS_EVENTCLASS_JOB,
+- mi->jobid,
+- tmpBuf);
+- }
+- else if (LOGLEVEL >= 4)
+- {
+- log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
+- PBS_EVENTCLASS_JOB,
+- mi->jobid,
+- "Email sent successfully\n");
+- }
++ fflush(stream);
++
++ /* Close and wait for the command to finish */
++ if (fclose(stream) != 0)
++ {
++ snprintf(tmpBuf,sizeof(tmpBuf),
++ "Piping mail body to sendmail closed: errno %d:%s\n",
++ errno, strerror(errno));
++
++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
++ PBS_EVENTCLASS_JOB,
++ mi->jobid,
++ tmpBuf);
++ }
++
++ // we aren't going to block in order to find out whether or not sendmail worked
++ if ((waitpid(pid, &status, WNOHANG) != 0) &&
++ (status != 0))
++ {
++ snprintf(tmpBuf,sizeof(tmpBuf),
++ "Sendmail command returned %d. Mail may not have been sent\n",
++ status);
++
++ log_event(PBSEVENT_ERROR | PBSEVENT_ADMIN | PBSEVENT_JOB,
++ PBS_EVENTCLASS_JOB,
++ mi->jobid,
++ tmpBuf);
++ }
+
+- free_mail_info(mi);
+- free(cmdbuf);
++ // don't leave zombies
++ while (waitpid(-1, &status, WNOHANG) != 0)
++ {
++ // zombie reaped, NO-OP
++ }
++
++ free_mail_info(mi);
++ free(mailptr);
++ return(NULL);
++ }
+
++ /* NOT REACHED */
++
+ return(NULL);
+ } /* END send_the_mail() */
+
+--
+1.8.3.2
+
diff --git a/sys-cluster/torque/files/CVE-2013-4495.patch b/sys-cluster/torque/files/CVE-2013-4495.patch
new file mode 100644
index 000000000000..41232c07ec72
--- /dev/null
+++ b/sys-cluster/torque/files/CVE-2013-4495.patch
@@ -0,0 +1,32 @@
+From 8246d967bbcf174482ef01b1bf4920a5944b1011 Mon Sep 17 00:00:00 2001
+From: David Beer <dbeer@adaptivecomputing.com>
+Date: Wed, 13 Nov 2013 10:47:48 -0700
+Subject: [PATCH] Use Michael Jenning's patch for CVE 2013-4495 instead of the
+ original. This one is being used because 2.5 should face the minimal possible
+ change.
+
+---
+ src/server/svr_mail.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/server/svr_mail.c b/src/server/svr_mail.c
+index 26b6dd7..241bdfc 100644
+--- a/src/server/svr_mail.c
++++ b/src/server/svr_mail.c
+@@ -372,11 +372,9 @@ void svr_mailowner(
+ exit(1);
+ }
+
+- sprintf(cmdbuf, "%s -f %s %s",
+-
++ sprintf(cmdbuf, "%s -t -f %s",
+ SENDMAIL_CMD,
+- mailfrom,
+- mailto);
++ mailfrom);
+
+ outmail = (FILE *)popen(cmdbuf, "w");
+
+--
+1.8.3.2
+
diff --git a/sys-cluster/torque/files/CVE-2014-0749.patch b/sys-cluster/torque/files/CVE-2014-0749.patch
new file mode 100644
index 000000000000..52131edcf7e0
--- /dev/null
+++ b/sys-cluster/torque/files/CVE-2014-0749.patch
@@ -0,0 +1,32 @@
+From 3ed749263abe3d69fa3626d142a5789dcb5a5684 Mon Sep 17 00:00:00 2001
+From: David Beer <dbeer@adaptivecomputing.com>
+Date: Fri, 23 Aug 2013 15:53:09 -0600
+Subject: [PATCH] Merge pull request #171 into 2.5-fixes.
+
+---
+ src/lib/Libdis/disrsi_.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/lib/Libdis/disrsi_.c b/src/lib/Libdis/disrsi_.c
+index 69edd28..154514c 100644
+--- a/src/lib/Libdis/disrsi_.c
++++ b/src/lib/Libdis/disrsi_.c
+@@ -112,6 +112,15 @@ int disrsi_(
+ if (dis_umaxd == 0)
+ disiui_();
+
++ if (count >= dis_umaxd)
++ {
++ if (count > dis_umaxd)
++ goto overflow;
++
++ if (memcmp(scratch, dis_umax, dis_umaxd) > 0)
++ goto overflow;
++ }
++
+ switch (c = (*dis_getc)(stream))
+ {
+
+--
+1.8.3.2
+
diff --git a/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch b/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch
new file mode 100644
index 000000000000..63713a0bc16f
--- /dev/null
+++ b/sys-cluster/torque/files/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch
@@ -0,0 +1,134 @@
+From f2f4c950f3d461a249111c8826da3beaafccace9 Mon Sep 17 00:00:00 2001
+From: Chad Vizino <cvizino@adaptivecomputing.com>
+Date: Tue, 23 Sep 2014 17:40:59 -0600
+Subject: [PATCH 1/2] TRQ-2885 - limit tm_adopt() to only adopt a session id
+ that is owned by the calling user.
+
+---
+ src/cmds/pbs_track.c | 6 ++++++
+ src/include/tm.h | 2 +-
+ src/include/tm_.h | 1 +
+ src/lib/Libifl/tm.c | 37 ++++++++++++++++++++++++++++++++++---
+ 5 files changed, 56 insertions(+), 4 deletions(-)
+
+diff --git a/src/cmds/pbs_track.c b/src/cmds/pbs_track.c
+index 7a90fda..9383ea5 100644
+--- a/src/cmds/pbs_track.c
++++ b/src/cmds/pbs_track.c
+@@ -164,6 +164,12 @@ int main(
+
+ break;
+
++ case TM_EPERM:
++
++ fprintf(stderr, "pbs_track: permission denied: %s (%d)\n",
++ pbse_to_txt(rc),
++ rc);
++
+ default:
+
+ /* Unexpected error occurred */
+diff --git a/src/include/tm.h b/src/include/tm.h
+index 106d3fb..2288828 100644
+--- a/src/include/tm.h
++++ b/src/include/tm.h
+@@ -125,7 +125,7 @@ int tm_register(tm_whattodo_t *what,
+ /*
+ * DJH 15 Nov 2001.
+ * Generic "out-of-band" task adoption call for tasks parented by
+- * another job management system. Minor security hole?
++ * another job management system.
+ * Cannot be called with any other tm call.
+ * 26 Feb 2002. Allows id to be jobid (adoptCmd = TM_ADOPT_JOBID)
+ * or some altid (adoptCmd = TM_ADOPT_ALTID)
+diff --git a/src/include/tm_.h b/src/include/tm_.h
+index c9393b9..8cae7b0 100644
+--- a/src/include/tm_.h
++++ b/src/include/tm_.h
+@@ -136,6 +136,7 @@ typedef unsigned int tm_task_id;
+ #define TM_EBADENVIRONMENT 17005
+ #define TM_ENOTFOUND 17006
+ #define TM_BADINIT 17007
++#define TM_EPERM 17008
+
+ #define TM_TODO_NOP 5000 /* Do nothing (the nodes value may be new) */
+ #define TM_TODO_CKPT 5001 /* Checkpoint <what> and continue it */
+diff --git a/src/lib/Libifl/iff --git a/src/lib/Libifl/tm.c b/src/lib/Libifl/tm.c
+index edb6273..4f38529 100644
+--- a/src/lib/Libifl/tm.c
++++ b/src/lib/Libifl/tm.c
+@@ -94,6 +94,7 @@
+ #include <errno.h>
+ #include <assert.h>
+ #include <sys/types.h>
++#include <sys/stat.h>
+ #include <sys/socket.h>
+ #include <sys/time.h>
+ #include <netinet/in.h>
+@@ -169,6 +170,31 @@ typedef struct event_info
+ static event_info *event_hash[EVENT_HASH];
+
+ /*
++ * check if the owner of this process matches the owner of pid
++ * returns TRUE if so, FALSE otherwise
++ */
++bool ispidowner(pid_t pid)
++ {
++ char path[MAXPATHLEN];
++ struct stat sbuf;
++
++ /* build path to pid */
++ snprintf(path, sizeof(path), "/proc/%d", pid);
++
++ /* do the stat */
++ /* if it fails, assume not owner */
++ if (stat(path, &sbuf) != 0)
++ return(FALSE);
++
++ /* see if caller is the owner of pid */
++ if (getuid() != sbuf.st_uid)
++ return(FALSE);
++
++ /* caller is owner */
++ return(TRUE);
++ }
++
++/*
+ ** Find an event number or return a NULL.
+ */
+ event_info *find_event(
+@@ -1800,8 +1826,8 @@ tm_poll_error:
+ * some mpiruns simply use rsh to start remote processes - no AMS
+ * tracking or management facilities are available.
+ *
+- * This function allows any task (session) to be adopted into a PBS
+- * job. It is used by:
++ * This function allows any task (session) owned by the owner
++ * of the job to be adopted into a PBS job. It is used by:
+ * - "adopter" (which is in turn used by our pvmrun)
+ * - our rmsloader wrapper (a home-brew replacement for RMS'
+ * rmsloader that does some work and then exec()s the real
+@@ -1835,7 +1861,8 @@ tm_poll_error:
+ * the mom. Returns TM_ENOTFOUND if the mom couldn't find a job
+ * with the given RMS resource id. Returns TM_ESYSTEM or
+ * TM_ENOTCONNECTED if there was some sort of comms error talking
+- * to the mom
++ * to the mom. Returns TM_EPERM if an attempt was made to adopt
++ * a session not owned by the owner of the job.
+ *
+ * Side effects:
+ * Sets the tm_* globals to fake values if tm_init() has never
+@@ -1860,6 +1887,10 @@ int tm_adopt(
+
+ sid = getsid(pid);
+
++ /* do not adopt a sid not owned by caller */
++ if (!ispidowner(sid))
++ return(TM_EPERM);
++
+ /* Must be the only call to call to tm and
+ must only be called once */
+
+--
+1.8.3.2
+
diff --git a/sys-cluster/torque/files/pbs_mom-init.d b/sys-cluster/torque/files/pbs_mom-init.d
new file mode 100644
index 000000000000..7f267838f693
--- /dev/null
+++ b/sys-cluster/torque/files/pbs_mom-init.d
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+. /etc/conf.d/torque
+PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})"
+
+depend() {
+ need net
+ after pbs_server
+ after pbs_sched
+ after logger
+}
+
+checkconfig() {
+ for i in "server_name" "mom_priv/config"; do
+ if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then
+ eerror "Missing config file ${PBS_SERVER_HOME}/${i}"
+ return 1
+ fi
+ done
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Torque pbs_mom"
+ local extra_args=""
+ if [ -n "${PBS_MOM_LOG}" ]; then
+ extra_args="-L ${PBS_MOM_LOG}"
+ fi
+ start-stop-daemon --start -p ${PBS_SERVER_HOME}/mom_priv/mom.lock \
+ --exec /usr/sbin/pbs_mom -- -d ${PBS_SERVER_HOME} ${extra_args}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Torque pbs_mom"
+ /usr/sbin/momctl -s || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/mom_priv/mom.lock
+ eend ${?}
+}
+
+restart() {
+ svc_stop
+ sleep 3
+ svc_start
+}
+# vim:ts=4
diff --git a/sys-cluster/torque/files/pbs_mom-init.d-munge b/sys-cluster/torque/files/pbs_mom-init.d-munge
new file mode 100644
index 000000000000..062645ed5dc0
--- /dev/null
+++ b/sys-cluster/torque/files/pbs_mom-init.d-munge
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+. /etc/conf.d/torque
+PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})"
+
+depend() {
+ local _need="net"
+ after pbs_server pbs_sched logger
+ [ ${PBS_USE_MUNGE} -ne 0 ] && _need="${_need} munged"
+ need ${_need}
+}
+
+checkconfig() {
+ for i in "server_name" "mom_priv/config"; do
+ if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then
+ eerror "Missing config file ${PBS_SERVER_HOME}/${i}"
+ return 1
+ fi
+ done
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Torque pbs_mom"
+ local extra_args=""
+ if [ -n "${PBS_MOM_LOG}" ]; then
+ extra_args="-L ${PBS_MOM_LOG}"
+ fi
+ start-stop-daemon --start -p ${PBS_SERVER_HOME}/mom_priv/mom.lock \
+ --exec /usr/sbin/pbs_mom -- -d ${PBS_SERVER_HOME} ${extra_args}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Torque pbs_mom"
+ /usr/sbin/momctl -s || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/mom_priv/mom.lock
+ eend ${?}
+}
+
+restart() {
+ svc_stop
+ sleep 3
+ svc_start
+}
+# vim:ts=4
diff --git a/sys-cluster/torque/files/pbs_sched-init.d b/sys-cluster/torque/files/pbs_sched-init.d
new file mode 100644
index 000000000000..006ef58b51cb
--- /dev/null
+++ b/sys-cluster/torque/files/pbs_sched-init.d
@@ -0,0 +1,48 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+. /etc/conf.d/torque
+PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})"
+
+depend() {
+ need net
+ after pbs_server
+ before pbs_mom
+ after logger
+}
+
+checkconfig() {
+ for i in "server_name"; do
+ if [ ! -e ${PBS_SERVER_HOME}/${i} ]; then
+ eerror "Missing config file ${PBS_SERVER_HOME}/${i}"
+ return 1
+ fi
+ done
+
+ if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then
+ eerror "No queues have been defined yet."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Torque pbs_sched"
+ local extra_args=""
+ if [ -n "${PBS_SCHED_LOG}" ]; then
+ extra_args="-L ${PBS_SCHED_LOG}"
+ fi
+
+ start-stop-daemon --start -p ${PBS_SERVER_HOME}/sched_priv/sched.lock \
+ --exec /usr/sbin/pbs_sched -- -d ${PBS_SERVER_HOME} ${extra_args}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Torque pbs_sched"
+ start-stop-daemon --stop -p ${PBS_SERVER_HOME}/sched_priv/sched.lock
+ eend ${?}
+}
+# vim:ts=4
diff --git a/sys-cluster/torque/files/pbs_server-init.d b/sys-cluster/torque/files/pbs_server-init.d
new file mode 100644
index 000000000000..1fafa8db336c
--- /dev/null
+++ b/sys-cluster/torque/files/pbs_server-init.d
@@ -0,0 +1,60 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+. /etc/conf.d/torque
+PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})"
+
+depend() {
+ need net
+ before pbs_sched
+ before pbs_mom
+ after logger
+}
+
+checkconfig() {
+ for i in "server_name" "server_priv/nodes"; do
+ if [ ! -e "${PBS_SERVER_HOME}/${i}" ]; then
+ eerror "Missing config file ${PBS_SERVER_HOME}/${i}"
+ return 1
+ fi
+ done
+
+ if [ ! -e "${PBS_SERVER_HOME}/server_priv/serverdb" ]; then
+ eerror "Torque has not been fully configured to run."
+ eerror "Missing ${PBS_SERVER_HOME}/server_priv/serverdb"
+ return 1
+ fi
+
+ if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then
+ eerror "No queues have been defined yet."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Torque pbs_server"
+ local extra_args=""
+ if [ -n "${PBS_SERVER_LOG}" ]; then
+ extra_args="-L ${PBS_SERVER_LOG}"
+ fi
+
+ start-stop-daemon --start -p ${PBS_SERVER_HOME}/server_priv/server.lock \
+ --exec /usr/sbin/pbs_server -- -d ${PBS_SERVER_HOME} ${extra_args}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Torque pbs_server"
+ stop_type="${PBS_SERVER_STOP}"
+ if [ -z "${stop_type}" ]; then
+ ewarn "PBS_SERVER_STOP is not defined, defaulting to quick"
+ stop_type=quick
+ fi
+
+ /usr/bin/qterm -t ${stop_type} || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/server_priv/server.lock
+ eend ${?}
+}
+# vim:ts=4
diff --git a/sys-cluster/torque/files/pbs_server-init.d-munge b/sys-cluster/torque/files/pbs_server-init.d-munge
new file mode 100644
index 000000000000..d5e303f955ac
--- /dev/null
+++ b/sys-cluster/torque/files/pbs_server-init.d-munge
@@ -0,0 +1,61 @@
+#!/sbin/openrc-run
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+. /etc/conf.d/torque
+PBS_SERVER_HOME="$(. /etc/env.d/25torque; echo ${PBS_SERVER_HOME})"
+
+depend() {
+ local _need="net"
+ before pbs_sched pbs_mom
+ after logger
+ [ ${PBS_USE_MUNGE} -ne 0 ] && _need="${_need} munged"
+ need ${_need}
+}
+
+checkconfig() {
+ for i in "server_name" "server_priv/nodes"; do
+ if [ ! -e "${PBS_SERVER_HOME}/${i}" ]; then
+ eerror "Missing config file ${PBS_SERVER_HOME}/${i}"
+ return 1
+ fi
+ done
+
+ if [ ! -e "${PBS_SERVER_HOME}/server_priv/serverdb" ]; then
+ eerror "Torque has not been fully configured to run."
+ eerror "Missing ${PBS_SERVER_HOME}/server_priv/serverdb"
+ return 1
+ fi
+
+ if [ -z "$(grep 'queue_type' ${PBS_SERVER_HOME}/server_priv/queues/*)" ]; then
+ eerror "No queues have been defined yet."
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+
+ ebegin "Starting Torque pbs_server"
+ local extra_args=""
+ if [ -n "${PBS_SERVER_LOG}" ]; then
+ extra_args="-L ${PBS_SERVER_LOG}"
+ fi
+
+ start-stop-daemon --start -p ${PBS_SERVER_HOME}/server_priv/server.lock \
+ --exec /usr/sbin/pbs_server -- -d ${PBS_SERVER_HOME} ${extra_args}
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping Torque pbs_server"
+ stop_type="${PBS_SERVER_STOP}"
+ if [ -z "${stop_type}" ]; then
+ ewarn "PBS_SERVER_STOP is not defined, defaulting to quick"
+ stop_type=quick
+ fi
+
+ /usr/bin/qterm -t ${stop_type} || start-stop-daemon --stop -p ${PBS_SERVER_HOME}/server_priv/server.lock
+ eend ${?}
+}
+# vim:ts=4
diff --git a/sys-cluster/torque/files/tcl8.6.patch b/sys-cluster/torque/files/tcl8.6.patch
new file mode 100644
index 000000000000..0361dbfead0a
--- /dev/null
+++ b/sys-cluster/torque/files/tcl8.6.patch
@@ -0,0 +1,87 @@
+From 061f15e06d6cf85e951cd321360067de5f0b2ce0 Mon Sep 17 00:00:00 2001
+From: Justin Bronder <jsbronder@gmail.com>
+Date: Thu, 7 Mar 2013 22:33:04 -0500
+Subject: [PATCH] support tcl-8.6
+
+---
+ src/cmds/qstat.c | 13 +++++++++----
+ src/scheduler.tcl/pbs_tclWrap.c | 6 +++---
+ 2 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c
+index 5f85de7..7f289ba 100644
+--- a/src/cmds/qstat.c
++++ b/src/cmds/qstat.c
+@@ -88,6 +88,11 @@
+ #if TCL_QSTAT
+ #include <sys/stat.h>
+ #include <tcl.h>
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
++#define Tcl_GetStringResult(x) x->result
++#define Tcl_GetErrorLine(x) x->errorLine
++#define Tcl_SetResult(x, y, z) x->result = y
++#endif
+ #if TCLX
+ #include <tclExtend.h>
+ #endif
+@@ -1856,7 +1861,7 @@ tcl_init(void)
+ if (Tcl_Init(interp) == TCL_ERROR)
+ {
+ fprintf(stderr, "Tcl_Init error: %s",
+- interp->result);
++ Tcl_GetStringResult(interp));
+ }
+
+ #if TCLX
+@@ -1869,7 +1874,7 @@ tcl_init(void)
+ {
+ #endif
+ fprintf(stderr, "Tclx_Init error: %s",
+- interp->result);
++ Tcl_GetStringResult(interp));
+ }
+
+ #endif /* TCLX */
+@@ -1980,10 +1985,10 @@ void tcl_run(
+ trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);
+
+ if (trace == NULL)
+- trace = interp->result;
++ trace = Tcl_GetStringResult(interp);
+
+ fprintf(stderr, "%s: TCL error @ line %d: %s\n",
+- script, interp->errorLine, trace);
++ script, Tcl_GetErrorLine(interp), trace);
+ }
+
+ Tcl_DeleteInterp(interp);
+diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c
+index e859ae5..194c24b 100644
+--- a/src/scheduler.tcl/pbs_tclWrap.c
++++ b/src/scheduler.tcl/pbs_tclWrap.c
+@@ -924,7 +924,7 @@ char *argv[];
+
+ if (argc != 2)
+ {
+- sprintf(interp->result,
++ sprintf(Tcl_GetStringResult(interp),
+ "%s: wrong # args: job_id", argv[0]);
+ return TCL_ERROR;
+ }
+@@ -936,11 +936,11 @@ char *argv[];
+ return TCL_OK;
+ }
+
+- interp->result = "0";
++ Tcl_SetResult(interp, "0", TCL_STATIC);
+
+ if (pbs_rerunjob(connector, argv[1], extend))
+ {
+- interp->result = "-1";
++ Tcl_SetResult(interp, "-1", TCL_STATIC);
+ msg = pbs_geterrmsg(connector);
+ sprintf(log_buffer, "%s (%d)", msg ? msg : fail, pbs_errno);
+ log_err(-1, argv[0], log_buffer);
+--
+1.7.12.4
+
diff --git a/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch b/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch
new file mode 100644
index 000000000000..2e8a8ed8f359
--- /dev/null
+++ b/sys-cluster/torque/files/torque-4.1.5.1-tcl8.6.patch
@@ -0,0 +1,93 @@
+ src/cmds/qstat.c | 18 ++++++++++++++++++
+ src/scheduler.tcl/pbs_tclWrap.c | 13 +++++++++++++
+ 2 files changed, 31 insertions(+)
+
+diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c
+index 4e1c6b6..07ed448 100644
+--- a/src/cmds/qstat.c
++++ b/src/cmds/qstat.c
+@@ -1795,8 +1795,13 @@ tcl_init(void)
+
+ if (Tcl_Init(interp) == TCL_ERROR)
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ fprintf(stderr, "Tcl_Init error: %s",
+ interp->result);
++#else
++ fprintf(stderr, "Tcl_Init error: %s",
++ Tcl_GetStringResult(interp));
++#endif
+ }
+
+ #if TCLX
+@@ -1808,8 +1813,14 @@ tcl_init(void)
+ if (Tclx_Init(interp) == TCL_ERROR)
+ {
+ #endif
++
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ fprintf(stderr, "Tclx_Init error: %s",
+ interp->result);
++#else
++ fprintf(stderr, "Tclx_Init error: %s",
++ Tcl_GetStringResult(interp));
++#endif
+ }
+
+ #endif /* TCLX */
+@@ -1920,10 +1931,17 @@ void tcl_run(
+ trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);
+
+ if (trace == NULL)
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ trace = interp->result;
+
+ fprintf(stderr, "%s: TCL error @ line %d: %s\n",
+ script, interp->errorLine, trace);
++#else
++ trace = Tcl_GetStringResult(interp);
++
++ fprintf(stderr, "%s: TCL error @ line %d: %s\n",
++ script, Tcl_GetErrorLine(interp), trace);
++#endif
+ }
+
+ Tcl_DeleteInterp(interp);
+diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c
+index a85e8ff..46c1012 100644
+--- a/src/scheduler.tcl/pbs_tclWrap.c
++++ b/src/scheduler.tcl/pbs_tclWrap.c
+@@ -900,8 +900,13 @@ char *argv[];
+
+ if (argc != 2)
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ sprintf(interp->result,
+ "%s: wrong # args: job_id", argv[0]);
++#else
++ sprintf(Tcl_GetStringResult(interp),
++ "%s: wrong # args: job_id", argv[0]);
++#endif
+ return TCL_ERROR;
+ }
+
+@@ -912,11 +917,19 @@ char *argv[];
+ return TCL_OK;
+ }
+
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ interp->result = "0";
++#else
++ Tcl_SetResult(interp, "0", TCL_STATIC);
++#endif
+
+ if (pbs_rerunjob_err(connector, argv[1], extend, &local_errno))
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ interp->result = "-1";
++#else
++ Tcl_SetResult(interp, "-1", TCL_STATIC);
++#endif
+ msg = pbs_geterrmsg(connector);
+ sprintf(log_buffer, "%s (%d)", msg ? msg : fail, local_errno);
+ log_err(-1, argv[0], log_buffer);
diff --git a/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch b/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch
new file mode 100644
index 000000000000..aec54aff030f
--- /dev/null
+++ b/sys-cluster/torque/files/torque-4.2-dont-mess-with-cflags.patch
@@ -0,0 +1,27 @@
+--- a/configure.ac 2014-09-10 21:06:26.000000000 -0400
++++ b/configure.ac 2017-05-23 10:43:59.051759539 -0400
+@@ -703,24 +703,6 @@
+ AC_HELP_STRING([--with-debug], [compile with debugging symbols]),
+ DEBUG_SYMBOLS=$withval, DEBUG_SYMBOLS="yes")
+ AC_MSG_RESULT([DEBUG_SYMBOLS=$DEBUG_SYMBOLS])
+-dnl remove -O* and add -g
+-if test "$DEBUG_SYMBOLS" = 'yes'; then
+- AC_MSG_RESULT([before tweak CFLAGS=$CFLAGS])
+- CFLAGS=`echo $CFLAGS | sed 's/ \?-O[[^ ]]*//g'`
+- AC_MSG_RESULT([mid tweak CFLAGS=$CFLAGS])
+- case $CFLAGS in
+- *-g*)
+- ;;
+- *)
+- if test "$CFLAGS" = ''; then
+- CFLAGS="-g"
+- else
+- CFLAGS="-g $CFLAGS"
+- fi
+- ;;
+- esac
+- AC_MSG_RESULT([after tweak CFLAGS=$CFLAGS])
+-fi
+
+ dnl if using gcc, we can be very strict
+ AC_ARG_ENABLE(gcc_warnings, [
diff --git a/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch b/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch
new file mode 100644
index 000000000000..3a2a28ce4a2b
--- /dev/null
+++ b/sys-cluster/torque/files/torque-4.2.9-tcl8.6.patch
@@ -0,0 +1,99 @@
+ src/cmds/qstat.c | 20 +++++++++++++++++++-
+ src/scheduler.tcl/pbs_tclWrap.c | 13 +++++++++++++
+ 2 files changed, 32 insertions(+), 1 deletion(-)
+
+diff --git a/src/cmds/qstat.c b/src/cmds/qstat.c
+index f275cf8..23414b8 100644
+--- a/src/cmds/qstat.c
++++ b/src/cmds/qstat.c
+@@ -2203,8 +2203,13 @@ tcl_init(void)
+
+ if (Tcl_Init(interp) == TCL_ERROR)
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ fprintf(stderr, "Tcl_Init error: %s",
+ interp->result);
++#else
++ fprintf(stderr, "Tcl_Init error: %s",
++ Tcl_GetStringResult(interp));
++#endif
+ }
+
+ #if TCLX
+@@ -2216,8 +2221,14 @@ tcl_init(void)
+ if (Tclx_Init(interp) == TCL_ERROR)
+ {
+ #endif
++
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ fprintf(stderr, "Tclx_Init error: %s",
+ interp->result);
++#else
++ fprintf(stderr, "Tclx_Init error: %s",
++ Tcl_GetStringResult(interp));
++#endif
+ }
+
+ #endif /* TCLX */
+@@ -2328,15 +2339,22 @@ void tcl_run(
+
+ if (f_opt && Tcl_EvalFile(interp, script) != TCL_OK)
+ {
+- char *trace;
++ const char *trace;
+
+ trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);
+
+ if (trace == NULL)
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ trace = interp->result;
+
+ fprintf(stderr, "%s: TCL error @ line %d: %s\n",
+ script, interp->errorLine, trace);
++#else
++ trace = Tcl_GetStringResult(interp);
++
++ fprintf(stderr, "%s: TCL error @ line %d: %s\n",
++ script, Tcl_GetErrorLine(interp), trace);
++#endif
+ }
+
+ Tcl_DeleteInterp(interp);
+diff --git a/src/scheduler.tcl/pbs_tclWrap.c b/src/scheduler.tcl/pbs_tclWrap.c
+index 3eea0b0..7d0d610 100644
+--- a/src/scheduler.tcl/pbs_tclWrap.c
++++ b/src/scheduler.tcl/pbs_tclWrap.c
+@@ -935,8 +935,13 @@ int PBS_ReRun(
+
+ if (argc != 2)
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ sprintf(interp->result,
+ "%s: wrong # args: job_id", argv[0]);
++#else
++ Tcl_SetObjResult(interp, Tcl_ObjPrintf(
++ "%s: wrong # args: job_id", argv[0]));
++#endif
+ return TCL_ERROR;
+ }
+
+@@ -947,11 +952,19 @@ int PBS_ReRun(
+ return TCL_OK;
+ }
+
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ interp->result = strdup("0");
++#else
++ Tcl_SetResult(interp, "0", TCL_STATIC);
++#endif
+
+ if (pbs_rerunjob_err(connector, strdup(argv[1]), extend, &local_errno))
+ {
++#if TCL_MAJOR_VERSION <=8 && TCL_MINOR_VERSION < 6
+ interp->result = strdup("-1");
++#else
++ Tcl_SetResult(interp, "-1", TCL_STATIC);
++#endif
+ msg = pbs_geterrmsg(connector);
+ sprintf(log_buffer, "%s (%d)", msg ? msg : fail, local_errno);
+ log_err(-1, argv[0], log_buffer);
diff --git a/sys-cluster/torque/files/torque-conf.d b/sys-cluster/torque/files/torque-conf.d
new file mode 100644
index 000000000000..a6e6b08beace
--- /dev/null
+++ b/sys-cluster/torque/files/torque-conf.d
@@ -0,0 +1,14 @@
+# The default logging takes place in $PBS_SERVER_HOME/<mom/server/sched>_priv.
+# If you'd like to change that, use the following per service.
+PBS_SERVER_LOG=/var/log/pbs_server.log
+PBS_MOM_LOG=/var/log/pbs_mom.log
+PBS_SCHED_LOG=/var/log/pbs_sched.log
+
+
+# There are a number of ways to stop the pbs server. For more details, man qterm
+# At the time of writing, checkpoint is probably not working.
+# immediate: All jobs are killed.
+# delay: Checkpoint, rerun or wait for jobs to finish before stopping
+# quick: Remember running jobs, and let them run without interaction with pbs_server.
+# This is the default action
+PBS_SERVER_STOP=quick
diff --git a/sys-cluster/torque/files/torque-conf.d-munge b/sys-cluster/torque/files/torque-conf.d-munge
new file mode 100644
index 000000000000..a8456d526d46
--- /dev/null
+++ b/sys-cluster/torque/files/torque-conf.d-munge
@@ -0,0 +1,18 @@
+# The default logging takes place in $PBS_SERVER_HOME/<mom/server/sched>_priv.
+# If you'd like to change that, use the following per service.
+PBS_SERVER_LOG=/var/log/pbs_server.log
+PBS_MOM_LOG=/var/log/pbs_mom.log
+PBS_SCHED_LOG=/var/log/pbs_sched.log
+
+
+# There are a number of ways to stop the pbs server. For more details, man qterm
+# At the time of writing, checkpoint is probably not working.
+# immediate: All jobs are killed.
+# delay: Checkpoint, rerun or wait for jobs to finish before stopping
+# quick: Remember running jobs, and let them run without interaction with pbs_server.
+# This is the default action
+PBS_SERVER_STOP=quick
+
+# Use munge auth by default. This causes all pbs service to require
+# the munge service. Set to non-zero to enable.
+PBS_USE_MUNGE=0
diff --git a/sys-cluster/torque/files/torque-env.d b/sys-cluster/torque/files/torque-env.d
new file mode 100644
index 000000000000..40a08c016dee
--- /dev/null
+++ b/sys-cluster/torque/files/torque-env.d
@@ -0,0 +1,7 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the Torque 2.5+ License
+
+# Configuration files that are included in the initial Torque install
+PBS_SERVER_HOME="/var/spool/torque"
+CONFIG_PROTECT="/var/spool/torque"
+
diff --git a/sys-cluster/torque/files/trqauthd-init.d b/sys-cluster/torque/files/trqauthd-init.d
new file mode 100644
index 000000000000..46565f655e49
--- /dev/null
+++ b/sys-cluster/torque/files/trqauthd-init.d
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ need net
+ after logger
+
+ # 4.0+ only, make sure we run before the other torque services
+ before pbs_mom
+ before pbs_sched
+ before pbs_server
+}
+
+start() {
+ start-stop-daemon \
+ --start \
+ --exec /usr/sbin/trqauthd
+}
+
+stop() {
+ start-stop-daemon \
+ --stop \
+ --exec /usr/sbin/trqauthd
+}
+
diff --git a/sys-cluster/torque/metadata.xml b/sys-cluster/torque/metadata.xml
new file mode 100644
index 000000000000..ce0da419e927
--- /dev/null
+++ b/sys-cluster/torque/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>axs@gentoo.org</email>
+ <name>Ian Stakenvicius</name>
+ </maintainer>
+ <use>
+ <flag name="autorun">Enable the AUTORUN_JOBS codebase</flag>
+ <flag name="cgroups">Enable pbs_mom to use linux cgroups to isolate jobs</flag>
+ <flag name="cpusets">Enable pbs_mom to utilize linux cpusets if available</flag>
+ <flag name="drmaa">Enable the Distributed Resource Management Application API</flag>
+ <flag name="munge">Enable authentication via munge</flag>
+ <flag name="nvidia">Enable management of Nvidia GPUs</flag>
+ <flag name="quickcommit">Enable the QUICKCOMMIT codebase</flag>
+ <flag name="server">Enable compilation of pbs_server and pbs_sched</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/torque/torque-2.5.13-r1.ebuild b/sys-cluster/torque/torque-2.5.13-r1.ebuild
new file mode 100644
index 000000000000..7a45fb1c9002
--- /dev/null
+++ b/sys-cluster/torque/torque-2.5.13-r1.ebuild
@@ -0,0 +1,253 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit autotools-utils eutils flag-o-matic linux-info
+
+DESCRIPTION="Resource manager and queuing system based on OpenPBS"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
+SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=1643 -> ${P}.tar.gz"
+
+LICENSE="torque-2.5"
+
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="cpusets +crypt doc drmaa kernel_linux munge server static-libs +syslog threads tk xml"
+
+# ed is used by makedepend-sh
+DEPEND_COMMON="
+ sys-libs/readline:0=
+ munge? ( sys-auth/munge )
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ syslog? ( virtual/logger )
+ !!games-util/qstat"
+
+# libncurses.so is just needed so that configure will pass for the readline check
+DEPEND="${DEPEND_COMMON}
+ sys-libs/ncurses:*
+ sys-apps/ed
+ !!sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )"
+
+DOCS=( Release_Notes )
+
+AUTOTOOLS_IN_SOURCE_BUILD=1
+
+pkg_setup() {
+ PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/torque}"
+
+ # Find a Torque server to use. Check environment, then
+ # current setup (if any), and fall back on current hostname.
+ if [ -z "${PBS_SERVER_NAME}" ]; then
+ if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+ PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+ else
+ PBS_SERVER_NAME=$(hostname -f)
+ fi
+ fi
+
+ if use cpusets; then
+ if ! use kernel_linux; then
+ einfo
+ elog " Torque currently only has support for cpusets in linux."
+ elog "Assuming you didn't really want this USE flag and ignoring."
+ einfo
+ else
+ linux-info_pkg_setup
+ einfo
+ elog " Torque support for cpusets is still in development, you may"
+ elog "wish to disable it for production use."
+ einfo
+ if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
+ einfo
+ elog " Torque support for cpusets will require that you recompile"
+ elog "your kernel with CONFIG_CPUSETS enabled."
+ einfo
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/CVE-2013-4319-2.x-root-submit-fix.patch
+ epatch "${FILESDIR}"/tcl8.6.patch
+
+ # 510726
+ epatch "${FILESDIR}"/CVE-2014-0749.patch
+
+ # 491270
+ epatch "${FILESDIR}"/CVE-2013-4495.patch
+
+ # Unused and causes breakage when switching from glibc to tirpc.
+ # https://github.com/adaptivecomputing/torque/pull/148
+ sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die
+}
+
+src_configure() {
+ local myeconfargs=( --with-rcp=mom_rcp )
+
+ use crypt && myeconfargs=( --with-rcp=scp )
+ myeconfargs+=(
+ $(use_enable tk gui)
+ $(use_enable tk tcl-qstat)
+ $(use_enable syslog)
+ $(use_enable server)
+ $(use_enable drmaa)
+ $(use_enable threads high-availability)
+ $(use_enable xml server-xml)
+ $(use_enable munge munge-library)
+ $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset)
+ --with-server-home=${PBS_SERVER_HOME}
+ --with-environ=/etc/pbs_environment
+ --with-default-server=${PBS_SERVER_NAME}
+ --disable-gcc-warnings
+ --with-tcp-retry-limit=2
+ )
+ autotools-utils_src_configure
+}
+
+# WARNING
+# OpenPBS is extremely stubborn about directory permissions. Sometimes it will
+# just fall over with the error message, but in some spots it will just ignore
+# you and fail strangely. Likewise it also barfs on our .keep files!
+pbs_createspool() {
+ local root="$1"
+ local s="$(dirname "${PBS_SERVER_HOME}")"
+ local h="${PBS_SERVER_HOME}"
+ local sp="${h}/server_priv"
+ einfo "Building spool directory under ${D}${h}"
+ local a d m
+ local dir_spec="
+ 0755:${h}/aux 0700:${h}/checkpoint
+ 0755:${h}/mom_logs 0751:${h}/mom_priv 0751:${h}/mom_priv/jobs
+ 1777:${h}/spool 1777:${h}/undelivered"
+
+ if use server; then
+ dir_spec="${dir_spec} 0755:${h}/sched_logs
+ 0755:${h}/sched_priv/accounting 0755:${h}/server_logs
+ 0750:${h}/server_priv 0755:${h}/server_priv/accounting
+ 0750:${h}/server_priv/acl_groups 0750:${h}/server_priv/acl_hosts
+ 0750:${h}/server_priv/acl_svr 0750:${h}/server_priv/acl_users
+ 0750:${h}/server_priv/jobs 0750:${h}/server_priv/queues"
+ fi
+
+ for a in ${dir_spec}; do
+ d="${a/*:}"
+ m="${a/:*}"
+ if [[ ! -d "${root}${d}" ]]; then
+ install -d -m${m} "${root}${d}" || die
+ else
+ chmod ${m} "${root}${d}" || die
+ fi
+ # (#149226) If we're running in src_*, then keepdir
+ if [[ "${root}" = "${D}" ]]; then
+ keepdir ${d}
+ fi
+ done
+}
+
+src_install() {
+ # Make directories first
+ pbs_createspool "${D}"
+
+ autotools-utils_src_install
+
+ use doc && dodoc doc/admin_guide.ps doc/*.pdf
+
+ # The build script isn't alternative install location friendly,
+ # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
+ for file in `find "${D}" -iname tclIndex`; do
+ sed -e "s/${D//\// }/ /" "${file}" > "${file}.new"
+ mv "${file}.new" "${file}" || die
+ done
+
+ if use server; then
+ newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
+ newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+ fi
+ newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+ newconfd "${FILESDIR}"/torque-conf.d-munge torque
+ newenvd "${FILESDIR}"/torque-env.d 25torque
+}
+
+pkg_preinst() {
+ if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+ cp "${ROOT}etc/pbs_environment" "${D}"/etc/pbs_environment || die
+ fi
+
+ echo "${PBS_SERVER_NAME}" > "${D}${PBS_SERVER_HOME}/server_name" || die
+
+ # Fix up the env.d file to use our set server home.
+ sed -i \
+ "s:/var/spool/torque:${PBS_SERVER_HOME}:g" "${D}"/etc/env.d/25torque \
+ || die
+
+ if use munge; then
+ sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${D}"etc/conf.d/torque || die
+ fi
+}
+
+pkg_postinst() {
+ pbs_createspool "${ROOT}"
+ elog " If this is the first time torque has been installed, then you are not"
+ elog "ready to start the server. Please refer to the documentation located at:"
+ elog "http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki"
+ echo
+ elog " For a basic setup, you may use emerge --config ${PN}"
+}
+
+# root will be setup as the primary operator/manager, the local machine
+# will be added as a node and we'll create a simple queue, batch.
+pkg_config() {
+ local h="$(echo "${ROOT}/${PBS_SERVER_HOME}" | sed 's:///*:/:g')"
+ local rc=0
+
+ ebegin "Configuring Torque"
+ einfo "Using ${h} as the pbs homedir"
+ einfo "Using ${PBS_SERVER_NAME} as the pbs_server"
+
+ # Check for previous configuration and bail if found.
+ if [ -e "${h}/server_priv/acl_svr/operators" ] \
+ || [ -e "${h}/server_priv/nodes" ] \
+ || [ -e "${h}/mom_priv/config" ]; then
+ ewarn "Previous Torque configuration detected. Press Enter to"
+ ewarn "continue or Control-C to abort now"
+ read
+ fi
+
+ # pbs_mom configuration.
+ echo "\$pbsserver ${PBS_SERVER_NAME}" > "${h}/mom_priv/config" || die
+ echo "\$logevent 255" >> "${h}/mom_priv/config" || die
+
+ if use server; then
+ local qmgr="${ROOT}/usr/bin/qmgr -c"
+ # pbs_server bails on repeated backslashes.
+ if ! "${ROOT}"/usr/sbin/pbs_server -f -d "${h}" -t create; then
+ eerror "Failed to start pbs_server"
+ rc=1
+ else
+ ${qmgr} "set server operators = root@$(hostname -f)" ${PBS_SERVER_NAME} \
+ && ${qmgr} "create queue batch" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch queue_type = Execution" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch started = True" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch enabled = True" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server default_queue = batch" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server resources_default.nodes = 1" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server scheduling = True" ${PBS_SERVER_NAME} \
+ || die
+
+ "${ROOT}"/usr/bin/qterm -t quick ${PBS_SERVER_NAME} || rc=1
+
+ # Add the local machine as a node.
+ echo "$(hostname -f) np=1" > "${h}/server_priv/nodes" || die
+ fi
+ fi
+ eend ${rc}
+}
diff --git a/sys-cluster/torque/torque-4.1.7-r1.ebuild b/sys-cluster/torque/torque-4.1.7-r1.ebuild
new file mode 100644
index 000000000000..c3c2cac28b35
--- /dev/null
+++ b/sys-cluster/torque/torque-4.1.7-r1.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic eutils linux-info
+
+DESCRIPTION="Resource manager and queuing system based on OpenPBS"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
+# TODO: hopefully moving to github tags soon
+# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html
+SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=1690 -> ${P}.tar.gz"
+
+LICENSE="torque-2.5"
+SLOT="0"
+KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86"
+IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk"
+
+DEPEND_COMMON="
+ sys-libs/zlib
+ sys-libs/readline:0=
+ libressl? ( dev-libs/libressl:0= )
+ !libressl? ( dev-libs/openssl:0= )
+ cpusets? ( sys-apps/hwloc )
+ munge? ( sys-auth/munge )
+ nvidia? ( >=x11-drivers/nvidia-drivers-275 )
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ syslog? ( virtual/logger )
+ !!games-util/qstat"
+
+# libncurses.so is only needed for the configure check on readline to pass
+DEPEND="${DEPEND_COMMON}
+ sys-libs/ncurses:*
+ !!sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )
+ !dev-libs/uthash"
+
+# Torque should depend on dev-libs/uthash but that's pretty much impossible
+# to patch in as they ship with a broken configure such that files referenced
+# by the configure.ac and Makefile.am are missing.
+# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html
+
+pkg_setup() {
+ PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}"
+
+ # Find a Torque server to use. Check environment, then
+ # current setup (if any), and fall back on current hostname.
+ if [ -z "${PBS_SERVER_NAME}" ]; then
+ if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+ PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+ else
+ PBS_SERVER_NAME=$(hostname -f)
+ fi
+ fi
+
+ if use cpusets; then
+ if ! use kernel_linux; then
+ einfo
+ elog " Torque currently only has support for cpusets in linux."
+ elog "Assuming you didn't really want this USE flag, and ignoring its state."
+ einfo
+ else
+ linux-info_pkg_setup
+ if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
+ einfo
+ elog " Torque support for cpusets will require that you recompile"
+ elog "your kernel with CONFIG_CPUSETS enabled."
+ einfo
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ # Unused and causes breakage when switching from glibc to tirpc.
+ # https://github.com/adaptivecomputing/torque/pull/148
+ sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die
+
+ # We install to a valid location, no need to muck with ld.so.conf
+ # --without-loadlibfile is supposed to do this for us...
+ sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die
+
+ epatch "${FILESDIR}"/${PN}-4.1.5.1-tcl8.6.patch
+
+ # 491270
+ epatch "${FILESDIR}"/CVE-2013-4495.4.1.patch
+}
+
+src_configure() {
+ local myconf="--with-rcp=mom_rcp"
+
+ use crypt && myconf="--with-rcp=scp"
+
+ econf \
+ $(use_enable tk gui) \
+ $(use_enable syslog) \
+ $(use_enable server) \
+ $(use_enable drmaa) \
+ $(use_enable munge munge-auth) \
+ $(use_enable nvidia nvidia-gpus) \
+ $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \
+ --with-server-home=${PBS_SERVER_HOME} \
+ --with-environ=/etc/pbs_environment \
+ --with-default-server=${PBS_SERVER_NAME} \
+ --disable-gcc-warnings \
+ --with-tcp-retry-limit=2 \
+ --without-loadlibfile \
+ ${myconf}
+}
+
+src_install() {
+ local dir
+
+ DOCS=( CHANGELOG README.* Release_Notes )
+ use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf )
+
+ default
+
+ # The build script isn't alternative install location friendly,
+ # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
+ for file in $(find "${ED}" -iname tclIndex); do
+ sed \
+ -e "s/${ED//\// }/ /" \
+ -i "${file}" || die
+ done
+
+ for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do
+ keepdir "${dir#${ED}}"
+ done
+
+ if use server; then
+ newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
+ newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+ fi
+ newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+ newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN}
+ newinitd "${FILESDIR}"/trqauthd-init.d trqauthd
+ newenvd "${FILESDIR}"/${PN}-env.d 25${PN}
+}
+
+pkg_preinst() {
+ if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+ cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die
+ fi
+
+ if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then
+ cp \
+ "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \
+ "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die
+ fi
+
+ echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die
+
+ # Fix up the env.d file to use our set server home.
+ sed \
+ -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \
+ -i "${ED}"/etc/env.d/25${PN} || die
+
+ if use munge; then
+ sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ elog " If this is the first time torque has been installed, then you are not"
+ elog "ready to start the server. Please refer to the documentation located at:"
+ elog "http://www.clusterresources.com/wiki/doku.php?id=torque:torque_wiki"
+ echo ""
+ elog " For a basic setup, you may use emerge --config ${PN}"
+ echo ""
+ if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then
+ elog "Important 4.0+ updates"
+ elog " - The on-wire protocol version has been changed."
+ elog " Versions of Torque before 4.0.0 are no longer able to communicate."
+ elog " - pbs_iff has been replaced by trqauthd, you will now need to add"
+ elog " trqauthd to your default runlevel."
+ fi
+}
+
+# root will be setup as the primary operator/manager, the local machine
+# will be added as a node and we'll create a simple queue, batch.
+pkg_config() {
+ local h="$(echo "${ROOT}/${PBS_SERVER_HOME}" | sed 's:///*:/:g')"
+ local rc=0
+
+ ebegin "Configuring Torque"
+ einfo "Using ${h} as the pbs homedir"
+ einfo "Using ${PBS_SERVER_NAME} as the pbs_server"
+
+ # Check for previous configuration and bail if found.
+ if [ -e "${h}/server_priv/acl_svr/operators" ] \
+ || [ -e "${h}/server_priv/nodes" ] \
+ || [ -e "${h}/mom_priv/config" ]; then
+ ewarn "Previous Torque configuration detected. Press Enter to"
+ ewarn "continue or Control-C to abort now"
+ read
+ fi
+
+ # pbs_mom configuration.
+ echo "\$pbsserver ${PBS_SERVER_NAME}" > "${h}/mom_priv/config" || die
+ echo "\$logevent 255" >> "${h}/mom_priv/config" || die
+
+ if use server; then
+ local qmgr="${EROOT}/usr/bin/qmgr -c"
+ # pbs_server bails on repeated backslashes.
+ if ! "${EROOT}"/usr/sbin/pbs_server -f -d "${h}" -t create; then
+ eerror "Failed to start pbs_server"
+ rc=1
+ else
+ ${qmgr} "set server operators = root@$(hostname -f)" ${PBS_SERVER_NAME} \
+ && ${qmgr} "create queue batch" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch queue_type = Execution" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch started = True" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set queue batch enabled = True" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server default_queue = batch" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server resources_default.nodes = 1" ${PBS_SERVER_NAME} \
+ && ${qmgr} "set server scheduling = True" ${PBS_SERVER_NAME} \
+ || die
+
+ "${EROOT}"/usr/bin/qterm -t quick ${PBS_SERVER_NAME} || rc=1
+
+ # Add the local machine as a node.
+ echo "$(hostname -f) np=1" > "${h}/server_priv/nodes" || die
+ fi
+ fi
+ eend ${rc}
+}
diff --git a/sys-cluster/torque/torque-4.2.10.ebuild b/sys-cluster/torque/torque-4.2.10.ebuild
new file mode 100644
index 000000000000..769264fd387c
--- /dev/null
+++ b/sys-cluster/torque/torque-4.2.10.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools eutils linux-info
+
+DESCRIPTION="Resource manager and queuing system based on OpenPBS"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
+# TODO: hopefully moving to github tags soon
+# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html
+SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=2849 -> ${P}.tar.gz"
+
+LICENSE="torque-2.5"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk"
+
+DEPEND_COMMON="
+ sys-libs/zlib
+ sys-libs/readline:0=
+ dev-libs/libxml2
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ cpusets? ( sys-apps/hwloc )
+ munge? ( sys-auth/munge )
+ nvidia? ( >=x11-drivers/nvidia-drivers-275 )
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ syslog? ( virtual/logger )
+ !!games-util/qstat"
+
+# libncurses.so is only needed for configure check on readline
+DEPEND="${DEPEND_COMMON}
+ sys-libs/ncurses:*
+ !!sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )
+ !dev-libs/uthash"
+
+S="${WORKDIR}"/${PN}-4.2.9
+
+# Torque should depend on dev-libs/uthash but that's pretty much impossible
+# to patch in as they ship with a broken configure such that files referenced
+# by the configure.ac and Makefile.am are missing.
+# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html
+
+pkg_setup() {
+ PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}"
+
+ # Find a Torque server to use. Check environment, then
+ # current setup (if any), and fall back on current hostname.
+ if [ -z "${PBS_SERVER_NAME}" ]; then
+ if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+ PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+ else
+ PBS_SERVER_NAME=$(hostname -f)
+ fi
+ fi
+
+ if use cpusets; then
+ if ! use kernel_linux; then
+ einfo
+ elog " Torque currently only has support for cpusets in linux."
+ elog "Assuming you didn't really want this USE flag and ignoring its state."
+ einfo
+ else
+ linux-info_pkg_setup
+ if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
+ einfo
+ elog " Torque support for cpusets will require that you recompile"
+ elog "your kernel with CONFIG_CPUSETS enabled."
+ einfo
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ # Unused and causes breakage when switching from glibc to tirpc.
+ # https://github.com/adaptivecomputing/torque/pull/148
+ sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die
+
+ # We install to a valid location, no need to muck with ld.so.conf
+ # --without-loadlibfile is supposed to do this for us...
+ sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die
+
+ eapply "${FILESDIR}"/${PN}-4.2.9-tcl8.6.patch
+
+ # 524362
+ eapply "${FILESDIR}"/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch
+
+ eapply "${FILESDIR}"/${PN}-4.2-dont-mess-with-cflags.patch
+ eapply_user
+ mkdir -p "${S}"/m4
+ eautoconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable tk gui) \
+ $(use_enable syslog) \
+ $(use_enable server) \
+ $(use_enable drmaa) \
+ $(use_enable munge munge-auth) \
+ $(use_enable nvidia nvidia-gpus) \
+ $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \
+ $(usex crypt --with-rcp=scp --with-rcp=mom_rcp) \
+ --with-server-home=${PBS_SERVER_HOME} \
+ --with-environ=/etc/pbs_environment \
+ --with-default-server=${PBS_SERVER_NAME} \
+ --disable-gcc-warnings \
+ --with-tcp-retry-limit=2 \
+ --without-loadlibfile
+}
+
+src_install() {
+ local dir
+
+ DOCS=( CHANGELOG README.* Release_Notes )
+ use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf )
+
+ default
+
+ # The build script isn't alternative install location friendly,
+ # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
+ for file in $(find "${ED}" -iname tclIndex); do
+ sed \
+ -e "s/${ED//\// }/ /" \
+ -i "${file}" || die
+ done
+
+ for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do
+ keepdir "${dir#${ED}}"
+ done
+
+ if use server; then
+ newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
+ newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+ fi
+ newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+ newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN}
+ newinitd "${FILESDIR}"/trqauthd-init.d trqauthd
+ newenvd "${FILESDIR}"/${PN}-env.d 25${PN}
+}
+
+pkg_preinst() {
+ if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+ cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die
+ fi
+
+ if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then
+ cp \
+ "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \
+ "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die
+ fi
+
+ echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die
+
+ # Fix up the env.d file to use our set server home.
+ sed \
+ -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \
+ -i "${ED}"/etc/env.d/25${PN} || die
+
+ if use munge; then
+ sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ local showmessage=1
+ if [[ -z "${REPLACING_VERSIONS}" ]] ; then
+ showmessage=0;
+ elog "If this is the first time torque has been installed, then you are not"
+ elog "ready to start the server. Please refer to the documentation located at:"
+ elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm"
+ elog
+ else
+ for i in ${REPLACING_VERSIONS} ; do
+ if [[ ${i} == 4* ]]; then
+ showmessage=0; break;
+ fi
+ done
+ fi
+ if [[ ${showmessage} > 0 ]]; then
+ elog "Important v4.x changes:"
+ elog " - The on-wire protocol version has been changed."
+ elog " Versions of Torque before 4.0.0 are no longer able to communicate."
+ elog " - pbs_iff has been replaced by trqauthd, you will now need to add"
+ elog " trqauthd to your default runlevel."
+ fi
+}
diff --git a/sys-cluster/torque/torque-4.2.9-r5.ebuild b/sys-cluster/torque/torque-4.2.9-r5.ebuild
new file mode 100644
index 000000000000..d972010f7c74
--- /dev/null
+++ b/sys-cluster/torque/torque-4.2.9-r5.ebuild
@@ -0,0 +1,183 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic eutils linux-info
+
+DESCRIPTION="Resource manager and queuing system based on OpenPBS"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
+# TODO: hopefully moving to github tags soon
+# http://www.supercluster.org/pipermail/torquedev/2013-May/004519.html
+SRC_URI="http://www.adaptivecomputing.com/index.php?wpfb_dl=2849 -> ${P}.tar.gz"
+
+LICENSE="torque-2.5"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="cpusets +crypt doc drmaa kernel_linux libressl munge nvidia server +syslog tk"
+
+DEPEND_COMMON="
+ sys-libs/zlib
+ sys-libs/readline:0=
+ dev-libs/libxml2
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ cpusets? ( sys-apps/hwloc )
+ munge? ( sys-auth/munge )
+ nvidia? ( >=x11-drivers/nvidia-drivers-275 )
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ syslog? ( virtual/logger )
+ !!games-util/qstat"
+
+# libncurses.so is only needed for configure check on readline
+DEPEND="${DEPEND_COMMON}
+ sys-libs/ncurses:*
+ !!sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )
+ !dev-libs/uthash"
+
+# Torque should depend on dev-libs/uthash but that's pretty much impossible
+# to patch in as they ship with a broken configure such that files referenced
+# by the configure.ac and Makefile.am are missing.
+# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html
+
+pkg_setup() {
+ PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}"
+
+ # Find a Torque server to use. Check environment, then
+ # current setup (if any), and fall back on current hostname.
+ if [ -z "${PBS_SERVER_NAME}" ]; then
+ if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+ PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+ else
+ PBS_SERVER_NAME=$(hostname -f)
+ fi
+ fi
+
+ if use cpusets; then
+ if ! use kernel_linux; then
+ einfo
+ elog " Torque currently only has support for cpusets in linux."
+ elog "Assuming you didn't really want this USE flag and ignoring its state."
+ einfo
+ else
+ linux-info_pkg_setup
+ if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
+ einfo
+ elog " Torque support for cpusets will require that you recompile"
+ elog "your kernel with CONFIG_CPUSETS enabled."
+ einfo
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ # Unused and causes breakage when switching from glibc to tirpc.
+ # https://github.com/adaptivecomputing/torque/pull/148
+ sed -i '/rpc\/rpc\.h/d' src/lib/Libnet/net_client.c || die
+
+ # We install to a valid location, no need to muck with ld.so.conf
+ # --without-loadlibfile is supposed to do this for us...
+ sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die
+
+ epatch "${FILESDIR}"/${P}-tcl8.6.patch
+
+ # 524362
+ epatch "${FILESDIR}"/TRQ-2885-limit-tm_adopt-to-only-adopt-a-session-id-t.patch
+}
+
+src_configure() {
+ local myconf="--with-rcp=mom_rcp"
+
+ use crypt && myconf="--with-rcp=scp"
+
+ econf \
+ $(use_enable tk gui) \
+ $(use_enable syslog) \
+ $(use_enable server) \
+ $(use_enable drmaa) \
+ $(use_enable munge munge-auth) \
+ $(use_enable nvidia nvidia-gpus) \
+ $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \
+ --with-server-home=${PBS_SERVER_HOME} \
+ --with-environ=/etc/pbs_environment \
+ --with-default-server=${PBS_SERVER_NAME} \
+ --disable-gcc-warnings \
+ --with-tcp-retry-limit=2 \
+ --without-loadlibfile \
+ ${myconf}
+}
+
+src_install() {
+ local dir
+
+ DOCS=( CHANGELOG README.* Release_Notes )
+ use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf )
+
+ default
+
+ # The build script isn't alternative install location friendly,
+ # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
+ for file in $(find "${ED}" -iname tclIndex); do
+ sed \
+ -e "s/${ED//\// }/ /" \
+ -i "${file}" || die
+ done
+
+ for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do
+ keepdir "${dir#${ED}}"
+ done
+
+ if use server; then
+ newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
+ newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+ fi
+ newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+ newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN}
+ newinitd "${FILESDIR}"/trqauthd-init.d trqauthd
+ newenvd "${FILESDIR}"/${PN}-env.d 25${PN}
+}
+
+pkg_preinst() {
+ if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+ cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die
+ fi
+
+ if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then
+ cp \
+ "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \
+ "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die
+ fi
+
+ echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die
+
+ # Fix up the env.d file to use our set server home.
+ sed \
+ -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \
+ -i "${ED}"/etc/env.d/25${PN} || die
+
+ if use munge; then
+ sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ elog " If this is the first time torque has been installed, then you are not"
+ elog "ready to start the server. Please refer to the documentation located at:"
+ elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm"
+ if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then
+ echo
+ elog "Important 4.0+ updates"
+ elog " - The on-wire protocol version has been changed."
+ elog " Versions of Torque before 4.0.0 are no longer able to communicate."
+ elog " - pbs_iff has been replaced by trqauthd, you will now need to add"
+ elog " trqauthd to your default runlevel."
+ fi
+}
diff --git a/sys-cluster/torque/torque-6.0.3.ebuild b/sys-cluster/torque/torque-6.0.3.ebuild
new file mode 100644
index 000000000000..74409b48eef8
--- /dev/null
+++ b/sys-cluster/torque/torque-6.0.3.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit flag-o-matic eutils linux-info
+
+DESCRIPTION="Resource manager and queuing system based on OpenPBS"
+HOMEPAGE="http://www.adaptivecomputing.com/products/open-source/torque"
+DISTFILEHASH="1485300822_19e79ad"
+SRC_URI="http://wpfilebase.s3.amazonaws.com/torque/${P}-${DISTFILEHASH}.tar.gz"
+
+LICENSE="torque-2.5"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
+IUSE="autorun cgroups cpusets +crypt doc drmaa kernel_linux libressl munge nvidia quickcommit server +syslog tk"
+
+DEPEND_COMMON="
+ sys-libs/zlib
+ sys-libs/readline:0=
+ dev-libs/libxml2
+ >=dev-libs/boost-1.41
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ cpusets? ( sys-apps/hwloc )
+ munge? ( sys-auth/munge )
+ nvidia? ( >=x11-drivers/nvidia-drivers-275 )
+ tk? (
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ )
+ syslog? ( virtual/logger )
+ !!games-util/qstat"
+
+# libncurses.so is only needed for configure check on readline
+DEPEND="${DEPEND_COMMON}
+ sys-libs/ncurses:*
+ !!sys-cluster/slurm"
+
+RDEPEND="${DEPEND_COMMON}
+ crypt? ( net-misc/openssh )
+ !crypt? ( net-misc/netkit-rsh )
+ !dev-libs/uthash"
+
+# Torque should depend on dev-libs/uthash but that's pretty much impossible
+# to patch in as they ship with a broken configure such that files referenced
+# by the configure.ac and Makefile.am are missing.
+# http://www.supercluster.org/pipermail/torquedev/2014-October/004773.html
+
+S="${WORKDIR}"/${P}-${DISTFILEHASH}
+
+pkg_setup() {
+ PBS_SERVER_HOME="${PBS_SERVER_HOME:-/var/spool/${PN}}"
+
+ # Find a Torque server to use. Check environment, then
+ # current setup (if any), and fall back on current hostname.
+ if [ -z "${PBS_SERVER_NAME}" ]; then
+ if [ -f "${ROOT}${PBS_SERVER_HOME}/server_name" ]; then
+ PBS_SERVER_NAME="$(<${ROOT}${PBS_SERVER_HOME}/server_name)"
+ else
+ PBS_SERVER_NAME=$(hostname -f)
+ fi
+ fi
+
+ if use cpusets || use cgroups; then
+ if ! use kernel_linux; then
+ einfo
+ elog " Torque currently only has support for cpusets and cgroups in linux."
+ elog "Assuming you didn't really want this USE flag and ignoring its state."
+ einfo
+ else
+ linux-info_pkg_setup
+ if ! linux_config_exists || ! linux_chkconfig_present CPUSETS; then
+ einfo
+ elog " Torque support for cpusets will require that you recompile"
+ elog "your kernel with CONFIG_CPUSETS enabled."
+ einfo
+ fi
+ fi
+ fi
+}
+
+src_prepare() {
+ # We install to a valid location, no need to muck with ld.so.conf
+ # --without-loadlibfile is supposed to do this for us...
+ sed -i '/mk_default_ld_lib_file || return 1/d' buildutils/pbs_mkdirs.in || die
+}
+
+src_configure() {
+ econf \
+ $(use_enable tk gui) \
+ $(use_enable tk tcl-qstat) \
+ $(use_enable syslog) \
+ $(use_enable server) \
+ $(use_enable drmaa) \
+ $(use_enable munge munge-auth) \
+ $(use_enable nvidia nvidia-gpus) \
+ $(usex crypt "--with-rcp=scp" "--with-rcp=mom_rcp") \
+ $(usex kernel_linux $(use_enable cpusets cpuset) --disable-cpuset) \
+ $(usex kernel_linux $(use_enable cpusets geometry-request) --disable-geometry-request) \
+ $(usex kernel_linux $(use_enable cgroups) --disable-cgroups) \
+ $(use_enable autorun) \
+ $(use_enable quickcommit) \
+ --with-server-home=${PBS_SERVER_HOME} \
+ --with-environ=/etc/pbs_environment \
+ --with-default-server=${PBS_SERVER_NAME} \
+ --disable-gcc-warnings \
+ --disable-silent-rules \
+ --with-tcp-retry-limit=2 \
+ --without-loadlibfile
+}
+
+src_install() {
+ local dir
+
+ DOCS=( CHANGELOG README.* Release_Notes )
+ use doc && DOCS+=( doc/admin_guide.ps doc/*.pdf )
+
+ default
+
+ # The build script isn't alternative install location friendly,
+ # So we have to fix some hard-coded paths in tclIndex for xpbs* to work
+ for file in $(find "${ED}" -iname tclIndex); do
+ sed \
+ -e "s/${ED//\// }/ /" \
+ -i "${file}" || die
+ done
+
+ for dir in $(find "${ED}/${PBS_SERVER_HOME}" -type d); do
+ keepdir "${dir#${ED}}"
+ done
+
+ if use server; then
+ newinitd "${FILESDIR}"/pbs_server-init.d-munge pbs_server
+ newinitd "${FILESDIR}"/pbs_sched-init.d pbs_sched
+ fi
+ newinitd "${FILESDIR}"/pbs_mom-init.d-munge pbs_mom
+ newconfd "${FILESDIR}"/${PN}-conf.d-munge ${PN}
+ newinitd "${FILESDIR}"/trqauthd-init.d trqauthd
+ newenvd "${FILESDIR}"/${PN}-env.d 25${PN}
+}
+
+pkg_preinst() {
+ if [[ -f "${ROOT}etc/pbs_environment" ]]; then
+ cp "${ROOT}etc/pbs_environment" "${ED}"/etc/pbs_environment || die
+ fi
+
+ if use server && [[ -f "${ROOT}${PBS_SERVER_HOME}/server_priv/nodes" ]]; then
+ cp \
+ "${EROOT}${PBS_SERVER_HOME}/server_priv/nodes" \
+ "${ED}/${PBS_SERVER_HOME}/server_priv/nodes" || die
+ fi
+
+ echo "${PBS_SERVER_NAME}" > "${ED}${PBS_SERVER_HOME}/server_name" || die
+
+ # Fix up the env.d file to use our set server home.
+ sed \
+ -e "s:/var/spool/${PN}:${PBS_SERVER_HOME}:g" \
+ -i "${ED}"/etc/env.d/25${PN} || die
+
+ if use munge; then
+ sed -i 's,\(PBS_USE_MUNGE=\).*,\11,' "${ED}"/etc/conf.d/${PN} || die
+ fi
+}
+
+pkg_postinst() {
+ elog " If this is the first time torque has been installed, then you are not"
+ elog "ready to start the server. Please refer to the documentation located at:"
+ elog "http://docs.adaptivecomputing.com/torque/${PN//./-}/Content/topics/1-installConfig/initializeConfigOnServer.htm"
+ if [[ -z "${REPLACING_VERSIONS}" ]] || [[ ${REPLACING_VERSIONS} < 4 ]]; then
+ echo
+ elog "Important 4.0+ updates"
+ elog " - The on-wire protocol version has been changed."
+ elog " Versions of Torque before 4.0.0 are no longer able to communicate."
+ elog " - pbs_iff has been replaced by trqauthd, you will now need to add"
+ elog " trqauthd to your default runlevel."
+ fi
+}
diff --git a/sys-cluster/util-vserver/Manifest b/sys-cluster/util-vserver/Manifest
new file mode 100644
index 000000000000..c5ddec8f02df
--- /dev/null
+++ b/sys-cluster/util-vserver/Manifest
@@ -0,0 +1,6 @@
+AUX bash_completion 7568 SHA256 2232166a5aed9857a7a5c30adfdd4ea944e0608a29fad05f229b8cef2d61795d SHA512 b9e5745775121107da14540103bbf4943692a514cf3cd69b71c999a5e0eb1c81253b6ac4ca635cdb6e64cd1f1c1204dfecd4a6f83cbe7d5448625c53f80ed3bb WHIRLPOOL a17cc603408cf178c0d8299e6f36133715f6ec6c5a21c7440dca49338dde2280d24bb26852a21326ab2b62ac787ed84d06d0baf3097c0188f2448fbf055e79ab
+DIST util-vserver-0.30.216-pre3120.tar.gz 990833 SHA256 00df201b3f103a9f5663734b5931abe2e575ff1dabeb7c8035c1ba21c7f4b6d2 SHA512 eca7680a8b06fecd678b4dad5824c92b53d872b3e7ec9cc275425437fb7fcfb3991f58770096f20d8274e37927a39b64ed9db082ef806e76d0c603b2cd64ef32 WHIRLPOOL 4f2191a339786d2d911a3bf31051972c993f95621824d7dfc11d30755070bfab3da2eb4d85ac80139e022c44aaf2313fe0042991a91ae828b12217cadfd6a331
+EBUILD util-vserver-0.30.216_pre3120.ebuild 2636 SHA256 c7bc346985fe12ba62c38ce1f943cb8cbacc2f6dcfb1c5d0f5c2d51cc972bfd5 SHA512 7a2be4456a29ee7abb0b0b612624c5e642f50789cf430edea9146e412e6b14324de90c2cc52c44a0313b9365017876910f545e9db8cb87647b3328684d04ff0e WHIRLPOOL 283291d3fba9436f0e295ac4f89b17c48d09187294ac11101baae0261efbc30edfec84d22791553377d17dc1999809338a65ca0f871d05063bcd959b5b265aed
+MISC ChangeLog 4101 SHA256 8dfd2b9b8d315e05fd9fbd212fed5b288d0707a25e89f732f5b196f37e145abe SHA512 74f863d4dde2c5b6bc7b3780a31d968d120b0e0aa9ea40da4cacd6fd6160f0c0ade506738392c3f6d78e47ebb25f27ea2cf4f8073560064454d06903cd5e3d53 WHIRLPOOL 289a430351b6ce292b9a2980cc8e72e8953c21897a44f31c9ed9741305e99d501e2f5aacc161c1cb554043e7805dbb6f9c949348c4b70bf812753f7c29c0a9d8
+MISC ChangeLog-2015 24548 SHA256 93b43b7f26553db1247ac1f183304e27436a238f858bce9e79117f76299c130a SHA512 d238343c79442c0a909e7256af1e19e00bdfae43b85feae3426e5fc2792963604ac3eaed155ccc9ddc22259075cbb7a97157a99370a931467642749d8e1c3d57 WHIRLPOOL 12befea47c8f7ab9478de392728fc57c6720d3eee55a0aad7ff6ba4e45277bf842a7bb48e584bf739d5106ec4533e85ff89149cfca92a939cadf20e1142f61ae
+MISC metadata.xml 873 SHA256 98e77b863f7f07ab9725d931b5028e5948c036fbb350db4ba7850cbfead96535 SHA512 1f1a943e7fd63dc53cde611ec0b359ac89bccc8dbd7538152bea9a88f938ff240faea693f66e40d77348070cd895797dba132e9e91f333a967ee4097f32e17ea WHIRLPOOL ea4e48b9feb89a49819fcecbd6af827dfaa756e95d18e6c51dc8be1fc8d5b876a971a5cff8479038705025dfa063d6d320f8972b592e6e48987f0bd2da6831d0
diff --git a/sys-cluster/util-vserver/files/bash_completion b/sys-cluster/util-vserver/files/bash_completion
new file mode 100644
index 000000000000..73a9fef89f85
--- /dev/null
+++ b/sys-cluster/util-vserver/files/bash_completion
@@ -0,0 +1,300 @@
+# Completion for the vserver command. Source this file (or on some systems
+# add it to ~/.bash_completion and start a new shell) and bash's completion
+# mechanism will know all about vserver's options!
+#
+# Copyright (C) Thomas Champagne <lafeuil@gmail.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The latest version of this software can be obtained here:
+#
+# http://linux-vserver.org/Vserver+Completion
+#
+# version 0.4.0
+
+have vserver-info && {
+: ${UTIL_VSERVER_VARS:=$(vserver-info - SYSINFO |grep prefix: | awk '{ print $2}')/lib/util-vserver/util-vserver-vars}
+
+test -e "$UTIL_VSERVER_VARS" && {
+
+. "$UTIL_VSERVER_VARS"
+. "$_LIB_FUNCTIONS"
+
+_vserver() {
+ local cur cmds cmdOpts cmdMethodOpts helpCmds names names_pipe func i j method
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # find available vServers:
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]} | sed 's/ /|/g'`
+
+ # available commands
+ cmds='start stop restart condrestart suexec exec enter chkconfig \
+ running status unify pkg apt-get apt-config apt-cache \
+ rpm pkgmgmt delete'
+
+ # options (long and short name)
+ cmdOpts='--help --version --debug --defaulttty -s --sync -v \
+ --verbose --silent --'
+
+ cmdMethodOpts='-m -n --context --confdir --lockfile \
+ --hostname --netdev --netbcast --netmask \
+ --netprefix --interface --cpuset \
+ --cpusetcpus --cpusetmems --cpusetvirt \
+ --initstyle --flags --help --'
+
+ # if the previous option is a single option
+ helpCmds='--help|--version'
+ if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then
+ return 0
+ fi
+
+ # lookup the vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ #a vserver has been found
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ # Show the vserver command without build
+ case "${COMP_WORDS[i+1]}" in
+ start)
+ COMPREPLY=( $( compgen -W "--rescue --rescue-cmd" -- $cur ) )
+ ;;
+ # No completion for apt-config
+ stop|restart|condrestart|enter|running|status|apt-config|delete)
+ ;;
+ suexec)
+ # I don't know how to do
+ COMPREPLY=( $( compgen -W -- $cur ) )
+ ;;
+ exec)
+ #I don't know how to do
+ COMPREPLY=( $( compgen -W "" -- $cur ) )
+ ;;
+ unify)
+ COMPREPLY=( $( compgen -W "-R" -- $cur ) )
+ ;;
+ apt-get|apt-cache)
+ func=${COMP_WORDS[i+1]}
+ COMP_WORDS=( ${COMP_WORDS[@]:$((i+1))} )
+ COMP_CWORD=$((COMP_CWORD-i-1))
+ declare -f _${func//-/_} > /dev/null && _${func//-/_}
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W "$cmds" -- $cur ) )
+ ;;
+ esac
+ return 0
+ else
+ #no vserver name found
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ #search the new name of vserver
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} == !(vserver|-*) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ j=$i
+ i=${#COMP_WORDS[@]}
+ for (( ; j < ${#COMP_WORDS[@]}-1; j++ )) ; do
+ if [[ ${COMP_WORDS[j]} == "--" ]]; then
+ # method's parameter
+ case "$method" in
+ legacy|copy)
+ ;;
+ apt-rpm)
+ COMPREPLY=( $( compgen -W "-d" -- $cur ) )
+ ;;
+ yum)
+ COMPREPLY=( $( compgen -W "-d" -- $cur ) )
+ ;;
+ rpm)
+ COMPREPLY=( $( compgen -W "-d --empty --force --nodeps" -- $cur ) )
+ ;;
+ skeleton)
+ ;;
+ debootstrap)
+ COMPREPLY=( $( compgen -W "-d -m -s --" -- $cur ) )
+ ;;
+ *)
+ ;;
+ esac
+ return 0
+ break
+ fi
+
+ if [[ ${COMP_WORDS[j]} == @(build|-m) ]]; then
+ i=$j
+ if (( $j+1 < ${#COMP_WORDS[@]}-1 )) ; then
+ method=${COMP_WORDS[j+1]}
+ fi
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ case $prev in
+ --help)
+ ;;
+ -n|--context|--confdir|--lockfile|--hostname|--netdev|--netbcast|--netmask|--netprefix|--interface|--cpuset|--cpusetcpus|--cpusetmems|--cpusetvirt|--initstyle|--flags)
+ COMPREPLY=( $( compgen -W "" -- $cur ) )
+ ;;
+ -m)
+ COMPREPLY=( $( compgen -W "legacy copy apt-rpm yum rpm skeleton debootstrap" -- $cur ) )
+ ;;
+ *)
+ COMPREPLY=( $( compgen -W "$cmdMethodOpts" -- $cur ) )
+ ;;
+ esac
+ else
+ COMPREPLY=( $( compgen -W "build" -- $cur ) )
+ fi
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+
+ return 0
+ fi
+
+ return 0
+}
+
+complete -F _vserver vserver
+
+_vapt_rpm_yum()
+{
+ local cur cmds cmdOpts helpCmds names func i
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # options (long and short name)
+ cmdOpts='--help --version --quiet -q --all'
+
+ # if the previous option is a single option
+ helpCmds='--help|--version'
+
+ if [[ "${COMP_WORDS[1]}" == "@($helpCmds)" ]] ; then
+ return 0
+ fi
+
+ # search --
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} = "--" ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ # find available vServers
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]}" --all" | sed 's/ /|/g'`
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) && (( $i < $COMP_CWORD )) ; then
+ func=${COMP_WORDS[0]:1}
+ COMP_WORDS=( $func ${COMP_WORDS[@]:$((i+1))} )
+ COMP_CWORD=$((COMP_CWORD-i))
+ declare -f _${func//-/_} > /dev/null && _${func//-/_}
+ else
+ # search vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )) ; do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ if [[ "${COMP_WORDS[i]}" = "--all" ]] ; then
+ cmdOpts='--'
+ COMPREPLY=( $( compgen -W "$cmdOpts" -- $cur ) )
+ else
+ cmdOpts='--'
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+ fi
+
+ return 0
+}
+
+_vserver_copy()
+{
+ local cur prev cmdOpts helpCmds confCmds names names_pipe i
+
+ COMPREPLY=()
+ cur=${COMP_WORDS[COMP_CWORD]}
+
+ # find available vServers
+ # call function getAllVservers in vserver library
+ getAllVservers names
+ names_pipe=`echo ${names[@]} | sed 's/ /|/g'`
+
+ # options (long and short name)
+ cmdOpts='--help -h --version -V --verbose -v --quiet -q \
+ --vsroot -r --rsh -R --stopstart -s \
+ --domain -d --ip -i'
+
+ # if the previous option is a single option
+ helpCmds='--help|-h|--version|-V'
+
+ if [[ ${COMP_WORDS[1]} == @($helpCmds) ]] ; then
+ return 0
+ fi
+
+ confCmds='--ip|-i|--domain|-d'
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ if [[ $prev == @($confCmds) ]] ; then
+ return 0
+ fi
+
+ # search a vServer name
+ for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do
+ if [[ ${COMP_WORDS[i]} == @($names_pipe) ]] ; then
+ # found it!
+ break
+ fi
+ done
+
+ if (( $i < ${#COMP_WORDS[@]}-1 )) ; then
+ return 0
+ else
+ COMPREPLY=( $( compgen -W "${names[@]} $cmdOpts" -- $cur ) )
+ fi
+
+ return 0
+}
+
+complete -F _vapt_rpm_yum vapt-get
+complete -F _vapt_rpm_yum vrpm
+complete -F _vapt_rpm_yum vyum
+complete -F _vserver_copy vserver-copy
+
+}
+}
diff --git a/sys-cluster/util-vserver/metadata.xml b/sys-cluster/util-vserver/metadata.xml
new file mode 100644
index 000000000000..a5775a67d746
--- /dev/null
+++ b/sys-cluster/util-vserver/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>monsieurp@gentoo.org</email>
+ <name>Patrice Clement</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>ccx@volny.cz</email>
+ <name>Jan Pobrislo</name>
+ <description>Proxied Maintainer</description>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+<longdescription>
+ util-vserver is a Linux virtual server utility framework,
+ allowing an administrator to set up multiple, isolated
+ virtual servers. It can be used to run various services
+ securely separated, without requiring special configuration.
+ Virtual servers are unable to interact with each other, or
+ the main server.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild
new file mode 100644
index 000000000000..135626f3308f
--- /dev/null
+++ b/sys-cluster/util-vserver/util-vserver-0.30.216_pre3120.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+inherit eutils bash-completion-r1
+
+MY_P="${P/_/-}"
+
+DESCRIPTION="Linux-VServer admin utilities"
+HOMEPAGE="http://www.nongnu.org/util-vserver/"
+SRC_URI="http://people.linux-vserver.org/~dhozac/t/uv-testing/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~sparc x86"
+
+CDEPEND="
+ dev-libs/beecrypt
+ net-firewall/iptables
+ net-misc/vconfig
+ sys-apps/iproute2"
+
+DEPEND="
+ ${CDEPEND}
+ >dev-libs/dietlibc-0.33"
+
+RDEPEND="
+ ${CDEPEND}"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if [[ -z "${VDIRBASE}" ]]; then
+ einfo
+ einfo "You can change the default vserver base directory (/vservers)"
+ einfo "by setting the VDIRBASE environment variable."
+ fi
+
+ : ${VDIRBASE:=/vservers}
+
+ einfo
+ einfo "Using \"${VDIRBASE}\" as vserver base directory"
+ einfo
+}
+
+src_test() {
+ # do not use $D from portage by accident (#297982)
+ sed -i -e 's/^\$D //' "${S}"/src/testsuite/vunify-test.sh || die
+
+ default
+}
+
+src_configure() {
+ local myeconf=(
+ --with-vrootdir="${VDIRBASE}"
+ --with-initscripts=gentoo
+ --localstatedir=/var
+ )
+
+ econf "${myeconf[@]}"
+}
+
+src_compile() {
+ emake -j1 || die "emake failed!"
+}
+
+src_install() {
+ make DESTDIR="${D}" install install-distribution \
+ || die "make install failed!"
+
+ # keep dirs
+ keepdir /var/cache/vservers
+ keepdir "${VDIRBASE}"
+ keepdir "${VDIRBASE}"/.pkg
+
+ # bash-completion
+ newbashcomp "${FILESDIR}"/bash_completion ${PN}
+
+ dodoc README ChangeLog NEWS AUTHORS THANKS util-vserver.spec
+}
+
+pkg_postinst() {
+ # Create VDIRBASE in postinst, so it is (a) not unmerged and (b) also
+ # present when merging.
+
+ mkdir -p "${VDIRBASE}" || die
+ if ! setattr --barrier "${VDIRBASE}"; then
+ ewarn "Filesystem on ${VDIRBASE} does not support chroot barriers."
+ ewarn "Chroot barrier is additional security measure that is used"
+ ewarn "when two vservers or the host system share the same filesystem."
+ ewarn "If you intend to use separate filesystem for every vserver"
+ ewarn "you can safely ignore this warning."
+ ewarn "To manually apply a barrier use: setattr --barrier ${VDIRBASE}"
+ ewarn "For details see: http://linux-vserver.org/Secure_chroot_Barrier"
+ fi
+
+ rm /etc/vservers/.defaults/vdirbase || die
+ ln -sf "${VDIRBASE}" /etc/vservers/.defaults/vdirbase || die
+
+ elog
+ elog "You have to run the vprocunhide command after every reboot"
+ elog "in order to setup /proc permissions correctly for vserver"
+ elog "use. An init script has been installed by this package."
+ elog "To use it you should add it to a runlevel:"
+ elog
+ elog " rc-update add vprocunhide default"
+ elog
+}
diff --git a/sys-cluster/vzctl/Manifest b/sys-cluster/vzctl/Manifest
new file mode 100644
index 000000000000..b48ffa51f2c0
--- /dev/null
+++ b/sys-cluster/vzctl/Manifest
@@ -0,0 +1,5 @@
+DIST vzctl-4.9.4.tar.bz2 550370 SHA256 bc3c63841b5244181e71bd1daf7c9aca6df3d42ed886a161fa5ba4b1b4520420 SHA512 651aa7882ba77442666a09441769f821a7374f417199380667b27c9980203597575dfe12ad5c261da22941b6a2bc6e032d3f9c2d88dcb03af6412634cc5b4706 WHIRLPOOL ed3c2531919b68fc2ae8acd9ac7b582b91f0eb6976155f12e2b35dbb236044c538e6499129aca579f9bc7697379c323bc6b32d0796a74a28b816a2dfb188c84f
+EBUILD vzctl-4.9.4.ebuild 2116 SHA256 e1ca4b31f54d458c2598fab656261f6b02a842b612e2546c0620173f5ec91aa0 SHA512 a1af0a7f1dcf5cbdc4ada93c648387de74ddaf0f2c3908ba5ba4950324c1e8855fe6be3d56944271bf646935c7c62866866cef34f49c362fbe9d62047b2940e6 WHIRLPOOL adb5bbaa16542041cbcb9d9413c1634ff47ad5b87742b7507e6e7f4001f61bc99dc9aae0e3be919b9f896df9ecbb1553d7c068801eb6d4ef520652751404fda3
+MISC ChangeLog 3310 SHA256 575b30ede9e0121adc781dcb6e593bbb9539b82ccfb62810489649bf5d1c8591 SHA512 47fd9b3b5edd103ecc3a069222ab6b2267ea522c0ecf09a404be5ce2e11d9c87cd594f432d344234b79fb4b1059fb8bf08630765b6c7ea1cad4244aff3ab1672 WHIRLPOOL ffbc5379c1eb4b04d5df9e7c71176ebd9f9b7c5cacbf817b1ee539fbef80327edc2508bbf01bc5c565f34f779d6c61568f874cd278043b4cf0ad6b02678391bd
+MISC ChangeLog-2015 26509 SHA256 654eed1c50e25106e50861b84db3bf8d5493a86675a04d5762590516581f38d8 SHA512 ae61904b6824173f90f79bc9dbc43921b50c8456be1d04ee7f9dcbcefd5747ea6cc564733d87dc7ee814e0ed1118d5ba4449d7196140105199ab08e03d323c46 WHIRLPOOL 6601849e4ee597ff988f3944f736003fb31273a34b8b782135a5a6642cbf199587ecfd773ace91da0c4c8e4e35362db6f3054fbcb39f03a1cd3e25d84e957681
+MISC metadata.xml 476 SHA256 36378f13330379a93f3e73359e04d71ed8bdaefbadcb802a4f96eabaedd96100 SHA512 0530fde605015304c81e13ae82da0fcd230a97766dcd775632515d7368d701b3ecae16988ad6447d0e77a1ae9d08f31bd28a3e0e3f5ce0f03b915ff2ad453389 WHIRLPOOL eec1dd7c7cc89fdf650309b1e974ea6ade5d84853b95783af0f4e99a029422853f868e8c129185c59762d4623e117c15dd2dedd6101847be470ee371d1da8e76
diff --git a/sys-cluster/vzctl/metadata.xml b/sys-cluster/vzctl/metadata.xml
new file mode 100644
index 000000000000..66ec10550002
--- /dev/null
+++ b/sys-cluster/vzctl/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="ploop">Add support for ploop devices via <pkg>sys-cluster/ploop</pkg></flag>
+ <flag name="vzmigrate">Add support for container migration</flag>
+ </use>
+ <upstream>
+ <maintainer status="active">
+ <email>kir@openvz.org</email>
+ <name>Kir Kolyshkin</name>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/vzctl/vzctl-4.9.4.ebuild b/sys-cluster/vzctl/vzctl-4.9.4.ebuild
new file mode 100644
index 000000000000..5623e9d70c87
--- /dev/null
+++ b/sys-cluster/vzctl/vzctl-4.9.4.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit base bash-completion-r1 eutils toolchain-funcs udev
+
+DESCRIPTION="OpenVZ ConTainers control utility"
+HOMEPAGE="http://openvz.org/"
+SRC_URI="http://download.openvz.org/utils/${PN}/${PV}/src/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86 -amd64-fbsd -sparc-fbsd -x86-fbsd"
+IUSE="+ploop +vzmigrate"
+
+RDEPEND="net-firewall/iptables
+ sys-apps/ed
+ >=sys-apps/iproute2-3.3.0
+ >=sys-fs/vzquota-3.1
+ ploop? (
+ >=sys-cluster/ploop-1.13
+ sys-block/parted
+ sys-fs/quota
+ dev-libs/libxml2
+ )
+ >=dev-libs/libcgroup-0.38
+ vzmigrate? (
+ net-misc/openssh
+ net-misc/rsync[xattr,acl]
+ app-arch/tar[xattr,acl]
+ net-misc/bridge-utils
+ virtual/awk
+ )
+ virtual/udev
+ sys-apps/attr
+ "
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ "
+
+src_prepare() {
+
+ # Set default OSTEMPLATE on gentoo
+ sed -i -e 's:=redhat-:=gentoo-:' etc/dists/default || die 'sed on etc/dists/default failed'
+ # Set proper udev directory
+ sed -i -e "s:/lib/udev:$(get_udevdir):" src/lib/dev.c || die 'sed on src/lib/dev.c failed'
+}
+
+src_configure() {
+
+ econf \
+ --localstatedir=/var \
+ --enable-udev \
+ --enable-bashcomp \
+ --enable-logrotate \
+ --with-vz \
+ $(use_with ploop) \
+ --with-cgroup
+}
+
+src_install() {
+
+ emake DESTDIR="${D}" udevdir="$(get_udevdir)"/rules.d install install-gentoo
+
+ # install the bash-completion script into the right location
+ rm -rf "${ED}"/etc/bash_completion.d
+ newbashcomp etc/bash_completion.d/vzctl.sh ${PN}
+
+ # We need to keep some dirs
+ keepdir /vz/{dump,lock,root,private,template/cache}
+ keepdir /etc/vz/names /var/lib/vzctl/veip
+}
+
+pkg_postinst() {
+ einfo "This vzctl release required kernel above 2.6.32.92"
+
+ einfo "If you have checkpoint suspend/restore feature in vanilla kernel"
+ einfo "please install "sys-process/criu" "
+ einfo "This is experimental and not stable ( in gentoo ) now"
+
+ einfo "if you have work with .xz compressed template, please install app-arch/xz-utils"
+ einfo "if you have check signature downloaded template - install gpg "
+}
diff --git a/sys-cluster/wulfware/Manifest b/sys-cluster/wulfware/Manifest
new file mode 100644
index 000000000000..fc29e951c6be
--- /dev/null
+++ b/sys-cluster/wulfware/Manifest
@@ -0,0 +1,6 @@
+AUX wulfware-2.6.0-opts_and_strip.patch 5085 SHA256 59b1ddb5492c7e4f0475b36dd37a9138dd43bd5ae231685ee04db82c4dad7600 SHA512 2c2f897374a5a81feef97a0db425961b4e58cbc62cfebe026dd3661bacd1737ce5e023385f0e6725160087c9a549c37c23be02cdfa0c680b473b94cd6ed212a0 WHIRLPOOL 2619ba1ce5e3e9300c7a5e7b9a5fd8f54d97b81d44e591e34dfed97b1fbb2b29e299532e8c30392484af0adbeeea44e0d5b8dbec7907cedaffcb8b9aba95e4f4
+DIST wulfware-2.6.0.tgz 469000 SHA256 b89fe5bd46a687811ac682a59b63d0fac9e9b4218eaa1d6ffbae56590b71cc9c SHA512 626314124c836ee937f860a4093272d5b6e12b5d3aca631647bde6ef03880e2dd7916ab2805f34c4863e915ea3295e5c5d69ced9c5ec05b224cdf849738c78cd WHIRLPOOL dfa8eede62d7cc7b2f57dfb52d46d92a808dcc4913c28f35e3d05b8b3b0534f56534061b30ba944c1d8e00a92ebb0ee5f418e05de2b276abf2559bfee2d731ad
+EBUILD wulfware-2.6.0.ebuild 1309 SHA256 e47b7315fb09d1a5ab8daaaa549bf2801882132885098abf603b4b55866d5b24 SHA512 3db95ca5197c7c96aef901e3658a36e2bf85c8784803e118c12328454863c34322c4bea833d24fa0ac07edc88d76c954072713957b1d574c59b1551cec125d34 WHIRLPOOL 4fba5b0bef9582c24865f72c5eccf3c21217a1eba27a2ae626b372b115d578e43cfbfc8b24bdfdfe4f0a78f36f51964fe30f67eb39d6092c86a52dfbd10f053e
+MISC ChangeLog 2574 SHA256 0743acfcc814d8be8512e7155bf8c7305f9cb2da4a4a6493d417e4baf6a60b93 SHA512 dce5c6a5ad95b3a778343511ab34722d94da1bd92348185c954ee1af3713e655ce6677007e6c516b5d0c19db7b7adecfa192a4693e5e521ba13ae7d6ecfaf36d WHIRLPOOL a4234e8b555cfdc9717089f10dd645f78a0f80315819752b857611ca4b0c91cf7950d97c7e55f3d3e79b874e75f246472217d380fa5a126f093c522500ab477e
+MISC ChangeLog-2015 844 SHA256 aad088cbee9290b217b2980e5836f9310f790ca581ba8a74299b5a49e617301c SHA512 89dda96bdea1d5bb626864d99990bb8693383614d757daa91ea115e42c8f8dde43058c1c4e40bde7fa238dde21e65a041ede27756157e7777612fe8a03ad4fac WHIRLPOOL e77856838d19a096ded22b2ad63ca80f8fe00cd8af96246cd034544fa14b9b2e950df1009432e86d5d443b6130522960b86884512b7fa57c5c8ded79803d6958
+MISC metadata.xml 166 SHA256 2caff447f5bd2701d8456ada5cc633c41ef4373fa4bfeabeb73599d40bcc941b SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84 WHIRLPOOL 1ff70497eca6531f0e0614c72a19f4b8e5ff486a58d369f4f0b36308d1d6b01168f9da887740e3b9f536236be251d3fe05f904d27a9233a7cf613416ba882968
diff --git a/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch b/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch
new file mode 100644
index 000000000000..bc26b7baa997
--- /dev/null
+++ b/sys-cluster/wulfware/files/wulfware-2.6.0-opts_and_strip.patch
@@ -0,0 +1,142 @@
+diff -ur wulfware-2.6.0.orig/libwulf/Makefile.am wulfware-2.6.0/libwulf/Makefile.am
+--- wulfware-2.6.0.orig/libwulf/Makefile.am 2007-07-12 00:58:25.000000000 +0300
++++ wulfware-2.6.0/libwulf/Makefile.am 2008-05-22 16:25:18.000000000 +0300
+@@ -48,14 +48,14 @@
+ # Define parameters and directives needed in compile/link steps.
+ #========================================================================
+ # C Compiler
+-CC = gcc
++CC ?= gcc
+
+ # Compile flags. -fpic creates "position independent code" for
+ # shared libraries!
+-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES)
++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES)
+
+ # Linker flags
+-LDFLAGS = -g -fpic --shared -Wl,-soname,$(PROGLIB_SONAME)
++LDFLAGS += -fpic --shared -Wl,-soname,$(PROGLIB_SONAME)
+
+ # Libraries
+ LIBS = -lpthread -lxml2 -lm
+@@ -110,7 +110,7 @@
+ install: $(PROGLIB_SO_VERSION) $(PROGMAN)
+ (install -d $(libdir); \
+ install -m 755 $(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO_VERSION); \
+- ln -sf $(libdir)/$(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO); \
++ ln -sf $(PROGLIB_SO_VERSION) $(libdir)/$(PROGLIB_SO); \
+ install -d $(includedir)/wulfware; \
+ install -m 644 ../include/wulfware/*.h $(includedir)/wulfware; \
+ install -d $(prefix)/share/man/man3; \
+diff -ur wulfware-2.6.0.orig/wulf2html/Makefile.am wulfware-2.6.0/wulf2html/Makefile.am
+--- wulfware-2.6.0.orig/wulf2html/Makefile.am 2007-07-12 00:58:25.000000000 +0300
++++ wulfware-2.6.0/wulf2html/Makefile.am 2008-05-22 12:52:36.000000000 +0300
+@@ -62,8 +62,7 @@
+ echo "Clean does nothing"
+
+ install : $(PROGRAM)
+- (strip $(PROGRAM);\
+- install -d $(prefix)/bin; \
++ (install -d $(prefix)/bin; \
+ install -m 755 $(PROGRAM) $(prefix)/bin; \
+ install -d $(sysconfdir); \
+ install -d $(sysconfdir)/init.d; \
+diff -ur wulfware-2.6.0.orig/wulflogger/Makefile.am wulfware-2.6.0/wulflogger/Makefile.am
+--- wulfware-2.6.0.orig/wulflogger/Makefile.am 2007-07-12 00:58:25.000000000 +0300
++++ wulfware-2.6.0/wulflogger/Makefile.am 2008-05-22 16:25:14.000000000 +0300
+@@ -54,13 +54,13 @@
+ # Define parameters and directives needed in compile/link steps.
+ #========================================================================
+ # C Compiler
+-CC = gcc
++CC ?= gcc
+
+ # Compile flags
+-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES)
++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES)
+
+ # Linker flags
+-LDFLAGS =
++LDFLAGS +=
+
+ # Libraries
+ LIBS = -L ../libwulf -lwulf -lpthread -lcurses -lxml2 -lm
+@@ -108,8 +108,7 @@
+ - rm -f core $(PROGRAM) *.o $(PROGRAM).1.gz
+
+ install : $(PROGRAM)
+- (strip $(PROGRAM);\
+- install -d $(prefix)/bin; \
++ (install -d $(prefix)/bin; \
+ install -m 755 $(PROGRAM) $(prefix)/bin; \
+ install -d $(prefix)/share/man/man1; \
+ gzip -c -9 $(PROGRAM).1 > $(PROGRAM).1.gz; \
+diff -ur wulfware-2.6.0.orig/wulfstat/Makefile.am wulfware-2.6.0/wulfstat/Makefile.am
+--- wulfware-2.6.0.orig/wulfstat/Makefile.am 2007-07-12 00:58:25.000000000 +0300
++++ wulfware-2.6.0/wulfstat/Makefile.am 2008-05-22 16:23:57.000000000 +0300
+@@ -54,13 +54,13 @@
+ # Define parameters and directives needed in compile/link steps.
+ #========================================================================
+ # C Compiler
+-CC = gcc
++CC ?= gcc
+
+ # Compile flags
+-CFLAGS = -O3 -I/usr/include/libxml2 -I ../include $(DEFINES)
++CFLAGS += -I/usr/include/libxml2 -I ../include $(DEFINES)
+
+ # Linker flags
+-LDFLAGS =
++LDFLAGS +=
+
+ # Libraries
+ LIBS = -L ../libwulf -lwulf -lpthread -lcurses -lxml2 -lm
+@@ -108,8 +108,7 @@
+ - rm -f core $(PROGRAM) *.o $(PROGRAM).1.gz
+
+ install : $(PROGRAM)
+- (strip $(PROGRAM);\
+- install -d $(prefix)/bin; \
++ (install -d $(prefix)/bin; \
+ install -m 755 $(PROGRAM) $(prefix)/bin; \
+ install -d $(prefix)/share/man/man1; \
+ gzip -c -9 $(PROGRAM).1 > $(PROGRAM).1.gz; \
+diff -ur wulfware-2.6.0.orig/xmlsysd/Makefile.am wulfware-2.6.0/xmlsysd/Makefile.am
+--- wulfware-2.6.0.orig/xmlsysd/Makefile.am 2007-07-12 00:58:25.000000000 +0300
++++ wulfware-2.6.0/xmlsysd/Makefile.am 2008-05-22 16:28:30.000000000 +0300
+@@ -60,13 +60,13 @@
+ # Define parameters and directives needed in compile/link steps.
+ #========================================================================
+ # C Compiler
+-CC = gcc
++CC ?= gcc
+
+ # Compile flags
+-CFLAGS = -O3 -I/usr/include/libxml2 $(DEFINES)
++CFLAGS += -I/usr/include/libxml2 $(DEFINES)
+
+ # Linker flags
+-LDFLAGS =
++LDFLAGS +=
+
+ # Libraries
+ LIBS = -lxml2 -lz -lm
+@@ -79,7 +79,7 @@
+ all: $(PROGRAM)
+
+ $(PROGRAM): $(OBJECTS) $(INCLUDES)
+- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(LIBS) $(OBJECTS)
++ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@
+
+ #========================================================================
+ # The only safe place to do commits is in the toplevel directory
+@@ -109,8 +109,7 @@
+ # Application installation.
+ #========================================================================
+ install : $(PROGRAM)
+- (strip $(PROGRAM); \
+- install -d $(sbindir); \
++ (install -d $(sbindir); \
+ install -m 755 $(PROGRAM) $(sbindir); \
+ install -d $(sysconfdir); \
+ install -d $(sysconfdir)/xinetd.d; \
diff --git a/sys-cluster/wulfware/metadata.xml b/sys-cluster/wulfware/metadata.xml
new file mode 100644
index 000000000000..6f49eba8f496
--- /dev/null
+++ b/sys-cluster/wulfware/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<!-- maintainer-needed -->
+</pkgmetadata>
diff --git a/sys-cluster/wulfware/wulfware-2.6.0.ebuild b/sys-cluster/wulfware/wulfware-2.6.0.ebuild
new file mode 100644
index 000000000000..2bf28cbab2f2
--- /dev/null
+++ b/sys-cluster/wulfware/wulfware-2.6.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="Applications to monitor on a beowulf- or GRID-style clusters"
+HOMEPAGE="http://www.phy.duke.edu/~rgb/Beowulf/wulfware.php"
+SRC_URI="http://www.phy.duke.edu/~rgb/Beowulf/${PN}/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-libs/libxml2
+ sys-libs/ncurses
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ !sys-cluster/wulfstat
+ !sys-cluster/xmlsysd"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-opts_and_strip.patch
+ eautoreconf
+}
+
+src_compile() {
+ tc-export CC
+ econf --disable-dependency-tracking
+ emake -j1 || die "emake failed."
+}
+
+src_install() {
+ emake prefix="${D}/usr" libdir="${D}/usr/$(get_libdir)" \
+ includedir="${D}/usr/include" sysconfdir="${D}/etc" \
+ install || die "emake install failed."
+
+ dodoc AUTHORS ChangeLog NEWS NOTES README xmlsysd/DESIGN
+
+ # FIXME: Update to Gentoo style init script.
+ rm -rf "${D}"/etc/init.d/wulf2html
+}
+
+pkg_postinst() {
+ elog "Add following line to /etc/services if you haven't done so already:"
+ elog
+ elog "xmlsysd 7887/tcp # xmlsysd remote system stats"
+ elog
+ elog "Be sure to edit /etc/xinetd.d/xmylsysd to suit your own options."
+}
diff --git a/sys-cluster/zetcd/Manifest b/sys-cluster/zetcd/Manifest
new file mode 100644
index 000000000000..e6d51f79ed1e
--- /dev/null
+++ b/sys-cluster/zetcd/Manifest
@@ -0,0 +1,9 @@
+AUX zetcd.confd 86 SHA256 80c37009568e98ff7cee3fbffbb15872a1a7f83b4a047bee3e71f209632064c8 SHA512 6375022e8ed703ab87d1f8d22377ac831d4488835da566c108f6ee8c1b45bbbb40bab99d27f4845f3f1eb35e562ae3cb1aaec8ca135864b9a24cb612b1234845 WHIRLPOOL 0d653e2bf4d8d4860c25c237e3808e48bc3901916682837faf8654a64ecf421f6e43dcaf13fa44d829a29b324f78c9b60a853a18f295967900b09ef82722678a
+AUX zetcd.initd 588 SHA256 ef04ece44747018f17e8b039b1baa7f44d6f50819cde36ad45470921d14f5c20 SHA512 642aede75ab87f54ca950baa259215527e27de259e623e4ac378beb07bb2f2f410cdb85d4cd90200da784881d45d055b7776713ae497ffc292375f090b169810 WHIRLPOOL a58fe8a1e86d614fc9ef06c1145631ae370e0f7fa6692ab849e3a2b627f6ee2aeeb37f37d08e660328693a012347643fdeaa9f393424e0d1518fc151b5b67483
+DIST github.com-coreos-etcd-714e7ec8db7f8398880197be10771fe89c480ee5.tar.gz 2522134 SHA256 abeab9a1b93144e97c2161ccc4a976dca5dcc5c13ddd98cf1d67946edd108d14 SHA512 49fda050ed682177b8b61a6b715fc163df307bccae9801547774593b86afe4fa0d80d49cf19a56f3bd4af162263bb9a7f57952a8c9ed824caac1c39d87f178d1 WHIRLPOOL 41a818bb2f25ea47bd2db0cc6dcf601722e9c269fe7bb070f9ff3938c8b727733fb0e6370ea5c8ab2c6fdfa7b0131d7124c780497262631233981b5931256f23
+DIST github.com-golang-protobuf-4bd1920723d7b7c925de087aa32e2187708897f7.tar.gz 242813 SHA256 868e51ac5f618fce24ae295c14be2872defbc1a31c3bdcc622c20f4a50a86aeb SHA512 4c22c8f9287066d4e035f2f638e91b78a8731aac23e15ced5ddaf1e386125a89d196300772d59006e72f07c5d1b21fd01ef8ebdc8de5323606b6ff4667e62c31 WHIRLPOOL fbb5301c22568e0872a90283aae5f2db744064d7508f8c61f235b47cea7560243279255f7881825223a8b04febabf6d4119db8ca913731dd89d4c30a42047822
+DIST github.com-google-go-genproto-ee236bd376b077c7a89f260c026c4735b195e459.tar.gz 968271 SHA256 2d7dba8b354e4dd88383a925d8d195c00617fe708d30016183dd6c5cd0a8ee5c SHA512 a3a9e923926da62e097ee1775332cc5550334e4f96975f2ac5f0d3bdaa148f6583dcce10db68d1d4606ee471072b3248f40ae276bd9409c0d31a9f9bb3803bc1 WHIRLPOOL f82fc636cf61028ce3791c28b68d885d10851e86744f465ed1466e9d924a15ba22f0b55b90a755e649cf3858caac5e69d6526fa17fbeedb136a7075950a3ced8
+DIST github.com-grpc-grpc-go-777daa17ff9b5daef1cfdf915088a2ada3332bf0.tar.gz 220340 SHA256 c50b8f8542546791a6946eef488d6767226a8d077fa526fb02b7795de890b0bf SHA512 ca79d38bc7d68f1d98869bee21dcdc563c3fee1a8d28b77d474752376fb91cc7b368466dfac41ddebbec13c1560ac3c22257a52deb6d844add5d208646d2e3f5 WHIRLPOOL 0d64d65d3c54c8559b735beefa31dcbf882a599ac7505b60b8c2aede4c6f8b3d195a420f28cfa18b98f7ad9d07b36bcb0ec46fd4eaff273381b359b1060df8f8
+DIST zetcd-0.0.4.tar.gz 1781564 SHA256 72df949f30e0dcf313cad377caeec9b945a1b9810ff6fdc14a6ab4cd481f8979 SHA512 d01cf89f500c6caf0ca4b60adda82d662d3f8948aeb3963f72872363f31ecd4e99b2b839ad8ae826906b0abdc46fbdacd6f996778d2a51cf2a1ddc6ba09b3fc6 WHIRLPOOL c6095a94beaa8559eed091adf54f23f4334d7b2f6fda8b11aa58dc038e0d2e2b7944378501cb683eae83f5426557b47472b928d981df92d349152bc0c92df2bb
+EBUILD zetcd-0.0.4.ebuild 1396 SHA256 c5f2599a5cec649e599554c1d129b8aa1366418a495f7bf19c4724fdb5955c90 SHA512 6d9496328e56a2b02f05b88367b58900f570daf2635e0dcf725feaeba8c66b5e76bd1aa14865af1b6eaa0d1fae4c98d01509ca9f4d97821115c40521de697773 WHIRLPOOL cebd186311adfc880643856067ed9850969a33720c4711bc0ce27983113e419feeb20faae0e4a33193a9449c5dac2668ef58d3c708ba0592d12339ff91168e46
+MISC metadata.xml 322 SHA256 173bab2d7fdbf067373d64a84bf8a790748741de32b695c780f392d0d65a061d SHA512 e681c838e33e7aa6c998909f53816657fbf851319a4fafcd50e8e0ef0e5f6274427f8edf931a997c3ac25d8a9b92c36cad5aea9018dd223c0ca3a47d93272e87 WHIRLPOOL f4c28be3e35e0dea87f7916bf444fa96daa06755de6467835a14da23a8fc14f783603fab2c93271b4579c53d3e4c5c5beafa4dbe3b50be483493498d2fcb563a
diff --git a/sys-cluster/zetcd/files/zetcd.confd b/sys-cluster/zetcd/files/zetcd.confd
new file mode 100644
index 000000000000..c16dd309d00a
--- /dev/null
+++ b/sys-cluster/zetcd/files/zetcd.confd
@@ -0,0 +1,2 @@
+# arguments for zetcd
+command_args="--zkaddr 0.0.0.0:2181 --endpoints localhost:2379"
diff --git a/sys-cluster/zetcd/files/zetcd.initd b/sys-cluster/zetcd/files/zetcd.initd
new file mode 100644
index 000000000000..93b3a48b43ad
--- /dev/null
+++ b/sys-cluster/zetcd/files/zetcd.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+# Copyright 2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Zetcd Zookeeper frontend for etcd"
+pidfile=${pidfile:-"/run/${SVCNAME}/${SVCNAME}.pid"}
+user=${user:-${SVCNAME}}
+group=${group:-${SVCNAME}}
+
+command="/usr/bin/zetcd"
+command_args="${command_args}"
+command_background="true"
+start_stop_daemon_args="--user ${user} --group ${group} \
+ --stdout /var/log/${SVCNAME}/${SVCNAME}.log \
+ --stderr /var/log/${SVCNAME}/${SVCNAME}.log"
+
+start_pre() {
+ checkpath -d -m 0755 -o "${user}":"${group}" "${pidfile%/*}"
+}
diff --git a/sys-cluster/zetcd/metadata.xml b/sys-cluster/zetcd/metadata.xml
new file mode 100644
index 000000000000..3534b95e8b93
--- /dev/null
+++ b/sys-cluster/zetcd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mrueg@gentoo.org</email>
+ <name>Manuel Rüger</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">coreos/zetcd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/zetcd/zetcd-0.0.4.ebuild b/sys-cluster/zetcd/zetcd-0.0.4.ebuild
new file mode 100644
index 000000000000..0f92ae748b79
--- /dev/null
+++ b/sys-cluster/zetcd/zetcd-0.0.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+EGO_PN="github.com/coreos/zetcd"
+
+EGO_VENDOR=( "github.com/coreos/etcd 714e7ec8db7f8398880197be10771fe89c480ee5"
+ "google.golang.org/grpc 777daa17ff9b5daef1cfdf915088a2ada3332bf0 github.com/grpc/grpc-go"
+ "github.com/golang/protobuf 4bd1920723d7b7c925de087aa32e2187708897f7"
+ "google.golang.org/genproto ee236bd376b077c7a89f260c026c4735b195e459 github.com/google/go-genproto"
+)
+
+ZETCD_COMMIT="e4352ce3cc940bc5b60bb3dd69c14f16dac2980a"
+
+inherit golang-build golang-vcs-snapshot user
+
+ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+KEYWORDS="~amd64"
+
+DESCRIPTION="A ZooKeeper personality for etcd"
+HOMEPAGE="https://github.com/coreos/zetcd"
+SRC_URI="${ARCHIVE_URI}
+ ${EGO_VENDOR_URI}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+
+RESTRICT="test"
+
+pkg_setup() {
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+}
+
+src_compile() {
+ pushd src || die
+ GOPATH="${WORKDIR}/${P}" go build -o ${EGO_PN}/bin/zetcd -v \
+ -ldflags "-X ${EGO_PN}/version.Version=${PV} -X ${EGO_PN}/version.SHA=$ZETCD_COMMIT" \
+ ${EGO_PN}/cmd/zetcd || die
+ popd || die
+}
+
+src_install() {
+ dobin src/${EGO_PN}/bin/*
+ dodoc src/${EGO_PN}/README.md
+ keepdir /var/log/zetcd
+ fowners -R ${PN}:${PN} /var/log/${PN}
+ newinitd "${FILESDIR}"/${PN}.initd ${PN}
+ newconfd "${FILESDIR}"/${PN}.confd ${PN}
+}
diff --git a/sys-cluster/zookeeper-bin/Manifest b/sys-cluster/zookeeper-bin/Manifest
new file mode 100644
index 000000000000..ecdff3980092
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/Manifest
@@ -0,0 +1,7 @@
+AUX log4j.properties 2191 SHA256 bf9df5ca06d8ffd2c11b13f2ea0b78879afab7d05cb2d48603425b50d7dade85 SHA512 a465aef274e3f325730c150fdebe3ca27f9debe723af6680b187daf83d6da663fa8a51bb9813ec8cba3b4d59c9e28848032083a44686b08fd2c246a461ada0c6 WHIRLPOOL 57281e789d6742d3363152b4deac0405ca74448d61c070df7fd4610db7b9a6ba87c58085f66dccabf895b42457512965249807a6247f9f192b4f3eb568c078c1
+AUX zookeeper.confd 398 SHA256 19ea9c2a4d63d008a8a2e4e7db2d0fd0f8f30958bb87fb7cc064161a83a4c59d SHA512 76ad4796faa2d267ae30d85e573de2dbad00c566764cf6757d71c00c68b10c99383dd87d2352f521c872ce22edde85bb2d3896bb6258f57ce3fc6b423a16296f WHIRLPOOL 37e15ade438d9a0b6d9173ae5a9a4e5d000e0a0fe2bf7a40b9bcbc0a3c2519ebe64e286be7f26d66975ff56e4df8db52837e9d7fa80f9ffa107e6a7567ffee05
+AUX zookeeper.initd 373 SHA256 36a0f24af9aeb11c639d9f028b6be7ac6312e4c14d58b018b59958add5e8f0d1 SHA512 34a4011ecb5d8739e57dbc9222b528a0b323c6aa0aa45391621e724106571a632908782e3a4e14e953be72fa0e525b4c7cab0440af37bbef26a100fd1d92da81 WHIRLPOOL 1a195751e2554d746127153983c2fd66205df7a491a793a880d4bdaf2417696545995ded791e3487b45b17e7966d35093dcd89163b7f2026a408ec6a7247946e
+DIST zookeeper-3.4.10.tar.gz 35042811 SHA256 7f7f5414e044ac11fee2a1e0bc225469f51fb0cdf821e67df762a43098223f27 SHA512 4c54e40ac8d0b267db4a188a30e39ed0ac2c3e8a8fadaf244be45ff5adee956df28f6cb9f1eb56f175e924fa3629b64f98286a090c46764c91c017613c80a51b WHIRLPOOL 10fb08b7a351f688b187e38b8dd84578f765eee87fdcfc63e9813bf7c5878048cc4ffba21e660ec9e1af7b58e68de69994b5938791b7ae83a5b014456f35a57a
+EBUILD zookeeper-bin-3.4.10.ebuild 1956 SHA256 8a03fe62af42ce643df0f397b77a4c8429918d3048b882e222440d4655646226 SHA512 21b72660fbd7cfe4aa3b9a6af3d04641e2cee78b0eaf249ef678a93d1c1cb8aee1f12ff61152f9d33fed1a880956e54fbd5c7141916976eeec5679423675f437 WHIRLPOOL 381717af5515b4ef63e688abadc9c3da92fa24de03305c5db7723a38ef36fae4b344c8f126d6e9f6dbc50519d6e7c8f059d413b1fe8e4bb14b57e6ade118ee2c
+MISC ChangeLog 489 SHA256 89d05384ced0b5bcb2d1ca1b9b2d7d160cf1fa1730278bdf909b83a02e8b5fe9 SHA512 2ee57dc90b07040dc417ca300b24bc4ce4a58e8d0dc83d9d0b84924d8683f4e83dd7aeb9f74931e028b369e3b49ce20ee2b9b51478f4b7912ed11852b5380534 WHIRLPOOL 6e338891a0346c67a080461f074930173a72c4b1697469b7f7fae3c4e5188cff0b5dfc05b2dff057ac4397819eed48c7ee8c50ba9fc9899b889decfa5de9226b
+MISC metadata.xml 377 SHA256 7d5b1a42196f5f343f961ac1bf7ad668fcd059306518731fd68f17f4c1ea369b SHA512 2ad1600101d36b70c32cb76894e55f01717a544d689bd28ffb41a727d7d23b6f8e9565eea71f252a721bcd4e516692921796f24266485a216a6015a5a9e74f26 WHIRLPOOL a5865d5f873628d1498b2bc2d73813748135e72dedd645dca6f52180216f61a0e3338e528afd21c6bf55e739dc056ec6109607af324d17cf25f22a816f1a3d52
diff --git a/sys-cluster/zookeeper-bin/files/log4j.properties b/sys-cluster/zookeeper-bin/files/log4j.properties
new file mode 100644
index 000000000000..c462993d96ac
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/files/log4j.properties
@@ -0,0 +1,58 @@
+# Define some default values that can be overridden by system properties
+zookeeper.root.logger=INFO, CONSOLE
+zookeeper.console.threshold=INFO
+zookeeper.log.dir=/var/log/zookeeper/
+zookeeper.log.file=zookeeper.log
+zookeeper.log.threshold=DEBUG
+zookeeper.tracelog.dir=/var/log/zookeeper/
+zookeeper.tracelog.file=zookeeper_trace.log
+
+#
+# ZooKeeper Logging Configuration
+#
+
+# Format is "<default threshold> (, <appender>)+
+
+# DEFAULT: console appender only
+#log4j.rootLogger=${zookeeper.root.logger}
+
+# Example with rolling log file
+log4j.rootLogger=CONSOLE, ROLLINGFILE
+
+# Example with rolling log file and tracing
+#log4j.rootLogger=TRACE, CONSOLE, ROLLINGFILE, TRACEFILE
+
+#
+# Log INFO level and above messages to the console
+#
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=${zookeeper.console.threshold}
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
+
+#
+# Add ROLLINGFILE to rootLogger to get log file output
+# Log DEBUG level and above messages to a log file
+log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
+log4j.appender.ROLLINGFILE.Threshold=${zookeeper.log.threshold}
+log4j.appender.ROLLINGFILE.File=${zookeeper.log.dir}/${zookeeper.log.file}
+
+# Max log file size of 256MB
+log4j.appender.ROLLINGFILE.MaxFileSize=256MB
+# uncomment the next line to limit number of backup files
+log4j.appender.ROLLINGFILE.MaxBackupIndex=10
+
+log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
+log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
+
+
+#
+# Add TRACEFILE to rootLogger to get log file output
+# Log DEBUG level and above messages to a log file
+log4j.appender.TRACEFILE=org.apache.log4j.FileAppender
+log4j.appender.TRACEFILE.Threshold=TRACE
+log4j.appender.TRACEFILE.File=${zookeeper.tracelog.dir}/${zookeeper.tracelog.file}
+
+log4j.appender.TRACEFILE.layout=org.apache.log4j.PatternLayout
+### Notice we are including log4j's NDC here (%x)
+log4j.appender.TRACEFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L][%x] - %m%n
diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.confd b/sys-cluster/zookeeper-bin/files/zookeeper.confd
new file mode 100644
index 000000000000..c6c6f0a6d929
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/files/zookeeper.confd
@@ -0,0 +1,18 @@
+# JVM options
+JVM_OPTS=""
+
+# zookeeper files
+MAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
+CONFIG="/opt/zookeeper-bin/conf/zoo.cfg"
+
+# build the classpath
+INSTALL_DIR=/opt/zookeeper-bin
+CLASSPATH="${INSTALL_DIR}/conf:${CLASSPATH}"
+
+for i in ${INSTALL_DIR}/zookeeper-*.jar; do
+ CLASSPATH="${i}:${CLASSPATH}"
+done
+
+for i in ${INSTALL_DIR}/lib/*.jar; do
+ CLASSPATH="${i}:${CLASSPATH}"
+done
diff --git a/sys-cluster/zookeeper-bin/files/zookeeper.initd b/sys-cluster/zookeeper-bin/files/zookeeper.initd
new file mode 100644
index 000000000000..ba66c2162a7a
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/files/zookeeper.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+name="zookeeper"
+command="/usr/bin/java"
+command_args="${JVM_OPTS} -cp ${CLASSPATH} ${MAIN} ${CONFIG}"
+command_background="true"
+start_stop_daemon_args="--user zookeeper --group zookeeper"
+pidfile="/var/run/zookeeper.pid"
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/zookeeper-bin/metadata.xml b/sys-cluster/zookeeper-bin/metadata.xml
new file mode 100644
index 000000000000..56c47e96183d
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>patrick@gentoo.org</email>
+ <name>Patrick Lauer</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cluster@gentoo.org</email>
+ <name>Gentoo Cluster Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild
new file mode 100644
index 000000000000..bc0ae0982c2b
--- /dev/null
+++ b/sys-cluster/zookeeper-bin/zookeeper-bin-3.4.10.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils java-utils-2 user
+
+MY_P="zookeeper"
+MY_PN=${MY_P}-${PV}
+
+DESCRIPTION="A high-performance coordination service for distributed applications."
+HOMEPAGE="http://zookeeper.apache.org/"
+SRC_URI="mirror://apache/${MY_P}/${MY_PN}/${MY_PN}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror binchecks"
+IUSE=""
+
+DEPEND=""
+RDEPEND=">=virtual/jre-1.7"
+
+S=${WORKDIR}/${MY_PN}
+
+INSTALL_DIR=/opt/${PN}
+export CONFIG_PROTECT="${CONFIG_PROTECT} ${INSTALL_DIR}/conf"
+
+pkg_setup() {
+ enewgroup zookeeper
+ enewuser zookeeper -1 /bin/sh /var/lib/zookeeper zookeeper
+}
+
+src_prepare() {
+ # python
+ sed -e "s|src/c/zookeeper.c|zookeeper.c|g" \
+ -e "s|../../../|${S}|g" \
+ -i contrib/zkpython/src/python/setup.py || die
+}
+
+src_configure() {
+ cd "${S}"/src/c || die
+ econf
+}
+
+src_compile() {
+ cd "${S}"/src/c || die
+ emake
+}
+
+src_install() {
+ local DATA_DIR=/var/lib/${MY_P}
+
+ # python
+ cd "${S}"/contrib/zkpython/ || die
+ mv src/python/setup.py .
+ mv src/c/* .
+ python_foreach_impl distutils-r1_src_install
+ cd "${S}" || die
+
+ # cleanup sources
+ rm -rf src/ || die
+ rm bin/*.cmd || die
+
+ keepdir "${DATA_DIR}"
+ sed "s:^dataDir=.*:dataDir=${DATA_DIR}:" conf/zoo_sample.cfg > conf/zoo.cfg || die "sed failed"
+ cp "${FILESDIR}"/log4j.properties conf/ || die "cp log4j conf failed"
+
+ dodir "${INSTALL_DIR}"
+ cp -a "${S}"/* "${D}${INSTALL_DIR}" || die "install failed"
+
+ # data dir perms
+ fowners zookeeper:zookeeper "${DATA_DIR}"
+
+ # log dir
+ keepdir /var/log/zookeeper
+ fowners zookeeper:zookeeper /var/log/zookeeper
+
+ # init script
+ newinitd "${FILESDIR}"/zookeeper.initd zookeeper
+ newconfd "${FILESDIR}"/zookeeper.confd zookeeper
+
+ # env file
+ cat > 99"${PN}" <<-EOF
+ PATH=${INSTALL_DIR}/bin
+ CONFIG_PROTECT=${INSTALL_DIR}/conf
+ EOF
+ doenvd 99"${PN}" || die "doenvd failed"
+}
diff --git a/sys-cluster/zookeepercli/Manifest b/sys-cluster/zookeepercli/Manifest
new file mode 100644
index 000000000000..9dabdb27e50f
--- /dev/null
+++ b/sys-cluster/zookeepercli/Manifest
@@ -0,0 +1,6 @@
+DIST go-zookeeper-218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz 29301 SHA256 f90c7f318c92b9ad6fee417af842d9b9fc5b6635121e3f8035e236272ad41f28 SHA512 0fda62feaa668b43bdc7866270780b30069d7dace5c25c69d27d5df17bc3331885c9a7d3575b822c4da712e8a4af0465c6370cd3e89f6c39e73d70aed346d599 WHIRLPOOL f02c8c9edbf464111bc3302e23c986a73f7bc6684fb0e37136822cb910fc92136e0e2ca65420bcf98dce02245b42951acce17b0a062c4a0eb01df5b2b103e61f
+DIST golib-2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz 5892 SHA256 cf524e0dcb1dfd664b668950bf459288f98f92630ef943af8670cd6e3c78e39c SHA512 924b9e296f5d0051f321115b542603653d8868d3bc8cb933b16eaa511c34bb9869fc763ea2f2261a71e8dbe06c5e1963ff202986f496d7d889a55ae7694704ec WHIRLPOOL a099036eabe3bb62b7cc0dedb34c960531b0c3fa0a197f49a86d4c3d6ab80a95bb8b4ec8359b4d2f6c72ac7843184f9b4b182ff4d1d89e8f18aae76fdd1689dd
+DIST zookeepercli-1.0.10.tar.gz 11942 SHA256 2a32f1c1706e1df20f6229c163d42e2b0c3e4c2793e0a2ae71cb7add25cb28c5 SHA512 793de5eb2b62265a97c6e82f14c7ba1f9d32dacb86a02375a18ca6cbf472d5b7649e94107e3c497e81d4b81f7131b85032ba100c2d8f14a47fd8fc972c6be47d WHIRLPOOL 60a0cb4f9b3dc512d3dfef1440e4ae677d54601df3877013fa00d8ffe205d66c3d74c71b9956f55eebece56ef4421ae1d01d0fec0b8a2ee053bd6ec2bc814ad9
+EBUILD zookeepercli-1.0.10.ebuild 1555 SHA256 6f094361ddef6ba2c513743190ab4a2bfe55f8b7b01844f1e546b844fcd8bc96 SHA512 ce6cb8822dc01b4d21bd9bb80d25ae903f5147155faec00faf6827352a5cfc187fa4742edaeeb5783e063d2d28f36076506e05e2ea7eee3905d7539bf8aeb273 WHIRLPOOL de11344bda4a5ea03776d8f134760450848ae02a3883f23163f6d9e839b6dfd121bc0fd573908e3a5e7b798e737f59073d93e2159eb7efbf2042f65ea270e358
+MISC ChangeLog 787 SHA256 9a03cc5f330d08735e078484a797105568927ac15a0252a403a5486457ac27ba SHA512 0259d9b5fb3063bd64cd47eed14ed05833a56fcdb7f0073b163fc1330b881df25de6b22dfceb8dcf7a569b81fac2a9f972356a0fde4e80b097f7a67eafef75f1 WHIRLPOOL 756b04ac8fc03a2315c164fdcf26f50050110f6ecf5c2cc7c38549acb39ae418fa1640e68356fc7f69f1940a5314cc7bd53f513ebb5446a1b15e10238a0a6c53
+MISC metadata.xml 330 SHA256 362b8142f2d6a2131e77c66a4728083de04caf442121692366726dfcbedbfeac SHA512 4330eb8e97dbe6441726384149b6090b77c6276ce02547731756968bf255f8d632fdf5f1ebf77f66c977fdd5d75672b2dbc31e1ac0f29678e0f07b27484f37b6 WHIRLPOOL a102279766279f1b45ffe5e6920013c811502b4cca816e25deb30f1356dcd8c97de2109fb4cf51e43b01ffbaf5da5ac09050b663c4ad6fa0499ae5aee046a5ca
diff --git a/sys-cluster/zookeepercli/metadata.xml b/sys-cluster/zookeepercli/metadata.xml
new file mode 100644
index 000000000000..81b3c8f181ff
--- /dev/null
+++ b/sys-cluster/zookeepercli/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>zmedico@gentoo.org</email>
+ <name>Zac Medico</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">outbrain/zookeepercli</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild b/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild
new file mode 100644
index 000000000000..690ea9db1f15
--- /dev/null
+++ b/sys-cluster/zookeepercli/zookeepercli-1.0.10.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KEYWORDS="~amd64"
+EGO_PN="github.com/outbrain/zookeepercli/..."
+EGIT_COMMIT="v${PV}"
+SRC_URI="https://${EGO_PN%/*}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz
+https://github.com/outbrain/golib/archive/2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz -> golib-2418949ac30d9933e7412ccce41f1aa2ae8d5ae8.tar.gz
+https://github.com/samuel/go-zookeeper/archive/218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz -> go-zookeeper-218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f.tar.gz"
+DESCRIPTION="Simple, lightweight, dependable CLI for ZooKeeper"
+HOMEPAGE="https://${EGO_PN%/*}"
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE=""
+DEPEND=">=dev-lang/go-1.4.2:="
+
+get_archive_go_package() {
+ local archive=${1} uri x
+ for x in ${SRC_URI}; do
+ if [[ ${x} == http* ]]; then
+ uri=${x}
+ elif [[ ${x} == ${archive} ]]; then
+ break
+ fi
+ done
+ uri=${uri#https://}
+ echo ${uri%/archive/*}
+}
+
+unpack_go_packages() {
+ local go_package x
+ # Unpack packages to appropriate locations for GOPATH
+ for x in ${A}; do
+ unpack ${x}
+ if [[ ${x} == *.tar.gz ]]; then
+ go_package=$(get_archive_go_package ${x})
+ mkdir -p "${S}/src/${go_package%/*}"
+ for x in ${go_package##*/}-*; do
+ [[ ${x} -ef ${S} ]] && continue
+ mv "${x}" "${S}/src/${go_package}" || die
+ done
+ fi
+ done
+}
+
+src_unpack() {
+ unpack_go_packages
+}
+
+src_compile() {
+ GOPATH="${S}" \
+ go install -v -work -x ${EGO_BUILD_FLAGS} "${EGO_PN}" || die
+}
+
+src_install() {
+ dobin bin/${PN}
+ dodoc README.md
+}