From 17bd79815edb8688cb33bcb3ce9735bcce1f8ff064d5b7b0fad6348472a55a65 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Tue, 22 May 2007 13:04:17 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdg-utils?expand=0&rev=2 --- xdg-su.diff | 894 ++++++++++++++++++++++++++++++++++++++++++++++ xdg-utils.changes | 5 + xdg-utils.spec | 14 +- 3 files changed, 908 insertions(+), 5 deletions(-) create mode 100644 xdg-su.diff diff --git a/xdg-su.diff b/xdg-su.diff new file mode 100644 index 0000000..d403cb9 --- /dev/null +++ b/xdg-su.diff @@ -0,0 +1,894 @@ +--- scripts/Makefile.in ++++ scripts/Makefile.in +@@ -19,8 +19,8 @@ + xdg-icon-resource \ + xdg-open \ + xdg-email \ +- xdg-screensaver +-# xdg-su ++ xdg-screensaver \ ++ xdg-su + # xdg-copy \ + # xdg-file-dialog + # xdg-terminal +--- scripts/desc/xdg-su.xml ++++ scripts/desc/xdg-su.xml +@@ -0,0 +1,166 @@ ++ ++ ++ ++ ++ ++ xdg-su Manual ++ ++ 2006 ++ ++ ++ Kevin ++ Krammer ++ ++
kevin.krammer@gmx.at
++ ++ Jeremy ++ White ++ ++
jwhite@codeweavers.com
++ This is release 0.5 of the xdg-su Manual. ++
++ ++ ++ xdg-su ++ 1 ++ ++ ++ ++ xdg-su ++ run a GUI program as root after prompting for the root password ++ ++ ++ ++ ++ xdg-su ++ ++ ++ ++ ++ xdg-su ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Description ++ ++ xdg-su provides a graphical dialog that prompts the user for a password ++ to run command as user ++ or as root if no user was specified. ++ ++ ++ xdg-su is for use inside a desktop session only. ++ ++ ++ xdg-su discards any stdout and stderr output from ++ command. ++ ++ ++ ++ Options ++ ++ ++ ++ ++ ++ run command as ++ user. The default is to run as root. ++ ++ ++ ++ ++ ++ ++ ++ ++ Show command synopsis. ++ ++ ++ ++ ++ ++ ++ ++ ++ Show this manualpage. ++ ++ ++ ++ ++ ++ ++ ++ ++ Show the xdg-utils version information. ++ ++ ++ ++ ++ ++ ++ ++ Exit Codes ++ ++ An exit code of 0 indicates success while a non-zero exit code ++ indicates failure. The following failure codes can be returned: ++ ++ ++ ++ ++ ++ ++ Error in command line syntax. ++ ++ ++ ++ ++ ++ ++ ++ One of the files passed on the command line did not exist. ++ ++ ++ ++ ++ ++ ++ ++ A required tool could not be found. ++ ++ ++ ++ ++ ++ ++ ++ The action failed. ++ ++ ++ ++ ++ ++ ++ See Also ++ su ++ 1 ++ ++ ++ ++ ++ Examples ++ ++ ++xdg-su -u root -c "/opt/shinythings/bin/install-GUI --install fast" ++ ++ Runs the /opt/shinythings/bin/install-GUI command with root permissions. ++ ++ ++
+--- scripts/html/xdg-su.html ++++ scripts/html/xdg-su.html +@@ -0,0 +1,36 @@ ++xdg-su

Name

xdg-su — run a GUI program as root after prompting for the root password

Synopsis

xdg-su [-u user] -c command

xdg-su { --help | --manual | --version }

Description

++ xdg-su provides a graphical dialog that prompts the user for a password ++ to run command as user ++ or as root if no user was specified. ++

++ xdg-su is for use inside a desktop session only. ++

++ xdg-su discards any stdout and stderr output from ++ command. ++

Options

-u user
++ run command as ++ user. The default is to run as root. ++
--help
++ Show command synopsis. ++
--manual
++ Show this manualpage. ++
--version
++ Show the xdg-utils version information. ++

Exit Codes

++ An exit code of 0 indicates success while a non-zero exit code ++ indicates failure. The following failure codes can be returned: ++

1
++ Error in command line syntax. ++
2
++ One of the files passed on the command line did not exist. ++
3
++ A required tool could not be found. ++
4
++ The action failed. ++

See Also

su(1) ++

Examples

++

++xdg-su -u root -c "/opt/shinythings/bin/install-GUI --install fast"
++

++ Runs the /opt/shinythings/bin/install-GUI command with root permissions. ++

