Hello community,
here is the log from the commit of package dmxviewer
checked in at Mon Nov 17 16:46:37 CET 2008.
--------
--- dmxviewer/dmxviewer.changes 2008-10-15 17:56:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/dmxviewer/dmxviewer.changes 2008-11-11 16:23:03.000000000 +0100
@@ -1,0 +2,5 @@
+Tue Nov 11 10:11:30 EST 2008 - davidr@novell.com
+
+- Fix input focus handling.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
dmxviewer-0.1.5.tar.bz2
dmxviewer.diff
New:
----
dmxviewer-0.1.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dmxviewer.spec ++++++
--- /var/tmp/diff_new_pack.A20850/_old 2008-11-17 16:46:20.000000000 +0100
+++ /var/tmp/diff_new_pack.A20850/_new 2008-11-17 16:46:20.000000000 +0100
@@ -1,5 +1,5 @@
#
-# spec file for package dmxviewer (Version 0.1.5)
+# spec file for package dmxviewer (Version 0.1.6)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -22,12 +22,11 @@
BuildRequires: libdmxview-devel pkg-config xorg-x11-devel xorg-x11-libxcb-devel
Requires: openssh
Summary: DMX viewer
-Version: 0.1.5
-Release: 3
+Version: 0.1.6
+Release: 1
License: X11/MIT
Group: System/X11/Utilities
Source: %{name}-%{version}.tar.bz2
-Patch: dmxviewer.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -37,7 +36,6 @@
%prep
%setup
-%patch -p1
%build
autoreconf -f -i
@@ -56,6 +54,8 @@
%{_bindir}/dmxviewer
%changelog
+* Tue Nov 11 2008 davidr@novell.com
+- Fix input focus handling.
* Wed Oct 15 2008 davidr@novell.com
- Fix bad window title name when using -direct option.
- Don't prevent XDND support from working properly.
++++++ dmxviewer-0.1.5.tar.bz2 -> dmxviewer-0.1.6.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/configure new/dmxviewer-0.1.6/configure
--- old/dmxviewer-0.1.5/configure 2008-08-26 19:45:32.000000000 +0200
+++ new/dmxviewer-0.1.6/configure 2008-11-11 16:08:16.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for dmxviewer 0.1.5.
+# Generated by GNU Autoconf 2.61 for dmxviewer 0.1.6.
#
# Report bugs to .
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='dmxviewer'
PACKAGE_TARNAME='dmxviewer'
-PACKAGE_VERSION='0.1.5'
-PACKAGE_STRING='dmxviewer 0.1.5'
+PACKAGE_VERSION='0.1.6'
+PACKAGE_STRING='dmxviewer 0.1.6'
PACKAGE_BUGREPORT='davidr@novell.com'
ac_subst_vars='SHELL
@@ -660,6 +660,8 @@
XCB_LIBS
XCB_ATOM_CFLAGS
XCB_ATOM_LIBS
+XCB_ICCCM_CFLAGS
+XCB_ICCCM_LIBS
LIBOBJS
LTLIBOBJS'
ac_subst_files=''
@@ -677,7 +679,9 @@
XCB_CFLAGS
XCB_LIBS
XCB_ATOM_CFLAGS
-XCB_ATOM_LIBS'
+XCB_ATOM_LIBS
+XCB_ICCCM_CFLAGS
+XCB_ICCCM_LIBS'
# Initialize some variables set by options.
@@ -1180,7 +1184,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures dmxviewer 0.1.5 to adapt to many kinds of systems.
+\`configure' configures dmxviewer 0.1.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1246,7 +1250,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dmxviewer 0.1.5:";;
+ short | recursive ) echo "Configuration of dmxviewer 0.1.6:";;
esac
cat <<\_ACEOF
@@ -1275,6 +1279,10 @@
C compiler flags for XCB_ATOM, overriding pkg-config
XCB_ATOM_LIBS
linker flags for XCB_ATOM, overriding pkg-config
+ XCB_ICCCM_CFLAGS
+ C compiler flags for XCB_ICCCM, overriding pkg-config
+ XCB_ICCCM_LIBS
+ linker flags for XCB_ICCCM, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1340,7 +1348,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dmxviewer configure 0.1.5
+dmxviewer configure 0.1.6
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1354,7 +1362,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dmxviewer $as_me 0.1.5, which was
+It was created by dmxviewer $as_me 0.1.6, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2044,7 +2052,7 @@
# Define the identity of the package.
PACKAGE='dmxviewer'
- VERSION='0.1.5'
+ VERSION='0.1.6'
# Some tools Automake needs.
@@ -3840,6 +3848,113 @@
:
fi
+pkg_failed=no
+{ echo "$as_me:$LINENO: checking for XCB_ICCCM" >&5
+echo $ECHO_N "checking for XCB_ICCCM... $ECHO_C" >&6; }
+
+if test -n "$XCB_ICCCM_CFLAGS"; then
+ pkg_cv_XCB_ICCCM_CFLAGS="$XCB_ICCCM_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xcb-icccm\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xcb-icccm") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XCB_ICCCM_CFLAGS=`$PKG_CONFIG --cflags "xcb-icccm" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$XCB_ICCCM_LIBS"; then
+ pkg_cv_XCB_ICCCM_LIBS="$XCB_ICCCM_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xcb-icccm\"") >&5
+ ($PKG_CONFIG --exists --print-errors "xcb-icccm") 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+ pkg_cv_XCB_ICCCM_LIBS=`$PKG_CONFIG --libs "xcb-icccm" 2>/dev/null`
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ XCB_ICCCM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb-icccm" 2>&1`
+ else
+ XCB_ICCCM_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb-icccm" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$XCB_ICCCM_PKG_ERRORS" >&5
+
+ { { echo "$as_me:$LINENO: error: Package requirements (xcb-icccm) were not met:
+
+$XCB_ICCCM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables XCB_ICCCM_CFLAGS
+and XCB_ICCCM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&5
+echo "$as_me: error: Package requirements (xcb-icccm) were not met:
+
+$XCB_ICCCM_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables XCB_ICCCM_CFLAGS
+and XCB_ICCCM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" >&2;}
+ { (exit 1); exit 1; }; }
+elif test $pkg_failed = untried; then
+ { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables XCB_ICCCM_CFLAGS
+and XCB_ICCCM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see http://pkg-config.freedesktop.org/.
+See \`config.log' for more details." >&5
+echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables XCB_ICCCM_CFLAGS
+and XCB_ICCCM_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see http://pkg-config.freedesktop.org/.
+See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+else
+ XCB_ICCCM_CFLAGS=$pkg_cv_XCB_ICCCM_CFLAGS
+ XCB_ICCCM_LIBS=$pkg_cv_XCB_ICCCM_LIBS
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ :
+fi
+
ac_config_files="$ac_config_files Makefile src/Makefile"
cat >confcache <<\_ACEOF
@@ -4282,7 +4397,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dmxviewer $as_me 0.1.5, which was
+This file was extended by dmxviewer $as_me 0.1.6, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4329,7 +4444,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-dmxviewer config.status 0.1.5
+dmxviewer config.status 0.1.6
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -4580,11 +4695,13 @@
XCB_LIBS!$XCB_LIBS$ac_delim
XCB_ATOM_CFLAGS!$XCB_ATOM_CFLAGS$ac_delim
XCB_ATOM_LIBS!$XCB_ATOM_LIBS$ac_delim
+XCB_ICCCM_CFLAGS!$XCB_ICCCM_CFLAGS$ac_delim
+XCB_ICCCM_LIBS!$XCB_ICCCM_LIBS$ac_delim
LIBOBJS!$LIBOBJS$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 84; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/configure.ac new/dmxviewer-0.1.6/configure.ac
--- old/dmxviewer-0.1.5/configure.ac 2008-08-26 19:45:27.000000000 +0200
+++ new/dmxviewer-0.1.6/configure.ac 2008-11-11 16:07:56.000000000 +0100
@@ -1,4 +1,4 @@
-AC_INIT(dmxviewer,0.1.5,davidr@novell.com)
+AC_INIT(dmxviewer,0.1.6,davidr@novell.com)
AM_INIT_AUTOMAKE([no-define])
AC_PROG_CC
@@ -7,6 +7,7 @@
PKG_CHECK_MODULES(LIBDMXVIEW, libdmxview)
PKG_CHECK_MODULES(XCB, xcb)
PKG_CHECK_MODULES(XCB_ATOM, xcb-atom)
+PKG_CHECK_MODULES(XCB_ICCCM, xcb-icccm)
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/Makefile.in new/dmxviewer-0.1.6/Makefile.in
--- old/dmxviewer-0.1.5/Makefile.in 2008-08-26 19:45:32.000000000 +0200
+++ new/dmxviewer-0.1.6/Makefile.in 2008-11-11 16:08:15.000000000 +0100
@@ -112,6 +112,8 @@
XCB_ATOM_CFLAGS = @XCB_ATOM_CFLAGS@
XCB_ATOM_LIBS = @XCB_ATOM_LIBS@
XCB_CFLAGS = @XCB_CFLAGS@
+XCB_ICCCM_CFLAGS = @XCB_ICCCM_CFLAGS@
+XCB_ICCCM_LIBS = @XCB_ICCCM_LIBS@
XCB_LIBS = @XCB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/src/dmxviewer.c new/dmxviewer-0.1.6/src/dmxviewer.c
--- old/dmxviewer-0.1.5/src/dmxviewer.c 2008-08-28 19:16:15.000000000 +0200
+++ new/dmxviewer-0.1.6/src/dmxviewer.c 2008-11-11 16:03:49.000000000 +0100
@@ -33,6 +33,7 @@
#include
#include
#include
+#include
#include
@@ -58,10 +59,18 @@
xcb_auth_info_t *auth;
xcb_screen_t *s;
xcb_generic_event_t *e;
- xcb_intern_atom_cookie_t dmx_name = { 0 };
+ xcb_intern_atom_cookie_t xdnd_proxy = { 0 };
+ xcb_intern_atom_cookie_t dmx_root = { 0 };
+ xcb_intern_atom_cookie_t wm_protocols = { 0 };
+ xcb_intern_atom_cookie_t wm_take_focus = { 0 };
xcb_intern_atom_cookie_t wm_state = { 0 };
xcb_intern_atom_cookie_t wm_state_fullscreen = { 0 };
- xcb_intern_atom_reply_t *dmx_name_rep;
+ xcb_intern_atom_reply_t *wm_protocols_rep;
+ xcb_intern_atom_reply_t *wm_take_focus_rep;
+ xcb_intern_atom_reply_t *dmx_atom_rep;
+ xcb_atom_t wm_protocols_atom = 0;
+ xcb_atom_t wm_take_focus_atom = 0;
+ xcb_wm_hints_t *wm_hints;
uint32_t mask;
uint32_t values[2];
char *dmx_displayname = NULL;
@@ -78,6 +87,7 @@
char *ssh_tunnel = "-oForwardX11=yes";
char *ssh_trusted = "-oForwardX11Trusted=yes";
char connect_command[1024];
+ char title[1024];
char *viewonly = "";
char *name = NULL;
char *display;
@@ -265,10 +275,25 @@
XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY |
XCB_EVENT_MASK_STRUCTURE_NOTIFY;
- dmx_name = xcb_intern_atom (c,
+ xdnd_proxy = xcb_intern_atom (c,
+ 0,
+ strlen ("XdndProxy"),
+ "XdndProxy");
+
+ dmx_root = xcb_intern_atom (c,
0,
- strlen ("DMX_NAME"),
- "DMX_NAME");
+ strlen ("DMX_ROOT"),
+ "DMX_ROOT");
+
+ wm_protocols = xcb_intern_atom (c,
+ 0,
+ strlen ("WM_PROTOCOLS"),
+ "WM_PROTOCOLS");
+
+ wm_take_focus = xcb_intern_atom (c,
+ 0,
+ strlen ("WM_TAKE_FOCUS"),
+ "WM_TAKE_FOCUS");
if (fullscreen)
{
@@ -428,38 +453,57 @@
xcb_disconnect (c);
return 1;
}
+
+ sprintf (title, "%s:%d", dmx_host, dmx_display);
+
+ xcb_change_property (c,
+ XCB_PROP_MODE_REPLACE,
+ w,
+ WM_NAME,
+ STRING,
+ 8,
+ strlen (title),
+ title);
- dmx_name_rep = xcb_intern_atom_reply (c, dmx_name, NULL);
- if (dmx_name_rep)
+ dmx_atom_rep = xcb_intern_atom_reply (c, xdnd_proxy, NULL);
+ if (dmx_atom_rep)
{
- xcb_get_property_reply_t *prop_rep;
+ xcb_change_property (c,
+ XCB_PROP_MODE_REPLACE,
+ w,
+ dmx_atom_rep->atom,
+ WINDOW,
+ 32,
+ 1,
+ &root);
- prop_rep =
- xcb_get_property_reply (c,
- xcb_get_property (c,
- 0,
- w,
- dmx_name_rep->atom,
- STRING,
- 0,
- 1024),
- NULL);
- if (prop_rep)
- {
- xcb_change_property (c,
- XCB_PROP_MODE_REPLACE,
- w,
- WM_NAME,
- STRING,
- 8,
- xcb_get_property_value_length (prop_rep),
- xcb_get_property_value (prop_rep));
+ free (dmx_atom_rep);
+ }
- free (prop_rep);
- }
+ wm_hints = xcb_alloc_wm_hints ();
+ if (wm_hints)
+ {
+ xcb_wm_hints_set_input (wm_hints, 1);
+ xcb_set_wm_hints (c, w, wm_hints);
+ xcb_free_wm_hints (wm_hints);
+ }
+
+ wm_protocols_rep = xcb_intern_atom_reply (c, wm_protocols, NULL);
+ if (wm_protocols_rep)
+ {
+ wm_protocols_atom = wm_protocols_rep->atom;
+ free (wm_protocols_rep);
+ }
- free (dmx_name_rep);
+ wm_take_focus_rep = xcb_intern_atom_reply (c, wm_take_focus, NULL);
+ if (wm_take_focus_rep)
+ {
+ wm_take_focus_atom = wm_take_focus_rep->atom;
+ free (wm_take_focus_rep);
}
+
+ if (wm_take_focus_atom)
+ xcb_set_wm_protocols (c, w, 1, &wm_take_focus_atom);
if (fullscreen)
{
@@ -506,6 +550,22 @@
return 1;
switch (e->response_type & ~0x80) {
+ case XCB_CLIENT_MESSAGE: {
+ xcb_client_message_event_t *xclient =
+ (xcb_client_message_event_t *) e;
+
+ if (xclient->type == wm_protocols_atom)
+ {
+ if (xclient->data.data32[0] == wm_take_focus_atom)
+ {
+ xcb_set_input_focus (c,
+ XCB_INPUT_FOCUS_PARENT,
+ root,
+ xclient->data.data32[1]);
+ xcb_flush (c);
+ }
+ }
+ } break;
case XCB_DESTROY_NOTIFY:
/* screen or root window has been destroyed */
root = (xcb_window_t) 0;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/src/Makefile.am new/dmxviewer-0.1.6/src/Makefile.am
--- old/dmxviewer-0.1.5/src/Makefile.am 2008-08-26 01:12:32.000000000 +0200
+++ new/dmxviewer-0.1.6/src/Makefile.am 2008-11-10 21:23:45.000000000 +0100
@@ -10,10 +10,12 @@
$(AM_CFLAGS) \
$(LIBDMXVIEW_CFLAGS) \
$(XCB_CFLAGS) \
- $(XCB_ATOM_CFLAGS)
+ $(XCB_ATOM_CFLAGS) \
+ $(XCB_ICCCM_CFLAGS)
dmxviewer_LDADD = \
$(AM_LDADD) \
$(LIBDMXVIEW_LIBS) \
$(XCB_LIBS) \
- $(XCB_ATOM_LIBS)
+ $(XCB_ATOM_LIBS) \
+ $(XCB_ICCCM_LIBS)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/dmxviewer-0.1.5/src/Makefile.in new/dmxviewer-0.1.6/src/Makefile.in
--- old/dmxviewer-0.1.5/src/Makefile.in 2008-08-26 19:45:32.000000000 +0200
+++ new/dmxviewer-0.1.6/src/Makefile.in 2008-11-11 16:08:15.000000000 +0100
@@ -46,7 +46,7 @@
dmxviewer_OBJECTS = $(am_dmxviewer_OBJECTS)
am__DEPENDENCIES_1 =
dmxviewer_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
dmxviewer_LINK = $(CCLD) $(dmxviewer_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@
@@ -107,6 +107,8 @@
XCB_ATOM_CFLAGS = @XCB_ATOM_CFLAGS@
XCB_ATOM_LIBS = @XCB_ATOM_LIBS@
XCB_CFLAGS = @XCB_CFLAGS@
+XCB_ICCCM_CFLAGS = @XCB_ICCCM_CFLAGS@
+XCB_ICCCM_LIBS = @XCB_ICCCM_LIBS@
XCB_LIBS = @XCB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
@@ -157,13 +159,15 @@
$(AM_CFLAGS) \
$(LIBDMXVIEW_CFLAGS) \
$(XCB_CFLAGS) \
- $(XCB_ATOM_CFLAGS)
+ $(XCB_ATOM_CFLAGS) \
+ $(XCB_ICCCM_CFLAGS)
dmxviewer_LDADD = \
$(AM_LDADD) \
$(LIBDMXVIEW_LIBS) \
$(XCB_LIBS) \
- $(XCB_ATOM_LIBS)
+ $(XCB_ATOM_LIBS) \
+ $(XCB_ICCCM_LIBS)
all: all-am
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org