https://github.com/vmware/tdnf
Tiny Dandified Yum
https://github.com/vmware/tdnf
Last synced: 10 months ago
JSON representation
Tiny Dandified Yum
- Host: GitHub
- URL: https://github.com/vmware/tdnf
- Owner: vmware
- License: other
- Created: 2015-02-26T00:44:11.000Z (almost 11 years ago)
- Default Branch: dev
- Last Pushed: 2025-03-25T17:56:07.000Z (11 months ago)
- Last Synced: 2025-03-29T05:07:20.767Z (11 months ago)
- Language: C
- Size: 2.55 MB
- Stars: 123
- Watchers: 19
- Forks: 50
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: history/CMakeLists.txt
- Contributing: CONTRIBUTING.md
- License: COPYING
Awesome Lists containing this project
README
# tdnf - tiny dandified yum
In order to compile, from the checkout directory, run the following
```sh
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:
```sh
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
```text
[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:
```sh
./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:
```text
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
```text
export DIST=fedora
```
## Coverity
Assuming you have coverity installed on `/pathto/coverity`, you can run:
```text
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:
```text
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://:8080/`.