From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A124615800A for ; Tue, 8 Aug 2023 05:45:11 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 809612BC01B; Tue, 8 Aug 2023 05:45:10 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6454E2BC01B for ; Tue, 8 Aug 2023 05:45:10 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 578BA335D6A for ; Tue, 8 Aug 2023 05:45:09 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id B89B7F2F for ; Tue, 8 Aug 2023 05:45:07 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1691473444.0e9f132e4ae77a13b49113722c90fd2fb68a9183.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: app-misc/screen/, app-misc/screen/files/ X-VCS-Repository: repo/gentoo X-VCS-Files: app-misc/screen/files/screen-4.9.0-clang16-chmod.patch app-misc/screen/screen-4.9.0-r3.ebuild X-VCS-Directories: app-misc/screen/files/ app-misc/screen/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 0e9f132e4ae77a13b49113722c90fd2fb68a9183 X-VCS-Branch: master Date: Tue, 8 Aug 2023 05:45:07 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: bfa22de7-8f7f-433b-b32e-bab2f1d62331 X-Archives-Hash: b8f14237afa5820fdac3fe61b165b560 commit: 0e9f132e4ae77a13b49113722c90fd2fb68a9183 Author: Brahmajit Das gmail com> AuthorDate: Tue Aug 8 05:42:47 2023 +0000 Commit: Sam James gentoo org> CommitDate: Tue Aug 8 05:44:04 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e9f132e app-misc/screen: Fix call to undeclared function chmod Closes: https://bugs.gentoo.org/894562 Signed-off-by: Brahmajit Das gmail.com> Closes: https://github.com/gentoo/gentoo/pull/32184 Signed-off-by: Sam James gentoo.org> .../screen/files/screen-4.9.0-clang16-chmod.patch | 12 ++ app-misc/screen/screen-4.9.0-r3.ebuild | 148 +++++++++++++++++++++ 2 files changed, 160 insertions(+) diff --git a/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch b/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch new file mode 100644 index 000000000000..63872219a23f --- /dev/null +++ b/app-misc/screen/files/screen-4.9.0-clang16-chmod.patch @@ -0,0 +1,12 @@ +Bug: https://bugs.gentoo.org/894562 +Taken from: https://git.savannah.gnu.org/cgit/screen.git/commit/?id=7f320d3a643ec95682a7213b7e991e27038d8a57 +--- a/display.c ++++ b/display.c +@@ -27,6 +27,7 @@ + */ + + #include ++#include + #include + #include + #ifndef sun diff --git a/app-misc/screen/screen-4.9.0-r3.ebuild b/app-misc/screen/screen-4.9.0-r3.ebuild new file mode 100644 index 000000000000..450045b6755b --- /dev/null +++ b/app-misc/screen/screen-4.9.0-r3.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic pam tmpfiles + +DESCRIPTION="screen manager with VT100/ANSI terminal emulation" +HOMEPAGE="https://www.gnu.org/software/screen/" + +if [[ ${PV} != 9999 ]] ; then + SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris" +else + inherit git-r3 + EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git" + EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on + S="${WORKDIR}"/${P}/src +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="debug nethack pam selinux multiuser" + +DEPEND=">=sys-libs/ncurses-5.2:= + virtual/libcrypt:= + pam? ( sys-libs/pam )" +RDEPEND="${DEPEND} + acct-group/utmp + selinux? ( sec-policy/selinux-screen )" +BDEPEND="sys-apps/texinfo" + +PATCHES=( + # Don't use utempter even if it is found on the system. + "${FILESDIR}"/${PN}-4.3.0-no-utempter.patch + "${FILESDIR}"/${PN}-4.6.2-utmp-exit.patch + "${FILESDIR}"/${PN}-4.9.0-configure-implicit-function-decls.patch + "${FILESDIR}"/${P}-CVE-2023-24626.patch + "${FILESDIR}"/${PN}-4.9.0-clang16-chmod.patch +) + +src_prepare() { + default + + # sched.h is a system header and causes problems with some C libraries + mv sched.h _sched.h || die + sed -i '/include/ s:sched.h:_sched.h:' screen.h || die + + # Fix manpage + sed -i \ + -e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \ + -e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \ + -e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \ + -e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \ + -e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \ + doc/screen.1 || die + + if [[ ${CHOST} == *-darwin* ]] || use elibc_musl; then + sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die + fi + + # disable musl dummy headers for utmp[x] + use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H" + + # reconfigure + eautoreconf +} + +src_configure() { + append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}" + + if [[ ${CHOST} == *-solaris* ]]; then + # enable msg_header by upping the feature standard compatible + # with c99 mode + append-cppflags -D_XOPEN_SOURCE=600 + fi + + use nethack || append-cppflags "-DNONETHACK" + use debug && append-cppflags "-DDEBUG" + + local myeconfargs=( + --with-socket-dir="${EPREFIX}/tmp/${PN}" + --with-sys-screenrc="${EPREFIX}/etc/screenrc" + --with-pty-mode=0620 + --with-pty-group=5 + --enable-rxvt_osc + --enable-telnet + --enable-colors256 + $(use_enable pam) + ) + econf "${myeconfargs[@]}" +} + +src_compile() { + LC_ALL=POSIX emake comm.h term.h + emake osdef.h + + emake -C doc screen.info + default +} + +src_install() { + local DOCS=( + README ChangeLog INSTALL TODO NEWS* patchlevel.h + doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps} + ) + + emake DESTDIR="${D}" SCREEN="${P}" install + + local tmpfiles_perms tmpfiles_group + + if use multiuser || use prefix ; then + fperms 4755 /usr/bin/${P} + tmpfiles_perms="0755" + tmpfiles_group="root" + else + fowners root:utmp /usr/bin/${P} + fperms 2755 /usr/bin/${P} + tmpfiles_perms="0775" + tmpfiles_group="utmp" + fi + + newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}" + + insinto /usr/share/${PN} + doins terminfo/{screencap,screeninfo.src} + + insinto /etc + doins "${FILESDIR}"/screenrc + + if use pam; then + pamd_mimic_system screen auth + fi + + dodoc "${DOCS[@]}" +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "Some dangerous key bindings have been removed or changed to more safe values." + elog "We enable some xterm hacks in our default screenrc, which might break some" + elog "applications. Please check /etc/screenrc for information on these changes." + fi + + tmpfiles_process screen.conf + + ewarn "This revision changes the screen socket location to ${EROOT}/tmp/${PN}" +}