tdnf clean all does not delete cache rpms. Fix to delete
the cached rpms if keepcache is not set.
Fixes https://github.com/vmware/photon/issues/832
Signed-off-by: Keerthana K <keerthanak@vmware.com>
Most Linux distributions following the FHS have 64-bit binaries in
/usr/lib64 and 32-bit binaries in /usr/lib. This change adjusts
plugins to be installed and detected in the correct directory for
libraries.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
As a continuation to PR #112, this patch moves the pytest build rules
into pytests/CMakeLists.txt for consistency. While at it, also move
the --build-dir option passed to pytests into config.json.in.
Signed-off-by: Siddharth Chandrasekaran <csiddharth@vmware.com>
- when --assumeno is provided in command line
- when user aborts interactive alter with input other than 'y'
- error message "Operation aborted"
- previously tdnf did not return an error. returns non-zero error now.
- plugin event map for guidance to event items
- plugin events init, repo, repomd
- tests for plugin conf
- tests with a repomd sign and verify via plugin
Fix error when repo directory provided is not present. Currently
tdnf displays "Error(2605) : Unknown error 1005" when the repodir
configured is invalid. Correct Error should be
"Error(1005) : Error opening repo dir. Check if the repodir configured
in tdnf.conf exists (usually /etc/yum.repos.d)"
- read conf file, read cmdline params.
- read plugins (default to 0. this means plugins are disabled by default)
- read pluginpath (default to /usr/lib/tdnf-plugins)
- read pluginconfpath (default to /etc/tdnf/pluginconf.d)
- add code to generate config.h
- config.h contains just package name and version
- cmake will generate config.h from config.h.in
- add version tests which was missing
fedora-release and mageia-release offer generic 'system-release' Provides
that can be used to determine the release version of the distribution.
Derivatives of Fedora (including RHEL) also offer this generic capability
in their distribution release packages.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
In order to (hopefully) prevent future breakage, the CI has been refactored
so that TDNF is now built on both Fedora and Photon. This ensures
that TDNF remains buildable and somewhat usable on Fedora and other
similar RPM-based distributions. CI now builds the Python module to
verify that builds properly, too.
As the tests only work properly on Photon OS for now, the CI is configured
to only execute them for the Photon environment.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
Compilation was failing because /usr/include/tdnf/tdnf.h does not
exist during the build and tdnfbase.h was not being included
by its corresponding source file.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
Since we're using a modern version of CMake (version 3.0+), we can
set the version as part of the project properties.
As part of doing so, the new project version setting is propagated
down to the TDNF library build targets, so that the version and
soversion are based on the project version.
Additionally, we can now have a useful fallback value for the
BuildMetaData CMake function so that builds from release tarballs
will not have broken version information.
Finally, we use these changes as part of restoring the pkgconfig
files so that they are configured and installed properly with the
correct values.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>
The TDNF libraries were getting installed, but they were unusable because
the header files were not being installed along with the libraries.
Additionally, the installation paths were wrong for 64-bit Linux systems
because it forced the usage of /lib where /lib64 was required. Switching
to having the installation paths defined by GNUInstallDirs by default
(included in CMake since 2.8.5) fixes this problem.
Signed-off-by: Neal Gompa <ngompa13@gmail.com>