![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package openproj checked in at Mon Sep 15 13:37:41 CEST 2008. -------- --- openproj/openproj.changes 2007-11-15 11:28:22.000000000 +0100 +++ /mounts/work_src_done/STABLE/openproj/openproj.changes 2008-09-10 16:28:06.000000000 +0200 @@ -1,0 +2,23 @@ +Wed Sep 10 15:57:46 CEST 2008 - mvyskocil@suse.cz + +- Update to 1.3 +- bzipped source codes +- remove unecessary unzip from Build Requires +- The openproj.sh is generated script in %install section +- Fix build against openjdk6 - openproj-1.3-build.patch +- Usage of the system jar files, instead of bundled ones. The new Build + Requires of openproj are: + - ant-contrib, ant-junit, proguard, jakarta-poi, relaxngDatatype + - antlr, asm2, bsf, jakarta-commons-cli, xerces-j2, bsh, ecj + - xalan-j2, jakarta-commons-beanutils, jakarta-commons-collections + - jakarta-commons-digester, jakarta-commons-lang, jakarta-commons-logging + - jakarta-commons-pool, jcommon, jlfgr, nachocalendar +- source=1.5 -target=1.5 +- Removal of the openproj-patch.sh and openproj-ibm-jdk.patch. Add a three + build ways in a prep and build sections: + - for sun/openjdk6 is necessary to use a system wide proguard, because + the bundled one is not compactible with this compiler + - for ibm javac 5 is necessary to replace a rt.jar to core.jar + - for ibm javac 6 is necessary te leave and use the bundled proguard + +------------------------------------------------------------------- Old: ---- minmem openproj-0.9.6.sh openproj-0.9.6-src.tar.gz openproj-ibm-jdk.patch openproj-patch.sh New: ---- openproj-1.3-ibm-javac.patch openproj-1.3-openjdk6-javac.patch openproj-1.3-src.tar.bz2 openproj-1.3-use-system-jars.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openproj.spec ++++++ --- /var/tmp/diff_new_pack.E28099/_old 2008-09-15 13:37:33.000000000 +0200 +++ /var/tmp/diff_new_pack.E28099/_new 2008-09-15 13:37:33.000000000 +0200 @@ -1,33 +1,63 @@ # -# spec file for package openproj (Version 0.9.6) +# spec file for package openproj (Version 1.3) # -# 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. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # +# 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 http://bugs.opensuse.org/ # # norootforbuild + Name: openproj Summary: Java based project manager License: Other uncritical OpenSource License -Version: 0.9.6 -Release: 9 +Version: 1.3 +Release: 1 Url: http://openproj.org/ Group: Productivity/Office/Management -Source0: %{name}-%{version}-src.tar.gz -Source1: %{name}-%{version}.sh +Source0: %{name}-%{version}-src.tar.bz2 Source2: %{name}.desktop -Source3: %{name}-patch.sh -Patch0: %{name}-ibm-jdk.patch +Patch0: openproj-1.3-ibm-javac.patch +Patch1: openproj-1.3-openjdk6-javac.patch +Patch2: openproj-1.3-use-system-jars.patch Requires: jre >= 1.5.0 BuildRequires: java-devel BuildRequires: ant -BuildRequires: unzip BuildRequires: update-desktop-files BuildRequires: jpackage-utils +PreReq: jpackage-utils +BuildRequires: ant-contrib +BuildRequires: ant-junit +BuildRequires: proguard +BuildRequires: jakarta-poi +BuildRequires: relaxngDatatype +BuildRequires: antlr +BuildRequires: asm2 +BuildRequires: bsf +BuildRequires: jakarta-commons-cli +BuildRequires: xerces-j2 +BuildRequires: bsh +BuildRequires: ecj +BuildRequires: xalan-j2 +BuildRequires: jakarta-commons-beanutils +BuildRequires: jakarta-commons-collections +BuildRequires: jakarta-commons-digester +BuildRequires: jakarta-commons-lang +BuildRequires: jakarta-commons-logging +BuildRequires: jakarta-commons-pool +BuildRequires: jcommon +BuildRequires: jlfgr +BuildRequires: nachocalendar BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -45,14 +75,39 @@ %prep %setup -q -n %{name}-%{version}-src -# this patch is a workaround, which looks on the available JDK/JRE and -# apply the %{PATCH0} only for IBM's JDK/JRE -# the %ifarch and %ifnarch macros not work in noarch packages -sh %{SOURCE3} $RPM_SOURCE_DIR +if [[ $(readlink -f /etc/alternatives/java_sdk | grep 'ibm') ]]; then +%patch0 -b .ibm-javac +else +%patch1 -b .openjdk-javac +fi +%patch2 -b .use-system-jars +# switch from the rt.jar to the core.jar (on IBM Java 1.5.0) +if [[ -f ${JAVA_HOME}/jre/lib/core.jar ]]; then + sed -i 's/\<rt\.jar/core.jar/' openproj_contrib/openproj_{contrib,exchange,exchange2,reports,script}.conf +fi +pushd openproj_contrib +# remove the proguard.jar for non IBM compilers +if [[ ! $(readlink -f /etc/alternatives/java_sdk | grep 'ibm') ]]; then +rm ant-lib/proguard.jar +fi +rm ant-lib/ant-contrib.jar +rm lib/{commons-*,jlfgr,junit,nachocalendar}.jar +rm lib/exchange/{jakarta-poi,namespace,relaxngDatatype}.jar +rm lib/groovy/{ant-1.6.5,antlr,bsf-2.3.0-rc1,commons-cli-1.0,xerces-2.4.0,asm*}.jar +rm lib/jasperreports/{bsh,xalan,jdt-compiler}.jar +popd %build -cd openproj_build -ant +build-jar-repository -p -s openproj_contrib/ant-lib \ + ant-contrib +if [[ ! $(readlink -f /etc/alternatives/java_sdk | grep 'ibm') ]]; then + build-jar-repository -p -s openproj_contrib/ant-lib \ + proguard +fi +export CLASSPATH=$(build-classpath bsh) +ant -Dant.build.javac.source=1.5 \ + -Dant.build.javac.target=1.5 \ + -f openproj_build/build.xml %install # jars @@ -62,7 +117,11 @@ # start scripts install -m 755 openproj_build/resources/%{name}.sh $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/ install -d -m 755 $RPM_BUILD_ROOT%{_bindir} -install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/%{name} +cat << -EOF > $RPM_BUILD_ROOT%{_bindir}/%{name} +#!/bin/sh +cd /usr/share/openproj-%{version} +sh openproj.sh +-EOF # samples install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/samples install -m 644 openproj_build/resources/samples/* $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/samples @@ -78,8 +137,6 @@ install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/applications # desktop menu %suse_update_desktop_file -i %{name} -# do not check for bytecode version -export NO_BRP_CHECK_BYTECODE_VERSION=true %post if [ -f /usr/bin/update-mime-database ]; then @@ -92,8 +149,9 @@ fi %files -%defattr(-,root,root) +%defattr(755,root,root,755) %{_bindir}/openproj +%defattr(-,root,root) %dir %{_datadir}/%{name}-%{version} %dir %{_datadir}/%{name}-%{version}/lib %dir %{_datadir}/%{name}-%{version}/samples @@ -106,13 +164,34 @@ %{_datadir}/applications/%{name}.desktop %dir %{_docdir}/%{name} %{_docdir}/%{name}/license.html + %changelog -* Thu Nov 15 2007 - mvyskocil@suse.cz +* Wed Sep 10 2008 mvyskocil@suse.cz +- Update to 1.3 +- bzipped source codes +- remove unecessary unzip from Build Requires +- The openproj.sh is generated script in %%install section +- Fix build against openjdk6 - openproj-1.3-build.patch +- Usage of the system jar files, instead of bundled ones. The new Build + Requires of openproj are: + - ant-contrib, ant-junit, proguard, jakarta-poi, relaxngDatatype + - antlr, asm2, bsf, jakarta-commons-cli, xerces-j2, bsh, ecj + - xalan-j2, jakarta-commons-beanutils, jakarta-commons-collections + - jakarta-commons-digester, jakarta-commons-lang, jakarta-commons-logging + - jakarta-commons-pool, jcommon, jlfgr, nachocalendar +- source=1.5 -target=1.5 +- Removal of the openproj-patch.sh and openproj-ibm-jdk.patch. Add a three + build ways in a prep and build sections: + - for sun/openjdk6 is necessary to use a system wide proguard, because + the bundled one is not compactible with this compiler + - for ibm javac 5 is necessary to replace a rt.jar to core.jar + - for ibm javac 6 is necessary te leave and use the bundled proguard +* Thu Nov 15 2007 mvyskocil@suse.cz - added workaround to build on every of available platforms -* Mon Nov 12 2007 - mvyskocil@suse.cz +* Mon Nov 12 2007 mvyskocil@suse.cz - exclude architectures only to ix86 and x86_64 to avoid the abuilds error messages -* Tue Nov 06 2007 - mvyskocil@suse.cz +* Tue Nov 06 2007 mvyskocil@suse.cz - could be built with Sun's compiler only -* Wed Oct 31 2007 - mvyskocil@suse.cz +* Wed Oct 31 2007 mvyskocil@suse.cz - first release of version 0.9.6 in Suse ++++++ openproj-1.3-ibm-javac.patch ++++++ --- openproj_ui/src/com/projity/pm/graphic/model/transform/NodeCacheTransformer.java +++ openproj_ui/src/com/projity/pm/graphic/model/transform/NodeCacheTransformer.java @@ -555,7 +555,9 @@ } public void clear(){ - childrenMap.clear(); + java.util.Map _ch = (java.util.Map) childrenMap; + _ch.clear(); + //childrenMap.clear(); parentMap.clear(); } ++++++ openproj-1.3-openjdk6-javac.patch ++++++ --- openproj_core/src/com/projity/configuration/ConfigurationReader.java +++ openproj_core/src/com/projity/configuration/ConfigurationReader.java @@ -102,11 +102,11 @@ try { result = (ProvidesDigesterEvents) digester.parse(stream); - } catch (IOException e1) { + } catch (RuntimeException e1) { log.error("Could not read field xml configuration file."); // TODO Auto-generated catch block e1.printStackTrace(); - } catch (SAXException e1) { + } catch (Exception e1) { log.error("Error parsing field xml configuration file"); // TODO Auto-generated catch block e1.printStackTrace(); --- openproj_core/src/com/projity/configuration/FieldDictionaryFactory.java +++ openproj_core/src/com/projity/configuration/FieldDictionaryFactory.java @@ -56,7 +56,7 @@ * Factory that ensures that the digester uses a singleton instance of the Field Dictionary */ public class FieldDictionaryFactory extends AbstractObjectCreationFactory { - public Object createObject(Attributes arg0) throws Exception { + public Object createObject(Attributes arg0) { FieldDictionary fieldDictionary = Configuration.getInstance().getFieldDictionary(); if (fieldDictionary == null) // make it a singleton fieldDictionary = new FieldDictionary(); --- openproj_core/src/com/projity/document/ObjectEvent.java +++ openproj_core/src/com/projity/document/ObjectEvent.java @@ -147,11 +147,11 @@ private static GenericObjectPool pool = new GenericObjectPool(new ObjectEventFactory()); private static class ObjectEventFactory extends BasePoolableObjectFactory { - public Object makeObject() throws Exception { + public Object makeObject() { return new ObjectEvent(); } - public void activateObject(Object arg0) throws Exception { + public void activateObject(Object arg0) { ObjectEvent objectEvent = (ObjectEvent)arg0; objectEvent.reset(); --- openproj_core/src/com/projity/field/Field.java +++ openproj_core/src/com/projity/field/Field.java @@ -2017,9 +2017,7 @@ return null; try { return PropertyUtils.getProperty(obj, property); - } catch (IllegalAccessException e) { - } catch (InvocationTargetException e) { - } catch (NoSuchMethodException e) { + } catch (RuntimeException e) { } return null; @@ -2030,10 +2028,8 @@ return null; try { return PropertyUtils.getProperty(obj, referencedObjectProperty); - } catch (IllegalAccessException e) { - } catch (InvocationTargetException e) { - } catch (NoSuchMethodException e) { - } + } catch (RuntimeException e) { + } return null; } @@ -2043,9 +2039,7 @@ try { result = (Long) PropertyUtils.getProperty(obj, referencedIdProperty); // System.out.println("____ref id = " + result); - } catch (IllegalAccessException e) { - } catch (InvocationTargetException e) { - } catch (NoSuchMethodException e) { + } catch (RuntimeException e) { } } return result; @@ -2427,4 +2421,4 @@ } -} \ No newline at end of file +} --- openproj_core/src/com/projity/graphic/configuration/BarStylesFactory.java +++ openproj_core/src/com/projity/graphic/configuration/BarStylesFactory.java @@ -59,7 +59,7 @@ * Factory that ensures that the digester uses a singleton instance of the Bar Styles */ public class BarStylesFactory extends AbstractObjectCreationFactory { - public Object createObject(Attributes att) throws Exception { + public Object createObject(Attributes att) { String id = att.getValue("id"); String name = Messages.getString(id); --- openproj_core/src/com/projity/grouping/core/transform/sorting/NodeSorter.java +++ openproj_core/src/com/projity/grouping/core/transform/sorting/NodeSorter.java @@ -164,11 +164,11 @@ private GenericObjectPool pool = new GenericObjectPool(new ListFactory()); private class ListFactory extends BasePoolableObjectFactory { - public Object makeObject() throws Exception { + public Object makeObject() { return new ArrayList(); } - public void activateObject(Object arg0) throws Exception { + public void activateObject(Object arg0) { // Stack stack = (Stack)arg0; // stack.clear(); } @@ -250,4 +250,4 @@ } -} \ No newline at end of file +} --- openproj_core/src/com/projity/pm/calendar/CalendarDefinition.java +++ openproj_core/src/com/projity/pm/calendar/CalendarDefinition.java @@ -346,8 +346,8 @@ * */ private static class CalendarIteratorFactory extends BasePoolableObjectFactory { private static GenericObjectPool pool = new GenericObjectPool(new CalendarIteratorFactory()); - public Object makeObject() throws Exception { - return new CalendarIterator(); + public Object makeObject() { + return new CalendarIterator(); } public static CalendarIterator getInstance() { try { --- openproj_core/src/com/projity/util/ClassUtils.java +++ openproj_core/src/com/projity/util/ClassUtils.java @@ -329,13 +329,7 @@ try { PropertyUtils.setSimpleProperty(bean,name,value); return true; - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (NoSuchMethodException e) { + } catch (RuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } --- openproj_core/src/com/projity/util/Factory.java +++ openproj_core/src/com/projity/util/Factory.java @@ -63,7 +63,7 @@ // for easy naming, the factory is named GregorianCalendarFactory public static class GregorianCalendarPool extends BasePoolableObjectFactory { private static GenericObjectPool pool = new GenericObjectPool(new GregorianCalendarPool()); - public Object makeObject() throws Exception { + public Object makeObject() { return DateTime.calendarInstance(); } public static GregorianCalendar getInstance() { @@ -86,7 +86,7 @@ public static class DatePool extends BasePoolableObjectFactory { private static GenericObjectPool pool = new GenericObjectPool(new DatePool()); - public Object makeObject() throws Exception { + public Object makeObject() { return new Date(); } --- openproj_ui/src/com/projity/dialog/ResourceMappingDialog.java +++ openproj_ui/src/com/projity/dialog/ResourceMappingDialog.java @@ -345,13 +345,7 @@ if (columnIndex==0){ try { return BeanUtils.getProperty(form.getImportedResources().get(rowIndex),"name"); //$NON-NLS-1$ - } catch (IllegalAccessException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (NoSuchMethodException e) { + } catch (RuntimeException e) { // TODO Auto-generated catch block e.printStackTrace(); } --- openproj_ui/src/com/projity/pm/graphic/chart/ChartHelper.java +++ openproj_ui/src/com/projity/pm/graphic/chart/ChartHelper.java @@ -105,11 +105,11 @@ */ public static JFreeChart createBarChart(final XYDataset dataset) { ValueAxis domainAxis = null; - NumberAxis axis = new NumberAxis(null); + NumberAxis axis = new NumberAxis(); axis.setAutoRangeIncludesZero(false); domainAxis = axis; - ValueAxis valueAxis = new NumberAxis(null); + ValueAxis valueAxis = new NumberAxis(); XYItemRenderer barRenderer = new XYStepAreaRenderer(XYStepAreaRenderer.AREA, new StandardXYToolTipGenerator(), null); XYPlot plot = new XYPlot(dataset, domainAxis, valueAxis, barRenderer); @@ -131,9 +131,9 @@ public static JFreeChart createLineChart(final XYDataset dataset) { - NumberAxis xAxis = new NumberAxis(null); + NumberAxis xAxis = new NumberAxis(); xAxis.setAutoRangeIncludesZero(false); - NumberAxis yAxis = new NumberAxis(null); + NumberAxis yAxis = new NumberAxis(); XYItemRenderer renderer = new StandardXYItemRenderer(StandardXYItemRenderer.LINES); XYPlot plot = new XYPlot(dataset, xAxis, yAxis, renderer); plot.setOrientation(PlotOrientation.VERTICAL); ++++++ openproj-1.3-use-system-jars.patch ++++++ --- openproj_contrib/openproj_contrib.conf +++ openproj_contrib/openproj_contrib.conf @@ -1,21 +1,21 @@ -injars tmp/openproj-contrib-tmp.jar --injars lib/commons-beanutils.jar(!META-INF/**,org/apache/commons/beanutils/**) --injars lib/commons-digester.jar(!META-INF/**,org/apache/commons/digester/**) --injars lib/commons-pool.jar(!META-INF/**) --injars lib/commons-collections.jar(!META-INF/**) --injars lib/commons-logging-api.jar(!META-INF/**) +-injars /usr/share/java/commons-beanutils.jar(!META-INF/**,org/apache/commons/beanutils/**) +-injars /usr/share/java/commons-digester.jar(!META-INF/**,org/apache/commons/digester/**) +-injars /usr/share/java/commons-pool.jar(!META-INF/**) +-injars /usr/share/java/commons-collections.jar(!META-INF/**) +-injars /usr/share/java/commons-logging-api.jar(!META-INF/**) -injars lib/forms.jar(!META-INF/**) --injars lib/jlfgr.jar(!META-INF/**) +-injars /usr/share/java/jlfgr.jar(!META-INF/**) -injars lib/l2fprod-common-totd.jar(!META-INF/**) --injars lib/nachocalendar.jar(!META-INF/**) +-injars /usr/share/java/nachocalendar.jar(!META-INF/**) -injars lib/jfreechart.jar(!META-INF/**) --injars lib/jcommon.jar(!META-INF/**) +-injars /usr/share/java/jcommon.jar(!META-INF/**) -injars lib/jdnc-0_7-all.jar(org/jdesktop/swing/calendar/**) -outjars openproj-contrib.jar -libraryjars <java.home>/lib/rt.jar #-libraryjars <java.home>/../Classes/classes.jar #-libraryjars <java.home>/../Classes/ui.jar --libraryjars lib/junit.jar +-libraryjars /usr/share/java/junit.jar #-printmapping out.map #-dump shrink.log --- openproj_contrib/openproj_exchange.conf +++ openproj_contrib/openproj_exchange.conf @@ -1,12 +1,11 @@ -injars tmp/openproj-exchange-tmp.jar --injars lib/exchange/jakarta-poi.jar(!META-INF/**) +-injars /usr/share/java/jakarta-poi.jar(!META-INF/**) -injars lib/exchange/jaxb-api.jar(!META-INF/**) -injars lib/exchange/jaxb-impl.jar(!META-INF/**) -injars lib/exchange/jaxb-libs.jar(!META-INF/**) -injars lib/exchange/jax-qname.jar(!META-INF/**) -injars lib/exchange/mpxj.jar(!META-INF/**) --injars lib/exchange/namespace.jar(!META-INF/**) --injars lib/exchange/relaxngDatatype.jar(!META-INF/**) +-injars /usr/share/java/relaxngDatatype.jar(!META-INF/**) -injars lib/exchange/xsdlib.jar(!META-INF/**) -outjars tmp/openproj-exchange-tmp2.jar -libraryjars <java.home>/lib/rt.jar --- openproj_contrib/openproj_reports.conf +++ openproj_contrib/openproj_reports.conf @@ -1,5 +1,5 @@ -injars tmp/openproj-reports-tmp.jar --injars lib/jasperreports/bsh.jar(!META-INF/**) +-injars /usr/share/java/bsh.jar(!META-INF/**) -injars lib/jasperreports/jasperreports.jar(!META-INF/**) -outjars openproj-reports.jar -libraryjars <java.home>/lib/rt.jar --- openproj_contrib/openproj_script.conf +++ openproj_contrib/openproj_script.conf @@ -1,24 +1,24 @@ -injars tmp/openproj-script-tmp.jar -injars lib/groovy/groovy.jar(!META-INF/**) --injars lib/groovy/antlr.jar(!META-INF/**) --injars lib/groovy/asm-attrs.jar(!META-INF/**) --injars lib/groovy/asm.jar(!META-INF/**) --injars lib/commons-lang.jar(!META-INF/**) +-injars /usr/share/java/antlr.jar(!META-INF/**) +-injars /usr/share/java/asm2/asm-attrs.jar(!META-INF/**) +-injars /usr/share/java/asm2/asm.jar(!META-INF/**) +-injars /usr/share/java/commons-lang.jar(!META-INF/**) -outjars openproj-script.jar -libraryjars <java.home>/lib/rt.jar #-libraryjars <java.home>/../Classes/classes.jar #-libraryjars <java.home>/../Classes/ui.jar --libraryjars lib/groovy/asm.jar --libraryjars lib/groovy/asm-analysis.jar --libraryjars lib/groovy/asm-attrs.jar --libraryjars lib/groovy/asm-tree.jar --libraryjars lib/groovy/asm-util.jar --libraryjars lib/groovy/bsf-2.3.0-rc1.jar --libraryjars lib/groovy/commons-cli-1.0.jar --libraryjars lib/groovy/xerces-2.4.0.jar +-libraryjars /usr/share/java/asm2/asm.jar +-libraryjars /usr/share/java/asm2/asm-analysis.jar +-libraryjars /usr/share/java/asm2/asm-attrs.jar +-libraryjars /usr/share/java/asm2/asm-tree.jar +-libraryjars /usr/share/java/asm2/asm-util.jar +-libraryjars /usr/share/java/bsf.jar +-libraryjars /usr/share/java/commons-cli.jar +-libraryjars /usr/share/java/xerces-j2.jar -libraryjars lib/groovy/xstream-1.1.1.jar --libraryjars lib/groovy/ant-1.6.5.jar --libraryjars lib/junit.jar +-libraryjars /usr/share/java/ant.jar +-libraryjars /usr/share/java/junit.jar -libraryjars openproj-contrib.jar ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org