diff --git a/dev-ruby/metasploit-concern/Manifest b/dev-ruby/metasploit-concern/Manifest index f28ce584d..02f29081c 100644 --- a/dev-ruby/metasploit-concern/Manifest +++ b/dev-ruby/metasploit-concern/Manifest @@ -1,2 +1,3 @@ DIST metasploit-concern-3.0.0.gem 18944 BLAKE2B 769f5d7f1df51021624a9c2a62db98b83e03a319a887fcb96689c9525c8b7e2a295ce7f9c0c58aca197263759698b356086327a8b9776daf16819defa697e9b6 SHA512 0de97f7131e1d92a34b4f091aadd5779cf75037445c9d4c3460810747c65b64f872757414fedd13d9aef7b978efc9d0dd0fc3d24e286e0d4ab628d6187a68483 DIST metasploit-concern-3.0.1.gem 18944 BLAKE2B cd297442f0762e8579968608c188c7c4779f2d25141bd3b9bf63c9bd710dbfd62d6ab4bf19140d32e4e0877df0093402972ed386ec1dc719221420922a15daf2 SHA512 146b64ee51139dc61ee1460ce3813514a683cafc67e7553c4474be8a1a19ffef25f02db239dadc14a6ac296b3f8d704df1c10da361a1f15629dcbd6ed034c082 +DIST metasploit-concern-4.0.2.gem 18944 BLAKE2B 20a7cc63fb68da2273441991a8712a341d5b86caaf6c3ac886e0fff2436bac0f8e2a73dc24f0d650abb68b786d1b187685c78445ea604da37cac265aa65c85df SHA512 962b93ddd0c09264f68c5efbfd78be9b3a1f19c9e188051e2d67d347f457975ede969d2a9c08106a8bad496b75f230b31876a41af012258b73ab08558f51c6f9 diff --git a/dev-ruby/metasploit-concern/metasploit-concern-4.0.2.ebuild b/dev-ruby/metasploit-concern/metasploit-concern-4.0.2.ebuild new file mode 100644 index 000000000..a0484778d --- /dev/null +++ b/dev-ruby/metasploit-concern/metasploit-concern-4.0.2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +RUBY_FAKEGEM_EXTRAINSTALL="spec" + +inherit ruby-fakegem + +DESCRIPTION="Metasploit concern allows you to define concerns in app/concerns. " +HOMEPAGE="https://github.com/rapid7/metasploit-concern" +SRC_URI="https://rubygems.org/gems/${P}.gem" + +LICENSE="BSD" +SLOT="$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm64 ~x86" +#IUSE="development test" +RESTRICT=test +IUSE="" + +RDEPEND="${RDEPEND} !dev-ruby/metasploit-concern:0" + +ruby_add_rdepend "dev-ruby/railties:6.0 + dev-ruby/activesupport:6.0 + dev-ruby/activemodel:6.0" diff --git a/dev-ruby/metasploit-credential/Manifest b/dev-ruby/metasploit-credential/Manifest index 34de8c421..e887aa3c3 100644 --- a/dev-ruby/metasploit-credential/Manifest +++ b/dev-ruby/metasploit-credential/Manifest @@ -1,2 +1,3 @@ DIST metasploit-credential-4.0.2.gem 109568 BLAKE2B ecd8a7ff9366a79b47dc14db69ec87e44354893c67acf7cc92fc386ad04e663812552270d5cd04f2926039fcdd7ddc170ba93e12a81a152d8661975c76f6fa93 SHA512 57f857b7db710ef6e94e79849fb56af7b45b0f8b97030996cb50384b759b1e0d535391b3fd3c7aa6a530d671d109b01ca031502d0a469203fb36255c0e572289 DIST metasploit-credential-4.0.3.gem 109568 BLAKE2B 8f3f5bbe6a119cb19a468cb19afdee45a3e384d942697354d29c0261724b03e70dfc7257ad03b895e4dd6229c21e5a7e98bcfe894ac26894846f539875f688c3 SHA512 7f3ef6096eb8256d151cca62581c9bed21f24e4ae7c2ae5680bfe839a5c00ad4a31883b95bca5dda919bb0ca3d9d11587013d84dae45de80a44377286137ad63 +DIST metasploit-credential-5.0.2.gem 110080 BLAKE2B df1932e74dc1aa8d38ec3e14812d2c4e0b3d1fcbf91ec921533d170aed0b8d99fe32aa7f3fa25c32e59e93c4b1f3d42402f98b80ca1397f813d63a1dd894117c SHA512 5dcc9f39db9d012dfecc85e73659ea8dd9b59721bdb2fbdf3dfaa9d08b21aeaef37dd77726242f28864c9db44a0806787453caa331673776c02fea6904ea55c4 diff --git a/dev-ruby/metasploit-credential/metasploit-credential-5.0.2.ebuild b/dev-ruby/metasploit-credential/metasploit-credential-5.0.2.ebuild new file mode 100644 index 000000000..aac0b89cd --- /dev/null +++ b/dev-ruby/metasploit-credential/metasploit-credential-5.0.2.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +RUBY_FAKEGEM_RECIPE_DOC="rdoc" + +inherit ruby-fakegem + +RUBY_FAKEGEM_EXTRAINSTALL="app config db spec" + +DESCRIPTION="Code for modeling and managing credentials in Metasploit" +HOMEPAGE="https://github.com/rapid7/metasploit-credential" + +LICENSE="BSD" +SLOT="${PV}" +#FIXME: Gentoo's net-ssh/rubyntlm are not arm64 +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="" +RESTRICT=test + +ruby_add_rdepend "dev-ruby/metasploit-concern:4.0 + >=dev-ruby/metasploit_data_models-5.0.0:* + dev-ruby/metasploit-model + dev-ruby/net-ssh + dev-ruby/pg:* + dev-ruby/railties:6.0 + dev-ruby/rex-socket + dev-ruby/rubyntlm + dev-ruby/rubyzip:*" diff --git a/dev-ruby/metasploit-model/Manifest b/dev-ruby/metasploit-model/Manifest index a2c098937..a06fa413b 100644 --- a/dev-ruby/metasploit-model/Manifest +++ b/dev-ruby/metasploit-model/Manifest @@ -1 +1,2 @@ DIST metasploit-model-3.1.3.gem 81920 BLAKE2B 44dcb9a15506fb81eac261b072c125cddaab84775b0d807aaefc2e79b0ac4f737f0de7ff4b99dba7eef21d6bc6c8e2324c0ce163b1ddc999122f2e5e598f62b0 SHA512 603ec29b897cac2bcab886034333bdafe504bd3cd30e654ab298ae8bdb23711409aaa677a21421629e596e35e652ac4bf1381e1c8c067c4e45c6880b5c1a8db0 +DIST metasploit-model-4.0.2.gem 81920 BLAKE2B 9537f0e097b8e7737d4319d0ac32de3d8496a17c9a863a049ff7b5ffb2c88afde5ebdd709c9a1eed97300eb1cf4a00ed5533110c2a00cfe560e9164ca61bb5ae SHA512 2bba08a73e3ce4b260b01e69729697941a04bd178c42184c8f87f09f52bff7b054c98a7570aa3b0e99f4831f8cdcdb9dbd6a0e2a559860d25b9b9c203e2d8562 diff --git a/dev-ruby/metasploit-model/metasploit-model-4.0.2.ebuild b/dev-ruby/metasploit-model/metasploit-model-4.0.2.ebuild new file mode 100644 index 000000000..8168ca593 --- /dev/null +++ b/dev-ruby/metasploit-model/metasploit-model-4.0.2.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby26" + +inherit ruby-fakegem +RUBY_FAKEGEM_EXTRAINSTALL="app config script spec" + +DESCRIPTION="Common code, such as validators and mixins" +HOMEPAGE="https://github.com/rapid7/metasploit-model" +SRC_URI="https://rubygems.org/gems/${P}.gem" + +LICENSE="BSD" +SLOT="$(ver_cut 1-2)" +KEYWORDS="amd64 ~arm64 ~x86" +#IUSE="development test" +RESTRICT=test +IUSE="" + +RDEPEND="${RDEPEND} !dev-ruby/metasploit-model:0" + +ruby_add_rdepend "dev-ruby/railties:6.0 + dev-ruby/activesupport:6.0 + dev-ruby/activemodel:6.0" +ruby_add_bdepend "dev-ruby/bundler:2" + +all_ruby_prepare() { + [ -f Gemfile.lock ] && rm Gemfile.lock + #For now, we don't support development or testing at all + #if ! use development; then + sed -i -e "/^group :development do/,/^end$/d" Gemfile || die + sed -i -e "/s.add_development_dependency/d" "${PN}".gemspec || die + sed -i -e "/spec.add_development_dependency/d" "${PN}".gemspec || die + #fi + #if ! use test; then + sed -i -e "/^group :test do/,/^end$/d" Gemfile || die + #fi + #if ! use test && ! use development; then + sed -i -e "/^group :development, :test do/,/^end$/d" Gemfile || die + #fi +} + +each_ruby_prepare() { + if [ -f Gemfile ] + then + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle install --local || die + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle check || die + fi +} diff --git a/dev-ruby/metasploit-payloads/Manifest b/dev-ruby/metasploit-payloads/Manifest index 8bf7e835a..bb07caa73 100644 --- a/dev-ruby/metasploit-payloads/Manifest +++ b/dev-ruby/metasploit-payloads/Manifest @@ -3,3 +3,5 @@ DIST metasploit-payloads-2.0.16.gem 12245504 BLAKE2B e8fc47289c89238fbfcf36ad1ee DIST metasploit-payloads-2.0.19.gem 12245504 BLAKE2B 8953e854cf3973213658518c24a53b14de5f6ac5d9471380a373ff4840280b39e6a4d677f4ac5e0c575d8d81a224bd11cc52321293ca4f3aac9d80185958f749 SHA512 c813e2d327c0e06b26d2f95a249b0128a1dbfc2c6926057f7c02d3b8bae72b983354a2986bd2843d1137673e450ed936119f3c65fe00555bcef1fb82f6469fe0 DIST metasploit-payloads-2.0.24.gem 12244480 BLAKE2B 6f01f4a2372de454307efe107f4b725697ca9f1b9dd24b1daa0d94d825529ed43201a406758fe8f47d794726c6cb68eecacfe8f3c6b7dbfc5f63e4eb25391c30 SHA512 8b608ff6c5efbe6e18cae7138765c3611ec314a19acade78fc41fc3568877867727894a7a3710d4aaa514811e123be75159dcb94133e1613815b6f3a830b8f4f DIST metasploit-payloads-2.0.25.gem 12244480 BLAKE2B 8e1a826ee57b21ba4fa94cc95e31e0fab88120296703172cf59be15ea089383238c3f6fa854259ea5c8d2c99093e6556ed26a47ba8b043da9e455b2619151026 SHA512 741e9860651361f25ce8f7a9776720272931520b738fd5b42c11e3c5f7d4c8820eb07b768943e580a2fa81ea17d42353fc0e167f812615b659c6293e55c84375 +DIST metasploit-payloads-2.0.45.gem 12250112 BLAKE2B 6055aafa10b9fe6192eee0b626c6ab1b8c63f5cd2448793ad6c0ebf9b36cd4887fec33d8bdf2e3815a3cc083904bdb376cd181dae0fe82fadd87d34efa61e46d SHA512 9ce5d2dacfcc7012ee7f498ad90e40c49e4461d3d7c5367553b29c9f7acc5f0834c5a7642c3a88775caff7e8aa6539cdaf033f468a1fc8d671a3a8abf402b1f5 +DIST metasploit-payloads-2.0.46.gem 12250112 BLAKE2B 1cf997a2097e1b9ab30c2f8d78a66ae625eafedb12d2f5bebae1b93f6f207e2589d52a5d5d8e3aa87e9847247f6c47019410ee6af782d72b0c915b9222f6df9d SHA512 5df96950aef72963c7e6f37eb577abbfffceda5cb16ca75a8b267a5dd02d046f0e97933a9f72cd13ae7112bb87e4c4b58a58db8b3e95674677f88c918a4fca66 diff --git a/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.45.ebuild b/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.45.ebuild new file mode 100644 index 000000000..cc3083d60 --- /dev/null +++ b/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.45.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +RUBY_FAKEGEM_TASK_DOC="" + +RUBY_FAKEGEM_EXTRAINSTALL="data" + +inherit ruby-fakegem + +DESCRIPTION="Compiled binaries for Metasploit's Meterpreter" +HOMEPAGE="https://rubygems.org/gems/metasploit-payloads" + +LICENSE="BSD" + +SLOT="${PV}" +KEYWORDS="amd64 ~arm64 x86" +IUSE="" + +#no tests +RESTRICT="test strip" + +QA_PREBUILT=" + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/msflinker_linux_x86.bin + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_sniffer.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_networkpug.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_stdapi.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/armeabi/libndkstager.so + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/mips/libndkstager.so + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/x86/libndkstager.so + " + +src_install() { + ruby-ng_src_install + #tell revdep-rebuild to ignore binaries meant for the target + dodir /etc/revdep-rebuild + cat <<-EOF > "${ED}"/etc/revdep-rebuild/99-${PN}-${SLOT} || die + #These dirs contain prebuilt binaries for running on the TARGET not the HOST + SEARCH_DIRS_MASK="/usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs" + EOF +} diff --git a/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.46.ebuild b/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.46.ebuild new file mode 100644 index 000000000..cc3083d60 --- /dev/null +++ b/dev-ruby/metasploit-payloads/metasploit-payloads-2.0.46.ebuild @@ -0,0 +1,44 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +RUBY_FAKEGEM_TASK_DOC="" + +RUBY_FAKEGEM_EXTRAINSTALL="data" + +inherit ruby-fakegem + +DESCRIPTION="Compiled binaries for Metasploit's Meterpreter" +HOMEPAGE="https://rubygems.org/gems/metasploit-payloads" + +LICENSE="BSD" + +SLOT="${PV}" +KEYWORDS="amd64 ~arm64 x86" +IUSE="" + +#no tests +RESTRICT="test strip" + +QA_PREBUILT=" + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/msflinker_linux_x86.bin + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_sniffer.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_networkpug.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/meterpreter/ext_server_stdapi.lso + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/armeabi/libndkstager.so + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/mips/libndkstager.so + usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs/x86/libndkstager.so + " + +src_install() { + ruby-ng_src_install + #tell revdep-rebuild to ignore binaries meant for the target + dodir /etc/revdep-rebuild + cat <<-EOF > "${ED}"/etc/revdep-rebuild/99-${PN}-${SLOT} || die + #These dirs contain prebuilt binaries for running on the TARGET not the HOST + SEARCH_DIRS_MASK="/usr/lib*/ruby/gems/*/gems/${PN}-${SLOT}/data/android/libs" + EOF +} diff --git a/dev-ruby/metasploit_data_models/Manifest b/dev-ruby/metasploit_data_models/Manifest index c6a26ee1f..1184ce1d2 100644 --- a/dev-ruby/metasploit_data_models/Manifest +++ b/dev-ruby/metasploit_data_models/Manifest @@ -1 +1,2 @@ DIST metasploit_data_models-4.1.1.gem 178688 BLAKE2B e05d45ee04d6da7d31d5a0233c92c75985b7680a9bc6ae6455cbf1278324070081dc8af62426c30969a289b48d79a86bf82eeef840cfe6d9007a52139b2e973a SHA512 8c78630515a1404c142961f99b9b51624fa06e8590c1bda201d6d9bb1567d6b25844763bfce0a101f7590ed12198087cb80778d32ef7add8d67fa9d3d1f13f56 +DIST metasploit_data_models-5.0.1.gem 178688 BLAKE2B a30f50b27611bd75e3725b23374abc66c8cdf2cae8a73422865672a0852a57911861923dada97fea64db9269385bdbb9fd319b597336afdbd514e108b9ae458e SHA512 690531948ea0a69c5bbf6c1161843636bd7b47f3368c556b39325ce7f804bc5a41a73610faf1870be4336ba19eb58aee4b57733df4ebe073616891f4ec89b213 diff --git a/dev-ruby/metasploit_data_models/metasploit_data_models-5.0.1.ebuild b/dev-ruby/metasploit_data_models/metasploit_data_models-5.0.1.ebuild new file mode 100644 index 000000000..fc5419c38 --- /dev/null +++ b/dev-ruby/metasploit_data_models/metasploit_data_models-5.0.1.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +inherit ruby-fakegem + +RUBY_FAKEGEM_EXTRAINSTALL="app config db script spec" +RUBY_FAKEGEM_GEMSPEC="${PN}".gemspec +DESCRIPTION="The database layer for Metasploit" +HOMEPAGE="https://github.com/rapid7/metasploit_data_models" +SRC_URI="https://rubygems.org/gems/${P}.gem" + +LICENSE="BSD" +SLOT="${PV}" +#FIXME: Gentoo's recog is not arm64 ready +KEYWORDS="~amd64 ~arm64 ~x86" +RESTRICT=test +#IUSE="development test" +IUSE="" + +RDEPEND="${RDEPEND} !dev-ruby/metasploit_data_models:0" + +ruby_add_rdepend " + dev-ruby/activerecord:6.0[postgres] + dev-ruby/activesupport:6.0 + dev-ruby/railties:6.0 + >=dev-ruby/metasploit-concern-2.0.0 + >=dev-ruby/metasploit-model-3.1.0 + dev-ruby/arel-helpers + dev-ruby/pg:* + >=dev-ruby/recog-2.0.0:*" + +ruby_add_bdepend "dev-ruby/bundler:2" + +all_ruby_prepare() { + [ -f Gemfile.lock ] && rm Gemfile.lock + #if ! use development; then + sed -i -e "/^group :development do/,/^end$/d" Gemfile || die + sed -i -e "/s.add_development_dependency/d" "${PN}".gemspec || die + #fi + #if ! use test; then + sed -i -e "/^group :test do/,/^end$/d" Gemfile || die + #fi + #if ! use test && ! use development; then + sed -i -e "/^group :development, :test do/,/^end$/d" Gemfile || die + #fi + #use the stable version of pg + sed -i "s/'pg', \"0.20.0\"/'pg', '0.21.0'/" metasploit_data_models.gemspec || die +} + +each_ruby_prepare() { + if [ -f Gemfile ] + then + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle install --local || die + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle check || die + fi +} + +all_ruby_install() { + ruby_fakegem_binwrapper mdm_console mdm_console-${SLOT} +} diff --git a/dev-ruby/metasploit_payloads-mettle/Manifest b/dev-ruby/metasploit_payloads-mettle/Manifest index 0b47f3720..05122a658 100644 --- a/dev-ruby/metasploit_payloads-mettle/Manifest +++ b/dev-ruby/metasploit_payloads-mettle/Manifest @@ -1,3 +1,4 @@ DIST metasploit_payloads-mettle-1.0.2.gem 22206464 BLAKE2B 2c9c16436e5e6620284cc4544d794f0d99f317fa501b245df2ba3a8c999c53624a1e150e4a1b2f525468b7c0a02557ee23d7576697c699851c8e047b71d08461 SHA512 9f1f841f3ae2bb7b6576b5eb99ab0c79c3a600169b210a7782b7cf4175af31da922bf6ac7e0d8a513ae0ebc95279997696ccf42cb5df9d90d9b33d433a6722d5 DIST metasploit_payloads-mettle-1.0.3.gem 22211072 BLAKE2B 961039f96eafd4ddfeae2b3ff8ebfa6e5d5e9933ae0b877cd097ecf89fba4f87adfe2c28d53e30b9c3f620d28bdd99fdd71dd82dc270a902fdd5148d65c78d92 SHA512 8c18dcf7264f9b574970dcd023062e7d84e14e42ae9930be36927ee06630a37b5c1e90ff722832a5b77883e86daea80e6bf8d2f466375bb790a3c4f3c4b83243 DIST metasploit_payloads-mettle-1.0.4.gem 22211584 BLAKE2B 19cc9425eb9c122ec13ba55f601e0103bc1e0547b7be7af2e0970b4c9cb6632cd257d3a8ac711e490e749a242eda806545aadb7a81e54e2b2af0d0c4c45753c2 SHA512 46876de43a7eb720be2ef178033abc59ae775d5f8f1d0fbea74452a50099e8098c813f98643c4da05c745334b9ce0d882708f6e555898a0dbf891d3441e3e9a8 +DIST metasploit_payloads-mettle-1.0.9.gem 22332928 BLAKE2B 1d95155e22c77d0b0fc32655990f1d7ba4c438a726a41c0888673fde5a4ddb325e5f619a846c5de44915d9248195872802e93887c2287edd0db9d9b3580a6554 SHA512 9870abc9322a8efaa724855723c3e6744003ef1e9c713787797c4685e0ca66ebd714282a5f55772fecc0aae083f36ef054e20a554400c24f26eef42494797ced diff --git a/dev-ruby/metasploit_payloads-mettle/metasploit_payloads-mettle-1.0.9.ebuild b/dev-ruby/metasploit_payloads-mettle/metasploit_payloads-mettle-1.0.9.ebuild new file mode 100644 index 000000000..6422730b9 --- /dev/null +++ b/dev-ruby/metasploit_payloads-mettle/metasploit_payloads-mettle-1.0.9.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26" + +RUBY_FAKEGEM_TASK_DOC="" + +RUBY_FAKEGEM_EXTRAINSTALL="build" + +inherit ruby-fakegem + +DESCRIPTION="Compiled binaries for Metasploit's next-gen Meterpreter" +HOMEPAGE="https://rubygems.org/gems/metasploit_payloads-mettle" + +LICENSE="BSD" + +SLOT="${PV}" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +#no tests +RESTRICT="test strip" + +QA_PREBUILT=" + usr/lib*/ruby/gems/*/gems/${P}/build/aarch64-linux-musl/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/aarch64-linux-musl/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/armv5b-linux-musleabi/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/armv5b-linux-musleabi/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/armv5l-linux-musleabi/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/armv5l-linux-musleabi/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/i486-linux-musl/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/i486-linux-musl/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mips64-linux-muslsf/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/mips64-linux-muslsf/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mips64-linux-muslsf/bin/sniffer + usr/lib*/ruby/gems/*/gems/${P}/build/mips64-linux-muslsf/bin/sniffer.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mipsel-linux-muslsf/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/mipsel-linux-muslsf/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mipsel-linux-muslsf/bin/sniffer + usr/lib*/ruby/gems/*/gems/${P}/build/mipsel-linux-muslsf/bin/sniffer.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mips-linux-muslsf/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/mips-linux-muslsf/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/mips-linux-muslsf/bin/sniffer + usr/lib*/ruby/gems/*/gems/${P}/build/mips-linux-muslsf/bin/sniffer.bin + usr/lib*/ruby/gems/*/gems/${P}/build/powerpc64le-linux-musl/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/powerpc64le-linux-musl/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/powerpc-linux-muslsf/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/powerpc-linux-muslsf/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/s390x-linux-musl/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/s390x-linux-musl/bin/mettle.bin + usr/lib*/ruby/gems/*/gems/${P}/build/x86_64-linux-musl/bin/mettle + usr/lib*/ruby/gems/*/gems/${P}/build/x86_64-linux-musl/bin/mettle.bin + " + +src_install() { + ruby-ng_src_install + #tell revdep-rebuild to ignore binaries meant for the target + dodir /etc/revdep-rebuild + cat <<-EOF > "${ED}"/etc/revdep-rebuild/99-${PN}-${SLOT} || die + #These dirs contain prebuilt binaries for running on the TARGET not the HOST + SEARCH_DIRS_MASK="/usr/lib*/ruby/gems/*/gems/${P}/build" + EOF +} diff --git a/dev-ruby/rex-core/Manifest b/dev-ruby/rex-core/Manifest index a887b5ba7..dec6030d9 100644 --- a/dev-ruby/rex-core/Manifest +++ b/dev-ruby/rex-core/Manifest @@ -1,2 +1,3 @@ DIST rex-core-0.1.13.gem 30208 BLAKE2B 3de93b7869e751574979160d458406cdb83f6683383b6e60e7defe7e02fd7fe02c39589983f6800d07d48527572869f685e57fa8dc3f2a0ba9fb1cf1cbf6ad84 SHA512 d7a402f732620a7ce25d3401fea9c97b4dbac8d37fc8d9183d621bfc16004e2f7171e0346b05fcb64a9c2af8b2b17e32d6ae11268a5300cc31111ab83dabfa9a DIST rex-core-0.1.14.gem 30208 BLAKE2B ce783fe72304c1635af3e9887fb3959d966a52214f447d51bc6590aeaee36047772ddd4b459edd1f1c938793659405a058af2bc45d96dda985c2d690f5530fd8 SHA512 eb79d0803f9b4d6eead258e91aaa6eda2519f2650f8b468b7355ceee8fb9c8f67e5e5be4055576ab334240097216d9a3b7ae55e5e41674c5780152b54317e5ed +DIST rex-core-0.1.16.gem 30720 BLAKE2B fee6a4bf26890b1381385e3d0759e1e711f71da5693953447ba6558d2e5f6cc2dd14ff7692e1bcf27a3a11ef48083e8d53f784f5ef84d0c0df5a1eab61906e34 SHA512 b152b6eeb7d3701fe727364dfbbcb2200422e1b91fc2c264ff900bb630f2431c12e5f2a1b96edeefe5693f307a1256cad709923b84281f0a87ed9f4484d16ccf diff --git a/dev-ruby/rex-core/rex-core-0.1.16.ebuild b/dev-ruby/rex-core/rex-core-0.1.16.ebuild new file mode 100644 index 000000000..43622e650 --- /dev/null +++ b/dev-ruby/rex-core/rex-core-0.1.16.ebuild @@ -0,0 +1,18 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26 ruby27" + +inherit ruby-fakegem + +DESCRIPTION="Core libraries required for the Ruby Exploitation (Rex) Suite" +HOMEPAGE="https://github.com/rapid7/rex-core" + +KEYWORDS="amd64 ~arm64 x86" +LICENSE="BSD" +SLOT="0" + +# doesn't seem to actually run any tests +RESTRICT=test diff --git a/dev-ruby/rex-exploitation/Manifest b/dev-ruby/rex-exploitation/Manifest index 0b2dcdad9..de01d9944 100644 --- a/dev-ruby/rex-exploitation/Manifest +++ b/dev-ruby/rex-exploitation/Manifest @@ -1,2 +1,3 @@ DIST rex-exploitation-0.1.24.gem 79872 BLAKE2B d6d78e27ad76a3b8808b88a8df559670693ebc52a82545a41bc5335829f5c8b18bfaa0d76dc54619bee16702732903515606153b59a643c265162ded22cdeb10 SHA512 f8cfdd1fb7150c3dc6d22ad443abcf701ca97253bb1a85c8fe89959474a6ea8c01c68de51f783ee4b67b9cd9bd085167fa3ef6dcfcdcacae3acf38d5de0c8601 DIST rex-exploitation-0.1.25.gem 79360 BLAKE2B a3725af63bb72e5fa9c458f5d9f86a42a3a579a9061854b49dbaff762d7b4eab1cba1beb7c5d34d887280ced09f709c20754b28434836a420aee47a28cbfdd3d SHA512 68ac31a643e4a92b2b4ba9361836138ac35aa61c949582db1f7faed78e7f0662256e4bac811d07a63328153c14f89cba6a2f6c8cd58adf7a12ff933828bc1eec +DIST rex-exploitation-0.1.27.gem 79872 BLAKE2B adacc8f14fc119d724feacfa32d225f97854395d6d62f44d315003064820168802bd2cd09eebba7a8bff315792d35b7c7f6dcaf4561350c3999c75e21eb4b9b5 SHA512 7b1a1bd1eeafd693a24fb9581190cb19200aa39182f1ea19365cab39bae622093f4bfa318a28765e04ad5cbf173e8afa49d7b76694a1bc5fae079b94a333dcba diff --git a/dev-ruby/rex-exploitation/rex-exploitation-0.1.27.ebuild b/dev-ruby/rex-exploitation/rex-exploitation-0.1.27.ebuild new file mode 100644 index 000000000..dc9760653 --- /dev/null +++ b/dev-ruby/rex-exploitation/rex-exploitation-0.1.27.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26 ruby27" + +RUBY_FAKEGEM_RECIPE_TEST="none" +RUBY_FAKEGEM_RECIPE_DOC="rdoc" +RUBY_FAKEGEM_BINWRAP="" +RUBY_FAKEGEM_EXTRAINSTALL="data" + +inherit ruby-fakegem + +DESCRIPTION="various helper mechanisms for creating exploits" +HOMEPAGE="https://rubygems.org/gems/rex-exploitation" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="" + +ruby_add_rdepend "dev-ruby/rexml + dev-ruby/jsobfu + dev-ruby/metasm + dev-ruby/rex-arch + dev-ruby/rex-encoder + dev-ruby/rex-text" + +all_ruby_prepare() { + sed -i '/bundler/d' Rakefile +} diff --git a/dev-ruby/rex-powershell/Manifest b/dev-ruby/rex-powershell/Manifest index 91f0acce5..aeb4a790f 100644 --- a/dev-ruby/rex-powershell/Manifest +++ b/dev-ruby/rex-powershell/Manifest @@ -1,2 +1,2 @@ -DIST rex-powershell-0.1.87.gem 29184 BLAKE2B 6c649c3846eee3181f6a364fc707c546d5a44ed23241df1de198020b841bdb91c7760e44dd33c6511d2468933353a152171ccb5743dc10e075c98cb2d20ef54b SHA512 058b84dbc2c1acb70d16e8262da07625306ddb299e593d383be2f5fce1c35bb0f4481b5e5c066c3297b31c6dbbb81018a7f54d0e8ddf15bf378bd1db5f16bb9f DIST rex-powershell-0.1.88.gem 29184 BLAKE2B 11c1646fe908c55d212809e445eaf86bd0791b18bf08cb1c277062865ea7e34704996f98b6bc67706cbc1f96256254553af06a7160bba1bc80871eafd0c48c7e SHA512 245990003acc87adbaac015522df14e59cbc8701768f002bcfe36aa12fda75e5fdbad4049b1cbad1da1fb40a0b884b31d19ae0e2627ef6c108fdc0cd9ed51dc9 +DIST rex-powershell-0.1.90.gem 29696 BLAKE2B bbb0a117aec56281fcf5378395678b986e1f900c41ba979de569dc8072eff3fd5087831a9166df120190d562ee29fbaded8c799ecdff0aa8b865fe67a9145b48 SHA512 894f19a08c2ae6be42f6d4e02514e4339ec31f9afb6b8d8e6e6801cfc80582423415e9a81a1ce3a710378efc5ec2f1a04839d36b46d7a49bc2b550d794847d19 diff --git a/dev-ruby/rex-powershell/rex-powershell-0.1.87-r1.ebuild b/dev-ruby/rex-powershell/rex-powershell-0.1.90.ebuild similarity index 100% rename from dev-ruby/rex-powershell/rex-powershell-0.1.87-r1.ebuild rename to dev-ruby/rex-powershell/rex-powershell-0.1.90.ebuild diff --git a/dev-ruby/rex-socket/Manifest b/dev-ruby/rex-socket/Manifest index 598645996..a91831b44 100644 --- a/dev-ruby/rex-socket/Manifest +++ b/dev-ruby/rex-socket/Manifest @@ -1,2 +1,3 @@ DIST rex-socket-0.1.24.gem 41472 BLAKE2B 56033db9a2c681f17c13f05c4ec5adc40516abfdc1c3ce4f7a254970fa6a1eabd6c174774c263791a4974d098425612f4ca271fa6723c1aa7d164d6abecfb6cf SHA512 4d0afa98c3fa4238eb1f7a4768da2f3488cb52d91238de4ede042eaa213d5921f0ca0a97589a8b98f244d88eebc010446d2ef1dff26940dcfdf73f09dbe53b06 DIST rex-socket-0.1.25.gem 41472 BLAKE2B 8060ef7cdbeff67647da8023950f1e45b4d3facc38e2f69efbceb1f0479dead12becefe48ebceea647adf62ccda91bf2cdea7fb5c0c7e9b4b246fcf490efe66b SHA512 1c2770f460c9d8d41769fd652bc708d2111088f1d767b740925a089fdf127557566419bc4a89cbe52ceb806655452d8da2f82a5152073bf804c7f6dd5367f83d +DIST rex-socket-0.1.29.gem 41984 BLAKE2B 9352c43c23a952f0c17340d47dc92d22412b91e46cc8e71c316baa0ad0f6bba3fed65ef8a083f67162323272752481cd2001a4dbd96d50a23e22399da40f16f7 SHA512 5a2d2157be963c70d5d79a0d76fa2f5416c15452bf0dbbc624973494e5b20fb020c0b0c2c0ae2e6359e0a0ba926936de5fd60a416185a4c5d19f259c42782ca1 diff --git a/dev-ruby/rex-socket/rex-socket-0.1.29.ebuild b/dev-ruby/rex-socket/rex-socket-0.1.29.ebuild new file mode 100644 index 000000000..1ea640a86 --- /dev/null +++ b/dev-ruby/rex-socket/rex-socket-0.1.29.ebuild @@ -0,0 +1,22 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26 ruby27" +RUBY_FAKEGEM_RECIPE_TEST="none" +RUBY_FAKEGEM_TASK_DOC="" +RUBY_FAKEGEM_BINWRAP="" + +inherit ruby-fakegem + +DESCRIPTION="The Ruby Exploitation (Rex) Socket Abstraction Library" +HOMEPAGE="https://github.com/rapid7/rex-socket" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="" + +ruby_add_bdepend "dev-ruby/rex-core" diff --git a/dev-ruby/rex-sslscan/Manifest b/dev-ruby/rex-sslscan/Manifest index c600d038f..6d4db6fab 100644 --- a/dev-ruby/rex-sslscan/Manifest +++ b/dev-ruby/rex-sslscan/Manifest @@ -1 +1,2 @@ DIST rex-sslscan-0.1.5.gem 17920 BLAKE2B 735fc522593cc1caf41c5000232afa64e88a9be83cb756b91d662b9bc8ed1ca81b1a2302325a687e851b22d7914b66fafbf7d18fdf3ea3562dd25b64543c0383 SHA512 05c7606c722fad7be5f21f28de34de23882a31bf4fde1000f11d556740b14102e495efd0bc3ac478aee64ae417e761ce9b5ae80f1c10f2410828610611fc3dab +DIST rex-sslscan-0.1.6.gem 18432 BLAKE2B 9b9057f02d262ba73474134efc05f2f68fb727ca779c0b6188caf64f536d666836e59e477a6f5d840294613418c2b9790a39a102f84f97062e95535ea64c7681 SHA512 00bec7d63fa3b5d41a230cc9cdc4b6719009b0f19475c77552f23da0e72d379c925dd2361ce9fe9db8c5d9dacb74b2b3b9d5163cf54d055f13e9d1a5f5bd7549 diff --git a/dev-ruby/rex-sslscan/rex-sslscan-0.1.6.ebuild b/dev-ruby/rex-sslscan/rex-sslscan-0.1.6.ebuild new file mode 100644 index 000000000..45a35d20d --- /dev/null +++ b/dev-ruby/rex-sslscan/rex-sslscan-0.1.6.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby25 ruby26 ruby27" +#RUBY_FAKEGEM_RECIPE_TEST="rspec3" +RUBY_FAKEGEM_TASK_DOC="" +RUBY_FAKEGEM_BINWRAP="" + +inherit ruby-fakegem + +DESCRIPTION="ruby implmenetation of the SSLScan tool " +HOMEPAGE="https://rubygems.org/gems/rex-sslscan" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +# doesn't seem to actually run any tests +RESTRICT=test + +PDEPEND="dev-libs/openssl" +ruby_add_rdepend "dev-ruby/rex-core + dev-ruby/rex-socket + dev-ruby/rex-text" diff --git a/dev-ruby/rex-text/Manifest b/dev-ruby/rex-text/Manifest index 9ba53a2cb..47e7bf619 100644 --- a/dev-ruby/rex-text/Manifest +++ b/dev-ruby/rex-text/Manifest @@ -1,2 +1,3 @@ DIST rex-text-0.2.28.gem 47104 BLAKE2B 013518f7dd18533b28e2151d616c9cb4ea5a235eaad596f121f9e91f567dd1e0d9893e7ec867f4e09fd9fb0950089902b1f17a16ca8eccc4c87bb4c0670f57ba SHA512 940ac37f0c0c173ddeb7798b9ba281c9c8058cd5b244540ddf90d9f547eee810f784620371bb0969c4e273e8532b83f8f4e687dc795981507b63ed922f7508c4 DIST rex-text-0.2.29.gem 46592 BLAKE2B f8aa2a39d5dab1285c0ae6f567b75ce6bdda07c1276328ca8ef0129b4370e78e13a47b1bb3c15d154efd9b24d318fa8a86d01b07e33bfdc56200c8ccefae925b SHA512 180af85402246760614e06fa7ca8f3b2b6856ee05b08ab63558d9055c32938c13f438e763a04f5053029c6547be10aeac9167ef106343f4a04a9031387fa84b3 +DIST rex-text-0.2.34.gem 47616 BLAKE2B 4679b216c7caf6a2ad508a3bcf57de678c9a75a2937513d2ceda2eeca99695ee8b09784cb4c5c66ade009c1fa3d9c9a3df6c048d3043e06e35dad19ed2ad2e4b SHA512 d42949a13482141f0ae9e0a6e9ce50d7515726d1267e7dfb53b6c6e0824effd79122aa2ad29fd11163b24d51e437e80c3fab5244c8456d60edf84b3945d1ef18 diff --git a/dev-ruby/rex-text/rex-text-0.2.34.ebuild b/dev-ruby/rex-text/rex-text-0.2.34.ebuild new file mode 100644 index 000000000..184c5499f --- /dev/null +++ b/dev-ruby/rex-text/rex-text-0.2.34.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +USE_RUBY="ruby25 ruby26 ruby27" + +# Specs are not bundled in the gem and upstream source is not tagged +RUBY_FAKEGEM_RECIPE_TEST="none" +RUBY_FAKEGEM_BINWRAP="" + +inherit ruby-fakegem + +DESCRIPTION="Rex library for text generation and manipulation" +HOMEPAGE="https://github.com/rapid7/rex-text" + +LICENSE="BSD" + +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="" diff --git a/dev-ruby/swagger-blocks/Manifest b/dev-ruby/swagger-blocks/Manifest new file mode 100644 index 000000000..03c8ff6f8 --- /dev/null +++ b/dev-ruby/swagger-blocks/Manifest @@ -0,0 +1 @@ +DIST swagger-blocks-3.0.0.gem 23040 BLAKE2B 9dffc94e0627f261fb98b762c173cb0801355ebb2f150ae90ce44c7ea8762cfb5e0091ce65168e1257f49a9f980de4678d324977e649d738acdd2250a3fdc7fd SHA512 a1fbe6404c3bcec26ce83c1199b5b72393875a4cdf033b53c8fda63862d43769527b58e54f185cb99119d599dc192039db55aa24a4f2b8e71bb759f2b1116d86 diff --git a/dev-ruby/swagger-blocks/swagger-blocks-3.0.0.ebuild b/dev-ruby/swagger-blocks/swagger-blocks-3.0.0.ebuild new file mode 100644 index 000000000..8f58fea22 --- /dev/null +++ b/dev-ruby/swagger-blocks/swagger-blocks-3.0.0.ebuild @@ -0,0 +1,15 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +USE_RUBY="ruby26 ruby27 ruby30" + +inherit ruby-fakegem + +DESCRIPTION="Define and serve live-updating Swagger JSON for Ruby apps" +HOMEPAGE="https://github.com/fotinakis/swagger-blocks" + +KEYWORDS="amd64 ~arm64 x86" +LICENSE="" +SLOT="0" diff --git a/net-analyzer/metasploit/Manifest b/net-analyzer/metasploit/Manifest index 18b62631a..c175eb912 100644 --- a/net-analyzer/metasploit/Manifest +++ b/net-analyzer/metasploit/Manifest @@ -1 +1,2 @@ DIST metasploit-6.0.23.tar.gz 65793513 BLAKE2B 9cf46dd73d2250b3573ddbf29ec113ff576d2e3829216925feaf48aae9e399d6640c0da012d03395253e94f710b37da4d4a764e556254bd63667230fcdfa5223 SHA512 0fc8710e56e554fbe17cb9bd65494d1129ef1cda6dd1fe048ba3d911d40af8e7f0ce74515340ee803e3d21de5f3c95b8e3a8a607e9d4ccae68a20673346b1f05 +DIST metasploit-6.0.46.tar.gz 66536021 BLAKE2B 39e7366eaedc5ac41dc332d06e58fa177b5f445e9403b1c2791cd1879b0c20bdd23facf7261cde7e66e3ee1bc954c0a94d9cd6f6a09bedd09796be8924cdafd7 SHA512 172cb7142c7b5787d86d509dc30d54779fa9d4fd03440ec2fc100561491e2596e2f603d8a92e48adb20deadb79ed9186d16dd7ed0a3414030db1b67782ce829c diff --git a/net-analyzer/metasploit/metasploit-6.0.46.ebuild b/net-analyzer/metasploit/metasploit-6.0.46.ebuild new file mode 100644 index 000000000..0e9b07447 --- /dev/null +++ b/net-analyzer/metasploit/metasploit-6.0.46.ebuild @@ -0,0 +1,412 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +#never ever ever have more than one ruby in here +#TODO: use ruby-single instead? +USE_RUBY="ruby26" +inherit eutils ruby-ng + +##Tags https://github.com/rapid7/metasploit-framework/releases +MY_PV=${PV/_p/-} +SRC_URI="https://github.com/rapid7/metasploit-framework/archive/${MY_PV}.tar.gz -> ${P}.tar.gz" +KEYWORDS="~amd64" +RUBY_S="${PN}-framework-${MY_PV}" +SLOT="$(ver_cut 1).$(ver_cut 2)" + +DESCRIPTION="Advanced framework for developing, testing, and using vulnerability exploit code" +HOMEPAGE="http://www.metasploit.org/" +LICENSE="BSD" +IUSE="development +java nexpose oracle +pcap test" + +#multiple known bugs with tests reported upstream and ignored +#http://dev.metasploit.com/redmine/issues/8418 - worked around (fix user creation when possible) +RESTRICT="test" + +#grep spec.add_runtime_dependency metasploit-framework.gemspec | sort +RUBY_COMMON_DEPEND="virtual/ruby-ssl + >=dev-ruby/actionpack-5.2.2:5.2 + >=dev-ruby/activerecord-5.2.2:5.2 + >=dev-ruby/activesupport-5.2.2:5.2 + dev-ruby/bcrypt-ruby + dev-ruby/bcrypt_pbkdf + dev-ruby/bit-struct + dev-ruby/bson + dev-ruby/bundler:2 + dev-ruby/concurrent-ruby + dev-ruby/dnsruby + dev-ruby/ed25519 + dev-ruby/em-http-request + dev-ruby/eventmachine + dev-ruby/faker:2 + dev-ruby/faraday + dev-ruby/faye-websocket + dev-ruby/filesize:* + dev-ruby/hrr_rb_ssh + dev-ruby/http-cookie + dev-ruby/irb + dev-ruby/jsobfu:* + dev-ruby/json:* + dev-ruby/metasm:* + dev-ruby/metasploit-concern + >=dev-ruby/metasploit-credential-5.0.0 + >=dev-ruby/metasploit_data_models-5.0.0 + dev-ruby/metasploit-model + dev-ruby/metasploit-payloads:2.0.45 + dev-ruby/metasploit_payloads-mettle:1.0.9 + dev-ruby/mqtt + dev-ruby/msgpack + dev-ruby/ruby-net-ldap + dev-ruby/net-ssh:* + dev-ruby/network_interface + dev-ruby/nokogiri + dev-ruby/octokit + dev-ruby/openssl-ccm + dev-ruby/packetfu + dev-ruby/patch_finder + dev-ruby/pcaprub + dev-ruby/pdf-reader:* + dev-ruby/pg:* + dev-ruby/railties:5.2 + dev-ruby/rb-readline + dev-ruby/recog:* + dev-ruby/redcarpet + dev-ruby/rex-arch + dev-ruby/rex-bin_tools + dev-ruby/rex-core + dev-ruby/rex-encoder + dev-ruby/rex-exploitation + dev-ruby/rex-java + dev-ruby/rex-mime + dev-ruby/rex-nop + dev-ruby/rex-ole + dev-ruby/rex-powershell + dev-ruby/rex-random_identifier + dev-ruby/rex-registry + dev-ruby/rex-rop_builder + dev-ruby/rex-socket + dev-ruby/rex-sslscan + dev-ruby/rex-struct2 + dev-ruby/rex-text + dev-ruby/rex-zip + dev-ruby/ruby-macho + dev-ruby/rubyntlm + >=dev-ruby/ruby_smb-2.0.0 + dev-ruby/rubyzip:* + dev-ruby/sinatra + =dev-ruby/sqlite3-1.3* + dev-ruby/sshkey + dev-ruby/swagger-blocks + dev-ruby/zeitwerk + dev-ruby/tzinfo:* + dev-ruby/warden + dev-ruby/windows_error + dev-ruby/xdr + dev-ruby/xmlrpc + www-servers/puma + www-servers/thin + java? ( dev-ruby/rjb ) + nexpose? ( dev-ruby/nexpose ) + oracle? ( dev-ruby/ruby-oci8 ) + pcap? ( dev-ruby/pcaprub:* + dev-ruby/network_interface ) + development? ( dev-ruby/fivemat + dev-ruby/pry + dev-ruby/redcarpet + dev-ruby/yard + >=dev-ruby/rake-10.0.0 + >=dev-ruby/factory_girl-4.1.0 )" + #lorcon doesn't support ruby21 + #lorcon? ( net-wireless/lorcon[ruby] ) +ruby_add_bdepend "${RUBY_COMMON_DEPEND} + test? ( >=dev-ruby/factory_girl-4.1.0 + dev-ruby/fivemat + dev-ruby/database_cleaner + >=dev-ruby/rspec-2.12 + dev-ruby/shoulda-matchers + dev-ruby/timecop + >=dev-ruby/rake-10.0.0 ) + +" +ruby_add_rdepend "${RUBY_COMMON_DEPEND}" + +COMMON_DEPEND="dev-db/postgresql:*[server] + || ( app-crypt/johntheripper-jumbo >=app-crypt/johntheripper-1.7.9-r1[-minimal(-)] ) + dev-libs/libxml2 + dev-libs/libxslt + dev-libs/openssl + net-analyzer/nmap + net-libs/libpcap + sys-libs/zlib" +RDEPEND+=" ${COMMON_DEPEND} + >=app-eselect/eselect-metasploit-0.16" + +RESTRICT="strip" + +QA_PREBUILT=" + usr/lib*/${PN}${SLOT}/data/templates/template_x86_linux.bin + usr/lib*/${PN}${SLOT}/data/templates/template_armle_linux.bin + usr/lib*/${PN}${SLOT}/data/templates/template_x86_solaris.bin + usr/lib*/${PN}${SLOT}/data/templates/template_x64_linux.bin + usr/lib*/${PN}${SLOT}/data/templates/template_x64_linux_dll.bin + usr/lib*/${PN}${SLOT}/data/templates/template_x86_bsd.bin + usr/lib*/${PN}${SLOT}/data/templates/template_x64_bsd.bin + usr/lib*/${PN}${SLOT}/data/templates/template_mipsbe_linux.bin + usr/lib*/${PN}${SLOT}/data/templates/template_mipsle_linux.bin + usr/lib*/${PN}${SLOT}/data/meterpreter/msflinker_linux_x86.bin + usr/lib*/${PN}${SLOT}/data/meterpreter/ext_server_sniffer.lso + usr/lib*/${PN}${SLOT}/data/meterpreter/ext_server_networkpug.lso + usr/lib*/${PN}${SLOT}/data/meterpreter/ext_server_stdapi.lso + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2013-2171.bin + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2014-3153.elf + usr/lib*/${PN}${SLOT}/data/exploits/mysql/lib_mysqludf_sys_32.so + usr/lib*/${PN}${SLOT}/data/exploits/* + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2012-6636/armeabi/libndkstager.so + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2012-6636/mips/libndkstager.so + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2012-6636/x86/libndkstager.so + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2013-2171.bin + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2013-6282.so + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2014-3153.so + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2016-4557/hello + usr/lib*/${PN}${SLOT}/data/exploits/CVE-2019-2215/exploit + usr/lib*/${PN}${SLOT}/data/templates/template_x86_linux_dll.bin + usr/lib*/${PN}${SLOT}/data/templates/template_armle_linux_dll.bin + usr/lib*/${PN}${SLOT}/data/templates/template_aarch64_linux.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/*/*/* + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/aarch64-linux-musl/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/aarch64-linux-musl/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/aarch64-linux-musl/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5b-linux-musleabi/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5b-linux-musleabi/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5b-linux-musleabi/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5l-linux-musleabi/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5l-linux-musleabi/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/armv5l-linux-musleabi/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/i486-linux-musl/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/i486-linux-musl/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips64-linux-muslsf/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips64-linux-muslsf/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips64-linux-muslsf/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips64-linux-muslsf/bin/sniffer.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mipsel-linux-muslsf/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mipsel-linux-muslsf/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mipsel-linux-muslsf/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mipsel-linux-muslsf/bin/sniffer.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips-linux-muslsf/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips-linux-muslsf/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips-linux-muslsf/bin/sniffer + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/mips-linux-muslsf/bin/sniffer.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/powerpc64le-linux-musl/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/powerpc64le-linux-musl/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/powerpc-linux-muslsf/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/powerpc-linux-muslsf/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/s390x-linux-musl/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/s390x-linux-musl/bin/mettle.bin + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/x86_64-linux-musl/bin/mettle + usr/lib*/${PN}${SLOT}/vendor/ruby/*/gems/metasploit_payloads-mettle-*/build/x86_64-linux-musl/bin/mettle.bin + " +QA_NO_DEPCHECK="${QA_PREBUILT}" + +pkg_setup() { + if use test; then + su postgres -c "dropdb msf_test_database" #this is intentionally allowed to fail + su postgres -c "createuser msf_test_user -d -S -R" + if [ $? -ne 0 ]; then + su postgres -c "dropuser msf_test_user" || die + su postgres -c "createuser msf_test_user -d -S -R" || die + fi + su postgres -c "createdb --owner=msf_test_user msf_test_database" || die + fi + ruby-ng_pkg_setup +} + +all_ruby_unpack() { + if [[ ${PV} == "9999" ]] ; then + git-r3_src_unpack + else + default_src_unpack +# mv "${WORKDIR}"/all/msf3/* "${WORKDIR}"/all +# rm -r msf3 + #msf_version=$(grep --color=never "CURRENT_VERSION =" ${S}/spec/lib/msf/core/framework_spec.rb) + #msf_version=${msf_version#*=} + fi +} + +all_ruby_prepare() { + # add psexec patch from pull request 2657 to allow custom exe templates from any files, bypassing most AVs + #epatch "${FILESDIR}/agix_psexec_pull-2657.patch" + eapply_user + + #remove random "cpuinfo" binaries which a only needed to detect which bundled john to run +# rm -r data/cpuinfo + + #remove unneeded ruby bundler versioning files + #Gemfile.lock contains the versions tested by the msf team but not the hard requirements + #we regen this file in each_ruby_prepare + rm Gemfile.lock + + #The Gemfile contains real known deps + sed -i "/gem 'fivemat'/s/, '1.2.1'//" Gemfile || die + #use released packetfu + sed -i "s/1.1.13.pre/1.1.13/" metasploit-framework.gemspec || die + #use the stable pg + #https://github.com/rapid7/metasploit-framework/issues/10234 + sed -i "s/dependency 'pg', '0.20.0'/dependency 'pg', '0.21.0'/" metasploit-framework.gemspec || die + #git gems are only for ruby24 support and we are not there yet + sed -i "/git:/d" Gemfile || die + + #now we edit the Gemfile based on use flags + if ! use pcap; then + sed -i -e "/^group :pcap do/,/^end$/d" Gemfile || die + fi + if ! use nexpose; then + sed -i -e "/nexpose/d" metasploit-framework.gemspec || die + fi + #no support for nessus right now + #if ! use nessus; then + sed -i -e "/nessus/d" metasploit-framework.gemspec || die + #fi + + #no support for aws-sdk right now + #if ! use aws; then + sed -i -e "/aws-sdk/d" metasploit-framework.gemspec || die + #fi + + #this version is old, remove it + sed -i -e "/openvas-omp/d" metasploit-framework.gemspec || die + #even if we pass --without=blah bundler still calculates the deps and messes us up + if ! use development; then + sed -i -e "/^group :development do/,/^end$/d" Gemfile || die + fi + if ! use test; then + sed -i -e "/^group :test/,/^end$/d" Gemfile || die + fi + if ! use test && ! use development; then + sed -i -e "/^group :development/,/^end$/d" Gemfile || die + fi + #We don't need simplecov + sed -i -e "/^group :coverage/,/^end$/d" Gemfile || die + sed -i -e "s#require 'simplecov'##" spec/spec_helper.rb || die + + #we need to edit the gemspec too, since it tries to call git instead of anything sane + #probably a better way to fix this... if I care at some point + sed -i -e "/^ spec.files/,/^ }/d" metasploit-framework.gemspec || die + + #https://bugs.gentoo.org/show_bug.cgi?id=584522 no tzinfo-data by choice in gentoo + sed -i '/tzinfo-data/d' metasploit-framework.gemspec || die + + #fails without faraday in Gemfile.lock + #despite activesupport(?) needing it, it doesn't end up there :-( + sed -i "/'activesupport'/a \ \ spec.add_runtime_dependency 'faraday'" metasploit-framework.gemspec + sed -i "/spec.add_runtime_dependency 'faraday'/d" metasploit-framework.gemspec + + sed -i "s|'hrr_rb_ssh', '0.3.0.pre2'|'hrr_rb_ssh'|" metasploit-framework.gemspec + + #let's bogart msfupdate + rm msfupdate + echo "#!/bin/sh" > msfupdate + echo "echo \"[*]\"" >> msfupdate + echo "echo \"[*] Attempting to update the Metasploit Framework...\"" >> msfupdate + echo "echo \"[*]\"" >> msfupdate + echo "echo \"\"" >> msfupdate + if [[ ${PV} == "9999" ]] ; then + echo "if [ -x /usr/bin/smart-live-rebuild ]; then" >> msfupdate + echo " smart-live-rebuild -f net-analyzer/metasploit" >> msfupdate + echo "else" >> msfupdate + echo " echo \"Please install app-portage/smart-live-rebuild for a better experience.\"" >> msfupdate + echo "emerge --oneshot \"=${CATEGORY}/${PF}\"" >> msfupdate + echo "fi" >> msfupdate + else + echo "echo \"Unable to update tagged version of metasploit.\"" >> msfupdate + echo "echo \"If you want the latest please install and eselect the live version (metasploit9999)\"" >> msfupdate + echo "echo \"emerge metasploit:9999 -vat && eselect metasploit set metasploit9999\"" >> msfupdate + fi + #this is set executable in src_install + + #install our database.yml file before tests are run + cp "${FILESDIR}"/database.yml config/ + +} + +each_ruby_prepare() { + GEM_HOME="${T}" MSF_ROOT="." BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle install --local || die + GEM_HOME="${T}" MSF_ROOT="." BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle check || die + + #force all metasploit executables to use desired ruby version + #https://dev.metasploit.com/redmine/issues/8357 + for file in $(ls -1 msf*) + do + #poorly adapted from python.eclass + sed -e "1s:^#![[:space:]]*\([^[:space:]]*/usr/bin/env[[:space:]]\)\?[[:space:]]*\([^[:space:]]*/\)\?ruby\([[:digit:]]\+\(\.[[:digit:]]\+\)\?\)\?\(\$\|[[:space:]].*\):#!\1\2${RUBY}:" -i "${file}" || die "Conversion of shebang in '${file}' failed" + done +} + +each_ruby_test() { + #review dev-python/pymongo for ways to make the test compatible with FEATURES=network-sandbox + + #we bogart msfupdate so no point in trying to test it + rm spec/msfupdate_spec.rb || die + #we don't really want to be uploading to virustotal during the tests + rm spec/tools/virustotal_spec.rb || die + + # https://dev.metasploit.com/redmine/issues/8425 + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle exec rake db:create || die + GEM_HOME="${T}" BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle exec rake db:migrate || die + + GEM_HOME="${T}" MSF_DATABASE_CONFIG=config/database.yml BUNDLE_GEMFILE=Gemfile ${RUBY} -S bundle exec rake || die + su postgres -c "dropuser msf_test_user" || die "failed to cleanup msf_test-user" +} + +each_ruby_install() { + #Tests have already been run, we don't need this stuff + rm -r spec || die + rm -r test || die + rm Gemfile.lock || die + + #I'm 99% sure that this will only work for as long as we only support one ruby version. Creativity will be needed if we wish to support multiple. + # should be as simple as copying everything into the target... + dodir /usr/lib/${PN}${SLOT} + cp -R * "${ED}"/usr/lib/${PN}${SLOT} || die "Copy files failed" + rm -Rf "${ED}"/usr/lib/${PN}${SLOT}/documentation "${ED}"/usr/lib${PN}${SLOT}/README.md + fowners -R root:0 / + +} + +all_ruby_install() { + # do not remove LICENSE, bug #238137 + dodir /usr/share/doc/${PF} + cp -R {documentation,README.md} "${ED}"/usr/share/doc/${PF} || die + ln -s "../../share/doc/${PF}/documentation" "${ED}/usr/lib/${PN}${SLOT}/documentation" + + fperms +x /usr/lib/${PN}${SLOT}/msfupdate + + #tell revdep-rebuild to ignore binaries meant for the target + dodir /etc/revdep-rebuild + cat <<-EOF > "${ED}"/etc/revdep-rebuild/99-metasploit${SLOT} + #These dirs contain prebuilt binaries for running on the TARGET not the HOST + SEARCH_DIRS_MASK="/usr/lib/${PN}${SLOT}/data/meterpreter" + SEARCH_DIRS_MASK="/usr/lib/${PN}${SLOT}/data/exploits" + EOF +} + +pkg_postinst() { + elog "Before use you should run 'env-update' and '. /etc/profile'" + elog "otherwise you may be missing important environmental variables." + + elog "You need to prepare the database by running:" + elog "emerge --config postgresql" + elog "/etc/init.d/postgresql- start" + elog "emerge --config =metasploit-${PV}" + + "${EROOT}"/usr/bin/eselect metasploit set --use-old ${PN}${SLOT} + + einfo + elog "Adjust /usr/lib/${PN}${SLOT}/config/database.yml if necessary" +} + +pkg_config() { + einfo "If the following fails, it is likely because you forgot to start/config postgresql first" + su postgres -c "createuser msf_user -D -S -R" + su postgres -c "createdb --owner=msf_user msf_database" +} diff --git a/profiles/pentoo/base/package.accept_keywords/dev-ruby b/profiles/pentoo/base/package.accept_keywords/dev-ruby index 3e9927e10..684ea362e 100644 --- a/profiles/pentoo/base/package.accept_keywords/dev-ruby +++ b/profiles/pentoo/base/package.accept_keywords/dev-ruby @@ -20,6 +20,14 @@ dev-ruby/autoprefixer-rails:10 ~dev-ruby/sassc-rails-2.1.2 =dev-ruby/mimemagic-0.3* +#rails 6.0 +~dev-ruby/railties-6.0.3.7 +~dev-ruby/actionview-6.0.3.7 +~dev-ruby/activemodel-6.0.3.7 +~dev-ruby/activesupport-6.0.3.7 +~dev-ruby/activerecord-6.0.3.7 +~dev-ruby/actionpack-6.0.3.7 + #ruby24 ~dev-ruby/colorize-0.8.1 @@ -60,6 +68,7 @@ dev-ruby/windows_error ~dev-ruby/pg-0.20.0 ~dev-ruby/regexp_parser-0.4.3 dev-ruby/metasploit_payloads-mettle +=dev-ruby/rexml-3.2* dev-ruby/rex-core dev-ruby/rex-socket dev-ruby/rex-ole @@ -95,7 +104,6 @@ dev-ruby/pg_array_parser dev-ruby/metasploit-concern dev-ruby/metasploit-credential dev-ruby/metasploit-payloads -dev-ruby/metasploit_data_models dev-ruby/meterpreter_bins =dev-ruby/openssl-ccm-1.2* =dev-ruby/sawyer-0.8*