Creating Fedora RPM package of Pan Ver. 0.163

"D. Graef via Pan-users" <[email protected]> Fri, 30 May 2025 16:33:49 +0200
Newsgroups gmane.comp.gnome.apps.pan.user
Message-ID <[email protected]>
Hi,

I'm trying to create a RPM package of Pan 0.163 for Fedora Linux, but 
some files are not installed in the desired directory.

The default values of the cmake variables are as follows:

${CMAKE_INSTALL_BINDIR}		= bin
${CMAKE_INSTALL_DATAROOTDIR}	= share

For Fedora Linux I've set them to usr/bin and usr/share in CMake.txt:


# Installation
# https://cmake.org/cmake/help/book/mastering-cmake/chapter/Install.html
# https://cmake.org/cmake/help/latest/command/install.html

#This works as expected:

set(CMAKE_INSTALL_BINDIR "usr/bin")			# added
install(TARGETS pan DESTINATION ${CMAKE_INSTALL_BINDIR})

set(CMAKE_INSTALL_DATAROOTDIR "usr/share")		# added

# works as expected:

set(meta "org.gnome.pan.metainfo.xml")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${meta}.in" 
"${CMAKE_CURRENT_BINARY_DIR}/${meta}")
install(
   FILES "${CMAKE_CURRENT_BINARY_DIR}/${meta}"
   DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo"
)

# the follwoing doesn't work as I expect:

file(MAKE_DIRECTORY "${CMAKE_INSTALL_DATAROOTDIR}/man/man1")
file(COPY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/pan.1" 
"${CMAKE_INSTALL_DATAROOTDIR}/man/man1/pan.1")
install(DIRECTORY "${CMAKE_INSTALL_DATAROOTDIR}/man/man1" TYPE MAN)


Output of the install procedure:

cmake --install std-build --prefix rpm
....
....
-- Installing: /home/user/rpmbuild/pan-test/rpm/usr/bin/pan	# OK
-- Installing: 
/home/user/rpmbuild/pan-test/rpm/usr/share/metainfo/org.gnome.pan.metainfo.xml 
  # OK
-- Installing: 
/home/user/rpmbuild/pan-test/rpm/usr/share/applications/org.gnome.pan.desktop 
# OK
-- Installing: 
/home/user/rpmbuild/pan-test/rpm/usr/share/dbus-1/services/org.gnome.pan.service 
# OK
-- Installing: /home/user/rpmbuild/pan-test/rpm/share/man/man1  # not 
usr/share
-- Installing: /home/user/rpmbuild/pan-test/rpm/share/man/man1/pan.1 # 
not usr/share

I've tried hardcoded path (for testing), same problem:

file(MAKE_DIRECTORY "usr/share/man/man1")
file(COPY_FILE "${CMAKE_CURRENT_SOURCE_DIR}/pan.1" 
"usr/share/man/man1/pan.1")
install(DIRECTORY "usr/share/man/man1" TYPE MAN)

Maybe someone has an idea what's wrong?


Best regards
Detlef



_______________________________________________
Pan-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/pan-users