diff --git a/app-admin/eselect-metasploit/Manifest b/app-admin/eselect-metasploit/Manifest new file mode 100644 index 000000000..bd2420a98 --- /dev/null +++ b/app-admin/eselect-metasploit/Manifest @@ -0,0 +1,2 @@ +AUX metasploit.eselect-0.1 4629 SHA256 71159ab40077f05d099294b26e7bd40b9d36bca35d26b30d76b5fa016e3b64fe SHA512 ea26e8f4319fde16cc55d0fa26d2f6d39dcc75cfb9b78c14a7367ea7aaa5b678606a5adac7c4ac9194f4b9483c2a72f779a6aa744b0fd3493b8168e063df7a1a WHIRLPOOL 6e6d785a05726d2891a8975d6b0080deb9934d35853d2fa5ea5feeb6626cf9a112301318c33dcaea9c7145e92b96b7a01a3bc13cae61f99eea5041a80f4013b1 +EBUILD eselect-metasploit-0.1.ebuild 650 SHA256 410adea739a778c037d5d91172d623d315808f62d31b72f2cfa62b98c39fa7cc SHA512 fbb0d87cc71a0c81334b900d2c2450f7c1408a70e19df744c414b8f2ebb57eb3eb74c53d4cfd6b390fe64e3e2b278151b6ef87dc826c17e8608edf9d0e356bd7 WHIRLPOOL c80c81113e0b926d865807df248e8034e2fd87d7c8ec5203b054e6866982664eee18e73dd1e4dbdb64711e320edce75cf9e687e80580ffe95a93974f2c780d64 diff --git a/app-admin/eselect-metasploit/eselect-metasploit-0.1.ebuild b/app-admin/eselect-metasploit/eselect-metasploit-0.1.ebuild new file mode 100644 index 000000000..3bbdad39a --- /dev/null +++ b/app-admin/eselect-metasploit/eselect-metasploit-0.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +DESCRIPTION="eselect module for metasploit" +HOMEPAGE="http://www.pentoo.ch/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="" + +DEPEND="app-admin/eselect" +RDEPEND="${DEPEND}" + +S=${WORKDIR} + +src_install() { + insinto /usr/share/eselect/modules + newins "${FILESDIR}/metasploit.eselect-${PV}" metasploit.eselect +} + +pkg_postinst() { + elog "To switch between installed slots, execute as root:" + elog " # eselect metasploit set [slot number]" +} diff --git a/net-analyzer/metasploit/files/metasploit.eselect b/app-admin/eselect-metasploit/files/metasploit.eselect-0.1 similarity index 50% rename from net-analyzer/metasploit/files/metasploit.eselect rename to app-admin/eselect-metasploit/files/metasploit.eselect-0.1 index 2d48fc2c1..1b013c8a4 100644 --- a/net-analyzer/metasploit/files/metasploit.eselect +++ b/app-admin/eselect-metasploit/files/metasploit.eselect-0.1 @@ -3,12 +3,28 @@ # Distributed under the terms of the GNU General Public License v2 or later # $ -DESCRIPTION="Manage the /usr/lib/metasploit" +DESCRIPTION="Control which metaploit version is active" MAINTAINER="zerochaos@pentoo.ch" SVN_DATE='$Date: 2011-09-25 15:27:36 +0200 (Sun, 25 Sep 2011) $' VERSION=$(svn_date_to_version "${SVN_DATE}") -MSFPATH="/usr/lib/metasploit" +###WARNING: don't even think of using this insanity for a reference (but it works) +#base idea from kernel.eselect, get_libdir from php.eselect with --use-old from opencl.eselect +#all modified randomly until it worked +###/WARNING + +inherit multilib + +get_libdir() { + local dir + if has lib64 $(list_libdirs); then + echo lib64 + return + fi + echo lib +} + +MSFPATH="/usr/$(get_libdir)/metasploit" # find a list of metasploit symlink targets and sort them find_targets() { @@ -20,7 +36,11 @@ find_targets() { # remove the metasploit symlink remove_symlink() { - rm "${EROOT}${MSFPATH}" + for i in $(qlist metasploit | grep $(canonicalise "${EROOT}${MSFPATH}")/msf) + do + unlink /usr/bin/$(echo ${i} | awk -F'/' '{print $5}') + done + unlink "${EROOT}${MSFPATH}" } # set the metasploit symlink @@ -34,15 +54,38 @@ set_symlink() { if [[ -z ${target} ]]; then die -q "Target \"$1\" doesn't appear to be valid!" - elif [[ -d ${EROOT}/usr/lib/${target} ]]; then + #this stanza doesn't appear to be needed... + elif [[ -d ${EROOT}/usr/$(get_libdir)/${target} ]]; then ln -s "${target}" "${EROOT}${MSFPATH}" + for i in $(qlist metasploit | grep /usr/$(get_libdir)/${target}/msf) + do + ln -s ${i} /usr/bin/$(echo ${i} | awk -F'/' '{print $5}') + done elif [[ -d ${EROOT}${MSFPATH}${target} ]]; then ln -s "metasploit${target}" "${EROOT}${MSFPATH}" + for i in $(qlist metasploit | grep /usr/$(get_libdir)/${target}/msf) + do + ln -s ${i} /usr/bin/$(echo ${i} | awk -F'/' '{print $5}') + done else die -q "Target \"$1\" doesn't appear to be valid!" fi } +# wrapper to safely set the symlink +set_symlink_safe() { + if [[ -L ${EROOT}${MSFPATH} ]]; then + # existing symlink + remove_symlink || die -q "Couldn't remove existing symlink" + set_symlink "$1" || die -q "Couldn't set a new symlink" + elif [[ -e ${EROOT}${MSFPATH} ]]; then + # we have something strange + die -q "${EROOT}${MSFPATH} exists but is not a symlink" + else + set_symlink "$1" || die -q "Couldn't set a new symlink" + fi +} + ### show action ### describe_show() { @@ -88,21 +131,61 @@ describe_set_parameters() { } describe_set_options() { - echo "target : Target name or number (from 'list' action)" + echo " : Target name or number (from 'list' action)" + echo "--use-old : If an implementation is already set, use that one instead" } do_set() { - [[ -z $1 ]] && die -q "You didn't tell me what to set the symlink to" - [[ $# -gt 1 ]] && die -q "Too many parameters" + local action="error" + local current=$(canonicalise "${EROOT}${MSFPATH}") + local available=$(find_targets) + local new + local opt - if [[ -L ${EROOT}${MSFPATH} ]]; then - # existing symlink - remove_symlink || die -q "Couldn't remove existing symlink" - set_symlink "$1" || die -q "Couldn't set a new symlink" - elif [[ -e ${EROOT}${MSFPATH} ]]; then - # we have something strange - die -q "${EROOT}${MSFPATH} exists but is not a symlink" - else - set_symlink "$1" || die -q "Couldn't set a new symlink" - fi + while [[ ${#@} -gt 0 ]] ; do + opt=$1 + shift + case ${opt} in + --use-old) + if [[ -n ${current} ]] && has ${current} ${available}; then + action="old-implementation" + fi + ;; + *) + if [[ ${action} != "old-implementation" ]] ; then + action="set-implementation" + fi + + if is_number ${opt} ; then + #targets=( $(get_implementations) ) + new=${available[$(( ${opt} - 1 ))]} + if [[ -z ${new} ]] ; then + die -q "Unrecognized option: ${opt}" + fi + elif has ${opt} ${available}; then + new="${opt}" + else + die -q "Unrecognized option: ${opt}" + fi + ;; + esac + done + + case ${action} in + old-implementation) + set_symlink_safe ${current} + return $? + ;; + set-implementation) + if [[ -n ${new} ]] ; then + set_symlink_safe ${new} + return $? + else + die -q "Please specify an implementation to set" + fi + ;; + *) + die -q "Invalid usage of set action." + ;; + esac } diff --git a/net-analyzer/metasploit/Manifest b/net-analyzer/metasploit/Manifest index f49f545a6..6750de19f 100644 --- a/net-analyzer/metasploit/Manifest +++ b/net-analyzer/metasploit/Manifest @@ -1,17 +1,16 @@ -AUX 91metasploit 47 RMD160 7a27dd437a6f9e029ce5bca621950c7de0d77c4f SHA1 84ea81f720804e1e0d0d4ce4c1963e0f459cee21 SHA256 44b9ae0a0966d54d23489c6be55b2c4aa14ac66c1a1ea1cee55ffb7d70be510b -AUX armitage.yml 481 RMD160 d2f742ce1660a4ad43859b2ff6468d33716c2c74 SHA1 731283171a27cb2f4617c73df4ce0da6dcd3aef7 SHA256 2db3df7b05f28aa5ba6d6dedc32d8d1a2e24e020d6fd8aea15b2e76ed0f6ab46 -AUX hashdump2_script_6ac6c1d.rb 11382 RMD160 faabc47a80ae4a76f42a6364c08c38b961506555 SHA1 65a2db4982f240767b7e69b694cd900c8f908fa5 SHA256 2535f9d3bac1f559b4e5d827e5847b08fe0477bbcb8585960ad45ff15ab30c63 -AUX metasploit.eselect 2651 RMD160 5184fe923041da540bae0164e0c49af6622c6b53 SHA1 49538db933a284e48c64f06918e698d03fc2c1ab SHA256 c9c5ef85060b9ff1f07fb4707a7e476b3207ebc5d98d0ca8b70ca6cd115fb0d5 -AUX metasploit.icon 7630 RMD160 4289bddb6b240c8ab94f309cd32dfdd23fc4aa99 SHA1 3bab78d9b905d32ead2e3be13f8fd6553d097dd3 SHA256 d197dd3b939c35d951c2cd5c19b51200ada7f8f92d90775a9eaebdccf18e3949 -AUX msfrpcd.confd 443 RMD160 03cafbafba9af1f6a4e70810942f11b7086dc98f SHA1 fb4c3aab4b1e38ddeaeafe69b1e72ce81fba3505 SHA256 8d29b5975f1c91ecd6ec552b04e8fc82e0a6fe2c782d6b214544d9a01f73eeb3 -AUX msfrpcd.initd 622 RMD160 d5923c49a9a7a4e6010c2b2e8927d13dfee8e9ef SHA1 9c664a4f8b6df69ec859e5bdcd71908b8f43856d SHA256 d6b7f865ccd3d7795e65886e2e46ce023aa56b519c12a9f41616ff21988579c9 -AUX msfweb.confd 273 RMD160 35c10406c74e431aa592c7af6d14f813ad18b984 SHA1 66cff0fe0423baa89ffdd3745b7195ae0f0bf273 SHA256 006040ecd27dc0279c2bea6d69365fe1f0d66f507c039ae43720662abe9f4460 -AUX msfweb.initd 533 RMD160 44f94381ae9488fb2e3c6f700458798b692971d7 SHA1 9b62d7d85af34430dda55a192460caae258ba978 SHA256 4fd9668e4b467ecfa5160e2c108ac8ace71fbeaefaf829d2f7bfb566d44bb13c -AUX smart_hasdump_script_6ac6c1d.rb 15510 RMD160 3ff084bf3b86df1fa37499b004ca040161b324b8 SHA1 3795c23ae5160fdc13ba1d9c7f05e3893ff6f4e9 SHA256 66dec160dd9cc2fee2f8de11bf433f40baa1f41734ecf62aca9a32e0ca8a438f -DIST framework-2.7.tar.gz 5800216 RMD160 cfdf2705522c845bb4405413207a7df0f3873b94 SHA1 da5d41dfa13e549aacd4fbf2994877cbe80ceed9 SHA256 516952772aaa8982628460b927c9119850925f870903c5a131a9c9f0390cf77f -DIST framework-4.4.0.tar.bz2 148529027 RMD160 c7c287f76f4ffbdec5b867b11f36d241762e34d6 SHA1 4188c1727364fff857ff1a58cb3f95a5f376cfb1 SHA256 ddcc7890a394d8154120a163c90b11119a0322b62d937ad1a3a14ef3fe6cf74e -DIST jboss_seam_remote_command_rb 3412 RMD160 c577b1bd75943f2ddceea3161bc1037dd0150c2f SHA1 b858c726d3ee26317726635373d5db3b7eeb774d SHA256 c87f1cc1b82ed105c7bf551db7e3bad0a787244c4cdd124015a3ff24cedd23df -DIST vbsmem-1.2.1.patch 69002 RMD160 281461151b0d1e453ee613326f4457eebaddebaa SHA1 883a582552e00102be452a2a0105b9e016b3dccc SHA256 7991a5629c562817919c9bb1c8f0a3bdcd1c63cf9b9f32f322d1d266416589d2 -EBUILD metasploit-2.7-r1.ebuild 1689 RMD160 c042574474bb0d98280c87221aaa059e4cd19c1a SHA1 153b6db16f42488af570ebafc466935848f137f0 SHA256 160811ff63adbdad713edf6c74375d4cd8463df5492bb0250f72fe772ee24fa8 -EBUILD metasploit-4.4.0.ebuild 8320 RMD160 206d9b613d21f8d95fd4c66446ce13d14162da56 SHA1 944c58d51b01f20387f4d7a132493c11f2a61ce3 SHA256 99adb5e88b2e6577203e633125847038880ae346df75312302ce1be53f91c1c4 -EBUILD metasploit-9999.ebuild 10431 RMD160 caa38e17802e19560f0c39dfe43cfb982af515c0 SHA1 fabfaaf21de0968e8c146519e1fa5487535b2bf7 SHA256 975efc2e865830408aa1a0b5a42a0360177f77edb6b669ae04496ab47d112256 +AUX 91metasploit 47 SHA256 44b9ae0a0966d54d23489c6be55b2c4aa14ac66c1a1ea1cee55ffb7d70be510b SHA512 c344fd30bed2d5ec552dfea54dd0867372afa6659a239212f053a358566a2a2ea742ffd945112e6250333b7e1380e9075a7c4990a74a8e37ef9b99c3dd395fdb WHIRLPOOL 5cb4c988c60190b85add61f94bcf2373af9bc9ca36d1b3663305a20ab5eacc635ce53937f4342a364b73e58914453fcd10c961f25c1ef1bda616930e0ca1b1a2 +AUX armitage.yml 481 SHA256 2db3df7b05f28aa5ba6d6dedc32d8d1a2e24e020d6fd8aea15b2e76ed0f6ab46 SHA512 98a83f972f78ee63d241b58fbdce3171a24b2435371d46cad609f2f2ad50a5853cbfda5cf4632cfd9e69b2fb7ba3ce3c6aa765c7b44fbeb3eed868ffc068241d WHIRLPOOL ac85e47c26dcf56d69028af91513802767a2243ff52f6e031d447dfbda9120bd6436b4a0c6ab118cf3fd09dc3b47613e4e75c8ef83f4528783402bba1ab5e2ba +AUX hashdump2_script_6ac6c1d.rb 11382 SHA256 2535f9d3bac1f559b4e5d827e5847b08fe0477bbcb8585960ad45ff15ab30c63 SHA512 230f3ac021f768a2e00105c0a8b348e4b06ca16272590e9bc552b56741531feeb6e0ad44ef5ecd2cfd54e2dc67c6b5c500a81c061e847e6c43844a47e70c8fbc WHIRLPOOL dcbb80336a83a1ab0fee16b282fa4dec8c20fc00716d0d4fff6d963eb42d13671dda47732e87fe07f21b2da619fc6e14e9ba3e41f3f0eee2e10f665b5150a96a +AUX metasploit.icon 7630 SHA256 d197dd3b939c35d951c2cd5c19b51200ada7f8f92d90775a9eaebdccf18e3949 SHA512 569db261a3782f3874c30ccaf076be512437a9a5a9df835baf29bacec48dd76b2896e009b5ab165ba82aff72ab15d067155f257787e69c3a7cd034dafa5a9066 WHIRLPOOL 3f66eb2a3b51dc787f5da6b2fd93165fdca3e9ae391db0ea69cb0ea5c6c1d9f2d85fffbdb117da4065e0b3e29daa5b7d7e62740cd3210768aa0cfc4a63679376 +AUX msfrpcd.confd 443 SHA256 8d29b5975f1c91ecd6ec552b04e8fc82e0a6fe2c782d6b214544d9a01f73eeb3 SHA512 7e3b5d3c8b4893a8827ddb1d10e17ef9af17f83f2a484b16710c286fa73296cd9418ed7aed22ad3e65bf0cf693d75ba7a9ba5230ac62582ddfa0638e9fa1e5f5 WHIRLPOOL 24cea4e764b5691ef396079823623c3d0469151b228584e67497a9ed7a8983741413fd80690dceb222eedb281b247b36f28f1515a25ad4a78bac697228386b93 +AUX msfrpcd.initd 622 SHA256 d6b7f865ccd3d7795e65886e2e46ce023aa56b519c12a9f41616ff21988579c9 SHA512 953427c5b8057d017a4cc961abae82c22a5f63f41d16022c715e62d208990520b7bca37411e0007339dcc24681a0051e2f1df9f68deb359ddf5aca52d21cd588 WHIRLPOOL bff444363de9cd7f91cc5da3140eb07d8db56100f9ba357ff4e7d0604487c2aec8948ef3cb5518a8c5d53a51fc9e25228caf19d5d63bcbdfac1805d157d6a5a7 +AUX msfweb.confd 273 SHA256 006040ecd27dc0279c2bea6d69365fe1f0d66f507c039ae43720662abe9f4460 SHA512 58481d69f99bec1644188ecb5f67249c3c85c12ae65d46643c3daf42b5221f8d1b025ea318ed6d11557cbc16e50acc5eaabb99162d538518265755ebcdb042ab WHIRLPOOL 1cbb5a5ff20eb90f7db6f5523bf8834cfd5aa2c98e378408e418f388993af661273257112db2ebcd950bfa9243e9f19ba4a5262fd2bccc7cc6276658f86115bb +AUX msfweb.initd 533 SHA256 4fd9668e4b467ecfa5160e2c108ac8ace71fbeaefaf829d2f7bfb566d44bb13c SHA512 ec8eb9c09191d273417174c23d2fb1a3d27939a74b010fa33ca696bcce88e9c81d6cc1e6ebff90ea97cb6d730776364de4560db1bed10516ba4a7030e7233a53 WHIRLPOOL dec6ca3cf45ac4e6cea35266df1342b4dcdb3f813dc90820603f23e9d62ee67a9633de17d747cc12d7cb9c982e8868559896c2f8c42540a5005f485045d9730a +AUX smart_hasdump_script_6ac6c1d.rb 15510 SHA256 66dec160dd9cc2fee2f8de11bf433f40baa1f41734ecf62aca9a32e0ca8a438f SHA512 5ba223e500061828f82df71be060542c520e6c955a91c9f808f0ec99830d003469b79c0945c8cfce78ff5d37029579636f7aaa5be500df14d50ddae630c3a7c5 WHIRLPOOL 85d1bcebaa2e4de24f879da4cc29aa43185ec80ed0c331319f7189f3767a9922445cba693417f08f6dddc1d17986d7ac86d29f4902c744908066578161d180d5 +DIST framework-2.7.tar.gz 5800216 SHA256 516952772aaa8982628460b927c9119850925f870903c5a131a9c9f0390cf77f +DIST framework-4.4.0.tar.bz2 148529027 SHA256 ddcc7890a394d8154120a163c90b11119a0322b62d937ad1a3a14ef3fe6cf74e +DIST jboss_seam_remote_command_rb 3412 SHA256 c87f1cc1b82ed105c7bf551db7e3bad0a787244c4cdd124015a3ff24cedd23df SHA512 bc1bfa174086534ef0ac3168d072209dc7c944d4ad4f9f0841c45b748bedf4eb0464d19c018ac20c6dd0c8c52cde136d4c30b407f251477c33feebf3daa4ef7d WHIRLPOOL 4478404af4df5b2f723e52907c294a6d788a50dd1c9ed6d630b8302f8cd4d4a32942599a7397574d99eb10148af75eb51c1e33ec2b762ab8dbeff9a35ce56300 +DIST vbsmem-1.2.1.patch 69002 SHA256 7991a5629c562817919c9bb1c8f0a3bdcd1c63cf9b9f32f322d1d266416589d2 SHA512 c68a246ad8b06f902148a5b63d0d47571fc075109e73aad302cec56cab436ba8e377e2fe5c3760d2a6834fb48b3a0bd345fc572b02b027f393612598f6a041e0 WHIRLPOOL 87a720033db70e8a1534889ecfa811b3b2fb5bf3dee64fa798ab8065d3f8a9d448991e0d1db52b1bf7a123bd536531a6be0d98a69090dadc7921097d876ed9ea +EBUILD metasploit-2.7-r1.ebuild 1831 SHA256 0a79d6da73d6d1ef52d585674de9b7ffae4756bbd8ee524f0f9cb22a330facb8 SHA512 fb4a09d078623dd98a98dea701adfedaf94bd47ac40b9692b7494022e829658e1f3ef59ab1a83000e99792fe118c54971c1b449ab1bb8b098d9275741037794f WHIRLPOOL 5eb501477942b5c523ae206347efb4672563e6bd1f1312589d16a585d31fd1696d0a2ba4f63e635d05e86997a71352c42190ccf7be95d88026da46abcb601fd3 +EBUILD metasploit-4.4.0.ebuild 8455 SHA256 5edff048b34418f1b7f20ba85b8e00e095b8ea85bc4756f6970486444a7fcd06 SHA512 f7d8890de2bde1375cba00ee6c9668fa1581281a31ac68e074df43c0721cd186f77e8903932d5ebf4fdf9c6a0a0c7a1e2f5a346249023822b109c06f4c8d282b WHIRLPOOL 9f45ab950e6b4c1bfc1c75832921f94cad398c2a7af4b9c30e35e8a0aa13c530cbd704578e72edabdf3f7a87d85b019fc5b20ca4d1e0c8d4a479e1ee96b35df7 +EBUILD metasploit-9999.ebuild 10284 SHA256 5b263b94816ef9b2a0d219a8e62d9b54564e5236b070fbe4ed440aa9c8391f87 SHA512 aa239cf6a611c06541c99e72b37cfc44a15af2bd033a1362485e9c118dcfe23404c28ad8f12c104339f16fa51a3085c07e135137681522f5ff4bdf8566e7401b WHIRLPOOL 3362955b165c8d375003b44177f1cdafa4d7f61bd1d4b3a60d1915ba5a853e85532fc60b26d9efdaabc17aa6aa2e502d809149cac5e7918d527fcfffbe9d49ce diff --git a/net-analyzer/metasploit/metasploit-2.7-r1.ebuild b/net-analyzer/metasploit/metasploit-2.7-r1.ebuild index ce5874376..fae60e0bc 100644 --- a/net-analyzer/metasploit/metasploit-2.7-r1.ebuild +++ b/net-analyzer/metasploit/metasploit-2.7-r1.ebuild @@ -17,6 +17,7 @@ SLOT="2.7" KEYWORDS="amd64 ppc ~sparc x86" IUSE="" +DEPEND="app-admin/eselect-metasploit" RDEPEND="dev-lang/perl dev-perl/Net-SSLeay dev-perl/Term-ReadLine-Perl @@ -34,7 +35,8 @@ src_install() { # and creating symlinks in the /usr/bin dir dodir /usr/bin/ cd "${ED}"/usr/bin - ln -s ../$(get_libdir)/${PN}${SLOT}/msf* ./ || die + #handled by metasploit.eselect now + #ln -s ../$(get_libdir)/${PN}${SLOT}/msf* ./ || die chown -R root:0 "${D}" newinitd "${FILESDIR}"/msfweb.initd msfweb || die "newinitd failed" @@ -42,6 +44,8 @@ src_install() { } pkg_postinst() { + "${EROOT}"/usr/bin/eselect metasploit set --use-old ${PN}${SLOT} + elog "To update metasploit modules run:" elog " # cd /usr/$(get_libdir)/metasploit${SLOT} && svn update" } diff --git a/net-analyzer/metasploit/metasploit-4.4.0.ebuild b/net-analyzer/metasploit/metasploit-4.4.0.ebuild index 958f374e9..a6ff1dd0f 100644 --- a/net-analyzer/metasploit/metasploit-4.4.0.ebuild +++ b/net-analyzer/metasploit/metasploit-4.4.0.ebuild @@ -41,7 +41,7 @@ RDEPEND="dev-lang/ruby[ssl] armitage? ( net-analyzer/nmap ) lorcon? ( net-wireless/lorcon-old ) lorcon2? ( net-wireless/lorcon )" -DEPEND="" +DEPEND="app-admin/eselect-metasploit" RESTRICT="strip" @@ -103,10 +103,11 @@ src_install() { cp -R "${S}"/{documentation,README.md,THIRD-PARTY.md} "${ED}"/usr/share/doc/${PF} || die dosym /usr/share/doc/${PF}/documentation /usr/$(get_libdir)/${PN}${SLOT}/documentation - dodir /usr/bin/ - for file in msf*; do - dosym /usr/$(get_libdir)/${PN}${SLOT}/${file} /usr/bin/${file} - done + #handled by metasploit eselect now + #dodir /usr/bin/ + #for file in msf*; do + # dosym /usr/$(get_libdir)/${PN}${SLOT}/${file} /usr/bin/${file} + #done newinitd "${FILESDIR}"/msfrpcd.initd msfrpcd${SLOT} newconfd "${FILESDIR}"/msfrpcd.confd msfrpcd${SLOT} @@ -198,6 +199,8 @@ src_install() { } pkg_postinst() { + "${EROOT}"/usr/bin/eselect metasploit set --use-old ${PN}${SLOT} + if use postgres; then elog "You need to prepare the database as described on the following page:" elog "https://community.rapid7.com/docs/DOC-1268" diff --git a/net-analyzer/metasploit/metasploit-9999.ebuild b/net-analyzer/metasploit/metasploit-9999.ebuild index e36b47142..09f58f5bb 100644 --- a/net-analyzer/metasploit/metasploit-9999.ebuild +++ b/net-analyzer/metasploit/metasploit-9999.ebuild @@ -18,7 +18,7 @@ HOMEPAGE="http://www.metasploit.org/" SLOT="9999" LICENSE="BSD" KEYWORDS="~amd64 ~arm ~x86" -IUSE="+armitage eselect gui +kissfft unstable lorcon lorcon2 +pcaprub +postgres serialport" +IUSE="+armitage gui +kissfft unstable lorcon lorcon2 +pcaprub +postgres serialport" REQUIRED_USE="armitage? ( postgres )" @@ -40,7 +40,7 @@ RDEPEND="dev-lang/ruby[ssl] armitage? ( net-analyzer/nmap ) lorcon? ( net-wireless/lorcon-old ) lorcon2? ( net-wireless/lorcon )" -DEPEND="" +DEPEND="app-admin/eselect-metasploit" RESTRICT="strip" @@ -102,10 +102,11 @@ src_install() { cp -R "${S}"/{documentation,README.md,THIRD-PARTY.md} "${ED}"/usr/share/doc/${PF} || die dosym /usr/share/doc/${PF}/documentation /usr/$(get_libdir)/${PN}${SLOT}/documentation - dodir /usr/bin/ - for file in msf*; do - dosym /usr/$(get_libdir)/${PN}${SLOT}/${file} /usr/bin/${file} - done + #handled by eselect-metasploit now + #dodir /usr/bin/ + #for file in msf*; do + # dosym /usr/$(get_libdir)/${PN}${SLOT}/${file} /usr/bin/${file} + #done newinitd "${FILESDIR}"/msfrpcd.initd msfrpcd${SLOT} newconfd "${FILESDIR}"/msfrpcd.confd msfrpcd${SLOT} @@ -198,23 +199,18 @@ src_install() { doenvd "${FILESDIR}"/91metasploit #while we are commiting fixes for filth, let's bogart msfupdate -# echo "#!/bin/sh" > "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate -# echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate -# echo "echo \"[*] Attempting to update the Metasploit Framework...\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate -# echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate -# echo "echo \"\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate -# echo "ESVN_REVISION=HEAD emerge --oneshot \"=${CATEGORY}/${PF}\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "#!/bin/sh" > "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*] Attempting to update the Metasploit Framework...\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"[*]\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "echo \"\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate + echo "ESVN_REVISION=HEAD emerge --oneshot \"=${CATEGORY}/${PF}\"" >> "${ED}"/usr/$(get_libdir)/${PN}${SLOT}/msfupdate use gui && make_desktop_entry msfgui${SLOT} \ "Metasploit Framework" \ metasploit \ 'GNOME;System;Network;' && doicon "${FILESDIR}"/metasploit.icon - - if use eselect; then - insinto /usr/share/eselect/modules - newins "${FILESDIR}/metasploit.eselect" metasploit.eselect - fi } pkg_postinst() { @@ -223,6 +219,8 @@ pkg_postinst() { elog "https://community.rapid7.com/docs/DOC-1268" fi + "${EROOT}"/usr/bin/eselect metasploit set --use-old ${PN}${SLOT} + elog "If you wish to update ${PN}${SLOT} manually simply run:" elog elog "ESVN_REVISION= emerge =${PF}" @@ -244,11 +242,6 @@ pkg_postinst() { elog "You can do similar things in paludis using /etc/paludis/bashrc." elog elog "Adjust /usr/$(get_libdir)/${PN}${SLOT}/armitage.yml and /etc/conf.d/msfrpcd${PV} files if necessary" - if use eselect; then - elog - elog "To switch between installed slots, execute as root:" - elog " # eselect metasploit set [slot number]" - fi elog "You might need to run env-update and relogin" elog }