update screen
Hanno Böck

Hanno Böck commited on 2022-04-29 16:26:52
Zeige 5 geänderte Dateien mit 16 Einfügungen und 252 Löschungen.

... ...
@@ -1,8 +1,6 @@
1 1
 AUX screen-4.3.0-no-utempter.patch 341 BLAKE2B 3339783b3574f82f093c82a613ad18c5c58c184c082c2c311281cdd57e7176abae0f5935466a4a8b4d931d1d1b93d8f0a4e6b558a268553af4a0170061e6ebfe SHA512 f4191ba1ecac3076f958f56309c0a1d523b455fa4e3388f1cfca59c8ccff0afdfb20ef18d54794ba539b2b6d1511ed599dc44787344dc5ccce2902c9b9848155
2 2
 AUX screen-4.6.2-utmp-exit.patch 1558 BLAKE2B e08e83f8b9f0cd09cd9bad4486a75d71bd899a7917954702ece0837099639079a746138374cbeaf71072cca64ae36a3c2a32250123c6747089e724272227e0dd SHA512 0e7c6c224f6fb8e01650b778cb2b155942752504dc97112d9594b7fa0da1bb8bd828240a2519b1c21f1c162181da89a8daa51ef7f74c8ced0b85cdb3e911a67c
3
-AUX screen-CVE-2021-26937.patch 1864 BLAKE2B 7425a49e003601f21130cf9c42354aaeb5f3cd639dd274971393420ccf45e8273539ae020f8a1a6e4063e741e75dcbf8cecd4e35b26c6d04ffca108ddea7bd32 SHA512 419f4d10b23369fccdadfb024b6ce268794e7f76188b25dd9051ff8cd6080dc0c70f66b9c2480095d655bb63f20ba1fdfa1ce0c681c9b8aff4d4918764018516
4 3
 AUX screenrc 10412 BLAKE2B f4866f4a83b22c37484b66e4c7d52ec479fe12ae3e72e5c9e769b1b543ecf04d14ef4339e1c72064741cbf39502ef82d3beb213326a30889f128e135f60bd528 SHA512 06fbec5e28480a2c369330fac0c94faa47e5d28e037d9fefd0cb3e813002c504866dc8ac86872b7ac6f16059a219e396a9c425b578b8afe882153ddb506158f7
