commit pyalsa for openSUSE:Factory

2018-04-05 Thread root
Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory checked 
in at 2018-04-05 15:32:53

Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
 and  /work/SRC/openSUSE:Factory/.pyalsa.new (New)


Package is "pyalsa"

Thu Apr  5 15:32:53 2018 rev:17 rq:593442 version:1.1.6

Changes:

--- /work/SRC/openSUSE:Factory/pyalsa/pyalsa.changes2015-03-01 
14:47:07.0 +0100
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes   2018-04-05 
15:32:59.881212881 +0200
@@ -1,0 +2,15 @@
+Wed Apr  4 10:23:48 CEST 2018 - ti...@suse.de
+
+- Update to version 1.1.6:
+  * Change FSF address (Franklin Street)
+  * initial python3 support
+  * alsaseq: simplify TCONSTADD
+  * hctltest2: use 'hw:0' device instead 'default'
+  * common.h: fix InternFromString()
+  * fix tp_free() calls, remove wrong PyObject_GC_Del use
+  * gitignore: add pyalsa/*.so
+  * setup.py: check for the existence of the build directory
+  * setup: add some missing fields, add header files from pyalsa to MANIFEST
+- Use %license file tag
+
+---

Old:

  pyalsa-1.0.29.tar.bz2

New:

  pyalsa-1.1.6.tar.bz2



Other differences:
--
++ pyalsa.spec ++
--- /var/tmp/diff_new_pack.ljWrhG/_old  2018-04-05 15:33:01.425157080 +0200
+++ /var/tmp/diff_new_pack.ljWrhG/_new  2018-04-05 15:33:01.429156935 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package pyalsa
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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,10 +19,10 @@
 Name:   pyalsa
 BuildRequires:  alsa-devel
 BuildRequires:  python-devel
-Version:1.0.29
+Version:1.1.6
 Release:0
 Summary:Python ALSA binding
-License:LGPL-2.1+ and GPL-2.0
+License:LGPL-2.1-or-later AND GPL-2.0-only
 Group:  Development/Libraries/Python
 Source: pyalsa-%{version}.tar.bz2
 Source1:COPYING
@@ -47,12 +47,9 @@
 --prefix=%{_prefix} \
 --record-rpm=INSTALLED_FILES
 
-%clean
-rm -rf %{buildroot}
-
 %files -f INSTALLED_FILES
 %defattr(-,root,root)
-%doc COPYING*
+%license COPYING*
 # %doc doc/*
 
 %changelog

++ pyalsa-1.0.29.tar.bz2 -> pyalsa-1.1.6.tar.bz2 ++
 2575 lines of diff (skipped)




commit pyalsa for openSUSE:Factory

2015-03-01 Thread h_root
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.changes2013-03-04 
17:33:47.0 +0100
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes   2015-03-01 
14:47:07.0 +0100
@@ -1,0 +2,7 @@
+Thu Feb 26 17:36:52 CET 2015 - ti...@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.0 +0100
+++ /var/tmp/diff_new_pack.B5fPoA/_new  2015-03-01 14:47:07.0 +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.0 +0200
+++ new/pyalsa-1.0.29/PKG-INFO  2015-02-26 13:47:45.0 +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.0 +0200
+++ new/pyalsa-1.0.29/pyalsa/alsaseq.c  2015-02-26 13:36:18.0 +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);
   

commit pyalsa for openSUSE:Factory

2012-09-11 Thread h_root
Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory checked 
in at 2012-09-11 09:14:49

Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
 and  /work/SRC/openSUSE:Factory/.pyalsa.new (New)


Package is pyalsa, Maintainer is 

Changes:

--- /work/SRC/openSUSE:Factory/pyalsa/pyalsa.changes2012-03-22 
12:38:53.0 +0100
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes   2012-09-11 
09:14:51.0 +0200
@@ -1,0 +2,6 @@
+Fri Sep  7 15:34:58 CEST 2012 - ti...@suse.de
+
+- Updated to version 1.0.26:
+  just include previous fixes
+
+---

Old:

  0001-Fix-get_volume_array-for-mono-channels.patch
  0002-Fix-pyalsa-tests-for-new-function-names.patch
  pyalsa-1.0.25.tar.bz2

New:

  pyalsa-1.0.26.tar.bz2



Other differences:
--
++ pyalsa.spec ++
--- /var/tmp/diff_new_pack.l4AOmB/_old  2012-09-11 09:14:59.0 +0200
+++ /var/tmp/diff_new_pack.l4AOmB/_new  2012-09-11 09:14:59.0 +0200
@@ -19,7 +19,7 @@
 Name:   pyalsa
 BuildRequires:  alsa-devel
 BuildRequires:  python-devel
-Version:1.0.25
+Version:1.0.26
 Release:0
 Summary:Python ALSA binding
 License:LGPL-2.1+ ; GPL-2.0
@@ -27,8 +27,6 @@
 Source: pyalsa-%{version}.tar.bz2
 Source1:COPYING
 Source2:COPYING.LIB
-Patch1: 0001-Fix-get_volume_array-for-mono-channels.patch
-Patch2: 0002-Fix-pyalsa-tests-for-new-function-names.patch
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 %{py_requires}
 
@@ -37,8 +35,6 @@
 
 %prep
 %setup -q
-%patch1 -p1
-%patch2 -p1
 cp %{S:1} %{S:2} .
 
 %build

++ pyalsa-1.0.25.tar.bz2 - pyalsa-1.0.26.tar.bz2 ++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.25/MANIFEST.in 
new/pyalsa-1.0.26/MANIFEST.in
--- old/pyalsa-1.0.25/MANIFEST.in   2012-01-25 08:57:13.0 +0100
+++ new/pyalsa-1.0.26/MANIFEST.in   1970-01-01 01:00:00.0 +0100
@@ -1,2 +0,0 @@
-include test/*.py
-include utils/*.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.25/PKG-INFO new/pyalsa-1.0.26/PKG-INFO
--- old/pyalsa-1.0.25/PKG-INFO  2012-01-25 10:33:12.0 +0100
+++ new/pyalsa-1.0.26/PKG-INFO  2012-09-06 10:47:38.0 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.0
 Name: pyalsa
-Version: 1.0.25
+Version: 1.0.26
 Summary: UNKNOWN
 Home-page: UNKNOWN
 Author: The ALSA Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.25/pyalsa/alsamixer.c 
new/pyalsa-1.0.26/pyalsa/alsamixer.c
--- old/pyalsa-1.0.25/pyalsa/alsamixer.c2012-01-25 08:57:13.0 
+0100
+++ new/pyalsa-1.0.26/pyalsa/alsamixer.c2012-09-06 09:52:57.0 
+0200
@@ -627,7 +627,7 @@
return NULL;
res = snd_mixer_selem_get_playback_volume(pyelem-elem, 
SND_MIXER_SCHN_MONO, val);
if (res = 0)
-   PyTuple_SetItem(t, 0, PyInt_FromLong(val));
+   PyList_SetItem(t, 0, PyInt_FromLong(val));
} else {
t = PyList_New(SND_MIXER_SCHN_LAST+1);
if (!t)
@@ -658,7 +658,7 @@
return NULL;
res = snd_mixer_selem_get_capture_volume(pyelem-elem, 
SND_MIXER_SCHN_MONO, val);
if (res = 0)
-   PyTuple_SET_ITEM(t, 0, PyInt_FromLong(val));
+   PyList_SET_ITEM(t, 0, PyInt_FromLong(val));
} else {
t = PyList_New(SND_MIXER_SCHN_LAST+1);
if (!t)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.25/pyalsa.egg-info/PKG-INFO 
new/pyalsa-1.0.26/pyalsa.egg-info/PKG-INFO
--- old/pyalsa-1.0.25/pyalsa.egg-info/PKG-INFO  2012-01-25 10:33:12.0 
+0100
+++ new/pyalsa-1.0.26/pyalsa.egg-info/PKG-INFO  1970-01-01 01:00:00.0 
+0100
@@ -1,10 +0,0 @@
-Metadata-Version: 1.0
-Name: pyalsa
-Version: 1.0.25
-Summary: UNKNOWN
-Home-page: UNKNOWN
-Author: The ALSA Team
-Author-email: alsa-de...@alsa-project.org
-License: UNKNOWN
-Description: UNKNOWN
-Platform: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pyalsa-1.0.25/pyalsa.egg-info/SOURCES.txt 
new/pyalsa-1.0.26/pyalsa.egg-info/SOURCES.txt
--- old/pyalsa-1.0.25/pyalsa.egg-info/SOURCES.txt   2012-01-25 
10:33:12.0 +0100
+++ new/pyalsa-1.0.26/pyalsa.egg-info/SOURCES.txt   

commit pyalsa for openSUSE:Factory

2012-03-22 Thread h_root
Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory checked 
in at 2012-03-22 12:38:51

Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
 and  /work/SRC/openSUSE:Factory/.pyalsa.new (New)


Package is pyalsa, Maintainer is 

Changes:

--- /work/SRC/openSUSE:Factory/pyalsa/pyalsa.changes2011-09-23 
12:42:14.0 +0200
+++ /work/SRC/openSUSE:Factory/.pyalsa.new/pyalsa.changes   2012-03-22 
12:38:53.0 +0100
@@ -1,0 +2,12 @@
+Mon Mar 12 15:05:09 CET 2012 - ti...@suse.de
+
+- Updated to version 1.0.25
+  - Add register_poll for alsaseq
+  - alsa-python mixer: add poll_fds property
+  - ctltest1.py: use new class member names
+  - alsamixer: Fix bad PyArg_ParseTuple format strings
+- Two backport fixes from upstream:
+Fix get_volume_array() for mono channels
+Fix pyalsa tests for new function names
+
+---

Old:

  pyalsa-1.0.22.tar.bz2

New:

  0001-Fix-get_volume_array-for-mono-channels.patch
  0002-Fix-pyalsa-tests-for-new-function-names.patch
  pyalsa-1.0.25.tar.bz2



Other differences:
--
++ pyalsa.spec ++
--- /var/tmp/diff_new_pack.xkPJBT/_old  2012-03-22 12:38:57.0 +0100
+++ /var/tmp/diff_new_pack.xkPJBT/_new  2012-03-22 12:38:57.0 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package pyalsa
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,19 +15,20 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
-# norootforbuild
-
 
 Name:   pyalsa
-BuildRequires:  alsa-devel python-devel
-Version:1.0.22
-Release:7
+BuildRequires:  alsa-devel
+BuildRequires:  python-devel
+Version:1.0.25
+Release:0
+Summary:Python ALSA binding
 License:LGPL-2.1+ ; GPL-2.0
 Group:  Development/Libraries/Python
-Summary:Python ALSA binding
 Source: pyalsa-%{version}.tar.bz2
 Source1:COPYING
 Source2:COPYING.LIB
+Patch1: 0001-Fix-get_volume_array-for-mono-channels.patch
+Patch2: 0002-Fix-pyalsa-tests-for-new-function-names.patch
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 %{py_requires}
 
@@ -36,6 +37,8 @@
 
 %prep
 %setup -q
+%patch1 -p1
+%patch2 -p1
 cp %{S:1} %{S:2} .
 
 %build

++ 0001-Fix-get_volume_array-for-mono-channels.patch ++
From 6ca6689c8b989626a1dc58ede4aa859de98286d2 Mon Sep 17 00:00:00 2001
From: Arvin Schnell aschn...@suse.de
Date: Mon, 12 Mar 2012 14:56:45 +0100
Subject: [PATCH 1/2] Fix get_volume_array() for mono channels

also reported as bug 5546

Signed-off-by: Takashi Iwai ti...@suse.de
---
 pyalsa/alsamixer.c |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pyalsa/alsamixer.c b/pyalsa/alsamixer.c
index d686f16..662a2a9 100644
--- a/pyalsa/alsamixer.c
+++ b/pyalsa/alsamixer.c
@@ -627,7 +627,7 @@ pyalsamixerelement_getvolumearray(struct pyalsamixerelement 
*pyelem, PyObject *a
return NULL;
res = snd_mixer_selem_get_playback_volume(pyelem-elem, 
SND_MIXER_SCHN_MONO, val);
if (res = 0)
-   PyTuple_SetItem(t, 0, PyInt_FromLong(val));
+   PyList_SetItem(t, 0, PyInt_FromLong(val));
} else {
t = PyList_New(SND_MIXER_SCHN_LAST+1);
if (!t)
@@ -658,7 +658,7 @@ pyalsamixerelement_getvolumearray(struct pyalsamixerelement 
*pyelem, PyObject *a
return NULL;
res = snd_mixer_selem_get_capture_volume(pyelem-elem, 
SND_MIXER_SCHN_MONO, val);
if (res = 0)
-   PyTuple_SET_ITEM(t, 0, PyInt_FromLong(val));
+   PyList_SET_ITEM(t, 0, PyInt_FromLong(val));
} else {
t = PyList_New(SND_MIXER_SCHN_LAST+1);
if (!t)
-- 
1.7.9.2

++ 0002-Fix-pyalsa-tests-for-new-function-names.patch ++
From 21174b0a77a2d5faf9aa55617a4af28bf29fae38 Mon Sep 17 00:00:00 2001
From: Arvin Schnell aschn...@suse.de
Date: Mon, 12 Mar 2012 14:57:43 +0100
Subject: [PATCH 2/2] Fix pyalsa tests for new function names

Signed-off-by: Takashi Iwai ti...@suse.de
---
 test/mixertest2.py |   18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/test/mixertest2.py b/test/mixertest2.py
index 24e5605..6c2d026 100755
--- 

commit pyalsa for openSUSE:Factory

2011-12-06 Thread h_root
Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory checked 
in at 2011-12-06 18:54:19

Comparing /work/SRC/openSUSE:Factory/pyalsa (Old)
 and  /work/SRC/openSUSE:Factory/.pyalsa.new (New)


Package is pyalsa, Maintainer is 

Changes:




Other differences:
--
++ pyalsa.spec ++
--- /var/tmp/diff_new_pack.PY7V7R/_old  2011-12-06 19:27:16.0 +0100
+++ /var/tmp/diff_new_pack.PY7V7R/_new  2011-12-06 19:27:16.0 +0100
@@ -22,7 +22,7 @@
 BuildRequires:  alsa-devel python-devel
 Version:1.0.22
 Release:7
-License:LGPLv2.1+ ; GPLv2
+License:LGPL-2.1+ ; GPL-2.0
 Group:  Development/Libraries/Python
 Summary:Python ALSA binding
 Source: pyalsa-%{version}.tar.bz2

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org



commit pyalsa for openSUSE:Factory

2011-03-23 Thread h_root

Hello community,

here is the log from the commit of package pyalsa for openSUSE:Factory
checked in at Wed Mar 23 12:11:37 CET 2011.




--- pyalsa/pyalsa.changes   2010-04-26 09:46:28.0 +0200
+++ /mounts/work_src_done/STABLE/pyalsa/pyalsa.changes  2011-03-21 
17:50:33.0 +0100
@@ -1,0 +2,5 @@
+Mon Mar 21 16:50:33 UTC 2011 - co...@novell.com
+
+- licenses package is about to die
+
+---

calling whatdependson for head-i586


New:

  COPYING
  COPYING.LIB



Other differences:
--
++ pyalsa.spec ++
--- /var/tmp/diff_new_pack.BIXr8A/_old  2011-03-23 12:11:30.0 +0100
+++ /var/tmp/diff_new_pack.BIXr8A/_new  2011-03-23 12:11:30.0 +0100
@@ -1,7 +1,7 @@
 #
-# spec file for package pyalsa (Version 1.0.22)
+# spec file for package pyalsa
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,14 +19,15 @@
 
 
 Name:   pyalsa
-BuildRequires:  alsa-devel licenses python-devel
+BuildRequires:  alsa-devel python-devel
 Version:1.0.22
-Release:1
+Release:7
 License:LGPLv2.1+ ; GPLv2
 Group:  Development/Libraries/Python
 Summary:Python ALSA binding
 Source: pyalsa-%{version}.tar.bz2
-Requires:   licenses
+Source1:COPYING
+Source2:COPYING.LIB
 BuildRoot:  %{_tmppath}/%{name}-%{version}-build
 %{py_requires}
 
@@ -35,8 +36,7 @@
 
 %prep
 %setup -q
-ln -s %{_datadir}/doc/licenses/GPL-2.0.txt COPYING
-ln -s %{_datadir}/doc/licenses/LGPL-2.1.txt COPYING.LIB
+cp %{S:1} %{S:2} .
 
 %build
 export CFLAGS=%{optflags} -fno-strict-aliasing

++ COPYING ++
GNU GENERAL PUBLIC LICENSE
   Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
   59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING,