public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/createrepo_c] rawhide: Omit delta RPM from bash completion and manual pages if built without delta RPM support
@ 2026-07-08 15:22 
  0 siblings, 0 replies; only message in thread
From:  @ 2026-07-08 15:22 UTC (permalink / raw)
  To: git-commits

            A new commit has been pushed.

            Repo   : rpms/createrepo_c
            Branch : rawhide
            Commit : 707aed31e2522fc4e20d02beafe30c15563b66d2
            Author : Petr Písař <ppisar@redhat.com>
            Date   : 2026-07-08T17:21:03+02:00
            Stats  : +267/-2 in 4 file(s)
            URL    : https://src.fedoraproject.org/rpms/createrepo_c/c/707aed31e2522fc4e20d02beafe30c15563b66d2?branch=rawhide

            Log:
            Omit delta RPM from bash completion and manual pages if built without delta RPM support

This patch temporarily uses Git for autosetup because a patch renames
a file.

---
diff --git a/0008-cmake-Allow-builds-without-Doxygen-being-present-wit.patch b/0008-cmake-Allow-builds-without-Doxygen-being-present-wit.patch
new file mode 100644
index 0000000..6045afd
--- /dev/null
+++ b/0008-cmake-Allow-builds-without-Doxygen-being-present-wit.patch
@@ -0,0 +1,50 @@
+From 908e3a4a5909ab107da41c2631a06c6b23617f3c Mon Sep 17 00:00:00 2001
+From: Moritz Haase <Moritz.Haase@bmw.de>
+Date: Mon, 23 Jun 2025 09:21:07 +0200
+Subject: [PATCH] cmake: Allow builds without Doxygen being present with CMake
+ 4+
+
+With CMake 4+, the initial CMake run fails with
+
+    CMake Error at doc/CMakeLists.txt:18 (ADD_DEPENDENCIES):
+      The dependency target "doc-c" of target "doc" does not exist.
+
+in case Doxygen is not installed on the system, since non-existent dependencies
+are not ignored anymore (see [0]). Rectify that by making sure that we only add
+the dependency in case Doxygen has been found.
+
+[0]: https://cmake.org/cmake/help/latest/policy/CMP0046.html
+---
+ doc/CMakeLists.txt | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 6b2ef5e..6332b91 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1,11 +1,15 @@
+ ADD_SUBDIRECTORY (python)
+ 
++ADD_CUSTOM_TARGET (doc)
++ADD_DEPENDENCIES (doc doc-python)
++
+ find_package(Doxygen)
+ if(DOXYGEN_FOUND)
+     CONFIGURE_FILE("Doxyfile.in.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in" @ONLY)
+     add_custom_target(doc-c
+         ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in
+         COMMENT "Building C API documentation with Doxygen" VERBATIM)
++    ADD_DEPENDENCIES (doc doc-c)
+ endif(DOXYGEN_FOUND)
+ 
+ IF(CREATEREPO_C_INSTALL_MANPAGES)
+@@ -13,6 +17,3 @@ IF(CREATEREPO_C_INSTALL_MANPAGES)
+             DESTINATION "${CMAKE_INSTALL_MANDIR}/man8"
+             COMPONENT bin)
+ ENDIF(CREATEREPO_C_INSTALL_MANPAGES)
+-
+-ADD_CUSTOM_TARGET (doc)
+-ADD_DEPENDENCIES (doc doc-python doc-c)
+-- 
+2.55.0
+

