From 7c13a4e6e333df4535b67009cc8212fb701348ff Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 12 May 2020 09:49:35 +0000 Subject: [PATCH] python: Move C module to make space for some native python code Signed-off-by: Michael Tremer --- Makefile.am | 20 +++++++++++++++----- src/python/__init__.py | 21 +++++++++++++++++++++ src/python/locationmodule.c | 6 +++--- 3 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 src/python/__init__.py diff --git a/Makefile.am b/Makefile.am index 0da1416..f07d3e5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -59,6 +59,13 @@ SED_PROCESS = \ databasedir = $(localstatedir)/lib/location pkgconfigdir = $(libdir)/pkgconfig +# XXX hardcode path for Debian +pythondir = $(prefix)/lib/python3/dist-packages +pyexecdir = $(prefix)/lib/python$(PYTHON_VERSION)/lib-dynload + +# Overwrite Python path +pkgpythondir = $(pythondir)/location + %: %.in Makefile $(SED_PROCESS) @@ -145,10 +152,13 @@ EXTRA_DIST += \ CLEANFILES += \ src/libloc.pc +dist_pkgpython_PYTHON = \ + src/python/__init__.py + pyexec_LTLIBRARIES = \ - src/python/location.la + src/python/_location.la -src_python_location_la_SOURCES = \ +src_python__location_la_SOURCES = \ src/python/locationmodule.c \ src/python/locationmodule.h \ src/python/as.c \ @@ -162,17 +172,17 @@ src_python_location_la_SOURCES = \ src/python/writer.c \ src/python/writer.h -src_python_location_la_CFLAGS = \ +src_python__location_la_CFLAGS = \ $(AM_CFLAGS) \ $(PYTHON_CFLAGS) -src_python_location_la_LDFLAGS = \ +src_python__location_la_LDFLAGS = \ $(AM_LDFLAGS) \ -shared \ -module \ -avoid-version -src_python_location_la_LIBADD = \ +src_python__location_la_LIBADD = \ src/libloc.la \ $(PYTHON_LIBS) diff --git a/src/python/__init__.py b/src/python/__init__.py new file mode 100644 index 0000000..d2a4678 --- /dev/null +++ b/src/python/__init__.py @@ -0,0 +1,21 @@ +#!/usr/bin/python3 +############################################################################### +# # +# libloc - A library to determine the location of someone on the Internet # +# # +# Copyright (C) 2020 IPFire Development Team # +# # +# This library 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.1 of the License, or (at your option) any later version. # +# # +# This library 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 # +# Lesser General Public License for more details. # +# # +############################################################################### + +# Import everything from the C module +from _location import * diff --git a/src/python/locationmodule.c b/src/python/locationmodule.c index 6e7269b..c7f4cff 100644 --- a/src/python/locationmodule.c +++ b/src/python/locationmodule.c @@ -29,7 +29,7 @@ /* Declare global context */ struct loc_ctx* loc_ctx; -PyMODINIT_FUNC PyInit_location(void); +PyMODINIT_FUNC PyInit__location(void); static void location_free(void) { // Release context @@ -101,14 +101,14 @@ static PyMethodDef location_module_methods[] = { static struct PyModuleDef location_module = { .m_base = PyModuleDef_HEAD_INIT, - .m_name = "location", + .m_name = "_location", .m_size = -1, .m_doc = "Python module for libloc", .m_methods = location_module_methods, .m_free = (freefunc)location_free, }; -PyMODINIT_FUNC PyInit_location(void) { +PyMODINIT_FUNC PyInit__location(void) { // Initialise loc context int r = loc_new(&loc_ctx); if (r) -- 2.39.2