]> git.ipfire.org Git - pakfire.git/blobdiff - Makefile.am
testsuite: Pakfire context needs to be initialized to set the logging function
[pakfire.git] / Makefile.am
index 7e924fef15c267622e5ba8f5ab3049f36aae4c57..b8af3230b9f189f69a9c6cb7457794ce085936ac 100644 (file)
@@ -30,7 +30,12 @@ AUTOMAKE_OPTIONS = color-tests
 
 SUBDIRS = . po
 
+LIBPAKFIRE_CURRENT=0
+LIBPAKFIRE_REVISION=0
+LIBPAKFIRE_AGE=0
+
 libexecdir = $(libdir)/pakfire
+pythondir  = $(pyexecdir)
 
 configsdir = $(sysconfdir)/pakfire
 configsdistrosdir = $(configsdir)/distros
@@ -38,6 +43,8 @@ macrosdir = $(prefix)/lib/pakfire/macros
 qualityagentdir = $(prefix)/lib/quality-agent
 scriptsdir = $(prefix)/lib/$(PACKAGE_NAME)
 
+TEST_ROOTFS = $(abs_top_builddir)/tests/.root
+
 CLEANFILES =
 DISTCLEANFILES =
 EXTRA_DIST =
@@ -47,18 +54,37 @@ AM_CPPFLAGS = \
        -I $(top_srcdir)/include \
        $(OUR_CPPFLAGS)
 
-AM_CFLAGS = $(OUR_CFLAGS)
-AM_LDFLAGS = $(OUR_LDFLAGS)
+AM_CFLAGS = $(OUR_CFLAGS) \
+       -ffunction-sections \
+       -fdata-sections
+
+AM_LDFLAGS = $(OUR_LDFLAGS) \
+       -Wl,--gc-sections \
+       -Wl,--as-needed
+
+AM_YFLAGS = -d
 
+PAKFIRE_CPPFLAGS = -I$(top_srcdir)/src/libpakfire/include
+PAKFIRE_LIBS     = libpakfire.la
+
+check_PROGRAMS =
 lib_LTLIBRARIES =
 libexec_PROGRAMS =
 pkgpyexec_LTLIBRARIES =
+pkginclude_HEADERS =
 
 DISTCHECK_CONFIGURE_FLAGS = \
-        --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+        --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) \
+       --enable-debug
 
 @INTLTOOL_POLICY_RULE@
 
+clean-local: clean-local-check
+
+.PHONY: update-po
+update-po:
+       $(MAKE) -C po update-po
+
 # ------------------------------------------------------------------------------
 
 dist_doc_DATA = \
@@ -89,6 +115,7 @@ pakfire_PYTHON = \
        src/pakfire/__init__.py \
        src/pakfire/__version__.py \
        src/pakfire/actions.py \
+       src/pakfire/arch.py \
        src/pakfire/base.py \
        src/pakfire/builder.py \
        src/pakfire/cgroup.py \
@@ -99,19 +126,16 @@ pakfire_PYTHON = \
        src/pakfire/constants.py \
        src/pakfire/daemon.py \
        src/pakfire/distro.py \
-       src/pakfire/downloader.py \
+       src/pakfire/downloaders.py \
        src/pakfire/errors.py \
        src/pakfire/filelist.py \
+       src/pakfire/http.py \
+       src/pakfire/hub.py \
        src/pakfire/i18n.py \
-       src/pakfire/keyring.py \
        src/pakfire/logger.py \
-       src/pakfire/lzma.py \
-       src/pakfire/satsolver.py \
-       src/pakfire/server.py \
+       src/pakfire/progressbar.py \
        src/pakfire/shell.py \
        src/pakfire/system.py \
-       src/pakfire/transaction.py \
-       src/pakfire/transport.py \
        src/pakfire/util.py
 
 pakfiredir = $(pythondir)/pakfire
@@ -126,7 +150,6 @@ pakfire_packages_PYTHON = \
        src/pakfire/packages/lexer.py \
        src/pakfire/packages/make.py \
        src/pakfire/packages/packager.py \
-       src/pakfire/packages/solv.py \
        src/pakfire/packages/tar.py
 
 pakfire_packagesdir = $(pythondir)/pakfire/packages
@@ -136,38 +159,23 @@ pakfire_packagesdir = $(pythondir)/pakfire/packages
 pakfire_repository_PYTHON = \
        src/pakfire/repository/__init__.py \
        src/pakfire/repository/base.py \
-       src/pakfire/repository/cache.py \
        src/pakfire/repository/database.py \
-       src/pakfire/repository/index.py \
        src/pakfire/repository/local.py \
        src/pakfire/repository/metadata.py \
-       src/pakfire/repository/remote.py \
        src/pakfire/repository/system.py
 
 pakfire_repositorydir = $(pythondir)/pakfire/repository
 
 # ------------------------------------------------------------------------------
 
-pkgpyexec_LTLIBRARIES += \
-       _lzma.la
+pakfire_ui_PYTHON = \
+       src/pakfire/ui/__init__.py \
+       src/pakfire/ui/base.py \
+       src/pakfire/ui/cli.py \
+       src/pakfire/ui/helpers.py \
+       src/pakfire/ui/progressbar.py
 
-_lzma_la_SOURCES = \
-       src/_lzma/_lzmamodule.c
-
-_lzma_la_CFLAGS = \
-       $(AM_CFLAGS) \
-       $(PYTHON_DEVEL_CFLAGS) \
-       $(LZMA_CFLAGS)
-
-_lzma_la_LDFLAGS = \
-       $(AM_LDFLAGS) \
-       -shared \
-       -module \
-       -avoid-version
-
-_lzma_la_LIBADD = \
-       $(PYTHON_DEVEL_LIBS) \
-       $(LZMA_LIBS)
+pakfire_uidir = $(pythondir)/pakfire/ui
 
 # ------------------------------------------------------------------------------
 
@@ -176,11 +184,18 @@ pkgpyexec_LTLIBRARIES += \
 
 _pakfire_la_SOURCES = \
        src/_pakfire/_pakfiremodule.c \
+       src/_pakfire/archive.c \
+       src/_pakfire/archive.h \
        src/_pakfire/capabilities.c \
        src/_pakfire/capabilities.h \
        src/_pakfire/constants.h \
-       src/_pakfire/pool.c \
-       src/_pakfire/pool.h \
+       src/_pakfire/errors.h \
+       src/_pakfire/key.c \
+       src/_pakfire/key.h \
+       src/_pakfire/package.c \
+       src/_pakfire/package.h \
+       src/_pakfire/pakfire.c \
+       src/_pakfire/pakfire.h \
        src/_pakfire/problem.c \
        src/_pakfire/problem.h \
        src/_pakfire/relation.c \
@@ -189,12 +204,10 @@ _pakfire_la_SOURCES = \
        src/_pakfire/repo.h \
        src/_pakfire/request.c \
        src/_pakfire/request.h \
+       src/_pakfire/selector.c \
+       src/_pakfire/selector.h \
        src/_pakfire/solution.c \
        src/_pakfire/solution.h \
-       src/_pakfire/solvable.c \
-       src/_pakfire/solvable.h \
-       src/_pakfire/solver.c \
-       src/_pakfire/solver.h \
        src/_pakfire/step.c \
        src/_pakfire/step.h \
        src/_pakfire/transaction.c \
@@ -202,6 +215,10 @@ _pakfire_la_SOURCES = \
        src/_pakfire/util.c \
        src/_pakfire/util.h
 
+_pakfire_la_CPPFLAGS = \
+       -include $(top_builddir)/config.h \
+       $(PAKFIRE_CPPFLAGS)
+
 _pakfire_la_CFLAGS = \
        $(AM_CFLAGS) \
        $(PYTHON_DEVEL_CFLAGS) \
