Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | SUMMARY = "Multiplexing terminal manager" |
| 2 | DESCRIPTION = "Screen is a full-screen window manager \ |
| 3 | that multiplexes a physical terminal between several \ |
| 4 | processes, typically interactive shells." |
| 5 | HOMEPAGE = "http://www.gnu.org/software/screen/" |
| 6 | BUGTRACKER = "https://savannah.gnu.org/bugs/?func=additem&group=screen" |
| 7 | |
| 8 | SECTION = "console/utils" |
| 9 | |
| 10 | LICENSE = "GPLv3+" |
| 11 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ |
| 12 | file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \ |
| 13 | " |
| 14 | |
| 15 | DEPENDS = "ncurses virtual/crypt \ |
| 16 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" |
| 17 | RDEPENDS_${PN} = "base-files" |
| 18 | |
| 19 | SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \ |
| 20 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \ |
| 21 | file://0002-comm.h-now-depends-on-term.h.patch \ |
| 22 | file://0001-fix-for-multijob-build.patch \ |
| 23 | file://0001-Remove-more-compatibility-stuff.patch \ |
Andrew Geissler | 90fd73c | 2021-03-05 15:25:55 -0600 | [diff] [blame] | 24 | file://CVE-2021-26937.patch \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 25 | " |
| 26 | |
| 27 | SRC_URI[md5sum] = "d276213d3acd10339cd37848b8c4ab1e" |
| 28 | SRC_URI[sha256sum] = "6e11b13d8489925fde25dfb0935bf6ed71f9eb47eff233a181e078fde5655aa1" |
| 29 | |
| 30 | inherit autotools texinfo |
| 31 | |
| 32 | PACKAGECONFIG ??= "" |
| 33 | PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," |
| 34 | |
| 35 | EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sysconfdir}/screenrc \ |
| 36 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" |
| 37 | |
| 38 | do_install_append () { |
| 39 | install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc |
| 40 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
| 41 | install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen |
| 42 | fi |
| 43 | } |
| 44 | |
| 45 | pkg_postinst_${PN} () { |
| 46 | grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells |
| 47 | } |
| 48 | |
| 49 | pkg_postrm_${PN} () { |
| 50 | printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells |
| 51 | } |