openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- 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
March 2015
- 1 participants
- 2208 discussions
Hello community,
here is the log from the commit of package java-1_9_0-openjdk for openSUSE:Factory checked in at 2015-03-01 14:47:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_9_0-openjdk (Old)
and /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "java-1_9_0-openjdk"
Changes:
--------
--- /work/SRC/openSUSE:Factory/java-1_9_0-openjdk/java-1_9_0-openjdk.changes 2015-02-18 12:09:08.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/java-1_9_0-openjdk.changes 2015-03-01 14:47:24.000000000 +0100
@@ -1,0 +2,13 @@
+Fri Feb 20 08:42:33 UTC 2015 - fstrba(a)suse.com
+
+- Upgrade to upstream tag jdk9-b51
+- Updated patches:
+ * link-with-as-needed.patch
+ * s390-size_t.patch
+ - rediff to the new context
+- Added patch:
+ * aarch64-hotspot.patch
+ - forward-port the symbol JVM_GetNanoTimeAdjustment that is
+ not part of aarch64 tarball
+
+-------------------------------------------------------------------
Old:
----
1ccb6ef2f40b.tar.bz2
224f593393e5.tar.bz2
32e48a0d59e1.tar.bz2
45a30e7ee623.tar.bz2
74ead7bddde1.tar.bz2
d1f37d39ff24.tar.bz2
e0947f58c9c1.tar.bz2
f6b8edd397ee.tar.bz2
New:
----
10b32cc48ccc.tar.bz2
2309c02386d1.tar.bz2
403b9cbadb04.tar.bz2
6207b4b8731c.tar.bz2
7c44d9a33bbe.tar.bz2
7cb3674cbd8c.tar.bz2
a0dad230aeb3.tar.bz2
aarch64-hotspot.patch
bb9cf97a5ac6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_9_0-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.0vX8Wa/_old 2015-03-01 14:47:27.000000000 +0100
+++ /var/tmp/diff_new_pack.0vX8Wa/_new 2015-03-01 14:47:27.000000000 +0100
@@ -33,17 +33,17 @@
%global minorver 9
%global microver 0
%global updatever 0
-%global buildver b50
+%global buildver b51
%global root_project jdk9
%global root_repository jdk9
-%global root_revision d1f37d39ff24
-%global corba_revision 224f593393e5
-%global hotspot_revision e0947f58c9c1
-%global jaxp_revision 74ead7bddde1
-%global jaxws_revision 45a30e7ee623
-%global jdk_revision f6b8edd397ee
-%global langtools_revision 1ccb6ef2f40b
-%global nashorn_revision 32e48a0d59e1
+%global root_revision 6207b4b8731c
+%global corba_revision 2309c02386d1
+%global hotspot_revision 403b9cbadb04
+%global jaxp_revision 7cb3674cbd8c
+%global jaxws_revision bb9cf97a5ac6
+%global jdk_revision a0dad230aeb3
+%global langtools_revision 7c44d9a33bbe
+%global nashorn_revision 10b32cc48ccc
%global aarch64_project aarch64-port
%global aarch64_repository stage
%global aarch64_hotspot_revision 00f3abb1f174
@@ -205,6 +205,8 @@
Patch5: multiple-pkcs11-library-init.patch
# Disable doclint for compatibility
Patch6: disable-doclint-by-default.patch
+# Missing symbol in aarch64 hotspot tarball
+Patch8: aarch64-hotspot.patch
# Add missing build bits for AArch64 from the AArch64 branch
Patch9: aarch64-misc.patch
# From icedtea: Increase default memory limits
@@ -501,6 +503,9 @@
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%ifarch %{aarch64}
+%patch8 -p1
+%endif
%patch9 -p1
%patch10 -p1
%patch12 -p1
++++++ 1ccb6ef2f40b.tar.bz2 -> 10b32cc48ccc.tar.bz2 ++++++
++++ 1000300 lines of diff (skipped)
++++++ 1ccb6ef2f40b.tar.bz2 -> 2309c02386d1.tar.bz2 ++++++
++++ 836785 lines of diff (skipped)
++++++ 1ccb6ef2f40b.tar.bz2 -> 403b9cbadb04.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1ccb6ef2f40b.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/403b9cbadb04.tar.bz2 differ: char 11, line 1
++++++ 1ccb6ef2f40b.tar.bz2 -> 6207b4b8731c.tar.bz2 ++++++
++++ 739799 lines of diff (skipped)
++++++ 1ccb6ef2f40b.tar.bz2 -> 7c44d9a33bbe.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/.hg_archival.txt new/langtools-7c44d9a33bbe/.hg_archival.txt
--- old/langtools-1ccb6ef2f40b/.hg_archival.txt 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/.hg_archival.txt 2015-02-13 01:38:39.000000000 +0100
@@ -1,4 +1,4 @@
repo: 9a66ca7c79fab293c1bb0534e0d208c7e4f58b01
-node: 1ccb6ef2f40bf9961b27adac390a6fc5181aa1fc
+node: 7c44d9a33bbea75f5d91625df9bbccea360aea2a
branch: default
-tag: jdk9-b50
+tag: jdk9-b51
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/.hgtags new/langtools-7c44d9a33bbe/.hgtags
--- old/langtools-1ccb6ef2f40b/.hgtags 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/.hgtags 2015-02-13 01:38:39.000000000 +0100
@@ -292,3 +292,4 @@
230c139552501e612dd0d4423ac30f94c1201c0d jdk9-b47
5b102fc29edf8b7eee7df208d8a8bba0e0a52f3a jdk9-b48
15c79f28e30a1be561abe0d67674232ad5034d32 jdk9-b49
+1ccb6ef2f40bf9961b27adac390a6fc5181aa1fc jdk9-b50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java new/langtools-7c44d9a33bbe/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
--- old/langtools-1ccb6ef2f40b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/DeferredAttr.java 2015-02-13 01:38:39.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -236,7 +236,8 @@
DeferredStuckPolicy deferredStuckPolicy;
if (resultInfo.pt.hasTag(NONE) || resultInfo.pt.isErroneous()) {
deferredStuckPolicy = dummyStuckPolicy;
- } else if (resultInfo.checkContext.deferredAttrContext().mode == AttrMode.SPECULATIVE) {
+ } else if (resultInfo.checkContext.deferredAttrContext().mode == AttrMode.SPECULATIVE ||
+ resultInfo.checkContext.deferredAttrContext().insideOverloadPhase()) {
deferredStuckPolicy = new OverloadStuckPolicy(resultInfo, this);
} else {
deferredStuckPolicy = new CheckStuckPolicy(resultInfo, this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java new/langtools-7c44d9a33bbe/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java
--- old/langtools-1ccb6ef2f40b/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/src/jdk.compiler/share/classes/com/sun/tools/javac/util/JavacMessages.java 2015-02-13 01:38:39.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -56,7 +56,7 @@
private Map<Locale, SoftReference<List<ResourceBundle>>> bundleCache;
- private List<String> bundleNames;
+ private List<ResourceBundleHelper> bundleHelpers;
private Locale currentLocale;
private List<ResourceBundle> currentBundles;
@@ -91,7 +91,7 @@
* @param bundleName the name to identify the resource bundle of localized messages.
*/
public JavacMessages(String bundleName, Locale locale) throws MissingResourceException {
- bundleNames = List.nil();
+ bundleHelpers = List.nil();
bundleCache = new HashMap<>();
add(bundleName);
setCurrentLocale(locale);
@@ -101,8 +101,13 @@
this(defaultBundleName);
}
+ @Override
public void add(String bundleName) throws MissingResourceException {
- bundleNames = bundleNames.prepend(bundleName);
+ add(locale -> ResourceBundle.getBundle(bundleName, locale));
+ }
+
+ public void add(ResourceBundleHelper ma) {
+ bundleHelpers = bundleHelpers.prepend(ma);
if (!bundleCache.isEmpty())
bundleCache.clear();
currentBundles = null;
@@ -115,12 +120,13 @@
List<ResourceBundle> bundleList = bundles == null ? null : bundles.get();
if (bundleList == null) {
bundleList = List.nil();
- for (String bundleName : bundleNames) {
+ for (ResourceBundleHelper helper : bundleHelpers) {
try {
- ResourceBundle rb = ResourceBundle.getBundle(bundleName, locale);
+ ResourceBundle rb = helper.getResourceBundle(locale);
bundleList = bundleList.prepend(rb);
} catch (MissingResourceException e) {
- throw new InternalError("Cannot find javac resource bundle for locale " + locale);
+ throw new InternalError("Cannot find requested resource bundle for locale " +
+ locale, e);
}
}
bundleCache.put(locale, new SoftReference<>(bundleList));
@@ -134,6 +140,7 @@
return getLocalizedString(currentLocale, key, args);
}
+ @Override
public String getLocalizedString(Locale l, String key, Object... args) {
if (l == null)
l = getCurrentLocale();
@@ -146,8 +153,7 @@
* easy access to simple localized strings.
*/
- private static final String defaultBundleName =
- "com.sun.tools.javac.resources.compiler";
+ private static final String defaultBundleName = "com.sun.tools.javac.resources.compiler";
private static ResourceBundle defaultBundle;
private static JavacMessages defaultMessages;
@@ -198,4 +204,17 @@
}
return MessageFormat.format(msg, args);
}
+
+ /**
+ * This provides a way for the JavacMessager to retrieve a
+ * ResourceBundle from another module such as jdk.javadoc.
+ */
+ public interface ResourceBundleHelper {
+ /**
+ * Gets the ResourceBundle.
+ * @param locale the requested bundle's locale
+ * @return ResourceBundle
+ */
+ ResourceBundle getResourceBundle(Locale locale);
+ }
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java new/langtools-7c44d9a33bbe/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java
--- old/langtools-1ccb6ef2f40b/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/Messager.java 2015-02-13 01:38:39.000000000 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,6 +27,7 @@
import java.io.PrintWriter;
import java.util.Locale;
+import java.util.ResourceBundle;
import com.sun.javadoc.*;
import com.sun.tools.javac.util.Context;
@@ -126,9 +127,11 @@
PrintWriter noticeWriter) {
super(context, errWriter, warnWriter, noticeWriter);
messages = JavacMessages.instance(context);
- messages.add("com.sun.tools.javadoc.resources.javadoc");
+ messages.add(locale -> ResourceBundle.getBundle("com.sun.tools.javadoc.resources.javadoc",
+ locale));
javadocDiags = new JCDiagnostic.Factory(messages, "javadoc");
this.programName = programName;
+
}
public void setLocale(Locale locale) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8016177/T8016177g.java new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8016177/T8016177g.java
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8016177/T8016177g.java 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8016177/T8016177g.java 2015-02-13 01:38:39.000000000 +0100
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 8016081 8016178
+ * @bug 8016081 8016178 8069545
* @summary structural most specific and stuckness
* @compile/fail/ref=T8016177g.out -XDrawDiagnostics T8016177g.java
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8016177/T8016177g.out new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8016177/T8016177g.out
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8016177/T8016177g.out 2015-02-06 00:44:57.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8016177/T8016177g.out 2015-02-13 01:38:39.000000000 +0100
@@ -1,2 +1,3 @@
-T8016177g.java:35:20: compiler.err.prob.found.req: (compiler.misc.possible.loss.of.precision: double, int)
-1 error
+T8016177g.java:34:14: compiler.err.cant.apply.symbol: kindname.method, print, java.lang.String, Test.Person, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inferred.do.not.conform.to.upper.bounds: Test.Person, java.lang.String,java.lang.Object))
+T8016177g.java:35:20: compiler.err.cant.apply.symbol: kindname.method, abs, int, java.lang.Double, kindname.class, Test, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.instance.exists: , R, int))
+2 errors
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8068399/T8068399.java new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8068399/T8068399.java
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8068399/T8068399.java 1970-01-01 01:00:00.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8068399/T8068399.java 2015-02-13 01:38:39.000000000 +0100
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+/*
+ * @test
+ * @bug 8068399
+ * @summary structural most specific and stuckness
+ */
+
+import java.util.function.Function;
+import java.util.stream.IntStream;
+import java.util.stream.Stream;
+
+public class T8068399 {
+
+ public static class Spectrum {
+ public double[] getEnergy() {
+ return new double[0];
+ }
+ }
+
+ protected Spectrum spectrum;
+
+ public static class Ref<T> {
+
+ T value;
+
+ public Ref() {
+ }
+
+ public Ref(T value) {
+ this.value = value;
+ }
+
+ public boolean isNull() {
+ return value == null;
+ }
+
+ public T get() {
+ return value;
+ }
+
+ public void set(T value) {
+ this.value = value;
+ }
+ }
+
+ public static <T>T maxKey(Stream<T> stream, Function<T, Double> function) {
+ Ref<Double> max = new Ref<>();
+ Ref<T> index = new Ref<>();
+ stream.forEach(v -> {
+ Double value = function.apply(v);
+
+ if (max.isNull() || value > max.get()) {
+ max.set(value);
+ index.set(v);
+ }
+ });
+
+ return index.get();
+ }
+
+ public static int interpolate(int x, int x0, int x1, int y0, int y1) {
+ return y0 + (x - x0) * (y1 - y0) / (x1 - x0);
+ }
+
+ public static double interpolate(double x, double x0, double x1, double y0, double y1) {
+ return y0 + (x - x0) * (y1 - y0) / (x1 - x0);
+ }
+
+ protected int getXByFrequency(double frequency) {
+ return (int) Math.round(interpolate(frequency,
+ getMinSpectrumCoord(),
+ getMaxSpectrumCoord(),
+ 0, getWidth()));
+ }
+
+ private int getWidth() {
+ return 0;
+ }
+
+ private double getMaxSpectrumCoord() {
+ return 0;
+ }
+
+ private double getMinSpectrumCoord() {
+ return 0;
+ }
+
+ void foo() {
+ int maxBpmIndex = 0;
+ int xcur = getXByFrequency(maxKey(IntStream.range(0, maxBpmIndex).boxed(),
+ i -> Math.abs(spectrum.getEnergy()[i])));
+ }
+
+ public static void main(String [] args) {
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8068430/T8068430.java new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8068430/T8068430.java
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8068430/T8068430.java 1970-01-01 01:00:00.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8068430/T8068430.java 2015-02-13 01:38:39.000000000 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8068430
+ * @summary structural most specific and stuckness
+ */
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class T8068430 {
+ public static void main(String[] args) {
+ Map<Integer, String> mp = new HashMap<>();
+ mp.put(1, "a");
+ mp.put(2, "b");
+ mp.put(3, "c");
+ mp.put(4, "d");
+ System.out.println(mp.entrySet().stream().reduce(0,
+ (i, e) -> i + e.getKey(),
+ (i1, i2) -> i1 + i2));
+ }
+}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8071432/T8071432.java new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8071432/T8071432.java
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8071432/T8071432.java 1970-01-01 01:00:00.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8071432/T8071432.java 2015-02-13 01:38:39.000000000 +0100
@@ -0,0 +1,50 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8071432
+ * @summary structural most specific and stuckness
+ * @compile/fail/ref=T8071432.out -XDrawDiagnostics T8071432.java
+ */
+
+import java.util.Arrays;
+import java.util.Collection;
+
+class T8071432 {
+
+ static class Point {
+
+ private double x, y;
+
+ public Point(double x, double y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ public double distance(Point p) {
+ return Math.sqrt((this.x - p.x) * (this.x - p.x) +
+ (this.y - p.y) * (this.y - p.y));
+ }
+
+ public double distance() {
+ return Math.sqrt(this.x * this.x + this.y * this.y);
+ }
+
+ public String toString() {
+ return "(" + x + ":" + y + ")";
+ }
+ }
+
+ public static void main(String[] args) {
+ Collection<Point> c = Arrays.asList(new Point(1.0, 0.1));
+ System.out.println("------- 1 ---------------");
+ System.out.println(c.stream().reduce(0.0,
+ (s, p) -> s += p.distance(), (d1, d2) -> 0));
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8071432/T8071432.out new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8071432/T8071432.out
--- old/langtools-1ccb6ef2f40b/test/tools/javac/lambda/8071432/T8071432.out 1970-01-01 01:00:00.000000000 +0100
+++ new/langtools-7c44d9a33bbe/test/tools/javac/lambda/8071432/T8071432.out 2015-02-13 01:38:39.000000000 +0100
@@ -0,0 +1,3 @@
+T8071432.java:47:45: compiler.err.prob.found.req: (compiler.misc.infer.no.conforming.assignment.exists: U, (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.inconvertible.types: int, java.lang.Double)))
+T8071432.java:47:27: compiler.err.cant.apply.symbol: kindname.method, println, java.lang.Object, <any>, kindname.class, java.io.PrintStream, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.infer.no.conforming.assignment.exists: U, (compiler.misc.incompatible.ret.type.in.lambda: (compiler.misc.inconvertible.types: int, java.lang.Double))))
+2 errors
++++++ 1ccb6ef2f40b.tar.bz2 -> 7cb3674cbd8c.tar.bz2 ++++++
++++ 1305782 lines of diff (skipped)
++++++ 1ccb6ef2f40b.tar.bz2 -> a0dad230aeb3.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/java-1_9_0-openjdk/1ccb6ef2f40b.tar.bz2 /work/SRC/openSUSE:Factory/.java-1_9_0-openjdk.new/a0dad230aeb3.tar.bz2 differ: char 11, line 1
++++++ aarch64-hotspot.patch ++++++
--- jdk9/hotspot/make/linux/makefiles/mapfile-vers-debug 2015-02-20 14:13:19.887884974 +0100
+++ jdk9/hotspot/make/linux/makefiles/mapfile-vers-debug 2015-02-20 14:17:35.341894500 +0100
@@ -132,6 +132,7 @@
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
+ JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;
--- jdk9/hotspot/make/linux/makefiles/mapfile-vers-product 2015-02-20 14:13:19.887884974 +0100
+++ jdk9/hotspot/make/linux/makefiles/mapfile-vers-product 2015-02-20 14:17:35.342894477 +0100
@@ -132,6 +132,7 @@
JVM_GetMethodIxSignatureUTF;
JVM_GetMethodParameters;
JVM_GetMethodTypeAnnotations;
+ JVM_GetNanoTimeAdjustment;
JVM_GetPrimitiveArrayElement;
JVM_GetProtectionDomain;
JVM_GetStackAccessControlContext;
--- jdk9/hotspot/src/os/linux/vm/os_linux.cpp 2015-02-20 14:13:19.909884458 +0100
+++ jdk9/hotspot/src/os/linux/vm/os_linux.cpp 2015-02-20 14:17:35.343894453 +0100
@@ -1324,6 +1324,15 @@
return jlong(time.tv_sec) * 1000 + jlong(time.tv_usec / 1000);
}
+void os::javaTimeSystemUTC(jlong &seconds, jlong &nanos) {
+ timeval time;
+ int status = gettimeofday(&time, NULL);
+ assert(status != -1, "linux error");
+ seconds = jlong(time.tv_sec);
+ nanos = jlong(time.tv_usec) * 1000;
+}
+
+
#ifndef CLOCK_MONOTONIC
#define CLOCK_MONOTONIC (1)
#endif
--- jdk9/hotspot/src/share/vm/prims/jvm.cpp 2015-02-20 14:13:19.966883121 +0100
+++ jdk9/hotspot/src/share/vm/prims/jvm.cpp 2015-02-20 14:17:35.345894406 +0100
@@ -300,6 +300,48 @@
return os::javaTimeNanos();
JVM_END
+// The function below is actually exposed by sun.misc.VM and not
+// java.lang.System, but we choose to keep it here so that it stays next
+// to JVM_CurrentTimeMillis and JVM_NanoTime
+
+const jlong MAX_DIFF_SECS = 0x0100000000LL; // 2^32
+const jlong MIN_DIFF_SECS = -MAX_DIFF_SECS; // -2^32
+
+JVM_LEAF(jlong, JVM_GetNanoTimeAdjustment(JNIEnv *env, jclass ignored, jlong offset_secs))
+ JVMWrapper("JVM_GetNanoTimeAdjustment");
+ jlong seconds;
+ jlong nanos;
+
+ os::javaTimeSystemUTC(seconds, nanos);
+
+ // We're going to verify that the result can fit in a long.
+ // For that we need the difference in seconds between 'seconds'
+ // and 'offset_secs' to be such that:
+ // |seconds - offset_secs| < (2^63/10^9)
+ // We're going to approximate 10^9 ~< 2^30 (1000^3 ~< 1024^3)
+ // which makes |seconds - offset_secs| < 2^33
+ // and we will prefer +/- 2^32 as the maximum acceptable diff
+ // as 2^32 has a more natural feel than 2^33...
+ //
+ // So if |seconds - offset_secs| >= 2^32 - we return a special
+ // sentinel value (-1) which the caller should take as an
+ // exception value indicating that the offset given to us is
+ // too far from range of the current time - leading to too big
+ // a nano adjustment. The caller is expected to recover by
+ // computing a more accurate offset and calling this method
+ // again. (For the record 2^32 secs is ~136 years, so that
+ // should rarely happen)
+ //
+ jlong diff = seconds - offset_secs;
+ if (diff >= MAX_DIFF_SECS || diff <= MIN_DIFF_SECS) {
+ return -1; // sentinel value: the offset is too far off the target
+ }
+
+ // return the adjustment. If you compute a time by adding
+ // this number of nanoseconds along with the number of seconds
+ // in the offset you should get the current UTC time.
+ return (diff * (jlong)1000000000) + nanos;
+JVM_END
JVM_ENTRY(void, JVM_ArrayCopy(JNIEnv *env, jclass ignored, jobject src, jint src_pos,
jobject dst, jint dst_pos, jint length))
--- jdk9/hotspot/src/share/vm/prims/jvm.h 2015-02-20 14:13:19.966883121 +0100
+++ jdk9/hotspot/src/share/vm/prims/jvm.h 2015-02-20 14:17:35.345894406 +0100
@@ -131,6 +131,9 @@
JNIEXPORT jlong JNICALL
JVM_NanoTime(JNIEnv *env, jclass ignored);
+JNIEXPORT jlong JNICALL
+JVM_GetNanoTimeAdjustment(JNIEnv *env, jclass ignored, jlong offset_secs);
+
JNIEXPORT void JNICALL
JVM_ArrayCopy(JNIEnv *env, jclass ignored, jobject src, jint src_pos,
jobject dst, jint dst_pos, jint length);
--- jdk9/hotspot/src/share/vm/runtime/os.hpp Thu Jan 08 12:08:22 2015 -0800
+++ jdk9/hotspot/src/share/vm/runtime/os.hpp Thu Feb 12 16:39:35 2015 -0800
@@ -172,6 +172,7 @@
static jlong javaTimeMillis();
static jlong javaTimeNanos();
static void javaTimeNanos_info(jvmtiTimerInfo *info_ptr);
+ static void javaTimeSystemUTC(jlong &seconds, jlong &nanos);
static void run_periodic_checks();
static bool supports_monotonic_clock();
++++++ 1ccb6ef2f40b.tar.bz2 -> bb9cf97a5ac6.tar.bz2 ++++++
++++ 1177648 lines of diff (skipped)
++++++ link-with-as-needed.patch ++++++
--- /var/tmp/diff_new_pack.0vX8Wa/_old 2015-03-01 14:47:47.000000000 +0100
+++ /var/tmp/diff_new_pack.0vX8Wa/_new 2015-03-01 14:47:47.000000000 +0100
@@ -1,5 +1,5 @@
---- jdk9/jdk/make/launcher/Launcher-jdk.runtime.gmk 2015-01-21 11:14:03.248758378 +0100
-+++ jdk9/jdk/make/launcher/Launcher-jdk.runtime.gmk 2015-01-21 11:15:33.648665485 +0100
+--- jdk9/jdk/make/launcher/Launcher-jdk.runtime.gmk 2015-02-20 09:57:24.632828688 +0100
++++ jdk9/jdk/make/launcher/Launcher-jdk.runtime.gmk 2015-02-20 09:58:23.957473787 +0100
@@ -46,7 +46,7 @@
ifeq ($(USE_EXTERNAL_LIBZ), true)
@@ -9,8 +9,8 @@
else
UNPACKEXE_CFLAGS += -I$(JDK_TOPDIR)/src/java.base/share/native/libzip/zlib-1.2.8
UNPACKEXE_ZIPOBJS := $(SUPPORT_OUTPUTDIR)/native/java.base/libzip/zcrc32$(OBJ_SUFFIX) \
-@@ -105,9 +105,9 @@
- LDFLAGS_unix := $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
+@@ -90,9 +90,9 @@
+ $(LDFLAGS_JDKEXE) $(LDFLAGS_CXX_JDK) \
$(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)unpack$(SHARED_LIBRARY_SUFFIX)) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
- LDFLAGS_linux := -lc, \
@@ -19,11 +19,12 @@
- LDFLAGS_SUFFIX := $(LIBCXX), \
+ LDFLAGS_SUFFIX := $(UNPACKEXE_LIBS) $(LIBCXX), \
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpackexe$(OUTPUT_SUBDIR), \
- OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/unpackexe$(OUTPUT_SUBDIR), \
+ OUTPUT_DIR := $(SUPPORT_OUTPUTDIR)/modules_cmds/$(MODULE), \
PROGRAM := unpack200, \
---- jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-01-21 11:14:03.248758378 +0100
-+++ jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-01-21 11:15:33.648665485 +0100
-@@ -500,7 +500,7 @@
+Only in jdk9/jdk/make/launcher: Launcher-jdk.runtime.gmk.orig
+--- jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-02-20 09:57:24.632828688 +0100
++++ jdk9/jdk/make/lib/Awt2dLibraries.gmk 2015-02-20 09:58:23.958473764 +0100
+@@ -499,7 +499,7 @@
LDFLAGS := $(LDFLAGS_JDKLIB) $(LIBJPEG_LIBS) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_windows := $(WIN_JAVA_LIB) jvm.lib, \
@@ -32,3 +33,4 @@
VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=javajpeg.dll" \
+Only in jdk9/jdk/make/lib: Awt2dLibraries.gmk.orig
++++++ s390-size_t.patch ++++++
--- /var/tmp/diff_new_pack.0vX8Wa/_old 2015-03-01 14:47:48.000000000 +0100
+++ /var/tmp/diff_new_pack.0vX8Wa/_new 2015-03-01 14:47:48.000000000 +0100
@@ -1,21 +1,6 @@
---- jdk9/hotspot/src/share/vm/code/codeCache.cpp 2014-11-13 10:35:38.014355933 +0100
-+++ jdk9/hotspot/src/share/vm/code/codeCache.cpp 2014-11-16 12:11:02.771465686 +0100
-@@ -204,9 +204,9 @@
- size_t non_profiled_size = ReservedCodeSpace::allocation_align_size_up(NonProfiledCodeHeapSize);
-
- // Compute initial sizes of CodeHeaps
-- size_t init_non_method_size = MIN2(InitialCodeCacheSize, non_method_size);
-- size_t init_profiled_size = MIN2(InitialCodeCacheSize, profiled_size);
-- size_t init_non_profiled_size = MIN2(InitialCodeCacheSize, non_profiled_size);
-+ size_t init_non_method_size = MIN2((size_t)InitialCodeCacheSize, non_method_size);
-+ size_t init_profiled_size = MIN2((size_t)InitialCodeCacheSize, profiled_size);
-+ size_t init_non_profiled_size = MIN2((size_t)InitialCodeCacheSize, non_profiled_size);
-
- // Reserve one continuous chunk of memory for CodeHeaps and split it into
- // parts for the individual heaps. The memory layout looks like this:
---- jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2014-11-13 10:35:38.017355865 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2014-11-16 12:11:02.772465660 +0100
-@@ -2659,7 +2659,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2015-02-20 14:19:59.901506607 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp 2015-02-20 14:20:36.722643899 +0100
+@@ -2645,7 +2645,7 @@
if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
@@ -24,9 +9,9 @@
}
assert(n_blks > 0, "Error");
_cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
---- jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-11-13 10:35:38.017355865 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-11-16 12:11:02.774465609 +0100
-@@ -939,7 +939,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2015-02-20 14:19:59.901506607 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2015-02-20 14:20:36.725643829 +0100
+@@ -853,7 +853,7 @@
if (free_percentage < desired_free_percentage) {
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
assert(desired_capacity >= capacity(), "invalid expansion size");
@@ -35,7 +20,7 @@
if (PrintGCDetails && Verbose) {
size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
gclog_or_tty->print_cr("\nFrom compute_new_size: ");
-@@ -6468,7 +6468,7 @@
+@@ -5809,7 +5809,7 @@
HeapWord* curAddr = _markBitMap.startWord();
while (curAddr < _markBitMap.endWord()) {
size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr);
@@ -44,7 +29,7 @@
_markBitMap.clear_large_range(chunk);
if (ConcurrentMarkSweepThread::should_yield() &&
!foregroundGCIsActive() &&
-@@ -6767,7 +6767,7 @@
+@@ -6093,7 +6093,7 @@
return;
}
// Double capacity if possible
@@ -53,9 +38,9 @@
// Do not give up existing stack until we have managed to
// get the double capacity that we desired.
ReservedSpace rs(ReservedSpace::allocation_align_size_up(
---- jdk9/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2014-11-13 10:35:38.018355842 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2014-11-16 12:11:02.776465559 +0100
-@@ -3848,7 +3848,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2015-02-20 14:19:59.902506583 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp 2015-02-20 14:20:36.726643805 +0100
+@@ -3796,7 +3796,7 @@
// of things to do) or totally (at the very end).
size_t target_size;
if (partially) {
@@ -64,9 +49,9 @@
} else {
target_size = 0;
}
---- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-11-13 10:35:38.019355819 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2014-11-16 12:11:02.778465508 +0100
-@@ -1734,7 +1734,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-02-20 14:19:59.903506560 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp 2015-02-20 14:20:36.728643759 +0100
+@@ -1650,7 +1650,7 @@
verify_region_sets_optional();
@@ -75,8 +60,8 @@
ergo_verbose1(ErgoHeapSizing,
"attempt heap expansion",
ergo_format_reason("allocation request failed")
---- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2014-11-13 10:35:38.020355797 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2014-11-16 12:11:02.778465508 +0100
+--- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2015-02-20 14:19:59.904506536 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp 2015-02-20 14:20:36.728643759 +0100
@@ -39,7 +39,7 @@
_cancel(false),
_empty(true),
@@ -86,8 +71,8 @@
_queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC);
for (size_t i = 0; i < _nqueues; i++) {
new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size);
---- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2014-11-13 10:35:38.021355774 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2014-11-16 12:11:02.778465508 +0100
+--- jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2015-02-20 14:19:59.904506536 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp 2015-02-20 14:20:36.729643735 +0100
@@ -110,7 +110,7 @@
};
@@ -97,9 +82,9 @@
_lists = PaddedArray<G1StringDedupEntryFreeList, mtGC>::create_unfreeable((uint)_nlists);
}
---- jdk9/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2014-11-13 10:35:38.021355774 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2014-11-16 12:11:02.779465483 +0100
-@@ -148,7 +148,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2015-02-20 14:19:59.904506536 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp 2015-02-20 14:20:36.729643735 +0100
+@@ -110,7 +110,7 @@
if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(),
@@ -108,8 +93,8 @@
}
int region_size_log = log2_long((jlong) region_size);
---- jdk9/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2014-11-13 10:35:38.023355729 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2014-11-16 12:11:02.780465458 +0100
+--- jdk9/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2015-02-20 14:19:59.907506466 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp 2015-02-20 14:20:36.730643712 +0100
@@ -912,8 +912,8 @@
void PSParallelCompact::initialize_dead_wood_limiter()
{
@@ -121,9 +106,9 @@
_dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
DEBUG_ONLY(_dwl_initialized = true;)
_dwl_adjustment = normal_distribution(1.0);
---- jdk9/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2014-11-13 10:35:38.022355751 +0100
-+++ jdk9/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2014-11-16 12:11:02.780465458 +0100
-@@ -195,7 +195,7 @@
+--- jdk9/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2015-02-20 14:19:59.905506513 +0100
++++ jdk9/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp 2015-02-20 14:20:36.731643688 +0100
+@@ -194,7 +194,7 @@
const size_t num_overflow_elems = of_stack->size();
const size_t space_available = queue->max_elems() - queue->size();
const size_t num_take_elems = MIN3(space_available / 4,
@@ -132,9 +117,9 @@
num_overflow_elems);
// Transfer the most recent num_take_elems from the overflow
// stack to our work queue.
---- jdk9/hotspot/src/share/vm/memory/collectorPolicy.cpp 2014-11-13 10:35:38.028355616 +0100
-+++ jdk9/hotspot/src/share/vm/memory/collectorPolicy.cpp 2014-11-16 12:15:10.065860961 +0100
-@@ -384,7 +384,7 @@
+--- jdk9/hotspot/src/share/vm/memory/collectorPolicy.cpp 2015-02-20 14:19:59.911506373 +0100
++++ jdk9/hotspot/src/share/vm/memory/collectorPolicy.cpp 2015-02-20 14:20:36.731643688 +0100
+@@ -383,7 +383,7 @@
uintx calculated_size = NewSize + OldSize;
double shrink_factor = (double) MaxHeapSize / calculated_size;
uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment);
@@ -143,7 +128,7 @@
_initial_young_size = NewSize;
// OldSize is already aligned because above we aligned MaxHeapSize to
-@@ -449,7 +449,7 @@
+@@ -448,7 +448,7 @@
// yield a size that is too small) and bound it by MaxNewSize above.
// Ergonomics plays here by previously calculating the desired
// NewSize and MaxNewSize.
@@ -152,7 +137,7 @@
}
// Given the maximum young size, determine the initial and
-@@ -479,7 +479,7 @@
+@@ -478,7 +478,7 @@
// NewSize as the floor, because if NewRatio is overly large, the resulting
// size can be too small.
_initial_young_size =
@@ -161,9 +146,9 @@
}
}
---- jdk9/hotspot/src/share/vm/memory/metaspace.cpp 2014-11-13 10:35:38.030355570 +0100
-+++ jdk9/hotspot/src/share/vm/memory/metaspace.cpp 2014-11-16 12:11:02.781465432 +0100
-@@ -1456,7 +1456,7 @@
+--- jdk9/hotspot/src/share/vm/memory/metaspace.cpp 2015-02-20 14:19:59.913506326 +0100
++++ jdk9/hotspot/src/share/vm/memory/metaspace.cpp 2015-02-20 14:20:36.733643642 +0100
+@@ -1458,7 +1458,7 @@
void MetaspaceGC::post_initialize() {
// Reset the high-water mark once the VM initialization is done.
@@ -172,7 +157,7 @@
}
bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
-@@ -1516,7 +1516,7 @@
+@@ -1518,7 +1518,7 @@
(size_t)MIN2(min_tmp, double(max_uintx));
// Don't shrink less than the initial generation size
minimum_desired_capacity = MAX2(minimum_desired_capacity,
@@ -181,7 +166,7 @@
if (PrintGCDetails && Verbose) {
gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: ");
-@@ -1575,7 +1575,7 @@
+@@ -1577,7 +1577,7 @@
const double max_tmp = used_after_gc / minimum_used_percentage;
size_t maximum_desired_capacity = (size_t)MIN2(max_tmp, double(max_uintx));
maximum_desired_capacity = MAX2(maximum_desired_capacity,
@@ -190,7 +175,7 @@
if (PrintGCDetails && Verbose) {
gclog_or_tty->print_cr(" "
" maximum_free_percentage: %6.2f"
-@@ -3237,7 +3237,7 @@
+@@ -3269,7 +3269,7 @@
// on the medium chunk list. The next chunk will be small and progress
// from there. This size calculated by -version.
_first_class_chunk_word_size = MIN2((size_t)MediumChunk*6,
@@ -199,19 +184,8 @@
_first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size);
// Arbitrarily set the initial virtual space to a multiple
// of the boot class loader size.
---- jdk9/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2014-11-13 10:35:38.031355547 +0100
-+++ jdk9/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp 2014-11-16 12:11:02.782465407 +0100
-@@ -238,7 +238,7 @@
- size_t init_sz;
-
- if (TLABSize > 0) {
-- init_sz = MIN2(TLABSize / HeapWordSize, max_size());
-+ init_sz = MIN2((size_t)(TLABSize / HeapWordSize), max_size());
- } else if (global_stats() == NULL) {
- // Startup issue - main thread initialized before heap initialized.
- init_sz = min_size();
---- jdk9/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2014-11-13 10:35:38.033355502 +0100
-+++ jdk9/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2014-11-16 12:11:02.782465407 +0100
+--- jdk9/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2015-02-20 14:19:59.916506255 +0100
++++ jdk9/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp 2015-02-20 14:20:36.734643618 +0100
@@ -48,7 +48,7 @@
const size_t beg_index = size_t(index);
assert(beg_index < len || len == 0, "index too large");
@@ -230,9 +204,9 @@
const size_t end_index = beg_index + stride;
T* const base = (T*)a->base();
T* const beg = base + beg_index;
---- jdk9/hotspot/src/share/vm/prims/whitebox.cpp 2014-11-13 10:35:38.044355253 +0100
-+++ jdk9/hotspot/src/share/vm/prims/whitebox.cpp 2014-11-17 05:50:43.714512893 +0100
-@@ -656,7 +656,7 @@
+--- jdk9/hotspot/src/share/vm/prims/whitebox.cpp 2015-02-20 14:19:59.926506021 +0100
++++ jdk9/hotspot/src/share/vm/prims/whitebox.cpp 2015-02-20 14:20:36.735643595 +0100
+@@ -724,7 +724,7 @@
WB_END
WB_ENTRY(jobject, WB_GetSizeTVMFlag(JNIEnv* env, jobject o, jstring name))
@@ -241,9 +215,9 @@
if (GetVMFlag <size_t> (thread, env, name, &result, &CommandLineFlags::size_tAt)) {
ThreadToNativeFromVM ttnfv(thread); // can't be in VM when we call JNI
return longBox(thread, env, result);
---- jdk9/hotspot/src/share/vm/runtime/arguments.cpp 2014-11-13 10:35:38.045355230 +0100
-+++ jdk9/hotspot/src/share/vm/runtime/arguments.cpp 2014-11-16 12:11:02.783465381 +0100
-@@ -1344,7 +1344,7 @@
+--- jdk9/hotspot/src/share/vm/runtime/arguments.cpp 2015-02-20 14:19:59.927505998 +0100
++++ jdk9/hotspot/src/share/vm/runtime/arguments.cpp 2015-02-20 14:20:36.736643571 +0100
+@@ -1336,7 +1336,7 @@
// NewSize was set on the command line and it is larger than
// preferred_max_new_size.
if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line
@@ -252,7 +226,7 @@
} else {
FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
}
-@@ -1369,8 +1369,8 @@
+@@ -1361,8 +1361,8 @@
// Unless explicitly requested otherwise, make young gen
// at least min_new, and at most preferred_max_new_size.
if (FLAG_IS_DEFAULT(NewSize)) {
@@ -263,7 +237,7 @@
if (PrintGCDetails && Verbose) {
// Too early to use gclog_or_tty
tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
-@@ -1380,7 +1380,7 @@
+@@ -1372,7 +1372,7 @@
// so it's NewRatio x of NewSize.
if (FLAG_IS_DEFAULT(OldSize)) {
if (max_heap > NewSize) {
--
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 python-Django for openSUSE:Factory checked in at 2015-03-01 14:47:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Django (Old)
and /work/SRC/openSUSE:Factory/.python-Django.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Django"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Django/python-Django.changes 2015-02-01 12:30:14.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-Django.new/python-Django.changes 2015-03-01 14:47:19.000000000 +0100
@@ -1,0 +2,18 @@
+Fri Feb 27 14:36:46 UTC 2015 - aplanas(a)suse.com
+
+- Update to Django 1.7.4:
+ Bugfixes
+ * Reverted a fix that prevented a migration crash when unapplying
+ contrib.contenttypes's or contrib.auth's first migration (#24075)
+ due to severe impact on the test performance (#24251) and problems
+ in multi-database setups (#24298).
+ * Fixed a regression that prevented custom fields inheriting from
+ ManyToManyField from being recognized in migrations (#24236).
+ * Fixed crash in contrib.sites migrations when a default database
+ isn't used (#24332).
+ * Added the ability to set the isolation level on PostgreSQL with
+ psycopg2 >= 2.4.2 (#24318). It was advertised as a new feature in
+ Django 1.6 but it didn't work in practice.
+ * Formats for the Azerbaijani locale (az) have been added.
+
+-------------------------------------------------------------------
Old:
----
Django-1.7.4.checksum.txt
Django-1.7.4.tar.gz
New:
----
Django-1.7.5.checksum.txt
Django-1.7.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Django.spec ++++++
--- /var/tmp/diff_new_pack.5fFWPJ/_old 2015-03-01 14:47:20.000000000 +0100
+++ /var/tmp/diff_new_pack.5fFWPJ/_new 2015-03-01 14:47:20.000000000 +0100
@@ -17,7 +17,7 @@
Name: python-Django
-Version: 1.7.4
+Version: 1.7.5
Release: 0
Summary: A high-level Python Web framework
License: BSD-3-Clause
++++++ Django-1.7.4.checksum.txt -> Django-1.7.5.checksum.txt ++++++
--- /work/SRC/openSUSE:Factory/python-Django/Django-1.7.4.checksum.txt 2015-02-01 12:30:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-Django.new/Django-1.7.5.checksum.txt 2015-03-01 14:47:18.000000000 +0100
@@ -2,7 +2,7 @@
Hash: SHA256
This file contains MD5, SHA1, and SHA256 checksums for the source-code
-tarball of Django 1.7.4, released January 27, 2015.
+tarball of Django 1.7.5, released February 25, 2015.
To use this file, you will need a working install of PGP or other
compatible public-key encryption software. You will also need to have
@@ -24,40 +24,40 @@
Release packages:
=================
-Django 1.7.4 (tar.tgz): https://www.djangoproject.com/m/releases/1.7/Django-1.7.4.tar.gz
-Django 1.7.4 (.whl): https://www.djangoproject.com/m/releases/1.7/Django-1.7.4-py2.py3-none-any.…
+Django 1.7.5 (tar.tgz): https://www.djangoproject.com/m/releases/1.7/Django-1.7.5.tar.gz
+Django 1.7.5 (.whl): https://www.djangoproject.com/m/releases/1.7/Django-1.7.5-py2.py3-none-any.…
MD5 checksums:
==============
-f465b25daeaa559ffc329f1e5daaa520 Django-1.7.4-py2.py3-none-any.whl
-f8db10520f0268747d402a47a1a4b191 Django-1.7.4.tar.gz
+d6b529414f3093c848a69996979a1bea Django-1.7.5-py2.py3-none-any.whl
+e76c70a5dd7d56a511974b28ab38df20 Django-1.7.5.tar.gz
SHA1 checksums:
===============
-ba071d5e3f619130d2a5086d03c4930fc2db511f Django-1.7.4-py2.py3-none-any.whl
-4b06c77f10d4a34bacfb54023b6bdfd6961505a4 Django-1.7.4.tar.gz
+11f5de0b4e401f93a5deeb939ac6f3f7154c235d Django-1.7.5-py2.py3-none-any.whl
+b978e46c01e1d544db759a27b0a26acfd262cbd3 Django-1.7.5.tar.gz
SHA256 checksums:
=================
-42002065cc98bc99b5bae0084ddb13a0ad611a171dcdaf5ba96731935da744a4 Django-1.7.4-py2.py3-none-any.whl
-f33255afbb9ee0977d9095ab0b50fde1f8ddff4220b57e8d19c6620b3e316170 Django-1.7.4.tar.gz
+ac85d95150ad013632bef5e7ff9ea6decce8100713945d3c61a1b671e6c11d2c Django-1.7.5-py2.py3-none-any.whl
+1c391f9349c97df503dac3461599f24235e4d04393498e6060e74dd2721460bc Django-1.7.5.tar.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQIcBAEBCAAGBQJUx8e5AAoJEB6Kvcdz7eJSb98P/1/yjV3NXQr82v2aSoba9B8e
-tqkfAF1FeQYXcvHO5PQWUJnRZdf8g/bdXdgTRwdvErJ6STFjM4Da//d6OyuVfbDs
-dgBnvCXA3nM355RVwifzwzvoks3zwxT9Da4+E1mAx5V59D5hln9+yILOi0gUxz1+
-JEojOstJDEEs69O4QY9BirOWORLJAkXZ8K7S5LAzfNDQq2sQ0HR/hDUOAtSAI5fq
-nnyYUPVGz+YntuBfmhV/Gw78nTYVVOalqIPBg85qXzyIQ7vNAyd3KkHo6X14cwsu
-WhfrUbDbf9ybxOaifUo7m/rCg2y+bshIb1IROSMMgg6VD+jSXJ92YEpPjzXCUMS/
-jeLGBu3MuUzZDZ+S3FCwXp8XB05RdfUjrU7jZWlmWkFabMxn6cdlnX93ke2Kr9ov
-zF1H1mHmNNR1gLzHIuxTo5NxQdn3YGKLboDeOSDJeVKHn2tdW2Q8iwXOARTRakH+
-6nL3LeQT41xCkYyaYK8FgBipItE4540bmhOU4M27SJCydqHeg8zEwEQfZntYXwFk
-u/RYR+uwIc7HCr0IKIKFqloKhp+tCnIttg97a5redAYr4kzVbzQwEuLM3IgiTDKJ
-2cOPNIYkhhXMAqk1My8etUd0qSVuWk+oOI6ILGhUZgb7408uQX/Qdcn34ZF1fKhN
-6in8lMRhhF+ypVhhNeEb
-=YASP
+iQIcBAEBCAAGBQJU7dPPAAoJEB6Kvcdz7eJSuawP/iOECeKBJj0zaluY7B+Iz8KY
+LQe6SWiX/nkvYqKvEiQ1oHED2f3JijJP5uQZKp+2FDnG7SknytOfPy4Pk7LQKATN
+gRtUDEaPdQgnQdv2PnPeHqtL1nSWLRGuoiQfI3AiE1xe08s+WYIMRE7j2bcuE1Mk
+mJX8EVoepE2R1dbeCUVkyte62w55HoayENiJPbD35Z+XAIxmlSYc8XU7tMKUYZ+C
+7AnxrOJau0anAN4liim8rNmREe5B/zbDMZzR4ndpX85DVVv7Cx/42ybUNH8U4M/x
+zGdig8LHn+0SKpWz9Nat4V35jVi1//QW/Xwes7nVaYyC4jmB/yBcJBDrujB6WMq8
+ICm2VLAR/auuCeDmnzlb8sVCG5h1kIkcreD4pOJ3JNCYIHAE41Bx1KWrwgeNj0yz
+7wxwPjWQ1NTTB/9G0W7MexdoxA5eR40ak/ll5whhR3CoWVezKe5Alm4lNqh3U38S
+sRFGf8c2E+XaZMvJUib0JzYftkxwPc+UtQJ9s5tZcfSZWn33hiBykn91EYC5v2ET
+sIn8cqt8RZswPjxksb9MPyPniOE+zpFtykiN2/24n3tQ6q0VGPYqdZgBJwzrNSwI
+3mRhd6/lbGZJkQPUaBtjrfqSj1x0isdRAeHRCRf+OIcrlVVWpuI4XbhjP32laLjg
+jmA/TZvF38oSJ4gD49Ou
+=q2yI
-----END PGP SIGNATURE-----
++++++ Django-1.7.4.tar.gz -> Django-1.7.5.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-Django/Django-1.7.4.tar.gz /work/SRC/openSUSE:Factory/.python-Django.new/Django-1.7.5.tar.gz differ: char 5, line 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 python-rtslib for openSUSE:Factory checked in at 2015-03-01 14:47:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rtslib (Old)
and /work/SRC/openSUSE:Factory/.python-rtslib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rtslib"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rtslib/python-rtslib.changes 2014-08-16 15:38:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-rtslib.new/python-rtslib.changes 2015-03-01 14:47:16.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Feb 27 10:52:10 UTC 2015 - olaf(a)aepfle.de
+
+- Use /var/lib/target in SLE11 to pass old FHS checks
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rtslib.spec ++++++
--- /var/tmp/diff_new_pack.a4n1Ql/_old 2015-03-01 14:47:17.000000000 +0100
+++ /var/tmp/diff_new_pack.a4n1Ql/_new 2015-03-01 14:47:17.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-rtslib
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -79,8 +79,12 @@
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
-%if 0%{?suse_version} > 1130 || 0%{?suse_version} == 0
+%if 0%{?suse_version} < 1130
+# Workaround for FHS check
+%define _vardir /var/lib/target
+%else
%define _vardir /var/target
+%endif
install -vd -m 755 $RPM_BUILD_ROOT%{_vardir}
install -vd -m 755 $RPM_BUILD_ROOT%{_vardir}/pr
@@ -89,13 +93,22 @@
install -v -m 644 specs/*.spec $RPM_BUILD_ROOT%{_vardir}/fabric/
install -vd -m 755 $RPM_BUILD_ROOT%{_vardir}/policy
install -v -m 644 policy/*.lio $RPM_BUILD_ROOT%{_vardir}/policy/
+
+%if 0%{?suse_version} < 1130
+%post
+if test ! -e /var/target
+then
+ ln -sfvn lib/target /var/target
+fi
+
+%postun
+rm -fv /var/target
%endif
%files
%defattr(-,root,root,-)
%doc README.md COPYING
%{python_sitelib}/*
-%if 0%{?suse_version} > 1130 || 0%{?suse_version} == 0
%dir %{_vardir}
%dir %{_vardir}/pr
%dir %{_vardir}/alua
@@ -103,6 +116,5 @@
%{_vardir}/fabric/*
%dir %{_vardir}/policy
%{_vardir}/policy/*
-%endif
%changelog
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
01 Mar '15
Hello community,
here is the log from the commit of package perl-Mojolicious-Plugin-RenderFile for openSUSE:Factory checked in at 2015-03-01 14:47:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-RenderFile (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-RenderFile.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious-Plugin-RenderFile"
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious-Plugin-RenderFile/perl-Mojolicious-Plugin-RenderFile.changes 2014-03-21 13:34:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious-Plugin-RenderFile.new/perl-Mojolicious-Plugin-RenderFile.changes 2015-03-01 14:47:14.000000000 +0100
@@ -1,0 +2,10 @@
+Tue Feb 24 09:11:44 UTC 2015 - ncutler(a)suse.com
+
+- updated to 0.08
+ File cleanup support
+- re-generated spec file
+- re-checked license
+- Add wide-character-in-print.patch: to address "Wide character in
+ print" error in t/multibyte_filename.t.
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-Plugin-RenderFile-0.07.tar.gz
New:
----
Mojolicious-Plugin-RenderFile-0.08.tar.gz
wide-character-in-print.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious-Plugin-RenderFile.spec ++++++
--- /var/tmp/diff_new_pack.DoUhAP/_old 2015-03-01 14:47:15.000000000 +0100
+++ /var/tmp/diff_new_pack.DoUhAP/_new 2015-03-01 14:47:15.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojolicious-Plugin-RenderFile
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX 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,14 +17,15 @@
Name: perl-Mojolicious-Plugin-RenderFile
-Version: 0.07
+Version: 0.08
Release: 0
%define cpan_name Mojolicious-Plugin-RenderFile
Summary: "render_file" helper for Mojolicious
License: GPL-1.0+ or Artistic-1.0
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/Mojolicious-Plugin-RenderFile/
-Source: http://www.cpan.org/authors/id/K/KO/KOORCHIK/%{cpan_name}-%{version}.tar.gz
+Source: Mojolicious-Plugin-RenderFile-0.08.tar.gz
+Patch0: wide-character-in-print.patch
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
@@ -40,6 +41,8 @@
%prep
%setup -q -n %{cpan_name}-%{version}
+# MANUAL
+%patch0 -p1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
++++++ Mojolicious-Plugin-RenderFile-0.07.tar.gz -> Mojolicious-Plugin-RenderFile-0.08.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-RenderFile-0.07/Changes new/Mojolicious-Plugin-RenderFile-0.08/Changes
--- old/Mojolicious-Plugin-RenderFile-0.07/Changes 2014-03-18 22:19:19.000000000 +0100
+++ new/Mojolicious-Plugin-RenderFile-0.08/Changes 2014-05-16 15:41:22.000000000 +0200
@@ -20,6 +20,8 @@
Updated Mojolicious version dependency to 3.90
0.07
-
Added license
- Fixed utf8 filename issue
\ No newline at end of file
+ Fixed utf8 filename issue
+
+0.08
+ File cleanup support
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-RenderFile-0.07/META.json new/Mojolicious-Plugin-RenderFile-0.08/META.json
--- old/Mojolicious-Plugin-RenderFile-0.07/META.json 2014-03-18 22:22:19.000000000 +0100
+++ new/Mojolicious-Plugin-RenderFile-0.08/META.json 2014-05-16 15:42:55.000000000 +0200
@@ -4,7 +4,7 @@
"Viktor Turskyi <koorchik(a)cpan.org>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.131560",
+ "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921",
"license" : [
"unknown"
],
@@ -43,5 +43,5 @@
"url" : "https://github.com/koorchik/Mojolicious-Plugin-RenderFile"
}
},
- "version" : "0.07"
+ "version" : "0.08"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-RenderFile-0.07/META.yml new/Mojolicious-Plugin-RenderFile-0.08/META.yml
--- old/Mojolicious-Plugin-RenderFile-0.07/META.yml 2014-03-18 22:22:19.000000000 +0100
+++ new/Mojolicious-Plugin-RenderFile-0.08/META.yml 2014-05-16 15:42:55.000000000 +0200
@@ -7,7 +7,7 @@
configure_requires:
ExtUtils::MakeMaker: 0
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.131560'
+generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.120921'
license: unknown
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -22,4 +22,4 @@
perl: 5.01
resources:
repository: https://github.com/koorchik/Mojolicious-Plugin-RenderFile
-version: 0.07
+version: 0.08
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-RenderFile-0.07/README.pod new/Mojolicious-Plugin-RenderFile-0.08/README.pod
--- old/Mojolicious-Plugin-RenderFile-0.07/README.pod 2014-03-18 22:13:10.000000000 +0100
+++ new/Mojolicious-Plugin-RenderFile-0.08/README.pod 2014-05-16 15:40:54.000000000 +0200
@@ -24,6 +24,7 @@
'filepath' => '/tmp/files/file.pdf',
'format' => 'pdf', # will change Content-Type "application/x-download" to "application/pdf"
'content_disposition' => 'inline', # will change Content-Disposition from "attachment" to "inline"
+ 'cleanup' => 1, # delete file after completed
);
=head1 DESCRIPTION
@@ -70,6 +71,10 @@
"inline" - is for showing file inline
+=item C<cleanup> (optional)
+
+Indicates if the file should be deleted when rendering is complete
+
=back
This plugin respects HTTP Range headers.
@@ -90,8 +95,6 @@
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
-=head1 LICENSE AND COPYRIGHT
-
Copyright 2011 Viktor Turskyi
This program is free software; you can redistribute it and/or modify it
@@ -100,4 +103,4 @@
See http://dev.perl.org/licenses/ for more information.
-=cut
+=cut
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-Plugin-RenderFile-0.07/lib/Mojolicious/Plugin/RenderFile.pm new/Mojolicious-Plugin-RenderFile-0.08/lib/Mojolicious/Plugin/RenderFile.pm
--- old/Mojolicious-Plugin-RenderFile-0.07/lib/Mojolicious/Plugin/RenderFile.pm 2014-03-18 22:18:49.000000000 +0100
+++ new/Mojolicious-Plugin-RenderFile-0.08/lib/Mojolicious/Plugin/RenderFile.pm 2014-05-16 15:40:58.000000000 +0200
@@ -7,7 +7,7 @@
use Encode qw( encode decode_utf8 );
use Mojo::Util 'quote';
-our $VERSION = '0.07';
+our $VERSION = '0.08';
sub register {
my ( $self, $app ) = @_;
@@ -22,6 +22,7 @@
my $filename = $args{filename};
my $status = $args{status} || 200;
my $content_disposition = $args{content_disposition} || 'attachment';
+ my $cleanup = $args{cleanup} // 0;
# Content type based on format
my $content_type;
@@ -38,6 +39,7 @@
$filename ||= fileparse($filepath);
$asset = Mojo::Asset::File->new( path => $filepath );
+ $asset->cleanup($cleanup);
} elsif ( $args{data} ) {
$filename ||= $c->req->url->path->parts->[-1] || 'download';
$asset = Mojo::Asset::Memory->new();
@@ -118,6 +120,7 @@
'filepath' => '/tmp/files/file.pdf',
'format' => 'pdf', # will change Content-Type "application/x-download" to "application/pdf"
'content_disposition' => 'inline', # will change Content-Disposition from "attachment" to "inline"
+ 'cleanup' => 1, # delete file after completed
);
=head1 DESCRIPTION
@@ -164,6 +167,10 @@
"inline" - is for showing file inline
+=item C<cleanup> (optional)
+
+Indicates if the file should be deleted when rendering is complete
+
=back
This plugin respects HTTP Range headers.
++++++ wide-character-in-print.patch ++++++
Index: Mojolicious-Plugin-RenderFile-0.08/t/multibyte_filename.t
===================================================================
--- Mojolicious-Plugin-RenderFile-0.08.orig/t/multibyte_filename.t
+++ Mojolicious-Plugin-RenderFile-0.08/t/multibyte_filename.t
@@ -51,7 +51,7 @@ my $t = Test::Mojo->new;
$t->get_ok("/default")
->status_is(200)
- ->content_is( encode_utf8 '漢字(かんじ)は、古代中国に発祥を持つ文字。' )
+ ->content_is( '漢字(かんじ)は、古代中国に発祥を持つ文字。' )
->header_is( 'Content-Disposition' => encode_utf8 'attachment;filename="漢字.txt"' );
$t->get_ok("/filename")
--
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 dosemu for openSUSE:Factory checked in at 2015-03-01 14:47:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dosemu (Old)
and /work/SRC/openSUSE:Factory/.dosemu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dosemu"
Changes:
--------
--- /work/SRC/openSUSE:Factory/dosemu/dosemu.changes 2012-11-13 17:02:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dosemu.new/dosemu.changes 2015-03-01 14:47:13.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Feb 27 14:43:37 UTC 2015 - dimstar(a)opensuse.org
+
+- No longer apply dosemu-flex.patch on openSUSE Tumbleweed (> 13.2).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dosemu.spec ++++++
--- /var/tmp/diff_new_pack.qufG2m/_old 2015-03-01 14:47:14.000000000 +0100
+++ /var/tmp/diff_new_pack.qufG2m/_new 2015-03-01 14:47:14.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dosemu
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -93,7 +93,7 @@
%setup -q -n %name-1.4.0.1
%patch1
%patch2 -p1
-%if 0%{?suse_version} > 1220
+%if 0%{?suse_version} > 1220 && 0%{?suse_version} < 1321
%patch3 -p1
%endif
--
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 python-futures for openSUSE:Factory checked in at 2015-03-01 14:47:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-futures (Old)
and /work/SRC/openSUSE:Factory/.python-futures.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-futures"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-futures/python-futures.changes 2014-04-26 10:11:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-futures.new/python-futures.changes 2015-03-01 14:47:08.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Feb 27 11:57:58 UTC 2015 - tbechtold(a)suse.com
+
+- update to version 2.2.0:
+ - Added the set_exception_info() and exception_info() methods to Future
+ to enable extraction of tracebacks on Python 2.x
+ - Added support for Future.set_exception_info() to ThreadPoolExecutor
+
+-------------------------------------------------------------------
Old:
----
futures-2.1.6.tar.gz
New:
----
futures-2.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-futures.spec ++++++
--- /var/tmp/diff_new_pack.PsnkXP/_old 2015-03-01 14:47:09.000000000 +0100
+++ /var/tmp/diff_new_pack.PsnkXP/_new 2015-03-01 14:47:09.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-futures
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -13,15 +13,16 @@
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
Name: python-futures
-Version: 2.1.6
+Version: 2.2.0
Release: 0
-License: BSD-2-Clause
Summary: Backport of the concurrent.futures package from Python 3.2
-Url: http://code.google.com/p/pythonfutures
+License: BSD-2-Clause
Group: Development/Languages/Python
+Url: http://code.google.com/p/pythonfutures
Source: http://pypi.python.org/packages/source/f/futures/futures-%{version}.tar.gz
BuildRequires: python-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ futures-2.1.6.tar.gz -> futures-2.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/CHANGES new/futures-2.2.0/CHANGES
--- old/futures-2.1.6/CHANGES 2014-01-14 10:02:33.000000000 +0100
+++ new/futures-2.2.0/CHANGES 2014-09-08 05:46:16.000000000 +0200
@@ -1,3 +1,11 @@
+2.2.0
+=====
+
+- Added the set_exception_info() and exception_info() methods to Future
+ to enable extraction of tracebacks on Python 2.x
+- Added support for Future.set_exception_info() to ThreadPoolExecutor
+
+
2.1.6
=====
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/PKG-INFO new/futures-2.2.0/PKG-INFO
--- old/futures-2.1.6/PKG-INFO 2014-01-14 10:20:42.000000000 +0100
+++ new/futures-2.2.0/PKG-INFO 2014-09-25 23:20:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: futures
-Version: 2.1.6
+Version: 2.2.0
Summary: Backport of the concurrent.futures package from Python 3.2
Home-page: http://code.google.com/p/pythonfutures
Author: Alex Gronholm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/concurrent/futures/_base.py new/futures-2.2.0/concurrent/futures/_base.py
--- old/futures-2.1.6/concurrent/futures/_base.py 2013-06-23 21:47:06.000000000 +0200
+++ new/futures-2.2.0/concurrent/futures/_base.py 2014-09-06 16:05:41.000000000 +0200
@@ -6,6 +6,8 @@
import threading
import time
+from concurrent.futures._compat import reraise
+
try:
from collections import namedtuple
except ImportError:
@@ -290,6 +292,7 @@
self._state = PENDING
self._result = None
self._exception = None
+ self._traceback = None
self._waiters = []
self._done_callbacks = []
@@ -353,7 +356,7 @@
def __get_result(self):
if self._exception:
- raise self._exception
+ reraise(self._exception, self._traceback)
else:
return self._result
@@ -405,8 +408,9 @@
else:
raise TimeoutError()
- def exception(self, timeout=None):
- """Return the exception raised by the call that the future represents.
+ def exception_info(self, timeout=None):
+ """Return a tuple of (exception, traceback) raised by the call that the
+ future represents.
Args:
timeout: The number of seconds to wait for the exception if the
@@ -422,22 +426,40 @@
TimeoutError: If the future didn't finish executing before the given
timeout.
"""
-
with self._condition:
if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:
raise CancelledError()
elif self._state == FINISHED:
- return self._exception
+ return self._exception, self._traceback
self._condition.wait(timeout)
if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:
raise CancelledError()
elif self._state == FINISHED:
- return self._exception
+ return self._exception, self._traceback
else:
raise TimeoutError()
+ def exception(self, timeout=None):
+ """Return the exception raised by the call that the future represents.
+
+ Args:
+ timeout: The number of seconds to wait for the exception if the
+ future isn't done. If None, then there is no limit on the wait
+ time.
+
+ Returns:
+ The exception raised by the call that the future represents or None
+ if the call completed without raising.
+
+ Raises:
+ CancelledError: If the future was cancelled.
+ TimeoutError: If the future didn't finish executing before the given
+ timeout.
+ """
+ return self.exception_info(timeout)[0]
+
# The following methods should only be used by Executors and in tests.
def set_running_or_notify_cancel(self):
"""Mark the future as running or process any cancel notifications.
@@ -492,19 +514,28 @@
self._condition.notify_all()
self._invoke_callbacks()
- def set_exception(self, exception):
- """Sets the result of the future as being the given exception.
+ def set_exception_info(self, exception, traceback):
+ """Sets the result of the future as being the given exception
+ and traceback.
Should only be used by Executor implementations and unit tests.
"""
with self._condition:
self._exception = exception
+ self._traceback = traceback
self._state = FINISHED
for waiter in self._waiters:
waiter.add_exception(self)
self._condition.notify_all()
self._invoke_callbacks()
+ def set_exception(self, exception):
+ """Sets the result of the future as being the given exception.
+
+ Should only be used by Executor implementations and unit tests.
+ """
+ self.set_exception_info(exception, None)
+
class Executor(object):
"""This is an abstract base class for concrete asynchronous executors."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/concurrent/futures/_compat.py new/futures-2.2.0/concurrent/futures/_compat.py
--- old/futures-2.1.6/concurrent/futures/_compat.py 2012-08-28 07:08:15.000000000 +0200
+++ new/futures-2.2.0/concurrent/futures/_compat.py 2014-09-06 16:21:19.000000000 +0200
@@ -99,3 +99,13 @@
result.__module__ = _sys._getframe(1).f_globals.get('__name__', '__main__')
return result
+
+
+if _sys.version_info[0] < 3:
+ def reraise(exc, traceback):
+ locals_ = {'exc_type': type(exc), 'exc_value': exc, 'traceback': traceback}
+ exec('raise exc_type, exc_value, traceback', {}, locals_)
+else:
+ def reraise(exc, traceback):
+ # Tracebacks are embedded in exceptions in Python 3
+ raise exc
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/concurrent/futures/thread.py new/futures-2.2.0/concurrent/futures/thread.py
--- old/futures-2.1.6/concurrent/futures/thread.py 2013-06-23 21:11:51.000000000 +0200
+++ new/futures-2.2.0/concurrent/futures/thread.py 2014-09-06 16:02:09.000000000 +0200
@@ -60,8 +60,8 @@
try:
result = self.fn(*self.args, **self.kwargs)
except BaseException:
- e = sys.exc_info()[1]
- self.future.set_exception(e)
+ e, tb = sys.exc_info()[1:]
+ self.future.set_exception_info(e, tb)
else:
self.future.set_result(result)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/futures.egg-info/PKG-INFO new/futures-2.2.0/futures.egg-info/PKG-INFO
--- old/futures-2.1.6/futures.egg-info/PKG-INFO 2014-01-14 10:20:42.000000000 +0100
+++ new/futures-2.2.0/futures.egg-info/PKG-INFO 2014-09-25 23:20:56.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: futures
-Version: 2.1.6
+Version: 2.2.0
Summary: Backport of the concurrent.futures package from Python 3.2
Home-page: http://code.google.com/p/pythonfutures
Author: Alex Gronholm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/futures-2.1.6/setup.py new/futures-2.2.0/setup.py
--- old/futures-2.1.6/setup.py 2014-01-14 10:03:20.000000000 +0100
+++ new/futures-2.2.0/setup.py 2014-09-06 16:02:09.000000000 +0200
@@ -12,7 +12,7 @@
from distutils.core import setup
setup(name='futures',
- version='2.1.6',
+ version='2.2.0',
description='Backport of the concurrent.futures package from Python 3.2',
author='Brian Quinlan',
author_email='brian(a)sweetapp.com',
--
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 pyalsa for openSUSE:Factory checked in at 2015-03-01 14:47:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
and /work/SRC/openSUSE:Factory/.pyalsa.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pyalsa"
Changes:
--------
--- /work/SRC/openSUSE:Factory/pyalsa/pyalsa.changes 2013-03-04 17:33:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes 2015-03-01 14:47:07.000000000 +0100
@@ -1,0 +2,7 @@
+Thu Feb 26 17:36:52 CET 2015 - tiwai(a)suse.de
+
+- Update to pyalsa 1.0.29: fixes included:
+ alsaseq: fix memory leaks
+ alsaseq: remove dead code in Sequencer_set_clientname()
+
+-------------------------------------------------------------------
Old:
----
pyalsa-1.0.26.tar.bz2
New:
----
pyalsa-1.0.29.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pyalsa.spec ++++++
--- /var/tmp/diff_new_pack.B5fPoA/_old 2015-03-01 14:47:07.000000000 +0100
+++ /var/tmp/diff_new_pack.B5fPoA/_new 2015-03-01 14:47:07.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package pyalsa
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
Name: pyalsa
BuildRequires: alsa-devel
BuildRequires: python-devel
-Version: 1.0.26
+Version: 1.0.29
Release: 0
Summary: Python ALSA binding
License: LGPL-2.1+ and GPL-2.0
++++++ pyalsa-1.0.26.tar.bz2 -> pyalsa-1.0.29.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyalsa-1.0.26/PKG-INFO new/pyalsa-1.0.29/PKG-INFO
--- old/pyalsa-1.0.26/PKG-INFO 2012-09-06 10:47:38.000000000 +0200
+++ new/pyalsa-1.0.29/PKG-INFO 2015-02-26 13:47:45.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: pyalsa
-Version: 1.0.26
+Version: 1.0.29
Summary: UNKNOWN
Home-page: UNKNOWN
Author: The ALSA Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyalsa-1.0.26/pyalsa/alsaseq.c new/pyalsa-1.0.29/pyalsa/alsaseq.c
--- old/pyalsa-1.0.26/pyalsa/alsaseq.c 2012-09-06 09:52:57.000000000 +0200
+++ new/pyalsa-1.0.29/pyalsa/alsaseq.c 2015-02-26 13:36:18.000000000 +0100
@@ -124,7 +124,9 @@
if (PyModule_AddObject(module, name, tmp) < 0) { \
return; \
} \
- PyDict_SetItem(TDICT(subtype), PyInt_FromLong(value), tmp); \
+ PyObject *key = PyInt_FromLong(value); \
+ PyDict_SetItem(TDICT(subtype), key, tmp); \
+ Py_DECREF(key); \
}
#define TCONSTRETURN(subtype, value) { \
@@ -199,8 +201,11 @@
PyDict_SetItemString(dict, name, object)
/* sets a integer into the dict */
-#define SETDICTINT(name, value) \
- PyDict_SetItemString(dict, name, PyInt_FromLong(value))
+#define SETDICTINT(name, value) { \
+ PyObject *val = PyInt_FromLong(value); \
+ PyDict_SetItemString(dict, name, val); \
+ Py_DECREF(val); \
+ }
/* sets note info dict (used by SeqEvent_get_data) */
#define SETDICT_NOTE3 { \
@@ -288,6 +293,7 @@
PyList_SetItem(list, i, PyInt_FromLong(t[i])); \
} \
SETDICTOBJ("ext", list); \
+ Py_DECREF(list); \
}
/* gets integer from python param */
@@ -1767,7 +1773,7 @@
return PyString_FromFormat("<alsaseq.SeqEvent type=%s(%d) flags=%d tag=%d "
"queue=%d time=%s(%u.%u) from=%d:%d to=%d:%d "
- "at 0x%p>",
+ "at %p>",
typestr,
self->event->type, self->event->flags,
self->event->tag, self->event->queue,
@@ -2163,12 +2169,8 @@
static int
Sequencer_set_clientname(SequencerObject *self,
PyObject *val) {
- char *buff;
-
SETCHECKPYSTR("clientname", val);
- buff = PyString_AsString(val);
-
snd_seq_set_client_name(self->handle, PyString_AsString(val));
return 0;
@@ -2371,34 +2373,23 @@
PyObject *list = PyList_New(0);
int index = 0;
- long tmplong;
snd_seq_query_subscribe_set_type(query, type);
snd_seq_query_subscribe_set_index(query, index);
while (snd_seq_query_port_subscribers(handle, query) >= 0) {
const snd_seq_addr_t *addr =
snd_seq_query_subscribe_get_addr(query);
- PyObject *dict = PyDict_New();
-
- tmplong = snd_seq_query_subscribe_get_queue(query);
- PyDict_SetItemString(dict, "queue", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_query_subscribe_get_exclusive(query);
- PyDict_SetItemString(dict, "exclusive", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_query_subscribe_get_time_update(query);
- PyDict_SetItemString(dict, "time_update", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_query_subscribe_get_time_real(query);
- PyDict_SetItemString(dict, "time_real", PyInt_FromLong(tmplong));
-
-
- PyObject *tuple = PyTuple_New(3);
- PyTuple_SetItem(tuple, 0, PyInt_FromLong(addr->client));
- PyTuple_SetItem(tuple, 1, PyInt_FromLong(addr->port));
- PyTuple_SetItem(tuple, 2, dict);
+ PyObject *tuple = Py_BuildValue(
+ "(ii{sisisisi})",
+ (int)addr->client,
+ (int)addr->port,
+ "queue", (int)snd_seq_query_subscribe_get_queue(query),
+ "exclusive", (int)snd_seq_query_subscribe_get_exclusive(query),
+ "time_update", (int)snd_seq_query_subscribe_get_time_update(query),
+ "time_real", (int)snd_seq_query_subscribe_get_time_real(query));
PyList_Append(list, tuple);
+ Py_DECREF(tuple);
snd_seq_query_subscribe_set_index(query, ++index);
}
return list;
@@ -2470,11 +2461,13 @@
PyTuple_SetItem(porttuple, 2, conntuple);
PyList_Append(portlist, porttuple);
+ Py_DECREF(porttuple);
}
PyTuple_SetItem(tuple, 2, portlist);
/* append list of port tuples */
PyList_Append(list, tuple);
+ Py_DECREF(tuple);
}
return list;
@@ -2510,9 +2503,6 @@
snd_seq_client_info_t *cinfo;
int client_id = -1;
int ret;
- PyObject *tmpobj;
- long tmplong;
- const char * tmpchar;
char *kwlist[] = { "client_id", NULL};
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|i", kwlist,
@@ -2536,37 +2526,21 @@
}
}
- PyObject *dict = PyDict_New();
- if (dict == NULL) {
- return NULL;
- }
-
- TCONSTASSIGN(ADDR_CLIENT, client_id, tmpobj);
- PyDict_SetItemString(dict, "id", tmpobj);
-
- tmplong = snd_seq_client_info_get_type(cinfo);
- TCONSTASSIGN(CLIENT_TYPE, tmplong, tmpobj);
- PyDict_SetItemString(dict, "type", tmpobj);
-
- tmpchar = snd_seq_client_info_get_name(cinfo);
- tmpchar = (tmpchar == NULL ? "" : tmpchar);
- PyDict_SetItemString(dict, "name", PyString_FromString(tmpchar));
-
- tmplong = snd_seq_client_info_get_broadcast_filter(cinfo);
- PyDict_SetItemString(dict, "broadcast_filter", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_client_info_get_error_bounce(cinfo);
- PyDict_SetItemString(dict, "error_bounce", PyInt_FromLong(tmplong));
-
- tmpchar = (const char *)snd_seq_client_info_get_event_filter(cinfo);
- tmpchar = (tmpchar == NULL ? "" : tmpchar);
- PyDict_SetItemString(dict, "event_filter", PyString_FromString(tmpchar));
-
- tmplong = snd_seq_client_info_get_num_ports(cinfo);
- PyDict_SetItemString(dict, "num_ports", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_client_info_get_event_lost(cinfo);
- PyDict_SetItemString(dict, "event_lost", PyInt_FromLong(tmplong));
+ PyObject *d_id, *d_type;
+ TCONSTASSIGN(ADDR_CLIENT, client_id, d_id);
+ TCONSTASSIGN(CLIENT_TYPE, snd_seq_client_info_get_type(cinfo), d_type);
+ const char *d_name = snd_seq_client_info_get_name(cinfo);
+
+ PyObject *dict = Py_BuildValue(
+ "{sNsNsssisiss#sisi}",
+ "id", d_id,
+ "type", d_type,
+ "name", d_name == NULL ? "" : d_name,
+ "broadcast_filter", (int)snd_seq_client_info_get_broadcast_filter(cinfo),
+ "error_bounce", (int)snd_seq_client_info_get_error_bounce(cinfo),
+ "event_filter", snd_seq_client_info_get_event_filter(cinfo), 32,
+ "num_ports", (int)snd_seq_client_info_get_num_ports(cinfo),
+ "event_lost", (int)snd_seq_client_info_get_event_lost(cinfo));
return dict;
}
@@ -2598,8 +2572,6 @@
snd_seq_client_info_t *cinfo;
int port_id;
int client_id;
- const char *tmpchar;
- long tmplong;
int ret;
char *kwlist[] = { "port_id", "client_id", NULL };
@@ -2616,11 +2588,6 @@
return NULL;
}
- PyObject *dict = PyDict_New();
- if (dict == NULL) {
- return NULL;
- }
-
snd_seq_port_info_alloca(&pinfo);
ret = snd_seq_get_any_port_info(self->handle, client_id,
port_id, pinfo);
@@ -2629,17 +2596,11 @@
return NULL;
}
- tmpchar = snd_seq_port_info_get_name(pinfo);
- tmpchar = (tmpchar == NULL ? "" : tmpchar);
- PyDict_SetItemString(dict, "name", PyString_FromString(tmpchar));
-
- tmplong = snd_seq_port_info_get_capability(pinfo);
- PyDict_SetItemString(dict, "capability", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_port_info_get_type(pinfo);
- PyDict_SetItemString(dict, "type", PyInt_FromLong(tmplong));
-
- return dict;
+ return Py_BuildValue(
+ "{sssIsI}",
+ "name", snd_seq_port_info_get_name(pinfo),
+ "capability", (unsigned int)snd_seq_port_info_get_capability(pinfo),
+ "type", (unsigned int)snd_seq_port_info_get_type(pinfo));
}
/** alsaseq.Sequencer connect_ports() method: __doc__ */
@@ -2772,7 +2733,6 @@
snd_seq_addr_t sender, dest;
snd_seq_port_subscribe_t *sinfo;
int ret;
- long tmplong;
if (!PyArg_ParseTuple(args, "(BB)(BB)", &(sender.client),
&(sender.port), &(dest.client), &(dest.port))) {
@@ -2790,21 +2750,12 @@
return NULL;
}
- PyObject *dict = PyDict_New();
-
- tmplong = snd_seq_port_subscribe_get_queue(sinfo);
- PyDict_SetItemString(dict, "queue", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_port_subscribe_get_exclusive(sinfo);
- PyDict_SetItemString(dict, "exclusive", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_port_subscribe_get_time_update(sinfo);
- PyDict_SetItemString(dict, "time_update", PyInt_FromLong(tmplong));
-
- tmplong = snd_seq_port_subscribe_get_time_real(sinfo);
- PyDict_SetItemString(dict, "time_real", PyInt_FromLong(tmplong));
-
- return dict;
+ return Py_BuildValue(
+ "{sisisisi}",
+ "queue", (int)snd_seq_port_subscribe_get_queue(sinfo),
+ "exclusive", (int)snd_seq_port_subscribe_get_exclusive(sinfo),
+ "time_update", (int)snd_seq_port_subscribe_get_time_update(sinfo),
+ "time_real", (int)snd_seq_port_subscribe_get_time_real(sinfo));
}
/** alsaseq.Sequencer receive_events() method: __doc__ */
@@ -2882,6 +2833,7 @@
}
PyList_Append(list, SeqEventObject);
+ Py_DECREF(SeqEventObject);
maxevents --;
@@ -3267,19 +3219,23 @@
if (count <= 0)
Py_RETURN_NONE;
- reg = PyObject_GetAttr(pollObj, PyString_InternFromString("register"));
+ reg = PyObject_GetAttrString(pollObj, "register");
+ if (!reg)
+ return NULL;
for (i = 0; i < count; i++) {
t = PyTuple_New(2);
- if (t) {
- PyTuple_SET_ITEM(t, 0, PyInt_FromLong(pfd[i].fd));
- PyTuple_SET_ITEM(t, 1, PyInt_FromLong(pfd[i].events));
- Py_XDECREF(PyObject_CallObject(reg, t));
- Py_DECREF(t);
+ if (!t) {
+ Py_DECREF(reg);
+ return NULL;
}
+ PyTuple_SET_ITEM(t, 0, PyInt_FromLong(pfd[i].fd));
+ PyTuple_SET_ITEM(t, 1, PyInt_FromLong(pfd[i].events));
+ Py_XDECREF(PyObject_CallObject(reg, t));
+ Py_DECREF(t);
}
- Py_XDECREF(reg);
+ Py_DECREF(reg);
Py_RETURN_NONE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pyalsa-1.0.26/setup.py new/pyalsa-1.0.29/setup.py
--- old/pyalsa-1.0.26/setup.py 2012-09-06 09:52:57.000000000 +0200
+++ new/pyalsa-1.0.29/setup.py 2015-02-26 13:36:18.000000000 +0100
@@ -3,66 +3,75 @@
import os
import sys
+import stat
try:
- from setuptools import setup, Extension
+ from setuptools import setup, Extension
except ImportError:
- from distutils.core import setup, Extension
+ from distutils.core import setup, Extension
-VERSION='1.0.26'
+VERSION='1.0.29'
if os.path.exists("version"):
- fp = open("version", "r")
- ver = fp.readline()
- fp.close()
- ver = ver[:-1]
+ fp = open("version", "r")
+ ver = fp.readline()[:-1]
+ fp.close()
else:
- ver = None
+ ver = None
if ver != VERSION:
- fp = open("version", "w+")
- fp.write(VERSION + '\n')
- fp.close()
+ fp = open("version", "w+")
+ fp.write(VERSION + '\n')
+ fp.close()
del fp
+
setup(
- name='pyalsa',
- version=VERSION,
- author="The ALSA Team",
- author_email='alsa-devel(a)alsa-project.org',
- ext_modules=[
- Extension('pyalsa.alsacard',
- ['pyalsa/alsacard.c'],
- include_dirs=[],
- library_dirs=[],
- libraries=['asound']),
- Extension('pyalsa.alsacontrol',
- ['pyalsa/alsacontrol.c'],
- include_dirs=[],
- library_dirs=[],
- libraries=['asound']),
- Extension('pyalsa.alsahcontrol',
- ['pyalsa/alsahcontrol.c'],
- include_dirs=[],
- library_dirs=[],
- libraries=['asound']),
- Extension('pyalsa.alsamixer',
- ['pyalsa/alsamixer.c'],
- include_dirs=[],
- library_dirs=[],
- libraries=['asound']),
- Extension('pyalsa.alsaseq',
- ['pyalsa/alsaseq.c'],
- include_dirs=[],
- library_dirs=[],
- libraries=['asound']),
- ],
- packages=['pyalsa'],
- scripts=[]
+ name='pyalsa',
+ version=VERSION,
+ author="The ALSA Team",
+ author_email='alsa-devel(a)alsa-project.org',
+ ext_modules=[
+ Extension('pyalsa.alsacard',
+ ['pyalsa/alsacard.c'],
+ include_dirs=[],
+ library_dirs=[],
+ libraries=['asound']),
+ Extension('pyalsa.alsacontrol',
+ ['pyalsa/alsacontrol.c'],
+ include_dirs=[],
+ library_dirs=[],
+ libraries=['asound']),
+ Extension('pyalsa.alsahcontrol',
+ ['pyalsa/alsahcontrol.c'],
+ include_dirs=[],
+ library_dirs=[],
+ libraries=['asound']),
+ Extension('pyalsa.alsamixer',
+ ['pyalsa/alsamixer.c'],
+ include_dirs=[],
+ library_dirs=[],
+ libraries=['asound']),
+ Extension('pyalsa.alsaseq',
+ ['pyalsa/alsaseq.c'],
+ include_dirs=[],
+ library_dirs=[],
+ libraries=['asound']),
+ ],
+ packages=['pyalsa'],
+ scripts=[]
)
uname = os.uname()
a = 'build/lib.%s-%s-%s' % (uname[0].lower(), uname[4], sys.version[:3])
-for f in ['alsacard.so', 'alsacontrol.so', 'alsahcontrol.so', 'alsamixer.so', 'alsaseq.so']:
- if not os.path.exists('pyalsa/%s' % f):
- a = '../build/lib.%s-%s-%s/pyalsa/%s' % (uname[0].lower(),
- uname[4], sys.version[:3], f)
- print a, f
- os.symlink(a, 'pyalsa/%s' % f)
+for f in ['alsacard.so', 'alsacontrol.so', 'alsahcontrol.so',
+ 'alsamixer.so', 'alsaseq.so']:
+ if not os.path.exists('pyalsa/%s' % f):
+ a = '../build/lib.%s-%s-%s/pyalsa/%s' % \
+ (uname[0].lower(), uname[4], sys.version[:3], f)
+ print a, f
+ p = 'pyalsa/' + f
+ try:
+ st = os.lstat(p)
+ if stat.S_ISLNK(st.st_mode):
+ os.remove(p)
+ except:
+ pass
+ os.symlink(a, 'pyalsa/%s' % f)
--
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 alsa-tools for openSUSE:Factory checked in at 2015-03-01 14:47:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-tools (Old)
and /work/SRC/openSUSE:Factory/.alsa-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-tools/alsa-tools.changes 2014-10-22 16:23:05.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.alsa-tools.new/alsa-tools.changes 2015-03-01 14:47:04.000000000 +0100
@@ -1,0 +2,10 @@
+Thu Feb 26 17:31:15 CET 2015 - tiwai(a)suse.de
+
+- Update to alsa-tools 1.0.29:
+ just a version bump including the previous fixes
+- Drop obsoleted patches:
+ 0001-ld10k1-Fix-missing-parentheses-for-functions.patch
+ 0002-hdajackretask-Add-hints-functionality.patch
+ 0003-Add-a-small-hdajacksensetest-helper.patch
+
+-------------------------------------------------------------------
Old:
----
0001-ld10k1-Fix-missing-parentheses-for-functions.patch
0002-hdajackretask-Add-hints-functionality.patch
0003-Add-a-small-hdajacksensetest-helper.patch
alsa-tools-1.0.28.tar.bz2
New:
----
alsa-tools-1.0.29.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-tools.spec ++++++
--- /var/tmp/diff_new_pack.sYoJf0/_old 2015-03-01 14:47:05.000000000 +0100
+++ /var/tmp/diff_new_pack.sYoJf0/_new 2015-03-01 14:47:05.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package alsa-tools
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +16,7 @@
#
-%define package_version 1.0.28
+%define package_version 1.0.29
#
%define build_hwdep_loader 0
%define have_fltk 1
@@ -27,7 +27,7 @@
%define have_gtk3 0
%endif
Name: alsa-tools
-Version: 1.0.28
+Version: 1.0.29
Release: 0
Summary: Various ALSA Tools
License: GPL-2.0+
@@ -41,9 +41,6 @@
Source7: rme.png
Source8: envy24.png
# upstream fixes
-Patch1: 0001-ld10k1-Fix-missing-parentheses-for-functions.patch
-Patch2: 0002-hdajackretask-Add-hints-functionality.patch
-Patch3: 0003-Add-a-small-hdajacksensetest-helper.patch
# build fixes
Patch100: alsa-tools-desktop-fix.dif
Patch101: alsa-tools-no_m4_dir.dif
@@ -314,9 +311,6 @@
%setup -q -a 2 -n %{name}-%{package_version}
cp %{SOURCE1} .
# upstream fixes
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
# build fixes
%patch100 -p1
%patch101 -p1
++++++ alsa-tools-1.0.28.tar.bz2 -> alsa-tools-1.0.29.tar.bz2 ++++++
++++ 9790 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/Makefile new/alsa-tools-1.0.29/Makefile
--- old/alsa-tools-1.0.28/Makefile 2014-06-13 11:30:19.000000000 +0200
+++ new/alsa-tools-1.0.29/Makefile 2015-02-26 13:47:21.000000000 +0100
@@ -1,9 +1,9 @@
-VERSION = 1.0.28
+VERSION = 1.0.29
TOP = .
SUBDIRS = as10k1 envy24control hdsploader hdspconf hdspmixer \
mixartloader pcxhrloader rmedigicontrol sb16_csp seq sscape_ctl \
us428control usx2yloader vxloader echomixer ld10k1 qlo10k1 \
- hwmixvolume hdajackretask hda-verb
+ hwmixvolume hdajackretask hda-verb hdajacksensetest
all:
@for i in $(SUBDIRS); do \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/Makefile.am new/alsa-tools-1.0.29/hdajackretask/Makefile.am
--- old/alsa-tools-1.0.28/hdajackretask/Makefile.am 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/Makefile.am 2015-02-26 13:35:49.000000000 +0100
@@ -1,5 +1,5 @@
EXTRA_DIST = gitcompile README
-AM_CFLAGS = @GTK3_CFLAGS@
+AM_CFLAGS = @GTK3_CFLAGS@ -Wno-deprecated-declarations
bin_PROGRAMS = hdajackretask
man_MANS =
hdajackretask_SOURCES = main-gtk.c sysfs-pin-configs.c apply-changes.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/README new/alsa-tools-1.0.29/hdajackretask/README
--- old/alsa-tools-1.0.28/hdajackretask/README 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/README 2015-02-26 13:35:49.000000000 +0100
@@ -1,12 +1,12 @@
-Documentation for hda-jack-retask
-=================================
+Documentation for hdajackretask
+===============================
Most HDA Intel soundcards are to some degree retaskable, i e can be used for more than one thing. This tool is a GUI to make it easy to retask your jacks - e g, turn your Mic jack into an extra Headphone, or why not make them both line outs and connect them to your surround receiver?
Quickstart
==========
-Start the application "hda-jack-retask" from the command line.
+Start the application "hdajackretask" from the command line.
Select a codec in the top bar; some people have only one - if you have more than one, one is the "main" one, and the rest are probably HDMI codecs.
All jacks (and other inputs/outputs) are shown under "Pin configuration". To override one of your jacks, click the "Override" checkbox for that pin and select the desired function.
@@ -44,9 +44,11 @@
Your BIOS is responsible for setting up what pins on the codec that are actually connected to something and which ones are not. Sometimes BIOS is buggy, and will not show all your jacks. If you have a jack your BIOS says you haven't, you can try enabling random pins and see if it works.
* Set Model=auto
-Some codecs, especially older ones, are hard-coded to use a specific model, and thus will not care about your overrides. In many cases and with a reasonably new kernel, the auto parser now works well for these codecs as well. You can force the auto parser to be used by checking this box. In some cases, though, the explicit model is there for a reason, if so, you're stuck.
+Some codecs, especially older ones and on kernels 3.8 and below, are hard-coded to use a specific model, and thus will not care about your overrides. In many cases and with a reasonably new kernel, the auto parser now works well for these codecs as well. You can force the auto parser to be used by checking this box. In some cases, though, the explicit model is there for a reason, if so, you're stuck.
* Advanced override
This is for the experts only. It makes you select each configuration field individually, instead of just a few predefined values that make sense. Note that most combinations here are invalid in one way or the other, so you should probably not mess with this unless you have read and understood the "Configuration Default" section of the HD Audio specification. (Which, at the time of this writing, is available here:
-http://www.intel.com/content/dam/doc/product-specification/high-definition-audio-specification.pdf )
+http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/high-definition-audio-specification.pdf )
+ * Parser hints
+This enables you to send special "hints" to the driver that causes parsing to behave differently. Leave them at the "default" setting unless you have read the driver documentation. ( Which, at the time of this writing, is available here: https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt - see the "Hint strings" section. )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/apply-changes.c new/alsa-tools-1.0.29/hdajackretask/apply-changes.c
--- old/alsa-tools-1.0.28/hdajackretask/apply-changes.c 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/apply-changes.c 2015-02-26 13:35:49.000000000 +0100
@@ -15,6 +15,11 @@
static gchar* scriptfile = NULL;
static gchar* errorfile = NULL;
+static GQuark quark()
+{
+ return g_quark_from_static_string("hda-jack-retask-error");
+}
+
static gboolean ensure_tempdir(GError** err)
{
if (!tempdir) {
@@ -29,10 +34,10 @@
}
static gboolean create_reconfig_script(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err)
+ const char* model, const char* hints, GError** err)
{
gchar* hwdir = g_strdup_printf("/sys/class/sound/hwC%dD%d", card, device);
- gchar destbuf[120*40] = "#!/bin/sh\n";
+ gchar destbuf[150*40] = "#!/bin/sh\n";
int bufleft = sizeof(destbuf) - strlen(destbuf);
gboolean ok = FALSE;
gchar* s = destbuf + strlen(destbuf);
@@ -44,9 +49,16 @@
int l = g_snprintf(s, bufleft, "echo \"%s\" | tee %s/modelname 2>>%s\n",
model, hwdir, errorfile);
bufleft-=l;
- s+=l;
+ s+=l;
}
-
+
+ if (hints) {
+ int l = g_snprintf(s, bufleft, "echo \"%s\" | tee %s/hints 2>>%s\n",
+ hints, hwdir, errorfile);
+ bufleft-=l;
+ s+=l;
+ }
+
while (entries) {
int l = g_snprintf(s, bufleft, "echo \"0x%02x 0x%08x\" | tee %s/user_pin_configs 2>>%s\n",
pins->nid, (unsigned int) actual_pin_config(pins), hwdir, errorfile);
@@ -57,7 +69,7 @@
}
if (bufleft < g_snprintf(s, bufleft, "echo 1 | tee %s/reconfig 2>>%s", hwdir, errorfile)) {
- g_set_error(err, 0, 0, "Bug in %s:%d!", __FILE__, __LINE__);
+ g_set_error(err, quark(), 0, "Bug in %s:%d!", __FILE__, __LINE__);
goto cleanup;
}
@@ -85,7 +97,7 @@
g_chmod(script_name, 0755);
g_spawn_command_line_sync(cmdline, NULL, NULL, &exit_status, NULL);
if (errorfile && g_file_get_contents(errorfile, &errfilecontents, &errlen, NULL) && errlen) {
- g_set_error(err, 0, 0, "%s", errfilecontents);
+ g_set_error(err, quark(), 0, "%s", errfilecontents);
ok = FALSE;
}
else ok = TRUE;
@@ -130,7 +142,7 @@
clientconf = get_pulseaudio_client_conf();
if (!(ok = !g_file_test(clientconf, G_FILE_TEST_EXISTS))) {
- g_set_error(err, 0, 0, "Cannot block PulseAudio from respawning:\n"
+ g_set_error(err, quark(), 0, "Cannot block PulseAudio from respawning:\n"
"Please either remove '%s' or kill PulseAudio manually.", clientconf);
goto cleanup;
}
@@ -153,7 +165,7 @@
{
gchar* clientconf = get_pulseaudio_client_conf();
if (was_killed && g_unlink(clientconf) != 0) {
- g_set_error(err, 0, 0, "%s", g_strerror(errno));
+ g_set_error(err, quark(), 0, "%s", g_strerror(errno));
g_free(clientconf);
return FALSE;
}
@@ -162,7 +174,7 @@
}
gboolean apply_changes_reconfig(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err)
+ const char* model, const char* hints, GError** err)
{
gboolean result = FALSE;
// gchar* script_name = NULL;
@@ -172,7 +184,7 @@
if (!kill_pulseaudio(&pa_killed, card, err))
goto cleanup;
/* Create script */
- if (!create_reconfig_script(pins, entries, card, device, model, err))
+ if (!create_reconfig_script(pins, entries, card, device, model, hints, err))
goto cleanup;
/* Run script as root */
if (!run_sudo_script(scriptfile, err))
@@ -187,10 +199,10 @@
}
static gboolean create_firmware_file(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err)
+ const char* model, const char* hints, GError** err)
{
gboolean ok;
- gchar destbuf[40*40] = "";
+ gchar destbuf[40*40+40*24] = "";
gchar* s = destbuf;
gchar* filename = g_strdup_printf("%s/hda-jack-retask.fw", tempdir);
unsigned int address, codec_vendorid, codec_ssid;
@@ -216,6 +228,12 @@
s+=l;
}
+ if (hints) {
+ int l = g_snprintf(s, bufleft, "\n[hints]\n%s\n", hints);
+ bufleft-=l;
+ s+=l;
+ }
+
ok = g_file_set_contents(filename, destbuf, -1, err);
g_free(filename);
return ok;
@@ -238,14 +256,14 @@
"mv %s/hda-jack-retask.conf /etc/modprobe.d/hda-jack-retask.conf 2>>%s\n";
gboolean apply_changes_boot(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err)
+ const char* model, const char* hints, GError** err)
{
gchar *s;
if (!ensure_tempdir(err))
return FALSE;
- if (!create_firmware_file(pins, entries, card, device, model, err))
+ if (!create_firmware_file(pins, entries, card, device, model, hints, err))
return FALSE;
/* Create hda-jack-retask.conf */
@@ -277,7 +295,7 @@
if ((g_file_test("/etc/modprobe.d/hda-jack-retask.conf", G_FILE_TEST_EXISTS) == 0) &&
(g_file_test("/lib/firmware/hda-jack-retask.fw", G_FILE_TEST_EXISTS) == 0))
{
- g_set_error(err, 0, 0, "No boot override is currently installed, nothing to remove.");
+ g_set_error(err, quark(), 0, "No boot override is currently installed, nothing to remove.");
return FALSE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/apply-changes.h new/alsa-tools-1.0.29/hdajackretask/apply-changes.h
--- old/alsa-tools-1.0.28/hdajackretask/apply-changes.h 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/apply-changes.h 2015-02-26 13:35:49.000000000 +0100
@@ -5,10 +5,10 @@
#include <glib.h>
gboolean apply_changes_reconfig(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err);
+ const char* model, const char* hints, GError** err);
gboolean apply_changes_boot(pin_configs_t* pins, int entries, int card, int device,
- const char* model, GError** err);
+ const char* model, const char* hints, GError** err);
gboolean reset_changes_boot();
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/main-gtk.c new/alsa-tools-1.0.29/hdajackretask/main-gtk.c
--- old/alsa-tools-1.0.28/hdajackretask/main-gtk.c 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/main-gtk.c 2015-02-26 13:35:49.000000000 +0100
@@ -20,6 +20,13 @@
ui_data_t* owner;
} pin_ui_data_t;
+typedef struct hints_ui_data_t {
+ gboolean visible;
+ GtkWidget *frame;
+ GtkListStore *store;
+ gchar *values;
+} hints_ui_data_t;
+
struct ui_data_t {
GList* pin_ui_data;
GtkWidget *main_window;
@@ -35,6 +42,8 @@
gboolean trust_codec;
gboolean trust_defcfg;
gboolean model_auto;
+
+ hints_ui_data_t hints;
};
static void update_user_pin_config(ui_data_t* ui, pin_configs_t* cfg);
@@ -229,14 +238,44 @@
update_user_pin_config(ui, &ui->sysfs_pins[i]);
}
+static gboolean update_one_hint(GtkTreeModel *model, GtkTreePath *path,
+ GtkTreeIter *iter, gpointer userdata)
+{
+ gchar *name, *value;
+ ui_data_t *ui = userdata;
+ gtk_tree_model_get(GTK_TREE_MODEL(ui->hints.store), iter, 0, &name, 1, &value, -1);
+ if (g_strcmp0(value, "default")) {
+ gchar *s = g_strconcat(name, "=", value, "\n", ui->hints.values, NULL);
+ g_free(ui->hints.values);
+ ui->hints.values = s;
+ }
+ g_free(name);
+ g_free(value);
+ return FALSE;
+}
+
+static void update_hints(ui_data_t* ui)
+{
+ g_free(ui->hints.values);
+ ui->hints.values = NULL;
+ if (ui->hints.visible)
+ gtk_tree_model_foreach(GTK_TREE_MODEL(ui->hints.store), update_one_hint, ui);
+}
+
+static GQuark quark()
+{
+ return g_quark_from_static_string("hda-jack-retask-error");
+}
+
static gboolean validate_user_pin_config(ui_data_t* ui, GError** err)
{
int i;
if (!ui->current_codec) {
- g_set_error(err, 0, 0, "You must first select a codec!");
+ g_set_error(err, quark(), 0, "You must first select a codec!");
return FALSE;
}
+ update_hints(ui);
update_all_user_pin_config(ui);
if (ui->free_overrides)
return TRUE;
@@ -249,21 +288,44 @@
if ((v & 0xf0) != 0x10)
continue;
if (((v & 0xf) != 0) && !find_pin_channel_match(ui->sysfs_pins, ui->sysfs_pincount, v & 0xf0)) {
- g_set_error(err, 0, 0, "This surround setup also requires a \"front\" channel override.");
+ g_set_error(err, quark(), 0, "This surround setup also requires a \"front\" channel override.");
return FALSE;
}
if (((v & 0xf) >= 3) && !find_pin_channel_match(ui->sysfs_pins, ui->sysfs_pincount, 2 + (v & 0xf0))) {
- g_set_error(err, 0, 0, "This surround setup also requires a \"back\" channel override.");
+ g_set_error(err, quark(), 0, "This surround setup also requires a \"back\" channel override.");
return FALSE;
}
if ((v & 0xf) >= 3 && !find_pin_channel_match(ui->sysfs_pins, ui->sysfs_pincount, 1 + (v & 0xf0))) {
- g_set_error(err, 0, 0, "This surround setup also requires a \"Center/LFE\" channel override.");
+ g_set_error(err, quark(), 0, "This surround setup also requires a \"Center/LFE\" channel override.");
return FALSE;
}
}
return TRUE;
}
+static gboolean update_tree_one_hint(GtkTreeModel *model, GtkTreePath *path,
+ GtkTreeIter *iter, gpointer userdata)
+{
+ gchar *name;
+ ui_data_t *ui = userdata;
+ gtk_tree_model_get(GTK_TREE_MODEL(ui->hints.store), iter, 0, &name, -1);
+ gchar *s = strstr(ui->hints.values, name);
+ if (!s) {
+ g_free(name);
+ gtk_list_store_set(ui->hints.store, iter, 1, "default", -1);
+ return FALSE;
+ }
+ s += strlen(name);
+ while (*s == ' ' || *s == '=') s++;
+ gchar *s2 = s;
+ while (*s != '\n' && *s != '\0') s++;
+ s2 = g_strndup(s2, s - s2);
+ gtk_list_store_set(ui->hints.store, iter, 1, s2, -1);
+ g_free(s2);
+ g_free(name);
+ return FALSE;
+}
+
static void show_action_result(ui_data_t* ui, GError* err, const gchar* ok_msg)
{
GtkWidget* dialog;
@@ -285,7 +347,7 @@
if (ok)
apply_changes_reconfig(ui->sysfs_pins, ui->sysfs_pincount,
ui->current_codec->card, ui->current_codec->device,
- ui->model_auto ? "auto" : NULL, &err);
+ ui->model_auto ? "auto" : NULL, ui->hints.values, &err);
show_action_result(ui, err,
"Ok, now go ahead and test to see if it actually worked!\n"
"(Remember, this stuff is still experimental.)");
@@ -299,8 +361,8 @@
if (ok)
apply_changes_boot(ui->sysfs_pins, ui->sysfs_pincount,
ui->current_codec->card, ui->current_codec->device,
- ui->model_auto ? "auto" : NULL, &err);
- show_action_result(ui, err,
+ ui->model_auto ? "auto" : NULL, ui->hints.values, &err);
+ show_action_result(ui, err,
"Ok, now reboot to test to see if it actually worked!\n"
"(Remember, this stuff is still experimental.)");
}
@@ -359,15 +421,24 @@
if (codec_index < 0)
return;
ui->current_codec = &ui->sysfs_codec_names[codec_index];
- if (codec_change)
+ if (codec_change) {
ui->sysfs_pincount = get_pin_configs_list(ui->sysfs_pins, 32, ui->current_codec->card, ui->current_codec->device);
+ ui->hints.values = get_hint_overrides(ui->current_codec->card, ui->current_codec->device);
+ gtk_tree_model_foreach(GTK_TREE_MODEL(ui->hints.store), update_tree_one_hint, ui);
+ }
for (i = 0; i < ui->sysfs_pincount; i++) {
GtkWidget *w = create_pin_ui(ui, &ui->sysfs_pins[i]);
if (w)
gtk_container_add(GTK_CONTAINER(ui->content_inner_box), w);
}
-
+
gtk_widget_show_all(GTK_WIDGET(ui->content_inner_box));
+
+ if (ui->hints.visible)
+ gtk_widget_show_all(ui->hints.frame);
+ else
+ gtk_widget_hide(ui->hints.frame);
+
resize_main_window(ui);
}
@@ -394,6 +465,32 @@
update_codec_ui(ui_data, false);
}
+static void hints_toggled(GtkWidget* sender, ui_data_t* ui_data)
+{
+ ui_data->hints.visible = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sender));
+ update_codec_ui(ui_data, false);
+}
+
+static void hints_row_activated(GtkTreeView *tree_view, GtkTreePath *path,
+ GtkTreeViewColumn *column, ui_data_t* ui_data)
+{
+ GtkTreeIter iter;
+ gchar *value;
+ const gchar *newvalue = "default";
+
+ gtk_tree_model_get_iter(GTK_TREE_MODEL(ui_data->hints.store), &iter, path);
+ gtk_tree_model_get(GTK_TREE_MODEL(ui_data->hints.store), &iter, 1, &value, -1);
+
+ if (!g_strcmp0(value, "default"))
+ newvalue = "yes";
+ else if (!g_strcmp0(value, "yes"))
+ newvalue = "no";
+ gtk_list_store_set(ui_data->hints.store, &iter, 1, newvalue, -1);
+
+ g_free(value);
+}
+
+
static const char* readme_text =
#include "README.generated.h"
;
@@ -480,6 +577,31 @@
gtk_box_set_child_packing(GTK_BOX(toplevel_2ndbox), frame, TRUE, TRUE, 2, GTK_PACK_START);
}
+ /* Create hints */
+ {
+ GtkWidget* frame = gtk_frame_new("Hints");
+ ui->hints.frame = frame;
+
+ GtkListStore *store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING);
+ ui->hints.store = store;
+ const gchar** names = get_standard_hint_names();
+ for (; *names; names++) {
+ GtkTreeIter iter;
+ gtk_list_store_append(store, &iter);
+ gtk_list_store_set(store, &iter, 0, *names, 1, "default", -1);
+ }
+
+ GtkWidget *tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store));
+ gtk_tree_view_append_column(GTK_TREE_VIEW(tree), gtk_tree_view_column_new_with_attributes
+ ("Name", gtk_cell_renderer_text_new(), "text", 0, NULL));
+ gtk_tree_view_append_column(GTK_TREE_VIEW(tree), gtk_tree_view_column_new_with_attributes
+ ("Value", gtk_cell_renderer_text_new(), "text", 1, NULL));
+ g_signal_connect(tree, "row-activated", G_CALLBACK(hints_row_activated), ui);
+
+ gtk_container_add(GTK_CONTAINER(frame), tree);
+ gtk_container_add(toplevel_2ndbox, frame);
+ }
+
/* Create settings */
{
GtkWidget* frame = gtk_frame_new("Options");
@@ -498,6 +620,10 @@
g_signal_connect(check, "toggled", G_CALLBACK(free_override_toggled), ui);
gtk_container_add(box, check);
+ check = gtk_check_button_new_with_label("Parser hints");
+ g_signal_connect(check, "toggled", G_CALLBACK(hints_toggled), ui);
+ gtk_container_add(box, check);
+
gtk_container_add(GTK_CONTAINER(frame), GTK_WIDGET(box));
gtk_container_add(rightside_box, frame);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/sysfs-pin-configs.c new/alsa-tools-1.0.29/hdajackretask/sysfs-pin-configs.c
--- old/alsa-tools-1.0.28/hdajackretask/sysfs-pin-configs.c 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/sysfs-pin-configs.c 2015-02-26 13:35:49.000000000 +0100
@@ -7,6 +7,21 @@
#include "sysfs-pin-configs.h"
#include "apply-changes.h"
+const gchar *hint_names[25] = {
+"jack_detect", "inv_jack_detect", "trigger_sense", "inv_eapd",
+"pcm_format_first", "sticky_stream", "spdif_status_reset",
+"pin_amp_workaround", "single_adc_amp", "auto_mute", "auto_mic",
+"line_in_auto_switch", "auto_mute_via_amp", "need_dac_fix", "primary_hp",
+"multi_io", "multi_cap_vol", "inv_dmic_split", "indep_hp",
+"add_stereo_mix_input", "add_jack_modes", "power_down_unused", "add_hp_mic",
+"hp_mic_detect", NULL };
+
+const gchar** get_standard_hint_names()
+{
+ return hint_names;
+}
+
+
int get_codec_name_list(codec_name_t* names, int entries)
{
GDir* sysdir = g_dir_open("/sys/class/sound", 0, NULL);
@@ -117,6 +132,16 @@
g_free(contents);
}
+gchar *get_hint_overrides(int card, int device)
+{
+ gchar* filename = g_strdup_printf("/sys/class/sound/hwC%dD%d/hints", card, device);
+ gchar* contents = NULL;
+ int ok = g_file_get_contents(filename, &contents, NULL, NULL);
+ g_free(filename);
+ if (!ok)
+ return NULL;
+ return contents;
+}
static void read_pin_overrides(pin_configs_t* pins, int entries, int card, int device, gboolean is_user)
{
@@ -126,7 +151,7 @@
int count = 0;
int ok = g_file_get_contents(filename, &contents, NULL, NULL);
g_free(filename);
- if (!ok)
+ if (!ok)
return;
line_iterator = lines = g_strsplit(contents, "\n", entries);
while (count < entries && *line_iterator) {
@@ -151,6 +176,7 @@
g_strfreev(line);
}
g_strfreev(lines);
+ g_free(contents);
}
int get_pin_configs_list(pin_configs_t* pins, int entries, int card, int device)
@@ -263,6 +289,8 @@
#define AC_DEFCFG_DEVICE_SHIFT 20
#define AC_DEFCFG_LOCATION (0x3f<<24)
#define AC_DEFCFG_LOCATION_SHIFT 24
+#define AC_DEFCFG_GROSSLOC (0x3<<28)
+#define AC_DEFCFG_GROSSLOC_SHIFT 28
#define AC_DEFCFG_PORT_CONN (0x3<<30)
#define AC_DEFCFG_PORT_CONN_SHIFT 30
@@ -568,21 +596,27 @@
return TRUE;
}
+#define DEFAULT_MASK (AC_DEFCFG_PORT_CONN | AC_DEFCFG_GROSSLOC | AC_DEFCFG_DEVICE)
+
static typical_pins_t simple_typical_pins[] = {
- {"Headphone", headphone_caps, 0x0321403f, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE, },
- {"Microphone", extmic_caps, 0x03a19020, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE,},
- {"Line out (Front)", lineout_caps, 0x01014410, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE,},
- {"Line out (Center/LFE)", lineout_caps, 0x01014411, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE,},
- {"Line out (Back)", lineout_caps, 0x01014412, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE,},
- {"Line out (Side)", lineout_caps, 0x01014413, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE,},
- {"Line in", linein_caps, 0x0181344f, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE,},
- {"Internal speaker", lineout_caps, 0x90170150, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE, },
- {"Internal speaker (LFE)", lineout_caps, 0x90170151, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE, },
- {"Internal speaker (Back)", lineout_caps, 0x90170152, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE | AC_DEFCFG_SEQUENCE, },
- {"Internal mic", intmic_caps, 0x90a60160, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE,},
- {"HDMI", hdmi_caps, 0x18560070, AC_DEFCFG_PORT_CONN | AC_DEFCFG_LOCATION,},
+ {"Headphone", headphone_caps, 0x0321403f, DEFAULT_MASK, },
+ {"Microphone", extmic_caps, 0x03a19020, DEFAULT_MASK,},
+ {"Line out (Front)", lineout_caps, 0x01014010, DEFAULT_MASK | AC_DEFCFG_SEQUENCE,},
+ {"Line out (Center/LFE)", lineout_caps, 0x01014011, DEFAULT_MASK | AC_DEFCFG_SEQUENCE,},
+ {"Line out (Back)", lineout_caps, 0x01014012, DEFAULT_MASK | AC_DEFCFG_SEQUENCE,},
+ {"Line out (Side)", lineout_caps, 0x01014013, DEFAULT_MASK | AC_DEFCFG_SEQUENCE,},
+ {"Line in", linein_caps, 0x0181304f, DEFAULT_MASK,},
+ {"Internal speaker", lineout_caps, 0x90170150, DEFAULT_MASK | AC_DEFCFG_SEQUENCE, },
+ {"Internal speaker (LFE)", lineout_caps, 0x90170151, DEFAULT_MASK | AC_DEFCFG_SEQUENCE, },
+ {"Internal speaker (Back)", lineout_caps, 0x90170152, DEFAULT_MASK | AC_DEFCFG_SEQUENCE, },
+ {"Internal mic", intmic_caps, 0x90a60160, DEFAULT_MASK,},
+ {"HDMI / DisplayPort", hdmi_caps, 0x18560070, AC_DEFCFG_PORT_CONN | AC_DEFCFG_LOCATION,},
{"SPDIF out", spdifout_caps, 0x014b1180, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE,},
{"SPDIF in", spdifin_caps, 0x01cb6190, AC_DEFCFG_PORT_CONN | AC_DEFCFG_DEVICE,},
+ {"Dock Headphone", headphone_caps, 0x222140af, DEFAULT_MASK, },
+ {"Dock Microphone", extmic_caps, 0x22a190a0, DEFAULT_MASK,},
+ {"Dock Line out", lineout_caps, 0x220140b0, DEFAULT_MASK | AC_DEFCFG_SEQUENCE,},
+ {"Dock Line in", linein_caps, 0x228130bf, DEFAULT_MASK,},
{"Not connected", disabled_caps, 0x40f000f0, AC_DEFCFG_PORT_CONN,},
{}
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajackretask/sysfs-pin-configs.h new/alsa-tools-1.0.29/hdajackretask/sysfs-pin-configs.h
--- old/alsa-tools-1.0.28/hdajackretask/sysfs-pin-configs.h 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/hdajackretask/sysfs-pin-configs.h 2015-02-26 13:35:49.000000000 +0100
@@ -48,6 +48,10 @@
gchar* get_caps_description(unsigned long pin_caps);
+const gchar** get_standard_hint_names();
+gchar *get_hint_overrides(int card, int device);
+
+
/* 0 = Jack, 1 = N/A, 2 = Internal, 3 = Both (?!) */
int get_port_conn(unsigned long config);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajacksensetest/Makefile.am new/alsa-tools-1.0.29/hdajacksensetest/Makefile.am
--- old/alsa-tools-1.0.28/hdajacksensetest/Makefile.am 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-tools-1.0.29/hdajacksensetest/Makefile.am 2015-02-26 13:35:49.000000000 +0100
@@ -0,0 +1,12 @@
+MYNAME = hdajacksensetest
+AUTOMAKE_OPTIONS = foreign
+bin_PROGRAMS = hdajacksensetest
+AM_CFLAGS = @GLIB_CFLAGS@ -I "../hdajackretask/" -I "../hda-verb/"
+hdajacksensetest_SOURCES = hdajacksensetest.c ../hdajackretask/sysfs-pin-configs.c
+hdajacksensetest_LDADD = @GLIB_LIBS@
+
+alsa-dist: distdir
+ @rm -rf ../distdir/$(MYNAME)
+ @mkdir -p ../distdir/$(MYNAME)
+ @cp -RLpv $(distdir)/* ../distdir/$(MYNAME)
+ @rm -rf $(distdir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajacksensetest/configure.ac new/alsa-tools-1.0.29/hdajacksensetest/configure.ac
--- old/alsa-tools-1.0.28/hdajacksensetest/configure.ac 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-tools-1.0.29/hdajacksensetest/configure.ac 2015-02-26 13:35:49.000000000 +0100
@@ -0,0 +1,10 @@
+AC_INIT(hdajacksensetest, 0.20141006)
+AM_INIT_AUTOMAKE(subdir-objects)
+AM_MAINTAINER_MODE([enable])
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_HEADER_STDC
+
+PKG_CHECK_MODULES([GLIB], [glib-2.0])
+
+AC_OUTPUT(Makefile)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajacksensetest/hdajacksensetest.c new/alsa-tools-1.0.29/hdajacksensetest/hdajacksensetest.c
--- old/alsa-tools-1.0.28/hdajacksensetest/hdajacksensetest.c 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-tools-1.0.29/hdajacksensetest/hdajacksensetest.c 2015-02-26 13:35:49.000000000 +0100
@@ -0,0 +1,146 @@
+/*
+ * Checks the current pin/jack status of the codec
+ *
+ * Copyright (c) 2014 David Henningsson, Canonical Ltd. <david.henningsson(a)canonical.com>
+ * (With some minor pieces copy-pasted from hda-verb by Takashi Iwai)
+ *
+ * Licensed under GPL v2 or later.
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <glib.h>
+#include <errno.h>
+#include "sysfs-pin-configs.h"
+
+#include <sys/ioctl.h>
+#include <stdint.h>
+typedef uint8_t u8;
+typedef uint16_t u16;
+typedef uint32_t u32;
+typedef uint64_t u64;
+#include "hda_hwdep.h"
+
+gint card_index, codec_index;
+gboolean try_all_pins, set_pin_sense;
+
+static GOptionEntry arg_entries[] =
+{
+ { "card", 'c', 0, G_OPTION_ARG_INT, &card_index, "card index (as can be seen in /proc/asound/cards)", "X" },
+ { "codec", 'd', 0, G_OPTION_ARG_INT, &codec_index, "codec device index (as can be seen in /proc/asound/cardX/codecY)", "Y" },
+ { "allpins", 'a', 0, G_OPTION_ARG_NONE, &try_all_pins, "try all pins, even those who (probably) does not have a physical jack", NULL },
+ { "setpinsense", 's', 0, G_OPTION_ARG_NONE, &set_pin_sense, "execute 'Set pin sense' before the pin sense is measured", NULL },
+ { NULL }
+};
+
+static void parse_command_line(int argc, char **argv)
+{
+ GError *error = NULL;
+ GOptionContext *context = g_option_context_new("- check current jack/pin sense");
+ g_option_context_add_main_entries(context, arg_entries, NULL);
+ if (!g_option_context_parse (context, &argc, &argv, &error)) {
+ fprintf(stderr, "Option parsing failed: %s\n", error->message);
+ exit(1);
+ }
+ g_option_context_free(context);
+}
+
+
+static gboolean should_check_pin(pin_configs_t *pin)
+{
+ unsigned long defcfg = actual_pin_config(pin);
+ if (try_all_pins)
+ return TRUE;
+ if (get_port_conn(defcfg) != 0)
+ return FALSE; // Not a jack
+ if (defcfg & (1 << 8)) // Jack has NO_PRESENCE set
+ return FALSE;
+ return TRUE;
+}
+
+int fd;
+
+static void codec_open()
+{
+ char filename[64];
+ int version = 0;
+
+ snprintf(filename, 64, "/dev/snd/hwC%dD%d", card_index, codec_index);
+ fd = open(filename, O_RDWR);
+ if (fd < 0) {
+ if (errno == EACCES)
+ fprintf(stderr, "Permission error (hint: this program usually requires root)\n");
+ else
+ fprintf(stderr, "Ioctl call failed with error %d\n", errno);
+ exit(1);
+ }
+
+ if (ioctl(fd, HDA_IOCTL_PVERSION, &version) < 0) {
+ fprintf(stderr, "Ioctl call failed with error %d\n", errno);
+ fprintf(stderr, "Looks like an invalid hwdep device...\n");
+ close(fd);
+ exit(1);
+ }
+ if (version < HDA_HWDEP_VERSION) {
+ fprintf(stderr, "Invalid version number 0x%x\n", version);
+ fprintf(stderr, "Looks like an invalid hwdep device...\n");
+ close(fd);
+ exit(1);
+ }
+}
+
+static unsigned long codec_rw(int nid, int verb, int param)
+{
+ struct hda_verb_ioctl val;
+
+ val.verb = HDA_VERB(nid, verb, param);
+ if (ioctl(fd, HDA_IOCTL_VERB_WRITE, &val) < 0) {
+ fprintf(stderr, "Ioctl call failed with error %d\n", errno);
+ close(fd);
+ exit(1);
+ }
+ return val.res;
+}
+
+#define AC_VERB_GET_PIN_SENSE 0x0f09
+#define AC_VERB_SET_PIN_SENSE 0x709
+
+#define MAX_PINS 32
+
+pin_configs_t pin_configs[MAX_PINS];
+
+int main(int argc, char **argv)
+{
+ int pin_count, i;
+
+ parse_command_line(argc, argv);
+ pin_count = get_pin_configs_list(pin_configs, MAX_PINS, card_index, codec_index);
+ if (pin_count == 0) {
+ fprintf(stderr, "No pins found for card %d codec %d, did you pick the right one?\n", card_index, codec_index);
+ exit(1);
+ }
+
+ codec_open();
+
+ if (set_pin_sense) {
+ for (i = 0; i < pin_count; i++)
+ if (should_check_pin(&pin_configs[i])) {
+ codec_rw(pin_configs[i].nid, AC_VERB_SET_PIN_SENSE, 0);
+ }
+ sleep(1);
+ }
+
+ for (i = 0; i < pin_count; i++)
+ if (should_check_pin(&pin_configs[i])) {
+ gchar *desc = get_config_description(actual_pin_config(&pin_configs[i]));
+ unsigned long present = codec_rw(pin_configs[i].nid, AC_VERB_GET_PIN_SENSE, 0);
+ printf("Pin 0x%.2x (%s): present = %s\n", pin_configs[i].nid, desc, present & 0x80000000 ? "Yes" : "No");
+ g_free(desc);
+ }
+
+ close(fd);
+ return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/hdajacksensetest/missing new/alsa-tools-1.0.29/hdajacksensetest/missing
--- old/alsa-tools-1.0.28/hdajacksensetest/missing 1970-01-01 01:00:00.000000000 +0100
+++ new/alsa-tools-1.0.29/hdajacksensetest/missing 2012-09-26 16:03:18.000000000 +0200
@@ -0,0 +1,330 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2012-01-06.18; # UTC
+
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard(a)iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, 'missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+ configure_ac=configure.ac
+else
+ configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+ # Try to run requested program, and just exit if it succeeds.
+ run=
+ shift
+ "$@" && exit 0
+ # Exit code 63 means version mismatch. This often happens
+ # when the user try to use an ancient version of a tool on
+ # a file that requires a minimum version. In this case we
+ # we should proceed has if the program had been absent, or
+ # if --run hadn't been passed.
+ if test $? = 63; then
+ run=:
+ msg="probably too old"
+ fi
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+ --run try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+ aclocal touch file 'aclocal.m4'
+ autoconf touch file 'configure'
+ autoheader touch file 'config.h.in'
+ autom4te touch the output file, or create a stub one
+ automake touch all 'Makefile.in' files
+ bison create 'y.tab.[ch]', if possible, from existing .[ch]
+ flex create 'lex.yy.c', if possible, from existing .c
+ help2man touch the output file
+ lex create 'lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create 'y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake(a)gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+# Now exit if we have it, but it failed. Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program). This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+ lex*|yacc*)
+ # Not GNU programs, they don't have --version.
+ ;;
+
+ *)
+ if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+ # We have it, but it failed.
+ exit 1
+ elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+ # Could not run --version or --help. This is probably someone
+ # running '$TOOL --version' or '$TOOL --help' to check whether
+ # $TOOL exists and not knowing $TOOL uses missing.
+ exit 1
+ fi
+ ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+ aclocal*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified 'acinclude.m4' or '${configure_ac}'. You might want
+ to install the Automake and Perl packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified '${configure_ac}'. You might want to install the
+ Autoconf and GNU m4 packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified 'acconfig.h' or '${configure_ac}'. You might want
+ to install the Autoconf and GNU m4 packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case $f in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
+ You might want to install the Automake and Perl packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ autom4te*)
+ echo 1>&2 "\
+WARNING: '$1' is needed, but is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them.
+ You can get '$1' as part of Autoconf from any GNU
+ archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo "#! /bin/sh"
+ echo "# Created by GNU Automake missing as a replacement of"
+ echo "# $ $@"
+ echo "exit 0"
+ chmod +x $file
+ exit 1
+ fi
+ ;;
+
+ bison*|yacc*)
+ echo 1>&2 "\
+WARNING: '$1' $msg. You should only need it if
+ you modified a '.y' file. You may need the Bison package
+ in order for those modifications to take effect. You can get
+ Bison from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if test $# -ne 1; then
+ eval LASTARG=\${$#}
+ case $LASTARG in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f y.tab.h; then
+ echo >y.tab.h
+ fi
+ if test ! -f y.tab.c; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex*|flex*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified a '.l' file. You may need the Flex package
+ in order for those modifications to take effect. You can get
+ Flex from any GNU archive site."
+ rm -f lex.yy.c
+ if test $# -ne 1; then
+ eval LASTARG=\${$#}
+ case $LASTARG in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if test -f "$SRCFILE"; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if test ! -f lex.yy.c; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ help2man*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified a dependency of a manual page. You may need the
+ Help2man package in order for those modifications to take
+ effect. You can get Help2man from any GNU archive site."
+
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -f "$file"; then
+ touch $file
+ else
+ test -z "$file" || exec >$file
+ echo ".ab help2man is required to generate this page"
+ exit $?
+ fi
+ ;;
+
+ makeinfo*)
+ echo 1>&2 "\
+WARNING: '$1' is $msg. You should only need it if
+ you modified a '.texi' or '.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy 'make' (AIX,
+ DU, IRIX). You might want to install the Texinfo package or
+ the GNU make package. Grab either from any GNU archive site."
+ # The file to touch is that specified with -o ...
+ file=`echo "$*" | sed -n "$sed_output"`
+ test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+ if test -z "$file"; then
+ # ... or it is the one specified with @setfilename ...
+ infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '
+ /^@setfilename/{
+ s/.* \([^ ]*\) *$/\1/
+ p
+ q
+ }' $infile`
+ # ... or it is derived from the source name (dir/f.texi becomes f.info)
+ test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+ fi
+ # If the file does not exist, the user really needs makeinfo;
+ # let's fail without touching anything.
+ test -f $file || exit 1
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: '$1' is needed, and is $msg.
+ You might have modified some files without having the
+ proper tools for further handling them. Check the 'README' file,
+ it often tells you about the needed prerequisites for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing '$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/alsa-tools-1.0.28/ld10k1/setup/init_live.in new/alsa-tools-1.0.29/ld10k1/setup/init_live.in
--- old/alsa-tools-1.0.28/ld10k1/setup/init_live.in 2014-06-13 11:28:13.000000000 +0200
+++ new/alsa-tools-1.0.29/ld10k1/setup/init_live.in 2015-02-26 13:35:49.000000000 +0100
@@ -46,7 +46,7 @@
std_capture=capture
#std_capture=capture_noswitch
-log
+log ()
{
local level=$1
@@ -57,7 +57,7 @@
fi
}
-runlo10k1
+runlo10k1 ()
{
log 2 $LO10K1 "$@"
@@ -71,7 +71,7 @@
fi
}
-rename
+rename ()
{
port=$1
name=$2
@@ -81,7 +81,7 @@
runlo10k1 --renam "$port=$name"
}
-connect
+connect ()
{
from=$1
op=$2
@@ -92,7 +92,7 @@
runlo10k1 --conadd "$from$op$to"
}
-copy
+copy ()
{
local name=$1
local port=$2
@@ -105,7 +105,7 @@
connect "PIN($name Copy)" '=' "$port"
}
-volume
+volume ()
{
local name=$1
local port=$2
@@ -120,7 +120,7 @@
connect "PIN($name Volume)" '=' "$port"
}
-master_volume
+master_volume ()
{
local name=$1
local port=$2
@@ -135,7 +135,7 @@
connect "$port" '=' "PIN($name Volume)"
}
-switch
+switch ()
{
local name=$1
local port=$2
@@ -150,7 +150,7 @@
connect "PIN($name Switch)" '>' "$port"
}
-switch_2x2
+switch_2x2 ()
{
local name=$1
local port1=$2
@@ -166,7 +166,7 @@
connect "PIN($name Switch,2,3)" '>' "$port2"
}
-switch_5x2
+switch_5x2 ()
{
local name=$1
local port1=$2
@@ -182,7 +182,7 @@
connect "PIN($name Switch,5,6,7,8,9)" '>' "$port2"
}
-master_switch
+master_switch ()
{
local name=$1
local port=$2
@@ -197,7 +197,7 @@
connect "PIN($name Switch)" '=' "$port"
}
-playback
+playback ()
{
name=$1
port=$2
@@ -211,7 +211,7 @@
add_output "POUT($name Playback Volume)"
}
-playback_noswitch
+playback_noswitch ()
{
name=$1
port=$2
@@ -224,7 +224,7 @@
add_output "POUT($name Playback Volume)"
}
-capture
+capture ()
{
name=$1
port=$2
@@ -238,7 +238,7 @@
connect "POUT($name Capture Volume)" '>' "OUT(OUT_PCM_Capture_Left,OUT_PCM_Capture_Right)"
}
-capture_noswitch
+capture_noswitch ()
{
name=$1
port=$2
@@ -251,7 +251,7 @@
connect "POUT($name Capture Volume)" '>' "OUT(OUT_PCM_Capture_Left,OUT_PCM_Capture_Right)"
}
-master
+master ()
{
local name=$1
local port=$2
@@ -264,7 +264,7 @@
master_switch "$name Playback" "POUT($name Playback Volume)" 1 $index
}
-dump_patches
+dump_patches ()
{
max=$(( ${1} - 1 ))
line=$(seq -s ' ' 0 $max)
@@ -277,35 +277,35 @@
exit
}
-add_output
+add_output ()
{
local port=$1
$add_output_func "$port"
}
-add_output_tone_2
+add_output_tone_2 ()
{
local port=$1
connect "$port" '>' "PIN(Tone Control,0,1)"
}
-add_output_simple_2
+add_output_simple_2 ()
{
local port=$1
connect "$port" '>' "PIN(Wave Simple Stereo To 51,0,1)"
}
-add_output_prologic_2
+add_output_prologic_2 ()
{
local port=$1
connect "$port" '>' "PIN(Wave Prologic,0,1)"
}
-add_output_switched_2
+add_output_switched_2 ()
{
local port=$1
@@ -314,7 +314,7 @@
}
-simple_stereo_to_51
+simple_stereo_to_51 ()
{
local name=$1
local control=$2
@@ -330,7 +330,7 @@
fi
}
-prologic
+prologic ()
{
local name=$1
local control=$2
@@ -351,7 +351,7 @@
connect "POUT($name Prologic)" '=' "PIN($name Multi Volume,0,1,2,3,4,5)"
}
-tone
+tone ()
{
local name=$1
local port=$2
@@ -364,7 +364,7 @@
runlo10k1 -n --ctrl "c-bass0,bass1,bass2,bass3,bass4:$name - Bass,t-$name - Bass:2,v-$name - Bass:1,c-treble0,treble1,treble2,treble3,treble4:$name - Treble,t-$name - Treble:3,v-$name - Treble:1,c-toneonoff:$name - Switch,t-$name - Switch:4" --patch_name "${name}" -a tone.emu10k1
}
-multi_playback
+multi_playback ()
{
local name=$1
local port=$2
@@ -383,7 +383,7 @@
connect "POUT($name Multi Volume)" '>' "PIN(Tone Control)"
}
-fxbus
+fxbus ()
{
local name=$1
local enable_pcm_fx89=$2
--
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 alsa-firmware for openSUSE:Factory checked in at 2015-03-01 14:46:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-firmware (Old)
and /work/SRC/openSUSE:Factory/.alsa-firmware.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa-firmware"
Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-firmware/alsa-firmware.changes 2014-06-25 06:57:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.alsa-firmware.new/alsa-firmware.changes 2015-03-01 14:47:01.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Feb 26 17:34:19 CET 2015 - tiwai(a)suse.de
+
+- Update to alsa-firmware 1.0.29:
+ update asihpi firmware to version 4.14
+
+-------------------------------------------------------------------
Old:
----
alsa-firmware-1.0.28.tar.bz2
New:
----
alsa-firmware-1.0.29.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ alsa-firmware.spec ++++++
--- /var/tmp/diff_new_pack.Vk6Dvd/_old 2015-03-01 14:47:01.000000000 +0100
+++ /var/tmp/diff_new_pack.Vk6Dvd/_new 2015-03-01 14:47:01.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package alsa-firmware
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX 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: alsa-firmware
-%define package_version 1.0.28
+%define package_version 1.0.29
Url: http://www.alsa-project.org/
Summary: Firmware Data Files for ALSA
License: GPL-2.0+
@@ -27,7 +27,7 @@
BuildRequires: pkgconfig
BuildRequires: pkgconfig(udev)
%endif
-Version: 1.0.28
+Version: 1.0.29
Release: 0
Source: ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-%{package_version}.ta…
Source1: usx2yaudio.rules
@@ -48,7 +48,7 @@
%setup -q -n %{name}-%{package_version}
%build
-autoreconf -fi
+# autoreconf -fi
%configure \
--enable-loader \
--enable-hotplug \
++++++ alsa-firmware-1.0.28.tar.bz2 -> alsa-firmware-1.0.29.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-firmware-1.0.28/asihpi/Makefile.am new/alsa-firmware-1.0.29/asihpi/Makefile.am
--- old/alsa-firmware-1.0.28/asihpi/Makefile.am 2014-06-12 10:55:06.000000000 +0200
+++ new/alsa-firmware-1.0.29/asihpi/Makefile.am 2015-02-26 13:36:03.000000000 +0100
@@ -1,7 +1,6 @@
MYNAME = asihpi
dsp_files = \
- dsp2400.bin\
dsp5000.bin\
dsp6200.bin\
dsp6205.bin\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-firmware-1.0.28/asihpi/Makefile.in new/alsa-firmware-1.0.29/asihpi/Makefile.in
--- old/alsa-firmware-1.0.28/asihpi/Makefile.in 2014-06-13 11:24:55.000000000 +0200
+++ new/alsa-firmware-1.0.29/asihpi/Makefile.in 2015-02-26 13:47:24.000000000 +0100
@@ -186,7 +186,6 @@
top_srcdir = @top_srcdir@
MYNAME = asihpi
dsp_files = \
- dsp2400.bin\
dsp5000.bin\
dsp6200.bin\
dsp6205.bin\
Files old/alsa-firmware-1.0.28/asihpi/dsp2400.bin and new/alsa-firmware-1.0.29/asihpi/dsp2400.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp5000.bin and new/alsa-firmware-1.0.29/asihpi/dsp5000.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp6200.bin and new/alsa-firmware-1.0.29/asihpi/dsp6200.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp6205.bin and new/alsa-firmware-1.0.29/asihpi/dsp6205.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp6400.bin and new/alsa-firmware-1.0.29/asihpi/dsp6400.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp6600.bin and new/alsa-firmware-1.0.29/asihpi/dsp6600.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp8700.bin and new/alsa-firmware-1.0.29/asihpi/dsp8700.bin differ
Files old/alsa-firmware-1.0.28/asihpi/dsp8900.bin and new/alsa-firmware-1.0.29/asihpi/dsp8900.bin differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-firmware-1.0.28/configure new/alsa-firmware-1.0.29/configure
--- old/alsa-firmware-1.0.28/configure 2014-06-13 11:24:56.000000000 +0200
+++ new/alsa-firmware-1.0.29/configure 2015-02-26 13:47:25.000000000 +0100
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for alsa-firmware 1.0.28.
+# Generated by GNU Autoconf 2.69 for alsa-firmware 1.0.29.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@
# Identity of this package.
PACKAGE_NAME='alsa-firmware'
PACKAGE_TARNAME='alsa-firmware'
-PACKAGE_VERSION='1.0.28'
-PACKAGE_STRING='alsa-firmware 1.0.28'
+PACKAGE_VERSION='1.0.29'
+PACKAGE_STRING='alsa-firmware 1.0.29'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1235,7 +1235,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures alsa-firmware 1.0.28 to adapt to many kinds of systems.
+\`configure' configures alsa-firmware 1.0.29 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1301,7 +1301,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of alsa-firmware 1.0.28:";;
+ short | recursive ) echo "Configuration of alsa-firmware 1.0.29:";;
esac
cat <<\_ACEOF
@@ -1398,7 +1398,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-alsa-firmware configure 1.0.28
+alsa-firmware configure 1.0.29
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1532,7 +1532,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by alsa-firmware $as_me 1.0.28, which was
+It was created by alsa-firmware $as_me 1.0.29, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3600,7 +3600,7 @@
# Define the identity of the package.
PACKAGE='alsa-firmware'
- VERSION='1.0.28'
+ VERSION='1.0.29'
cat >>confdefs.h <<_ACEOF
@@ -4483,7 +4483,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by alsa-firmware $as_me 1.0.28, which was
+This file was extended by alsa-firmware $as_me 1.0.29, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4540,7 +4540,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-alsa-firmware config.status 1.0.28
+alsa-firmware config.status 1.0.29
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/alsa-firmware-1.0.28/configure.ac new/alsa-firmware-1.0.29/configure.ac
--- old/alsa-firmware-1.0.28/configure.ac 2014-06-12 10:55:06.000000000 +0200
+++ new/alsa-firmware-1.0.29/configure.ac 2015-02-26 13:36:03.000000000 +0100
@@ -1,5 +1,5 @@
AC_PREREQ(2.59)
-AC_INIT(alsa-firmware, 1.0.28)
+AC_INIT(alsa-firmware, 1.0.29)
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_LN_S
--
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 python-google-apputils for openSUSE:Factory checked in at 2015-03-01 14:46:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-google-apputils (Old)
and /work/SRC/openSUSE:Factory/.python-google-apputils.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-google-apputils"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-google-apputils/python-google-apputils.changes 2014-02-21 06:57:10.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python-google-apputils.new/python-google-apputils.changes 2015-03-01 14:46:59.000000000 +0100
@@ -1,0 +2,8 @@
+Fri Feb 27 09:04:04 UTC 2015 - mpluskal(a)suse.com
+
+- Update to 0.4.2
+ * no upstream changelog provided
+- Use url for source
+- Enable tests
+
+-------------------------------------------------------------------
Old:
----
google-apputils-0.4.0.tar.gz
New:
----
google-apputils-0.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-google-apputils.spec ++++++
--- /var/tmp/diff_new_pack.NCkDmV/_old 2015-03-01 14:47:00.000000000 +0100
+++ /var/tmp/diff_new_pack.NCkDmV/_new 2015-03-01 14:47:00.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-google-apputils
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,23 +16,29 @@
#
+%if 0%{?suse_version} && 0%{?suse_version} <= 1110
+%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%else
+BuildArch: noarch
+%endif
Name: python-google-apputils
-Version: 0.4.0
+Version: 0.4.2
Release: 0
Summary: Python application utilities
License: Apache-2.0
Group: Development/Languages/Python
Url: http://code.google.com/p/google-apputils-python
-Source0: google-apputils-%{version}.tar.gz
+Source0: https://pypi.python.org/packages/source/g/google-apputils/google-apputils-%…
Patch0: apputils_stripShebang.patch
+BuildRequires: fdupes
BuildRequires: python
+BuildRequires: python-dateutil
+BuildRequires: python-gflags
+BuildRequires: python-mox
+BuildRequires: python-pytz
BuildRequires: python-setuptools
+BuildRequires: python-unittest2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
-BuildArch: noarch
-%endif
%description
This project is a small collection of utilities for building Python
@@ -59,8 +65,12 @@
%build
python setup.py build
+%check
+python setup.py test
+
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%fdupes -s %{buildroot}
%files
%defattr(-,root,root,-)
++++++ google-apputils-0.4.0.tar.gz -> google-apputils-0.4.2.tar.gz ++++++
++++ 2965 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