An open API service indexing awesome lists of open source software.

https://github.com/vmware/tdnf

Tiny Dandified Yum
https://github.com/vmware/tdnf

Last synced: 10 months ago
JSON representation

Tiny Dandified Yum

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