5
-DIST screen-4.8.0.tar.gz 854854 BLAKE2B 97ef6f18bf2c63c477260b742ac0b3501f112d380c41ccecc5cf2853db853cc62d4fd6d37edeca35fb41a43b76d98a5cfe160749c992d284f9764b0a0fdcc778 SHA512 770ebaf6ee9be711bcb8a6104b3294f2bf4523dae6683fdc5eac4b3aff7e511be2d922b6b2ad28ec241113c2e4fe0d80f9a482ae1658adc19c8c3a3680caa25c
6
-EBUILD screen-4.8.0-r1.ebuild 4072 BLAKE2B 4c1ac6d6807b377d5b648f453ab618195fd20871a4d1fe9bc77c5c64efea0b2548022c78ed079aa2582f1677f96dee7b502d3a6b7e406b0e1b0e1cb458db8b38 SHA512 5f2e18376474a2ab897958da5d7f9ebd09076889cfbf82f9e372c082c73790cc12eb9530d80a8f016861d431b8ce5cc4abe89544ef75cc8047338da6d25010d7
7
-EBUILD screen-4.8.0-r2.ebuild 4115 BLAKE2B e948a011d1ff91a9643efc2df77d1cfee102505bbc47084f30c4eea52d7517bdf8c873ab9a5b5d658ca5a6bdeb18707f3c249e6c6a93503252c741b9cd292ba5 SHA512 ddd2fee4195b06a080d9db19ec471391a013e2febc8d33b626eb5f9afa4fd391090755333b5a415517f09752b54a9053930842acdf64b752ed307361e675108a
8
-MISC metadata.xml 1836 BLAKE2B 4625e11b8c3120b23e613e14d03ac88b505b412be97270159c881f56ebf674c78274a8dcf199d69ea91f6438d2661635ebbbf38fdc7ebebe8dd6e2ff88f4c6d7 SHA512 e327b61501e6b496045d552851db574b519a99f56c9203c3376b886808a422f8e4aab23b667bcab0d1388ba7ea781c9c9e9f1d07b1426f113119c60cd70d0bcf
4
+DIST screen-4.9.0.tar.gz 798229 BLAKE2B 0f64a14ce9a719bd4a6d045c55069769045a09ee2086c44c2e3d9da6d1e5ada2f094e00e16029767e1155ce35d4f360d0e2879995eefa052f3214ced71b7617c SHA512 18bbb085d77ecd02cbc02fa88a945c39f06e0c6de4eeaa16b278440dac5c9896811abbe0838144e997cd344ae08b9530399fa8fcb31a65fc571ead90e8307f84
5
+EBUILD screen-4.9.0.ebuild 3726 BLAKE2B 33d94350bf154c8c25a371181133acbdd08adb0554923d0a727fe39babf39901fcd24dc8a6b899d974e3509a63dc5dcc23ac60647a1b741ab2986836e12767d8 SHA512 198ef89eb2dba1e5eff7bcfbc14de3bbfe7692cd8576ae51b6aef7f78d4b6af94432e15f172d06c05ce4109da628c0e1491b09779e6a8c934726e00172c5dcc4
6
+MISC metadata.xml 1783 BLAKE2B 6b1b392339f6786f95c151a7f311c24adf76c32d23e0f5bf50ff97571ab7e0a7b878d1ccac6938a01c2783c4f54eb0644dfd1f35b9bc602590fce96eed4a4e99 SHA512 fc4a716f118ab74b7757035ffadaaeebd47ba512a8ff123a7f5df4fa8fd2b384a66d4da88f8b78e7c16314b710e2346cfa6fc644c22f059d065cc1778565d060
... ...
@@ -1,61 +0,0 @@
1
- encoding.c | 15 +++++++++------
2
- 1 file changed, 9 insertions(+), 6 deletions(-)
3
-
4
-diff --git i/encoding.c w/encoding.c
5
-index e5db3e7..79f5d14 100644
6
---- i/encoding.c
7
-+++ w/encoding.c
8
-@@ -43,7 +43,7 @@ static int  encmatch __P((char *, char *));
9
- # ifdef UTF8
10
- static int   recode_char __P((int, int, int));
11
- static int   recode_char_to_encoding __P((int, int));
12
--static void  comb_tofront __P((int, int));
13
-+static void  comb_tofront __P((int));
14
- #  ifdef DW_CHARS
15
- static int   recode_char_dw __P((int, int *, int, int));
16
- static int   recode_char_dw_to_encoding __P((int, int *, int));
17
-@@ -1263,6 +1263,8 @@ int c;
18
-     {0x30000, 0x3FFFD},
19
-   };
20
- 
21
-+  if (c >= 0xdf00 && c <= 0xdfff)
22
-+    return 1;          /* dw combining sequence */
23
-   return ((bisearch(c, wide, sizeof(wide) / sizeof(struct interval) - 1)) ||
24
-           (cjkwidth &&
25
-            bisearch(c, ambiguous,
26
-@@ -1330,11 +1332,12 @@ int c;
27
- }
28
- 
29
- static void
30
--comb_tofront(root, i)
31
--int root, i;
32
-+comb_tofront(i)
33
-+int i;
34
- {
35
-   for (;;)
36
-     {
37
-+      int root = i >= 0x700 ? 0x801 : 0x800;
38
-       debug1("bring to front: %x\n", i);
39
-       combchars[combchars[i]->prev]->next = combchars[i]->next;
40
-       combchars[combchars[i]->next]->prev = combchars[i]->prev;
41
-@@ -1396,9 +1399,9 @@ struct mchar *mc;
42
-     {
43
-       /* full, recycle old entry */
44
-       if (c1 >= 0xd800 && c1 < 0xe000)
45
--        comb_tofront(root, c1 - 0xd800);
46
-+        comb_tofront(c1 - 0xd800);
47
-       i = combchars[root]->prev;
48
--      if (c1 == i + 0xd800)
49
-+      if (i == 0x800 || i == 0x801 || c1 == i + 0xd800)
50
- 	{
51
- 	  /* completely full, can't recycle */
52
- 	  debug("utf8_handle_comp: completely full!\n");
53
-@@ -1422,7 +1425,7 @@ struct mchar *mc;
54
-   mc->font  = (i >> 8) + 0xd8;
55
-   mc->fontx = 0;
56
-   debug3("combinig char %x %x -> %x\n", c1, c, i + 0xd800);
57
--  comb_tofront(root, i);
58
-+  comb_tofront(i);
59
- }
60
- 
61
- #else /* !UTF8 */
... ...
@@ -1,9 +1,8 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
2
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
3 3
 <pkgmetadata>
4 4
   <maintainer type="person">
5 5
     <email>swegener@gentoo.org</email>
6
-    <description>Primary Maintainer</description>
7 6
   </maintainer>
8 7
   <maintainer type="project">
9 8
     <email>shell-tools@gentoo.org</email>
... ...
@@ -28,8 +27,7 @@ run when their window is currently not visible and even when the whole screen
28 27
 session is detached from the users terminal.
29 28
 </longdescription>
30 29
   <use>
31
-    <flag name="multiuser">Enable multiuser support (by setting correct
32
-    permissions)</flag>
30
+    <flag name="multiuser">Enable multiuser support (by setting correct permissions)</flag>
33 31
     <flag name="nethack">Express error messages in nethack style</flag>
34 32
   </use>
35 33
 </pkgmetadata>
... ...
@@ -1,157 +0,0 @@
1
-# Copyright 1999-2021 Gentoo Authors
2
-# Distributed under the terms of the GNU General Public License v2
3
-
4
-EAPI=7
5
-
6
-inherit autotools flag-o-matic pam tmpfiles toolchain-funcs
7
-
8
-DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
9
-HOMEPAGE="https://www.gnu.org/software/screen/"
10
-
11
-if [[ "${PV}" != 9999 ]] ; then
12
-	SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
13
-	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
14
-else
15
-	inherit git-r3
16
-	EGIT_REPO_URI="https://git.savannah.gnu.org/git/screen.git"
17
-	EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
18
-	S="${WORKDIR}"/${P}/src
19
-fi
20
-
21
-LICENSE="GPL-2"
22
-SLOT="0"
23
-IUSE="debug nethack pam selinux multiuser"
24
-
25
-CDEPEND="
26
-	>=sys-libs/ncurses-5.2:0=
27
-	pam? ( sys-libs/pam )"
28
-RDEPEND="${CDEPEND}
29
-	acct-group/utmp
30
-	selinux? ( sec-policy/selinux-screen )"
31
-DEPEND="${CDEPEND}
32
-	sys-apps/texinfo"
33
-
34
-PATCHES=(
35
-	# Don't use utempter even if it is found on the system.
36
-	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
37
-	"${FILESDIR}"/${PN}-4.6.2-utmp-exit.patch
38
-)
39
-
40
-src_prepare() {
41
-	default
42
-
43
-	# sched.h is a system header and causes problems with some C libraries
44
-	mv sched.h _sched.h || die
45
-	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
46
-
47
-	# Fix manpage.
48
-	sed -i \
49
-		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
50
-		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
51
-		-e "s:/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
52
-		-e "s:/etc/utmp:${EPREFIX}/var/run/utmp:g" \
53
-		-e "s:/local/screens/S\\\-:${EPREFIX}/tmp/screen/S\\\-:g" \
54
-		doc/screen.1 || die
55
-
56
-	if [[ ${CHOST} == *-darwin* ]] || use elibc_musl ; then
57
-		sed -i -e '/^#define UTMPOK/s/define/undef/' acconfig.h || die
58
-	fi
59
-
60
-	# disable musl dummy headers for utmp[x]
61
-	use elibc_musl && append-cppflags "-D_UTMP_H -D_UTMPX_H"
62
-
63
-	# reconfigure
64
-	eautoreconf
65
-}
66
-
67
-src_configure() {
68
-	append-cppflags "-DMAXWIN=${MAX_SCREEN_WINDOWS:-100}"
69
-
70
-	if [[ ${CHOST} == *-solaris* ]] ; then
71
-		# enable msg_header by upping the feature standard compatible
72
-		# with c99 mode
73
-		append-cppflags -D_XOPEN_SOURCE=600
74
-	fi
75
-
76
-	use nethack || append-cppflags "-DNONETHACK"
77
-	use debug && append-cppflags "-DDEBUG"
78
-
79
-	local myeconfargs=(
80
-		--with-sys-screenrc="${EPREFIX}/etc/screenrc"
81
-		--with-pty-mode=0620
82
-		--with-pty-group=5
83
-		--enable-rxvt_osc
84
-		--enable-telnet
85
-		--enable-colors256
86
-		$(use_enable pam)
87
-	)
88
-	econf "${myeconfargs[@]}"
89
-}
90
-
91
-src_compile() {
92
-	LC_ALL=POSIX emake comm.h term.h
93
-	emake osdef.h
94
-
95
-	emake -C doc screen.info
96
-	default
97
-}
98
-
99
-src_install() {
100
-	local DOCS=(
101
-		README ChangeLog INSTALL TODO NEWS* patchlevel.h
102
-		doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
103
-	)
104
-
105
-	emake DESTDIR="${D}" SCREEN="${P}" install
106
-
107
-	local tmpfiles_perms tmpfiles_group
108
-
109
-	if use multiuser || use prefix ; then
110
-		fperms 4755 /usr/bin/${P}
111
-		tmpfiles_perms="0755"
112
-		tmpfiles_group="root"
113
-	else
114
-		fowners root:utmp /usr/bin/${P}
115
-		fperms 2755 /usr/bin/${P}
116
-		tmpfiles_perms="0775"
117
-		tmpfiles_group="utmp"
118
-	fi
119
-
120
-	newtmpfiles - screen.conf <<<"d /tmp/screen ${tmpfiles_perms} root ${tmpfiles_group}"
121
-
122
-	insinto /usr/share/${PN}
123
-	doins terminfo/{screencap,screeninfo.src}
124
-
125
-	insinto /etc
126
-	doins "${FILESDIR}"/screenrc
127
-
128
-	if use pam; then
129
-		pamd_mimic_system screen auth
130
-	fi
131
-
132
-	dodoc "${DOCS[@]}"
133
-}
134
-
135
-pkg_postinst() {
136
-	if [[ -z ${REPLACING_VERSIONS} ]]
137
-	then
138
-		elog "Some dangerous key bindings have been removed or changed to more safe values."
139
-		elog "We enable some xterm hacks in our default screenrc, which might break some"
140
-		elog "applications. Please check /etc/screenrc for information on these changes."
141
-	fi
142
-
143
-	# Add /tmp/screen in case it doesn't exist yet. This should solve
144
-	# problems like bug #508634 where tmpfiles.d isn't in effect.
145
-	local rundir="${EROOT}/tmp/${PN}"
146
-	if [[ ! -d ${rundir} ]] ; then
147
-		if use multiuser || use prefix ; then
148
-			tmpfiles_group="root"
149
-		else
150
-			tmpfiles_group="utmp"
151
-		fi
152
-		mkdir -m 0775 "${rundir}"
153
-		chgrp ${tmpfiles_group} "${rundir}"
154
-	fi
155
-
156
-	ewarn "This revision changes the screen socket location to ${rundir}"
157
-}
... ...
@@ -1,14 +1,14 @@
1
-# Copyright 1999-2021 Gentoo Authors
1
+# Copyright 1999-2022 Gentoo Authors
2 2
 # Distributed under the terms of the GNU General Public License v2
3 3
 
4 4
 EAPI=7
5 5
 
6
-inherit autotools flag-o-matic pam tmpfiles toolchain-funcs
6
+inherit autotools flag-o-matic pam tmpfiles
7 7
 
8 8
 DESCRIPTION="screen manager with VT100/ANSI terminal emulation"
9 9
 HOMEPAGE="https://www.gnu.org/software/screen/"
10 10
 
11
-if [[ "${PV}" != 9999 ]] ; then
11
+if [[ ${PV} != 9999 ]] ; then
12 12
 	SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
13 13
 	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
14 14
 else
... ...
@@ -22,20 +22,18 @@ LICENSE="GPL-2"
22 22
 SLOT="0"
23 23
 IUSE="debug nethack pam selinux multiuser"
24 24
 
25
-CDEPEND="
26
-	>=sys-libs/ncurses-5.2:0=
25
+DEPEND=">=sys-libs/ncurses-5.2:=
26
+	virtual/libcrypt:=
27 27
 	pam? ( sys-libs/pam )"
28
-RDEPEND="${CDEPEND}
28
+RDEPEND="${DEPEND}
29 29
 	acct-group/utmp
30 30
 	selinux? ( sec-policy/selinux-screen )"
31
-DEPEND="${CDEPEND}
32
-	sys-apps/texinfo"
31
+BDEPEND="sys-apps/texinfo"
33 32
 
34 33
 PATCHES=(
35 34
 	# Don't use utempter even if it is found on the system.
36 35
 	"${FILESDIR}"/${PN}-4.3.0-no-utempter.patch
37 36
 	"${FILESDIR}"/${PN}-4.6.2-utmp-exit.patch
38
-	"${FILESDIR}"/${PN}-CVE-2021-26937.patch
39 37
 )
40 38
 
41 39
 src_prepare() {
... ...
@@ -45,7 +43,7 @@ src_prepare() {
45 43
 	mv sched.h _sched.h || die
46 44
 	sed -i '/include/ s:sched.h:_sched.h:' screen.h || die
47 45
 
48
-	# Fix manpage.
46
+	# Fix manpage
49 47
 	sed -i \
50 48
 		-e "s:/usr/local/etc/screenrc:${EPREFIX}/etc/screenrc:g" \
51 49
 		-e "s:/usr/local/screens:${EPREFIX}/tmp/screen:g" \
... ...
@@ -134,25 +132,13 @@ src_install() {
134 132
 }
135 133
 
136 134
 pkg_postinst() {
137
-	if [[ -z ${REPLACING_VERSIONS} ]]
138
-	then
135
+	if [[ -z ${REPLACING_VERSIONS} ]]; then
139 136
 		elog "Some dangerous key bindings have been removed or changed to more safe values."
140 137
 		elog "We enable some xterm hacks in our default screenrc, which might break some"
141 138
 		elog "applications. Please check /etc/screenrc for information on these changes."
142 139
 	fi
143 140
 
144
-	# Add /tmp/screen in case it doesn't exist yet. This should solve
145
-	# problems like bug #508634 where tmpfiles.d isn't in effect.
146
-	local rundir="${EROOT}/tmp/${PN}"
147
-	if [[ ! -d ${rundir} ]] ; then
148
-		if use multiuser || use prefix ; then
149
-			tmpfiles_group="root"
150
-		else
151
-			tmpfiles_group="utmp"
152
-		fi
153
-		mkdir -m 0775 "${rundir}"
154
-		chgrp ${tmpfiles_group} "${rundir}"
155
-	fi
141
+	tmpfiles_process screen.conf
156 142
 
157
-	ewarn "This revision changes the screen socket location to ${rundir}"
143
+	ewarn "This revision changes the screen socket location to ${EROOT}/tmp/${PN}"
158 144
 }
159 145