diff --git a/0009-Make-building-of-doxygen-based-C-API-docs-configurab.patch b/0009-Make-building-of-doxygen-based-C-API-docs-configurab.patch
new file mode 100644
index 0000000..5b7e51f
--- /dev/null
+++ b/0009-Make-building-of-doxygen-based-C-API-docs-configurab.patch
@@ -0,0 +1,54 @@
+From e2ce40a8191b76165a68289bb3a9876171f42dea Mon Sep 17 00:00:00 2001
+From: Jaco Kroon <jaco@uls.co.za>
+Date: Tue, 16 Sep 2025 16:44:01 +0200
+Subject: [PATCH] Make building of doxygen based C API docs configurable.
+
+Signed-off-by: Jaco Kroon <jaco@uls.co.za>
+---
+ README.md          | 6 ++++++
+ doc/CMakeLists.txt | 7 ++++---
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/README.md b/README.md
+index 79ee3b0..4c90feb 100644
+--- a/README.md
++++ b/README.md
+@@ -61,6 +61,12 @@ Commands I am using for building the RPM:
+     make clean && make
+ ## Other build options
+ 
++### ``-DBUILD_DOC_C=OFF``
++
++Build C API documentation (Default: ON)
++
++Disable building of C API documentation, which requires doxygen to be present.
++
+ ### ``-DENABLE_LEGACY_WEAKDEPS=ON``
+ 
+ Enable legacy SUSE/Mageia/Mandriva weakdeps support (Default: ON)
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 6332b91..f14520d 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -3,14 +3,15 @@ ADD_SUBDIRECTORY (python)
+ ADD_CUSTOM_TARGET (doc)
+ ADD_DEPENDENCIES (doc doc-python)
+ 
+-find_package(Doxygen)
+-if(DOXYGEN_FOUND)
++option(BUILD_DOC_C "Build C API documentation" ON)
++if(BUILD_DOC_C)
++    find_package(Doxygen REQUIRED)
+     CONFIGURE_FILE("Doxyfile.in.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in" @ONLY)
+     add_custom_target(doc-c
+         ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.in
+         COMMENT "Building C API documentation with Doxygen" VERBATIM)
+     ADD_DEPENDENCIES (doc doc-c)
+-endif(DOXYGEN_FOUND)
++endif(BUILD_DOC_C)
+ 
+ IF(CREATEREPO_C_INSTALL_MANPAGES)
+     INSTALL(FILES createrepo_c.8 mergerepo_c.8 modifyrepo_c.8 sqliterepo_c.8
+-- 
+2.55.0
+

diff --git a/0010-Omit-delta-rpm-related-info-from-bash-completion-and.patch b/0010-Omit-delta-rpm-related-info-from-bash-completion-and.patch
new file mode 100644
index 0000000..c2f3132
--- /dev/null
+++ b/0010-Omit-delta-rpm-related-info-from-bash-completion-and.patch
@@ -0,0 +1,153 @@
+From e8cac4f0e3eee39970fc095cdb3ae5b625a003e3 Mon Sep 17 00:00:00 2001
+From: Shreenidhi Shedi <shreenidhi.shedi@broadcom.com>
+Date: Wed, 25 Feb 2026 00:36:08 +0530
+Subject: [PATCH] Omit delta rpm related info from bash completion and man
+ pages
+
+Add these info to respective files when delta rpm feature is enabled.
+
+Signed-off-by: Shreenidhi Shedi <shreenidhi.shedi@broadcom.com>
+---
+ CMakeLists.txt                            | 10 ++++++++--
+ createrepo_c.bash => createrepo_c.bash.in | 13 ++++++++++---
+ doc/CMakeLists.txt                        |  9 ++++++++-
+ doc/{createrepo_c.8 => createrepo_c.8.in} |  2 ++
+ 4 files changed, 28 insertions(+), 6 deletions(-)
+ rename createrepo_c.bash => createrepo_c.bash.in (91%)
+ rename doc/{createrepo_c.8 => createrepo_c.8.in} (99%)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c4bf525..e118853 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,6 +77,11 @@ IF (ENABLE_DRPM)
+     include_directories (${DRPM_INCLUDE_DIRS})
+     ADD_DEFINITIONS("-DCR_DELTA_RPM_SUPPORT")
+ ENDIF (ENABLE_DRPM)
++IF (ENABLE_DRPM)
++    SET (ENABLE_DRPM_BASH 1)
++ELSE ()
++    SET (ENABLE_DRPM_BASH 0)
++ENDIF ()
+ 
+ # option to enable/disable python support
+ OPTION (ENABLE_PYTHON "Enable python support?" ON)
+@@ -125,18 +130,19 @@ message("Package version: ${VERSION}")
+ 
+ OPTION(ENABLE_BASHCOMP "Install Bash autocompletions?" ON)
+ IF (ENABLE_BASHCOMP)
++    CONFIGURE_FILE(createrepo_c.bash.in ${CMAKE_BINARY_DIR}/createrepo_c.bash @ONLY)
+     pkg_check_modules(BASHCOMP bash-completion)
+     IF (BASHCOMP_FOUND)
+         execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=completionsdir bash-completion OUTPUT_VARIABLE BASHCOMP_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+         message("Bash completion directory: ${BASHCOMP_DIR}")
+-        INSTALL(FILES createrepo_c.bash DESTINATION ${BASHCOMP_DIR} RENAME createrepo_c)
++        INSTALL(FILES ${CMAKE_BINARY_DIR}/createrepo_c.bash DESTINATION ${BASHCOMP_DIR} RENAME createrepo_c)
+         INSTALL(CODE "
+             execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink createrepo_c \$ENV{DESTDIR}${BASHCOMP_DIR}/mergerepo_c)
+             execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink createrepo_c \$ENV{DESTDIR}${BASHCOMP_DIR}/modifyrepo_c)
+             execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink createrepo_c \$ENV{DESTDIR}${BASHCOMP_DIR}/sqliterepo_c)
+             ")
+     ELSEIF (BASHCOMP_FOUND)
+-        INSTALL(FILES createrepo_c.bash DESTINATION "/etc/bash_completion.d")
++        INSTALL(FILES ${CMAKE_BINARY_DIR}/createrepo_c.bash DESTINATION "/etc/bash_completion.d")
+         message("Bash completion directory: /etc/bash_completion.d")
+     ENDIF (BASHCOMP_FOUND)
+ ENDIF (ENABLE_BASHCOMP)
+diff --git a/createrepo_c.bash b/createrepo_c.bash.in
+similarity index 91%
+rename from createrepo_c.bash
+rename to createrepo_c.bash.in
+index e3f7f36..31ec392 100644
+--- a/createrepo_c.bash
++++ b/createrepo_c.bash.in
+@@ -13,15 +13,19 @@ _cr_checksum_type()
+ _cr_createrepo()
+ {
+     COMPREPLY=()
++    local _cr_has_drpm=@ENABLE_DRPM_BASH@
+ 
+     case $3 in
+         -V|--version|-h|--help)
+             return 0
+             ;;
+-        --update-md-path|-o|--outputdir|--oldpackagedirs)
++        --update-md-path|-o|--outputdir)
+             COMPREPLY=( $( compgen -d -- "$2" ) )
+             return 0
+             ;;
++        --oldpackagedirs)
++            (( _cr_has_drpm )) && COMPREPLY=( $( compgen -d -- "$2" ) ) && return 0
++            ;;
+         -g|--groupfile)
+             COMPREPLY=( $( compgen -f -o plusdirs -X '!*.xml' -- "$2" ) )
+             return 0
+@@ -59,7 +63,7 @@ _cr_createrepo()
+     esac
+ 
+     if [[ $2 == -* ]] ; then
+-        COMPREPLY=( $( compgen -W '--help --version --quiet --verbose
++        local cr_opts='--help --version --quiet --verbose
+             --excludes --basedir --baseurl --groupfile --checksum
+             --pretty --database --no-database --update --update-md-path
+             --skip-stat --pkglist --includepkg --outputdir
+@@ -69,8 +73,11 @@ _cr_createrepo()
+             --compress-type --keep-all-metadata --compatibility
+             --retain-old-md-by-age --cachedir --local-sqlite
+             --cut-dirs --location-prefix
++            --recycle-pkglist'
++        (( _cr_has_drpm )) && cr_opts="$cr_opts
+             --deltas --oldpackagedirs
+-            --num-deltas --max-delta-rpm-size --recycle-pkglist' -- "$2" ) )
++            --num-deltas --max-delta-rpm-size"
++        COMPREPLY=( $( compgen -W "$cr_opts" -- "$2" ) )
+     else
+         COMPREPLY=( $( compgen -d -- "$2" ) )
+     fi
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 704e6a5..6f523e6 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -15,8 +15,15 @@ if(BUILD_DOC_C)
+     ADD_DEPENDENCIES (doc doc-c)
+ endif(BUILD_DOC_C)
+ 
++IF(ENABLE_DRPM)
++    SET(ENABLE_DRPM_MAN 1)
++ELSE()
++    SET(ENABLE_DRPM_MAN 0)
++ENDIF()
++CONFIGURE_FILE(createrepo_c.8.in ${CMAKE_CURRENT_BINARY_DIR}/createrepo_c.8 @ONLY)
++
+ IF(CREATEREPO_C_INSTALL_MANPAGES)
+-    INSTALL(FILES createrepo_c.8 mergerepo_c.8 modifyrepo_c.8 sqliterepo_c.8
++    INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/createrepo_c.8 mergerepo_c.8 modifyrepo_c.8 sqliterepo_c.8
+             DESTINATION "${CMAKE_INSTALL_MANDIR}/man8"
+             COMPONENT bin)
+ ENDIF(CREATEREPO_C_INSTALL_MANPAGES)
+diff --git a/doc/createrepo_c.8 b/doc/createrepo_c.8.in
+similarity index 99%
+rename from doc/createrepo_c.8
+rename to doc/createrepo_c.8.in
+index d76cd62..539e603 100644
+--- a/doc/createrepo_c.8
++++ b/doc/createrepo_c.8.in
+@@ -189,6 +189,7 @@ During \-\-update, remove all files in repodata/ which are older then the specif
+ .SS \-c \-\-cachedir CACHEDIR.
+ .sp
+ Set path to cache dir
++.if @ENABLE_DRPM_MAN@ \{\
+ .SS \-\-deltas
+ .sp
+ Tells createrepo to generate deltarpms and the delta metadata.
+@@ -201,6 +202,7 @@ The number of older versions to make deltas against. Defaults to 1.
+ .SS \-\-max\-delta\-rpm\-size MAX_DELTA_RPM_SIZE
+ .sp
+ Max size of an rpm that to run deltarpm against (in bytes).
++.\}
+ .SS \-\-local\-sqlite
+ .sp
+ Gen sqlite DBs locally (into a directory for temporary files). Sometimes, sqlite has a trouble to gen DBs on a NFS mount, use this option in such cases. This option could lead to a higher memory consumption if TMPDIR is set to /tmp or not set at all, because then the /tmp is used and /tmp dir is often a ramdisk.
+-- 
+2.55.0
+

diff --git a/createrepo_c.spec b/createrepo_c.spec
index b2524f4..579714f 100644
--- a/createrepo_c.spec
+++ b/createrepo_c.spec
@@ -41,7 +41,7 @@
 Summary:        Creates a common metadata repository
 Name:           createrepo_c
 Version:        %{package_version}
-Release:        7%{?dist}
+Release:        8%{?dist}
 License:        GPL-2.0-or-later
 URL:            https://github.com/rpm-software-management/createrepo_c
 Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
@@ -52,11 +52,15 @@ Patch4:         0004-spec-require-cmake-3.7.0.patch
 Patch5:         0005-Include-unistd.h-for-STDOUT_FILENO.patch
 Patch6:         0006-Use-RPMTAG_SHA1HEADER-instead-of-RPMTAG_HDRID.patch
 Patch7:         0007-spec-Consistently-use-CMake-RPM-macros.patch
+Patch8:         0008-cmake-Allow-builds-without-Doxygen-being-present-wit.patch
+Patch9:         0009-Make-building-of-doxygen-based-C-API-docs-configurab.patch
+Patch10:        0010-Omit-delta-rpm-related-info-from-bash-completion-and.patch
 
 %global epoch_dep %{?epoch:%{epoch}:}
 
 BuildRequires:  cmake >= 3.7.0
 BuildRequires:  gcc
+BuildRequires:  git-core
 BuildRequires:  bzip2-devel
 BuildRequires:  doxygen
 BuildRequires:  glib2-devel >= 2.22.0
@@ -139,7 +143,7 @@ Requires:       %{name}-libs = %{epoch_dep}%{version}-%{release}
 Python 3 bindings for the createrepo_c library.
 
 %prep
-%autosetup -p1
+%autosetup -p1 -S git
 %py3_shebang_fix examples/python
 mkdir build-py3
 
@@ -220,6 +224,10 @@ ln -sr %{buildroot}%{_bindir}/modifyrepo_c %{buildroot}%{_bindir}/modifyrepo
 %{python3_sitearch}/%{name}-*-py%{python3_version}.egg-info
 
 %changelog
+* Wed Jul 08 2026 Petr Pisar <ppisar@redhat.com> - 1.2.1-8
+- Omit delta RPM from bash completion and manual pages if built without delta
+  RPM support
+
 * Fri Jun 12 2026 Yaakov Selkowitz <yselkowi@redhat.com> - 1.2.1-7
 - Rebuilt for openssl 4.0
 

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-08 15:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-08 15:22 [rpms/createrepo_c] rawhide: Omit delta RPM from bash completion and manual pages if built without delta RPM support 

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox