Go to file
Shreenidhi Shedi a374f9a70d Break after getting first valid tdnf command
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
2023-08-02 11:36:18 -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 Supress printing linefeeds when downloading and progress output is disabled, 2023-08-01 14:55:37 -07:00
cmake Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
common add --qf option for Repoquery 2023-05-25 07:42:29 +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 add sqlite libs to build with 2023-04-07 10:17:50 -07:00
include redirect stdout from scriptlets to stderr when json is enabled 2023-07-11 14:08:01 -07:00
jsondump fix copyright years 2023-03-31 12:41:34 -07:00
llconf fix copyright years 2023-03-31 12:41:34 -07:00
plugins Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +00:00
pytests fix flake8 error 'E721 do not compare types,...' 2023-08-01 15:47:43 -07:00
python tdnf-python: use newer apis for setting program name 2023-07-20 00:54:24 +05:30
scripts configurable rpm output dir, install build deps 2023-04-24 11:05:40 -07:00
solv add SELECTION_DOTARCH to solv to restore functionality 2023-08-01 13:40:44 -07:00
tools Break after getting first valid tdnf command 2023-08-02 11:36:18 -07: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 Replace existing use of libxml2 library with expat library. 2023-06-28 04:11:16 +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/.