Go to file
Oliver Kurth f01d8f2d0c fix metalink 'size' field parsing 2024-08-02 21:44:57 +00:00
.github/workflows Create package for tests 2022-11-22 14:29:11 -08:00
bin Update release version to 3.0.0-beta 2020-10-23 09:46:23 +00:00
ci Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
client expand vars for 'gpgkey' URL setting 2024-07-27 17:29:32 -07:00
cmake Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
common implement 'mirrorlist' for repos 2024-07-25 20:54:00 +00:00
docs remove trailing ws 2022-04-01 23:58:32 +00:00
etc fix copyright years 2023-03-31 12:41:34 -07:00
history history: address cppcheck warnings 2024-03-17 12:45:27 +05:30
include implement 'mirrorlist' for repos 2024-07-25 20:54:00 +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 fix metalink 'size' field parsing 2024-08-02 21:44:57 +00:00
python tdnf-python: use newer apis for setting program name 2023-07-20 00:54:24 +05:30
scripts Add helper script to build tdnf using llvm (#448) 2023-08-09 12:01:36 -07:00
solv show complex (relational) deps in repoquery, and to install build reqs 2024-07-23 21:24:42 +00:00
tools show repo name in json output when installing 2024-07-12 21:25:50 +00:00
.gitignore ignore Apple file forks in .gitignore 2022-02-11 09:08:42 -08:00
CMakeLists.txt Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
CONTRIBUTING.md Update CONTRIBUTING.md 2023-05-04 12:35:36 -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
tdnf.spec.in make rpm spec build for Rocky Linux (presumably Fedora too) 2024-06-07 12:20:58 -07: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/.