Skip to content

Blub/pkgdepdb

Repository files navigation

                               pkgdepdb
v0.1.12

Description:

    pkgdepdb is a tool to manage a dependency  database  for  packages
    and therein contained binaries and libraries.

    Currently it understands ArchLinux packages  and  their  metadata,
    and should also be usable for Slackware packages.  When reading an
    Arch package, unless configured otherwise, the  information  found
    in the contained .PKGINFO file will be stored as well, and can  be
    queried.

    Read the manpage for more information, including usage examples.

Installation:

    Dependencies:

        build time:
            a C++11 compatible compiler
            libarchive
            BSD or GNU compatible `make'
            libtool when using WITH_LIBRARY=yes
          optionally:
            libalpm (part of pacman, the ArchLinux package manager)
        check time:
            libcheck for the C API checks
            python 2.7 or 3 for the python API checks
        runtime:
            libarchive
            libalpm (non-optional if compiled in)

    Compilation:

        run `make <option list>' to compile the program

        - Common options:

            PREFIX=/usr/local
            SYSCONFDIR=${PREFIX}/etc
            BINDIR=${PREFIX}/bin
            LIBDIR=${PREFIX}/lib
            INCLUDEDIR=${PREFIX}/include
            DATADIR=${PREFIX}/share
            MANDIR=${DATADIR}/man
            MAN1DIR=${MANDIR}/man1

        - Feature options:

            ALPM=yes          or     ALPM=no
                Whether pacman's libalpm should be used.

            THREADS=yes       or     THREADS=no
                Whether threading should be supported for operations
                where it is applicable. (Like relinking an entire db.)

            REGEX=yes         or     REGEX=no
                Whether filters usable via the pkgdepdb commandline
                tool should support their regular expression variants
                via POSIX extended regular expressions (EREs).

            WITH_LIBRARY=yes  or     WITH_LIBRARY=no
                Whether to build the library containing the C-API.
                (Required for the python bindings.)

        - Used environment variables:

          CC, CXX, CPPFLAGS, CXXFLAGS, LDFLAGS, LIBS

        run `make <option list> check` to run the unit tests.

    Installation:

        run `make install' to install the program and documentation

        Don't forget to set a PREFIX and DESTDIR.

        Typical packaging scripts (such as an Arch PKGBUILD)
        will want to use:

            $ make SYSCONFDIR=/etc PREFIX=/usr DESTDIR=$pkgdir install

        To install the python bindings first prepare setup.py by
        running:

            $ make <options> setup.py

        Then run setup.py, you can run it with multiple python
        versions if you like:

            $ python2 setup.py install --root="$pkgdir/" --optimize=1
            $ python3 setup.py install --root="$pkgdir/" --optimize=1


    install-variables:

        PREFIX
            Default: /usr/local
            The prefix used for installation. This works just like
            the --prefix option in ./configure would.

        DESTDIR
            Default: empty
            Target destination prefix. Usually used by packaging
            scripts.

        BINDIR
            Default: $(PREFIX)/bin
            Binary files will be installed to this location.
            Files:
                pkgdepdb

        DATADIR
            Default: $(PREFIX)/share
            Currently nothing ends up here, but MANDIR uses this path.

        LIBDIR
            Default: $(PREFIX)/lib
            When using WITH_LIBARRY=yes this will contain the library
            and libtool files.
            Files:
                libpkgdepdb.so
                libpkgdepdb.a
                libpkgdepdb.la
                            ...

        INCLUDEDIR:
            Default: $(PREFIX)/include
            The header files for the C API end up there.
            Files:
                pkgdepdb.h

        MANDIR
            Default: $(DATADIR)/man
            Location where manpages end up.

        MAN1DIR
            Default: $(MANDIR)/man1
            Section 1 manpage directory.
            Files:
                pkgdepdb.1

        SYSCONFDIR
            Default: $(PREFIX)/etc
            Location which will be searched for `pkgdepdb.conf`.

    Deinstallation:

        There exists an `uninstall' make-target, however you  have  to
        specifcy the same PREFIX and  DESTDIR  variables  as  you  did
        while installing the package in order to  remove  the  correct
        files.

License:

    See the LICENSE file.

About

maintain a library-dependency-database of Arch packages - or show library-dependencies of an archive file (.tar.*)

Resources

License

Stars

Watchers

Forks

Packages

No packages published