@@ -216,11 +233,131 @@ _pakfire_la_LDFLAGS = \
 
 _pakfire_la_LIBADD = \
        $(PYTHON_DEVEL_LIBS) \
+       $(PAKFIRE_LIBS) \
        $(CAP_LIBS) \
        $(SOLV_LIBS)
 
 # ------------------------------------------------------------------------------
 
+lib_LTLIBRARIES += \
+       libpakfire.la
+
+libpakfire_la_SOURCES = \
+       src/libpakfire/archive.c \
+       src/libpakfire/errno.c \
+       src/libpakfire/file.c \
+       src/libpakfire/filter.c \
+       src/libpakfire/key.c \
+       src/libpakfire/logging.c \
+       src/libpakfire/package.c \
+       src/libpakfire/packagelist.c \
+       src/libpakfire/pakfire.c \
+       src/libpakfire/problem.c \
+       src/libpakfire/relation.c \
+       src/libpakfire/relationlist.c \
+       src/libpakfire/repo.c \
+       src/libpakfire/request.c \
+       src/libpakfire/selector.c \
+       src/libpakfire/solution.c \
+       src/libpakfire/step.c \
+       src/libpakfire/system.c \
+       src/libpakfire/transaction.c \
+       src/libpakfire/util.c
+
+pkginclude_HEADERS += \
+       src/libpakfire/include/pakfire/archive.h \
+       src/libpakfire/include/pakfire/constants.h \
+       src/libpakfire/include/pakfire/errno.h \
+       src/libpakfire/include/pakfire/file.h \
+       src/libpakfire/include/pakfire/filter.h \
+       src/libpakfire/include/pakfire/i18n.h \
+       src/libpakfire/include/pakfire/key.h \
+       src/libpakfire/include/pakfire/logging.h \
+       src/libpakfire/include/pakfire/package.h \
+       src/libpakfire/include/pakfire/packagelist.h \
+       src/libpakfire/include/pakfire/pakfire.h \
+       src/libpakfire/include/pakfire/private.h \
+       src/libpakfire/include/pakfire/problem.h \
+       src/libpakfire/include/pakfire/relation.h \
+       src/libpakfire/include/pakfire/relationlist.h \
+       src/libpakfire/include/pakfire/repo.h \
+       src/libpakfire/include/pakfire/request.h \
+       src/libpakfire/include/pakfire/selector.h \
+       src/libpakfire/include/pakfire/solution.h \
+       src/libpakfire/include/pakfire/step.h \
+       src/libpakfire/include/pakfire/system.h \
+       src/libpakfire/include/pakfire/transaction.h \
+       src/libpakfire/include/pakfire/types.h \
+       src/libpakfire/include/pakfire/util.h
+
+libpakfire_la_CFLAGS = \
+       $(AM_CFLAGS) \
+       -fvisibility=hidden \
+       $(LIBGCRYPT_CFLAGS)
+
+libpakfire_la_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       -I$(top_srcdir)/src/libpakfire/include \
+       -include $(top_builddir)/config.h \
+       -DPAKFIRE_PRIVATE
+
+libpakfire_la_LDFLAGS = \
+       $(AM_LDFLAGS) \
+       -version-info $(LIBPAKFIRE_CURRENT):$(LIBPAKFIRE_REVISION):$(LIBPAKFIRE_AGE) \
+       -Wl,--version-script=$(top_srcdir)/src/libpakfire/libpakfire.sym
+
+libpakfire_la_LIBADD = \
+       $(ARCHIVE_LIBS) \
+       $(GPGME_LIBS) \
+       $(LIBGCRYPT_LIBS) \
+       $(LZMA_LIBS) \
+       $(SOLV_LIBS)
+
+libpakfire_la_DEPENDENCIES = \
+       src/libpakfire/libpakfire.sym
+
+EXTRA_DIST += \
+       src/libpakfire/libpakfire.sym
+
+check_PROGRAMS += \
+       tests/libpakfire/main \
+       tests/libpakfire/archive \
+       tests/libpakfire/key
+
+dist_tests_libpakfire_main_SOURCES = \
+       tests/libpakfire/main.c
+
+tests_libpakfire_main_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS) \
+       -DTEST_ROOTFS=\"$(TEST_ROOTFS)\"
+
+tests_libpakfire_main_LDADD = \
+       $(TESTSUITE_LDADD) \
+       $(PAKFIRE_LIBS)
+
+tests_libpakfire_archive_SOURCES = \
+       tests/libpakfire/archive.c
+
+tests_libpakfire_archive_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_archive_LDADD = \
+       $(TESTSUITE_LDADD) \
+       $(PAKFIRE_LIBS)
+
+tests_libpakfire_key_SOURCES = \
+       tests/libpakfire/key.c \
+       tests/libpakfire/key.h
+
+tests_libpakfire_key_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS)
+
+tests_libpakfire_key_LDADD = \
+       $(TESTSUITE_LDADD) \
+       $(PAKFIRE_LIBS)
+
+# ------------------------------------------------------------------------------
+
 lib_LTLIBRARIES += \
        libpakfire_preload.la
 
@@ -238,25 +375,6 @@ libpakfire_preload_la_LIBADD = \
 
 # ------------------------------------------------------------------------------
 
-libexec_PROGRAMS += \
-       debugedit
-
-debugedit_SOURCES = \
-       src/debugedit/debugedit.c \
-       src/debugedit/hashtab.c \
-       src/debugedit/hashtab.h \
-       src/debugedit/rpmiotypes.h \
-       src/debugedit/rpmsw.h \
-       src/debugedit/rpmtag.h
-
-debugedit_LDADD = \
-       $(AM_CFLAGS) \
-       $(BEECRYPT_LIBS) \
-       $(ELF_LIBS) \
-       $(POPT_LIBS)
-
-# ------------------------------------------------------------------------------
-
 scripts_SCRIPTS = \
        src/scripts/extract-debuginfo \
        src/scripts/quality-agent
@@ -373,12 +491,42 @@ src/systemd/%: src/systemd/%.in Makefile
 
 # - testsuite ------------------------------------------------------------------
 
+check_LTLIBRARIES = \
+       tests/libtestsuite.la
+
+tests_libtestsuite_la_SOURCES = \
+       tests/testsuite.c \
+       tests/testsuite.h
+
+tests_libtestsuite_la_CPPFLAGS = \
+       $(TESTSUITE_CPPFLAGS) \
+       -DABS_TOP_SRCDIR=\"$(abs_top_srcdir)\" \
+       -DTEST_ROOTFS=\"$(TEST_ROOTFS)\"
+
+TESTSUITE_CPPFLAGS = \
+       $(AM_CPPFLAGS) \
+       $(PAKFIRE_CPPFLAGS)
+
+TESTSUITE_LDADD = \
+       tests/libtestsuite.la
+
 TESTS_ENVIRONMENT = \
+       PAKFIRE_LOG=debug \
        PYTHONPATH="$(top_srcdir)/.libs:$(top_srcdir)/src" \
        topdir="$(shell pwd)"
 
-dist_check_SCRIPTS = \
-       tests/module-load.py
+#dist_check_SCRIPTS = \
+#      tests/module-load.py
 
 TESTS = \
-       $(dist_check_SCRTIPS)
+       $(check_PROGRAMS) \
+       $(dist_check_SCRIPTS)
+
+# Some test data to run tests
+EXTRA_DIST += \
+       tests/data/726D8B0B0889B04E.key \
+       tests/data/beep-1.3-2.ip3.x86_64.pfm
+
+.PHONY: clean-local-check
+clean-local-check:
+       -rm -rf $(TEST_ROOTFS)