Go to file
Oliver Kurth 066bd38db2
Merge pull request #495 from vmware/topic/okurth/set-string-macro
use SET_STRING() macro for config and repo settings
2024-09-11 13:34:57 -07:00
.copr add .copr/Makefile to build with COPR 2024-07-26 14:51:17 -07: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 use SET_STRING() macro for config and repo settings 2024-09-11 20:25:01 +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 copyright years 2023-03-31 12:41:34 -07:00
history history: address cppcheck warnings 2024-03-17 12:45:27 +05:30
include make distroverpkg setting a list of packages and add 'system-release' and 'redhat-release' 2024-07-30 20:38:11 +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 add .copr/Makefile to build with COPR 2024-07-26 14:51:17 -07:00
CMakeLists.txt set version from VERSION file 2024-07-26 14:24:23 -07: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
VERSION set version from VERSION file 2024-07-26 14:24:23 -07:00
tdnf.spec.in use %{?buildtag} in tdnf.spec 2024-08-02 22:01:33 +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/.