kumquat-buildroot/package/screen/screen.mk
James Hilliard 1ee056bfeb package/screen: fix build with glibc 2.39
When glibc was bumped to version 2.39 in commit
b5680f53d6 it removed the deprecated
libcrypt support.

As glibc's libcrypt was providing screen's libcrypt dependency this
broke any screen build using glibc version 2.39.

To fix this select the libxcrypt dependency for screen when using a
glibc toolchain and add the dependency if selected.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2024-04-02 23:25:59 +02:00

44 lines
1.3 KiB
Makefile

################################################################################
#
# screen
#
################################################################################
SCREEN_VERSION = 4.9.1
SCREEN_SITE = $(BR2_GNU_MIRROR)/screen
SCREEN_LICENSE = GPL-3.0+
SCREEN_LICENSE_FILES = COPYING
SCREEN_CPE_ID_VENDOR = gnu
SCREEN_SELINUX_MODULES = screen
SCREEN_DEPENDENCIES = ncurses
SCREEN_AUTORECONF = YES
SCREEN_CONF_ENV = CFLAGS="$(TARGET_CFLAGS)"
SCREEN_CONF_OPTS = --enable-colors256
SCREEN_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SCREEN=screen install_bin
ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
SCREEN_DEPENDENCIES += libxcrypt
endif
ifeq ($(BR2_PACKAGE_LINUX_PAM),y)
SCREEN_DEPENDENCIES += linux-pam
SCREEN_CONF_OPTS += --enable-pam
else
SCREEN_CONF_OPTS += --disable-pam
endif
define SCREEN_INSTALL_SCREENRC
$(INSTALL) -m 0755 -D $(@D)/etc/screenrc $(TARGET_DIR)/etc/screenrc
endef
SCREEN_POST_INSTALL_TARGET_HOOKS += SCREEN_INSTALL_SCREENRC
# Add /usr/bin/screen to /etc/shells otherwise some login tools like dropbear
# can reject the user connection. See man shells.
define SCREEN_ADD_SCREEN_TO_SHELLS
grep -qsE '^/usr/bin/screen$$' $(TARGET_DIR)/etc/shells \
|| echo "/usr/bin/screen" >> $(TARGET_DIR)/etc/shells
endef
SCREEN_TARGET_FINALIZE_HOOKS += SCREEN_ADD_SCREEN_TO_SHELLS
$(eval $(autotools-package))