diff options
Diffstat (limited to 'net-misc/dropbear')
-rw-r--r-- | net-misc/dropbear/Manifest | 6 | ||||
-rw-r--r-- | net-misc/dropbear/dropbear-2022.82.ebuild | 36 | ||||
-rw-r--r-- | net-misc/dropbear/dropbear-2022.83.ebuild | 166 | ||||
-rw-r--r-- | net-misc/dropbear/files/dropbear-2022.82-tests.patch | 25 |
4 files changed, 229 insertions, 4 deletions
diff --git a/net-misc/dropbear/Manifest b/net-misc/dropbear/Manifest index e77c6373527d..b2e8889afe95 100644 --- a/net-misc/dropbear/Manifest +++ b/net-misc/dropbear/Manifest @@ -1,10 +1,14 @@ AUX dropbear-0.46-dbscp.patch 432 BLAKE2B 93f27fb4f5806d7a5e637ccc3ed14b6929d25b395d4731807895761a3cec76de8fcc154db85bb4913214ecac4f65a85489e0091d36c213be38b7b1f7719d5694 SHA512 071a346dbd98490a1ad967b582bb54ef07c45bb25e3b130eb7f22405dd361d6a54061a800e687385f37b2efd4057efcac8e4d07506b9100e51a334c0be12e2d6 +AUX dropbear-2022.82-tests.patch 820 BLAKE2B 8b8d7bbc80962fd4be56078d54c12097bd6cedf8cf11ca1b07a3fb39ebd795e3be9f2183482e7e3b06d1be644a2b9afcde372362c6cd4a2baf8f3254cc63b00a SHA512 4ddc65f2e1e86f50fff732d3141b18a3a5260755715e46bcfb5c5e4a261f9c22dff48c19797de972f61b9bb526d0b93f067832c38229c2c1a7e630d30dfcba01 AUX dropbear-2022.82-x11.patch 636 BLAKE2B 89e95851d9f184d215f1e6ffd972f9519be8ef0c153d49306c3fe09b97c8e3ae4b8c1705c0f1532681c4d5e49f17f6f85f8c75667f2340d3cdd1a1e52a9795cf SHA512 ceacd4776d3c7b4c830bdded66e61b77c8e267fdcc0f0b42fd0ad4981610bdcfca98e2dc14c48eac5681035f2e7f0644553dfb419424d1536bf4f7b81e577f6c AUX dropbear.conf.d 190 BLAKE2B b89e59ae84f23f00162d78cb900e4fef05fe01123a6ee7533ed3d39625f43580012591b2cf8dcc9ea5f093a64d3ed81fa590c44389bacb369b9123929ca2bb69 SHA512 83f2c1eaf7687917a4b2bae7d599d4378c4bd64f9126ba42fc5d235f2b3c9a474d1b3168d70ed64bb4101cc251d30bc9ae20604da9b5d819fcd635ee4d0ebb0f AUX dropbear.init.d 731 BLAKE2B d858b35872eb72dacb85baed47882a9909a2530e3a9537a10adaeaf3d77da49808fdb8490124d29379c7b61272ea7d1867477046c1700d3cf216b4fc4f8c8f25 SHA512 5087cdb36194d55bf6d5ce27852b17f1ebe06840bbed37789cf162a618fb3c56c9dffce01a8a75f8574f8d9800a12fc2e1b725ca35352a836324579c8b704fd8 DIST dropbear-2020.81.tar.bz2 2289644 BLAKE2B eb80ff88d75ae97365570f8793aee855cc615f6a46c49c4efa026d14ba8507c41b87093ca5b86dd1fcd3602f5e24b7b9c4f83c7cf4f6dc7945ff628b09c98794 SHA512 2fa9d4d7dcb1c81281f5e47c8a99b7300eb46b3bb605daaec956404eae9124879a8bbbef521dea6da8b3643f3dc6f7f5005e265bfcaba97e89812f5642c294da DIST dropbear-2022.82.tar.bz2 2309514 BLAKE2B 56ff931de1e5681850a4c96b8f2c1d90db1680a08a8a741ae3034a433c2780715ede9754357477c9adfe35a310859641d7a03534e6a656e11cd7de8832fbc27d SHA512 94c664e0d56bce3750b04aff166bf073f778dc2aa08e093541b520db1f165d4173e1cf25eef69a59b0a5a0a63cfb3ce8bbf94d6c4010687a0233ba1ad8ea403b DIST dropbear-2022.82.tar.bz2.asc 833 BLAKE2B 7d152456f24a61add2935e7f2c9ae7a05e00137ae2c39638004cccc1fd0491311328b5e829443cbe727ae6ec9d58973270b917bae0f23ddcef0b5051b62ca60b SHA512 a45fa49857598195b8d7e51e02bf26498a74c6900245c114ce1fa19bc4eb0ef0518cbb68996c3584c0b98c22bb2078eb963e4a513f0dfb03baae6d04f5911105 +DIST dropbear-2022.83.tar.bz2 2322904 BLAKE2B 4e26667458fb068a8c997b44dfd3c4f15146f051713a3ea90980db04c6345174d34214269665d74c863c1c1947d6837034aa4c264101b11971c8a3e97f491393 SHA512 c63afa615d64b0c8c5e739c758eb8ae277ecc36a4223b766bf562702de69910904cbc3ea98d22989df478ae419e1f81057fe1ee09616c80cb859f58f44175422 +DIST dropbear-2022.83.tar.bz2.asc 833 BLAKE2B 7dfcf13804738aed3136c264412f8c2f96cd3ff71482815af736346c9441c8f00adef26f4e8f89082cbbb4033249501adbc545c08f678e1cac4afc88a8fc9ed0 SHA512 e5cbd01dcbaeabb04dc473bd11933a422fda03ceb5bc02fb5c99abafd0841e3ac1f436cc1798500b33fbbc81923fa03c2a28c971fa26794ed5888d496fb7e2ad EBUILD dropbear-2020.81-r3.ebuild 3009 BLAKE2B c85c3b010afa5aa31cad91e362385a38d7e39467d2b6b0353898eb603e3624da7b520c79512c3ae87b100445d4470eac16b762391589a2e4091de2a92767285e SHA512 bfb2f428fa98bb9accb282c18cb13378970362705f74a04711604dbe8ad9c25619f2b96d6e5df4060a9b556d04ea7fc7d695a1741481d541cc6032b131fbdfeb -EBUILD dropbear-2022.82.ebuild 3432 BLAKE2B d2356224a0de4df0ff25b1fed4b26ea08933dbf2a84aff96e38cd6713b032cb29df8707ff0cc187d19562bb865e3d0fda21d3c70fac1c458db88f0489d3074af SHA512 24035954c31b21d9b5c0ba7af6f180507ec296acb16c5bcce05628a827eea4a3d172203f45419bbf4dfa2b54a4c7903113e4dba20be0bc4a8d6999a162bf7624 +EBUILD dropbear-2022.82.ebuild 4492 BLAKE2B 52895861eadde90fc2224963b0043c33999e0dbf473f2e35f22cafd8b7b35e4f54c500f5c9aae62de1b7f94bc746cbdeb10b358b15f966d1736a84f929db7182 SHA512 dbb57ffa5e6c9dac8d0c1fb1f06c0bdc787d6bf2054cb03e0bfc599def31a54ba330be283199914bad2a67aa0565a99ef10a3876457f9baf7704abf6a1f5ea11 +EBUILD dropbear-2022.83.ebuild 4454 BLAKE2B 035870843f831c2374d55a33d44a6549256bf031f086a98b2f1ba40e0b4430836b096bba76f3a371dc17e87a7db9d86e5f438a54bd7b4fce4df2fab3e375a797 SHA512 a1a29a9a9efbb2af6ac5c3ba252d0f43f9fd15bc682116ac68a352741296dcc47904b7c7667df1502e9f173c59c6e7d798c417f50e59c1a9bf5dbe17cd82f966 MISC metadata.xml 1814 BLAKE2B 77ddfd966cd18b81304eb8f43cccaecf1ee223896a5cbba75d3ec7140b9ee871ff83a3d7a938198f8fe29df4b30f61d2bb7d9a5058018ec4694f53667c7e83f7 SHA512 ed7051343a78900724eb077cc985d68d614902e2edc01e014d2b685158f143c67fee863599f0a40f318bed9dea81091d756e15d07e1e20ff1e9961b2f4e0f34e diff --git a/net-misc/dropbear/dropbear-2022.82.ebuild b/net-misc/dropbear/dropbear-2022.82.ebuild index 2538b0bcfa84..e9746bf468b8 100644 --- a/net-misc/dropbear/dropbear-2022.82.ebuild +++ b/net-misc/dropbear/dropbear-2022.82.ebuild @@ -3,8 +3,9 @@ EAPI=7 +PYTHON_COMPAT=( python3_{8..11} ) VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/dropbear.asc -inherit savedconfig pam verify-sig +inherit savedconfig pam python-any-r1 verify-sig DESCRIPTION="Small SSH 2 client/server designed for small memory environments" HOMEPAGE="https://matt.ucc.asn.au/dropbear/dropbear.html" @@ -18,7 +19,8 @@ SRC_URI+=" verify-sig? ( LICENSE="MIT GPL-2" # (init script is GPL-2 #426056) SLOT="0" KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" -IUSE="bsdpty minimal multicall pam +shadow static +syslog zlib" +IUSE="bsdpty minimal multicall pam +shadow static +syslog test zlib" +RESTRICT="!test? ( test ) test" LIB_DEPEND=" virtual/libcrypt[static-libs(+)] @@ -39,13 +41,28 @@ DEPEND=" static? ( ${LIB_DEPEND} ) " RDEPEND+=" pam? ( >=sys-auth/pambase-20080219.1 )" -BDEPEND="verify-sig? ( sec-keys/openpgp-keys-dropbear )" +BDEPEND=" + test? ( + $(python_gen_any_dep ' + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/iniconfig[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + dev-python/py[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ') + ) + verify-sig? ( sec-keys/openpgp-keys-dropbear ) +" REQUIRED_USE="pam? ( !static )" PATCHES=( "${FILESDIR}"/${PN}-0.46-dbscp.patch "${FILESDIR}"/${PN}-2022.82-x11.patch + "${FILESDIR}"/${PN}-2022.82-tests.patch ) set_options() { @@ -58,7 +75,20 @@ set_options() { ) } +python_check_deps() { + python_has_version "dev-python/attrs[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/iniconfig[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/packaging[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pluggy[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/py[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" +} + pkg_setup() { + use test && python-any-r1_pkg_setup + if use static ; then ewarn "Using bundled copies of libtommath and libtomcrypt" fi diff --git a/net-misc/dropbear/dropbear-2022.83.ebuild b/net-misc/dropbear/dropbear-2022.83.ebuild new file mode 100644 index 000000000000..b2ad633d2944 --- /dev/null +++ b/net-misc/dropbear/dropbear-2022.83.ebuild @@ -0,0 +1,166 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..11} ) +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/dropbear.asc +inherit savedconfig pam python-any-r1 verify-sig + +DESCRIPTION="Small SSH 2 client/server designed for small memory environments" +HOMEPAGE="https://matt.ucc.asn.au/dropbear/dropbear.html" +SRC_URI="https://matt.ucc.asn.au/dropbear/releases/${P}.tar.bz2 + https://matt.ucc.asn.au/dropbear/testing/${P}.tar.bz2" +SRC_URI+=" verify-sig? ( + https://matt.ucc.asn.au/dropbear/releases/${P}.tar.bz2.asc + https://matt.ucc.asn.au/dropbear/testing/${P}.tar.bz2.asc + )" + +LICENSE="MIT GPL-2" # (init script is GPL-2 #426056) +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" +IUSE="bsdpty minimal multicall pam +shadow static +syslog test zlib" +RESTRICT="!test? ( test ) test" + +LIB_DEPEND=" + virtual/libcrypt[static-libs(+)] + zlib? ( sys-libs/zlib[static-libs(+)] ) +" +RDEPEND=" + acct-group/sshd + acct-user/sshd + !static? ( + >=dev-libs/libtomcrypt-1.18.2-r2[libtommath] + >=dev-libs/libtommath-1.2.0 + ${LIB_DEPEND//\[static-libs(+)]} + ) + pam? ( sys-libs/pam ) +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +RDEPEND+=" pam? ( >=sys-auth/pambase-20080219.1 )" +BDEPEND=" + test? ( + $(python_gen_any_dep ' + dev-python/attrs[${PYTHON_USEDEP}] + dev-python/iniconfig[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] + dev-python/pluggy[${PYTHON_USEDEP}] + dev-python/py[${PYTHON_USEDEP}] + dev-python/pyparsing[${PYTHON_USEDEP}] + dev-python/pytest[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ') + ) + verify-sig? ( sec-keys/openpgp-keys-dropbear ) +" + +REQUIRED_USE="pam? ( !static )" + +PATCHES=( + "${FILESDIR}"/${PN}-0.46-dbscp.patch + "${FILESDIR}"/${PN}-2022.82-tests.patch +) + +set_options() { + progs=( + dropbear dbclient dropbearkey + $(usex minimal "" "dropbearconvert scp") + ) + makeopts=( + MULTI=$(usex multicall 1 0) + ) +} + +python_check_deps() { + python_has_version "dev-python/attrs[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/iniconfig[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/packaging[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pluggy[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/py[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pyparsing[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" && \ + python_has_version "dev-python/psutil[${PYTHON_USEDEP}]" +} + +pkg_setup() { + use test && python-any-r1_pkg_setup + + if use static ; then + ewarn "Using bundled copies of libtommath and libtomcrypt" + fi +} + +src_prepare() { + default + sed \ + -e '/SFTPSERVER_PATH/s:".*":"/usr/lib/misc/sftp-server":' \ + default_options.h > localoptions.h || die + sed \ + -e '/pam_start/s:sshd:dropbear:' \ + -i svr-authpam.c || die + restore_config localoptions.h +} + +src_configure() { + # Notes: + # 1) We use bundled libtom* when static build is enabled because + # libtomcrypt lacks it and we don't particularly want to add it. + # 2) We disable the hardening flags as our compiler already enables them + # by default as is appropriate for the target. + local myeconfargs=( + --disable-harden + + # bug #836900 + $(use_enable !elibc_musl lastlog) + $(use_enable !elibc_musl wtmp) + + $(use_enable static bundled-libtom) + $(use_enable zlib) + $(use_enable pam) + $(use_enable !bsdpty openpty) + $(use_enable shadow) + $(use_enable static) + $(use_enable syslog) + ) + + econf "${myeconfargs[@]}" +} + +src_compile() { + set_options + emake "${makeopts[@]}" PROGRAMS="${progs[*]}" +} + +src_install() { + set_options + emake "${makeopts[@]}" PROGRAMS="${progs[*]}" DESTDIR="${D}" install + doman *.8 + newinitd "${FILESDIR}"/dropbear.init.d dropbear + newconfd "${FILESDIR}"/dropbear.conf.d dropbear + dodoc CHANGES README SMALL MULTI + + # The multi install target does not install the links right. + if use multicall ; then + cd "${ED}"/usr/bin || die + local x + for x in "${progs[@]}" ; do + ln -sf dropbearmulti ${x} || die "ln -s dropbearmulti to ${x} failed" + done + rm -f dropbear + dodir /usr/sbin + dosym ../bin/dropbearmulti /usr/sbin/dropbear + cd "${S}" || die + fi + save_config localoptions.h + + if ! use minimal ; then + mv "${ED}"/usr/bin/{,db}scp || die + fi + + if use pam; then + pamd_mimic system-remote-login dropbear auth account password session + fi +} diff --git a/net-misc/dropbear/files/dropbear-2022.82-tests.patch b/net-misc/dropbear/files/dropbear-2022.82-tests.patch new file mode 100644 index 000000000000..6619e6c07551 --- /dev/null +++ b/net-misc/dropbear/files/dropbear-2022.82-tests.patch @@ -0,0 +1,25 @@ +--- a/test/Makefile.in ++++ b/test/Makefile.in +@@ -4,18 +4,13 @@ SHELL=bash + + all: test + +-test: venv/bin/pytest fakekey +- (source ./venv/bin/activate; pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) ) ++test: fakekey ++ pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) + +-one: venv/bin/pytest fakekey +- (source ./venv/bin/activate; pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) -k exit) ++one: fakekey ++ pytest --hostkey=fakekey --dbclient=../dbclient --dropbear=../dropbear $(srcdir) -k exit + + fakekey: + ../dropbearkey -t ecdsa -f $@ + +-venv/bin/pytest: $(srcdir)/requirements.txt +- python3 -m venv init venv +- ./venv/bin/pip install --upgrade pip +- ./venv/bin/pip install -r $(srcdir)/requirements.txt +- + .PHONY: test |