+--- scripts/man/xdg-su.1 ++++ scripts/man/xdg-su.1 +@@ -0,0 +1,75 @@ ++.\" ** You probably do not want to edit this file directly ** ++.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1). ++.\" Instead of manually editing it, you probably should edit the DocBook XML ++.\" source for it and then use the DocBook XSL Stylesheets to regenerate it. ++.TH "XDG\-SU" "1" "07/31/2006" "This is release 0.5 of the xdg\-su Manual" "" ++.\" disable hyphenation ++.nh ++.\" disable justification (adjust text to left margin only) ++.ad l ++.SH "NAME" ++xdg\-su \- run a GUI program as root after prompting for the root password ++.SH "SYNOPSIS" ++.HP 7 ++\fBxdg\-su\fR [\fB\-u\ \fR\fB\fIuser\fR\fR] \fB\-c\ \fR\fB\fIcommand\fR\fR ++.HP 7 ++\fBxdg\-su\fR {\fB\-\-help\fR \fB\-\-manual\fR \fB\-\-version\fR} ++.SH "DESCRIPTION" ++.PP ++xdg\-su provides a graphical dialog that prompts the user for a password to run ++\fIcommand\fR ++as ++\fIuser\fR ++or as root if no user was specified. ++.PP ++xdg\-su is for use inside a desktop session only. ++.PP ++xdg\-su discards any stdout and stderr output from ++\fIcommand\fR. ++.SH "OPTIONS" ++.TP ++\fB\-u \fR\fB\fIuser\fR\fR ++run ++\fIcommand\fR ++as ++\fIuser\fR. The default is to run as root. ++.TP ++\fB\-\-help\fR ++Show command synopsis. ++.TP ++\fB\-\-manual\fR ++Show this manualpage. ++.TP ++\fB\-\-version\fR ++Show the xdg\-utils version information. ++.SH "EXIT CODES" ++.PP ++An exit code of 0 indicates success while a non\-zero exit code indicates failure. The following failure codes can be returned: ++.TP ++\fB1\fR ++Error in command line syntax. ++.TP ++\fB2\fR ++One of the files passed on the command line did not exist. ++.TP ++\fB3\fR ++A required tool could not be found. ++.TP ++\fB4\fR ++The action failed. ++.SH "SEE ALSO" ++.PP ++\fBsu\fR(1) ++.SH "EXAMPLES" ++.PP ++.nf ++xdg\-su \-u root \-c "/opt/shinythings/bin/install\-GUI \-\-install fast" ++.fi ++.sp ++Runs the /opt/shinythings/bin/install\-GUI command with root permissions. ++.SH "AUTHOR" ++Kevin Krammer, Jeremy White. ++.br ++ ++.br ++ +--- scripts/xdg-su ++++ scripts/xdg-su +@@ -0,0 +1,434 @@ ++#!/bin/sh ++#--------------------------------------------- ++# xdg-su ++# ++# Utility script to run a command as an alternate user, generally ++# the root user, with a graphical prompt for the root ++# password if needed ++# ++# Refer to the usage() function below for usage. ++# ++# Copyright 2006, Jeremy White ++# Copyright 2006, Kevin Krammer ++# ++# LICENSE: ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice shall be included ++# in all copies or substantial portions of the Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++# OTHER DEALINGS IN THE SOFTWARE. ++# ++#--------------------------------------------- ++ ++manualpage() ++{ ++cat << _MANUALPAGE ++Name ++ ++xdg-su - run a GUI program as root after prompting for the root password ++ ++Synopsis ++ ++xdg-su [-u user] -c command ++ ++xdg-su { --help | --manual | --version } ++ ++Description ++ ++xdg-su provides a graphical dialog that prompts the user for a password to run ++command as user or as root if no user was specified. ++ ++xdg-su is for use inside a desktop session only. ++ ++xdg-su discards any stdout and stderr output from command. ++ ++Options ++ ++-u user ++ run command as user. The default is to run as root. ++--help ++ Show command synopsis. ++--manual ++ Show this manualpage. ++--version ++ Show the xdg-utils version information. ++ ++Exit Codes ++ ++An exit code of 0 indicates success while a non-zero exit code indicates ++failure. The following failure codes can be returned: ++ ++1 ++ Error in command line syntax. ++2 ++ One of the files passed on the command line did not exist. ++3 ++ A required tool could not be found. ++4 ++ The action failed. ++ ++See Also ++ ++su(1) ++ ++Examples ++ ++xdg-su -u root -c "/opt/shinythings/bin/install-GUI --install fast" ++ ++Runs the /opt/shinythings/bin/install-GUI command with root permissions. ++ ++_MANUALPAGE ++} ++ ++usage() ++{ ++cat << _USAGE ++xdg-su - run a GUI program as root after prompting for the root password ++ ++Synopsis ++ ++xdg-su [-u user] -c command ++ ++xdg-su { --help | --manual | --version } ++ ++_USAGE ++} ++ ++#@xdg-utils-common@ ++ ++#---------------------------------------------------------------------------- ++# Common utility functions included in all XDG wrapper scripts ++#---------------------------------------------------------------------------- ++ ++DEBUG() ++{ ++ [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt $1 ] && return 0; ++ shift ++ echo "$@" >&2 ++} ++ ++#------------------------------------------------------------- ++# Exit script on successfully completing the desired operation ++ ++exit_success() ++{ ++ if [ $# -gt 0 ]; then ++ echo "$@" ++ echo ++ fi ++ ++ exit 0 ++} ++ ++ ++#----------------------------------------- ++# Exit script on malformed arguments, not enough arguments ++# or missing required option. ++# prints usage information ++ ++exit_failure_syntax() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ echo "Try 'xdg-su --help' for more information." >&2 ++ else ++ usage ++ echo "Use 'man xdg-su' or 'xdg-su --manual' for additional info." ++ fi ++ ++ exit 1 ++} ++ ++#------------------------------------------------------------- ++# Exit script on missing file specified on command line ++ ++exit_failure_file_missing() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ fi ++ ++ exit 2 ++} ++ ++#------------------------------------------------------------- ++# Exit script on failure to locate necessary tool applications ++ ++exit_failure_operation_impossible() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ fi ++ ++ exit 3 ++} ++ ++#------------------------------------------------------------- ++# Exit script on failure returned by a tool application ++ ++exit_failure_operation_failed() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ fi ++ ++ exit 4 ++} ++ ++#------------------------------------------------------------ ++# Exit script on insufficient permission to read a specified file ++ ++exit_failure_file_permission_read() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ fi ++ ++ exit 5 ++} ++ ++#------------------------------------------------------------ ++# Exit script on insufficient permission to read a specified file ++ ++exit_failure_file_permission_write() ++{ ++ if [ $# -gt 0 ]; then ++ echo "xdg-su: $@" >&2 ++ fi ++ ++ exit 6 ++} ++ ++check_input_file() ++{ ++ if [ ! -e "$1" ]; then ++ exit_failure_file_missing "file '$1' does not exist" ++ fi ++ if [ ! -r "$1" ]; then ++ exit_failure_file_permission_read "no permission to read file '$1'" ++ fi ++} ++ ++check_vendor_prefix() ++{ ++ file=`basename "$1"` ++ case "$file" in ++ [a-zA-Z]*-*) ++ return ++ ;; ++ esac ++ ++ echo "xdg-su: filename '$file' does not have a proper vendor prefix" >&2 ++ echo 'A vendor prefix consists of alpha characters ([a-zA-Z]) and is terminated' >&2 ++ echo 'with a dash ("-"). An example filename is '"'example-$file'" >&2 ++ echo "Use --novendor to override or 'xdg-su --manual' for additional info." >&2 ++ exit 1 ++} ++ ++check_output_file() ++{ ++ # if the file exists, check if it is writeable ++ # if it does not exists, check if we are allowed to write on the directory ++ if [ -e "$1" ]; then ++ if [ ! -w "$1" ]; then ++ exit_failure_file_permission_write "no permission to write to file '$1'" ++ fi ++ else ++ DIR=`dirname "$1"` ++ if [ ! -w "$DIR" -o ! -x "$DIR" ]; then ++ exit_failure_file_permission_write "no permission to create file '$1'" ++ fi ++ fi ++} ++ ++#---------------------------------------- ++# Checks for shared commands, e.g. --help ++ ++check_common_commands() ++{ ++ while [ $# -gt 0 ] ; do ++ parm="$1" ++ shift ++ ++ case "$parm" in ++ --help) ++ usage ++ echo "Use 'man xdg-su' or 'xdg-su --manual' for additional info." ++ exit_success ++ ;; ++ ++ --manual) ++ manualpage ++ exit_success ++ ;; ++ ++ --version) ++ echo "xdg-su 1.0beta2" ++ exit_success ++ ;; ++ esac ++ done ++} ++ ++check_common_commands "$@" ++if [ ${XDG_UTILS_DEBUG_LEVEL-0} -lt 1 ]; then ++ # Be silent ++ xdg_redirect_output=" > /dev/null 2> /dev/null" ++else ++ # All output to stderr ++ xdg_redirect_output=" >&2" ++fi ++ ++#-------------------------------------- ++# Checks for known desktop environments ++# set variable DE to the desktop environments name, lowercase ++ ++detectDE() ++{ ++ if [ x"$KDE_FULL_SESSION" = x"true" ]; then DE=kde; ++ elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ]; then DE=gnome; ++ elif xprop -root _DT_SAVE_MODE | grep ' = \"xfce4\"$' >/dev/null 2>&1; then DE=xfce; ++ fi ++} ++ ++#---------------------------------------------------------------------------- ++ ++ ++ ++su_kde() ++{ ++ KDESU=`which kdesu 2>/dev/null` ++ if [ $? -eq 0 ] ; then ++ if [ -z "$user" ] ; then ++ $KDESU -c "$cmd" ++ else ++ $KDESU -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++ else ++ su_generic ++ fi ++} ++ ++su_gnome() ++{ ++ GSU=`which gnomesu 2>/dev/null` ++ if [ $? -ne 0 ] ; then ++ GSU=`which xsu 2>/dev/null` ++ fi ++ if [ $? -eq 0 ] ; then ++ if [ -z "$user" ] ; then ++ $GSU -c "$cmd" ++ else ++ $GSU -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++ else ++ su_generic ++ fi ++} ++ ++su_generic() ++{ ++ if [ -z "$user" ] ; then ++ xterm -geom 60x5 -T "xdg-su: $cmd" -e su -c "$cmd" ++ else ++ xterm -geom 60x5 -T "xdg-su: $cmd" -e su -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++} ++ ++[ x"$1" != x"" ] || exit_failure_syntax ++ ++user= ++cmd= ++while [ $# -gt 0 ] ; do ++ parm="$1" ++ shift ++ ++ case "$parm" in ++ -u) ++ if [ -z "$1" ] ; then ++ exit_failure_syntax "user argument missing for -u" ++ fi ++ user="$1" ++ shift ++ ;; ++ ++ -c) ++ if [ -z "$1" ] ; then ++ exit_failure_syntax "command argument missing for -c" ++ fi ++ cmd="$1" ++ shift ++ ;; ++ ++ -*) ++ exit_failure_syntax "unexpected option '$parm'" ++ ;; ++ ++ *) ++ exit_failure_syntax "unexpected argument '$parm'" ++ ;; ++ esac ++done ++ ++if [ -z "${cmd}" ] ; then ++ exit_failure_syntax "command missing" ++fi ++ ++detectDE ++ ++if [ x"$DE" = x"" ]; then ++ XSU=`which xsu 2>/dev/null` ++ if [ $? -eq 0 ] ; then ++ DE=generic ++ fi ++fi ++ ++case "$DE" in ++ kde) ++ su_kde ++ ;; ++ ++ gnome) ++ su_gnome ++ ;; ++ ++ generic) ++ su_generic ++ ;; ++ ++ *) ++ [ x"$user" = x"" ] && user=root ++ exit_failure_operation_impossible "no graphical method available for invoking '$cmd' as '$user'" ++ ;; ++esac +--- scripts/xdg-su.in ++++ scripts/xdg-su.in +@@ -0,0 +1,155 @@ ++#!/bin/sh ++#--------------------------------------------- ++# xdg-su ++# ++# Utility script to run a command as an alternate user, generally ++# the root user, with a graphical prompt for the root ++# password if needed ++# ++# Refer to the usage() function below for usage. ++# ++# Copyright 2006, Jeremy White ++# Copyright 2006, Kevin Krammer ++# ++# LICENSE: ++# ++#--------------------------------------------- ++ ++manualpage() ++{ ++cat << _MANUALPAGE ++_MANUALPAGE ++} ++ ++usage() ++{ ++cat << _USAGE ++_USAGE ++} ++ ++#@xdg-utils-common@ ++ ++su_kde() ++{ ++ KDESU=`which kdesu 2>/dev/null` ++ if [ $? -eq 0 ] ; then ++ if [ -z "$user" ] ; then ++ $KDESU -c "$cmd" ++ else ++ $KDESU -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++ else ++ su_generic ++ fi ++} ++ ++su_gnome() ++{ ++ GSU=`which gnomesu 2>/dev/null` ++ if [ $? -ne 0 ] ; then ++ GSU=`which xsu 2>/dev/null` ++ fi ++ if [ $? -eq 0 ] ; then ++ if [ -z "$user" ] ; then ++ $GSU -c "$cmd" ++ else ++ $GSU -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++ else ++ su_generic ++ fi ++} ++ ++su_generic() ++{ ++ if [ -z "$user" ] ; then ++ xterm -geom 60x5 -T "xdg-su: $cmd" -e su -c "$cmd" ++ else ++ xterm -geom 60x5 -T "xdg-su: $cmd" -e su -u "$user" -c "$cmd" ++ fi ++ ++ if [ $? -eq 0 ]; then ++ exit_success ++ else ++ exit_failure_operation_failed ++ fi ++} ++ ++[ x"$1" != x"" ] || exit_failure_syntax ++ ++user= ++cmd= ++while [ $# -gt 0 ] ; do ++ parm="$1" ++ shift ++ ++ case "$parm" in ++ -u) ++ if [ -z "$1" ] ; then ++ exit_failure_syntax "user argument missing for -u" ++ fi ++ user="$1" ++ shift ++ ;; ++ ++ -c) ++ if [ -z "$1" ] ; then ++ exit_failure_syntax "command argument missing for -c" ++ fi ++ cmd="$1" ++ shift ++ ;; ++ ++ -*) ++ exit_failure_syntax "unexpected option '$parm'" ++ ;; ++ ++ *) ++ exit_failure_syntax "unexpected argument '$parm'" ++ ;; ++ esac ++done ++ ++if [ -z "${cmd}" ] ; then ++ exit_failure_syntax "command missing" ++fi ++ ++detectDE ++ ++if [ x"$DE" = x"" ]; then ++ XSU=`which xsu 2>/dev/null` ++ if [ $? -eq 0 ] ; then ++ DE=generic ++ fi ++fi ++ ++case "$DE" in ++ kde) ++ su_kde ++ ;; ++ ++ gnome) ++ su_gnome ++ ;; ++ ++ generic) ++ su_generic ++ ;; ++ ++ *) ++ [ x"$user" = x"" ] && user=root ++ exit_failure_operation_impossible "no graphical method available for invoking '$cmd' as '$user'" ++ ;; ++esac diff --git a/xdg-utils.changes b/xdg-utils.changes index b54b450..1067cf5 100644 --- a/xdg-utils.changes +++ b/xdg-utils.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue May 22 14:25:00 CEST 2007 - dmueller@suse.de + +- add xdg-su (#275937) + ------------------------------------------------------------------- Mon Nov 6 09:48:46 CET 2006 - dmueller@suse.de diff --git a/xdg-utils.spec b/xdg-utils.spec index 3375236..510db24 100644 --- a/xdg-utils.spec +++ b/xdg-utils.spec @@ -1,7 +1,7 @@ # # spec file for package xdg-utils (Version 1.0.1) # -# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -16,11 +16,12 @@ License: X11/MIT Group: System/GUI/Other Summary: Utilities to uniformly interface desktop environments Version: 1.0.1 -Release: 1 +Release: 41 BuildArch: noarch URL: http://portland.freedesktop.org/ BuildRoot: %{_tmppath}/%{name}-%{version}-build Source0: %name-%{version}.tar.bz2 +Patch0: xdg-su.diff %description The xdg-utils package is a set of simple scripts that provide basic @@ -41,6 +42,7 @@ these utilities work properly in their environment. %prep %setup -q -n %name-%{version} +%patch0 %build %configure @@ -63,7 +65,7 @@ rm -rf $RPM_BUILD_ROOT #/usr/bin/xdg-menu /usr/bin/xdg-mime /usr/bin/xdg-open -#/usr/bin/xdg-su +/usr/bin/xdg-su /usr/bin/xdg-screensaver #%{_mandir}/man1/xdg-copy.1.gz #%{_mandir}/man1/xdg-desktop.1.gz @@ -74,10 +76,12 @@ rm -rf $RPM_BUILD_ROOT #%{_mandir}/man1/xdg-menu.1.gz %{_mandir}/man1/xdg-mime.1.gz %{_mandir}/man1/xdg-open.1.gz -#%{_mandir}/man1/xdg-su.1.gz +%{_mandir}/man1/xdg-su.1.gz %{_mandir}/man1/xdg-screensaver.1.gz -%changelog -n xdg-utils +%changelog +* Tue May 22 2007 - dmueller@suse.de +- add xdg-su (#275937) * Mon Nov 06 2006 - dmueller@suse.de - update to 1.0.1: * Several shell syntax issues causing failures on Ubuntu 6.10