.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=487
This commit is contained in:
parent
3023037b91
commit
55adb0f63d
236
1019-make-completion-smart-to-be-able-to-redirect.patch
Normal file
236
1019-make-completion-smart-to-be-able-to-redirect.patch
Normal file
@ -0,0 +1,236 @@
|
|||||||
|
--- systemd-208/shell-completion/bash/hostnamectl
|
||||||
|
+++ systemd-208/shell-completion/bash/hostnamectl 2014-01-17 14:27:16.183272019 +0000
|
||||||
|
@@ -30,6 +30,10 @@ _hostnamectl() {
|
||||||
|
local OPTS='-h --help --version --transient --static --pretty
|
||||||
|
--no-ask-password -H --host'
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if [[ $cur = -* ]]; then
|
||||||
|
COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
|
||||||
|
return 0
|
||||||
|
@@ -58,4 +62,4 @@ _hostnamectl() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _hostnamectl hostnamectl
|
||||||
|
+complete -o default -o bashdefault -F _hostnamectl hostnamectl
|
||||||
|
--- systemd-208/shell-completion/bash/journalctl
|
||||||
|
+++ systemd-208/shell-completion/bash/journalctl 2014-01-17 14:34:30.338737694 +0000
|
||||||
|
@@ -49,6 +49,10 @@ _journalctl() {
|
||||||
|
--verify-key'
|
||||||
|
)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then
|
||||||
|
case $prev in
|
||||||
|
--boot|--this-boot|-b)
|
||||||
|
@@ -107,4 +111,4 @@ _journalctl() {
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _journalctl journalctl
|
||||||
|
+complete -o default -o bashdefault -F _journalctl journalctl
|
||||||
|
--- systemd-208/shell-completion/bash/kernel-install
|
||||||
|
+++ systemd-208/shell-completion/bash/kernel-install 2014-01-17 14:34:41.982255874 +0000
|
||||||
|
@@ -18,11 +18,22 @@
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
+__contains_word () {
|
||||||
|
+ local w word=$1; shift
|
||||||
|
+ for w in "$@"; do
|
||||||
|
+ [[ $w = "$word" ]] && return
|
||||||
|
+ done
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
_kernel_install() {
|
||||||
|
local comps
|
||||||
|
local MACHINE_ID
|
||||||
|
local cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
case $COMP_CWORD in
|
||||||
|
1)
|
||||||
|
comps="add remove"
|
||||||
|
@@ -47,4 +58,4 @@ _kernel_install() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _kernel_install kernel-install
|
||||||
|
+complete -o default -o bashdefault -F _kernel_install kernel-install
|
||||||
|
--- systemd-208/shell-completion/bash/localectl
|
||||||
|
+++ systemd-208/shell-completion/bash/localectl 2014-01-17 14:34:52.546235747 +0000
|
||||||
|
@@ -30,6 +30,10 @@ _localectl() {
|
||||||
|
local OPTS='-h --help --version --no-convert --no-pager --no-ask-password
|
||||||
|
-H --host'
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "$prev" $OPTS; then
|
||||||
|
case $prev in
|
||||||
|
--host|-H)
|
||||||
|
@@ -73,4 +77,4 @@ _localectl() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _localectl localectl
|
||||||
|
+complete -o default -o bashdefault -F _localectl localectl
|
||||||
|
--- systemd-208/shell-completion/bash/loginctl
|
||||||
|
+++ systemd-208/shell-completion/bash/loginctl 2014-01-17 14:35:03.386245699 +0000
|
||||||
|
@@ -37,6 +37,10 @@ _loginctl () {
|
||||||
|
[ARG]='--host -H --kill-who --property -p --signal -s'
|
||||||
|
)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "$prev" ${OPTS[ARG]}; then
|
||||||
|
case $prev in
|
||||||
|
--signal|-s)
|
||||||
|
@@ -106,4 +110,4 @@ _loginctl () {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _loginctl loginctl
|
||||||
|
+complete -o default -o bashdefault -F _loginctl loginctl
|
||||||
|
--- systemd-208/shell-completion/bash/systemctl
|
||||||
|
+++ systemd-208/shell-completion/bash/systemctl 2014-01-17 14:35:26.506235666 +0000
|
||||||
|
@@ -77,6 +77,10 @@ _systemctl () {
|
||||||
|
[ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --state --root'
|
||||||
|
)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "--user" ${COMP_WORDS[*]}; then
|
||||||
|
mode=--user
|
||||||
|
else
|
||||||
|
@@ -226,4 +230,4 @@ _systemctl () {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _systemctl systemctl
|
||||||
|
+complete -o default -o bashdefault -F _systemctl systemctl
|
||||||
|
--- systemd-208/shell-completion/bash/systemd-analyze
|
||||||
|
+++ systemd-208/shell-completion/bash/systemd-analyze 2014-01-17 14:35:38.366736021 +0000
|
||||||
|
@@ -37,6 +37,10 @@ _systemd_analyze() {
|
||||||
|
[LOG_LEVEL]='set-log-level'
|
||||||
|
)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
_init_completion || return
|
||||||
|
|
||||||
|
for ((i=0; $i <= $COMP_CWORD; i++)); do
|
||||||
|
@@ -83,4 +87,4 @@ _systemd_analyze() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _systemd_analyze systemd-analyze
|
||||||
|
+complete -o default -o bashdefault -F _systemd_analyze systemd-analyze
|
||||||
|
--- systemd-208/shell-completion/bash/systemd-coredumpctl
|
||||||
|
+++ systemd-208/shell-completion/bash/systemd-coredumpctl 2014-01-17 14:35:46.434235632 +0000
|
||||||
|
@@ -44,6 +44,10 @@ _coredumpctl() {
|
||||||
|
[DUMP]='dump gdb'
|
||||||
|
)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "$prev" '--output -o'; then
|
||||||
|
comps=$( compgen -A file -- "$cur" )
|
||||||
|
compopt -o filenames
|
||||||
|
@@ -82,4 +86,4 @@ _coredumpctl() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _coredumpctl systemd-coredumpctl
|
||||||
|
+complete -o default -o bashdefault -F _coredumpctl systemd-coredumpctl
|
||||||
|
--- systemd-208/shell-completion/bash/systemd-run
|
||||||
|
+++ systemd-208/shell-completion/bash/systemd-run 2014-01-17 14:35:55.938236298 +0000
|
||||||
|
@@ -17,6 +17,13 @@
|
||||||
|
# You should have received a copy of the GNU Lesser General Public License
|
||||||
|
# along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
+__contains_word () {
|
||||||
|
+ local w word=$1; shift
|
||||||
|
+ for w in "$@"; do
|
||||||
|
+ [[ $w = "$word" ]] && return
|
||||||
|
+ done
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
__systemctl() {
|
||||||
|
local mode=$1; shift 1
|
||||||
|
systemctl $mode --full --no-legend "$@"
|
||||||
|
@@ -31,6 +38,11 @@ _systemd_run() {
|
||||||
|
|
||||||
|
local mode=--system
|
||||||
|
local i
|
||||||
|
+
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
for (( i=1; i <= COMP_CWORD; i++ )); do
|
||||||
|
if [[ ${COMP_WORDS[i]} != -* ]]; then
|
||||||
|
local root_command=${COMP_WORDS[i]}
|
||||||
|
@@ -60,4 +72,4 @@ _systemd_run() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _systemd_run systemd-run
|
||||||
|
+complete -o default -o bashdefault -F _systemd_run systemd-run
|
||||||
|
--- systemd-208/shell-completion/bash/timedatectl
|
||||||
|
+++ systemd-208/shell-completion/bash/timedatectl 2014-01-17 14:36:06.182735466 +0000
|
||||||
|
@@ -30,6 +30,10 @@ _timedatectl() {
|
||||||
|
local OPTS='-h --help --version --adjust-system-clock --no-pager
|
||||||
|
--no-ask-password -H --host'
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
if __contains_word "$prev" $OPTS; then
|
||||||
|
case $prev in
|
||||||
|
--host|-H)
|
||||||
|
@@ -73,4 +77,4 @@ _timedatectl() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _timedatectl timedatectl
|
||||||
|
+complete -o default -o bashdefault -F _timedatectl timedatectl
|
||||||
|
--- systemd-208/shell-completion/bash/udevadm
|
||||||
|
+++ systemd-208/shell-completion/bash/udevadm 2014-01-17 14:36:16.406236120 +0000
|
||||||
|
@@ -36,6 +36,10 @@ _udevadm() {
|
||||||
|
|
||||||
|
local verbs=(info trigger settle control monitor hwdb test-builtin test)
|
||||||
|
|
||||||
|
+ if __contains_word ">" ${COMP_WORDS[*]:0:COMP_CWORD}; then
|
||||||
|
+ return 0
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
for ((i=0; i <= COMP_CWORD; i++)); do
|
||||||
|
if __contains_word "${COMP_WORDS[i]}" "${verbs[@]}" &&
|
||||||
|
! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
|
||||||
|
@@ -94,4 +98,4 @@ _udevadm() {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
-complete -F _udevadm udevadm
|
||||||
|
+complete -o default -o bashdefault -F _udevadm udevadm
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jan 17 16:09:24 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Add patch
|
||||||
|
1019-make-completion-smart-to-be-able-to-redirect.patch
|
||||||
|
to make redirections work with the bash command completions for
|
||||||
|
for systemd command tools (bnc#856858, bnc#859072)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de
|
Fri Jan 17 12:24:13 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
21
systemd.spec
21
systemd.spec
@ -21,6 +21,11 @@
|
|||||||
%define udevpkgname udev
|
%define udevpkgname udev
|
||||||
%define udev_major 1
|
%define udev_major 1
|
||||||
|
|
||||||
|
%if 0%{?sles_version} == 0
|
||||||
|
%global with_bash_completion 1
|
||||||
|
%endif
|
||||||
|
%bcond_with bash_completion
|
||||||
|
|
||||||
Name: systemd
|
Name: systemd
|
||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
Version: 208
|
Version: 208
|
||||||
@ -84,6 +89,9 @@ Conflicts: kiwi
|
|||||||
# the buildignore is important for bootstrapping
|
# the buildignore is important for bootstrapping
|
||||||
#!BuildIgnore: udev
|
#!BuildIgnore: udev
|
||||||
Requires: %{udevpkgname} >= 172
|
Requires: %{udevpkgname} >= 172
|
||||||
|
%if %{with bash_completion}
|
||||||
|
Requires: bash-completion
|
||||||
|
%endif
|
||||||
Requires: dbus-1 >= 1.4.0
|
Requires: dbus-1 >= 1.4.0
|
||||||
Requires: kbd
|
Requires: kbd
|
||||||
Requires: kmod >= 14
|
Requires: kmod >= 14
|
||||||
@ -278,6 +286,8 @@ Patch1016: support-powerfail-with-powerstatus.patch
|
|||||||
Patch1017: 1017-enforce-sufficient-shutdown-warnings.patch
|
Patch1017: 1017-enforce-sufficient-shutdown-warnings.patch
|
||||||
# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch
|
# PATCH-FIX-SUSE 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch
|
||||||
Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch
|
Patch1018: 1018-Make-LSB-Skripts-know-about-Required-and-Should.patch
|
||||||
|
# PATCH-FIX-SUSE 1019-make-completion-smart-to-be-able-to-redirect.patch
|
||||||
|
Patch1019: 1019-make-completion-smart-to-be-able-to-redirect.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Systemd is a system and service manager, compatible with SysV and LSB
|
Systemd is a system and service manager, compatible with SysV and LSB
|
||||||
@ -563,6 +573,7 @@ cp %{SOURCE7} m4/
|
|||||||
%patch1016 -p1
|
%patch1016 -p1
|
||||||
%patch1017 -p1
|
%patch1017 -p1
|
||||||
%patch1018 -p1
|
%patch1018 -p1
|
||||||
|
%patch1019 -p1
|
||||||
|
|
||||||
# ensure generate files are removed
|
# ensure generate files are removed
|
||||||
rm -f units/emergency.service
|
rm -f units/emergency.service
|
||||||
@ -745,6 +756,16 @@ install -m 755 %{S:12} %{buildroot}/%{_prefix}/lib/systemd/
|
|||||||
install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/
|
install -m 644 units/powerfail.service %{buildroot}/%{_prefix}/lib/systemd/system/
|
||||||
install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/
|
install -m 644 man/systemd-powerfail.service.8 %{buildroot}/%{_mandir}/man8/
|
||||||
|
|
||||||
|
# clean out some completions which requires bash-completion package
|
||||||
|
%if %{without bash_completion}
|
||||||
|
for c in %{buildroot}/%{_datadir}/bash-completion/completions/*
|
||||||
|
do
|
||||||
|
test -e "$c" || continue
|
||||||
|
grep -q _init_completion "$c" || continue
|
||||||
|
rm -vf "$c"
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
%fdupes -s %{buildroot}%{_mandir}
|
%fdupes -s %{buildroot}%{_mandir}
|
||||||
|
|
||||||
# packaged in systemd-rpm-macros
|
# packaged in systemd-rpm-macros
|
||||||
|
Loading…
Reference in New Issue
Block a user