blob: b023e8d297fd5ffb5cf39c9c1d460f912aac34f9 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001SUMMARY = "UNIX Shell similar to the Korn shell"
2DESCRIPTION = "Zsh is a shell designed for interactive use, although it is also a \
3 powerful scripting language. Many of the useful features of bash, \
4 ksh, and tcsh were incorporated into zsh; many original features were added."
5HOMEPAGE = "http://www.zsh.org"
6SECTION = "base/shell"
7
8LICENSE = "zsh"
9LIC_FILES_CHKSUM = "file://LICENCE;md5=1a4c4cda3e8096d2fd483ff2f4514fec"
10
11DEPENDS = "ncurses bison-native libcap libpcre gdbm groff-native"
12
Andrew Geisslerc5535c92023-01-27 16:10:19 -060013SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BPN}/5.8/${BP}.tar.xz \
14 file://CVE-2021-45444_1.patch \
15 file://CVE-2021-45444_2.patch \
16 file://CVE-2021-45444_3.patch \
17 "
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070018SRC_URI[sha256sum] = "dcc4b54cc5565670a65581760261c163d720991f0d06486da61f8d839b52de27"
Brad Bishop316dfdd2018-06-25 12:45:53 -040019
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070020inherit autotools-brokensep gettext update-alternatives manpages
Brad Bishop316dfdd2018-06-25 12:45:53 -040021
22EXTRA_OECONF = " \
23 --bindir=${base_bindir} \
24 --enable-etcdir=${sysconfdir} \
25 --enable-fndir=${datadir}/${PN}/${PV}/functions \
26 --enable-site-fndir=${datadir}/${PN}/site-functions \
27 --with-term-lib='ncursesw ncurses' \
28 --with-tcsetpgrp \
29 --enable-cap \
30 --enable-multibyte \
31 --disable-gdbm \
32 --disable-dynamic \
33 zsh_cv_shared_environ=yes \
34"
35
36# Configure respects --bindir from EXTRA_OECONF, but then Src/Makefile will read bindir from environment
37export bindir="${base_bindir}"
38
39EXTRA_OEMAKE = "-e MAKEFLAGS="
40
Patrick Williams213cb262021-08-07 19:21:33 -050041ALTERNATIVE:${PN} = "sh"
Brad Bishop316dfdd2018-06-25 12:45:53 -040042ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
43ALTERNATIVE_TARGET[sh] = "${base_bindir}/${BPN}"
Andrew Geisslerf103a7f2021-05-07 16:09:40 -050044ALTERNATIVE_PRIORITY = "90"
Brad Bishop316dfdd2018-06-25 12:45:53 -040045
46export AUTOHEADER = "true"
47
48do_configure () {
49 gnu-configize --force ${S}
50 oe_runconf
51}
52
Patrick Williams213cb262021-08-07 19:21:33 -050053pkg_postinst:${PN} () {
Brad Bishop316dfdd2018-06-25 12:45:53 -040054 touch $D${sysconfdir}/shells
55 grep -q "bin/zsh" $D${sysconfdir}/shells || echo /bin/zsh >> $D${sysconfdir}/shells
56 grep -q "bin/sh" $D${sysconfdir}/shells || echo /bin/sh >> $D${sysconfdir}/shells
57}
58
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070059# work around QA failures with usrmerge installing zsh in /usr/bin/zsh instead of /bin/zsh
Patrick Williams213cb262021-08-07 19:21:33 -050060# ERROR: QA Issue: /usr/share/zsh/5.8/functions/zed contained in package zsh requires /bin/zsh, but no providers found in RDEPENDS:zsh? [file-rdeps]
William A. Kennington IIIb95905d2021-06-02 12:40:56 -070061# like bash does since https://git.openembedded.org/openembedded-core/commit/?id=4759408677a4e60c5fa7131afcb5bc184cf2f90a
Patrick Williams213cb262021-08-07 19:21:33 -050062RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/zsh', '', d)}"