diff options
Diffstat (limited to '0001-avahi-python-Use-the-agnostic-DBM-interface.patch')
-rw-r--r-- | 0001-avahi-python-Use-the-agnostic-DBM-interface.patch | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/0001-avahi-python-Use-the-agnostic-DBM-interface.patch b/0001-avahi-python-Use-the-agnostic-DBM-interface.patch deleted file mode 100644 index 3945f9ca950e..000000000000 --- a/0001-avahi-python-Use-the-agnostic-DBM-interface.patch +++ /dev/null @@ -1,256 +0,0 @@ -From 426f70261d61db359e573e06b03575ee8cf50f5d Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Tue, 11 Jul 2017 21:52:37 +0200 -Subject: [PATCH] avahi-python: Use the agnostic DBM interface - -Also fixes configure failing if Python 3 and GDBM are in use, since Py3 -only has anydbm under the name of 'dbm'. ---- - avahi-python/avahi/Makefile.am | 15 +----------- - avahi-python/avahi/ServiceTypeDatabase.py.in | 31 ++++++++++++++++++------- - configure.ac | 9 ++++--- - service-type-database/.gitignore | 1 - - service-type-database/Makefile.am | 18 ++++---------- - service-type-database/{build-db.in => build-db} | 13 +++++++---- - 6 files changed, 41 insertions(+), 46 deletions(-) - rename service-type-database/{build-db.in => build-db} (87%) - -diff --git a/avahi-python/avahi/Makefile.am b/avahi-python/avahi/Makefile.am -index 3eb67d0df438a7f8..c906b9bf3b6d0708 100644 ---- a/avahi-python/avahi/Makefile.am -+++ b/avahi-python/avahi/Makefile.am -@@ -25,29 +25,16 @@ avahidir = $(pythondir)/avahi - - if HAVE_GDBM - nodist_avahi_SCRIPTS = ServiceTypeDatabase.py -- --ServiceTypeDatabase.py: ServiceTypeDatabase.py.in -- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ -- -e 's,@DBM\@,gdbm,g' \ -- -e 's,@FIRST_KEY\@,key = self.db.firstkey(),g' \ -- -e 's,@CHECK_KEY\@,while key is not None:,g' \ -- -e 's,@NEXT_KEY\@,key = self.db.nextkey(key),g' \ -- -e 's,@pkglibdatadir\@,$(pkglibdatadir),g' $< > $@ && \ -- chmod +x $@ - endif - - if HAVE_DBM - nodist_avahi_SCRIPTS = ServiceTypeDatabase.py -+endif - - ServiceTypeDatabase.py: ServiceTypeDatabase.py.in - $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ -- -e 's,@DBM\@,dbm,g' \ -- -e 's,@FIRST_KEY\@,keys = self.db.keys(),g' \ -- -e 's,@CHECK_KEY\@,for key in keys:,g' \ -- -e 's,@NEXT_KEY\@,,g' \ - -e 's,@pkglibdatadir\@,$(pkglibdatadir),g' $< > $@ && \ - chmod +x $@ --endif - - avahi_PYTHON = $(avahi_SCRIPTS) - -diff --git a/avahi-python/avahi/ServiceTypeDatabase.py.in b/avahi-python/avahi/ServiceTypeDatabase.py.in -index 4ddd654409deb983..d7f9969bbd5a6ab0 100644 ---- a/avahi-python/avahi/ServiceTypeDatabase.py.in -+++ b/avahi-python/avahi/ServiceTypeDatabase.py.in -@@ -17,18 +17,22 @@ - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - # USA. - --import @DBM@ -+try: -+ import anydbm as dbm -+except ImportError: -+ import dbm -+ - import locale - import re - - locale.setlocale(locale.LC_ALL, '') - - class ServiceTypeDatabase: - """ServiceTypeDatabase maps service types to descriptions""" - - def __init__(self, filename = "@pkglibdatadir@/service-types.db"): - -- self.db = @DBM@.open(filename, "r") -+ self.db = dbm.open(filename, "r") - - l = locale.getlocale(locale.LC_MESSAGES) - -@@ -90,13 +94,24 @@ class ServiceTypeDatabase: - - def __iter__(self): - -- @FIRST_KEY@ -- @CHECK_KEY@ -+ def want_key(key): -+ if not re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+', key): -+ return False -+ if re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+\[.*\]', key): -+ return False -+ return True - -- if re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+', key) and not re.search('_[a-zA-Z0-9-]+\._[a-zA-Z0-9-]+\[.*\]', key): -- yield key -- -- @NEXT_KEY@ -+ try: -+ key = self.db.firstkey() -+ except AttributeError: -+ for key in self.db.keys(): -+ if want_key(key): -+ yield key -+ else: -+ while key is not None: -+ if want_key(key): -+ yield key -+ key = self.db.nextkey(key) - - def __len__(self): - -diff --git a/configure.ac b/configure.ac -index 66789718d45ff4ea..fbbf7cf3ef562a26 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -824,11 +824,10 @@ if test "x$HAVE_PYTHON" = "xyes" ; then - fi - - AM_CHECK_PYMOD(socket,,,[AC_MSG_ERROR(Could not find Python module socket)]) -- if test "x$HAVE_GDBM" = "xyes"; then -- AM_CHECK_PYMOD(gdbm,,,[AC_MSG_ERROR(Could not find Python module gdbm)]) -- fi -- if test "x$HAVE_DBM" = "xyes"; then -- AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)]) -+ if test "x$HAVE_GDBM" = "xyes" || test "x$HAVE_DBM" = "xyes"; then -+ AM_CHECK_PYMOD(anydbm,,,[ -+ AM_CHECK_PYMOD(dbm,,,[AC_MSG_ERROR(Could not find Python module dbm)]) -+ ]) - fi - fi - fi -diff --git a/service-type-database/.gitignore b/service-type-database/.gitignore -index 581f1929d521c01d..51b02600e70c1ceb 100644 ---- a/service-type-database/.gitignore -+++ b/service-type-database/.gitignore -@@ -1,4 +1,3 @@ - Makefile - Makefile.in - service-types.db --build-db -diff --git a/service-type-database/Makefile.am b/service-type-database/Makefile.am -index d184fde30f0758c5..f9fa0825e937f2f7 100644 ---- a/service-type-database/Makefile.am -+++ b/service-type-database/Makefile.am -@@ -15,49 +15,39 @@ - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - # USA. - --EXTRA_DIST=build-db.in service-types -+EXTRA_DIST=service-types - - pkglibdatadir=$(libdir)/avahi - - pkglibdata_DATA= - - if HAVE_PYTHON - if HAVE_GDBM - - noinst_SCRIPTS=build-db - pkglibdata_DATA+=service-types.db - --build-db: build-db.in -- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ -- -e 's,@DBM\@,gdbm,g' $< > $@ && \ -- chmod +x $@ -- --service-types.db: service-types build-db -+service-types.db: service-types - $(AM_V_GEN)$(PYTHON) build-db $< $@.coming && \ - mv $@.coming $@ - --CLEANFILES = service-types.db build-db -+CLEANFILES = service-types.db - - endif - if HAVE_DBM - - noinst_SCRIPTS=build-db - pkglibdata_DATA+=service-types.db.pag service-types.db.dir - --build-db: build-db.in -- $(AM_V_GEN)sed -e 's,@PYTHON\@,$(PYTHON),g' \ -- -e 's,@DBM\@,dbm,g' $< > $@ && \ -- chmod +x $@ -- - service-types.db.pag: service-types.db - $(AM_V_GEN)mv service-types.db.coming.pag service-types.db.pag - service-types.db.dir: service-types.db - $(AM_V_GEN)mv service-types.db.coming.dir service-types.db.dir - service-types.db: service-types build-db - $(AM_V_GEN)$(PYTHON) build-db $< $@.coming && \ - if test -f "$@.coming"; then mv $@.coming $@; fi - --CLEANFILES = service-types.db* build-db -+CLEANFILES = service-types.db* - - endif - endif -diff --git a/service-type-database/build-db.in b/service-type-database/build-db -similarity index 87% -rename from service-type-database/build-db.in -rename to service-type-database/build-db -index 4cda425374a79198..78ee892f606ea43c 100755 ---- a/service-type-database/build-db.in -+++ b/service-type-database/build-db -@@ -1,37 +1,42 @@ --#!@PYTHON@ -+#!/usr/bin/env python - # -*-python-*- - # This file is part of avahi. - # - # avahi is free software; you can redistribute it and/or modify it - # under the terms of the GNU Lesser General Public License as - # published by the Free Software Foundation; either version 2 of the - # License, or (at your option) any later version. - # - # avahi 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 Lesser General Public - # License along with avahi; if not, write to the Free Software - # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - # USA. - --import @DBM@, sys -+try: -+ import anydbm as dbm -+except ImportError: -+ import dbm -+ -+import sys - - if len(sys.argv) > 1: - infn = sys.argv[1] - else: - infn = "service-types" - - if len(sys.argv) > 2: - outfn = sys.argv[2] - else: - outfn = infn + ".db" - --db = @DBM@.open(outfn, "n") -+db = dbm.open(outfn, "n") - --for ln in file(infn, "r"): -+for ln in open(infn, "r"): - ln = ln.strip(" \r\n\t") - - if ln == "" or ln.startswith("#"): --- -2.13.2 - |