openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
September 2014
- 1 participants
- 1675 discussions
Hello community,
here is the log from the commit of package icedtea-web for openSUSE:Factory checked in at 2014-09-23 10:42:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icedtea-web (Old)
and /work/SRC/openSUSE:Factory/.icedtea-web.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icedtea-web"
Changes:
--------
--- /work/SRC/openSUSE:Factory/icedtea-web/icedtea-web.changes 2014-08-16 15:38:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.icedtea-web.new/icedtea-web.changes 2014-09-23 10:43:02.000000000 +0200
@@ -1,0 +2,45 @@
+Mon Sep 22 12:39:43 UTC 2014 - fstrba(a)suse.com
+
+- Update to 1.5.1
+ * Massively improved offline abilities.
+ * Improved to be able to run with any JDK
+ * JDK 8 support added (URLPermission granted if applicable)
+ * Added DE and PL localizations
+ * Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property
+ to control scan of Manifest file
+ * Control Panel
+ - PR1856: ControlPanel UI improvement for lower resolutions (800*600)
+ * NetX
+ - PR1858: Java Console accepts multi-byte encodings
+ - PR1859: Java Console UI improvement for lower resolutions (800*600)
+ - RH1091563: [abrt] icedtea-web-1.5-2.fc20: Uncaught exception
+ java.lang.ClassCastException in method
+ sun.applet.PluginAppletViewer$8.run()
+ * Plugin
+ - PR1743 - Intermittant deadlock in PluginRequestProcessor
+ - RH1121549: coverity defects
+ * PolicyEditor
+ - codebases without permissions assigned save to file anyway (and
+ re-appear on next open)
+ - PR1776: NullPointer on save-and-exit
+ - Custom permissions are properly formatted
+- Remove upstreamed patch:
+ * icedtea-web-1.5-no-return-in-nonvoid-function.patch
+
+-------------------------------------------------------------------
+Thu Aug 21 10:49:39 UTC 2014 - fstrba(a)suse.com
+
+- Touch link targets in order to silence test of broken symlinks
+
+-------------------------------------------------------------------
+Thu Aug 7 15:39:01 UTC 2014 - fcrozat(a)suse.com
+
+- Update icedtea-web-suse-desktop-files.patch: Add
+ X-GNOME-SystemSettings category.
+
+-------------------------------------------------------------------
+Mon Jul 28 07:05:32 UTC 2014 - tchvatal(a)suse.com
+
+- Update alternatives code to match docu.
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/icedtea-web/java-1_7_0-openjdk-plugin.changes 2014-08-25 11:04:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.icedtea-web.new/java-1_7_0-openjdk-plugin.changes 2014-09-23 10:43:02.000000000 +0200
@@ -1,0 +2,29 @@
+Mon Sep 22 12:39:43 UTC 2014 - fstrba(a)suse.com
+
+- Update to 1.5.1
+ * Massively improved offline abilities.
+ * Improved to be able to run with any JDK
+ * JDK 8 support added (URLPermission granted if applicable)
+ * Added DE and PL localizations
+ * Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property
+ to control scan of Manifest file
+ * Control Panel
+ - PR1856: ControlPanel UI improvement for lower resolutions (800*600)
+ * NetX
+ - PR1858: Java Console accepts multi-byte encodings
+ - PR1859: Java Console UI improvement for lower resolutions (800*600)
+ - RH1091563: [abrt] icedtea-web-1.5-2.fc20: Uncaught exception
+ java.lang.ClassCastException in method
+ sun.applet.PluginAppletViewer$8.run()
+ * Plugin
+ - PR1743 - Intermittant deadlock in PluginRequestProcessor
+ - RH1121549: coverity defects
+ * PolicyEditor
+ - codebases without permissions assigned save to file anyway (and
+ re-appear on next open)
+ - PR1776: NullPointer on save-and-exit
+ - Custom permissions are properly formatted
+- Remove upstreamed patch:
+ * icedtea-web-1.5-no-return-in-nonvoid-function.patch
+
+-------------------------------------------------------------------
java-1_8_0-openjdk-plugin.changes: same change
Old:
----
icedtea-web-1.5-no-return-in-nonvoid-function.patch
icedtea-web-1.5.tar.gz
New:
----
icedtea-web-1.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icedtea-web.spec ++++++
--- /var/tmp/diff_new_pack.6fR7Pi/_old 2014-09-23 10:43:04.000000000 +0200
+++ /var/tmp/diff_new_pack.6fR7Pi/_new 2014-09-23 10:43:04.000000000 +0200
@@ -19,7 +19,7 @@
%define sdkdir java
%define jredir %{sdkdir}/jre
Name: icedtea-web
-Version: 1.5
+Version: 1.5.1
Release: 0
Summary: Java Web Start and plugin implementation
License: GPL-2.0-with-classpath-exception
++++++ java-1_7_0-openjdk-plugin.spec ++++++
--- /var/tmp/diff_new_pack.6fR7Pi/_old 2014-09-23 10:43:04.000000000 +0200
+++ /var/tmp/diff_new_pack.6fR7Pi/_new 2014-09-23 10:43:04.000000000 +0200
@@ -26,14 +26,13 @@
%define pluginpath %{_libdir}/%{name}/lib
%define pluginname IcedTeaPlugin.so
Name: %{java_name}-plugin
-Version: 1.5
+Version: 1.5.1
Release: 0
Summary: Java Web Start and plugin implementation
License: GPL-2.0-with-classpath-exception
Group: Development/Languages/Java
Url: http://icedtea.classpath.org
Source0: http://icedtea.classpath.org/download/source/icedtea-web-%{version}.tar.gz
-Patch0: icedtea-web-1.5-no-return-in-nonvoid-function.patch
Patch1000: icedtea-web-suse-desktop-files.patch
BuildRequires: %{java_name}-devel >= %{javaver}
BuildRequires: fdupes
@@ -76,8 +75,6 @@
%prep
%setup -q -n icedtea-web-%{version}
-%patch0 -p1
-
%patch1000 -p1
%build
java-1_8_0-openjdk-plugin.spec: same change
++++++ icedtea-web-1.5.tar.gz -> icedtea-web-1.5.1.tar.gz ++++++
++++ 5432 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package thttpd for openSUSE:Factory checked in at 2014-09-23 10:42:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/thttpd (Old)
and /work/SRC/openSUSE:Factory/.thttpd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "thttpd"
Changes:
--------
--- /work/SRC/openSUSE:Factory/thttpd/thttpd.changes 2014-07-21 22:35:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.thttpd.new/thttpd.changes 2014-09-23 10:42:59.000000000 +0200
@@ -1,0 +2,19 @@
+Mon Sep 22 13:34:52 UTC 2014 - vcizek(a)suse.com
+
+- drop thttpd-2.25b.tar.bz2 (old tarball)
+
+-------------------------------------------------------------------
+Wed Sep 3 07:42:53 UTC 2014 - vcizek(a)suse.com
+
+- update to 2.26 (bnc#894285)
+ Ignore ECONNABORTED on accept().
+ Correctly implemented the config-file option change from "nosymlink"
+ to "nosymlinkcheck", which was supposedly done in version 2.24.
+ Removed mailto: link from default index page.
+ Allow CGIs to provide both Location and Status headers.
+ Better logic for figuring out CGI SERVER_NAME environment variable.
+ Updated for clang, and general cleanup.
+- dropped thttpd-2.25b-getline.patch (upstream)
+- added thttpd-crypt_is_in_crypt.h.patch
+
+-------------------------------------------------------------------
Old:
----
thttpd-2.25b-getline.patch
thttpd-2.25b.tar.bz2
New:
----
thttpd-2.26.tar.gz
thttpd-crypt_is_in_crypt.h.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ thttpd.spec ++++++
--- /var/tmp/diff_new_pack.cblCad/_old 2014-09-23 10:43:02.000000000 +0200
+++ /var/tmp/diff_new_pack.cblCad/_new 2014-09-23 10:43:02.000000000 +0200
@@ -15,49 +15,50 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
%if 0%{?suse_version} > 1220
%define with_systemd 1
%else
%define with_systemd 0
%endif
-
Name: thttpd
-Provides: http_daemon
-%if %{with_systemd}
-BuildRequires: systemd
-%{?systemd_requires}
-%else
-PreReq: %fillup_prereq %insserv_prereq
-%endif
-PreReq: permissions
-Version: 2.25b
+Version: 2.26
Release: 0
-Source: %{name}-%{version}.tar.bz2
+Summary: Small and very simple webserver
+License: BSD-3-Clause
+Group: Productivity/Networking/Web/Servers
+Url: http://www.acme.com/software/thttpd/
+Source: %{name}-%{version}.tar.gz
Source1: %{name}-SuSE.tar.bz2
Source2: %{name}.service
-Patch0: %{name}-%{version}-configure.patch
-Patch1: %{name}-%{version}-dirs.patch
-Patch2: %{name}-%{version}-time_h.patch
-Patch3: %{name}-%{version}-newautoconf.patch
-Patch4: %{name}-%{version}-sec.patch
-Patch5: %{name}-%{version}-static.patch
-Patch6: %{name}-%{version}-pie.patch
-Patch7: %{name}-%{version}-syslogtocern.diff
-Patch8: %{name}-%{version}-overflow.diff
-Patch9: %{name}-%{version}-chown.diff
-Patch10: %{name}-%{version}-zerolen.patch
-Patch11: %{name}-%{version}-strcpy.patch
-Patch12: thttpd-2.25b-getline.patch
+Patch0: %{name}-2.25b-configure.patch
+Patch1: %{name}-2.25b-dirs.patch
+Patch2: %{name}-2.25b-time_h.patch
+Patch3: %{name}-2.25b-newautoconf.patch
+Patch4: %{name}-2.25b-sec.patch
+Patch5: %{name}-2.25b-static.patch
+Patch6: %{name}-2.25b-pie.patch
+Patch7: %{name}-2.25b-syslogtocern.diff
+Patch8: %{name}-2.25b-overflow.diff
+Patch9: %{name}-2.25b-chown.diff
+Patch10: %{name}-2.25b-zerolen.patch
+Patch11: %{name}-2.25b-strcpy.patch
# PATCH-FIX-SUSE CVE-2012-5640
Patch13: thttpd-2.25b-CVE-2012-5640-check_crypt_return_value.patch
Patch14: thttpd-CVE-2013-0348.patch
-Url: http://www.acme.com/software/thttpd/
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Summary: Small and very simple webserver
-License: BSD-3-Clause
-Group: Productivity/Networking/Web/Servers
+Patch15: thttpd-crypt_is_in_crypt.h.patch
BuildRequires: automake
BuildRequires: libtool
+Requires(post): permissions
+Provides: http_daemon
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%if %{with_systemd}
+BuildRequires: systemd
+%{?systemd_requires}
+%else
+Requires(post): %fillup_prereq
+Requires(post): %insserv_prereq
+%endif
%description
Thttpd is a very compact no-frills httpd serving daemon that can handle
@@ -83,50 +84,51 @@
%patch9
%patch10
%patch11
-%patch12
%patch13 -p1
%patch14 -p1
+%patch15 -p1
%build
-cp /usr/share/automake-1.*/config.* .
+cp %{_datadir}/automake-1.*/config.* .
# update server root path
-sed -i "s@__SRVROOT__@%{serverroot}/htdocs@g" README.SuSE SuSE/etc/thttpd.conf
+sed -i "s@__SRVROOT__@%{serverroot}/htdocs@g" README.SuSE SuSE%{_sysconfdir}/thttpd.conf
sed -i "s@__PREFIX__@%{_prefix}@g;\
s@__SYSCONFDIR__@%{_sysconfdir}@g;\
s@__NAME__@%{name}@g;\
- s@__VERSION__@%{version}@g" SuSE/etc/init.d/thttpd
-chmod 744 SuSE/etc/init.d/thttpd
-chmod 644 SuSE/etc/thttpd.conf
+ s@__VERSION__@%{version}@g" SuSE%{_initddir}/thttpd
+chmod 744 SuSE%{_initddir}/thttpd
+chmod 644 SuSE%{_sysconfdir}/thttpd.conf
mv aclocal.m4 acinclude.m4
libtoolize --force
aclocal --force
autoconf -f
-V_CCOPT="$RPM_OPT_FLAGS -Wall" \
+V_CCOPT="%{optflags} -Wall" \
%configure
%ifarch s390 s390x
-make F_PIE="-fPIE"
+make F_PIE="-fPIE" %{?_smp_mflags}
%else
-make F_PIE="-fpie"
+make F_PIE="-fpie" %{?_smp_mflags}
%endif
%install
-install -d %{buildroot}/usr/bin \
- %{buildroot}/usr/sbin \
+install -d %{buildroot}%{_bindir} \
+ %{buildroot}%{_sbindir} \
%{buildroot}%{_mandir}/man1 \
%{buildroot}%{_mandir}/man8 \
%{buildroot}%{serverroot}/htdocs/users
-make DESTDIR=%{buildroot} install
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
cp -a SuSE/* %{buildroot}
rm -f %{buildroot}%{serverroot}/htdocs/index.html
%if %{with_systemd}
-rm -rf %{buildroot}/etc/init.d
+rm -rf %{buildroot}%{_sysconfdir}/init.d
rm %{buildroot}%{_sbindir}/rc%{name}
mkdir -p %{buildroot}%{_unitdir}
install -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
-ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name}
+ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%endif
%if %{with_systemd}
+
%pre
%service_add_pre %{name}.service
%endif
@@ -140,11 +142,11 @@
%if 0%{?suse_version} <= 1130
%run_permissions
%else
-%set_permissions /usr/bin/makeweb
+%set_permissions %{_bindir}/makeweb
%endif
%verifyscript
-%verify_permissions -e /usr/bin/makeweb
+%verify_permissions -e %{_bindir}/makeweb
%preun
%if %{with_systemd}
@@ -158,7 +160,7 @@
%service_del_postun %{name}.service
%else
%restart_on_update thttpd
-%{insserv_cleanup}
+%insserv_cleanup
%endif
%files
@@ -166,15 +168,15 @@
%doc README README.SuSE config.h
%{serverroot}/htdocs/*
%attr(775, root, www) %{serverroot}/htdocs/users
-%verify(not mode) %attr(2750, root, www) /usr/bin/makeweb
-/usr/bin/htpasswd
-/usr/sbin/*
-/usr/share/man/*/*
+%verify(not mode) %attr(2750, root, www) %{_bindir}/makeweb
+%{_bindir}/htpasswd
+%{_sbindir}/*
+%{_mandir}/*/*
%if %{with_systemd}
%{_unitdir}/%{name}.service
%else
-%config /etc/init.d/thttpd
+%config %{_initddir}/thttpd
%endif
-%config(noreplace) /etc/thttpd.conf
+%config(noreplace) %{_sysconfdir}/thttpd.conf
%changelog
++++++ thttpd-2.25b-configure.patch ++++++
--- /var/tmp/diff_new_pack.cblCad/_old 2014-09-23 10:43:02.000000000 +0200
+++ /var/tmp/diff_new_pack.cblCad/_new 2014-09-23 10:43:02.000000000 +0200
@@ -1,5 +1,7 @@
---- config.h
-+++ config.h
+Index: config.h
+===================================================================
+--- config.h.orig 2014-09-03 09:38:25.650677391 +0200
++++ config.h 2014-09-03 09:38:50.657956674 +0200
@@ -57,17 +57,7 @@
** as a security measure that's how you do it, just don't define any
** pattern here and don't run with the -c flag.
@@ -66,7 +68,7 @@
/* CONFIGURE: If defined, $LD_LIBRARY_PATH to use for CGI programs.
*/
-@@ -333,7 +321,7 @@
+@@ -327,7 +315,7 @@
/* CONFIGURE: A list of index filenames to check. The files are searched
** for in this order.
*/
@@ -75,9 +77,11 @@
/* CONFIGURE: If this is defined then thttpd will automatically generate
** index pages for directories that don't have an explicit index file.
---- configure.in
-+++ configure.in
-@@ -6,8 +6,10 @@
+Index: configure.in
+===================================================================
+--- configure.in.orig 2014-09-03 09:38:25.651677402 +0200
++++ configure.in 2014-09-03 09:38:50.657956674 +0200
+@@ -6,8 +6,10 @@ AC_CANONICAL_SYSTEM
AC_PROG_CC
@@ -85,18 +89,18 @@
-if test "$GCC" = yes ; then
+if test "x$V_CCOPT" = "x"; then
+ V_CCOPT="-O"
-+
++
+ if test "$GCC" = yes ; then
AC_MSG_CHECKING(gcc version)
AC_CACHE_VAL(ac_cv_lbl_gcc_vers,
ac_cv_lbl_gcc_vers=`$CC -dumpversion 2>&1 | \
-@@ -16,7 +18,8 @@
+@@ -16,7 +18,8 @@ if test "$GCC" = yes ; then
if test "$ac_cv_lbl_gcc_vers" -gt 1 ; then
V_CCOPT="-O2"
fi
-fi
+ fi
-+fi
++fi
if test -f .devel ; then
- V_CCOPT="-g $V_CCOPT -Wall -Wmissing-prototypes -Wstrict-prototypes"
+ V_CCOPT="-g $V_CCOPT -ansi -pedantic -U__STRICT_ANSI__ -Wall -Wpointer-arith -Wshadow -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wno-long-long"
fi
++++++ thttpd-2.25b-overflow.diff ++++++
--- /var/tmp/diff_new_pack.cblCad/_old 2014-09-23 10:43:02.000000000 +0200
+++ /var/tmp/diff_new_pack.cblCad/_new 2014-09-23 10:43:02.000000000 +0200
@@ -1,15 +1,17 @@
---- extras/htpasswd.c
-+++ extras/htpasswd.c
-@@ -186,15 +186,16 @@
+Index: extras/htpasswd.c
+===================================================================
+--- extras/htpasswd.c.orig 2014-09-03 09:40:24.741007309 +0200
++++ extras/htpasswd.c 2014-09-03 09:42:47.188597773 +0200
+@@ -184,15 +184,17 @@ int main(int argc, char *argv[]) {
fprintf(stderr,"Use -c option to create new one.\n");
exit(1);
}
- strcpy(user,argv[2]);
--
+
+ strncpy(user,argv[2],MAX_STRING_LEN);
+ user[MAX_STRING_LEN-1]='\0';
found = 0;
- while(!(getline(line,MAX_STRING_LEN,f))) {
+ while(!(my_getline(line,MAX_STRING_LEN,f))) {
if(found || (line[0] == '#') || (!line[0])) {
putline(tfp,line);
continue;
@@ -20,7 +22,7 @@
getword(w,l,':');
if(strcmp(user,w)) {
putline(tfp,line);
-@@ -212,7 +213,8 @@
+@@ -210,7 +212,8 @@ int main(int argc, char *argv[]) {
}
fclose(f);
fclose(tfp);
++++++ thttpd-2.25b-static.patch ++++++
--- /var/tmp/diff_new_pack.cblCad/_old 2014-09-23 10:43:02.000000000 +0200
+++ /var/tmp/diff_new_pack.cblCad/_new 2014-09-23 10:43:02.000000000 +0200
@@ -1,7 +1,9 @@
---- configure.in
-+++ configure.in
-@@ -24,34 +24,6 @@
- V_CCOPT="-g $V_CCOPT -Wall -Wmissing-prototypes -Wstrict-prototypes"
+Index: configure.in
+===================================================================
+--- configure.in.orig 2014-09-03 09:46:46.273266534 +0200
++++ configure.in 2014-09-03 09:46:46.300266836 +0200
+@@ -24,34 +24,6 @@ if test -f .devel ; then
+ V_CCOPT="-g $V_CCOPT -ansi -pedantic -U__STRICT_ANSI__ -Wall -Wpointer-arith -Wshadow -Wcast-qual -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wno-long-long"
fi
-dnl
++++++ thttpd-crypt_is_in_crypt.h.patch ++++++
Index: thttpd-2.26/extras/htpasswd.c
===================================================================
--- thttpd-2.26.orig/extras/htpasswd.c 2014-09-03 09:54:25.155386527 +0200
+++ thttpd-2.26/extras/htpasswd.c 2014-09-03 10:32:19.736082368 +0200
@@ -15,6 +15,7 @@
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
+#include <crypt.h>
#define LF 10
#define CR 13
Index: thttpd-2.26/libhttpd.c
===================================================================
--- thttpd-2.26.orig/libhttpd.c 2014-09-03 09:54:25.155386527 +0200
+++ thttpd-2.26/libhttpd.c 2014-09-03 10:33:13.913694495 +0200
@@ -53,6 +53,7 @@
#include <string.h>
#include <syslog.h>
#include <unistd.h>
+#include <crypt.h>
#include <stdarg.h>
#ifdef HAVE_OSRELDATE_H
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package spec-cleaner for openSUSE:Factory checked in at 2014-09-23 10:42:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spec-cleaner (Old)
and /work/SRC/openSUSE:Factory/.spec-cleaner.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spec-cleaner"
Changes:
--------
--- /work/SRC/openSUSE:Factory/spec-cleaner/spec-cleaner.changes 2014-09-06 12:18:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.spec-cleaner.new/spec-cleaner.changes 2014-09-23 10:42:58.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Sep 22 13:21:47 UTC 2014 - tchvatal(a)suse.com
+
+- Version bump to 0.6.2:
+ * Fix iniline mode
+ * Various small fixes and testsuite expansion
+
+-------------------------------------------------------------------
Old:
----
spec-cleaner-0.6.1.tar.gz
New:
----
spec-cleaner-0.6.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spec-cleaner.spec ++++++
--- /var/tmp/diff_new_pack.q3BuYv/_old 2014-09-23 10:42:59.000000000 +0200
+++ /var/tmp/diff_new_pack.q3BuYv/_new 2014-09-23 10:42:59.000000000 +0200
@@ -18,7 +18,7 @@
Name: spec-cleaner
-Version: 0.6.1
+Version: 0.6.2
Release: 0
Summary: .spec file cleaner
License: BSD-3-Clause
++++++ spec-cleaner-0.6.1.tar.gz -> spec-cleaner-0.6.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/data/excludes-bracketing.txt new/spec-cleaner-spec-cleaner-0.6.2/data/excludes-bracketing.txt
--- old/spec-cleaner-spec-cleaner-0.6.1/data/excludes-bracketing.txt 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/data/excludes-bracketing.txt 2014-09-19 17:45:33.000000000 +0200
@@ -54,8 +54,9 @@
pretrans
preun
py_compile
-requires_eq
+requires_[^\s]*
restart_on_update
+run_permissions
service_(add|del)_[^\s]*
setup
set_permissions
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/data/licenses_changes.txt new/spec-cleaner-spec-cleaner-0.6.2/data/licenses_changes.txt
--- old/spec-cleaner-spec-cleaner-0.6.1/data/licenses_changes.txt 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/data/licenses_changes.txt 2014-09-19 17:45:33.000000000 +0200
@@ -1,137 +1,160 @@
AAL AAL
AAL+ AAL+
+Abstyles Abstyles
+Abstyles+ Abstyles+
+Adobe-Glyph Adobe-Glyph
+Adobe-Glyph+ Adobe-Glyph+
+Adobe-2006 Adobe-2006
+Adobe-2006+ Adobe-2006+
+ADSL ADSL
+ADSL+ ADSL+
AFL-1.1 AFL-1.1
AFL-1.1+ AFL-1.1+
AFL-1.2 AFL-1.2
AFL-1.2+ AFL-1.2+
AFL-2.0 AFL-2.0
AFL-2.0+ AFL-2.0+
+AFL-2.1 Academic Free License 2.1
AFL-2.1 AFL 2.1
AFL-2.1 AFL-2.1
-AFL-2.1 Academic Free License 2.1
AFL-2.1+ AFL-2.1+
AFL-3.0 AFL-3.0
AFL-3.0+ AFL-3.0+
+Afmparse Afmparse
+Afmparse+ Afmparse+
AGPL-1.0 AGPL-1.0
AGPL-1.0+ AGPL-1.0+
-AGPL-3.0 AGPL-3.0
-AGPL-3.0 AGPLv3
AGPL-3.0 Affero GPL
-AGPL-3.0+ AGPL-3.0+
+AGPL-3.0 AGPLv3
AGPL-3.0+ AGPLv3+
+AGPL-3.0 AGPL-3.0
+AGPL-3.0+ AGPL-3.0+
AGPL-3.0+ SUSE-AGPL-3.0+
-ANTLR-PD ANTLR-PD
-ANTLR-PD+ ANTLR-PD+
-APL-1.0 APL-1.0
-APL-1.0 APL-1.0 (spdx.org/licenses)
-APL-1.0+ APL-1.0+
-APSL-1.0 APSL-1.0
-APSL-1.0+ APSL-1.0+
-APSL-1.1 APSL-1.1
-APSL-1.1+ APSL-1.1+
-APSL-1.2 APSL-1.2
-APSL-1.2+ APSL-1.2+
-APSL-2.0 APSL-2.0
-APSL-2.0+ APSL-2.0+
Aladdin Aladdin
Aladdin+ Aladdin+
+AMDPLPA AMDPLPA
+AMDPLPA+ AMDPLPA+
+AML AML
+AML+ AML+
+AMPAS AMPAS
+AMPAS+ AMPAS+
+ANTLR-PD ANTLR-PD
+ANTLR-PD+ ANTLR-PD+
+APAFML APAFML
+APAFML+ APAFML+
Apache-1.0 Apache-1.0
Apache-1.0+ Apache-1.0+
-Apache-1.1 ASL 1.1
-Apache-1.1 Apache 1.1 (Indiana University)
Apache-1.1 Apache-1.1
Apache-1.1+ Apache-1.1+
-Apache-2.0 ASL 2.0
-Apache-2.0 ASL2
-Apache-2.0 ASLv..
-Apache-2.0 ASLv2
-Apache-2.0 ASLv2.0
-Apache-2.0 Apache 2.0
+Apache-1.1 Apache 1.1 (Indiana University)
+Apache-1.1 ASL 1.1
Apache-2.0 Apache License
-Apache-2.0 Apache License 2.0
Apache-2.0 Apache License Version 2.0
Apache-2.0 Apache License, Version 2.0
+Apache-2.0 Apache License 2.0
Apache-2.0 Apache Software License
Apache-2.0 Apache Software License ..
Apache-2.0 Apache Software License, Version 2.0
Apache-2.0 Apache v2.0
+Apache-2.0 Apache 2.0
Apache-2.0 Apache-2.0
-Apache-2.0 The Apache Software License
-Apache-2.0+ ASLv2.0+
Apache-2.0+ Apache-2.0+
+Apache-2.0 ASLv..
+Apache-2.0 ASLv2
+Apache-2.0 ASLv2.0
+Apache-2.0+ ASLv2.0+
+Apache-2.0 ASL2
+Apache-2.0 ASL 2.0
Apache-2.0+ SUSE-Apache-2.0+
+Apache-2.0 The Apache Software License
+APL-1.0 APL-1.0
+APL-1.0+ APL-1.0+
+APL-1.0 APL-1.0 (spdx.org/licenses)
+APSL-1.0 APSL-1.0
+APSL-1.0+ APSL-1.0+
+APSL-1.1 APSL-1.1
+APSL-1.1+ APSL-1.1+
+APSL-1.2 APSL-1.2
+APSL-1.2+ APSL-1.2+
+APSL-2.0 APSL-2.0
+APSL-2.0+ APSL-2.0+
Artistic-1.0 Artistic
-Artistic-1.0 Artistic 1.0
+Artistic-1.0 Artistic license
Artistic-1.0 Artistic License
Artistic-1.0 Artistic License ..
-Artistic-1.0 Artistic license
+Artistic-1.0 Artistic 1.0
Artistic-1.0 Artistic-1.0
-Artistic-1.0 or GPL-1.0+ Perl License
Artistic-1.0+ Artistic-1.0+
-Artistic-1.0+ SUSE-Artistic-1.0+
-Artistic-1.0-Perl Artistic-1.0-Perl
-Artistic-1.0-Perl+ Artistic-1.0-Perl+
Artistic-1.0-cl8 Artistic-1.0-cl8
Artistic-1.0-cl8+ Artistic-1.0-cl8+
+Artistic-1.0 or GPL-1.0+ Perl License
+Artistic-1.0-Perl Artistic-1.0-Perl
+Artistic-1.0-Perl+ Artistic-1.0-Perl+
+Artistic-1.0+ SUSE-Artistic-1.0+
Artistic-2.0 Artistic 2.0
Artistic-2.0 Artistic-2.0
Artistic-2.0+ Artistic-2.0+
-BSD-2-Clause BSD 2 Clause
+Bahyph Bahyph
+Bahyph+ Bahyph+
+Barr Barr
+Barr+ Barr+
+Beerware Beerware
+Beerware+ Beerware+
+Beerware SUSE-Beerware
+BitTorrent-1.0 BitTorrent-1.0
+BitTorrent-1.0+ BitTorrent-1.0+
+BitTorrent-1.1 BitTorrent-1.1
+BitTorrent-1.1+ BitTorrent-1.1+
+Borceux Borceux
+Borceux+ Borceux+
+BSD-Protection BSD-Protection
+BSD-Protection+ BSD-Protection+
+BSD-2-Clause BSD2c
+BSD-2-Clause BSD-2c
BSD-2-Clause BSD 2 clause
-BSD-2-Clause BSD 2-Clause
BSD-2-Clause BSD 2-clause
+BSD-2-Clause BSD 2 Clause
+BSD-2-Clause BSD 2-Clause
BSD-2-Clause BSD-2-Clause
-BSD-2-Clause BSD-2c
-BSD-2-Clause BSD2c
BSD-2-Clause+ BSD-2-Clause+
BSD-2-Clause-FreeBSD BSD-2-Clause-FreeBSD
BSD-2-Clause-FreeBSD+ BSD-2-Clause-FreeBSD+
BSD-2-Clause-NetBSD BSD-2-Clause-NetBSD
BSD-2-Clause-NetBSD+ BSD-2-Clause-NetBSD+
-BSD-3-Clause BSD (3-Clause)
-BSD-3-Clause BSD 3-Clause
-BSD-3-Clause BSD 3-clause (or similar)
+BSD-3-Clause-Attribution BSD-3-Clause-Attribution
+BSD-3-Clause-Attribution+ BSD-3-Clause-Attribution+
+BSD-3-Clause BSD3
BSD-3-Clause BSD-3
+BSD-3-Clause BSD3c
+BSD-3-Clause BSD 3-Clause
+BSD-3-Clause BSD (3-Clause)
BSD-3-Clause BSD-3-Clause
+BSD-3-Clause+ BSD-3-Clause+
+BSD-3-Clause BSD 3-clause (or similar)
BSD-3-Clause BSD-3-clause (or similar)
-BSD-3-Clause BSD3
-BSD-3-Clause BSD3c
BSD-3-Clause BSD3c (or similar)
BSD-3-Clause BSD3c(or similar)
-BSD-3-Clause New BSD License
-BSD-3-Clause+ BSD-3-Clause+
BSD-3-Clause-Clear BSD-3-Clause-Clear
BSD-3-Clause-Clear+ BSD-3-Clause-Clear+
-BSD-4-Clause BSD-4-Clause
+BSD-3-Clause-LBNL BSD-3-Clause-LBNL
+BSD-3-Clause-LBNL+ BSD-3-Clause-LBNL+
+BSD-3-Clause New BSD License
BSD-4-Clause BSD4c
-BSD-4-Clause BSD4c(or similar)
+BSD-4-Clause BSD-4-Clause
BSD-4-Clause+ BSD-4-Clause+
+BSD-4-Clause BSD4c(or similar)
BSD-4-Clause-UC BSD-4-Clause-UC
BSD-4-Clause-UC+ BSD-4-Clause-UC+
BSL-1.0 BSL-1.0
BSL-1.0+ BSL-1.0+
-BitTorrent-1.0 BitTorrent-1.0
-BitTorrent-1.0+ BitTorrent-1.0+
-BitTorrent-1.1 BitTorrent-1.1
-BitTorrent-1.1+ BitTorrent-1.1+
+bzip2-1.0.5 bzip2-1.0.5
+bzip2-1.0.5+ bzip2-1.0.5+
+bzip2-1.0.6 bzip2-1.0.6
+bzip2-1.0.6+ bzip2-1.0.6+
+Caldera Caldera
+Caldera+ Caldera+
CATOSL-1.1 CATOSL-1.1
CATOSL-1.1+ CATOSL-1.1+
-CC-BY-1.0 CC-BY-1.0
-CC-BY-1.0+ CC-BY-1.0+
-CC-BY-2.0 CC-BY-2.0
-CC-BY-2.0+ CC-BY-2.0+
-CC-BY-2.5 CC-BY-2.5
-CC-BY-2.5+ CC-BY-2.5+
-CC-BY-3.0 CC-BY-3.0
-CC-BY-3.0+ CC-BY-3.0+
-CC-BY-NC-1.0 CC-BY-NC-1.0
-CC-BY-NC-1.0+ CC-BY-NC-1.0+
-CC-BY-NC-2.0 CC-BY-NC-2.0
-CC-BY-NC-2.0+ CC-BY-NC-2.0+
-CC-BY-NC-2.5 CC-BY-NC-2.5
-CC-BY-NC-2.5+ CC-BY-NC-2.5+
-CC-BY-NC-3.0 CC-BY-NC-3.0
-CC-BY-NC-3.0+ CC-BY-NC-3.0+
CC-BY-NC-ND-1.0 CC-BY-NC-ND-1.0
CC-BY-NC-ND-1.0+ CC-BY-NC-ND-1.0+
CC-BY-NC-ND-2.0 CC-BY-NC-ND-2.0
@@ -140,6 +163,8 @@
CC-BY-NC-ND-2.5+ CC-BY-NC-ND-2.5+
CC-BY-NC-ND-3.0 CC-BY-NC-ND-3.0
CC-BY-NC-ND-3.0+ CC-BY-NC-ND-3.0+
+CC-BY-NC-ND-4.0 CC-BY-NC-ND-4.0
+CC-BY-NC-ND-4.0+ CC-BY-NC-ND-4.0+
CC-BY-NC-SA-1.0 CC-BY-NC-SA-1.0
CC-BY-NC-SA-1.0+ CC-BY-NC-SA-1.0+
CC-BY-NC-SA-2.0 CC-BY-NC-SA-2.0
@@ -148,6 +173,18 @@
CC-BY-NC-SA-2.5+ CC-BY-NC-SA-2.5+
CC-BY-NC-SA-3.0 CC-BY-NC-SA-3.0
CC-BY-NC-SA-3.0+ CC-BY-NC-SA-3.0+
+CC-BY-NC-SA-4.0 CC-BY-NC-SA-4.0
+CC-BY-NC-SA-4.0+ CC-BY-NC-SA-4.0+
+CC-BY-NC-1.0 CC-BY-NC-1.0
+CC-BY-NC-1.0+ CC-BY-NC-1.0+
+CC-BY-NC-2.0 CC-BY-NC-2.0
+CC-BY-NC-2.0+ CC-BY-NC-2.0+
+CC-BY-NC-2.5 CC-BY-NC-2.5
+CC-BY-NC-2.5+ CC-BY-NC-2.5+
+CC-BY-NC-3.0 CC-BY-NC-3.0
+CC-BY-NC-3.0+ CC-BY-NC-3.0+
+CC-BY-NC-4.0 CC-BY-NC-4.0
+CC-BY-NC-4.0+ CC-BY-NC-4.0+
CC-BY-ND-1.0 CC-BY-ND-1.0
CC-BY-ND-1.0+ CC-BY-ND-1.0+
CC-BY-ND-2.0 CC-BY-ND-2.0
@@ -156,6 +193,8 @@
CC-BY-ND-2.5+ CC-BY-ND-2.5+
CC-BY-ND-3.0 CC-BY-ND-3.0
CC-BY-ND-3.0+ CC-BY-ND-3.0+
+CC-BY-ND-4.0 CC-BY-ND-4.0
+CC-BY-ND-4.0+ CC-BY-ND-4.0+
CC-BY-SA-1.0 CC-BY-SA-1.0
CC-BY-SA-1.0+ CC-BY-SA-1.0+
CC-BY-SA-2.0 CC-BY-SA-2.0
@@ -163,11 +202,23 @@
CC-BY-SA-2.5 CC by-sa V2.5
CC-BY-SA-2.5 CC-BY-SA-2.5
CC-BY-SA-2.5+ CC-BY-SA-2.5+
-CC-BY-SA-3.0 CC BY-SA 3.0
CC-BY-SA-3.0 CC BY-SA V3.0
+CC-BY-SA-3.0 CC BY-SA 3.0
CC-BY-SA-3.0 CC-BY-SA-3.0
CC-BY-SA-3.0+ CC-BY-SA-3.0+
+CC-BY-SA-4.0 CC-BY-SA-4.0
+CC-BY-SA-4.0+ CC-BY-SA-4.0+
CC-BY-SA-4.0 http://creativecommons.org/licenses/by-sa/4.0/legalcode
+CC-BY-1.0 CC-BY-1.0
+CC-BY-1.0+ CC-BY-1.0+
+CC-BY-2.0 CC-BY-2.0
+CC-BY-2.0+ CC-BY-2.0+
+CC-BY-2.5 CC-BY-2.5
+CC-BY-2.5+ CC-BY-2.5+
+CC-BY-3.0 CC-BY-3.0
+CC-BY-3.0+ CC-BY-3.0+
+CC-BY-4.0 CC-BY-4.0
+CC-BY-4.0+ CC-BY-4.0+
CC0-1.0 CC0-1.0
CC0-1.0+ CC0-1.0+
CDDL-1.0 CDDL
@@ -176,135 +227,165 @@
CDDL-1.0+ CDDL-1.0+
CDDL-1.1 CDDL-1.1
CDDL-1.1+ CDDL-1.1+
+CECILL-B CECILL-B
+CECILL-B+ CECILL-B+
+CECILL-C CECILL-C
+CECILL-C+ CECILL-C+
CECILL-1.0 CECILL-1.0
CECILL-1.0+ CECILL-1.0+
CECILL-1.1 CECILL-1.1
CECILL-1.1+ CECILL-1.1+
-CECILL-1.1English CECILL-1.1English
CECILL-2.0 CECILL-2.0
CECILL-2.0+ CECILL-2.0+
-CECILL-B CECILL-B
-CECILL-B+ CECILL-B+
-CECILL-C CECILL-C
-CECILL-C+ CECILL-C+
+ClArtistic ClArtistic
+ClArtistic+ ClArtistic+
CNRI-Python CNRI-Python
CNRI-Python+ CNRI-Python+
CNRI-Python-GPL-Compatible CNRI-Python-GPL-Compatible
CNRI-Python-GPL-Compatible+ CNRI-Python-GPL-Compatible+
+Condor-1.1 Condor-1.1
+Condor-1.1+ Condor-1.1+
CPAL-1.0 CPAL-1.0
CPAL-1.0+ CPAL-1.0+
-CPL-1.0 CPL (Common Public License) v1
-CPL-1.0 CPL 1.0
-CPL-1.0 CPL 1.0 ...
-CPL-1.0 CPL-1.0
-CPL-1.0 Common Public License - v 1.0
CPL-1.0 Common Public License Version 1.0
CPL-1.0 Common Public License Version 1.0 (CPL1.0)
CPL-1.0 Common Public License v1.0
+CPL-1.0 Common Public License - v 1.0
CPL-1.0 Common Public License v1.0 (CPL)
+CPL-1.0 CPL (Common Public License) v1
+CPL-1.0 CPL 1.0
+CPL-1.0 CPL 1.0 ...
+CPL-1.0 CPL-1.0
CPL-1.0+ CPL-1.0+
CPOL-1.02 CPOL-1.02
CPOL-1.02+ CPOL-1.02+
+Crossword Crossword
+Crossword+ Crossword+
CUA-OPL-1.0 CUA-OPL-1.0
CUA-OPL-1.0+ CUA-OPL-1.0+
-ClArtistic ClArtistic
-ClArtistic+ ClArtistic+
-Condor-1.1 Condor-1.1
-Condor-1.1+ Condor-1.1+
+Cube Cube
+Cube+ Cube+
D-FSL-1.0 D-FSL-1.0
D-FSL-1.0+ D-FSL-1.0+
+diffmark diffmark
+diffmark+ diffmark+
+DOC DOC
+DOC+ DOC+
+Dotseqn Dotseqn
+Dotseqn+ Dotseqn+
+DSDP DSDP
+DSDP+ DSDP+
+dvipdfm dvipdfm
+dvipdfm+ dvipdfm+
ECL-1.0 ECL-1.0
ECL-1.0+ ECL-1.0+
ECL-2.0 ECL-2.0
ECL-2.0+ ECL-2.0+
+eCos-2.0 eCos-2.0
+eCos-2.0+ eCos-2.0+
EFL-1.0 EFL-1.0
EFL-1.0+ EFL-1.0+
EFL-2.0 EFL-2.0
EFL-2.0+ EFL-2.0+
+eGenix eGenix
+eGenix+ eGenix+
+Entessa Entessa
+Entessa+ Entessa+
+EPL-1.0 Eclipse Public License
+EPL-1.0 Eclipse Public License 1.0
+EPL-1.0 Eclipse-1.0
EPL-1.0 EPL
-EPL-1.0 EPL 1.0
-EPL-1.0 EPL 1.0 ...
EPL-1.0 EPL v1.0
EPL-1.0 EPL-1
+EPL-1.0 EPL 1.0
+EPL-1.0 EPL 1.0 ...
EPL-1.0 EPL-1.0
-EPL-1.0 Eclipse Public License
-EPL-1.0 Eclipse Public License 1.0
-EPL-1.0 Eclipse-1.0
EPL-1.0+ EPL-1.0+
+ErlPL-1.1 Erlang Public License
+ErlPL-1.1 ErlPL-1.1
+ErlPL-1.1+ ErlPL-1.1+
EUDatagrid EUDatagrid
EUDatagrid+ EUDatagrid+
EUPL-1.0 EUPL-1.0
EUPL-1.0+ EUPL-1.0+
EUPL-1.1 EUPL-1.1
EUPL-1.1+ EUPL-1.1+
-Entessa Entessa
-Entessa+ Entessa+
-ErlPL-1.1 ErlPL-1.1
-ErlPL-1.1 Erlang Public License
-ErlPL-1.1+ ErlPL-1.1+
-FTL FTL
-FTL+ FTL+
+Eurosym Eurosym
+Eurosym+ Eurosym+
Fair Fair
Fair+ Fair+
Frameworx-1.0 Frameworx-1.0
Frameworx-1.0+ Frameworx-1.0+
-GFDL-1.1 GFDL 1.1
+FSFUL FSFUL
+FSFUL+ FSFUL+
+FSFULLR FSFULLR
+FSFULLR+ FSFULLR+
+FTL FTL
+FTL+ FTL+
+GFDL-1.1+ FDL v1.1 or later
GFDL-1.1 GFDL v1.1
-GFDL-1.1 GFDL-1.1
GFDL-1.1 GFDLv1.1
-GFDL-1.1 GNU Free Documentation License, Version 1.1 (GFDL 1.1)
-GFDL-1.1+ FDL v1.1 or later
+GFDL-1.1 GFDL 1.1
+GFDL-1.1 GFDL-1.1
GFDL-1.1+ GFDL-1.1+
+GFDL-1.1 GNU Free Documentation License, Version 1.1 (GFDL 1.1)
GFDL-1.1+ SUSE-GFDL-1.1+
-GFDL-1.2 GFDL 1.2
+GFDL-1.2+ FDLv1.2+
+GFDL-1.2+ FDL-1.2+
GFDL-1.2 GFDL v1.2
-GFDL-1.2 GFDL-1.2
GFDL-1.2 GFDLv1.2
-GFDL-1.2 GNU Free Documentation License, Version 1.2 (GFDL 1.2)
-GFDL-1.2+ FDL-1.2+
-GFDL-1.2+ FDLv1.2+
-GFDL-1.2+ GFDL-1.2+
GFDL-1.2+ GFDLv1.2+
+GFDL-1.2 GFDL 1.2
+GFDL-1.2 GFDL-1.2
+GFDL-1.2+ GFDL-1.2+
+GFDL-1.2 GNU Free Documentation License, Version 1.2 (GFDL 1.2)
GFDL-1.2+ SUSE-GFDL-1.2+
-GFDL-1.3 GFDL-1.3
-GFDL-1.3 GNU Free Documentation License, Version 1.3 (GFDL 1.3)
GFDL-1.3+ FDL-1.3+
+GFDL-1.3 GFDL-1.3
GFDL-1.3+ GFDL-1.3+
+GFDL-1.3 GNU Free Documentation License, Version 1.3 (GFDL 1.3)
GFDL-1.3+ SUSE-GFDL-1.3+
-GPL-1.0 GPL-1.0
+Giftware Giftware
+Giftware+ Giftware+
+Glide Glide
+Glide+ Glide+
+Glulxe Glulxe
+Glulxe+ Glulxe+
+GL2PS GL2PS
+GL2PS+ GL2PS+
+gnuplot gnuplot
+gnuplot+ gnuplot+
GPL-1.0+ GPL+
-GPL-1.0+ GPL-1.0+
GPL-1.0+ GPLv1+
+GPL-1.0 GPL-1.0
+GPL-1.0+ GPL-1.0+
GPL-1.0++ GPL-1.0++
GPL-2.0 GLPv2
-GPL-2.0 GNU GPL v2
GPL-2.0 GNU General Public License (GPL) v2
GPL-2.0 GNU General Public License version 2 (GPL v2)
-GPL-2.0 GPL 2.0
-GPL-2.0 GPL v2
-GPL-2.0 GPL v2 only
-GPL-2.0 GPL v2.0
-GPL-2.0 GPL-2
-GPL-2.0 GPL-2.0
-GPL-2.0 GPL2
-GPL-2.0 GPLv2
GPL-2.0+ GNU General Public License version 2 or later
GPL-2.0+ GNU General Public License version 2 or later (GPL v2 or later)
GPL-2.0+ GNU General Public License version 2 or later (GPLv2 or later)
-GPL-2.0+ GPL v2 or later
-GPL-2.0+ GPL v2 or later
+GPL-2.0 GNU GPL v2
+GPL-2.0 GPL v2
+GPL-2.0 GPLv2
GPL-2.0+ GPL v2+
+GPL-2.0+ GPLv2+
+GPL-2.0 GPL v2 only
+GPL-2.0+ GPL v2 or later
+GPL-2.0+ GPLv2 or later
+GPL-2.0 GPL v2.0
GPL-2.0+ GPL v2.0 or later
+GPL-2.0 GPL2
+GPL-2.0 GPL-2
+GPL-2.0+ GPL2+
GPL-2.0+ GPL-2+
-GPL-2.0+ GPL-2.0 or later
+GPL-2.0 GPL 2.0
+GPL-2.0 GPL-2.0
GPL-2.0+ GPL-2.0+
-GPL-2.0+ GPL2+
-GPL-2.0+ GPLv2 or later
-GPL-2.0+ GPLv2+
-GPL-2.0+ libGeoIPUpdate is GPLv2 or later
GPL-2.0++ GPL-2.0++
-GPL-2.0-with-GCC-exception GPL-2.0-with-GCC-exception
-GPL-2.0-with-GCC-exception+ GPL-2.0-with-GCC-exception+
+GPL-2.0+ GPL-2.0 or later
+GPL-2.0+ libGeoIPUpdate is GPLv2 or later
GPL-2.0-with-autoconf-exception GPL-2.0-with-autoconf-exception
GPL-2.0-with-autoconf-exception+ GPL-2.0-with-autoconf-exception+
GPL-2.0-with-bison-exception GPL-2.0-with-bison-exception
@@ -313,84 +394,108 @@
GPL-2.0-with-classpath-exception+ GPL-2.0-with-classpath-exception+
GPL-2.0-with-font-exception GPL-2.0-with-font-exception
GPL-2.0-with-font-exception+ GPL-2.0-with-font-exception+
-GPL-3.0 GNU GPL version 3
+GPL-2.0-with-GCC-exception GPL-2.0-with-GCC-exception
+GPL-2.0-with-GCC-exception+ GPL-2.0-with-GCC-exception+
GPL-3.0 GNU General Public License version 3 (GPLv3)
-GPL-3.0 GPL 3
+GPL-3.0 GNU GPL version 3
+GPL-3.0+ GNU GPL v3 or later
GPL-3.0 GPL v3
-GPL-3.0 GPL v3 only
-GPL-3.0 GPL-3
-GPL-3.0 GPL-3.0
-GPL-3.0 GPL3
GPL-3.0 GPLv3
-GPL-3.0+ GNU GPL v3 or later
+GPL-3.0+ GPLv3+
+GPL-3.0 GPL v3 only
GPL-3.0+ GPL v3 or later
+GPL-3.0 GPL 3
+GPL-3.0 GPL3
+GPL-3.0 GPL-3
GPL-3.0+ GPL-3+
+GPL-3.0 GPL-3.0
GPL-3.0+ GPL-3.0+
-GPL-3.0+ GPLv3+
GPL-3.0++ GPL-3.0++
-GPL-3.0-with-GCC-exception GPL-3.0-with-GCC-exception
-GPL-3.0-with-GCC-exception+ GPL-3.0-with-GCC-exception+
GPL-3.0-with-autoconf-exception GPL-3.0-with-autoconf-exception
GPL-3.0-with-autoconf-exception+ GPL-3.0-with-autoconf-exception+
+GPL-3.0-with-GCC-exception GPL-3.0-with-GCC-exception
+GPL-3.0-with-GCC-exception+ GPL-3.0-with-GCC-exception+
+gSOAP-1.3b gSOAP-1.3b
+gSOAP-1.3b+ gSOAP-1.3b+
+HaskellReport HaskellReport
+HaskellReport+ HaskellReport+
HPND HPND
HPND+ HPND+
IBM-pibs IBM-pibs
IBM-pibs+ IBM-pibs+
IJG IJG
IJG+ IJG+
+IJG SUSE-IJG
+ImageMagick ImageMagick
+ImageMagick+ ImageMagick+
+iMatix iMatix
+iMatix+ iMatix+
+Imlib2 Imlib2
+Imlib2+ Imlib2+
+Intel-ACPI Intel-ACPI
+Intel-ACPI+ Intel-ACPI+
+Intel Intel
+Intel+ Intel+
IPA IPA
-IPA see IPA_Font_License_Agreement_v1.0.txt
IPA+ IPA+
+IPA see IPA_Font_License_Agreement_v1.0.txt
IPL-1.0 IBM PL
IPL-1.0 IBM Public License
IPL-1.0 IBM Public License ..
IPL-1.0 IPL-1.0
IPL-1.0+ IPL-1.0+
ISC ISC
-ISC ISC License
ISC+ ISC+
-Imlib2 Imlib2
-Imlib2+ Imlib2+
-Intel Intel
-Intel+ Intel+
+ISC ISC License
+JasPer-2.0 JasPer-2.0
+JasPer-2.0+ JasPer-2.0+
JSON JSON
JSON+ JSON+
+JSON SUSE-JSON
+Latex2e Latex2e
+Latex2e+ Latex2e+
+Leptonica Leptonica
+Leptonica+ Leptonica+
LGPL-2.0 LGPL v2
-LGPL-2.0 LGPL v2.0 only
-LGPL-2.0 LGPL-2.0
LGPL-2.0 LGPLv2
-LGPL-2.0 LGPLv2.0
LGPL-2.0+ LGPL v2 or later
+LGPL-2.0 LGPLv2.0
+LGPL-2.0+ LGPLv2.0+
+LGPL-2.0 LGPL v2.0 only
LGPL-2.0+ LGPL v2.0 or later
+LGPL-2.0 LGPL-2.0
LGPL-2.0+ LGPL-2.0+
-LGPL-2.0+ LGPLv2.0+
LGPL-2.0++ LGPL-2.0++
-LGPL-2.1 GNU LGPLv2.1
LGPL-2.1 GNU Lesser General Public License version 2.1 (LGPL v2.1)
-LGPL-2.1 LGPL 2.1
-LGPL-2.1 LGPL v2.1
-LGPL-2.1 LGPL v2.1 only
-LGPL-2.1 LGPL-2.1
-LGPL-2.1 LGPL2.1
-LGPL-2.1 LGPLv2.1
+LGPL-2.1 GNU LGPLv2.1
LGPL-2.1+ GNU LGPL v2.1 or later
-LGPL-2.1+ LGPL V2+
LGPL-2.1+ LGPL v2+
-LGPL-2.1+ LGPL v2.1 or later
+LGPL-2.1+ LGPLv2+
+LGPL-2.1+ LGPL V2+
+LGPL-2.1 LGPL v2.1
+LGPL-2.1 LGPLv2.1
LGPL-2.1+ LGPL v2.1+
+LGPL-2.1+ LGPLv2.1+
+LGPL-2.1 LGPL v2.1 only
+LGPL-2.1+ LGPL v2.1 or later
LGPL-2.1+ LGPL-2.0.1 or later
+LGPL-2.1 LGPL 2.1
+LGPL-2.1 LGPL2.1
+LGPL-2.1 LGPL-2.1
LGPL-2.1+ LGPL-2.1+
-LGPL-2.1+ LGPLv2+
-LGPL-2.1+ LGPLv2.1+
LGPL-2.1++ LGPL-2.1++
LGPL-3.0 GNU Lesser General Public License (LGPL), Version 3
LGPL-3.0 GNU Lesser General Public License version 3 (LGPL v3)
-LGPL-3.0 LGPL-3.0
LGPL-3.0 LGPLv3
+LGPL-3.0+ LGPLv3+
LGPL-3.0+ LGPL v3 or later
+LGPL-3.0 LGPL-3.0
LGPL-3.0+ LGPL-3.0+
-LGPL-3.0+ LGPLv3+
LGPL-3.0++ LGPL-3.0++
+Libpng Libpng
+Libpng+ Libpng+
+libtiff libtiff
+libtiff+ libtiff+
LPL-1.0 LPL-1.0
LPL-1.0+ LPL-1.0+
LPL-1.02 LPL-1.02
@@ -405,68 +510,98 @@
LPPL-1.3a+ LPPL-1.3a+
LPPL-1.3c LPPL ..
LPPL-1.3c LPPL-1.3c
-LPPL-1.3c TeX-License ..
LPPL-1.3c+ LPPL-1.3c+
-Libpng Libpng
-Libpng+ Libpng+
+LPPL-1.3c TeX-License ..
+MakeIndex MakeIndex
+MakeIndex+ MakeIndex+
+MakeIndex SUSE-MakeIndex
+MirOS MirOS
+MirOS+ MirOS+
+MIT-advertising MIT-advertising
+MIT-advertising+ MIT-advertising+
+MIT-CMU MIT-CMU
+MIT-CMU+ MIT-CMU+
+MIT-enna MIT-enna
+MIT-enna+ MIT-enna+
MIT Expat
MIT Expat License
+MIT-feh MIT-feh
+MIT-feh+ MIT-feh+
MIT MIT
-MIT MIT License
-MIT MIT License (or similar)
+MIT+ MIT+
MIT MIT licence
-MIT MIT license
MIT MIT-Licence
-MIT+ MIT+
-MPL-1.0 MPL-1.0
+MIT MIT license
+MIT MIT License
+MIT MIT License (or similar)
+MITNFA MITNFA
+MITNFA+ MITNFA+
+Motosoto Motosoto
+Motosoto+ Motosoto+
+mpich2 mpich2
+mpich2+ mpich2+
MPL-1.0 MPLv1.0
+MPL-1.0 MPL-1.0
MPL-1.0+ MPL-1.0+
MPL-1.1 MOZILLA PUBLIC LICENSE (MPL/NPL)
-MPL-1.1 MPL-1.1
+MPL-1.1 Mozilla Public License 1.1
MPL-1.1 MPLv1.1
MPL-1.1 MPLv1.1 ..
-MPL-1.1 Mozilla Public License 1.1
-MPL-1.1+ MPL 1.1 or later
-MPL-1.1+ MPL-1.1+
MPL-1.1+ MPLv1.1+
+MPL-1.1 MPL-1.1
+MPL-1.1+ MPL-1.1+
+MPL-1.1+ MPL 1.1 or later
MPL-1.1+ SUSE-MPL-1.1+
MPL-2.0 MPL-2.0
MPL-2.0+ MPL-2.0+
MPL-2.0-no-copyleft-exception MPL-2.0-no-copyleft-exception
MPL-2.0-no-copyleft-exception+ MPL-2.0-no-copyleft-exception+
-MS-PL MS-PL
MS-PL Ms-Pl
+MS-PL MS-PL
MS-PL+ MS-PL+
MS-RL MS-RL
MS-RL+ MS-RL+
-MirOS MirOS
-MirOS+ MirOS+
-Motosoto Motosoto
-Motosoto+ Motosoto+
+MTLL MTLL
+MTLL+ MTLL+
Multics Multics
Multics+ Multics+
+Mup Mup
+Mup+ Mup+
NASA-1.3 NASA-1.3
NASA-1.3+ NASA-1.3+
+Naumen Naumen
+Naumen+ Naumen+
NBPL-1.0 NBPL-1.0
NBPL-1.0+ NBPL-1.0+
NCSA NCSA
NCSA+ NCSA+
+NetCDF NetCDF
+NetCDF+ NetCDF+
+NetCDF SUSE-NetCDF
+Newsletr Newsletr
+Newsletr+ Newsletr+
NGPL NGPL
NGPL+ NGPL+
+NLPL NLPL
+NLPL+ NLPL+
+Nokia Nokia
+Nokia+ Nokia+
NOSL NOSL
NOSL+ NOSL+
+Noweb Noweb
+Noweb+ Noweb+
NPL-1.0 NPL-1.0
NPL-1.0+ NPL-1.0+
NPL-1.1 NPL-1.1
NPL-1.1+ NPL-1.1+
NPOSL-3.0 NPOSL-3.0
NPOSL-3.0+ NPOSL-3.0+
+NRL NRL
+NRL+ NRL+
NTP NTP
NTP+ NTP+
-Naumen Naumen
-Naumen+ Naumen+
-Nokia Nokia
-Nokia+ Nokia+
+Nunit Nunit
+Nunit+ Nunit+
OCLC-2.0 OCLC-2.0
OCLC-2.0+ OCLC-2.0+
ODbL-1.0 ODbL-1.0
@@ -475,10 +610,10 @@
OFL-1.0+ OFL-1.0+
OFL-1.1 OFL
OFL-1.1 OFL-1.1
+OFL-1.1+ OFL-1.1+
OFL-1.1 Open Font License
OFL-1.1 SIL Open Font License
OFL-1.1 SIL Open Font License 1.1
-OFL-1.1+ OFL-1.1+
OGTSL OGTSL
OGTSL+ OGTSL+
OLDAP-1.1 OLDAP-1.1
@@ -512,32 +647,44 @@
OLDAP-2.7 OLDAP-2.7
OLDAP-2.7+ OLDAP-2.7+
OLDAP-2.8 OLDAP-2.8
-OLDAP-2.8 openldap 2.8
OLDAP-2.8+ OLDAP-2.8+
-OPL-1.0 OPL-1.0
+OLDAP-2.8 openldap 2.8
+OML OML
+OML+ OML+
+OML SUSE-OML
+OpenSSL OpenSSL
+OpenSSL+ OpenSSL+
OPL-1.0 Open Publication License 1.0
+OPL-1.0 OPL-1.0
OPL-1.0+ OPL-1.0+
OSL-1.0 OSL-1.0
OSL-1.0+ OSL-1.0+
+OSL-1.1 OSL-1.1
+OSL-1.1+ OSL-1.1+
+OSL-1.1 SUSE-OSL-1.1
OSL-2.0 OSL-2.0
OSL-2.0+ OSL-2.0+
OSL-2.1 OSL-2.1
OSL-2.1+ OSL-2.1+
OSL-3.0 OSL-3.0
OSL-3.0+ OSL-3.0+
-OpenSSL OpenSSL
-OpenSSL+ OpenSSL+
PDDL-1.0 PDDL-1.0
PDDL-1.0+ PDDL-1.0+
PHP-3.0 PHP-3.0
PHP-3.0+ PHP-3.0+
PHP-3.01 PHP License
-PHP-3.01 PHP-3.0.1
PHP-3.01 PHP-3.01
-PHP-3.01 The PHP License, version 3.01
+PHP-3.01 PHP-3.0.1
PHP-3.01+ PHP-3.01+
+PHP-3.01 The PHP License, version 3.01
+Plexus Plexus
+Plexus+ Plexus+
PostgreSQL PostgreSQL
PostgreSQL+ PostgreSQL+
+psfrag psfrag
+psfrag+ psfrag+
+psutils psutils
+psutils+ psutils+
Python-2.0 PSF
Python-2.0 Python
Python-2.0 Python ..
@@ -546,10 +693,15 @@
Python-2.0 Python Software Foundation License
Python-2.0 Python-2.0
Python-2.0+ Python-2.0+
+Qhull Qhull
+Qhull+ Qhull+
+Qhull SUSE-Qhull
QPL-1.0 QPL
QPL-1.0 QPL ..
QPL-1.0 QPL-1.0
QPL-1.0+ QPL-1.0+
+Rdisc Rdisc
+Rdisc+ Rdisc+
RHeCos-1.1 RHeCos-1.1
RHeCos-1.1+ RHeCos-1.1+
RPL-1.1 RPL-1.1
@@ -560,57 +712,69 @@
RPSL-1.0+ RPSL-1.0+
RSCPL RSCPL
RSCPL+ RSCPL+
-Ruby GPL-2.0+ or Ruby
Ruby GPLv2+ or Ruby
+Ruby GPL-2.0+ or Ruby
Ruby Ruby
-Ruby same as ruby's
Ruby+ Ruby+
+Ruby same as ruby's
+Saxpath Saxpath
+Saxpath+ Saxpath+
SAX-PD SAX-PD
SAX-PD+ SAX-PD+
+SCEA SCEA
+SCEA+ SCEA+
SGI-B-1.0 SGI-B-1.0
SGI-B-1.0+ SGI-B-1.0+
SGI-B-1.1 SGI-B-1.1
SGI-B-1.1+ SGI-B-1.1+
SGI-B-2.0 SGI-B-2.0
SGI-B-2.0+ SGI-B-2.0+
+SimPL-2.0 SimPL-2.0
+SimPL-2.0+ SimPL-2.0+
SISSL SISSL
SISSL+ SISSL+
SISSL-1.2 SISSL-1.2
SISSL-1.2+ SISSL-1.2+
+Sleepycat Sleepycat
+Sleepycat+ Sleepycat+
SMLNJ SMLNJ
SMLNJ+ SMLNJ+
+SNIA SNIA
+SNIA+ SNIA+
SPL-1.0 SPL-1.0
SPL-1.0+ SPL-1.0+
+StandardML-NJ StandardML-NJ
+StandardML-NJ+ StandardML-NJ+
+SugarCRM-1.1.3 SugarCRM-1.1.3
+SugarCRM-1.1.3+ SugarCRM-1.1.3+
SUSE-Arphic http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/LICENSE
SUSE-Arphic+ SUSE-Arphic+
-SUSE-BSD-3-Clause-with-non-nuclear-addition BSD-3-Clause with addition which clarifies the software is not licensed for use in design, build or operation of nuclear facility
-SUSE-BSD-3-Clause-with-non-nuclear-addition+ SUSE-BSD-3-Clause-with-non-nuclear-addition+
-SUSE-BSD-Mark-Modifications BSD-Mark-Modifications
-SUSE-BSD-Mark-Modifications+ SUSE-BSD-Mark-Modifications+
-SUSE-Beerware Beerware License like http://en.wikipedia.org/wiki/Beerware#License
-SUSE-Beerware+ SUSE-Beerware+
SUSE-Bitstream-Vera http://www.xfree86.org/current/LICENSE13.html
SUSE-Bitstream-Vera+ SUSE-Bitstream-Vera+
+SUSE-BSD-Mark-Modifications BSD-Mark-Modifications
+SUSE-BSD-Mark-Modifications+ SUSE-BSD-Mark-Modifications+
+SUSE-BSD-3-Clause-with-non-nuclear-addition BSD-3-Clause with addition which clarifies the software is not licensed for use in design, build or operation of nuclear facility
+SUSE-BSD-3-Clause-with-non-nuclear-addition+ SUSE-BSD-3-Clause-with-non-nuclear-addition+
+SUSE-CacertRoot http://www.cacert.org/policy/RootDistributionLicense.php
+SUSE-CacertRoot+ SUSE-CacertRoot+
SUSE-CC-Sampling-Plus-1.0 Creative Commons Sampling Plus 1.0
SUSE-CC-Sampling-Plus-1.0+ SUSE-CC-Sampling-Plus-1.0+
SUSE-CPL-0.5 Common Public License 0.5
SUSE-CPL-0.5+ SUSE-CPL-0.5+
-SUSE-CacertRoot http://www.cacert.org/policy/RootDistributionLicense.php
-SUSE-CacertRoot+ SUSE-CacertRoot+
SUSE-DMTF Distributed Management Task Force ( see https://fedoraproject.org/wiki/Licensing/DMTF )
SUSE-DMTF+ SUSE-DMTF+
SUSE-Docbook-XSL Copyright (C) 1999-2007 Norman Walsh
SUSE-Docbook-XSL+ SUSE-Docbook-XSL+
-SUSE-EULA SUSE End User License Agreement
-SUSE-EULA+ SUSE-EULA+
SUSE-Egenix-1.1.0 Egenix Public License Agreement 1.1.0 (e.g. python-egenix-mx-base) http://www.egenix.com/products/python/mxBase/eGenix.com-Public-License-1.1.…
SUSE-Egenix-1.1.0+ SUSE-Egenix-1.1.0+
+SUSE-EULA SUSE End User License Agreement
+SUSE-EULA+ SUSE-EULA+
SUSE-FHS See for example, the "FHS" license here: https://launchpad.net/ubuntu/precise/+source/debian-policy/+copyright
SUSE-FHS+ SUSE-FHS+
-SUSE-FLTK Fltk
-SUSE-FLTK+ SUSE-FLTK+
SUSE-Firmware Firmware license, redistributable unmodified
SUSE-Firmware+ SUSE-Firmware+
+SUSE-FLTK Fltk
+SUSE-FLTK+ SUSE-FLTK+
SUSE-Free-Art-1.3 http://artlibre.org/licence/lal/en
SUSE-Free-Art-1.3+ SUSE-Free-Art-1.3+
SUSE-Freetype Freetype
@@ -618,112 +782,102 @@
SUSE-Freeware Freeware
SUSE-Freeware Freeware license
SUSE-Freeware+ SUSE-Freeware+
+SUSE-Gitslave Similar to LGPL-2.1 but without sections 3 and 13
+SUSE-Gitslave+ SUSE-Gitslave+
SUSE-GL2PS-2.0 http://www.geuz.org/gl2ps/COPYING.GL2PS
SUSE-GL2PS-2.0+ SUSE-GL2PS-2.0+
-SUSE-GPL-2.0+-with-openssl-exception GPLv2+ with openssl linking exception
-SUSE-GPL-2.0+-with-openssl-exception+ SUSE-GPL-2.0+-with-openssl-exception+
-SUSE-GPL-2.0+-with-sane-exception Sane contains many files with an exception to permit linking against proprietary libraries
-SUSE-GPL-2.0+-with-sane-exception+ SUSE-GPL-2.0+-with-sane-exception+
-SUSE-GPL-2.0-with-FLOSS-exception SUSE-GPL-2.0-with-FLOSS-exception
+SUSE-Gnuplot Gnuplot
+SUSE-Gnuplot+ SUSE-Gnuplot+
+SUSE-GPL-2.0-with-FLOSS-exception GPL-2.0-with-FLOSS-exception
SUSE-GPL-2.0-with-FLOSS-exception+ SUSE-GPL-2.0-with-FLOSS-exception+
-SUSE-GPL-2.0-with-OSI-exception GPL-2.0 with linking exception for OSI licenses (see elfutils e.g.)
-SUSE-GPL-2.0-with-OSI-exception+ SUSE-GPL-2.0-with-OSI-exception+
SUSE-GPL-2.0-with-linking-exception Copyright holder expressly allows GPL-2.0 component to be linked with components which are not GPL compatible
SUSE-GPL-2.0-with-linking-exception+ SUSE-GPL-2.0-with-linking-exception+
+SUSE-GPL-2.0+-with-openssl-exception GPLv2+ with openssl linking exception
SUSE-GPL-2.0-with-openssl-exception SPDX does not have this exception
SUSE-GPL-2.0-with-openssl-exception+ SUSE-GPL-2.0-with-openssl-exception+
+SUSE-GPL-2.0+-with-openssl-exception+ SUSE-GPL-2.0+-with-openssl-exception+
+SUSE-GPL-2.0-with-OSI-exception GPL-2.0 with linking exception for OSI licenses (see elfutils e.g.)
+SUSE-GPL-2.0-with-OSI-exception+ SUSE-GPL-2.0-with-OSI-exception+
SUSE-GPL-2.0-with-plugin-exception Many GPL-2.0 licensed applications grant an exception that permits non-free plugins (e.g. from gstreamer) to be linked against them
SUSE-GPL-2.0-with-plugin-exception+ SUSE-GPL-2.0-with-plugin-exception+
+SUSE-GPL-2.0+-with-sane-exception Sane contains many files with an exception to permit linking against proprietary libraries
+SUSE-GPL-2.0+-with-sane-exception+ SUSE-GPL-2.0+-with-sane-exception+
SUSE-GPL-3.0+-with-autoconf-exception GPLv3+ with exceptions
SUSE-GPL-3.0+-with-autoconf-exception+ SUSE-GPL-3.0+-with-autoconf-exception+
-SUSE-GPL-3.0+-with-font-exception GPLv3+ with exceptions (Fedora)
-SUSE-GPL-3.0+-with-font-exception+ SUSE-GPL-3.0+-with-font-exception+
-SUSE-GPL-3.0+-with-openssl-exception GPLv3+ with openssl linking exception
-SUSE-GPL-3.0+-with-openssl-exception+ SUSE-GPL-3.0+-with-openssl-exception+
SUSE-GPL-3.0-with-FLOSS-exception GPL-3.0 with exceptions for certain FLOSS licenses
SUSE-GPL-3.0-with-FLOSS-exception+ SUSE-GPL-3.0-with-FLOSS-exception+
-SUSE-GPL-3.0-with-font-exception SUSE-GPL-3.0-with-font-exception
+SUSE-GPL-3.0+-with-font-exception GPLv3+ with exceptions (Fedora)
+SUSE-GPL-3.0-with-font-exception GPL-3.0-with-font-exception
SUSE-GPL-3.0-with-font-exception+ SUSE-GPL-3.0-with-font-exception+
+SUSE-GPL-3.0+-with-font-exception+ SUSE-GPL-3.0+-with-font-exception+
+SUSE-GPL-3.0+-with-openssl-exception GPLv3+ with openssl linking exception
SUSE-GPL-3.0-with-openssl-exception GPLv3 with openssl linking exception (see e.g. courier-authlib 0.64.0)
SUSE-GPL-3.0-with-openssl-exception+ SUSE-GPL-3.0-with-openssl-exception+
+SUSE-GPL-3.0+-with-openssl-exception+ SUSE-GPL-3.0+-with-openssl-exception+
SUSE-GPL-3.0-with-template-exception See e.g. dh-make from debian (debian/copyright)
SUSE-GPL-3.0-with-template-exception+ SUSE-GPL-3.0-with-template-exception+
-SUSE-Gitslave Similar to LGPL-2.1 but without sections 3 and 13
-SUSE-Gitslave+ SUSE-Gitslave+
-SUSE-Gnuplot Gnuplot
-SUSE-Gnuplot+ SUSE-Gnuplot+
SUSE-IBPL-1.0 http://www.firebirdsql.org/en/interbase-public-license/
SUSE-IBPL-1.0+ SUSE-IBPL-1.0+
SUSE-IDPL-1.0 http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-…
SUSE-IDPL-1.0+ SUSE-IDPL-1.0+
SUSE-IEEE Corresponds to https://fedoraproject.org/wiki/Licensing/IEEEDocLicense
SUSE-IEEE+ SUSE-IEEE+
-SUSE-IJG JPEG License
-SUSE-IJG+ SUSE-IJG+
-SUSE-ImageMagick ImageMagick
-SUSE-ImageMagick+ SUSE-ImageMagick+
SUSE-Innernet-2.0 Inner Net License 2
SUSE-Innernet-2.0+ SUSE-Innernet-2.0+
SUSE-Innernet-2.00 Inner Net License 2.00
SUSE-Innernet-2.00+ SUSE-Innernet-2.00+
-SUSE-JSON JSON License (http://www.json.org/license.html) - also the license of jslint
-SUSE-JSON+ SUSE-JSON+
SUSE-LDPL-2.0 http://www.tldp.org/COPYRIGHT.html
SUSE-LDPL-2.0+ SUSE-LDPL-2.0+
-SUSE-LGPL-2.0-with-linking-exception SUSE-LGPL-2.0-with-linking-exception
+SUSE-LGPL-2.0-with-linking-exception LGPL-2.0-with-linking-exception
SUSE-LGPL-2.0-with-linking-exception+ SUSE-LGPL-2.0-with-linking-exception+
-SUSE-LGPL-2.1+-with-GCC-exception LGPLv2+ with GCC exception
-SUSE-LGPL-2.1+-with-GCC-exception+ SUSE-LGPL-2.1+-with-GCC-exception+
SUSE-LGPL-2.1-with-digia-exception-1.1 qtcreator November 2012
SUSE-LGPL-2.1-with-digia-exception-1.1+ SUSE-LGPL-2.1-with-digia-exception-1.1+
+SUSE-LGPL-2.1+-with-GCC-exception LGPLv2+ with GCC exception
+SUSE-LGPL-2.1+-with-GCC-exception+ SUSE-LGPL-2.1+-with-GCC-exception+
SUSE-LGPL-2.1-with-nokia-exception-1.1 Part of the license choice in libqt4
SUSE-LGPL-2.1-with-nokia-exception-1.1+ SUSE-LGPL-2.1-with-nokia-exception-1.1+
SUSE-LGPL-3.0-with-openssl-exception e.g python-psycopg2
SUSE-LGPL-3.0-with-openssl-exception+ SUSE-LGPL-3.0-with-openssl-exception+
SUSE-Liberation LiberationFontsLicense (Fedora calls this the Liberation license - it will be easier to get it upstream if we adopt that)
SUSE-Liberation+ SUSE-Liberation+
-SUSE-MakeIndex http://pastebin.com/CYB22gju (the license used in csindex)
-SUSE-MakeIndex+ SUSE-MakeIndex+
SUSE-Manpages Manpages licenses (linux man pages e.g.)
SUSE-Manpages+ SUSE-Manpages+
SUSE-Matplotlib E.g. python -matplotlib -> LICENSE/LICENSE
SUSE-Matplotlib+ SUSE-Matplotlib+
SUSE-MgOpen MgOpen Fonts license (similar to Bitstream Vera but with additional language)
SUSE-MgOpen+ SUSE-MgOpen+
-SUSE-NetCDF SUSE-NetCDF
-SUSE-NetCDF+ SUSE-NetCDF+
+SUSE-mirror License of the mirror package is quite liberal but prohibits distribution of modified versions. Instead, you should distribute modifications as patches. This is permitted by Section 4 of the Open Source Definition
+SUSE-mirror+ SUSE-mirror+
+SUSE-mplus http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html#license
+SUSE-mplus+ SUSE-mplus+
SUSE-NonFree NonFree licenses
SUSE-NonFree+ SUSE-NonFree+
-SUSE-OML Open Market License (tracked by Fedora as OML)
-SUSE-OML+ SUSE-OML+
-SUSE-OSL-1.1 OSL-1.1
-SUSE-OSL-1.1+ SUSE-OSL-1.1+
-SUSE-Oasis-Specification-Notice SUSE-Oasis-Specification-Notice
+SUSE-Oasis-Specification-Notice Oasis-Specification-Notice
SUSE-Oasis-Specification-Notice+ SUSE-Oasis-Specification-Notice+
-SUSE-OldFSFDocLicense Tracked by Fedora as OldFSFDocLicense (see https://fedoraproject.org/wiki/Licensing:OldFSFDocLicense?rd=Licensing/OldF…)
SUSE-OldFSFDocLicense+ SUSE-OldFSFDocLicense+
-SUSE-PHP-2.02 PHP 2.02
-SUSE-PHP-2.02+ SUSE-PHP-2.02+
-SUSE-Permissive Must not be copyleft. Must not contain patent clauses of any nature. Most not limit ability to copy, modifiy, distribute (through multiple tiers of distribution) and distribute modified versions. Must not impose obligations such as 'advertising clauses' or anything that could be viewed as an 'additional restriction' under GPL-2.0+ or GPL-3.0+. Must not impose obligations such as modification by patch only, or reciprocal clauses.
-SUSE-Permissive+ SUSE-Permissive+
+SUSE-OldFSFDocLicense Tracked by Fedora as OldFSFDocLicense (see https://fedoraproject.org/wiki/Licensing:OldFSFDocLicense?rd=Licensing/OldF…)
SUSE-Permissive-Modify-By-Patch Similar to SUSE-Permissive but copyright holder has specified that modification is only allowed by patch
SUSE-Permissive-Modify-By-Patch+ SUSE-Permissive-Modify-By-Patch+
+SUSE-Permissive Must not be copyleft. Must not contain patent clauses of any nature. Most not limit ability to copy, modifiy, distribute (through multiple tiers of distribution) and distribute modified versions. Must not impose obligations such as 'advertising clauses' or anything that could be viewed as an 'additional restriction' under GPL-2.0+ or GPL-3.0+. Must not impose obligations such as modification by patch only, or reciprocal clauses.
+SUSE-Permissive+ SUSE-Permissive+
+SUSE-PHP-2.02 PHP 2.02
+SUSE-PHP-2.02+ SUSE-PHP-2.02+
+SUSE-Public-Domain Public domain
SUSE-Public-Domain Public Domain
-SUSE-Public-Domain Public Domain License
SUSE-Public-Domain Public Domain, Freeware
+SUSE-Public-Domain Public Domain License
SUSE-Public-Domain Public Domain. See http://www.sentex.ca/~mw
-SUSE-Public-Domain Public domain
SUSE-Public-Domain+ SUSE-Public-Domain+
SUSE-Python-1.6 CNRI (http://www.handle.net/python_licenses/python1.6_9-5-00.html)
SUSE-Python-1.6+ SUSE-Python-1.6+
SUSE-QWT-1.0 LGPL-2.1 with clarifications. See http://qwt.sourceforge.net/
SUSE-QWT-1.0+ SUSE-QWT-1.0+
-SUSE-Qhull Qhull
-SUSE-Qhull+ SUSE-Qhull+
-SUSE-Redistributable-Content This license can _only_ be used for content (i.e. no code, no documentation). Provided there are no restrictions on free (re)distribution of the content, use this license. SUSE-Firmware is a subset of this category.
SUSE-Redistributable-Content+ SUSE-Redistributable-Content+
+SUSE-Redistributable-Content This license can _only_ be used for content (i.e. no code, no documentation). Provided there are no restrictions on free (re)distribution of the content, use this license. SUSE-Firmware is a subset of this category.
SUSE-Repoze http://repoze.org/license.html
SUSE-Repoze+ SUSE-Repoze+
+SUSE-Sendmail Sendmail License (http://www.sendmail.org/ftp/LICENSE)
+SUSE-Sendmail+ SUSE-Sendmail+
SUSE-SGI-FreeB-2.0 Fedora calls this MIT (it is very similar to the MIT)
SUSE-SGI-FreeB-2.0+ SUSE-SGI-FreeB-2.0+
SUSE-SIP http://www.riverbankcomputing.co.uk/software/sip/license
@@ -734,89 +888,102 @@
SUSE-SNIA-1.0+ SUSE-SNIA-1.0+
SUSE-SNIA-1.1 SNIA 1.1
SUSE-SNIA-1.1+ SUSE-SNIA-1.1+
-SUSE-Sendmail Sendmail License (http://www.sendmail.org/ftp/LICENSE)
-SUSE-Sendmail+ SUSE-Sendmail+
SUSE-Sun-Laboratories http://pastebin.com/UubnS3se
SUSE-Sun-Laboratories+ SUSE-Sun-Laboratories+
-SUSE-TCL License for TCL (Fedora calls this TCL too. SPDX doesn't have it)
-SUSE-TCL+ SUSE-TCL+
-SUSE-TGPPL-1.0 https://zooko.com/uri/URI:DIR2-RO:d23ekhh2b4xashf53ycrfoynkq:y4vpazbrt2bedd…
-SUSE-TGPPL-1.0+ SUSE-TGPPL-1.0+
SUSE-TeX http://en.wikipedia.org/wiki/TeX#License
SUSE-TeX+ SUSE-TeX+
+SUSE-TGPPL-1.0 https://zooko.com/uri/URI:DIR2-RO:d23ekhh2b4xashf53ycrfoynkq:y4vpazbrt2bedd…
+SUSE-TGPPL-1.0+ SUSE-TGPPL-1.0+
SUSE-Ubuntu-Font-License-1.0 http://font.ubuntu.com/licence/
SUSE-Ubuntu-Font-License-1.0+ SUSE-Ubuntu-Font-License-1.0+
-SUSE-Vim SUSE-Vim
-SUSE-Vim+ SUSE-Vim+
-SUSE-XFree86-with-font-exception XFree86 with exception to clarify that a document embedding such fonts does not need to be licensed under the XFree86 license
-SUSE-XFree86-with-font-exception+ SUSE-XFree86-with-font-exception+
-SUSE-XSL-Lint http://pastebin.com/cFxX3zCb (probably deprecated but found in docbook-dsssl-stylesheets)
-SUSE-XSL-Lint+ SUSE-XSL-Lint+
SUSE-Xano https://fedoraproject.org/wiki/Licensing/MinchoFontLicense
SUSE-Xano+ SUSE-Xano+
SUSE-Xenonsoft-1.00 http://pastebin.com/PkSpfTbr (part of spectcl)
SUSE-Xenonsoft-1.00+ SUSE-Xenonsoft-1.00+
-SUSE-mirror License of the mirror package is quite liberal but prohibits distribution of modified versions. Instead, you should distribute modifications as patches. This is permitted by Section 4 of the Open Source Definition
-SUSE-mirror+ SUSE-mirror+
-SUSE-mplus http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html#license
-SUSE-mplus+ SUSE-mplus+
-SUSE-xinetd Xinedt license (Fedora also uses a custom license here)
-SUSE-xinetd+ SUSE-xinetd+
-SimPL-2.0 SimPL-2.0
-SimPL-2.0+ SimPL-2.0+
-Sleepycat Sleepycat
-Sleepycat+ Sleepycat+
-SugarCRM-1.1.3 SugarCRM-1.1.3
-SugarCRM-1.1.3+ SugarCRM-1.1.3+
+SUSE-XFree86-with-font-exception+ SUSE-XFree86-with-font-exception+
+SUSE-XFree86-with-font-exception XFree86 with exception to clarify that a document embedding such fonts does not need to be licensed under the XFree86 license
+SUSE-XSL-Lint http://pastebin.com/cFxX3zCb (probably deprecated but found in docbook-dsssl-stylesheets)
+SUSE-XSL-Lint+ SUSE-XSL-Lint+
+SWL SWL
+SWL+ SWL+
+TCL SUSE-TCL
+TCL TCL
+TCL+ TCL+
+TMate TMate
+TMate+ TMate+
+TORQUE-1.1 TORQUE-1.1
+TORQUE-1.1+ TORQUE-1.1+
+TOSL TOSL
+TOSL+ TOSL+
Unicode http://www.unicode.org/copyright.html
+Unicode-TOU Unicode-TOU
+Unicode-TOU+ Unicode-TOU+
Unlicense Unlicense
Unlicense+ Unlicense+
+Vim SUSE-Vim
+Vim Vim
+Vim+ Vim+
+VOSTROM VOSTROM
+VOSTROM+ VOSTROM+
VSL-1.0 VSL-1.0
VSL-1.0+ VSL-1.0+
-W3C W3C
-W3C W3C Software License
-W3C+ W3C+
+Watcom-1.0 Watcom-1.0
+Watcom-1.0+ Watcom-1.0+
+Wsuipa Wsuipa
+Wsuipa+ Wsuipa+
WTFPL SUSE-WTFPL-2.0
WTFPL WTFPL
WTFPL+ WTFPL+
WXwindows WXwindows
WXwindows+ WXwindows+
-Watcom-1.0 Watcom-1.0
-Watcom-1.0+ Watcom-1.0+
+W3C W3C
+W3C+ W3C+
+W3C W3C Software License
+Xerox Xerox
+Xerox+ Xerox+
+XFree86-1.1 XFree86-1.1
+XFree86-1.1+ XFree86-1.1+
+xinetd SUSE-xinetd
+xinetd xinetd
+xinetd+ xinetd+
+Xnet Xnet
+Xnet+ Xnet+
+xpp xpp
+xpp+ xpp+
+XSkat XSkat
+XSkat+ XSkat+
X11 MIT/X Consortium License
X11 MIT/X License
X11 MIT/X11
X11 SUSE-XFree86-1.0
X11 X11
+X11+ X11+
X11 X11 (BSD like)
X11 X11 MIT
X11 X11/MIT
-X11+ X11+
-XFree86-1.1 XFree86-1.1
-XFree86-1.1+ XFree86-1.1+
-Xnet Xnet
-Xnet+ Xnet+
YPL-1.0 YPL-1.0
YPL-1.0+ YPL-1.0+
YPL-1.1 YPL-1.1
YPL-1.1+ YPL-1.1+
+Zed Zed
+Zed+ Zed+
+Zend-2.0 Zend-2.0
+Zend-2.0+ Zend-2.0+
+Zimbra-1.3 Zimbra-1.3
+Zimbra-1.3+ Zimbra-1.3+
+zlib-acknowledgement zlib-acknowledgement
+zlib-acknowledgement+ zlib-acknowledgement+
+Zlib zlib
+Zlib Zlib
+Zlib+ Zlib+
+Zlib zlib/libpng License
+Zlib Zlib License
ZPL-1.1 ZPL-1.1
ZPL-1.1+ ZPL-1.1+
+ZPL-2.0 Zope Public License
ZPL-2.0 ZPL
ZPL-2.0 ZPL-2.0
-ZPL-2.0 Zope Public License
ZPL-2.0+ ZPL-2.0+
ZPL-2.1 ZPL 2.1
ZPL-2.1 ZPL-2.1
ZPL-2.1+ ZPL-2.1+
-Zimbra-1.3 Zimbra-1.3
-Zimbra-1.3+ Zimbra-1.3+
-Zlib Zlib
-Zlib Zlib License
-Zlib zlib
-Zlib zlib/libpng License
-Zlib+ Zlib+
-eCos-2.0 eCos-2.0
-eCos-2.0+ eCos-2.0+
-gSOAP-1.3b gSOAP-1.3b
-gSOAP-1.3b+ gSOAP-1.3b+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/license-update.sh new/spec-cleaner-spec-cleaner-0.6.2/license-update.sh
--- old/spec-cleaner-spec-cleaner-0.6.1/license-update.sh 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/license-update.sh 2014-09-19 17:45:33.000000000 +0200
@@ -19,13 +19,15 @@
#echo "Working in \"${TEMPDIR}\""
pushd "${TEMPDIR}" &> /dev/null
verify_fetch "${DOCS}"
+ # download
curl -s "${DOCS}" | grep -v "New format" > licenses_changes.txt
- grep ^SUSE- licenses_changes.txt | awk -F' ' '{print $1}' | while read l; do
+ # for all licenses add variant with '+' at the end
+ sed -n '/New format/d;s@^\(SUSE-[^[:blank:]]*\)[[:blank:]].*@\1@p' licenses_changes.txt | while read l; do
echo -e "${l}+\t${l}+\n" >> licenses_changes.txt
done
verify_fetch "${SPDX}"
- for i in `w3m -dump -cols 1000 "${SPDX}" | grep "License Text" | sed -e 's, *Y *License Text,,; s, *License Text,,; s,.* ,,;'`; do
+ for i in `w3m -dump -cols 1000 "${SPDX}" | sed -ne '/License Text/{s, *Y *License Text,,; s, *License Text,,; s,.* ,,;p}'`; do
echo -e "${i}\t${i}\n" >> licenses_changes.txt
if [[ ${i:-1} != '+' ]] ; then
echo -e "${i}+\t${i}+\n" >> licenses_changes.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/__init__.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/__init__.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/__init__.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/__init__.py 2014-09-19 17:45:33.000000000 +0200
@@ -4,7 +4,7 @@
# All rights reserved.
# See COPYING for details.
-__version__ = '0.6.1'
+__version__ = '0.6.2'
import os
import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmbuild.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmbuild.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmbuild.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmbuild.py 2014-09-19 17:45:33.000000000 +0200
@@ -11,7 +11,7 @@
def add(self, line):
# if user uses cmake directly just recommend him using the macros
- if line.startswith('cmake'):
+ if line.startswith('cmake') and not self.previous_line.startswith('# FIXME'):
self.lines.append('# FIXME: you should use %%cmake macros')
RpmCheck.add(self, line)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmcheck.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmcheck.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmcheck.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmcheck.py 2014-09-19 17:45:33.000000000 +0200
@@ -23,7 +23,7 @@
if line.find('%{?_smp_mflags}') == -1 and line.find('-j') == -1:
# Don't append %_smp_mflags if the line ends with a backslash,
# it would break the formatting
- if not line.endswith('\\') and not '||' in line:
- line = '{0} {1}'.format(line, '%{?_smp_mflags}')
+ if not line.endswith('\\'):
+ line = self.reg.re_make.sub(r'\1make %{?_smp_mflags}\3', line)
Section.add(self, line)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmcleaner.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmcleaner.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmcleaner.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmcleaner.py 2014-09-19 17:45:33.000000000 +0200
@@ -1,6 +1,10 @@
# vim: set ts=4 sw=4 et: coding=UTF-8
-import io
+try:
+ from StringIO import StringIO
+except ImportError:
+ from io import StringIO
+
import sys
import tempfile
import subprocess
@@ -69,12 +73,12 @@
if self.output:
self.fout = open(self.output, 'w')
elif self.inline:
- fifo = io.BytesIO()
+ fifo = StringIO()
while True:
- bytes = self.fin.read(500 * 1024)
- if len(bytes) == 0:
+ string = self.fin.read(500 * 1024)
+ if len(string) == 0:
break
- fifo.write(bytes)
+ fifo.write(string)
self.fin.close()
fifo.seek(0)
@@ -143,9 +147,6 @@
# to maintain the specs all the same (eg somebody put
# filelist to the top).
for line in self.fin:
- # Stop at the end of the file
- if len(line) == 0:
- break
# Remove \n to make it easier to parse things
line = line.rstrip('\n')
line = line.rstrip('\r')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpminstall.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpminstall.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpminstall.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpminstall.py 2014-09-19 17:45:33.000000000 +0200
@@ -10,7 +10,8 @@
'''
def add(self, line):
- install_command = 'make DESTDIR=%{buildroot} install %{?_smp_mflags}'
+ install_command = 'make DESTDIR=%{buildroot} install'
+ parallel_arg = ' %{?_smp_mflags}'
line = self._complete_cleanup(line)
line = self._replace_remove_la(line)
@@ -22,10 +23,14 @@
# do not use install macros as we have trouble with it for now
# we can convert it later on
if self.reg.re_install.match(line):
- line = install_command
+ # in case there is -j1 we need to ensure we are single threaded
+ if line.find('-j1') != -1:
+ line = install_command + ' -j1'
+ else:
+ line = install_command + parallel_arg
# we can deal with additional params for %makeinstall so replace that too
- line = line.replace('%{makeinstall}', install_command)
+ line = line.replace('%{makeinstall}', install_command + parallel_arg)
Section.add(self, line)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmregexp.py new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmregexp.py
--- old/spec-cleaner-spec-cleaner-0.6.1/spec_cleaner/rpmregexp.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/spec_cleaner/rpmregexp.py 2014-09-19 17:45:33.000000000 +0200
@@ -73,6 +73,7 @@
# rpmbuild
re_jobs = re.compile('%{(_smp_mflags|\?_smp_flags|\?jobs:\s*-j\s*%(jobs|{jobs}))}')
+ re_make = re.compile('(^|(.*\s)?)make($|(\s.*)?)')
# rpmcopyright
re_copyright = re.compile('^#\s*Copyright\ \(c\)\s*(.*)', re.IGNORECASE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/acceptance-tests.py new/spec-cleaner-spec-cleaner-0.6.2/tests/acceptance-tests.py
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/acceptance-tests.py 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/acceptance-tests.py 2014-09-19 17:45:33.000000000 +0200
@@ -8,6 +8,7 @@
import tempfile
import difflib
import datetime
+import shutil
from mock import patch
from spec_cleaner import RpmSpecCleaner
@@ -105,3 +106,19 @@
self._run_individual_test(tmp_file, self.tmp_file_rerun.name)
with open(compare) as ref, open(self.tmp_file_rerun.name) as test:
self.assertStreamEqual(ref, test)
+
+ @patch('spec_cleaner.rpmcopyright.datetime')
+ def test_inline_function(self, datetime_mock):
+ datetime_mock.datetime.now.return_value = (datetime.datetime(2013, 1, 1))
+ # grab first test ; copy it to tmp and then run inlining there
+ test = self._obtain_list_of_tests()[0]
+ infile = os.path.join(self.input_dir, test)
+ compare = os.path.join(self.fixtures_dir, test)
+ tmp_file = os.path.join(self.tmp_dir, test)
+ shutil.copyfile(infile, tmp_file)
+
+ cleaner = RpmSpecCleaner(tmp_file, '', True, True, False, 'vimdiff')
+ cleaner.run()
+
+ with open(compare) as ref, open(tmp_file) as test:
+ self.assertStreamEqual(ref, test)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/in/description.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/in/description.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/in/description.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/in/description.spec 2014-09-19 17:45:33.000000000 +0200
@@ -0,0 +1,19 @@
+%description -n viewcvs
+ViewCVS can browse directories, change logs, and do specific revisions
+of files. It can display diffs between versions and show selections of
+files based on tags or branches. In addition, ViewCVS has "annotation"
+or "blame" support, Bonsai-like query facilities, template-based page
+generation, and support for individually configurable virtual hosts. It
+also includes support for CvsGraph -- a program to graphically display
+the revision trees and branches.
+
+
+
+Authors:
+--------
+ The ViewCVS Group:
+ * Greg Stein
+ * Tanaka Akira
+ * Tim Cera
+ * Peter Funk
+ * Jay Painter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/in/macros.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/in/macros.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/in/macros.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/in/macros.spec 2014-09-19 17:45:33.000000000 +0200
@@ -0,0 +1,3 @@
+%build
+cmake . \
+ -DIHATECMAKE=OFF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/in/makeinstall.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/in/makeinstall.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/in/makeinstall.spec 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/in/makeinstall.spec 2014-09-19 17:45:33.000000000 +0200
@@ -3,6 +3,7 @@
%makeinstall
%make_install
make install DESTDIR=%{buildroot}
+make install DESTDIR=%{buildroot} -j1
make DESTDIR=%{buildroot} -j4 install
DESTDIR="%{buildroot}" make install
make DESTDIR=%{buildroot} install %{?_smp_mflags} \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/in/makeparams.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/in/makeparams.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/in/makeparams.spec 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/in/makeparams.spec 2014-09-19 17:45:33.000000000 +0200
@@ -27,6 +27,7 @@
make %{_smp_mflags}
make %{?_smp_mflags}
make check ||:
+make && mv mtr xmtr
make %{?_smp_flags} VERBOSE=1
%install
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/out/check.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/out/check.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/out/check.spec 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/out/check.spec 2014-09-19 17:45:33.000000000 +0200
@@ -17,7 +17,7 @@
%check
-make V=1 check RUNTEST=true %{?_smp_mflags}
+make %{?_smp_mflags} V=1 check RUNTEST=true
make -j1 check
-make test V=1 %{?_smp_mflags}
+make %{?_smp_mflags} test V=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/out/description.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/out/description.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/out/description.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/out/description.spec 2014-09-19 17:45:33.000000000 +0200
@@ -0,0 +1,27 @@
+#
+# spec file for package description
+#
+# Copyright (c) 2013 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/
+#
+
+
+%description -n viewcvs
+ViewCVS can browse directories, change logs, and do specific revisions
+of files. It can display diffs between versions and show selections of
+files based on tags or branches. In addition, ViewCVS has "annotation"
+or "blame" support, Bonsai-like query facilities, template-based page
+generation, and support for individually configurable virtual hosts. It
+also includes support for CvsGraph -- a program to graphically display
+the revision trees and branches.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/out/macros.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/out/macros.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/out/macros.spec 1970-01-01 01:00:00.000000000 +0100
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/out/macros.spec 2014-09-19 17:45:33.000000000 +0200
@@ -0,0 +1,23 @@
+#
+# spec file for package macros
+#
+# Copyright (c) 2013 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/
+#
+
+
+%build
+# FIXME: you should use %%cmake macros
+cmake . \
+ -DIHATECMAKE=OFF
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/out/makeinstall.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/out/makeinstall.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/out/makeinstall.spec 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/out/makeinstall.spec 2014-09-19 17:45:33.000000000 +0200
@@ -20,6 +20,7 @@
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%make_install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
+make DESTDIR=%{buildroot} install -j1
make DESTDIR=%{buildroot} install %{?_smp_mflags}
make DESTDIR=%{buildroot} install %{?_smp_mflags}
make DESTDIR=%{buildroot} install %{?_smp_mflags} \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/spec-cleaner-spec-cleaner-0.6.1/tests/out/makeparams.spec new/spec-cleaner-spec-cleaner-0.6.2/tests/out/makeparams.spec
--- old/spec-cleaner-spec-cleaner-0.6.1/tests/out/makeparams.spec 2014-08-13 14:23:57.000000000 +0200
+++ new/spec-cleaner-spec-cleaner-0.6.2/tests/out/makeparams.spec 2014-09-19 17:45:33.000000000 +0200
@@ -44,7 +44,8 @@
make %{?_smp_mflags}
make %{?_smp_mflags}
make %{?_smp_mflags}
-make check ||:
+make %{?_smp_mflags} check ||:
+make %{?_smp_mflags} && mv mtr xmtr
make %{?_smp_mflags} VERBOSE=1
%install
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Log-Dispatch for openSUSE:Factory checked in at 2014-09-23 10:42:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Log-Dispatch (Old)
and /work/SRC/openSUSE:Factory/.perl-Log-Dispatch.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Log-Dispatch"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Log-Dispatch/perl-Log-Dispatch.changes 2013-07-29 17:49:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Log-Dispatch.new/perl-Log-Dispatch.changes 2014-09-23 10:42:57.000000000 +0200
@@ -1,0 +2,29 @@
+Mon Sep 22 10:16:56 UTC 2014 - coolo(a)suse.com
+
+- really remove Log-Dispatch-old_Test-More.patch
+
+-------------------------------------------------------------------
+Fri Sep 19 12:15:47 UTC 2014 - coolo(a)suse.com
+
+- updated to 2.42
+ - Added a Log::Dispatch->clone() method. This returns shallow clone. The
+ outputs and callbacks are shared, but changes to outputs and callbacks in
+ the clone do not affect the original, or vice versa.
+
+ - Added Log::Dispatch->outputs() method. This returns all the output objects
+ in a dispatch object.
+
+ - Added Log::Dispatch->callbacks() method. This returns all the callback subs
+ in a dispatch object.
+
+ - The Syslog output now calls Sys::Syslog::setlogsock() every time a message
+ is logged, since something else could have called it in between logging two
+ messages.
+
+ - Added a lock parameter to the Syslog output. If this is true, then logging
+ is done in the scope of a per-thread lock. Reported by Cedric Carree and
+ Franck Youssef. RT #67988 and #85013.
+
+ - Replaced Class::Load with Module::Runtime.
+
+-------------------------------------------------------------------
Old:
----
Log-Dispatch-2.41.tar.gz
Log-Dispatch-old_Test-More.patch
New:
----
Log-Dispatch-2.42.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Log-Dispatch.spec ++++++
--- /var/tmp/diff_new_pack.RoYeAd/_old 2014-09-23 10:42:58.000000000 +0200
+++ /var/tmp/diff_new_pack.RoYeAd/_new 2014-09-23 10:42:58.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Log-Dispatch
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
@@ -17,7 +17,7 @@
Name: perl-Log-Dispatch
-Version: 2.41
+Version: 2.42
Release: 0
%define cpan_name Log-Dispatch
Summary: Dispatches messages to one or more outputs
@@ -29,32 +29,17 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Class::Load)
BuildRequires: perl(Dist::CheckConflicts) >= 0.02
+BuildRequires: perl(Module::Runtime)
BuildRequires: perl(Params::Validate) >= 0.15
-BuildRequires: perl(Sys::Syslog) >= 0.25
+BuildRequires: perl(Sys::Syslog) >= 0.28
+BuildRequires: perl(Test::Fatal)
BuildRequires: perl(Test::More) >= 0.88
-#BuildRequires: perl(Apache2::Log)
-#BuildRequires: perl(Apache::Log)
-#BuildRequires: perl(Log::Dispatch)
-#BuildRequires: perl(Log::Dispatch::Base)
-#BuildRequires: perl(Log::Dispatch::Email)
-#BuildRequires: perl(Log::Dispatch::Email::MailSend)
-#BuildRequires: perl(Log::Dispatch::File)
-#BuildRequires: perl(Log::Dispatch::Handle)
-#BuildRequires: perl(Log::Dispatch::Null)
-#BuildRequires: perl(Log::Dispatch::Output)
-#BuildRequires: perl(Log::Dispatch::Screen)
-#BuildRequires: perl(Log::Dispatch::TestUtil)
-#BuildRequires: perl(Mail::Send)
-#BuildRequires: perl(Mail::Sender)
-#BuildRequires: perl(Mail::Sendmail)
-#BuildRequires: perl(MIME::Lite)
-#BuildRequires: perl(Test::Spelling)
-Requires: perl(Class::Load)
+BuildRequires: perl(Test::Requires)
Requires: perl(Dist::CheckConflicts) >= 0.02
+Requires: perl(Module::Runtime)
Requires: perl(Params::Validate) >= 0.15
-Requires: perl(Sys::Syslog) >= 0.25
+Requires: perl(Sys::Syslog) >= 0.28
%{perl_requires}
%description
@@ -89,6 +74,6 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE README
+%doc Changes LICENSE README.md
%changelog
++++++ Log-Dispatch-2.41.tar.gz -> Log-Dispatch-2.42.tar.gz ++++++
++++ 4244 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libmlx5-rdmav2 for openSUSE:Factory checked in at 2014-09-23 10:42:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmlx5-rdmav2 (Old)
and /work/SRC/openSUSE:Factory/.libmlx5-rdmav2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmlx5-rdmav2"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmlx5-rdmav2/libmlx5-rdmav2.changes 2014-09-09 19:00:12.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libmlx5-rdmav2.new/libmlx5-rdmav2.changes 2014-09-23 10:42:56.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Sep 22 11:39:44 CEST 2014 - pth(a)suse.de
+
+- Add -fi to autoreconf call.
+
+-------------------------------------------------------------------
+Fri Sep 19 12:31:51 CEST 2014 - pth(a)suse.de
+
+- Run autoreconf so that libmlx5-no_werror.patch can work.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmlx5-rdmav2.spec ++++++
--- /var/tmp/diff_new_pack.PbuSRG/_old 2014-09-23 10:42:57.000000000 +0200
+++ /var/tmp/diff_new_pack.PbuSRG/_new 2014-09-23 10:42:57.000000000 +0200
@@ -43,6 +43,7 @@
%patch0
%build
+autoreconf -fi
%configure --disable-static
make %{?_smp_mflags} V=1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kiwi-config-openSUSE for openSUSE:Factory checked in at 2014-09-23 10:42:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi-config-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.kiwi-config-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi-config-openSUSE"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi-config-openSUSE/kiwi-config-openSUSE.changes 2014-09-22 09:23:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi-config-openSUSE.new/kiwi-config-openSUSE.changes 2014-09-23 10:42:54.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Sep 22 09:37:45 UTC 2014 - coolo(a)suse.com
+
+- fix previous change, it's RC_LANG not RC_ALL
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.cRdcuS/_old 2014-09-23 10:42:56.000000000 +0200
+++ /var/tmp/diff_new_pack.cRdcuS/_new 2014-09-23 10:42:56.000000000 +0200
@@ -97,10 +97,10 @@
ln -s /usr/lib/systemd/system/runlevel5.target /etc/systemd/system/default.target
baseUpdateSysConfig /etc/sysconfig/displaymanager DISPLAYMANAGER_AUTOLOGIN linux
baseUpdateSysConfig /etc/sysconfig/keyboard KEYTABLE us.map.gz
-baseUpdateSysConfig /etc/sysconfig/keyboard YAST_KEYBOARD english-us,pc104
+baseUpdateSysConfig /etc/sysconfig/keyboard YAST_KEYBOARD "english-us,pc104"
baseUpdateSysConfig /etc/sysconfig/keyboard COMPOSETABLE "clear latin1.add"
-baseUpdateSysConfig /etc/sysconfig/language RC_ALL en_US.UTF-8
+baseUpdateSysConfig /etc/sysconfig/language RC_LANG "en_US.UTF-8"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_FONT "lat9w-16.psfu"
baseUpdateSysConfig /etc/sysconfig/console CONSOLE_SCREENMAP trivial
++++++ langset.service ++++++
--- /var/tmp/diff_new_pack.cRdcuS/_old 2014-09-23 10:42:56.000000000 +0200
+++ /var/tmp/diff_new_pack.cRdcuS/_new 2014-09-23 10:42:56.000000000 +0200
@@ -2,7 +2,7 @@
Description=setup language based on kernel commandline
DefaultDependencies=no
Conflicts=shutdown.target
-Before=sysinit.target shutdown.target systemd-vconsole-setup.service
+Before=sysinit.target shutdown.target systemd-vconsole-setup.service systemd-localed.service
ConditionPathExists=!/var/lib/zypp/RequestedLocales
[Service]
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gpicview for openSUSE:Factory checked in at 2014-09-23 10:42:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpicview (Old)
and /work/SRC/openSUSE:Factory/.gpicview.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpicview"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gpicview/gpicview.changes 2014-09-03 19:54:30.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gpicview.new/gpicview.changes 2014-09-23 10:42:53.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Sep 19 22:28:30 UTC 2014 - trcs(a)gmx.com
+
+- split lang package
+- removed unnecessary BuildRequires in spec file
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpicview.spec ++++++
--- /var/tmp/diff_new_pack.0smZV6/_old 2014-09-23 10:42:54.000000000 +0200
+++ /var/tmp/diff_new_pack.0smZV6/_new 2014-09-23 10:42:54.000000000 +0200
@@ -24,8 +24,6 @@
Group: Productivity/Graphics/Viewers
Url: http://www.lxde.org/
Source0: %{name}-%{version}.tar.gz
-BuildRequires: autoconf
-BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc
BuildRequires: gcc-c++
@@ -35,12 +33,13 @@
BuildRequires: hicolor-icon-theme
BuildRequires: intltool
BuildRequires: libjpeg-devel
-BuildRequires: make
BuildRequires: perl
BuildRequires: perl-XML-Parser
BuildRequires: pkg-config
BuildRequires: update-desktop-files
+Recommends: %{name}-lang
BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%lang_package
%description
An extremely fast, lightweight, yet feature-rich photo viewer.
@@ -66,7 +65,7 @@
%postun
%desktop_database_postun
-%files -f %{name}.lang
+%files
%defattr(-,root,root)
%{_bindir}/%{name}
%{_datadir}/applications/gpicview.desktop
@@ -77,4 +76,7 @@
%{_datadir}/gpicview/ui/pref-dlg.ui
%{_datadir}/icons/hicolor/48x48/apps/gpicview.png
+%files lang -f %{name}.lang
+%defattr(-,root,root,-)
+
%changelog
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package go-go-mtpfs for openSUSE:Factory checked in at 2014-09-23 10:42:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go-go-mtpfs (Old)
and /work/SRC/openSUSE:Factory/.go-go-mtpfs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go-go-mtpfs"
Changes:
--------
--- /work/SRC/openSUSE:Factory/go-go-mtpfs/go-go-mtpfs.changes 2013-11-13 10:03:06.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.go-go-mtpfs.new/go-go-mtpfs.changes 2014-09-23 10:42:49.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 19 17:35:48 UTC 2014 - i(a)marguerite.su
+
+- update version 0.0.0+git20140903.689b5b4
+
+-------------------------------------------------------------------
Old:
----
go-mtpfs-0.0.0+git20131015.bb3f0c2.tar.bz2
New:
----
go-mtpfs-0.0.0+git20140903.689b5b4.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go-go-mtpfs.spec ++++++
--- /var/tmp/diff_new_pack.dBXNbb/_old 2014-09-23 10:42:51.000000000 +0200
+++ /var/tmp/diff_new_pack.dBXNbb/_new 2014-09-23 10:42:51.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package go-go-mtpfs
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 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
@@ -17,26 +17,28 @@
Name: go-go-mtpfs
-Version: 0.0.0+git20131015.bb3f0c2
+Version: 0.0.0+git20140903.689b5b4
Release: 0
Summary: Mount MTP devices over FUSE
-Group: Productivity/Multimedia/Sound/Players
License: BSD-3-Clause
+Group: Productivity/Multimedia/Sound/Players
Url: https://github.com/hanwen/go-mtpfs
Source: go-mtpfs-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: go-devel
BuildRequires: go-go-fuse
-BuildRequires: pkgconfig
+BuildRequires: go-hanwen-usb
+BuildRequires: pkg-config
BuildRequires: pkgconfig(libmtp)
-BuildRequires: pkgconfig(libusb-1.0)
-%if 0%{?suse_version} >= 1100
-Recommends: %{name}-doc
-%endif
+Requires: go-go-fuse
+Requires: go-hanwen-usb
+Requires: pkg-config
+Requires: pkgconfig(libmtp)
Provides: go-mtpfs = 0.0+git6b55d1f9
Obsoletes: go-mtpfs < 0.0+git6b55d1f9
%{go_requires}
%{go_provides}
+%{go_recommends}
%description
Go-mtpfs is a simple FUSE filesystem for mounting Android devices as a
@@ -51,13 +53,7 @@
Nexus 7). As of Jan. 2013, it uses a pure Go implementation of MTP,
which is based on libusb.
-%package doc
-Summary: API documenation
-Group: Documentation/Other
-Requires: %{name} = %{version}
-
-%description doc
-API, examples and documentation.
+%godoc_package
%prep
%setup -q -n go-mtpfs-%{version}
++++++ go-mtpfs-0.0.0+git20131015.bb3f0c2.tar.bz2 -> go-mtpfs-0.0.0+git20140903.689b5b4.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/all.bash new/go-mtpfs-0.0.0+git20140903.689b5b4/all.bash
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/all.bash 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/all.bash 2014-09-19 19:29:28.000000000 +0200
@@ -3,8 +3,6 @@
# Script to exercise everything.
set -eux
-# mtp-detect still does a better job at resetting device to a sane state.
-mtp-detect
for x in fs mtp
do
go build github.com/hanwen/go-mtpfs/$x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/android.go new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/android.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/android.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/android.go 2014-09-19 19:29:28.000000000 +0200
@@ -93,7 +93,7 @@
}
func (f *androidFile) Read(dest []byte, off int64) (fuse.ReadResult, fuse.Status) {
- if off >= f.node.Size {
+ if off > f.node.Size {
// ENXIO = no such address.
return nil, fuse.Status(int(syscall.ENXIO))
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/classic.go new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/classic.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/classic.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/classic.go 2014-09-19 19:29:28.000000000 +0200
@@ -281,7 +281,7 @@
////////////////////////////////////////////////////////////////
-func (fs *DeviceFs) trimUnused(todo int64, node *nodefs.Inode) (done int64) {
+func (fs *deviceFS) trimUnused(todo int64, node *nodefs.Inode) (done int64) {
for _, ch := range node.Children() {
if done > todo {
break
@@ -296,7 +296,7 @@
return
}
-func (fs *DeviceFs) freeBacking() (int64, error) {
+func (fs *deviceFS) freeBacking() (int64, error) {
t := syscall.Statfs_t{}
err := syscall.Statfs(fs.options.Dir, &t)
if err != nil {
@@ -306,7 +306,7 @@
return int64(t.Bfree * uint64(t.Bsize)), nil
}
-func (fs *DeviceFs) ensureFreeSpace(want int64) error {
+func (fs *deviceFS) ensureFreeSpace(want int64) error {
free, err := fs.freeBacking()
if err != nil {
return err
@@ -329,7 +329,7 @@
return fmt.Errorf("not enough space in %s. Have %d, want %d", fs.options.Dir, free, want)
}
-func (fs *DeviceFs) setupClassic() error {
+func (fs *deviceFS) setupClassic() error {
if fs.options.Dir == "" {
var err error
fs.options.Dir, err = ioutil.TempDir(os.TempDir(), "go-mtpfs")
@@ -344,19 +344,13 @@
return nil
}
-func (fs *DeviceFs) OnUnmount() {
- if fs.delBackingDir {
- os.RemoveAll(fs.options.Dir)
- }
-}
-
-func (fs *DeviceFs) createClassicFile(obj mtp.ObjectInfo) (file nodefs.File, node nodefs.Node, err error) {
+func (fs *deviceFS) createClassicFile(obj mtp.ObjectInfo) (file nodefs.File, node nodefs.Node, err error) {
backingFile, err := ioutil.TempFile(fs.options.Dir, "")
cl := &classicNode{
mtpNodeImpl: mtpNodeImpl{
- Node: nodefs.NewDefaultNode(),
- obj: &obj,
- fs: fs,
+ Node: nodefs.NewDefaultNode(),
+ obj: &obj,
+ fs: fs,
},
dirty: true,
backing: backingFile.Name(),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/device_test.go new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/device_test.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/device_test.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/device_test.go 2014-09-19 19:29:28.000000000 +0200
@@ -3,7 +3,10 @@
// This test requires an unlocked android MTP device plugged in.
import (
+ "bytes"
+ "flag"
"fmt"
+ "io"
"io/ioutil"
"math/rand"
"os"
@@ -16,11 +19,17 @@
"github.com/hanwen/go-mtpfs/mtp"
)
+// VerboseTest returns true if the testing framework is run with -v.
+func VerboseTest() bool {
+ flag := flag.Lookup("test.v")
+ return flag != nil && flag.Value.String() == "true"
+}
+
func init() {
rand.Seed(time.Now().UnixNano())
}
-func startFs(t *testing.T, useAndroid bool) (root string, cleanup func()) {
+func startFs(t *testing.T, useAndroid bool) (storageRoot string, cleanup func()) {
dev, err := mtp.SelectDevice("")
if err != nil {
t.Fatalf("SelectDevice failed: %v", err)
@@ -49,40 +58,40 @@
opts := DeviceFsOptions{
Android: useAndroid,
}
- fs, err := NewDeviceFs(dev, sids, opts)
+ root, err := NewDeviceFSRoot(dev, sids, opts)
if err != nil {
t.Fatal("NewDeviceFs failed:", err)
}
- conn := nodefs.NewFileSystemConnector(fs, nodefs.NewOptions())
+ conn := nodefs.NewFileSystemConnector(root, nodefs.NewOptions())
rawFs := fuse.NewLockingRawFileSystem(conn.RawFS())
mount, err := fuse.NewServer(rawFs, tempdir, nil)
if err != nil {
t.Fatalf("mount failed: %v", err)
}
- mount.SetDebug(fuse.VerboseTest())
- dev.MTPDebug = fuse.VerboseTest()
- dev.USBDebug = fuse.VerboseTest()
- dev.DataDebug = fuse.VerboseTest()
+ mount.SetDebug(VerboseTest())
+ dev.MTPDebug = VerboseTest()
+ dev.USBDebug = VerboseTest()
+ dev.DataDebug = VerboseTest()
go mount.Serve()
for i := 0; i < 10; i++ {
fis, err := ioutil.ReadDir(tempdir)
if err == nil && len(fis) > 0 {
- root = filepath.Join(tempdir, fis[0].Name())
+ storageRoot = filepath.Join(tempdir, fis[0].Name())
break
}
time.Sleep(1)
}
- if root == "" {
+ if storageRoot == "" {
mount.Unmount()
t.Fatal("could not find entries in mount point.")
}
d := dev
dev = nil
- return root, func() {
+ return storageRoot, func() {
mount.Unmount()
d.Close()
}
@@ -173,6 +182,46 @@
}
}
+func testReadBlockBoundary(t *testing.T, android bool) {
+ root, cleanup := startFs(t, android)
+ defer cleanup()
+
+ name := filepath.Join(root, fmt.Sprintf("mtpfs-test-%x", rand.Int31()))
+
+ page := 4096
+ buf := bytes.Repeat([]byte("a"), 32*page)
+ if err := ioutil.WriteFile(name, buf, 0644); err != nil {
+ t.Fatalf("WriteFile: %v", err)
+ }
+
+ f, err := os.Open(name)
+ if err != nil {
+ t.Fatalf("Open: %v", name)
+ }
+
+ total := 0
+ for {
+ b := make([]byte, page)
+ n, err := f.Read(b)
+ total += n
+ if n == 0 && err == io.EOF {
+ break
+ }
+ if n != 4096 || err != nil {
+ t.Fatalf("Read: %v (%d bytes)", err, n)
+ }
+ }
+ f.Close()
+}
+
+func TestReadBlockBoundaryAndroid(t *testing.T) {
+ testReadBlockBoundary(t, true)
+}
+
+func TestReadBlockBoundaryNormal(t *testing.T) {
+ testReadBlockBoundary(t, false)
+}
+
func TestAndroid(t *testing.T) {
testDevice(t, true)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/fs.go new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/fs.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/fs/fs.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/fs/fs.go 2014-09-19 19:29:28.000000000 +0200
@@ -8,6 +8,7 @@
"bytes"
"fmt"
"log"
+ "os"
"strings"
"time"
@@ -30,9 +31,7 @@
// DeviceFS implements a fuse.NodeFileSystem that mounts multiple
// storages.
-type DeviceFs struct {
- nodefs.FileSystem
-
+type deviceFS struct {
backingDir string
delBackingDir bool
root *rootNode
@@ -49,19 +48,18 @@
// threadsafe. The file system assumes the device does not touch the
// storage. Arguments are the opened mtp device and a directory for the
// backing store.
-func NewDeviceFs(d *mtp.Device, storages []uint32, options DeviceFsOptions) (*DeviceFs, error) {
+func NewDeviceFSRoot(d *mtp.Device, storages []uint32, options DeviceFsOptions) (nodefs.Node, error) {
root := rootNode{Node: nodefs.NewDefaultNode()}
- fs := &DeviceFs{
- FileSystem: nodefs.NewDefaultFileSystem(),
- root: &root,
- dev: d,
- options: &options,
+ fs := &deviceFS{
+ root: &root,
+ dev: d,
+ options: &options,
}
root.fs = fs
fs.storages = storages
err := d.GetDeviceInfo(&fs.devInfo)
if err != nil {
- return fs, nil
+ return nil, err
}
if !strings.Contains(fs.devInfo.MTPExtension, "android.com") {
@@ -85,21 +83,39 @@
fs.mungeVfat[sid] = info.IsRemovable() && fs.options.RemovableVFat
}
- return fs, nil
+ return fs.Root(), nil
}
-func (fs *DeviceFs) Root() nodefs.Node {
+func (fs *deviceFS) Root() nodefs.Node {
return fs.root
}
-func (fs *DeviceFs) String() string {
- return fmt.Sprintf("DeviceFs(%s)", fs.devInfo.Model)
+func (fs *deviceFS) String() string {
+ return fmt.Sprintf("deviceFS(%s)", fs.devInfo.Model)
+}
+
+func (fs *deviceFS) onMount() {
+ for _, sid := range fs.storages {
+ var info mtp.StorageInfo
+ if err := fs.dev.GetStorageInfo(sid, &info); err != nil {
+ log.Printf("GetStorageInfo %x: %v", sid, err)
+ continue
+ }
+
+ obj := mtp.ObjectInfo{
+ ParentObject: NOPARENT_ID,
+ StorageID: sid,
+ Filename: info.StorageDescription,
+ }
+ folder := fs.newFolder(obj, NOPARENT_ID)
+ fs.root.Inode().NewChild(info.StorageDescription, true, folder)
+ }
}
// TODO - this should be per storage and return just the free space in
// the storage.
-func (fs *DeviceFs) newFile(obj mtp.ObjectInfo, size int64, id uint32) (node nodefs.Node) {
+func (fs *deviceFS) newFile(obj mtp.ObjectInfo, size int64, id uint32) (node nodefs.Node) {
if obj.CompressedSize != 0xFFFFFFFF {
size = int64(obj.CompressedSize)
}
@@ -125,27 +141,19 @@
type rootNode struct {
nodefs.Node
- fs *DeviceFs
+ fs *deviceFS
}
const NOPARENT_ID = 0xFFFFFFFF
-func (fs *DeviceFs) OnMount(conn *nodefs.FileSystemConnector) {
- for _, sid := range fs.storages {
- var info mtp.StorageInfo
- if err := fs.dev.GetStorageInfo(sid, &info); err != nil {
- log.Printf("GetStorageInfo %x: %v", sid, err)
- continue
- }
+func (n *rootNode) OnMount(conn *nodefs.FileSystemConnector) {
+ n.fs.onMount()
+}
- obj := mtp.ObjectInfo{
- ParentObject: NOPARENT_ID,
- StorageID: sid,
- Filename: info.StorageDescription,
- }
- folder := fs.newFolder(obj, NOPARENT_ID)
- inode := fs.root.Inode().New(true, folder)
- fs.root.Inode().AddChild(info.StorageDescription, inode)
+func (n *rootNode) OnUnmount() {
+ if n.fs.delBackingDir {
+ os.RemoveAll(n.fs.options.Dir)
+ n.fs.delBackingDir = false
}
}
@@ -202,7 +210,7 @@
obj *mtp.ObjectInfo
- fs *DeviceFs
+ fs *deviceFS
// This is needed because obj.CompressedSize only goes to
// 0xFFFFFFFF
@@ -288,7 +296,7 @@
fetched bool
}
-func (fs *DeviceFs) newFolder(obj mtp.ObjectInfo, h uint32) *folderNode {
+func (fs *deviceFS) newFolder(obj mtp.ObjectInfo, h uint32) *folderNode {
obj.AssociationType = mtp.OFC_Association
return &folderNode{
mtpNodeImpl: mtpNodeImpl{
@@ -359,7 +367,7 @@
node = n.fs.newFile(*info, sz, handle)
}
- n.Inode().AddChild(info.Filename, n.Inode().New(isdir, node))
+ n.Inode().NewChild(info.Filename, isdir, node)
}
n.fetched = true
return true
@@ -428,7 +436,7 @@
return fuse.OK
}
-func (n *folderNode) Lookup(out *fuse.Attr, name string, context *fuse.Context) (node nodefs.Node, code fuse.Status) {
+func (n *folderNode) Lookup(out *fuse.Attr, name string, context *fuse.Context) (node *nodefs.Inode, code fuse.Status) {
if !n.fetch() {
return nil, fuse.EIO
}
@@ -437,11 +445,10 @@
return nil, fuse.ENOENT
}
- s := ch.Node().GetAttr(out, nil, context)
- return ch.Node(), s
+ return ch, ch.Node().GetAttr(out, nil, context)
}
-func (n *folderNode) Mkdir(name string, mode uint32, context *fuse.Context) (nodefs.Node, fuse.Status) {
+func (n *folderNode) Mkdir(name string, mode uint32, context *fuse.Context) (*nodefs.Inode, fuse.Status) {
if !n.fetch() {
return nil, fuse.EIO
}
@@ -460,8 +467,7 @@
}
f := n.fs.newFolder(obj, newId)
- n.Inode().AddChild(name, n.Inode().New(true, f))
- return f, fuse.OK
+ return n.Inode().NewChild(name, true, f), fuse.OK
}
func (n *folderNode) Unlink(name string, c *fuse.Context) fuse.Status {
@@ -492,7 +498,7 @@
return n.Unlink(name, c)
}
-func (n *folderNode) Create(name string, flags uint32, mode uint32, context *fuse.Context) (file nodefs.File, node nodefs.Node, code fuse.Status) {
+func (n *folderNode) Create(name string, flags uint32, mode uint32, context *fuse.Context) (nodefs.File, *nodefs.Inode, fuse.Status) {
if !n.fetch() {
return nil, nil, fuse.EIO
}
@@ -506,6 +512,8 @@
CompressedSize: 0,
}
+ var file nodefs.File
+ var fsNode nodefs.Node
if n.fs.options.Android {
_, _, handle, err := n.fs.dev.SendObjectInfo(n.StorageID(), n.Handle(), &obj)
if err != nil {
@@ -535,14 +543,13 @@
File: nodefs.NewDefaultFile(),
node: aNode,
}
- node = aNode
+ fsNode = aNode
} else {
var err error
- file, node, err = n.fs.createClassicFile(obj)
+ file, fsNode, err = n.fs.createClassicFile(obj)
if err != nil {
return nil, nil, fuse.ToStatus(err)
}
}
- n.Inode().AddChild(name, n.Inode().New(false, node))
- return file, node, fuse.OK
+ return file, n.Inode().NewChild(name, false, fsNode), fuse.OK
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/main.go new/go-mtpfs-0.0.0+git20140903.689b5b4/main.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/main.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/main.go 2014-09-19 19:29:28.000000000 +0200
@@ -9,6 +9,7 @@
"log"
"os"
"strings"
+ "sync"
"github.com/hanwen/go-fuse/fuse"
"github.com/hanwen/go-fuse/fuse/nodefs"
@@ -22,8 +23,8 @@
vfat := flag.Bool("vfat", true, "assume removable RAM media uses VFAT, and rewrite names.")
other := flag.Bool("allow-other", false, "allow other users to access mounted fuse. Default: false.")
deviceFilter := flag.String("dev", "",
- "regular expression to filter device IDs, " +
- "which are composed of manufacturer/product/serial.")
+ "regular expression to filter device IDs, "+
+ "which are composed of manufacturer/product/serial.")
storageFilter := flag.String("storage", "", "regular expression to filter storage areas.")
android := flag.Bool("android", true, "use android extensions if available")
flag.Parse()
@@ -59,11 +60,11 @@
RemovableVFat: *vfat,
Android: *android,
}
- fs, err := fs.NewDeviceFs(dev, sids, opts)
+ root, err := fs.NewDeviceFSRoot(dev, sids, opts)
if err != nil {
log.Fatalf("NewDeviceFs failed: %v", err)
}
- conn := nodefs.NewFileSystemConnector(fs, nodefs.NewOptions())
+ conn := nodefs.NewFileSystemConnector(root, nodefs.NewOptions())
rawFs := fuse.NewLockingRawFileSystem(conn.RawFS())
mOpts := &fuse.MountOptions{
@@ -76,7 +77,14 @@
conn.SetDebug(debugs["fuse"] || debugs["fs"])
mount.SetDebug(debugs["fuse"] || debugs["fs"])
- log.Printf("starting FUSE.")
- mount.Serve()
- fs.OnUnmount()
+ var wg sync.WaitGroup
+ wg.Add(1)
+ go func() {
+ mount.Serve()
+ wg.Done()
+ }()
+ mount.WaitMount()
+ log.Printf("FUSE mounted")
+ wg.Wait()
+ root.OnUnmount()
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/encoding.go new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/encoding.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/encoding.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/encoding.go 2014-09-19 19:29:28.000000000 +0200
@@ -45,27 +45,28 @@
}
func encodeStr(buf []byte, s string) ([]byte, error) {
- if len(s) > 254 {
- return nil, fmt.Errorf("range")
- }
-
if s == "" {
buf[0] = 0
return buf[:1], nil
}
- i := 0
- buf[i] = byte(len(s) + 1)
- i++
+ codepoints := 0
+ buf = append(buf[:0], 0)
+
+ var rune [2]byte
for _, r := range s {
- byteOrder.PutUint16(buf[i:], uint16(r))
- i += 2
+ byteOrder.PutUint16(rune[:], uint16(r))
+ buf = append(buf, rune[0], rune[1])
+ codepoints++
}
- buf[i] = 0
- i++
- buf[i] = 0
- i++
- return buf[:i], nil
+ buf = append(buf, 0, 0)
+ codepoints++
+ if codepoints > 254 {
+ return nil, fmt.Errorf("string too long")
+ }
+
+ buf[0] = byte(codepoints)
+ return buf, nil
}
func encodeStrField(w io.Writer, f reflect.Value) error {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/encoding_test.go new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/encoding_test.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/encoding_test.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/encoding_test.go 2014-09-19 19:29:28.000000000 +0200
@@ -240,3 +240,31 @@
dp, back)
}
}
+
+func TestDecodeStr(t *testing.T) {
+ enc := make([]byte, 100)
+ test := "ö"
+ out, err := encodeStr(enc, test)
+ if err != nil {
+ t.Fatalf("encodeStr: %v", err)
+ }
+ buf := bytes.NewBuffer(out)
+ roundtrip, err := decodeStr(buf)
+ if err != nil {
+ t.Fatalf("encodeStr: %v", err)
+ }
+ if roundtrip != test {
+ t.Fatalf("got %q, want %q", roundtrip, test)
+ }
+}
+
+func TestEncodeStr(t *testing.T) {
+ mtpStr := []byte("\x02\xe4\x00\x00\x00")
+ str := "ä"
+
+ if out, err := encodeStr(nil, str); err != nil {
+ t.Fatalf("encodeStr: %v", err)
+ } else if bytes.Compare(out, mtpStr) != 0 {
+ t.Fatalf("got %q, want %q", out, mtpStr)
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/mtp.go new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/mtp.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/mtp.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/mtp.go 2014-09-19 19:29:28.000000000 +0200
@@ -10,7 +10,7 @@
"strings"
"time"
- "github.com/hanwen/go-mtpfs/usb"
+ "github.com/hanwen/usb"
)
// An MTP device.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/select.go new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/select.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/mtp/select.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/mtp/select.go 2014-09-19 19:29:28.000000000 +0200
@@ -5,7 +5,7 @@
"regexp"
"strings"
- "github.com/hanwen/go-mtpfs/usb"
+ "github.com/hanwen/usb"
)
func candidateFromDeviceDescriptor(d *usb.Device) *Device {
@@ -107,15 +107,15 @@
}
}
- if len(cands) == 0 {
+ if len(found) == 0 {
return nil, fmt.Errorf("no device matched")
}
-
- if len(cands) > 1 {
+
+ if len(found) > 1 {
return nil, fmt.Errorf("mtp: more than 1 device: %s", strings.Join(ids, ","))
}
-
- cand := cands[0]
+
+ cand := found[0]
config, err := cand.h.GetConfiguration()
if err != nil {
return nil, fmt.Errorf("could not get configuration of %v: %v",
@@ -128,7 +128,7 @@
ids[0], err)
}
}
- return cands[0], nil
+ return found[0], nil
}
// Return opened MTP device that matches given pattern.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/print.go new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/print.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/print.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/print.go 1970-01-01 01:00:00.000000000 +0100
@@ -1,118 +0,0 @@
-package usb
-
-func ClassToStr(c byte) string {
- switch c {
- case CLASS_PER_INTERFACE:
- return "PER_INTERFACE"
- case CLASS_AUDIO:
- return "AUDIO"
- case CLASS_COMM:
- return "COMM"
- case CLASS_HID:
- return "HID"
- case CLASS_PHYSICAL:
- return "PHYSICAL"
- case CLASS_PRINTER:
- return "PRINTER"
- case CLASS_IMAGE:
- return "IMAGE"
- case CLASS_MASS_STORAGE:
- return "MASS_STORAGE"
- case CLASS_HUB:
- return "HUB"
- case CLASS_DATA:
- return "DATA"
- case CLASS_SMART_CARD:
- return "SMART_CARD"
- case CLASS_CONTENT_SECURITY:
- return "CONTENT_SECURITY"
- case CLASS_VIDEO:
- return "VIDEO"
- case CLASS_PERSONAL_HEALTHCARE:
- return "PERSONAL_HEALTHCARE"
- case CLASS_DIAGNOSTIC_DEVICE:
- return "DIAGNOSTIC_DEVICE"
- case CLASS_WIRELESS:
- return "WIRELESS"
- case CLASS_APPLICATION:
- return "APPLICATION"
- case CLASS_VENDOR_SPEC:
- return "VENDOR_SPEC"
- }
- return "other"
-}
-
-func dtToStr(c int) string {
- switch c {
- case DT_DEVICE:
- return "DEVICE"
- case DT_CONFIG:
- return "CONFIG"
- case DT_STRING:
- return "STRING"
- case DT_INTERFACE:
- return "INTERFACE"
- case DT_ENDPOINT:
- return "ENDPOINT"
- case DT_HID:
- return "HID"
- case DT_REPORT:
- return "REPORT"
- case DT_PHYSICAL:
- return "PHYSICAL"
- case DT_HUB:
- return "HUB"
- }
- return "other"
-}
-
-func requestToStr(c int) string {
- switch c {
- case REQUEST_GET_STATUS:
- return "GET_STATUS"
- case REQUEST_CLEAR_FEATURE:
- return "CLEAR_FEATURE"
- /** Set or enable a specific feature */
- case REQUEST_SET_FEATURE:
- return "SET_FEATURE"
- /** Set device address for all future accesses */
- case REQUEST_SET_ADDRESS:
- return "SET_ADDRESS"
- /** Get the specified descriptor */
- case REQUEST_GET_DESCRIPTOR:
- return "GET_DESCRIPTOR"
- /** Used to update existing descriptors or add new descriptors */
- case REQUEST_SET_DESCRIPTOR:
- return "SET_DESCRIPTOR"
- /** Get the current device configuration value */
- case REQUEST_GET_CONFIGURATION:
- return "GET_CONFIGURATION"
- /** Set device configuration */
- case REQUEST_SET_CONFIGURATION:
- return "SET_CONFIGURATION"
- /** Return the selected alternate setting for the specified interface */
- case REQUEST_GET_INTERFACE:
- return "GET_INTERFACE"
- /** Select an alternate interface for the specified interface */
- case REQUEST_SET_INTERFACE:
- return "SET_INTERFACE"
- /** Set then report an endpoint's synchronization frame */
- case REQUEST_SYNCH_FRAME:
- return "SYNCH_FRAME"
- }
- return "other"
-}
-
-func transferTypeString(t byte) string {
- switch t {
- case TRANSFER_TYPE_CONTROL:
- return "control"
- case TRANSFER_TYPE_ISOCHRONOUS:
- return "iso"
- case TRANSFER_TYPE_BULK:
- return "bulk"
- case TRANSFER_TYPE_INTERRUPT:
- return "int"
- }
- panic("unknown")
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/usb.go new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/usb.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/usb.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/usb.go 1970-01-01 01:00:00.000000000 +0100
@@ -1,720 +0,0 @@
-// The usb package is a straighforward cgo wrapping of the libusb 1.0
-// API. It only supports the synchronous API, since Goroutines can be
-// used for asynchronous use-cases.
-
-package usb
-
-// #cgo pkg-config: libusb-1.0
-// #include <libusb.h>
-import "C"
-import (
- "fmt"
- "reflect"
- "unsafe"
-)
-
-const SPEED_UNKNOWN = C.LIBUSB_SPEED_UNKNOWN
-const SPEED_LOW = C.LIBUSB_SPEED_LOW
-const SPEED_FULL = C.LIBUSB_SPEED_FULL
-const SPEED_HIGH = C.LIBUSB_SPEED_HIGH
-const SPEED_SUPER = C.LIBUSB_SPEED_SUPER
-
-var SPEED_names = map[byte]string{
- byte(C.LIBUSB_SPEED_UNKNOWN): "UNKNOWN",
- byte(C.LIBUSB_SPEED_LOW): "LOW",
- byte(C.LIBUSB_SPEED_FULL): "FULL",
- byte(C.LIBUSB_SPEED_HIGH): "HIGH",
- byte(C.LIBUSB_SPEED_SUPER): "SUPER",
-}
-
-type ControlSetup C.struct_libusb_control_setup
-type Transfer C.struct_libusb_transfer
-
-// Device and/or interface class codes.
-const CLASS_PER_INTERFACE = 0
-const CLASS_AUDIO = 1
-const CLASS_COMM = 2
-const CLASS_HID = 3
-const CLASS_PHYSICAL = 5
-const CLASS_PRINTER = 7
-const CLASS_IMAGE = 6
-const CLASS_MASS_STORAGE = 8
-const CLASS_HUB = 9
-const CLASS_DATA = 10
-const CLASS_SMART_CARD = 0x0b
-const CLASS_CONTENT_SECURITY = 0x0d
-const CLASS_VIDEO = 0x0e
-const CLASS_PERSONAL_HEALTHCARE = 0x0f
-const CLASS_DIAGNOSTIC_DEVICE = 0xdc
-const CLASS_WIRELESS = 0xe0
-const CLASS_APPLICATION = 0xfe
-const CLASS_VENDOR_SPEC = 0xff
-
-// Device and/or interface class codes.
-var CLASS_names = map[byte]string{
- 0: "PER_INTERFACE",
- 1: "AUDIO",
- 2: "COMM",
- 3: "HID",
- 5: "PHYSICAL",
- 7: "PRINTER",
- 6: "IMAGE",
- 8: "MASS_STORAGE",
- 9: "HUB",
- 10: "DATA",
- 0x0b: "SMART_CARD",
- 0x0d: "CONTENT_SECURITY",
- 0x0e: "VIDEO",
- 0x0f: "PERSONAL_HEALTHCARE",
- 0xdc: "DIAGNOSTIC_DEVICE",
- 0xe0: "WIRELESS",
- 0xfe: "APPLICATION",
- 0xff: "VENDOR_SPEC",
-}
-
-// Descriptor types as defined by the USB specification.
-const DT_DEVICE = 0x01
-const DT_CONFIG = 0x02
-const DT_STRING = 0x03
-const DT_INTERFACE = 0x04
-const DT_ENDPOINT = 0x05
-const DT_HID = 0x21
-const DT_REPORT = 0x22
-const DT_PHYSICAL = 0x23
-const DT_HUB = 0x29
-
-// Standard request types, as defined in table 9-3 of the USB2 specifications
-const REQUEST_GET_STATUS = 0x00
-const REQUEST_CLEAR_FEATURE = 0x01
-
-// Set or enable a specific feature
-const REQUEST_SET_FEATURE = 0x03
-
-// Set device address for all future accesses
-const REQUEST_SET_ADDRESS = 0x05
-
-// Get the specified descriptor
-const REQUEST_GET_DESCRIPTOR = 0x06
-
-// Used to update existing descriptors or add new descriptors
-const REQUEST_SET_DESCRIPTOR = 0x07
-
-// Get the current device configuration value
-const REQUEST_GET_CONFIGURATION = 0x08
-
-// Set device configuration
-const REQUEST_SET_CONFIGURATION = 0x09
-
-// Return the selected alternate setting for the specified interface.
-const REQUEST_GET_INTERFACE = 0x0A
-
-// Select an alternate interface for the specified interface
-const REQUEST_SET_INTERFACE = 0x0B
-
-// Set then report an endpoint's synchronization frame
-const REQUEST_SYNCH_FRAME = 0x0C
-
-// The error codes returned by libusb.
-type Error int
-
-func (e Error) Error() string {
- return C.GoString(C.libusb_error_name(C.int(e)))
-}
-
-func toErr(e C.int) error {
- if e < 0 {
- return Error(e)
- }
- return nil
-}
-
-const SUCCESS = Error(0)
-const ERROR_IO = Error(-1)
-const ERROR_INVALID_PARAM = Error(-2)
-const ERROR_ACCESS = Error(-3)
-const ERROR_NO_DEVICE = Error(-4)
-const ERROR_NOT_FOUND = Error(-5)
-const ERROR_BUSY = Error(-6)
-const ERROR_TIMEOUT = Error(-7)
-const ERROR_OVERFLOW = Error(-8)
-const ERROR_PIPE = Error(-9)
-const ERROR_INTERRUPTED = Error(-10)
-const ERROR_NO_MEM = Error(-11)
-const ERROR_NOT_SUPPORTED = Error(-12)
-const ERROR_OTHER = Error(-99)
-
-const TRANSFER_COMPLETED = 0
-const TRANSFER_ERROR = 1
-const TRANSFER_TIMED_OUT = 2
-const TRANSFER_CANCELLED = 3
-const TRANSFER_STALL = 4
-const TRANSFER_NO_DEVICE = 5
-const TRANSFER_OVERFLOW = 6
-
-const TRANSFER_SHORT_NOT_OK = 1 << 0
-const TRANSFER_FREE_BUFFER = 1 << 1
-const TRANSFER_FREE_TRANSFER = 1 << 2
-
-// Request types to use in ControlTransfer().
-const REQUEST_TYPE_STANDARD = (0x00 << 5)
-const REQUEST_TYPE_CLASS = (0x01 << 5)
-const REQUEST_TYPE_VENDOR = (0x02 << 5)
-const REQUEST_TYPE_RESERVED = (0x03 << 5)
-
-// Recipient bits for the reqType of ControlTransfer(). Values 4 - 31
-// are reserved.
-const RECIPIENT_DEVICE = 0x00
-const RECIPIENT_INTERFACE = 0x01
-const RECIPIENT_ENDPOINT = 0x02
-const RECIPIENT_OTHER = 0x03
-
-// Synchronization types for isochronous endpoints, used in
-// EndpointDescriptor.Attributes, bits 2:3.
-const ISO_SYNC_TYPE_NONE = 0
-const ISO_SYNC_TYPE_ASYNC = 1
-const ISO_SYNC_TYPE_ADAPTIVE = 2
-const ISO_SYNC_TYPE_SYNC = 3
-
-// Usage types used in EndpointDescriptor.Attributes, bits 4:5.
-const ISO_USAGE_TYPE_DATA = 0
-const ISO_USAGE_TYPE_FEEDBACK = 1
-const ISO_USAGE_TYPE_IMPLICIT = 2
-
-// DeviceDescriptor is the standard USB device descriptor as
-// documented in section 9.6.1 of the USB 2.0 specification.
-type DeviceDescriptor struct {
- // Size of this descriptor (in bytes)
- Length byte
- // Descriptor type.
- DescriptorType byte
- // USB specification release number in binary-coded decimal.
- USBRelease uint16
-
- // USB-IF class code for the device.
- DeviceClass byte
- // USB-IF subclass code for the device, qualified by the
- // DeviceClass value.
- DeviceSubClass byte
- // USB-IF protocol code for the device, qualified by the
- // DeviceClass and DeviceSubClass values.
- DeviceProtocol byte
- // Maximum packet size for endpoint 0.
- MaxPacketSize0 byte
- // USB-IF vendor ID.
- IdVendor uint16
- // USB-IF product ID.
- IdProduct uint16
- // Device release number in binary-coded decimal.
- Device uint16
-
- // Index of string descriptor describing manufacturer.
- Manufacturer byte
- // Index of string descriptor describing product.
- Product byte
- // Index of string descriptor containing device serial number.
- SerialNumber byte
-
- // Number of possible configurations.
- NumConfigurations byte
-}
-
-// A collection of alternate settings for a USB interface.
-type Interface struct {
- AltSetting []InterfaceDescriptor
-}
-
-func (f *Interface) fromC(c *C.struct_libusb_interface) {
- f.AltSetting = make([]InterfaceDescriptor, c.num_altsetting)
-
- ds := []C.struct_libusb_interface_descriptor{}
- cSlice(unsafe.Pointer(&ds), unsafe.Pointer(c.altsetting), c.num_altsetting)
- for i, s := range ds {
- f.AltSetting[i].fromC(&s)
- }
-}
-
-// EndpointDescriptor represents the standard USB endpoint
-// descriptor. This descriptor is documented in section 9.6.3 of the
-// USB 2.0 specification.
-type EndpointDescriptor struct {
- // Size of this descriptor (in bytes)
- Length byte
-
- // Descriptor type. Will have value LIBUSB_DT_ENDPOINT in this
- // context.
- DescriptorType byte
-
- // The address of the endpoint described by this descriptor. Bits 0:3 are
- // the endpoint number. Bits 4:6 are reserved. Bit 7 indicates direction.
- EndpointAddress byte
-
- // Attributes which apply to the endpoint when it is configured using
- // the ConfigurationValue. Bits 0:1 determine the transfer type and
- // correspond to libusb_transfer_type. Bits 2:3 are only used for
- // isochronous endpoints and correspond to libusb_iso_sync_type.
- // Bits 4:5 are also only used for isochronous endpoints and correspond to
- // libusb_iso_usage_type. Bits 6:7 are reserved.
- Attributes byte
-
- // Maximum packet size this endpoint is capable of sending/receiving.
- MaxPacketSize uint16
-
- // Interval for polling endpoint for data transfers.
- Interval byte
-
- // For audio devices only: the rate at which synchronization feedback
- // is provided.
- Refresh byte
-
- // For audio devices only: the address if the synch endpoint
- SynchAddress byte
-
- // Extra descriptors. If libusb encounters unknown endpoint
- // descriptors, it will store them here, should you wish to
- // parse them.
- Extra []byte
-}
-
-// Endpoint transfer types, for bits 0:1 of
-// EndpointDescriptor.Attributes
-const TRANSFER_TYPE_CONTROL = 0
-const TRANSFER_TYPE_ISOCHRONOUS = 1
-const TRANSFER_TYPE_BULK = 2
-const TRANSFER_TYPE_INTERRUPT = 3
-
-// in: device-to-host
-const ENDPOINT_IN = 0x80
-
-// out: host-to-device
-const ENDPOINT_OUT = 0x00
-
-func (e *EndpointDescriptor) TransferType() byte {
- return e.Attributes & 0x3
-}
-
-func (e *EndpointDescriptor) Direction() byte {
- return e.EndpointAddress & ENDPOINT_IN
-}
-
-func (e *EndpointDescriptor) Number() byte {
- return e.EndpointAddress & 0x0f
-}
-
-func (e *EndpointDescriptor) String() string {
- tDir := "out"
- if e.EndpointAddress&ENDPOINT_IN != 0 {
- tDir = "in"
- }
-
- // TODO - print isochronous data too.
- s := fmt.Sprintf("ep num %x dir %s ttype %s maxpacket %d",
- e.Number(), tDir, transferTypeString(e.TransferType()),
- e.MaxPacketSize)
-
- return s
-}
-
-func byteArrToSlice(a *C.uchar, n C.int) []byte {
- var g []C.uchar
-
- b := make([]byte, int(n))
- for i, c := range g {
- b[i] = byte(c)
- }
- return b
-}
-
-func cSlice(slice unsafe.Pointer, arr unsafe.Pointer, n C.int) {
- h := (*reflect.SliceHeader)(slice)
- h.Cap = int(n)
- h.Len = int(n)
- h.Data = uintptr(unsafe.Pointer(arr))
-}
-
-func (d *EndpointDescriptor) fromC(c *C.struct_libusb_endpoint_descriptor) {
- d.Length = byte(c.bLength)
- d.DescriptorType = byte(c.bDescriptorType)
- d.EndpointAddress = byte(c.bEndpointAddress)
- d.Attributes = byte(c.bmAttributes)
- d.MaxPacketSize = uint16(c.wMaxPacketSize)
- d.Interval = byte(c.bInterval)
- d.Refresh = byte(c.bRefresh)
- d.SynchAddress = byte(c.bSynchAddress)
-
- d.Extra = byteArrToSlice(c.extra, c.extra_length)
-}
-
-// InterfaceDescriptor contains the standard USB interface descriptor,
-// according to section 9.6.5 of the USB 2.0 specification.
-type InterfaceDescriptor struct {
- // Size of this descriptor (in bytes)
- Length byte
-
- // Descriptor type. Will have value DT_INTERFACE
- // LIBUSB_DT_INTERFACE in this context.
- DescriptorType byte
-
- // Number of this interface
- InterfaceNumber byte
-
- // Value used to select this alternate setting for this interface
- AlternateSetting byte
-
- // USB-IF class code for this interface.
- InterfaceClass byte
-
- // USB-IF subclass code for this interface, qualified by the
- // InterfaceClass value
- InterfaceSubClass byte
-
- // USB-IF protocol code for this interface, qualified by the
- // InterfaceClass and InterfaceSubClass values
- InterfaceProtocol byte
-
- // Index of string descriptor describing this interface
- InterfaceStringIndex byte
-
- // Array of endpoint descriptors.
- EndPoints []EndpointDescriptor
-
- // Extra descriptors. If libusb encounters unknown interface
- // descriptors, it will store them here, should you wish to
- // parse them.
- Extra []byte
-}
-
-func (d *InterfaceDescriptor) fromC(c *C.struct_libusb_interface_descriptor) {
- d.Length = byte(c.bLength)
- d.DescriptorType = byte(c.bDescriptorType)
- d.InterfaceNumber = byte(c.bInterfaceNumber)
- d.AlternateSetting = byte(c.bAlternateSetting)
- d.InterfaceClass = byte(c.bInterfaceClass)
- d.InterfaceSubClass = byte(c.bInterfaceSubClass)
- d.InterfaceProtocol = byte(c.bInterfaceProtocol)
- d.InterfaceStringIndex = byte(c.iInterface)
- d.EndPoints = make([]EndpointDescriptor, c.bNumEndpoints)
-
- cs := []C.struct_libusb_endpoint_descriptor{}
- cSlice(unsafe.Pointer(&cs), unsafe.Pointer(c.endpoint), C.int(c.bNumEndpoints))
- for i, s := range cs {
- d.EndPoints[i].fromC(&s)
- }
-
- d.Extra = byteArrToSlice(c.extra, c.extra_length)
-}
-
-type IsoPacketDescriptor struct {
- // Length of data to request in this packet
- Length uint
-
- // Amount of data that was actually transferred
- ActualLength uint
-
- // Status code for this packet
- Status int
-}
-
-type ConfigDescriptor struct {
- // Size of this descriptor (in bytes)
- Length byte
-
- // Descriptor type. Will have value DT_CONFIG LIBUSB_DT_CONFIG
- // in this context.
- DescriptorType byte
-
- // Total length of data returned for this configuration
- TotalLength uint16
-
- // Identifier value for this configuration
- ConfigurationValue byte
-
- // Index of string descriptor describing this configuration
- ConfigurationIndex byte
-
- // Configuration characteristics
- Attributes byte
-
- // Maximum power consumption of the USB device from this bus in this
- // configuration when the device is fully opreation. Expressed in units
- // of 2 mA.
- MaxPower byte
-
- // Array of interfaces supported by this configuration.
- Interfaces []Interface
-
- // Extra descriptors. If libusb encounters unknown configuration
- // descriptors, it will store them here, should you wish to parse them.
- Extra []byte
-}
-
-func (d *ConfigDescriptor) fromC(c *C.struct_libusb_config_descriptor) {
- d.Length = byte(c.bLength)
- d.DescriptorType = byte(c.bDescriptorType)
- d.TotalLength = uint16(c.wTotalLength)
- d.ConfigurationValue = byte(c.bConfigurationValue)
- d.ConfigurationIndex = byte(c.iConfiguration)
- d.Attributes = byte(c.bmAttributes)
- d.MaxPower = byte(c.MaxPower)
-
- d.Interfaces = make([]Interface, c.bNumInterfaces)
-
- cis := []C.struct_libusb_interface{}
- cSlice(unsafe.Pointer(&cis), unsafe.Pointer(c._interface), C.int(c.bNumInterfaces))
- for i, iface := range cis {
- d.Interfaces[i].fromC(&iface)
- }
- d.Extra = byteArrToSlice(c.extra, c.extra_length)
-}
-
-type Context C.struct_libusb_context
-type Device C.struct_libusb_device
-type DeviceHandle C.struct_libusb_device_handle
-
-func NewContext() *Context {
- var r *C.struct_libusb_context
- C.libusb_init(&r)
- return (*Context)(r)
-}
-
-func (c *Context) me() *C.struct_libusb_context {
- return (*C.struct_libusb_context)(c)
-}
-
-func (c *Context) SetDebug(level int) {
- C.libusb_set_debug(c.me(), C.int(level))
-}
-
-func (c *Context) Exit() {
- C.libusb_exit(c.me())
-}
-
-type DeviceList []*Device
-
-func (d DeviceList) Done() {
- C.libusb_free_device_list((**C.libusb_device)(unsafe.Pointer((&d[0]))), 1)
-}
-
-func (c *Context) GetDeviceList() (DeviceList, error) {
- var devs **C.libusb_device
- count := C.libusb_get_device_list(c.me(), &devs)
- if count < 0 {
- return nil, Error(count)
- }
- slice := &reflect.SliceHeader{uintptr(unsafe.Pointer(devs)), int(count), int(count)}
- rdevs := *(*[]*Device)(unsafe.Pointer(slice))
- return DeviceList(rdevs), nil
-}
-
-func (d *Device) me() *C.libusb_device {
- return (*C.libusb_device)(d)
-}
-
-// Get the number of the bus that a device is connected to.
-func (d *Device) GetBusNumber() uint8 {
- return uint8(C.libusb_get_bus_number(d.me()))
-}
-
-// Get the address of the device on the bus it is connected to.
-func (d *Device) GetDeviceAddress() uint8 {
- return uint8(C.libusb_get_device_address(d.me()))
-}
-
-// Get the negotiated connection speed for a device.
-func (d *Device) GetDeviceSpeed() int {
- return int(C.libusb_get_device_speed(d.me()))
-}
-
-// Convenience function to retrieve the MaxPacketSize value for a particular endpoint in the active device configuration.
-func (d *Device) GetMaxPacketSize(endpoint byte) int {
- return int(C.libusb_get_max_packet_size(d.me(), C.uchar(endpoint)))
-}
-
-// Calculate the maximum packet size which a specific endpoint is capable is sending or receiving in the duration of 1 microframe.
-func (d *Device) GetMaxIsoPacketSize(endpoint byte) int {
- return int(C.libusb_get_max_iso_packet_size(d.me(), C.uchar(endpoint)))
-}
-
-func (d *Device) Ref() *Device {
- return (*Device)(C.libusb_ref_device((*C.libusb_device)(d.me())))
-}
-
-// Decrement the reference count of a device.
-func (d *Device) Unref() {
- C.libusb_unref_device((*C.libusb_device)(d.me()))
-}
-
-func (d *Device) GetDeviceDescriptor() (*DeviceDescriptor, error) {
- // this relies on struct packing being equal.
- var dd DeviceDescriptor
- r := C.libusb_get_device_descriptor(d.me(), (*C.struct_libusb_device_descriptor)(unsafe.Pointer(&dd)))
- return &dd, toErr(r)
-}
-
-func (d *Device) GetActiveConfigDescriptor() (*ConfigDescriptor, error) {
- var desc *C.struct_libusb_config_descriptor
- r := C.libusb_get_active_config_descriptor(d.me(), &desc)
- if r < 0 {
- return nil, toErr(r)
- }
-
- var cd ConfigDescriptor
- cd.fromC(desc)
- C.libusb_free_config_descriptor(desc)
- return &cd, nil
-}
-
-func (d *Device) GetConfigDescriptor(config byte) (*ConfigDescriptor, error) {
- var desc *C.struct_libusb_config_descriptor
- r := C.libusb_get_config_descriptor(d.me(), C.uint8_t(config), &desc)
- if r < 0 {
- return nil, toErr(r)
- }
-
- var cd ConfigDescriptor
- cd.fromC(desc)
- C.libusb_free_config_descriptor(desc)
- return &cd, nil
-}
-
-func (d *Device) GetConfigDescriptorByValue(value byte) (*ConfigDescriptor, error) {
- var desc *C.struct_libusb_config_descriptor
- r := C.libusb_get_config_descriptor_by_value(d.me(), C.uint8_t(value), &desc)
- if r < 0 {
- return nil, toErr(r)
- }
-
- var cd ConfigDescriptor
- cd.fromC(desc)
- C.libusb_free_config_descriptor(desc)
- return &cd, nil
-}
-
-// Determine the ConfigurationValue of the currently active configuration.
-func (h *DeviceHandle) GetConfiguration() (byte, error) {
- var r C.int
- err := C.libusb_get_configuration(h.me(), &r)
- return byte(r), toErr(err)
-}
-
-// Set the active configuration for a device. The argument should be
-// a ConfigurationValue, as given in the ConfigDescriptor.
-func (h *DeviceHandle) SetConfiguration(c byte) error {
- err := C.libusb_set_configuration(h.me(), C.int(c))
- return toErr(err)
-}
-
-// Open a device and obtain a device handle.
-func (d *Device) Open() (*DeviceHandle, error) {
- var h *C.libusb_device_handle
- r := C.libusb_open(d.me(), &h)
- return (*DeviceHandle)(h), toErr(r)
-}
-
-func (h *DeviceHandle) me() *C.libusb_device_handle {
- return (*C.libusb_device_handle)(h)
-}
-
-// Close a device handle.
-func (h *DeviceHandle) Close() error {
- C.libusb_close(h.me())
- return nil
-}
-
-// Get the underlying device for a handle.
-func (h *DeviceHandle) Device() *Device {
- return (*Device)(C.libusb_get_device(h.me()))
-}
-
-// Claim an interface on a given device handle.
-func (h *DeviceHandle) ClaimInterface(num byte) error {
- return toErr(C.libusb_claim_interface(h.me(), C.int(num)))
-}
-
-// Release an interface previously claimed with libusb_claim_interface().
-func (h *DeviceHandle) ReleaseInterface(num byte) error {
- return toErr(C.libusb_release_interface(h.me(), C.int(num)))
-}
-
-// Activate an alternate setting for an interface.
-func (h *DeviceHandle) SetInterfaceAltSetting(num int, alternate int) error {
- return toErr(C.libusb_set_interface_alt_setting(h.me(), C.int(num), C.int(alternate)))
-}
-
-func (h *DeviceHandle) GetStringDescriptorASCII(descIndex byte) (string, error) {
- data := make([]byte, 1024)
- start := (*C.uchar)(unsafe.Pointer(&data[0]))
- r := C.libusb_get_string_descriptor_ascii(h.me(),
- C.uint8_t(descIndex), start, C.int(len(data)))
- return C.GoString((*C.char)(unsafe.Pointer(&data[0]))), toErr(r)
-}
-
-func (h *DeviceHandle) ControlTransfer(reqType, req byte, value, index uint16,
- data []byte, timeout int) error {
- var ptr *byte
- if len(data) > 0 {
- ptr = &data[0]
- }
- if len(data) > 0xffff {
- return fmt.Errorf("overflow")
- }
- err := C.libusb_control_transfer(h.me(),
- C.uint8_t(reqType), C.uint8_t(req), C.uint16_t(value), C.uint16_t(index),
- (*C.uchar)(ptr), C.uint16_t(len(data)), C.uint(timeout))
- return toErr(err)
-}
-
-func (h *DeviceHandle) BulkTransfer(endpoint byte, data []byte, timeout int) (actual int, err error) {
- var ptr *byte
- if len(data) > 0 {
- ptr = &data[0]
- }
-
- var n C.int
- e := C.libusb_bulk_transfer(h.me(), C.uchar(endpoint), (*C.uchar)(ptr),
- C.int(len(data)), &n, C.uint(timeout))
- return int(n), toErr(e)
-}
-
-func (h *DeviceHandle) InterruptTransfer(endpoint byte, data []byte, timeout int) (actual int, err error) {
- var ptr *byte
- if len(data) > 0 {
- ptr = &data[0]
- }
-
- var n C.int
- e := C.libusb_bulk_transfer(h.me(), C.uchar(endpoint), (*C.uchar)(ptr),
- C.int(len(data)), &n, C.uint(timeout))
- return int(n), toErr(e)
-}
-
-// Perform a USB port reset to reinitialize a device.
-func (h *DeviceHandle) Reset() error {
- return toErr(C.libusb_reset_device(h.me()))
-}
-
-// Clear an halt/stall for a endpoint.
-func (h *DeviceHandle) ClearHalt(endpoint byte) error {
- return toErr(C.libusb_clear_halt(h.me(), C.uchar(endpoint)))
-}
-
-// Determine if a kernel driver is active on an interface.
-func (h *DeviceHandle) KernelDriverActive(ifaceNum byte) (bool, error) {
- ret := C.libusb_kernel_driver_active(h.me(), C.int(ifaceNum))
- if ret == 0 {
- return false, nil
- }
- if ret == 1 {
- return true, nil
- }
- return false, toErr(ret)
-}
-
-// Detach a kernel driver from an interface.
-func (h *DeviceHandle) DetachKernelDriver(ifaceNum byte) error {
- return toErr(C.libusb_detach_kernel_driver(h.me(), C.int(ifaceNum)))
-}
-
-// Re-attach an interface's kernel driver, which was previously detached using libusb_detach_kernel_driver().
-func (h *DeviceHandle) AttachKernelDriver(ifaceNum byte) error {
- return toErr(C.libusb_attach_kernel_driver(h.me(), C.int(ifaceNum)))
-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/usb_test.go new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/usb_test.go
--- old/go-mtpfs-0.0.0+git20131015.bb3f0c2/usb/usb_test.go 2013-11-11 11:27:55.000000000 +0100
+++ new/go-mtpfs-0.0.0+git20140903.689b5b4/usb/usb_test.go 1970-01-01 01:00:00.000000000 +0100
@@ -1,69 +0,0 @@
-package usb
-
-import (
- "testing"
-)
-
-func TestDevice(t *testing.T) {
- c := NewContext()
- defer c.Exit()
- l, err := c.GetDeviceList()
- if err != nil {
- t.Fatal("GetDeviceList failed:", err)
- }
-
- for _, dev := range l {
- t.Logf("bus 0x%x addr 0x%x speed 0x%x\n",
- dev.GetBusNumber(), dev.GetDeviceAddress(), dev.GetDeviceSpeed())
- dd, err := dev.GetDeviceDescriptor()
- if err != nil {
- t.Logf("GetDeviceDescriptor failed: %v", err)
- continue
- }
-
- t.Logf("Vendor/Product %x:%x Class/subclass/protocol %x:%x:%x: %s\n",
- dd.IdVendor, dd.IdProduct, dd.DeviceClass, dd.DeviceSubClass, dd.DeviceProtocol, CLASS_names[dd.DeviceClass])
-
- stringDescs := []byte{
- dd.Manufacturer, dd.Product, dd.SerialNumber,
- }
-
- for i := 0; i < int(dd.NumConfigurations); i++ {
- cd, err := dev.GetConfigDescriptor(byte(i))
- if err != nil {
- t.Logf("GetConfigDescriptor failed: %v", err)
- continue
- }
- stringDescs = append(stringDescs, cd.ConfigurationIndex)
- t.Logf(" config value %x, attributes %x power %d\n", cd.ConfigurationValue,
- cd.Attributes, cd.MaxPower)
- for idx, iface := range cd.Interfaces {
- t.Logf(" iface %d\n", idx)
- for _, alt := range iface.AltSetting {
- t.Logf(" num %d class/subclass/protocol %x/%x/%x\n",
- alt.InterfaceNumber, alt.InterfaceClass, alt.InterfaceSubClass, alt.InterfaceProtocol)
- for _, ep := range alt.EndPoints {
- t.Logf(" %v", &ep)
- }
- stringDescs = append(stringDescs, alt.InterfaceStringIndex)
- }
- }
- }
-
- dh, err := dev.Open()
- if err != nil {
- t.Logf("can't open: %v", err)
- continue
- }
-
- for _, c := range stringDescs {
- str, err := dh.GetStringDescriptorASCII(c)
- if err != nil {
- t.Logf("GetStringDescriptorASCII %d failed: %v", c, err)
- continue
- }
- t.Logf(" desc %d: %s", c, str)
- }
- dh.Close()
- }
-}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package go-pretty for openSUSE:Factory checked in at 2014-09-23 10:42:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go-pretty (Old)
and /work/SRC/openSUSE:Factory/.go-pretty.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go-pretty"
Changes:
--------
--- /work/SRC/openSUSE:Factory/go-pretty/go-pretty.changes 2013-09-25 14:31:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.go-pretty.new/go-pretty.changes 2014-09-23 10:42:48.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Sep 19 09:10:27 UTC 2014 - i(a)marguerite.su
+
+- update version 0.0.0+git20140812.f31442d
+
+-------------------------------------------------------------------
Old:
----
pretty-0.0.0+git20111222.tar.bz2
New:
----
_service
pretty-0.0.0+git20140812.f31442d.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go-pretty.spec ++++++
--- /var/tmp/diff_new_pack.R9ExUR/_old 2014-09-23 10:42:49.000000000 +0200
+++ /var/tmp/diff_new_pack.R9ExUR/_new 2014-09-23 10:42:49.000000000 +0200
@@ -1,6 +1,7 @@
#
-# spec file for package go-pretty-go
+# spec file for package go-pretty
#
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2011 Sascha Peilicke <saschpe(a)gmx.de>
#
# All modifications and additions to the file contributed by third parties
@@ -17,66 +18,52 @@
Name: go-pretty
-Version: 0.0.0+git20111222
+Version: 0.0.0+git20140812.f31442d
Release: 0
Summary: Pretty printing for Go values
-Group: Development/Languages/Other
License: MIT
-URL: https://github.com/kr/pretty.go
+Group: Development/Languages/Other
+Url: https://github.com/kr/pretty.go
Source0: pretty-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: go-devel
-Obsoletes: go-pretty.go go-pretty.go-devel
-%if 0%{?suse_version} >= 1100
-Recommends: go-pretty-doc
-%endif
+BuildRequires: go-kr-text
+Obsoletes: go-pretty.go
+Obsoletes: go-pretty.go-devel
+Requires: go-kr-text
%{go_provides}
%{go_requires}
+%{go_recommends}
%description
Package pretty provides pretty-printing for go values. This is useful during
debugging, to avoid wrapping long output lines in the terminal.
It provides a function, Formatter, that can be used with any function that
-accepts a format string. For example,
-
-type LongTypeName struct {
- longFieldName, otherLongFieldName int
-}
-func TestFoo(t *testing.T) {
- var x []LongTypeName{{1, 2}, {3, 4}, {5, 6}}
- t.Errorf("%# v", Formatter(x))
-}
+accepts a format string.
This package also provides a convenience wrapper for each function in package
fmt that takes a format string.
-%package doc
-Summary: API documenation
-Group: Documentation/Other
-Requires: %{name} = %{version}
-
-%description doc
-API, examples and documentation.
+%godoc_package
%prep
-%setup -q -n pretty
+%setup -q -n pretty-%{version}
%build
%goprep github.com/kr/pretty
%gobuild ...
%install
-%{go_disable_brp_strip_static_archive}
-
%goinstall
%godoc
-#%%gotest github.com/kr/pretty
+%check
+%gotest github.com/kr/pretty
%files
%defattr(-,root,root,-)
-%doc Readme.md
+%doc Readme License
%{go_contribdir}/*
%files doc
++++++ _service ++++++
<services>
<service name="tar_scm" mode="disabled">
<param name="url">https://github.com/kr/pretty.git</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">0.0.0+git%cd.%h</param>
<param name="revision">master</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">pretty-*.tar</param>
<param name="compression">bz2</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">pretty</param>
</service>
</services>
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package perl-Cache-Cache for openSUSE:Factory checked in at 2014-09-23 10:42:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cache-Cache (Old)
and /work/SRC/openSUSE:Factory/.perl-Cache-Cache.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cache-Cache"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cache-Cache/perl-Cache-Cache.changes 2014-03-28 13:17:02.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Cache-Cache.new/perl-Cache-Cache.changes 2014-09-23 10:42:47.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Sep 18 09:23:52 UTC 2014 - mlin(a)suse.com
+
+- update to version 1.07
+ * fix a bug where we checked @$ instead of $@ after eval
+
+-------------------------------------------------------------------
Old:
----
Cache-Cache-1.06.tar.gz
New:
----
Cache-Cache-1.07.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Cache-Cache.spec ++++++
--- /var/tmp/diff_new_pack.mJ1c2O/_old 2014-09-23 10:42:48.000000000 +0200
+++ /var/tmp/diff_new_pack.mJ1c2O/_new 2014-09-23 10:42:48.000000000 +0200
@@ -17,22 +17,24 @@
Name: perl-Cache-Cache
-Version: 1.06
+Version: 1.07
Release: 0
%define cpan_name Cache-Cache
Summary: The Cache::Cache cache interface
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Cache-Cache/
-Source: http://www.cpan.org/authors/id/J/JS/JSWARTZ/%{cpan_name}-%{version}.tar.gz
+Source: http://www.cpan.org/authors/id/R/RJ/RJBS/%{cpan_name}-%{version}.tar.gz
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
-BuildRequires: perl(Digest::SHA1)
-BuildRequires: perl(Error)
BuildRequires: perl-macros
-Requires: perl(Digest::SHA1)
-Requires: perl(Error)
+BuildRequires: perl(Digest::SHA1) >= 2.02
+BuildRequires: perl(Error) >= 0.15
+BuildRequires: perl(IPC::ShareLite) >= 0.09
+Requires: perl(Digest::SHA1) >= 2.02
+Requires: perl(Error) >= 0.15
+Requires: perl(IPC::ShareLite) >= 0.09
%{perl_requires}
%description
++++++ Cache-Cache-1.06.tar.gz -> Cache-Cache-1.07.tar.gz ++++++
Files old/Cache-Cache-1.06/._META.yml and new/Cache-Cache-1.07/._META.yml differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/CHANGES new/Cache-Cache-1.07/CHANGES
--- old/Cache-Cache-1.06/CHANGES 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/CHANGES 2014-09-17 15:58:18.000000000 +0200
@@ -1,6 +1,9 @@
Revision history for Cache
-1.06 in progress
+1.07 2014-09-17
+ - fix a bug where we checked @$ instead of $@ after eval
+
+1.06 2009-02-28
- updated the project homepage and added notes about the CHI project
- fixed extra "use vars" in CacheUtils
@@ -12,7 +15,7 @@
1.04 2005-03-17-11-23
- release version 1.04
- repair permissions on temp cache files
-
+
1.03 2004-10-04-11-23
- release version 1.03
- modified the FileBackend to use the more robust File::Temp
@@ -52,10 +55,10 @@
- released version 0.99
- major refactoring of code
- replaced non-standard usage of SUCCESS and FAILURE with Error.pm
- - replaced non-standard usage of TRUE and FALSE with 1 and 0
+ - replaced non-standard usage of TRUE and FALSE with 1 and 0
- migrated from the term "identifier" to the more standard term "key"
and marked the old public methods with identifier as deprecated
- - broke out the MemoryBackend, FileBackend, SharedMemoryBackend into
+ - broke out the MemoryBackend, FileBackend, SharedMemoryBackend into
distinct and reusable classes
- fixed a long outstanding bug in the unit tests that made working
caches appear to fail
@@ -99,7 +102,7 @@
- released version 0.07
- prepared for initial CPAN release
- improved Cache::Cache documentation
- - removed last "use IPC::Shareable"
+ - removed last "use IPC::Shareable"
- added support in the Makefile.PL to conditionally build the
SharedMemoryCache, which requires IPC::ShareLite, and thus runs only
on certain architectures. Also broke out the IPC related routines
@@ -109,7 +112,7 @@
0.06 2001-03-23-08-36
- release version 0.06
- added the get_identifiers method to the Cache interface, implemented
- the method for all classes, added a new test, and updated the test
+ the method for all classes, added a new test, and updated the test
scripts
- added the size property to Object
- added the _freeze and _thaw methods to the BaseCache class and
@@ -129,7 +132,7 @@
- added exclusive locking on the shared cache for operations that
will both read and write to the cache
- replaced the cache_hash_ref instance property in MemoryCache with
- a class property and updated the SharedMemoryCache and
+ a class property and updated the SharedMemoryCache and
SizeAwareSharedMemoryCache modules accordingly
- started version 0.06
@@ -151,12 +154,12 @@
0.03 2001-03-10-12-40
- released version 0.03
- made the FileCache more multi-user friendly by allowing a more
- permissive default directory umask, which can also be optionally
+ permissive default directory umask, which can also be optionally
overridden
- updated documentation and code style
- completely rewrote and improved the limit_size method for a major
performance gain
- - updated the syntax for expiration times to include the [number] [unit]
+ - updated the syntax for expiration times to include the [number] [unit]
format, e.g. "10 seconds"
- added the get_object method to the Cache interface, which allows
access to the underlying cache object (without potentially expiring
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/MANIFEST new/Cache-Cache-1.07/MANIFEST
--- old/Cache-Cache-1.06/MANIFEST 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/MANIFEST 2014-09-17 16:01:29.000000000 +0200
@@ -33,4 +33,5 @@
t/5_test_size_aware_file_cache.t
t/6_test_size_aware_memory_cache.t
t/7_test_size_aware_shared_memory_cache.t
-META.yml Module meta-data (added by MakeMaker)
+META.yml Module YAML meta-data (added by MakeMaker)
+META.json Module JSON meta-data (added by MakeMaker)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/META.json new/Cache-Cache-1.07/META.json
--- old/Cache-Cache-1.06/META.json 1970-01-01 01:00:00.000000000 +0100
+++ new/Cache-Cache-1.07/META.json 2014-09-17 16:01:28.000000000 +0200
@@ -0,0 +1,45 @@
+{
+ "abstract" : "unknown",
+ "author" : [
+ "unknown"
+ ],
+ "dynamic_config" : 1,
+ "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060",
+ "license" : [
+ "unknown"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Cache-Cache",
+ "no_index" : {
+ "directory" : [
+ "t",
+ "inc"
+ ]
+ },
+ "prereqs" : {
+ "build" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Digest::SHA1" : "2.02",
+ "Error" : "0.15",
+ "File::Spec" : "0.82",
+ "IPC::ShareLite" : "0.09",
+ "Storable" : "1.014"
+ }
+ }
+ },
+ "release_status" : "stable",
+ "version" : "1.07"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/META.yml new/Cache-Cache-1.07/META.yml
--- old/Cache-Cache-1.06/META.yml 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/META.yml 2014-09-17 16:01:28.000000000 +0200
@@ -1,14 +1,26 @@
-# http://module-build.sourceforge.net/META-spec.html
-#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX#
-name: Cache-Cache
-version: 1.05
-version_from: lib/Cache/Cache.pm
-installdirs: site
+---
+abstract: unknown
+author:
+ - unknown
+build_requires:
+ ExtUtils::MakeMaker: '0'
+configure_requires:
+ ExtUtils::MakeMaker: '0'
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 2.142060'
+license: unknown
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Cache-Cache
+no_index:
+ directory:
+ - t
+ - inc
requires:
- Digest::SHA1: 2.02
- Error: 0.15
- File::Spec: 0.82
- Storable: 1.014
-
-distribution_type: module
-generated_by: ExtUtils::MakeMaker version 6.17
+ Digest::SHA1: '2.02'
+ Error: '0.15'
+ File::Spec: '0.82'
+ IPC::ShareLite: '0.09'
+ Storable: '1.014'
+version: '1.07'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/Makefile.PL new/Cache-Cache-1.07/Makefile.PL
--- old/Cache-Cache-1.06/Makefile.PL 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/Makefile.PL 2014-09-17 15:56:35.000000000 +0200
@@ -1,3 +1,4 @@
+use strict;
use ExtUtils::MakeMaker;
##
@@ -10,11 +11,11 @@
my $COMPRESS = 'gzip';
my $SUFFIX = '.gz';
my $DEFAULT_PREREQ_PM = {
- Digest::SHA1 => '2.02',
- File::Spec => '0.82',
- Storable => '1.014',
- IPC::ShareLite => '0.09',
- Error => '0.15'
+ 'Digest::SHA1' => '2.02',
+ 'File::Spec' => '0.82',
+ 'Storable' => '1.014',
+ 'IPC::ShareLite' => '0.09',
+ 'Error' => '0.15'
};
my @NON_IPC_TESTS = ( 't/1_test_cache_interface.t',
@@ -49,7 +50,7 @@
{
Print_ShareLite_Missing_Message( );
$options{test} = { TESTS => join( ' ', @NON_IPC_TESTS ) };
- delete $options{PREREQ_PM}->{IPC::ShareLite};
+ delete $options{PREREQ_PM}->{'IPC::ShareLite'};
}
WriteMakefile( %options );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/lib/Cache/Cache.pm new/Cache-Cache-1.07/lib/Cache/Cache.pm
--- old/Cache-Cache-1.06/lib/Cache/Cache.pm 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/lib/Cache/Cache.pm 2014-09-17 15:55:50.000000000 +0200
@@ -20,7 +20,7 @@
@EXPORT_OK = qw( $VERSION $EXPIRES_NOW $EXPIRES_NEVER );
-$VERSION = "1.06";
+$VERSION = "1.07";
$EXPIRES_NOW = 'now';
$EXPIRES_NEVER = 'never';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Cache-Cache-1.06/lib/Cache/CacheTester.pm new/Cache-Cache-1.07/lib/Cache/CacheTester.pm
--- old/Cache-Cache-1.06/lib/Cache/CacheTester.pm 2009-03-01 01:53:14.000000000 +0100
+++ new/Cache-Cache-1.07/lib/Cache/CacheTester.pm 2014-09-17 15:51:34.000000000 +0200
@@ -554,13 +554,13 @@
my $expires_in = $EXPIRES_DELAY;
- eval
- {
+ my $ok = eval {
$cache = $cache->new( { 'auto_purge_interval' => $expires_in } );
+ 1;
};
- ( not defined @$ ) ?
- $self->ok( ) : $self->not_ok( "couldn't create autopurge cache" );
+ $ok ? $self->ok( )
+ : $self->not_ok( "couldn't create autopurge cache" );
}
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0