update zsh completion script for dnf to the latest upstream version
This commit is contained in:
parent
624aa08874
commit
d4994fb6d9
465
zsh-5.2-comp-dnf.patch
Normal file
465
zsh-5.2-comp-dnf.patch
Normal file
@ -0,0 +1,465 @@
|
||||
From a9b71461c17f960a337e33bdb8516ac069f830f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Adrien=20Verg=C3=A9?= <adrienverge@gmail.com>
|
||||
Date: Sun, 13 Dec 2015 18:49:40 +0100
|
||||
Subject: [PATCH] 37397: Optimised update to dnf completion
|
||||
|
||||
Upstream-commit: 3102883fbc394409558b1f0a8d188281373942a6
|
||||
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
|
||||
---
|
||||
Completion/Redhat/Command/_dnf | 416 +++++++++++++++++------------------------
|
||||
1 file changed, 168 insertions(+), 248 deletions(-)
|
||||
|
||||
diff --git a/Completion/Redhat/Command/_dnf b/Completion/Redhat/Command/_dnf
|
||||
index 297c95a..35b5aa2 100644
|
||||
--- a/Completion/Redhat/Command/_dnf
|
||||
+++ b/Completion/Redhat/Command/_dnf
|
||||
@@ -1,278 +1,198 @@
|
||||
-#compdef dnf
|
||||
+#compdef dnf dnf-2 dnf-3
|
||||
|
||||
-# Main dispatcher
|
||||
-_dnf() {
|
||||
- _arguments -s \
|
||||
- '(- *)'{-h,--help}'[show the help message]' \
|
||||
- '(-t --tolerant)'{-t,--tolerant}'[be tolerant of errors]' \
|
||||
- '(-C --cacheonly)'{-C,--cacheonly}'[run entirely from cache]' \
|
||||
- '(-c --config)'{-c,--config=}'[config file location]:config file:_files' \
|
||||
- '(-R --randomwait)'{-R,--randomwait=}'[maximum command wait time (in minutes)]:max wait time' \
|
||||
- '(-d --debuglevel)'{-d,--debuglevel=}'[debug level (0-10)]:debug level' \
|
||||
- '(-e --errorlevel)'{-e,--errorlevel=}'[error level (0-10)]:error level' \
|
||||
- '(-y --assumeyes)'{-y,--assumeyes}'[answer yes for all questions]' \
|
||||
- '--installroot=[set install root]:install root:_files -/' \
|
||||
- '*--enablerepo=[enable or or more repositories]:repos to enable:_dnf_disabled_repos_list' \
|
||||
- '*--disablerepo=[disable one or more repositories]:disable repos:_dnf_enabled_repos_list' \
|
||||
- {*-x,*--exclude=}'[exclude package(s) by name or glob]:exclude packages' \
|
||||
- '--version[show dnf version]' \
|
||||
- '--obsoletes[enable obsoletes processing during updates]' \
|
||||
- '--nogpgcheck[disable gpg signature checking]' \
|
||||
- '--noplugins[disable dnf plugins]' \
|
||||
- '--disablepresto[disable Presto plugin and don''''t download any deltarpms]' \
|
||||
- '*::dnf command:_dnf_command'
|
||||
-}
|
||||
-
|
||||
-(( $+functions[_dnf_command] )) || _dnf_command() {
|
||||
- local -a _dnf_cmds
|
||||
- _dnf_cmds=(
|
||||
- "install:install the latest version of a package or group of packages"
|
||||
- "erase:remove an installed package (with its dependencies)"
|
||||
- "remove:remove an installed package (with its dependencies)"
|
||||
- "clean:clean local dnf cache"
|
||||
- "check-update:check if any updates are available"
|
||||
- "info:get description of available packages"
|
||||
- "list:is used to list various information about packages"
|
||||
- "groupinfo:get info on package groups"
|
||||
- "groupinstall:install a package group or groups"
|
||||
- "groupremove:remove a package group or groups"
|
||||
- "grouplist:list package groups"
|
||||
- "groupupdate:update a package group or groups"
|
||||
- "localinstall:install packages with local rpm files"
|
||||
- "localupdate:update packages with local rpm files"
|
||||
- "makecache:makes a local dnf cache"
|
||||
- "provides:find out which package provides some feature or file"
|
||||
- "whatprovides:find out which package provides some feature or file"
|
||||
- "search:find any packages matching pattern"
|
||||
- "shell:enter the 'dnf shell'"
|
||||
- "update:update one or more packages"
|
||||
- "upgrade:upgrade one or more packages"
|
||||
- )
|
||||
-
|
||||
- if (( CURRENT == 1 )); then
|
||||
- _describe -t commands 'dnf command' _dnf_cmds || compadd "$@"
|
||||
- else
|
||||
- local curcontext="$curcontext"
|
||||
-
|
||||
- cmd="${${_dnf_cmds[(r)$words[1]:*]%%:*}}"
|
||||
- # Deal with any aliases
|
||||
- case $cmd in
|
||||
- remove) cmd="erase";;
|
||||
- whatprovides) cmd="provides";;
|
||||
- upgrade) cmd="update";;
|
||||
- esac
|
||||
-
|
||||
- if (( $#cmd )); then
|
||||
- curcontext="${curcontext%:*:*}:dnf-${cmd}:"
|
||||
-
|
||||
- local update_policy
|
||||
- zstyle -s ":completion:${curcontext}:" cache-policy update_policy
|
||||
- if [[ -z "$update_policy" ]]; then
|
||||
- zstyle ":completion:${curcontext}:" cache-policy _dnf_caching_policy
|
||||
- fi
|
||||
-
|
||||
- _call_function ret _dnf_$cmd || _message 'no more arguments'
|
||||
- else
|
||||
- _message "unknown dnf command: $words[1]"
|
||||
- fi
|
||||
- return ret
|
||||
- fi
|
||||
+_dnf_helper() {
|
||||
+ compadd $($python_exec $helper "$@" -d 0 -q -C 2>/dev/null)
|
||||
}
|
||||
|
||||
-# Fills the all pkg cache
|
||||
-_dnf_all_pkgs() {
|
||||
- if ( [[ ${+_all_pkgs} -eq 0 ]] || _cache_invalid ALL ) &&
|
||||
- ! _retrieve_cache ALL;
|
||||
- then
|
||||
- _all_pkgs=( $(dnf -C list all | sed 's/\s.*//' | grep '\.' 2>/dev/null) )
|
||||
- _store_cache ALL _all_pkgs
|
||||
- fi
|
||||
+_dnf_query_db() {
|
||||
+ sqlite3 -batch -init /dev/null "$cache_file" "$1"
|
||||
}
|
||||
|
||||
-# Fills the installed pkg cache
|
||||
-_dnf_installed_pkgs() {
|
||||
- if ( [[ ${+_installed_pkgs} -eq 0 ]] || _cache_invalid INSTALLED ) &&
|
||||
- ! _retrieve_cache INSTALLED;
|
||||
- then
|
||||
- _installed_pkgs=( $(dnf -C list installed | sed 's/\s.*//' | grep '\.' 2>/dev/null) )
|
||||
- _store_cache INSTALLED _installed_pkgs
|
||||
- fi
|
||||
+_dnf_disabled_repos() {
|
||||
+ _dnf_helper repolist disabled ""
|
||||
}
|
||||
|
||||
-# Fills the available pkg cache
|
||||
-_dnf_available_pkgs() {
|
||||
- if ( [[ ${+_available_pkgs} -eq 0 ]] || _cache_invalid AVAILABLE ) &&
|
||||
- ! _retrieve_cache AVAILABLE;
|
||||
- then
|
||||
- _available_pkgs=( $(dnf -C list available | sed 's/\s.*//' | grep '\.' 2>/dev/null) )
|
||||
- _store_cache AVAILABLE _available_pkgs
|
||||
- fi
|
||||
+_dnf_enabled_repos() {
|
||||
+ _dnf_helper repolist enabled ""
|
||||
}
|
||||
|
||||
-# Fills the upgrade pkg cache
|
||||
-_dnf_upgrade_pkgs()
|
||||
-{
|
||||
- if ( [[ ${+_upgrade_pkgs} -eq 0 ]] || _cache_invalid UPGRADE ) &&
|
||||
- ! _retrieve_cache UPGRADE;
|
||||
- then
|
||||
- _upgrade_pkgs=( $(dnf -C list upgrade | sed 's/\s.*//' | grep '\.' 2>/dev/null) )
|
||||
- _store_cache UPGRADE _upgrade_pkgs
|
||||
+_dnf_available_packages() {
|
||||
+ if [ -r $cache_file ]; then
|
||||
+ compadd $(_dnf_query_db "select pkg from available WHERE pkg LIKE \"$1%\"")
|
||||
+ else
|
||||
+ _dnf_helper install "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
-# Gets the list of defined repos
|
||||
-__dnf_repos() {
|
||||
- local trepo
|
||||
- local -a tarray
|
||||
- tarray=( $(egrep -h '(^\[.*\]|^enabled.*=)' /etc/dnf.repos.d/*.repo /etc/dnf.conf 2>/dev/null | sed -e 's/ //g' | sed -e 's/\[//g' | sed -e 's/\].*$//g' 2>/dev/null) )
|
||||
- local -i eindex=0
|
||||
- local -i dindex=0
|
||||
- for line in $tarray; do
|
||||
- if [[ "$line" = "enabled=1" ]]; then
|
||||
- enabled_dnf_repos+=($trepo)
|
||||
- elif [[ "$line" = "enabled=0" ]]; then
|
||||
- disabled_dnf_repos+=($trepo)
|
||||
- elif [[ "$line" != "main" ]]; then
|
||||
- trepo=$line
|
||||
- fi
|
||||
- done
|
||||
-}
|
||||
-
|
||||
-(( $+functions[_dnf_disabled_repos_list] )) || _dnf_disabled_repos_list() {
|
||||
- local -a enabled_dnf_repos disabled_dnf_repos
|
||||
- __dnf_repos
|
||||
- _sequence compadd "$@" - -a disabled_dnf_repos
|
||||
-}
|
||||
-
|
||||
-(( $+functions[_dnf_enabled_repos_list] )) || _dnf_enabled_repos_list() {
|
||||
- local -a enabled_dnf_repos disabled_dnf_repos
|
||||
- __dnf_repos
|
||||
- _sequence compadd "$@" - -a enabled_dnf_repos
|
||||
-}
|
||||
-
|
||||
-# Completion function for erase|remove
|
||||
-(( $+functions[_dnf_erase] )) || _dnf_erase() {
|
||||
- _dnf_installed_pkgs
|
||||
- compadd "$@" -a -- _installed_pkgs
|
||||
-}
|
||||
-
|
||||
-# Completion function for install
|
||||
-(( $+functions[_dnf_install] )) || _dnf_install() {
|
||||
- if ! [[ $PREFIX == */* ]]; then
|
||||
- _dnf_available_pkgs
|
||||
+_dnf_installed_packages() {
|
||||
+ if [ -r $cache_file ]; then
|
||||
+ compadd $(_dnf_query_db "select pkg from installed WHERE pkg LIKE \"$1%\"")
|
||||
+ else
|
||||
+ _dnf_helper remove "$1"
|
||||
fi
|
||||
-
|
||||
- local ret=1
|
||||
- _tags files packages
|
||||
- while _tags; do
|
||||
- if _requested files; then
|
||||
- compadd "$@" -a -- _available_pkgs
|
||||
- fi
|
||||
- if _requested packages; then
|
||||
- _call_function - _dnf_localinstall
|
||||
- fi
|
||||
- (( ret )) || break
|
||||
- done
|
||||
- return ret
|
||||
}
|
||||
|
||||
-# Completion function for localinstall
|
||||
-(( $+functions[_dnf_localinstall] )) || _dnf_localinstall() {
|
||||
+_dnf_local_packages() {
|
||||
_files -/ -g '(#i)*.rpm(-.)'
|
||||
}
|
||||
|
||||
-# Completion function for localupdate
|
||||
-(( $+functions[_dnf_localupdate] )) || _dnf_localupdate() {
|
||||
- _files -/ -g '(#i)*.rpm(-.)'
|
||||
-}
|
||||
-
|
||||
-# Completion function for update/upgrade
|
||||
-(( $+functions[_dnf_update] )) || _dnf_update() {
|
||||
- _dnf_upgrade_pkgs
|
||||
- compadd "$@" -a -- _upgrade_pkgs
|
||||
-}
|
||||
-
|
||||
-_dnf_all() {
|
||||
- _dnf_all_pkgs
|
||||
- compadd "$@" -a -- _all_pkgs
|
||||
-}
|
||||
-
|
||||
-_dnf_list_or_info() {
|
||||
- local -a listlist
|
||||
- listlist=(
|
||||
- "all:all packages in repositories"
|
||||
- "available:packages available in repositories"
|
||||
- "updates:packages with updates available"
|
||||
- "installed:installed packages"
|
||||
- "extras:packages installed that are not available in any dnf repository"
|
||||
- "obsoletes:packages installed that are obsoleted"
|
||||
- "recent:packages recently added to repositories"
|
||||
- )
|
||||
-
|
||||
- if (( CURRENT == 2 )); then
|
||||
- _describe -t dnf-list-subcmds "dnf info/list sub-commands" listlist || _dnf_all
|
||||
+_dnf() {
|
||||
+ if [[ "$(readlink /usr/bin/dnf)" == "dnf-2" ]]; then
|
||||
+ local python_exec="python2"
|
||||
else
|
||||
- local subcmd
|
||||
- subcmd="${${listlist[(r)$words[2]:*]%%:*}}"
|
||||
- # offer packages selected by the subcommand
|
||||
- case $subcmd in
|
||||
- all) _dnf_all;;
|
||||
- installed) _dnf_erase;;
|
||||
- available) _dnf_install;;
|
||||
- updates) _dnf_update;;
|
||||
- esac
|
||||
+ local python_exec="python3"
|
||||
fi
|
||||
-}
|
||||
-
|
||||
-# Completion function for list
|
||||
-(( $+functions[_dnf_list] )) || _dnf_list() {
|
||||
- _dnf_list_or_info
|
||||
-}
|
||||
-
|
||||
-# Completion function for info
|
||||
-(( $+functions[_dnf_info] )) || _dnf_info() {
|
||||
- _dnf_list_or_info
|
||||
-}
|
||||
+ local helper=$(${python_exec} -c "import dnf.cli; print('{}/completion_helper.py'.format(dnf.cli.__path__[0]))")
|
||||
+ local cache_file="/var/cache/dnf/packages.db"
|
||||
|
||||
-# Completion function for provides|whatprovides
|
||||
-(( $+functions[_dnf_provides] )) || _dnf_provides() {
|
||||
- _files
|
||||
+ _arguments -s \
|
||||
+ '(- *)'{-h,--help}'[show the help message]' \
|
||||
+ '--version[show dnf version]' \
|
||||
+ '(-v --verbose)'{-v,--verbose}'[set verbose, show debug messages]' \
|
||||
+ '(-q --quiet)'{-q,--quiet}'[show just the relevant content]' \
|
||||
+ '--allowerasing[allow erasing of installed packages]' \
|
||||
+ '(-y --assumeyes)'{-y,--assumeyes}'[answer yes for all questions]' \
|
||||
+ '(-C --cacheonly)'{-C,--cacheonly}'[run entirely from cache]' \
|
||||
+ '(-c --config)'{-c,--config=}'[config file location]:config file:_files' \
|
||||
+ '(-R --randomwait)'{-R,--randomwait=}'[maximum command wait time (in minutes)]:max wait time' \
|
||||
+ '--releasever=[configure DNF for another release]:release' \
|
||||
+ '--refresh[set metadata as expired before running the command]' \
|
||||
+ '--nogpgcheck[skip checking GPG signatures on package]' \
|
||||
+ '--installroot=[set install root]:install root:_files -/' \
|
||||
+ '*--enablerepo=[enable one or more repositories]:repos to enable:_dnf_disabled_repos' \
|
||||
+ '*--disablerepo=[disable one or more repositories]:disable repos:_dnf_enabled_repos' \
|
||||
+ '*::dnf command:_dnf_command'
|
||||
}
|
||||
|
||||
-# Completion function for clean
|
||||
-(( $+functions[_dnf_clean] )) || _dnf_clean() {
|
||||
- local -a cleanlist
|
||||
- cleanlist=(
|
||||
- "all:all cache"
|
||||
- "cache:all cache"
|
||||
- "dbcache:DB cache"
|
||||
- "headers:cache headers"
|
||||
- "packages:cache packages"
|
||||
- "metadata:cache meta-data"
|
||||
+_dnf_command() {
|
||||
+ local -a _dnf_cmds
|
||||
+ _dnf_cmds=(
|
||||
+ "autoremove:automatically remove no longer required packages"
|
||||
+ "check-update:check for available package upgrades"
|
||||
+ "clean:remove cached data"
|
||||
+ "distro-sync:synchronize installed packages to the latest available versions"
|
||||
+ "downgrade:downgrade a package"
|
||||
+ "erase:deprecated alias for remove"
|
||||
+ "group:display, or use, the groups information"
|
||||
+ "help:display a helpful usage message"
|
||||
+ "history:display, or use, the transaction history"
|
||||
+ "info:display details about a package or group of packages"
|
||||
+ "install:install a package or packages on your system"
|
||||
+ "list:list a package or groups of packages"
|
||||
+ "makecache:generate the metadata cache"
|
||||
+ "mark:mark or unmark installed packages as installed by user"
|
||||
+ "provides:find what package provides the given value"
|
||||
+ "reinstall:reinstall a package"
|
||||
+ "remove:remove a package or packages from your system"
|
||||
+ "repolist:display the configured software repositories"
|
||||
+ "repository-packages:run commands on top of all packages in given repository"
|
||||
+ "search:search package details for the given string"
|
||||
+ "update:deprecated alias for upgrade"
|
||||
+ "updateinfo:display advisories about packages"
|
||||
+ "upgrade:upgrade a package or packages on your system"
|
||||
+ "upgrade-to:upgrade a package on your system to the specified version"
|
||||
)
|
||||
|
||||
- if (( CURRENT == 2 )); then
|
||||
- _describe -t dnf-clean-subcmds "dnf clean sub-commands" cleanlist
|
||||
- fi
|
||||
-}
|
||||
-
|
||||
-_dnf_caching_policy() {
|
||||
- local _dnfrepomds
|
||||
- local -a oldp
|
||||
-
|
||||
- # rebuild if cache is more than a week old
|
||||
- oldp=( "$1"(mw+1) )
|
||||
- (( $#oldp )) && return 0
|
||||
-
|
||||
- _dnfrepomds=( /var/cache/dnf/**/repomd.xml )
|
||||
+ if (( CURRENT == 1 )); then
|
||||
+ _describe -t commands 'dnf command' _dnf_cmds || compadd "$@"
|
||||
+ else
|
||||
+ local command="${${_dnf_cmds[(r)$words[1]:*]%%:*}}"
|
||||
+ # Deal with any aliases
|
||||
+ case $command in
|
||||
+ erase) command="remove";;
|
||||
+ whatprovides) command="provides";;
|
||||
+ update) command="upgrade";;
|
||||
+ esac
|
||||
|
||||
- if (( $#_dnfrepomds )); then
|
||||
- for repo in $_dnfrepomds; do
|
||||
- [[ "$repo" -nt "$1" ]] && return 0
|
||||
- done
|
||||
+ _is_path() {
|
||||
+ [[ "$1" == *\/* ]] || [[ "$1" == \~* ]]
|
||||
+ }
|
||||
+
|
||||
+ local cur=$words[CURRENT]
|
||||
+ local prev=""
|
||||
+ [[ $CURRENT > 2 ]] && prev=$words[$((CURRENT - 1))]
|
||||
+
|
||||
+ case $command in
|
||||
+ install|upgrade|reinstall|info|check-update|distro-sync)
|
||||
+ if ! _is_path "$cur"; then
|
||||
+ _dnf_available_packages "$cur"
|
||||
+ else
|
||||
+ _dnf_local_packages
|
||||
+ fi
|
||||
+ ;;
|
||||
+ remove|downgrade)
|
||||
+ if ! _is_path "$cur"; then
|
||||
+ _dnf_installed_packages "$cur"
|
||||
+ elif [[ "$command" == downgrade ]]; then
|
||||
+ _dnf_local_packages
|
||||
+ fi
|
||||
+ ;;
|
||||
+ list|clean)
|
||||
+ _dnf_helper $command "$prev" "$cur"
|
||||
+ ;;
|
||||
+ group)
|
||||
+ local -a _dnf_group_cmds
|
||||
+ _dnf_group_cmds=(
|
||||
+ "summary:display groups overview"
|
||||
+ "info:display package lists of a group"
|
||||
+ "install:install packages from a group"
|
||||
+ "list:list all matching groups"
|
||||
+ "remove:mark the group removed"
|
||||
+ "upgrade:upgrades the group and its packages"
|
||||
+ "mark:mark a group for installation or removal"
|
||||
+ )
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _describe -t commands 'dnf group command' _dnf_group_cmds
|
||||
+ fi
|
||||
+ ;;
|
||||
+ help)
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _dnf_helper '_cmds' ''
|
||||
+ fi
|
||||
+ ;;
|
||||
+ history)
|
||||
+ local -a _dnf_history_cmds
|
||||
+ _dnf_history_cmds=(
|
||||
+ "list:list transactions"
|
||||
+ "info:describe the given transactions"
|
||||
+ "redo:repeat the specified transaction"
|
||||
+ "rollback:undo all since the given transaction"
|
||||
+ "undo:undo transactions"
|
||||
+ "userinstalled:list names of all packages installed by a user"
|
||||
+ )
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _describe -t commands 'dnf history command' _dnf_history_cmds
|
||||
+ else
|
||||
+ _dnf_helper $command "$prev" "$cur"
|
||||
+ fi
|
||||
+ ;;
|
||||
+ makecache)
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _values 'make cache' 'timer'
|
||||
+ fi
|
||||
+ ;;
|
||||
+ mark)
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _values 'mark' 'install' 'remove'
|
||||
+ else
|
||||
+ _dnf_installed_packages "$cur"
|
||||
+ fi
|
||||
+ ;;
|
||||
+ provides)
|
||||
+ _files
|
||||
+ ;;
|
||||
+ repolist)
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _values 'repolist' 'enabled' 'disabled' 'all'
|
||||
+ fi
|
||||
+ ;;
|
||||
+ search)
|
||||
+ if (( CURRENT == 2 )); then
|
||||
+ _values 'search' 'all'
|
||||
+ fi
|
||||
+ ;;
|
||||
+ esac
|
||||
fi
|
||||
-
|
||||
- return 1
|
||||
}
|
||||
|
||||
_dnf "$@"
|
||||
--
|
||||
2.5.0
|
||||
|
9
zsh.spec
9
zsh.spec
@ -3,7 +3,7 @@
|
||||
Summary: Powerful interactive shell
|
||||
Name: zsh
|
||||
Version: 5.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: MIT
|
||||
URL: http://zsh.sourceforge.net/
|
||||
Group: System Environment/Shells
|
||||
@ -21,6 +21,9 @@ Patch0: zsh-serial.patch
|
||||
Patch1: zsh-4.3.6-8bit-prompts.patch
|
||||
Patch2: zsh-test-C02-dev_fd-mock.patch
|
||||
|
||||
# update zsh completion script for dnf to the latest upstream version
|
||||
Patch3: zsh-5.2-comp-dnf.patch
|
||||
|
||||
BuildRequires: coreutils sed ncurses-devel libcap-devel
|
||||
BuildRequires: texinfo texi2html gawk hostname
|
||||
Requires(post): info grep
|
||||
@ -57,6 +60,7 @@ This package contains the Zsh manual in html format.
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
cp -p %SOURCE7 .
|
||||
|
||||
@ -160,6 +164,9 @@ fi
|
||||
%doc Doc/*.html
|
||||
|
||||
%changelog
|
||||
* Fri Dec 25 2015 Adrien Vergé <adrienverge@gmail.com> - 5.2-2
|
||||
- update zsh completion script for dnf to the latest upstream version
|
||||
|
||||
* Thu Dec 03 2015 Kamil Dudka <kdudka@redhat.com> - 5.2-1
|
||||
- Update to latest upstream release: Zsh 5.2
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user