endif
LIBLOC_CURRENT=1
-LIBLOC_REVISION=1
+LIBLOC_REVISION=2
LIBLOC_AGE=0
DISTCHECK_CONFIGURE_FLAGS = \
-e 's,@databasedir\@,$(databasedir),g' \
< $< > $@ || rm $@
+cron_dailydir = $(sysconfdir)/cron.daily
databasedir = $(localstatedir)/lib/location
pkgconfigdir = $(libdir)/pkgconfig
# Overwrite Python path
-pkgpythondir = $(pythondir)/location
+#pkgpythondir = $(pythondir)/location
+pkgpythondir = /usr/lib/python3/dist-packages/location
%: %.in Makefile
$(SED_PROCESS)
pkginclude_HEADERS = \
src/libloc/libloc.h \
+ src/libloc/address.h \
src/libloc/as.h \
src/libloc/as-list.h \
src/libloc/compat.h \
src_libloc_la_SOURCES = \
src/libloc.c \
+ src/address.c \
src/as.c \
src/as-list.c \
src/country.c \
src/libloc.pc
dist_pkgpython_PYTHON = \
- src/python/database.py \
- src/python/downloader.py \
- src/python/export.py \
- src/python/i18n.py \
- src/python/importer.py \
- src/python/logger.py
-
-pkgpython_PYTHON = \
- src/python/__init__.py
-
-EXTRA_DIST += \
- src/python/__init__.py.in
-
-CLEANFILES += \
- src/python/__init__.py
+ src/python/location/__init__.py \
+ src/python/location/database.py \
+ src/python/location/downloader.py \
+ src/python/location/export.py \
+ src/python/location/i18n.py \
+ src/python/location/importer.py \
+ src/python/location/logger.py
pyexec_LTLIBRARIES = \
src/python/_location.la
$(DESTDIR)/$(prefix)/man/man3/Location.3pm
bin_SCRIPTS = \
- src/python/location \
- src/python/location-importer
+ src/scripts/location \
+ src/scripts/location-importer
EXTRA_DIST += \
- src/python/location.in \
- src/python/location-importer.in
+ src/scripts/location.in \
+ src/scripts/location-importer.in
CLEANFILES += \
- src/python/location \
- src/python/location-importer
+ src/scripts/location \
+ src/scripts/location-importer
# ------------------------------------------------------------------------------
+# Use systemd timers if available
if HAVE_SYSTEMD
systemdsystemunit_DATA = \
src/systemd/location-update.service \
INSTALL_DIRS += \
$(systemdsystemunitdir)
+
+# Otherwise fall back to cron
+else
+cron_daily_SCRIPTS = \
+ src/cron/location-update
+
+CLEANFILES += \
+ $(cron_daily_DATA)
endif
EXTRA_DIST += \
+ src/cron/location-update.in \
src/systemd/location-update.service.in \
src/systemd/location-update.timer.in
src/libloc.la \
src/libloc-internal.la
+TESTS_ENVIRONMENT = \
+ PYTHONPATH=$(abs_srcdir)/src/python:$(abs_builddir)/src/python/.libs \
+ TEST_DATA_DIR="$(abs_top_srcdir)/tests/data"
+
TESTS = \
- src/test-libloc \
- src/test-stringpool \
- src/test-database \
- src/test-as \
- src/test-network \
- src/test-country \
- src/test-signature
+ $(check_PROGRAMS) \
+ $(dist_check_SCRIPTS)
+
+EXTRA_DIST += \
+ tests/data/location-2022-03-30.db \
+ tests/data/signing-key.pem
CLEANFILES += \
testdata.db
testdata.db: examples/python/create-database.py
- PYTHONPATH=$(abs_builddir)/src/python/.libs \
+ PYTHONPATH=$(abs_srcdir)/src/python:$(abs_builddir)/src/python/.libs \
ABS_SRCDIR="$(abs_srcdir)" \
$(PYTHON) $< $@
+dist_check_SCRIPTS = \
+ tests/python/test-database.py \
+ tests/python/test-export.py
+
check_PROGRAMS = \
src/test-libloc \
src/test-stringpool \
src/test-network \
src/test-network-list \
src/test-country \
- src/test-signature
+ src/test-signature \
+ src/test-address
src_test_libloc_SOURCES = \
src/test-libloc.c
src_test_signature_LDADD = \
$(TESTS_LDADD)
+src_test_address_SOURCES = \
+ src/test-address.c
+
+src_test_address_CFLAGS = \
+ $(TESTS_CFLAGS)
+
+src_test_address_LDADD = \
+ $(TESTS_LDADD)
+
# ------------------------------------------------------------------------------
MANPAGES = \
+ $(MANPAGES_3) \
+ $(MANPAGES_8)
+
+MANPAGES_3 = \
+ man/libloc.3 \
+ man/loc_database_count_as.3 \
+ man/loc_database_get_as.3 \
+ man/loc_database_get_country.3 \
+ man/loc_database_lookup.3 \
+ man/loc_database_new.3 \
+ man/loc_get_log_priority.3 \
+ man/loc_new.3 \
+ man/loc_set_log_fn.3 \
+ man/loc_set_log_priority.3
+
+MANPAGES_8 = \
man/location.8
-MANPAGES_TXT = $(patsubst %.8,%.txt,$(MANPAGES))
-MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
-MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
+MANPAGES_TXT = $(MANPAGES_TXT_3) $(MANPAGES_TXT_8)
+MANPAGES_TXT_3 = $(patsubst %.3,%.txt,$(MANPAGES_3))
+MANPAGES_TXT_8 = $(patsubst %.8,%.txt,$(MANPAGES_8))
+MANPAGES_HTML = $(patsubst %.txt,%.html,$(MANPAGES_TXT))
+MANPAGES_XML = $(patsubst %.txt,%.xml,$(MANPAGES_TXT))
.PHONY: man
man: $(MANPAGES) $(MANPAGES_HTML)
-f $(abs_srcdir)/man/asciidoc.conf \
-d manpage -b docbook -o $@ $<
+man/%.3: man/%.xml
+ $(XSLTPROC_COMMAND_MAN)
+
man/%.8: man/%.xml
$(XSLTPROC_COMMAND_MAN)
EXTRA_DIST += \
debian/build.sh \
debian/changelog \
- debian/compat \
debian/control \
debian/copyright \
- debian/location.install \
- debian/location.manpages \
- debian/location-python.install \
+ debian/genchangelog.sh \
+ debian/gensymbols.sh \
debian/libloc1.install \
+ debian/libloc1.symbols \
debian/libloc-dev.install \
+ debian/location.install \
+ debian/location.postinst \
+ debian/location.postrm \
+ debian/python3-location.examples \
+ debian/python3-location.install \
debian/rules \
- debian/source/format
+ debian/source/format \
+ debian/watch
.PHONY: debian
debian: dist