Skip to content

vmware/tdnf

Folders and files

NameName
Last commit message
Last commit date
Jul 26, 2024
Dec 7, 2024
Dec 11, 2024
Dec 7, 2024
Dec 6, 2024
Jun 28, 2023
Sep 11, 2024
Apr 1, 2022
Dec 11, 2024
Dec 2, 2024
Jul 30, 2024
Mar 17, 2024
Mar 17, 2024
Aug 2, 2024
Dec 11, 2024
Jul 19, 2023
Dec 11, 2024
Jul 23, 2024
Oct 7, 2024
Jul 26, 2024
Dec 11, 2024
Oct 7, 2024
Sep 9, 2021
May 25, 2022
Jul 26, 2024
Dec 11, 2024
Feb 11, 2022

Repository files navigation

tdnf - tiny dandified yum

In order to compile, from the checkout directory, run the following

mkdir build && cd build
cmake ..
make

Do enable debugging symbols (useful for use with gdb), use:

cmake -DCMAKE_BUILD_TYPE=Debug ..

You can also build tdnf using docker using the following commands:

docker build -t photon/tdnf-build -f ci/Dockerfile.photon .
docker run --rm -it -v $(pwd):/build -w /build photon/tdnf-build

create a conf file named tdnf.conf under /etc/tdnf/ with the following content

[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=true
repodir=/etc/yum.repos.d
cachedir=/var/cache/tdnf

Now configure repo files under /etc/yum.repos.d or your repodir following .repo format of dnf/yum.

You should now have a client executable named tdnf under bin/. To test run:

./bin/tdnf list installed

You should see a list of installed packages and their related info

Testing

To build and run the test scripts within a container, do:

export DIST=photon
docker run --security-opt seccomp:unconfined --rm -it -e DIST -v$(pwd):/build -w/build ${DIST}/tdnf-build ./ci/docker-entrypoint.sh

Same for

export DIST=fedora

Coverity

Assuming you have coverity installed on /pathto/coverity, you can run:

docker run --rm -it -v $(pwd):/build -v /pathto/coverity/:/coverity/ -w /build photon/tdnf-build ./ci/coverity.sh

This will put the output to ./build-coverity. You can then commit the results to the coverity database from that directory, or view the results in ./build-coverity/html. For example, you can start an nginx container:

docker run -it --rm -p 8080:80 --name web -v $(pwd)/build-coverity/html:/usr/share/nginx/html nginx

and then view results in your browser at http://<host>:8080/.