From 16a4dc42215fd23c2931126c943fd11fe8b9d75e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 21 Dec 2023 13:27:48 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 zsh revision 13eb460c052e620c54bd6565584d4b5b --- .gitattributes | 23 + dotzshrc.rh | 34 + egrep-deprecation.patch | 26 + pipe-less-and-signals-handling.patch | 104 ++ trim-unneeded-completions.patch | 13 + zlogin.rhs | 8 + zlogout.rhs | 7 + zprofile | 7 + zprofile.rhs | 22 + zsh-5.9.tar.xz | 3 + zsh-5.9.tar.xz.asc | 11 + zsh-osc-completion.patch | 15 + zsh.changes | 1306 ++++++++++++++++++++++++++ zsh.keyring | 30 + zsh.spec | 303 ++++++ zshenv | 1 + zshenv.rhs | 9 + zshrc | 315 +++++++ zshrc.rhs | 50 + 19 files changed, 2287 insertions(+) create mode 100644 .gitattributes create mode 100644 dotzshrc.rh create mode 100644 egrep-deprecation.patch create mode 100644 pipe-less-and-signals-handling.patch create mode 100644 trim-unneeded-completions.patch create mode 100644 zlogin.rhs create mode 100644 zlogout.rhs create mode 100644 zprofile create mode 100644 zprofile.rhs create mode 100644 zsh-5.9.tar.xz create mode 100644 zsh-5.9.tar.xz.asc create mode 100644 zsh-osc-completion.patch create mode 100644 zsh.changes create mode 100644 zsh.keyring create mode 100644 zsh.spec create mode 100644 zshenv create mode 100644 zshenv.rhs create mode 100644 zshrc create mode 100644 zshrc.rhs diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/dotzshrc.rh b/dotzshrc.rh new file mode 100644 index 0000000..9935bec --- /dev/null +++ b/dotzshrc.rh @@ -0,0 +1,34 @@ +# +# .zshrc is sourced in interactive shells. +# It should contain commands to set up aliases, +# functions, options, key bindings, etc. +# + +autoload -U compinit +compinit + +#allow tab completion in the middle of a word +setopt COMPLETE_IN_WORD + +## keep background processes at full speed +#setopt NOBGNICE +## restart running processes on exit +#setopt HUP + +## history +#setopt APPEND_HISTORY +## for sharing history between zsh processes +#setopt INC_APPEND_HISTORY +#setopt SHARE_HISTORY + +## never ever beep ever +#setopt NO_BEEP + +## automatically decide when to page a list of completions +#LISTMAX=0 + +## disable mail checking +#MAILCHECK=0 + +# autoload -U colors +#colors diff --git a/egrep-deprecation.patch b/egrep-deprecation.patch new file mode 100644 index 0000000..e398f1c --- /dev/null +++ b/egrep-deprecation.patch @@ -0,0 +1,26 @@ +Index: zsh-5.9/Test/D07multibyte.ztst +=================================================================== +--- zsh-5.9.orig/Test/D07multibyte.ztst ++++ zsh-5.9/Test/D07multibyte.ztst +@@ -6,7 +6,7 @@ + unset -m LC_\* + mb_ok= + langs=(en_{US,GB}.{UTF-,utf}8 en.UTF-8 +- $(locale -a 2>/dev/null | egrep 'utf8|UTF-8')) ++ ${(M)$(locale -a 2>/dev/null):#*.(utf8|UTF-8)} ) + for LANG in $langs; do + if [[ é = ? ]]; then + mb_ok=1 +Index: zsh-5.9/Test/E01options.ztst +=================================================================== +--- zsh-5.9.orig/Test/E01options.ztst ++++ zsh-5.9/Test/E01options.ztst +@@ -651,7 +651,7 @@ + >noktarg1 + >0 1 + +- showopt() { setopt | egrep 'localoptions|ksharrays'; } ++ showopt() { setopt | grep -E 'localoptions|ksharrays'; } + f1() { setopt localoptions ksharrays; showopt } + f2() { setopt ksharrays; showopt } + setopt kshoptionprint diff --git a/pipe-less-and-signals-handling.patch b/pipe-less-and-signals-handling.patch new file mode 100644 index 0000000..736492d --- /dev/null +++ b/pipe-less-and-signals-handling.patch @@ -0,0 +1,104 @@ +diff --git a/Src/jobs.c b/Src/jobs.c +index 707374297..76c762ee5 100644 +--- a/Src/jobs.c ++++ b/Src/jobs.c +@@ -544,16 +544,14 @@ update_job(Job jn) + + if (isset(MONITOR)) { + pid_t pgrp = gettygrp(); /* get process group of tty */ ++ int deadpgrp = (mypgrp != pgrp && inforeground && pgrp > 1 && ++ kill(-pgrp, 0) == -1 && errno == ESRCH); + + /* is this job in the foreground of an interactive shell? */ + if (mypgrp != pgrp && inforeground && +- (jn->gleader == pgrp || +- (pgrp > 1 && +- (kill(-pgrp, 0) == -1 && errno == ESRCH)))) { ++ ((jn->gleader == pgrp && signalled) || deadpgrp)) { + if (list_pipe) { +- if (somestopped || (pgrp > 1 && +- kill(-pgrp, 0) == -1 && +- errno == ESRCH)) { ++ if (somestopped || deadpgrp) { + attachtty(mypgrp); + /* check window size and adjust if necessary */ + adjustwinsize(0); +@@ -566,6 +564,12 @@ update_job(Job jn) + * when the job is finally deleted. + */ + jn->stat |= STAT_ATTACH; ++ /* ++ * If we're in shell jobs on the right side of a pipeline ++ * we should treat it like a job in the current shell. ++ */ ++ if (inforeground == 2) ++ inforeground = 1; + } + /* If we have `foo|while true; (( x++ )); done', and hit + * ^C, we have to stop the loop, too. */ +@@ -1488,10 +1492,7 @@ addproc(pid_t pid, char *text, int aux, struct timeval *bgtime, + * set it for that, too. + */ + if (gleader != -1) { +- if (jobtab[thisjob].stat & STAT_CURSH) +- jobtab[thisjob].gleader = gleader; +- else +- jobtab[thisjob].gleader = pid; ++ jobtab[thisjob].gleader = gleader; + if (list_pipe_job_used != -1) + jobtab[list_pipe_job_used].gleader = gleader; + /* +@@ -1500,7 +1501,7 @@ addproc(pid_t pid, char *text, int aux, struct timeval *bgtime, + */ + last_attached_pgrp = gleader; + } else if (!jobtab[thisjob].gleader) +- jobtab[thisjob].gleader = pid; ++ jobtab[thisjob].gleader = pid; + /* attach this process to end of process list of current job */ + pnlist = &jobtab[thisjob].procs; + } +@@ -2506,6 +2507,7 @@ bin_fg(char *name, char **argv, Options ops, int func) + jobtab[job].stat &= ~STAT_CURSH; + } + if ((stopped = (jobtab[job].stat & STAT_STOPPED))) { ++ /* WIFCONTINUED will makerunning() again at killjb() */ + makerunning(jobtab + job); + if (func == BIN_BG) { + /* Set $! to indicate this was backgrounded */ + +diff --git a/Src/exec.c b/Src/exec.c +index 2422dae91..d4e681887 100644 +--- a/Src/exec.c ++++ b/Src/exec.c +@@ -1899,8 +1899,12 @@ execpline(Estate state, wordcode slcode, int how, int last1) + break; + } + } +- else if (subsh && jn->stat & STAT_STOPPED) +- thisjob = newjob; ++ else if (subsh && jn->stat & STAT_STOPPED) { ++ if (thisjob == newjob) ++ makerunning(jn); ++ else ++ thisjob = newjob; ++ } + else + break; + } +diff --git a/Src/jobs.c b/Src/jobs.c +index 76c762ee5..4863962b9 100644 +--- a/Src/jobs.c ++++ b/Src/jobs.c +@@ -564,12 +564,6 @@ update_job(Job jn) + * when the job is finally deleted. + */ + jn->stat |= STAT_ATTACH; +- /* +- * If we're in shell jobs on the right side of a pipeline +- * we should treat it like a job in the current shell. +- */ +- if (inforeground == 2) +- inforeground = 1; + } + /* If we have `foo|while true; (( x++ )); done', and hit + * ^C, we have to stop the loop, too. */ diff --git a/trim-unneeded-completions.patch b/trim-unneeded-completions.patch new file mode 100644 index 0000000..4f64bbd --- /dev/null +++ b/trim-unneeded-completions.patch @@ -0,0 +1,13 @@ +Index: zsh-5.0.2/Src/Zle/complete.mdd +=================================================================== +--- zsh-5.0.2.orig/Src/Zle/complete.mdd ++++ zsh-5.0.2/Src/Zle/complete.mdd +@@ -1,7 +1,7 @@ + name=zsh/complete + link=either + load=yes +-functions='Completion/*comp* Completion/AIX/*/* Completion/BSD/*/* Completion/Base/*/* Completion/Cygwin/*/* Completion/Darwin/*/* Completion/Debian/*/* Completion/Linux/*/* Completion/Mandriva/*/* Completion/Redhat/*/* Completion/Solaris/*/* Completion/openSUSE/*/* Completion/Unix/*/* Completion/X/*/* Completion/Zsh/*/*' ++functions='Completion/*comp* Completion/Base/*/* Completion/Linux/*/* Completion/openSUSE/*/* Completion/Unix/*/* Completion/X/*/* Completion/Zsh/*/*' + + moddeps="zsh/zle" + diff --git a/zlogin.rhs b/zlogin.rhs new file mode 100644 index 0000000..5b7de4a --- /dev/null +++ b/zlogin.rhs @@ -0,0 +1,8 @@ +# +# /etc/zlogin and .zlogin are sourced in login shells. It should +# contain commands that should be executed only in +# login shells. It should be used to set the terminal +# type and run a series of external commands (fortune, +# msgs, from, etc). +# + diff --git a/zlogout.rhs b/zlogout.rhs new file mode 100644 index 0000000..3e78094 --- /dev/null +++ b/zlogout.rhs @@ -0,0 +1,7 @@ +# +# +# /etc/zlogout and ~/.zlogout are run when an interactive session ends +# +# + +clear diff --git a/zprofile b/zprofile new file mode 100644 index 0000000..4d51ae9 --- /dev/null +++ b/zprofile @@ -0,0 +1,7 @@ +# we source the general profile here so we dont have to +# reimplement it +setopt nonomatch +source /etc/profile +unsetopt nonomatch +# put your own login shell specific configuration below +# this line diff --git a/zprofile.rhs b/zprofile.rhs new file mode 100644 index 0000000..03d316f --- /dev/null +++ b/zprofile.rhs @@ -0,0 +1,22 @@ +# +# /etc/zprofile and ~/.zprofile are run for login shells +# + +PATH="$PATH:$HOME/bin" +export PATH + +_src_etc_profile() +{ + # Make /etc/profile happier, and have possible ~/.zshenv options like + # NOMATCH ignored. + # + emulate -L ksh + + # source profile + if [ -f /etc/profile ]; then + source /etc/profile + fi +} +_src_etc_profile + +unset -f _src_etc_profile diff --git a/zsh-5.9.tar.xz b/zsh-5.9.tar.xz new file mode 100644 index 0000000..fed3684 --- /dev/null +++ b/zsh-5.9.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b8d1ecedd5b5e81fbf1918e876752a7dd948e05c1a0dba10ab863842d45acd5 +size 3332400 diff --git a/zsh-5.9.tar.xz.asc b/zsh-5.9.tar.xz.asc new file mode 100644 index 0000000..1e9637d --- /dev/null +++ b/zsh-5.9.tar.xz.asc @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEfKfsqvBiFrkPiUFGrPgUbK6Mu8QFAmJ///QACgkQrPgUbK6M +u8RgPgf+N/yJ+ltJouICaa8fYiYxN0uuYhCeBDVmHuPdwFBPl/Fa5npXkuvo2s/0 +1ho5VfuU08B856GcBpraeuNqN74WNaaZ1E2P8ZFFg1Uw3xjxyg1lqjvkJZrrYURm +tZNoov33jeyKbyTaNxTHgIujyBE3Uu40wpLoIOL3jO4PV0useJyw1jj5CsnvhN1b +3S4X99gre3J0SahNDTGltmCwtO/nL3uZh0+FYNagJMF9ZTV9/BQEjBlozBWU+sPa +rBpbr9A4p/AY2GQti03EmP/HXicaX397aRlBqgfjSRkMJpvaDnVnuXY53uLVOKdW +sg6FYiIrO54Q6bEzJV9JfhdvqQtU4A== +=BNV9 +-----END PGP SIGNATURE----- diff --git a/zsh-osc-completion.patch b/zsh-osc-completion.patch new file mode 100644 index 0000000..ff60a87 --- /dev/null +++ b/zsh-osc-completion.patch @@ -0,0 +1,15 @@ +Index: zsh-5.0.7/Completion/openSUSE/Command/_osc +=================================================================== +--- zsh-5.0.7.orig/Completion/openSUSE/Command/_osc ++++ zsh-5.0.7/Completion/openSUSE/Command/_osc +@@ -16,8 +16,8 @@ + # version 0.2 + # + +-OSC_BUILD_TARGETS="openSUSE_12.1 openSUSE_12.2 openSUSE_12.3 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP2" +-OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:12.3 openSUSE:12.2 openSUSE:12.1" ++OSC_BUILD_TARGETS="openSUSE_13.1 openSUSE_13.2 openSUSE_Tumbleweed openSUSE_Factory SLE_11_SP3 SLE_12" ++OSC_PROJECTS="openSUSE:Factory openSUSE:Tumbleweed openSUSE:13.2 openSUSE:13.1" + + # user defined variables $OSC_BUILD_TARGETS_EXTRA and + # $OSC_PROJECTS_EXTRA can add to the project/build target list diff --git a/zsh.changes b/zsh.changes new file mode 100644 index 0000000..b2a6cfe --- /dev/null +++ b/zsh.changes @@ -0,0 +1,1306 @@ +------------------------------------------------------------------- +Thu Nov 30 17:10:17 UTC 2023 - Paolo Perego + +- add pipe-less-and-signals-handling.patch (bsc#1217304). It fixes a problem + with signal handling and less when the job is suspended in a user defined + concatenated commands function. + +------------------------------------------------------------------- +Tue Feb 28 16:40:02 UTC 2023 - Paolo Perego + +- Disabled zsh-sh subpackage generation for Leap 15.4 to prevent an error when + building the package. + +------------------------------------------------------------------- +Tue Feb 28 10:41:17 UTC 2023 - pgajdos@suse.com + +- don't require yodl for build, doc is not regenerated anyway + +------------------------------------------------------------------- +Tue Dec 27 13:27:44 UTC 2022 - Ludwig Nussel + +- Replace transitional %usrmerged macro with regular version check (boo#1206798) + +------------------------------------------------------------------- +Sat Oct 22 05:22:28 UTC 2022 - Luciano Santos + +- Add zsh-sh subpackage to offer Zsh users a "native" way to handle + /bin/sh scripts and use an SH shell with the capabilities of Zsh + itself to emulate a Bourne shell. An 'sh' symlink pointing to the + Zsh binary is all that is needed for it to emulate the Bourne + shell, it is similar to the use of `emulate sh` Zsh's built-in + command or the `zsh --emulate sh` shell command. +- Drop deprecated use of install_info(_delete) post(un) macros. RPM + file triggers have replaced their functionality since 2019. + +------------------------------------------------------------------- +Mon Sep 12 13:03:37 UTC 2022 - Dirk Müller + +- add egrep-deprecation.patch (bsc#1203241) + +------------------------------------------------------------------- +Sun May 15 17:44:40 UTC 2022 - Dirk Müller + +- update to 5.9: + zsh 5.9 is dedicated to the memory of Sven Guckes, who was, amongst other + things, a long-time zsh advocate. For more information, see: + + https://linuxnews.de/2022/02/sven-guckes-verstorben/ + https://groups.google.com/g/vim_announce/c/MJBKVd-xrEE/m/joVNaDgAAgAJ + + When unsetting a hash element, the string enclosed in square brackets is + interpreted literally after any normal command-line-argument expansions. + Thus + unset "hash[$key]" + first expands $key as usual for a double-quoted string, and then interprets + that result as the exact hash element to unset. This differs from previous + versions of the shell, which would also remove a leading backslash for an + unusual subset of characters in the expansion of $key. Note this also + means, for example, that now + unset 'hash[ab]cd]' + unsets the element with key "ab]cd" rather than silently doing nothing. + + The function command learnt a -T option to declare a function and enable + tracing for it simultaneously. + + The option SHORT_REPEAT was added to enable the short syntax of + SHORT_LOOPS for the repeat command only. It is disabled by default. + + The _arguments function now supports NUL-delimiting optargs in the + opt_args array via the -0 option. Developers of completion functions + should find this easier to handle reliably than the default + colon-delimiting behaviour. + + The zsh/system module's `zsystem flock` command learnt an -i option to + set the wait interval used with -t. Additionally, -t now supports + fractional seconds. + + The option CLOBBER_EMPTY was added to enable the overwrite behaviour + of CLOBBER for empty files only. It is disabled by default. + + A (-) expansion flag was added. It works like (n) but correctly sorts + negative numbers. + + The (*) expansion flag enables EXTENDED_GLOB for pattern matching. + For example, ${(*)sample/(#b)*(pat)*/${match[1]}} uses backreferences + even if EXTENDED_GLOB is not otherwise set. However, this does not + descend into nested exapansions, and doubling as (**) does not disable + EXTENDED_GLOB. + + The compinit function learnt a -w option to explain why compdump runs. + When run without the -i or -u options and compaudit discovers security + issues, answering "y" to the "Ignore insecure ..." prompt removes the + insecure elements (like the -i option) where previously it ignored the + result (thus formerly like the -u option). Further, removing those + elements includes dropping directories from the $fpath array. + + The zsh/datetime module's strftime builtin learnt an -n option to omit + the trailing newline when printing a formatted time. + + The XTRACE option is now disabled while running user-defined completion + widgets. This corresponds to long-standing behavior of other user ZLE + widgets. Use the _complete_debug widget to capture XTRACE output, or + use "functions -T" to enable tracing of specific completion functions. + + The fc builtin learnt an -s option which is a POSIX equivalent to the + `fc -e-` method of re-executing a command without invoking an editor. + + The option CASE_PATHS was added to control how NO_CASE_GLOB behaves. + NO_CASE_GLOB + NO_CASE_PATHS is equivalent to the current NO_CASE_GLOB + behaviour. NO_CASE_GLOB + CASE_PATHS treats only path components that + contain globbing characters as case-insensitive; this behaviour may + yield more predictable results on case-sensitive file systems. + NO_CASE_PATHS is the default. + + With the new TYPESET_TO_UNSET option set, "typeset foo" leaves foo unset, + in contrast to the default behavior which assigns foo="". Any parameter + attributes such as numeric type, sorting, and padding are retained until + the parameter is explicitly unset or a conflicting value is assigned. + This is similar to default behavior of bash and ksh. This option is + disabled by default. + + The compadd builtin's -D option can now be specified more than once. + + The zsh/zutil module's zformat builtin learnt an -F option which behaves + like -f except that ternary expressions check for existence instead of + doing math evaluation. + + The conventional syntax used to indicate units, ranges, and default values + in completion descriptions (e.g. `timeout (seconds) (0-60) [20]`) is now + recognised by the completion system itself. These components are parsed + out of the description and can be individually styled. A _numbers helper + function has been added to help function authors offer rich completion + for these values. + + The log builtin, WATCH parameter, et al., have been broken out into a + separate module, zsh/watch. The module is enabled by default. + + The zsh/watch module's WATCHFMT parameter now supports colours via the + %F and %K escapes. + + The STTY parameter can now be set to an empty string before running a + command to automatically restore terminal settings after the command + finishes. + + The "jobs" command and "$jobstates" and related parameters can report on + parent shell jobs even in subshells. This is a snapshot of the parent + state, frozen at the point the subshell started. However, if a subshell + starts its own background jobs, the parent state is discarded in order + to report on those new jobs. + +- drop ncurses-fix.patch: upstream + +------------------------------------------------------------------- +Sun Mar 20 20:03:32 UTC 2022 - Dirk Müller + + - update to 5.8.1 (bsc#1196435, CVE-2021-45444): + * CVE-2021-45444: Some prompt expansion sequences, such as %F, support + 'arguments' which are themselves expanded in case they contain colour + values, etc. This additional expansion would trigger PROMPT_SUBST + evaluation, if enabled. This could be abused to execute code the user + didn't expect. e.g., given a certain prompt configuration, an attacker + could trick a user into executing arbitrary code by having them check + out a Git branch with a specially crafted name. + + This is fixed in the shell itself by no longer performing PROMPT_SUBST + evaluation on these prompt-expansion arguments. + + Users who are concerned about an exploit but unable to update their + binaries may apply the partial work-around described in the file + Etc/CVE-2021-45444-VCS_Info-workaround.patch included with the shell + source. [ Reported by RyotaK . Additional thanks to + Marc Cornellà . ] + +------------------------------------------------------------------- +Fri Oct 16 10:27:34 UTC 2020 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Tue Aug 25 13:25:50 UTC 2020 - Martin Liška + +- Add ncurses-fix.patch in order to fix ncurses failure. + +------------------------------------------------------------------- +Tue May 5 20:07:10 UTC 2020 - Mykola Krachkovsky + +- Add $HOME aliases to fix regression after dropping /etc/bash.bashrc + +------------------------------------------------------------------- +Tue May 5 04:41:08 UTC 2020 - Ismail Dönmez + +- Add back LS_COLORS, LS_OPTIONS and GPG_TTY + +------------------------------------------------------------------- +Wed Apr 15 09:02:14 UTC 2020 - Ismail Dönmez + +- Add aliases from /etc/bash.bashrc into /etc/zshrc so we don't + regress + +------------------------------------------------------------------- +Wed Apr 8 06:04:06 UTC 2020 - Ismail Dönmez + +- Stop sourcing /etc/bash.bashrc which causes problems with ls, add + a call to manually source /etc/zsh.zshrc.local if available. + +------------------------------------------------------------------- +Tue Mar 10 08:38:10 UTC 2020 - Martin Liška + +- Remove stack-protector option addition, it's already in $optflags. + +------------------------------------------------------------------- +Mon Feb 17 05:18:47 UTC 2020 - Ismail Dönmez + +- Update to version 5.8 + * Fixes CVE-2019-20044 bsc#1163882 + +------------------------------------------------------------------- +Fri Feb 7 12:07:51 UTC 2020 - Ismail Dönmez + +- Update to version 5.8~pre3 (5.7.1-test-3) + * Minor bugfixes compared to pre2 + +------------------------------------------------------------------- +Sun Dec 22 09:19:39 UTC 2019 - Ismail Dönmez + +- Update to version 5.8~pre2 (5.7.1-test-2) +- Drop 1baf0d1f553631ecb641e98f4bf48bc2a44e5b82.patch, fixed + upstream. + +------------------------------------------------------------------- +Mon Dec 16 15:03:50 UTC 2019 - Ismail Dönmez + +- Add 1baf0d1f553631ecb641e98f4bf48bc2a44e5b82.patch to fix a + re-entrancy problem. + +------------------------------------------------------------------- +Mon Dec 16 10:08:27 UTC 2019 - Ismail Dönmez + +- Update to version 5.8~pre1 (5.7.1-test-1) + * The zsh/zutil module's zparseopts builtin learnt an -F option to abort + parsing when an unrecognised option-like parameter is encountered. + * The zsh/files module gained a chmod builtin. + * Several changes have been made to the way completion functions track + 'precommands' (such as `command` and `env`) and determine whether the + command being completed for is a shell builtin. Developers of completion + functions may wish to familiarise themselves with `_normal -p` and + `_pick_variant -b`. + * The option CD_SILENT was added to suppress all output from cd (whether + explicit or implicit with AUTO_CD). It is disabled by default. + * The compadd builtin's -o option now takes an optional argument to + specify the order of completion matches. This affects the display + of candidate matches and the order in which they are selected when + cycling between them using menu completion. + * The :h and :t modifiers in parameter expansion (if braces are present), + glob qualifiers and history expansion may take following decimal digit + arguments in order to keep that many leading or trailing path components + instead of the defaults of all but one (:h) and one (:t). In an absolute + path the leading '/' counts as one component. + * The functions builtin gained a -c option to efficiently copy functions. +- See included ChangeLog for the complete list of changes. + +------------------------------------------------------------------- +Mon Feb 4 13:15:17 UTC 2019 - Ismail Dönmez + +- Update to version 5.7.1 + * This release contains fixes for the two regressions reported + with VCS_Info and prompt colour sequences. + +------------------------------------------------------------------- +Fri Jan 25 10:50:59 UTC 2019 - Ismail Dönmez + +- Update to version 5.7 + * Support for 24-bit true color terminals has been added. + Hex triplets can be used when specifying colours for prompts + and line editor highlighting. On 88 and 256 colour terminals, + a new zsh/nearcolor module allows colours specified with hex + triplets to be matched against the nearest available colour. + * The zsh/datetime module's strftime builtin now accepts an + argument specifying the nanoseconds time component; both + arguments can be omitted to use the current time. + +------------------------------------------------------------------- +Fri Sep 21 09:29:03 UTC 2018 - Ismail Dönmez + +- Unbreak Leap 42.3 compilation + +------------------------------------------------------------------- +Sun Sep 16 20:13:34 UTC 2018 - Karol Babioch + +- Update to version 5.6.2 + * Fix another SIGTTOU case. + * Fix SIGWINCH being ignored when zsh is not in the foreground. + +------------------------------------------------------------------- +Tue Sep 11 06:54:09 UTC 2018 - Karol Babioch + +- Update to version 5.6.1 + * Fix packaging issue that broke runhelp + * Fix a regression with pipelines getting backgrounded and emitting SIGTTOU + +------------------------------------------------------------------- +Tue Sep 4 15:51:31 UTC 2018 - Ismail Dönmez + +- Update to version 5.6 + * Fixes CVE-2018-0502 (bsc#1107296) and + CVE-2018-13259 (bsc#1107294) + * Switch to -fstack-protector-strong + * See included NEWS file for complete changes. +- No longer manually install help files, make install handles it. +- Workaround a regression upstream with help file generation by + removing Doc/help.txt before build. + +------------------------------------------------------------------- +Fri May 11 13:25:20 UTC 2018 - kbabioch@suse.com + +- Update to 5.5.1 + * fix for a configuration problem finding signal names from (some) recent + versions of glibc + * minor changes + +------------------------------------------------------------------- +Thu Apr 12 11:38:08 UTC 2018 - jengelh@inai.de + +- Update RPM groups. + +------------------------------------------------------------------- +Wed Apr 11 07:45:35 UTC 2018 - kbabioch@suse.com + +- Update to 5.5 + * The effect of the NO_INTERACTIVE_COMMENTS option extends into $(...) + and `...` command substitutions when used on the command line. + * Dropped patches, which are included upstream now: + - zsh-CVE-2018-1071.patch + - zsh-CVE-2018-1083.patch + * Fixes a buffer overflow in utils.c:checkmailpath() that can lead to + local arbitrary code execution (CVE-2018-1100 bnc#1089030) + +------------------------------------------------------------------- +Tue Mar 27 09:34:00 UTC 2018 - kbabioch@suse.com + +- Added zsh-CVE-2018-1071.patch: Fixed a stack-based buffer overflow + in exec.c:hashcmd() (CVE-2018-1071 bnc#1084656) +- Added zsh-CVE-2018-1083.patch: Fixed a stack-based buffer overflow + in gen_matches_files() at compctl.c (CVE-2018-1083 bnc#1087026) +- Cleaned up spec file with spec-cleaner + +------------------------------------------------------------------- +Tue Feb 27 12:21:43 UTC 2018 - kbabioch@suse.com + +- Updated to 5.4.2 + * The 'exec' and 'command' precommand modifiers, and options to + them, are now parsed after parameter expansion. + * Functions executed by ZLE widgets no longer have their standard + input closed, but redirected from /dev/null instead. + * There is an option WARN_NESTED_VAR, a companion to the existing + WARN_CREATE_GLOBAL that causes a warning if a function updates a + variable from an enclosing scope without using typeset -g. + * zmodload now has an option -s to be silent on a failure to find + a module but still print other errors. +- Dropped patch merged upstream: + * fix-patchutils-completion.patch + +------------------------------------------------------------------- +Sun Mar 5 14:40:13 UTC 2017 - rpm@fthiessen.de + +- Update to 5.3.1 + * Fix typo in chflags completion + * Fixed invalid git commands completion + * VCS info system: vcs_info git: Avoid a fork. + * Fix handling of "printf -" and "printf --" +- Removed upstream merged fix-printf.patch + +------------------------------------------------------------------- +Tue Jan 10 16:27:19 UTC 2017 - jmatejek@suse.com + +- fix broken completion for filterdiff: fix-patchutils-completion.patch + (boo#1019130) + +------------------------------------------------------------------- +Wed Dec 14 09:37:40 UTC 2016 - idonmez@suse.com + +- Update to zsh 5.3 + * Unicode9 support, this needs support from your terminal to + work correctly. + * The new word modifier ':P' computes the physical path of the + argument. + * The output of "typeset -p" uses "export" commands or the "-g" + option for parameters that are not local to the current scope. + * vi-repeat-change can repeat user-defined widgets if the widget + calls zle -f vichange. + * The parameter $registers now makes the contents of vi register + buffers available to user-defined widgets. + * New vi-up-case and vi-down-case builtin widgets bound to gU/gu + (or U/u in visual mode) for doing case conversion. + * A new select-word-match function provides vim-style text objects + with configurable word boundaries using the existing + match-words-by-style mechanism. + * Support for the conditional expression [[ -v var ]] to test if a + variable is set for compatibility with other shells. + * The print and printf builtins have a new option -v to assign the + output to a variable. + * New x: syntax in completion match specifications make it possible + to disable match specifications hardcoded in completion functions. +- Re-add custom zshrc and zshenv to unbreak compatibility with old + usage (boo#998858). +- Add fix-printf.patch to fix a regression in printf. + +------------------------------------------------------------------- +Thu Sep 8 13:25:28 UTC 2016 - idonmez@suse.com + +- Read /etc/profile as zsh again. + +------------------------------------------------------------------- +Tue Aug 30 14:13:40 UTC 2016 - mmanno@suse.com + +- Remove custom zshrc and zshenv as they might interfere with the users config +- Remove unused zshprompt.pl +- Move install outside loop in spec file, was executed too often + +------------------------------------------------------------------- +Wed May 25 12:30:17 UTC 2016 - llua@gmx.com + +- Add CentOS [67] support + +------------------------------------------------------------------- +Thu Dec 10 09:55:27 UTC 2015 - mpluskal@suse.com + +- Add gpg signature + +------------------------------------------------------------------- +Thu Dec 3 07:36:33 UTC 2015 - idonmez@suse.com + +- Update to version 5.2 + * The new module zsh/param/private can be loaded to allow the shell + to define parameters that are private to a function scope (i.e. are + not propagated to nested functions called within this function). + * The GLOB_STAR_SHORT option allows the pattern **/* to be shortened to + just ** if no / follows. so **.c searches recursively for a file whose + name has the suffix ".c". + * The effect of the WARN_CREATE_GLOBAL option has been significantly + extended, so expect it to cause additional warning messages about + parameters created globally within function scope. + +------------------------------------------------------------------- +Thu Nov 5 15:51:37 UTC 2015 - idonmez@suse.com + +- Remove -Wl,-z,now it breaks module loading rh#1277996 + +------------------------------------------------------------------- +Sat Sep 12 07:47:27 UTC 2015 - idonmez@suse.com + +- Update to version 5.1.1 + * Bug fixes for regressions in 5.1 release +- Remove read1char_signals.patch, fixed upstream. + +------------------------------------------------------------------- +Tue Sep 1 18:57:20 UTC 2015 - idonmez@suse.com + +- Add read1char_signals.patch to fix workers/36373 + +------------------------------------------------------------------- +Tue Sep 1 06:36:57 UTC 2015 - idonmez@suse.com + +- Update to version 5.1 + * The print builtin has new options -x and -X to expand tabs. + * Several new command completions and numerous updates to others. + * Options to "fc" to segregate internal and shared history. + * All emulations including "sh" use multibyte by default; several + repairs to multibyte handling. + * ZLE supports "bracketed paste" mode to avoid interpreting pasted + newlines as accept-line. Pastes can be highlighted for visibility + and to make it more obvious whether accept-line has occurred. + * Improved (though still not perfect) POSIX compatibility for getopts + builtin when POSIX_BUILTINS is set. + * New setopt APPEND_CREATE for POSIX-compatible NO_CLOBBER behavior. + * Completion of date values now displays in a calendar format when + the complist module is available. Controllable by zstyle. + * New parameter UNDO_LIMIT_NO for more control over ZLE undo repeat. + * Several repairs/improvements to the contributed narrow-to-region + ZLE function. + * Many changes to child-process and signal handling to eliminate race + conditions and avoid deadlocks on descriptor and memory management. + * New builtin sysopen in zsh/system module for detailed control of + file descriptor modes. +- Remove printf-regress.patch, upstream. + +------------------------------------------------------------------- +Sun Jun 14 12:55:42 UTC 2015 - idonmez@suse.com + +- Add printf-regress.patch to fix a printf regression boo#934175 + +------------------------------------------------------------------- +Sun May 31 19:15:36 UTC 2015 - idonmez@suse.com + +- Update to version 5.0.8 + * Global aliases can be created for syntactic tokens such as command + separators (";", "&", "|", "&&", "||"), redirection operators, etc. + * There have been various further improvements to builtin handling + with the POSIX_BUILTINS option (off by default) for compatibility with + the POSIX standard. + * 'whence -v' is now more informative, and 'whence -S' shows you + how a full chain of symbolic links resolves to a command. + * The 'p' parameter flag now allows an argument to be specified + as a reference to a variable, e.g. ${(ps.$sep.)foo} to split $foo + on a string given by $sep. + * The option FORCE_FLOAT now forces variables, not just constants, + to floating point in arithmetic expressions. + * The type of an assignment in arithmetic expressions, e.g. the + type seen by the variable res in $(( res = a = b )), is now + more logical and C-like. + * The default binding of 'u' in vi command mode has changed to undo + multiple changes when invoked repeatedly. '^R' is now bound to redo + changes. To revert to toggling of the last edit use: + bindkey -a u vi-undo-change + * Compatibility with Vim has been improved for vi editing mode. Most + notably, Vim style text objects are supported and the region can be + manipulated with vi commands in the same manner as Vim's visual mode. + * Elements of the watch variable may now be patterns. + * The logic for retrying history locking has been improved. +- Remove gcc5-fix.patch, fixed upstream. + +------------------------------------------------------------------- +Sun May 3 07:36:02 UTC 2015 - dmitry_r@opensuse.org + +- Fix openSUSE versions in osc completion + * zsh-osc-completion.patch + +------------------------------------------------------------------- +Wed Apr 29 08:30:49 UTC 2015 - idonmez@suse.com + +- Add gcc5-fix.patch to fix signames.c generation with gcc5 + +------------------------------------------------------------------- +Wed Apr 22 12:45:53 UTC 2015 - hvogel@opensuse.org + +- Nowadays more and more terminals set $TERM to xterm-256color + +------------------------------------------------------------------- +Tue Feb 10 08:27:53 UTC 2015 - dimstar@opensuse.org + +- BuildRequire texi2html instead of texinfo: the packages have been + split completely now. + +------------------------------------------------------------------- +Wed Jan 28 17:53:20 UTC 2015 - idonmez@suse.com + +- Add back rpm completion file (bnc#900424) + +------------------------------------------------------------------- +Wed Jan 14 09:57:47 UTC 2015 - idonmez@suse.com + +- Harden CFLAGS/LDFLAGS + +------------------------------------------------------------------- +Thu Oct 9 08:24:20 UTC 2014 - idonmez@suse.com + +- Update to version 5.0.7 + * Small bugfixes + * Includes a security fix to disallow evaluation of the + initial values of integer variables imported from the environment +- Remove zsh-fix-pcre-n.patch, fixed upstream + +------------------------------------------------------------------- +Sun Sep 7 20:05:41 UTC 2014 - idonmez@suse.com + +- Add zsh-fix-pcre-n.patch to fix pcre_match() -n option + +------------------------------------------------------------------- +Thu Aug 28 19:14:23 UTC 2014 - idonmez@suse.com + +- Update to version 5.0.6 + * See included ChangeLog +- Remove zsh-update-zypper-completion.patch, fixed upstream + +------------------------------------------------------------------- +Wed Aug 6 12:45:57 UTC 2014 - idonmez@suse.com + +- Rename Completion/openSUSE/Command/_SuSEconfig to _SUSEconfig + (bnc#888989 fate#316521) + +------------------------------------------------------------------- +Fri Jan 17 09:42:03 UTC 2014 - idonmez@suse.com + +- Update zsh-update-zypper-completion.patch to v0.3 + +------------------------------------------------------------------- +Thu Jan 16 09:44:48 UTC 2014 - idonmez@suse.com + +- Add zsh-update-zypper-completion.patch to update zypper + completions, patch by Holger Macht and Thomas Mitterfellner. + +------------------------------------------------------------------- +Tue Jan 7 08:40:21 UTC 2014 - idonmez@suse.com + +- Update to version 5.0.5 + * Fixes a couple of regression in 5.0.4 +- Remove zsh-pipefix.patch, merged upstream + +------------------------------------------------------------------- +Wed Dec 25 12:25:03 UTC 2013 - idonmez@suse.com + +- Update to version 5.0.4 + * Small bugfix release +- Add zsh-pipefix.patch to import pipe fixes from zsh.git +- Remove upstream patches + * zsh-osc-suseversion.patch + * zsh-zypper-completion.patch + +------------------------------------------------------------------- +Mon Apr 22 09:22:02 UTC 2013 - idonmez@suse.com + +- Don't set globdots it might lead to unexpected problems (bnc#815556) + +------------------------------------------------------------------- +Thu Mar 21 10:17:56 UTC 2013 - idonmez@suse.com + +- Fix custom completion support via /etc/zsh_completion.d (bnc#811356) +- Add trim-unneeded-completions.patch to remove unneeded completions + when building for openSUSE + +------------------------------------------------------------------- +Sun Jan 27 20:53:10 UTC 2013 - dmitry_r@opensuse.org + +- Fix zypper completion [bnc#752112] + * zsh-zypper-completion.patch +- Fix osc completion (SUSE versions) + * zsh-osc-suseversion.patch + +------------------------------------------------------------------- +Mon Dec 24 15:53:42 UTC 2012 - idonmez@suse.com + +- Update to version 5.0.2 + * Numeric constants in mathematical contexts can contain + underscores. + * functions -T turns on tracing for specific functions. +- See the included NEWS file for other changes. + +------------------------------------------------------------------- +Fri Nov 16 03:49:21 UTC 2012 - crrodriguez@opensuse.org + +- Test suite runs flaky in qemu-arm, disable it for now. + +------------------------------------------------------------------- +Fri Oct 26 14:58:46 UTC 2012 - coolo@suse.com + +- buildrequire groff needed to build helpfiles + +------------------------------------------------------------------- +Thu Aug 9 21:11:47 UTC 2012 - idonmez@suse.com + +- Version update to 5.0.0 + * No real changes since 4.3.17 + +------------------------------------------------------------------- +Sun Jul 22 13:20:50 UTC 2012 - coolo@suse.com + +- we need tex2html too, which is provided by texinfo + +------------------------------------------------------------------- +Thu Jul 19 07:58:15 UTC 2012 - coolo@suse.com + +- buildrequire makeinfo to fix build + +------------------------------------------------------------------- +Mon Feb 27 09:11:27 UTC 2012 - idonmez@suse.com + +- Update to version 4.3.17 + * Contains fixes for possible speed regression introduced + in 4.3.15 (new option HASH_EXECUTABLES_ONLY) + * Improvements to (bash) completion and shell emulation mode +- Drop all the patches, all upstream + +------------------------------------------------------------------- +Tue Feb 7 14:27:18 CET 2012 - hmacht@suse.de + +- add zsh-enable-openSUSE-completion-functions.patch: Enable + installation of openSUSE completion functions which are upstream + +------------------------------------------------------------------- +Tue Jan 31 11:08:53 UTC 2012 - idonmez@suse.com + +- Update _osc completion + +------------------------------------------------------------------- +Sat Dec 31 10:44:15 UTC 2011 - idonmez@suse.com + +- Instead of disabling c02cond manually, add upstream patch to + automatically disable it on noatime mounted systems. + +------------------------------------------------------------------- +Tue Dec 20 09:27:59 UTC 2011 - idonmez@suse.com + +- Update to zsh 4.3.15 + * Fix POSIX compatibility + +------------------------------------------------------------------- +Wed Dec 7 13:28:25 UTC 2011 - idonmez@suse.com + +- Update to zsh 4.3.14 + * Drop 74eed99c312de05e19b54ba6b5d37a0aeb4ba713.patch and + 724fd07a67f135c74eba57e9f25fd342201ec722.patch, fixed upstream + * Fix for nanosecond timestamp support + +------------------------------------------------------------------- +Mon Dec 5 09:40:23 UTC 2011 - idoenmez@suse.de + +- Fix license to be MIT, zsh seems to be using the "Modern" variant + of the license text. +- Import git commits 74eed99c312de05e19b54ba6b5d37a0aeb4ba713 and + 724fd07a67f135c74eba57e9f25fd342201ec722 + + * metafy() added null termination even if buffer was not modifiable + * Fix uninitialised memory after lexer realloc + +------------------------------------------------------------------- +Wed Nov 30 21:49:26 UTC 2011 - idoenmez@suse.de + +- Update to zsh 4.3.13 + * There are no significant feature changes to the shell itself, + although many bug fixes and improvements to functions. + * See included ChangeLog for details +- Drop zsh-4.3.12-ksh-emulation-syntax-checking.patch, + fixed upstream + +------------------------------------------------------------------- +Tue Nov 29 14:19:04 UTC 2011 - idoenmez@suse.de + +- Cleanup spec file +- Make /bin/zsh a symlink to /usr/bin/zsh + +------------------------------------------------------------------- +Mon Nov 28 08:36:51 UTC 2011 - idoenmez@suse.de + +- Update to 4.3.12-test3 + * See included ChangeLog for details +- Drop zsh-findproc.patch and zsh-kill-suspended-job.patch, fixed + upstream. + +------------------------------------------------------------------- +Thu Nov 24 09:00:37 UTC 2011 - idoenmez@suse.de + +- Add custom completion support via /etc/zsh_completion.d +- Fix build with new ncurses library + +------------------------------------------------------------------- +Mon Aug 1 23:17:10 UTC 2011 - crrodriguez@opensuse.org + +- Enable pcre module +- Build against ncurses6w instead of plain old ncurses5 + +------------------------------------------------------------------- +Wed Jun 29 12:35:50 UTC 2011 - chris@computersalat.de + +- enable build for RHEL and friends (CentOS, Fedora) + o merge with 4.2.6 from RHEL + o add/rework RHEL patch (BZ-488943-ksh-emulation-syntax-checking) + o add several *.rhs files + o disable E01options test +- add subpkg htmldoc +- fix deps + o fdupes >= suse_version 1110 + +------------------------------------------------------------------- +Fri Jun 17 13:35:56 UTC 2011 - idonmez@novell.com + +- Add zsh-kill-suspended-job.patch: fix killing suspended jobs +- Add zsh-findproc.patch: fix findproc() to find stopped jobs + +------------------------------------------------------------------- +Wed Jun 1 13:17:38 UTC 2011 - idonmez@novell.com + +- Update to zsh 4.3.12 +- Dropped openSUSE specific completions, all are upstreamed now + +------------------------------------------------------------------- +Tue Apr 26 15:43:10 UTC 2011 - idoenmez@novell.com + +- Enable make check + +------------------------------------------------------------------- +Thu Apr 21 09:19:55 UTC 2011 - idoenmez@novell.com + +- Disable zsh debug +- Enable strict aliasing again + +------------------------------------------------------------------- +Wed Apr 20 12:07:36 UTC 2011 - idoenmez@novell.com + +- Update to 4.3.11-dev-2, many crash fixes + +------------------------------------------------------------------- +Tue Mar 15 13:40:24 UTC 2011 - ismail@namtrac.org + +- Fix crash with ${foo:0:} + +------------------------------------------------------------------- +Wed Dec 29 02:07:58 UTC 2010 - cristian.rodriguez@opensuse.org + +- Update to version 4.3.11 +* The completion system now has a style path-completion. +* new "zsystem" builtin whose subcommands perform system level tasks +* Added "D" and "Z" flag in parameter expansion +* Lots of other bugfixes/improvements, see Changelog + +------------------------------------------------------------------- +Tue Mar 9 11:50:17 CET 2010 - hmacht@suse.de + +- update completion for _osc: + - add new products openSUSE 11.2 and openSUSE 11.3 + - add possibility to extend the list of projects and build + targets with user defined variables + $ZSH_OSC_BUILD_TARGETS_EXTRA and $ZSH_OSC_PROJECTS_EXTRA + +------------------------------------------------------------------- +Wed Dec 2 18:14:17 UTC 2009 - coolo@novell.com + +- update patch to apply with fuzz=0 + +------------------------------------------------------------------- +Thu Oct 8 16:22:43 UTC 2009 - coolo@novell.com + +- disable profiling for now + +------------------------------------------------------------------- +Thu Aug 20 10:51:55 UTC 2009 - hvogel@novell.com + +- Fix zshrc. Lost some features by not including bash.bashrc + +------------------------------------------------------------------- +Wed Aug 5 16:58:50 CEST 2009 - hvogel@suse.de + +- update to version 4.3.10 + o The command "emulate -c ..." evaluates an expression in + a given emulation. + o The variable CORRECT_IGNORE gives a pattern that can be ignored + in spelling correction. + o The option POSIX_ALIASES improves compatibility of aliases with + other shells. + o The option COMBINING_CHARS has been added. When it is set, the + line editor assumes the terminal is capable of displaying + zero-width combining characters (typically accents) correctly + as modifications to the base character, and will act accordingly. + o The option HIST_FCNTL_LOCK has been added to provide locking of + history files + o The syntax ~[...] provides a dynamic form of directory naming, + supplementing the existing static ~name syntax. + o Patterns can now be used in incremental searches with new widgets + o Highlighting and colouring of sections of the command line is now + supported + o Colouring of prompts is now supported within the shell by prompt + escapes. + o Various changes have been added to make debugging of shell code + easier + o The "fc" builtin has been enhanced to make non-interactive use + possible and output consistent when the history is manipulated + with "print -s". + o The completion style accept-exact-dirs has been added + o cd, chdir, pushd and popd now take a -q option to suppress side effects +- cleanup patches +- use fdupes +- install help files to versioned directory + +------------------------------------------------------------------- +Fri Apr 24 14:15:13 CEST 2009 - hmacht@suse.de + +- add completion for osc (_osc) +- add completion for zypper (_zypper) + +------------------------------------------------------------------- +Thu Oct 2 10:14:01 CEST 2008 - hvogel@suse.de + +- globally disabling the test was the plan, not only on some archs + +------------------------------------------------------------------- +Thu Sep 18 14:58:44 CEST 2008 - hvogel@suse.de + +- disable another test globally which keeps hanging + +------------------------------------------------------------------- +Tue Jun 17 12:35:04 CEST 2008 - hvogel@suse.de + +- disable one test globally + +------------------------------------------------------------------- +Thu Apr 3 15:03:30 CEST 2008 - hvogel@suse.de + +- update to 4.3.6 + * Various bugfixes + * various buildfixes + * for calendar_show use kdialog rather than xmessage if in KDE + * clarify the message printed when compaudit finds problems + * improve compsys option handling + * add -q option to cd, chdir, pushd, popd + * wait shouldn't return immediately on a signal unless it's + trapped + * fix not enough space for ztrftime string with multibyte + characters + +------------------------------------------------------------------- +Tue Mar 25 13:25:53 CET 2008 - hvogel@suse.de + +- Disable some tests on s390, s390x, ppc and ppc64 + +------------------------------------------------------------------- +Thu Mar 20 14:46:44 CET 2008 - hvogel@suse.de + +- update to 4.3.5 + * Various bugfixes + * stop tindent becoming negative, which causes infinite use of + memory; add debug test to see where it would become negative. + * make malloc(0) allocate a single byte instead of returning + invalid (and unfreeable) memory. + * fix race in POSIX signal blocking + * various completion fixes/updates, mostly git + * tidy up module interface and documentation + * more build tests + * The new extended globbing flag (#cN,M) behaves similarly to + the extended regular expression syntax {N,M}. + * The zsh/datetime module has been enhanced and a calendar function + system has been added along the lines of (but much enhanced from) + * A new module zsh/curses provides a builtin zcurses for access to + to the curses screen manipulation package. + +------------------------------------------------------------------- +Mon Dec 3 15:40:31 CET 2007 - hvogel@suse.de + +- cleanup initialization files + * Dont source profile from zshenv. profile is not for interactive + shells [#343621] + * Instead source profile from zprofile so we dont loose the features + and its easy to get rid of it. + * Source bash.bashrc from zshrc to keep the features and make it + possible to get rid of it easier. + +------------------------------------------------------------------- +Wed Jul 4 16:14:30 CEST 2007 - hvogel@suse.de + +- update to version 4.3.4 + * various bugfixes + * countless completion fixes + * some new completions + * various UTF8 fixes +- remove autoresume option from default config [#287776] + +------------------------------------------------------------------- +Fri Mar 30 12:33:28 CEST 2007 - rguenther@suse.de + +- add ncurses-devel BuildRequires. + +------------------------------------------------------------------- +Fri Jul 14 14:58:53 CEST 2006 - mskibbe@suse.de + +- merged in patches from poeml (mruecker@suse.de) +- rediffed patches for -p0 (mruecker@suse.de) +- update to version 4.3.2 which (mruecker@suse.de) + o fix two minor build problems + o contains initial support for multibyte characters in the shell's line editor +- only require libcap for build on 10.0 and older (mruecker@suse.de) + +------------------------------------------------------------------- +Wed Jan 25 21:43:48 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Sat Jan 14 21:04:55 CET 2006 - schwab@suse.de + +- Don't strip binaries. + +------------------------------------------------------------------- +Mon Dec 5 17:40:53 CET 2005 - hvogel@suse.de + +- clean up specfile +- document profiling builds + +------------------------------------------------------------------- +Mon Dec 5 16:27:20 CET 2005 - mmj@suse.de + +- Fix typo + +------------------------------------------------------------------- +Mon Dec 5 14:33:02 CET 2005 - mmj@suse.de + +- Update to 4.2.6 + +------------------------------------------------------------------- +Wed Apr 6 14:15:06 CEST 2005 - mmj@suse.de + +- Update to 4.2.5 + +------------------------------------------------------------------- +Tue Mar 15 18:22:19 CET 2005 - mmj@suse.de + +- Fix Makefile completion by using the _make from an older zsh + version [#72875] + +------------------------------------------------------------------- +Thu Feb 17 19:41:35 CET 2005 - poeml@suse.de + +- update yast2 completion to also complete *.ycp files + +------------------------------------------------------------------- +Thu Feb 3 13:28:24 CET 2005 - mmj@suse.de + +- Update to 4.2.4 + +------------------------------------------------------------------- +Mon Jan 31 15:40:16 CET 2005 - ro@suse.de + +- adapt to texi2html changes + +------------------------------------------------------------------- +Wed Jan 26 13:45:16 CET 2005 - uli@suse.de + +- run configure with --with-tcsetpgrp as suggested by the fail log + (fixes s390*) + +------------------------------------------------------------------- +Sat Jan 15 10:06:14 CET 2005 - mmj@suse.de + +- Update to zsh-4.2.3 which is a bugfix release not really affecting + us, but better keep up to date + +------------------------------------------------------------------- +Wed Jan 12 15:57:01 CET 2005 - mmj@suse.de + +- Update to zsh-4.2.2 + +------------------------------------------------------------------- +Mon Dec 20 13:48:49 CET 2004 - poeml@suse.de + +- fix yast2 completion to work without /sbin in PATH [#49374] +- fix yast2 and SuSEconfig completion to not show files from + working directory +- update hwinfo completion + +------------------------------------------------------------------- +Fri Aug 13 13:53:30 CEST 2004 - mmj@suse.de + +- Update to zsh-4.2.1 + +------------------------------------------------------------------- +Wed Jul 28 01:40:02 CEST 2004 - ro@suse.de + +- fix build of helpfiles after groff update + +------------------------------------------------------------------- +Fri Mar 19 13:22:58 CET 2004 - mmj@suse.de + +- Update to zsh-4.2.0 final release + +------------------------------------------------------------------- +Mon Mar 8 12:54:07 CET 2004 - mmj@suse.de + +- Update to zsh-4.2.0-pre-3 + +------------------------------------------------------------------- +Thu Feb 26 23:29:26 CET 2004 - mmj@suse.de + +- Update to zsh-4.2.0-pre-1 + +------------------------------------------------------------------- +Fri Jan 16 12:14:53 CET 2004 - mmj@suse.de + +- Use -fprofile-arcs when linking and -fno-strict-aliasing for + compiling. +- Fix tail syntax + +------------------------------------------------------------------- +Sat Oct 18 11:06:50 CEST 2003 - mmj@suse.de + +- Fix neededforbuild + +------------------------------------------------------------------- +Thu Oct 16 16:57:31 CEST 2003 - mmj@suse.de + +- Don't build as root +- Cleanup specfile + +------------------------------------------------------------------- +Tue Oct 14 22:31:53 CEST 2003 - jh@suse.de + +- Fix profiling lockup. (we can not profile dl_closed modules yet) + +------------------------------------------------------------------- +Thu Jun 19 14:40:56 CEST 2003 - mmj@suse.de + +- Update to 4.1.1 +- Enable profiling + +------------------------------------------------------------------- +Thu May 8 19:03:39 CEST 2003 - mmj@suse.de + +- And do it even better, thanks Andreas Schwab. + +------------------------------------------------------------------- +Thu May 8 16:13:31 CEST 2003 - mmj@suse.de + +- Use a better way of unaliasing 'which'. Thanks Ingo Lameter. + +------------------------------------------------------------------- +Thu Apr 24 12:20:23 CEST 2003 - ro@suse.de + +- fix install_info --delete call and move from preun to postun + +------------------------------------------------------------------- +Mon Apr 7 15:44:40 CEST 2003 - mmj@suse.de + +- Only delete info entries when removing last version. + +------------------------------------------------------------------- +Fri Feb 7 13:26:51 CET 2003 - mmj@suse.de + +- Use %install_info macro +- Clean up build root + +------------------------------------------------------------------- +Thu Jan 9 12:56:34 CET 2003 - mmj@suse.de + +- Set the important option 'nopromptcr' to not screw output. + +------------------------------------------------------------------- +Mon Sep 16 10:06:31 CEST 2002 - mmj@suse.de + +- Use BuildRoot + +------------------------------------------------------------------- +Fri Aug 16 12:16:52 CEST 2002 - mmj@suse.de + +- Move zsh binary to /bin [#17758] +- Use proper libdir + +------------------------------------------------------------------- +Thu Aug 15 11:30:34 CEST 2002 - poeml@suse.de + +- update completion for _yast{,2} and add one for _hwinfo + +------------------------------------------------------------------- +Wed Aug 14 23:34:51 CEST 2002 - mmj@suse.de + +- Update to 4.0.6 which was released this fast b/c a termcap / + terminfo fix was forgotten together with a fix for _mount. + +------------------------------------------------------------------- +Mon Aug 12 03:01:12 CEST 2002 - mmj@suse.de + +- Update to 4.0.5 which includes a lot more completion, modules and + bugfixes. + +------------------------------------------------------------------- +Tue Jun 4 09:33:36 CEST 2002 - mmj@suse.de + +- Added the html documentation from the ZSH team. + +------------------------------------------------------------------- +Tue Apr 16 12:28:17 CEST 2002 - mmj@suse.de + +- Fix to own %{_defaultdocdir}/zsh + +------------------------------------------------------------------- +Mon Mar 11 12:11:31 MET 2002 - mmj@suse.de + +- Comment out a completion that a lot of people find broken + +------------------------------------------------------------------- +Fri Feb 22 12:29:08 MET 2002 - mmj@suse.de + +- Added yast2 and SuSEconfig completion from poeml@ + +------------------------------------------------------------------- +Wed Feb 13 14:16:46 CET 2002 - stepan@suse.de + +- remove .orig and .rej files from patch set. + +------------------------------------------------------------------- +Wed Jan 30 16:07:25 CET 2002 - mmj@suse.de + +- Moved /etc/zshrc and /etc/zshenv to this package. This is ok b/c + it is only specific zsh options. + +------------------------------------------------------------------- +Thu Dec 13 11:34:05 CET 2001 - mmj@suse.de + +- Fix broken symlink from help/man1 -> ../Doc + +------------------------------------------------------------------- +Sat Oct 27 16:43:54 CEST 2001 - mmj@suse.de + +- Update to 4.0.4 + +------------------------------------------------------------------- +Thu Oct 25 13:24:58 CEST 2001 - mmj@suse.de + +- Update to 4.0.3 + +------------------------------------------------------------------- +Tue Jun 26 19:58:05 CEST 2001 - mmj@suse.de + +- Update to the newly released 4.0.2 + +------------------------------------------------------------------- +Sat Jun 2 02:30:39 CEST 2001 - mmj@suse.de + +- Updated to the new stable release, zsh-4.0.1 +- Fixed build prob on beta-i386 and beta-ia64 + +------------------------------------------------------------------- +Tue May 8 19:14:24 CEST 2001 - mfabian@suse.de + +- bzip2 sources + +------------------------------------------------------------------- +Sun Apr 15 22:02:45 CEST 2001 - schwab@suse.de + +- Fix missing declarations. + +------------------------------------------------------------------- +Fri Apr 13 01:13:46 CEST 2001 - mmj@suse.de + +- Updated to 4.0.1-pre-3 + +------------------------------------------------------------------- +Wed Mar 14 18:31:11 CET 2001 - mmj@suse.de + +- Updated to 4.0.1-pre-2 + +------------------------------------------------------------------- +Sun Feb 18 19:46:07 CET 2001 - mmj@suse.de + +- Updated to 4.0.1-pre-1 + +------------------------------------------------------------------- +Fri Dec 15 13:19:42 CET 2000 - werner@suse.de + +- Update to 3.1.9-dev-8 + +------------------------------------------------------------------- +Fri Oct 6 18:01:00 CEST 2000 - kukuk@suse.de + +- Change group tag + +------------------------------------------------------------------- +Fri May 12 17:40:19 CEST 2000 - schwab@suse.de + +- Update config files. +- Move docs to %{_defaultdocdir}. + +------------------------------------------------------------------- +Thu Jan 27 17:05:36 CET 2000 - werner@suse.de + +- New zsh version 3.1.6-dev-16 +- Install html and info documentation +- Enable run-help help library +- Fix paths of perl and zsh scripts +- Enable command line history +- Enable command line complementation/correction + +------------------------------------------------------------------- +Mon Dec 6 13:06:10 CET 1999 - schwab@suse.de + +- Fix errors from makeinfo + +------------------------------------------------------------------- +Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de + +- ran old prepare_spec on spec file to switch to new prepare_spec. + +------------------------------------------------------------------- +Tue Nov 17 14:22:20 MET 1998 - bs@suse.de + +- removed symlink /etc/zshrc -> profile (aaa_base contains a real zshrc now) + +---------------------------------------------------------------------------- +Fri Oct 10 15:23:30 MEST 1997 - florian@suse.de + + +- update to version 3.0.5 + + +---------------------------------------------------------------------------- +Mon Jun 23 23:04:57 MEST 1997 - florian@suse.de + + +- update to version 3.0.4 + + + +---------------------------------------------------------------------------- +Wed Jan 22 22:24:11 CET 1997 - florian@suse.de + + +- update to version 3.0.2 + + +---------------------------------------------------------------------------- +Sat Nov 2 17:35:11 CET 1996 - florian@suse.de + + +- update to version 3.0.1 + +- added more documentation in binary package + +---------------------------------------------------------------------- +Sun Aug 25 19:28:50 MET DST 1996 - florian@suse.de + +new version 3.0.0 diff --git a/zsh.keyring b/zsh.keyring new file mode 100644 index 0000000..7f7bae6 --- /dev/null +++ b/zsh.keyring @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFwswugBCADdkzua9HwC8Ip5zh7Z0/nJGKbMyq+cobXArhHos40taeidn0+v +HRES5y6PHR+h56c9TpmJEp/bLCHP5pLvcSz/ETz7+Kk82pld63pOHejSxAQCu7Wv +1NwrTu6TyKlZsNG1oZBxx2LkEN6k8Wy+88DlQqZoXOXafmhF+Sms6gv9DXa029sv +B07EehAx02T+b02QwVVG/Pq9austmsTd9EcNcVNRDneD2LcdxCllbS5IamjVa+NW +oeKZVqbsO71uUolwBvshFSBLPsSY8EZdGApjazQcY0lgkaRA/QlMOisyq2mjV6FY +JXHrlI3WWWK2vROjb35AHiHEE/EVgb5RVpxxABEBAAG0E2RhbmEgPGRhbmFAZGFu +YS5pcz6JAU4EEwEIADgWIQR8p+yq8GIWuQ+JQUas+BRsroy7xAUCXCzC6AIbAwUL +CQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCs+BRsroy7xA5XB/93EQqzs0as07U+ +gmPDpvE7JwIY4TrcvAS7RHgJ4sE+arR5uTziHixiHBQQMedbfV51Jxgws6WL0Ko8 +7K8h9sN2UGnXIc1lWuQ2FDshrcpSHZvLxL4Z7WC3Rj/Dq3/nuZZyljWQNHxg4BlO +EJqe67F5kT2OI591oxB6L1E6F8sVsgxD7gBCPVl/8CsyZ7wkyW/gMRqrlYolJhpS +B5C1zKJzvULQJKXDCh9DUyi7cKFtPyYfYtRWfWhKGz5Dhtt9qvBlxJzZufZ9QNQt +oPhNGF34QaLWTCLRbtoVbNq2NlxalZ5Byhg/0pBcQc2w4C70jSxF3c+2oMEGQIbc +5GJFgLpZuQENBFwswugBCAD5rIYdlLWHOMw+stWTRNquu3SZr+v7RRzreV9fOKN+ +lUiqwicU2uCX39s/q+2wtF536r+IS/53DrMAW8sxf8eroK+MBnJYtP3U8BnB3mag +bTJXMjng2ZqZXvxzetXLyXR+38f+6WbJtV0ByDeFQQJYsFxOag3r6etxrzpwRFm0 +PL440fc0nxOxhxWWJcR0RKTMX87ymipi9mETYeZi7h9B3cDw8aIUz2O3s45TtNlA +NI1MNMU4sAsc5i+w0zJON9gT+rWDYFj6BiEqnRoSK2XDm+WaJa3FwgW1WnHPTe+E +RJFGT58DICU3ta6cCQPavZz/KALyj8GBJ+PydelIAv2rABEBAAGJATYEGAEIACAW +IQR8p+yq8GIWuQ+JQUas+BRsroy7xAUCXCzC6AIbDAAKCRCs+BRsroy7xOgxB/40 +sp9xFq8L/59yRTeXSskOsGk3aUlSnACofcRCGgDSXV5GwWJ/G0O8krhHOISJKuxc +vA0wLFq0WB/EafrKAPTSkrnxmq8noT3c8MpnFRSXHq3sOXkB4nqVEmUu/AAA0TbC +HcwhFQExvK7O+funxIGU5vqHFeQGJ0VcgC/KZUEMNtVV8aZGvn7JzSxEIwHVXGLu +5H7TnNWzLzkzIDVY9IJpTutsc6RMvv6BV8ooWBHSgzmh0MTqEjwNarHAMuffrAjE +zIO3qi0YCaxSDVf2jrWyYpB2QntplmUoubB9s/ngCqVb4A3B7JxPmJuL/0XMUThn +WZLWFpbLimyoUCfHoehZ +=dR/Y +-----END PGP PUBLIC KEY BLOCK----- diff --git a/zsh.spec b/zsh.spec new file mode 100644 index 0000000..10d4e37 --- /dev/null +++ b/zsh.spec @@ -0,0 +1,303 @@ +# +# spec file for package zsh +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +%if 0%{?rhel_version} >= 700 || 0%{?centos_version} >= 700 +%global __requires_exclude ^/bin/zsh$ +%endif +BuildRequires: libtermcap-devel +BuildRequires: texi2html +BuildRequires: texinfo +%endif +Name: zsh +Version: 5.9 +Release: 0%{?dist} +Summary: Shell with comprehensive completion +License: MIT +Group: System/Shells +URL: https://www.zsh.org +Source0: https://downloads.sourceforge.net/project/zsh/zsh/%{version}/zsh-%{version}.tar.xz +Source1: https://downloads.sourceforge.net/project/zsh/zsh/%{version}/zsh-%{version}.tar.xz.asc +Source2: %{name}.keyring +Source3: zshrc +Source4: zshenv +Source5: zprofile +Patch1: trim-unneeded-completions.patch +# PATCH-FIX-OPENSUSE zsh-osc-completion.patch -- Fix openSUSE versions in osc completion +Patch2: zsh-osc-completion.patch +# PATCH-FIX-OPENSUSE: taken from https://www.zsh.org/mla/workers/2022/msg00956.html +Patch3: egrep-deprecation.patch +Patch4: pipe-less-and-signals-handling.patch + +BuildRequires: groff +BuildRequires: libcap-devel +BuildRequires: ncurses-devel +BuildRequires: pcre-devel +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +Source11: zlogin.rhs +Source12: zlogout.rhs +Source13: zprofile.rhs +Source14: zshrc.rhs +Source15: zshenv.rhs +Source16: dotzshrc.rh +%endif +%if 0%{?suse_version} +BuildRequires: fdupes +Requires(pre): %{install_info_prereq} +%if 0%{?suse_version} >= 1210 +BuildRequires: makeinfo +BuildRequires: texi2html +%endif +%else +Requires(pre): /sbin/install-info +Requires(pre): fileutils +Requires(pre): grep +%endif +%if 0%{?suse_version} >= 1550 +Provides: /bin/zsh +%endif + +%description +Zsh is a UNIX command interpreter (shell) that resembles the Korn shell +(ksh). It is not completely compatible. It includes many enhancements, +notably in the command-line editor, options for customizing its +behavior, file name globbing, features to make C-shell (csh) users feel +at home, and extra features drawn from tcsh (another `custom' shell). +Zsh is well known for its command line completion. + +%package htmldoc +Summary: Zsh shell manual in HTML format +Group: Documentation/HTML +Provides: %{name}-html = %{version} +Obsoletes: %{name}-html < %{version} + +%description htmldoc +The zsh shell is a command interpreter usable as an interactive login +shell and as a shell script command processor. Zsh resembles the ksh +shell (the Korn shell), but includes many enhancements. Zsh supports +command line editing, built-in spelling correction, programmable +command completion, shell functions (with autoloading), a history +mechanism, and more. + +This package contains the Zsh manual in HTML format. + +%if 0%{?suse_version} >= 1550 +%package sh +Summary: Handle behaviour of /bin/sh +Group: System/Shells +Requires: zsh = %{version} +Conflicts: alternative(sh) +Provides: alternative(sh) +BuildArch: noarch + +%description sh +Use zsh as /bin/sh implementation. +%endif + +%prep +%setup -q +%if 0%{?suse_version} +%patch1 -p1 +%endif +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +# Remove executable bit +chmod 0644 Etc/changelog2html.pl + +# Fix bindir path in some files +perl -p -i -e 's|%{_prefix}/local/bin|%{_bindir}|' \ + Doc/intro.ms Misc/globtests.ksh Misc/globtests \ + Misc/lete2ctl Util/check_exports Util/helpfiles \ + Util/reporter Functions/VCS_Info/test-repo-git-rebase-* + +%build + +%configure \ +%if 0%{?suse_version} + --with-term-lib="ncursesw" \ + --enable-cflags="%{optflags} -fPIE %(ncursesw6-config --cflags)" \ + --enable-ldflags="%(ncursesw6-config --libs) -pie -Wl,-z,relro" \ +%endif + --enable-fndir=%{_datadir}/%{name}/${version}/functions \ + --enable-site-fndir=%{_datadir}/%{name}/site-functions \ + --enable-function-subdirs \ + --enable-maildir-support \ + --with-tcsetpgrp \ + --enable-cap \ + --enable-multibyte \ + --enable-pcre \ + --enable-unicode9 + +# Copy _rpm completion from Redhat (bnc#900424) +%if 0%{?suse_version} +cp Completion/Redhat/Command/_rpm Completion/openSUSE/Command/_rpm +%endif + +make %{?_smp_mflags} all info html + +# generate intro.ps +groff -Tps -ms Doc/intro.ms > intro.ps + +# better name for html documentation +install -d -m 0755 Doc/htmldoc/ +mv Doc/*.html Doc/htmldoc + +# remove some unwanted files in Etc/ +rm -f Etc/Makefile* Etc/*.yo + +%install +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +%endif + +%if 0%{?suse_version} +%make_install install.info +%else + make DESTDIR=%{buildroot} install install.info +%endif + +install -m 0755 -Dd %{buildroot}/{etc,bin} + +%if 0%{?suse_version} +# install SUSE configuration +install -m 0644 %{SOURCE3} %{SOURCE4} %{SOURCE5} %{buildroot}%{_sysconfdir} + +# Create custom completion directory +mkdir %{buildroot}%{_sysconfdir}/zsh_completion.d +%endif + +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +# install RHEL || CentOS || Fedora configuration +for i in zlogin zlogout zprofile zshrc zshenv; do + install -m 0644 $RPM_SOURCE_DIR/${i}.rhs %{buildroot}%{_sysconfdir}/$i +done +install -D -m 0644 %{SOURCE16} %{buildroot}%{_sysconfdir}/skel/.zshrc +%endif + +%if 0%{?suse_version} < 1550 +# link zsh binary +%if 0%{?suse_version} || 0%{?rhel} <= 6 +ln -sf %{_bindir}/zsh %{buildroot}/bin/zsh +%endif +%endif + +# Remove versioned zsh binary +rm -f %{buildroot}%{_bindir}/zsh-* +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +rm -f %{buildroot}/%{_infodir}/dir +%endif + +%if 0%{?suse_version} >= 1110 +%fdupes %{buildroot} +%endif + +# +# Create the symlink required for zsh-sh to handle /bin/sh +# +%if 0%{?suse_version} >= 1550 + ln -s %{_bindir}/zsh %{buildroot}%{_bindir}/sh +%endif + +%check +%if ! 0%{?qemu_user_space_build} +%if 0%{?suse_version} +make %{?_smp_mflags} check +%else +# FixMe: sometimes failing Test +#+ fn:echo:2: write error: broken pipe +#+ fn:2: write error: inappropriate ioctl for device +mv Test/E01options.ztst Test/E01options.ztst.mvd +%ifarch s390 s390x ppc ppc64 + ( cd Test + mkdir skipped + mv Y*.ztst skipped ) +%endif + ZTST_verbose=0 make test +%endif +%endif + +%preun +%if ! 0%{?suse_version} + if [ "$1" = 0 ] ; then + /sbin/install-info --delete %{_infodir}/zsh.info.gz %{_infodir}/dir \ + --entry="* zsh: (zsh). An enhanced bourne shell." + fi +%endif + +%post +%if ! 0%{?suse_version} + if [ ! -f %{_sysconfdir}/shells ]; then + echo "%{_bindir}/zsh" > %{_sysconfdir}/shells + else + grep -q "^%{_bindir}/zsh$" %{_sysconfdir}/shells \ + || echo "%{_bindir}/zsh" >> %{_sysconfdir}/shells + fi + + /sbin/install-info %{_infodir}/zsh.info.gz %{_infodir}/dir \ + --entry="* zsh: (zsh). An enhanced bourne shell." +%endif + +%postun +%if ! 0%{?suse_version} + if [ "$1" = 0 ] ; then + if [ -f %{_sysconfdir}/shells ] ; then + TmpFile=`%{_bindir}/mktemp /tmp/.zshrpmXXXXXX` + grep -v '^%{_bindir}/zsh$' %{_sysconfdir}/shells > $TmpFile + cp -f $TmpFile %{_sysconfdir}/shells + rm -f $TmpFile + chmod 644 %{_sysconfdir}/shells + fi + fi +%endif + +%files +%doc ChangeLog FEATURES LICENCE MACHINES META-FAQ NEWS README +%doc Etc/* intro.ps Misc/compctl-examples +%config(noreplace) %{_sysconfdir}/zshrc +%config(noreplace) %{_sysconfdir}/zshenv +%config(noreplace) %{_sysconfdir}/zprofile +%if 0%{?rhel_version} || 0%{?centos_version} || 0%{?fedora_version} +%config(noreplace) %{_sysconfdir}/zlogin +%config(noreplace) %{_sysconfdir}/zlogout +%config(noreplace) %{_sysconfdir}/skel/.zshrc +%endif + +%if 0%{?suse_version} +%dir %{_sysconfdir}/zsh_completion.d +%endif + +%{_bindir}/zsh +%if 0%{?suse_version} < 1550 +%if 0%{?suse_version} || 0%{?rhel} <= 6 +/bin/zsh +%endif +%endif +%{_libdir}/zsh/ +%{_datadir}/zsh/ +%{_infodir}/zsh.info*%{ext_info} +%{_mandir}/man1/zsh*.1%{ext_man} + +%files htmldoc +%doc Doc/htmldoc/* + +%if 0%{?suse_version} >= 1550 +%files sh +%{_bindir}/sh +%endif + +%changelog diff --git a/zshenv b/zshenv new file mode 100644 index 0000000..ea954c6 --- /dev/null +++ b/zshenv @@ -0,0 +1 @@ +# set global options for all zsh shells here diff --git a/zshenv.rhs b/zshenv.rhs new file mode 100644 index 0000000..30630c0 --- /dev/null +++ b/zshenv.rhs @@ -0,0 +1,9 @@ +# +# /etc/zshenv is sourced on all invocations of the +# shell, unless the -f option is set. It should +# contain commands to set the command search path, +# plus other important environment variables. +# .zshenv should not contain commands that produce +# output or assume the shell is attached to a tty. +# + diff --git a/zshrc b/zshrc new file mode 100644 index 0000000..6b77f76 --- /dev/null +++ b/zshrc @@ -0,0 +1,315 @@ +# Custom completion support via /etc/zsh_completion.d +fpath=( $fpath /etc/zsh_completion.d ) + +# zsh line editing +: ${ZSHEDIT:="emacs"} +: ${TERM:=linux} + +if [[ "$ZSHEDIT" == "vi" ]] then + bindkey -v +else + bindkey -e + bindkey "^[ " magic-space + bindkey "^[!" expand-history +fi + +# Environment +HISTSIZE=1000 +HISTFILE=${HOME}/.zsh_history +SAVEHIST=500 + +# Prompt on the right side. zsh feature +#RPROMPT="[%T]" + +# Set/unset shell options +setopt nocorrect +setopt pushdtohome +setopt autolist +setopt nopromptcr +setopt nocorrectall +setopt autocd +setopt recexact +setopt longlistjobs +setopt histignoredups +setopt pushdsilent +setopt appendhistory +setopt histexpiredupsfirst +setopt autopushd +setopt pushdminus +setopt extendedglob +setopt rcquotes +unsetopt bgnice +unsetopt autoparamslash +unsetopt hup + +# Setup some basic programmable completions. To see more examples +# of these, check out /usr/doc/packages/zsh/compctl-examples. +# You you have a slow machine, you might want to comment the lines below +# with compctl in, and comment the below two lines out. +# +# compctl -g '*(-/)' cd pushd +# compctl -g '*(/)' rmdir dircmp +# compctl -j -P % -x 's[-] p[1]' -k signals -- kill +# compctl -j -P % fg bg wait jobs disown +# compctl -A shift +# compctl -caF type whence which +# compctl -F unfunction +# compctl -a unalias +# compctl -v unset typeset declare vared readonly export integer +# compctl -e disable +# compctl -d enable +# +# The default way is the usage of the zsh built-in completer +# Comment the two below lines out, if you are on a slow machine, and +# comment the above compctl lines in. + +autoload -U compinit +compinit + +# Completion so "cd .." -> "cd ../" +# zstyle ':completion:*' special-dirs .. + +# Online help +unalias run-help 2>/dev/null || true +autoload run-help + +# Don't use zsh builtin which +alias which >/dev/null && unalias which + +# Common standard keypad and cursor +bindkey "^[[2~" yank +bindkey "^[[3~" delete-char + +# History completion on pgup and pgdown +autoload -U history-search-end +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end +bindkey "^[[5~" history-beginning-search-backward-end +bindkey "^[[6~" history-beginning-search-forward-end + +if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + bindkey "^[2;5~" yank + bindkey "^[3;5~" delete-char + bindkey "^[5;5~" up-history + bindkey "^[6;5~" down-history +fi +bindkey "^[[C" forward-char +bindkey "^[[D" backward-char +bindkey "^[[A" up-history +bindkey "^[[B" down-history + +# Avoid network problems +# ... \177 (ASCII-DEL) and \010 (ASCII-BS) +# do `backward-delete-char' +# Note: `delete-char' is maped to \033[3~ +# Therefore xterm's responce on pressing +# key Delete or KP-Delete should be +# \033[3~ ... NOT \177 +bindkey "^?" backward-delete-char +bindkey "^H" backward-delete-char + +# Home and End +if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + # Normal keypad and cursor of xterm + bindkey "^[[1~" history-search-backward + bindkey "^[[4~" set-mark-command + bindkey "^[[H" beginning-of-line + bindkey "^[[F" end-of-line + # Home and End of application keypad and cursor of xterm + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line + bindkey "^[O5H" beginning-of-line + bindkey "^[O5F" end-of-line +else +if [[ "$TERM" == "kvt" ]] then + bindkey "^[[1~" history-search-backward + bindkey "^[[4~" set-mark-command + bindkey "^[OH" beginning-of-line + bindkey "^[OF" end-of-line +else + # TERM=linux or console + bindkey "^[[1~" beginning-of-line + bindkey "^[[4~" end-of-line +fi +fi + +# Application keypad and cursor of xterm +if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + bindkey "^[OD" backward-char + bindkey "^[OC" forward-char + bindkey "^[OA" up-history + bindkey "^[OB" down-history + # DEC keyboard KP_F1 - KP_F4 + bindkey -s "^[OP" "^[" + bindkey "^[OQ" undo + bindkey "^[OR" undefined-key + bindkey "^[OS" kill-line +fi +if [[ "$TERM" == "gnome" ]] then + # or gnome terminal F1 - F4 + bindkey -s "^[OP" "^[" + bindkey "^[OQ" undo + bindkey "^[OR" undefined-key + bindkey "^[OS" kill-line +fi +# Function keys F1 - F12 +if [[ "$TERM" == "linux" ]] then + # On console the first five function keys + bindkey "^[[[A" undefined-key + bindkey "^[[[B" undefined-key + bindkey "^[[[C" undefined-key + bindkey "^[[[D" undefined-key + bindkey "^[[[E" undefined-key +else + # The first five standard function keys + bindkey "^[[11~" undefined-key + bindkey "^[[12~" undefined-key + bindkey "^[[13~" undefined-key + bindkey "^[[14~" undefined-key + bindkey "^[[15~" undefined-key +fi +bindkey "^[[17~" undefined-key +bindkey "^[[18~" undefined-key +bindkey "^[[19~" undefined-key +bindkey "^[[20~" undefined-key +bindkey "^[[21~" undefined-key +# Note: F11, F12 are identical with Shift_F1 and Shift_F2 +bindkey "^[[23~" undefined-key +bindkey "^[[24~" undefined-key + +# Shift Function keys F1 - F12 +# identical with F11 - F22 +# +# bindkey "^[[23~" undefined-key +# bindkey "^[[24~" undefined-key +bindkey "^[[25~" undefined-key +bindkey "^[[26~" undefined-key +# DEC keyboard: F15=^[[28~ is Help +bindkey "^[[28~" undefined-key +# DEC keyboard: F16=^[[29~ is Menu +bindkey "^[[29~" undefined-key +bindkey "^[[31~" undefined-key +bindkey "^[[32~" undefined-key +bindkey "^[[33~" undefined-key +bindkey "^[[34~" undefined-key +if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + # Not common + bindkey "^[[35~" undefined-key + bindkey "^[[36~" undefined-key +fi + +if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + # Application keypad and cursor of xterm + # with NumLock ON + # + # Operators + bindkey -s "^[Oo" "/" + bindkey -s "^[Oj" "*" + bindkey -s "^[Om" "-" + bindkey -s "^[Ok" "+" + bindkey -s "^[Ol" "," + bindkey -s "^[OM" "\n" + bindkey -s "^[On" "." + # Numbers + bindkey -s "^[Op" "0" + bindkey -s "^[Oq" "1" + bindkey -s "^[Or" "2" + bindkey -s "^[Os" "3" + bindkey -s "^[Ot" "4" + bindkey -s "^[Ou" "5" + bindkey -s "^[Ov" "6" + bindkey -s "^[Ow" "7" + bindkey -s "^[Ox" "8" + bindkey -s "^[Oy" "9" +fi + +# EMACS line editing +if [[ "$ZSHEDIT" == "emacs" ]] then + # ... xterm application cursor + if [[ "$TERM" == "xterm" || "$TERM" == "xterm-256color" ]] then + bindkey "^[^[OD" backward-word + bindkey "^[^[OC" forward-word + bindkey "^[^[OA" up-history + bindkey "^[^[OB" down-history + bindkey "^^[OD" backward-char + bindkey "^^[OC" forward-char + bindkey "^^[OA" up-history + bindkey "^^[OB" down-history + fi + # Standard cursor + bindkey "^[^[[D" backward-word + bindkey "^[^[[C" forward-word + bindkey "^[^[[A" up-history + bindkey "^[^[[B" down-history + bindkey "^^[[D" backward-char + bindkey "^^[[C" forward-char + bindkey "^^[[A" up-history + bindkey "^^[[B" down-history +fi + +# Aliases exported from /etc/bash.bashrc +alias ..='cd ..' +alias ...='cd ../..' +alias beep='echo -en "\007"' +alias cd..='cd ..' +alias dir='ls -l' +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' +alias grep='grep --color=auto' +alias ip='ip --color=auto' +alias l='ls -alF' +alias la='ls -la' +alias ll='ls -l' +alias ls-l='ls -l' +alias md='mkdir -p' +alias o=less +alias rd=rmdir +alias unmount='echo "Error: Try the command: umount" 1>&2; false' +alias which-command=whence +alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi' + +test -s $HOME/.alias && . $HOME/.alias + +# +# Colored file listings +# +if test -x /usr/bin/dircolors ; then + # + # set up the color-ls environment variables: + # + if test -f $HOME/.dir_colors ; then + eval "`/usr/bin/dircolors -b $HOME/.dir_colors`" + elif test -f /etc/DIR_COLORS ; then + eval "`/usr/bin/dircolors -b /etc/DIR_COLORS`" + fi +fi + +# ls color option depends on the terminal +# If LS_COLORS is set but empty, the terminal has no colors. +if test "${LS_COLORS+empty}" = "${LS_COLORS:+empty}" ; then + LS_OPTIONS=--color=tty +else + LS_OPTIONS=--color=none +fi + +if test "$UID" = 0 ; then + LS_OPTIONS="-A -N $LS_OPTIONS -T 0" +else + LS_OPTIONS="-N $LS_OPTIONS -T 0" +fi + +# Avoid trouble with Emacs shell mode +if test "$EMACS" = "t" ; then + LS_OPTIONS='-N --color=none -T 0'; +fi +export LS_OPTIONS + +# Set GPG_TTY for curses pinentry +# (see man gpg-agent and bnc#619295) +if test -t && type -p tty > /dev/null 2>&1 ; then + GPG_TTY="`tty`" + export GPG_TTY +fi + +# Read custom system-wide config if exists +test -s /etc/zsh.zshrc.local && . /etc/zsh.zshrc.local diff --git a/zshrc.rhs b/zshrc.rhs new file mode 100644 index 0000000..5b3b92a --- /dev/null +++ b/zshrc.rhs @@ -0,0 +1,50 @@ +# +# /etc/zshrc is sourced in interactive shells. It +# should contain commands to set up aliases, functions, +# options, key bindings, etc. +# + +## shell functions +#setenv() { export $1=$2 } # csh compatibility + +# Set prompts +PROMPT='[%n@%m]%~%# ' # default prompt +#RPROMPT=' %~' # prompt for right side of screen + +# bindkey -v # vi key bindings +# bindkey -e # emacs key bindings +bindkey ' ' magic-space # also do history expansion on space + +# Provide pathmunge for /etc/profile.d scripts +pathmunge() +{ + if ! echo $PATH | /bin/grep -qE "(^|:)$1($|:)" ; then + if [ "$2" = "after" ] ; then + PATH=$PATH:$1 + else + PATH=$1:$PATH + fi + fi +} + +_src_etc_profile_d() +{ + # Make the *.sh things happier, and have possible ~/.zshenv options like + # NOMATCH ignored. + emulate -L ksh + + + # from bashrc, with zsh fixes + if [[ ! -o login ]]; then # We're not a login shell + for i in /etc/profile.d/*.sh; do + if [ -r "$i" ]; then + . $i + fi + done + unset i + fi +} +_src_etc_profile_d + +unset -f pathmunge _src_etc_profile_d +