Go to file
Oliver Kurth 01ee65027a
Merge pull request #523 from vmware/topic/okurth/gpgcheck-unsigned
do not install unsigned packages if gpgcheck is enabled
2025-05-30 13:37:59 -07:00
.copr add .copr/Makefile to build with COPR 2024-07-26 14:51:17 -07:00
.github/workflows gh-workflow: run fedora container in unprivileged mode 2024-12-19 09:25:18 +05:30
bin Fix updateinfo script 2024-12-11 10:39:38 +05:30
ci Remove tdnf-python module 2025-03-25 14:18:41 +05:30
client refactor gpgcheck settings 2025-05-30 20:27:02 +00:00
cmake Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
common use SET_STRING() macro for config and repo settings 2024-09-11 20:25:01 +00:00
docs remove trailing ws 2022-04-01 23:58:32 +00:00
etc Fix updateinfo script 2024-12-11 10:39:38 +05:30
history Install history-db-util to /usr/libexec/tdnf 2024-12-02 16:39:57 +05:30
include refactor gpgcheck settings 2025-05-30 20:27:02 +00:00
jsondump jsondump: address cppcheck warnings 2024-03-17 12:45:27 +05:30
llconf llconf: address cppcheck warnings 2024-03-17 12:45:27 +05:30
plugins fix metalink 'size' field parsing 2024-08-02 21:44:57 +00:00
pytests test installing unsigned packages with gpgcheck enabled 2025-05-30 20:26:59 +00:00
scripts Remove tdnf-python module 2025-03-25 14:18:41 +05:30
solv show complex (relational) deps in repoquery, and to install build reqs 2024-07-23 21:24:42 +00:00
tools refactor gpgcheck settings 2025-05-30 20:27:02 +00:00
.gitignore add .copr/Makefile to build with COPR 2024-07-26 14:51:17 -07:00
CMakeLists.txt Remove tdnf-python module 2025-03-25 14:18:41 +05:30
CONTRIBUTING.md comnmands -> commands 2024-10-07 13:54:54 -07:00
COPYING ITS issue fixed for tdnf. 2021-09-09 07:27:58 +00:00
README.md Update README.md 2022-05-25 14:10:27 -07:00
VERSION set version from VERSION file 2024-07-26 14:24:23 -07:00
tdnf.spec.in spec file: no check if check is disabled 2025-05-15 19:33:36 +00:00
tox.ini add tox.ini for flake8 options 2022-02-11 09:08:04 -08:00

README.md

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/.