Spec URL: https://lbalhar.fedorapeople.org/cronopete.spec SRPM URL: https://lbalhar.fedorapeople.org/cronopete-4.15.1-1.fc37.src.rpm Description: Cronopete is a backup utility for Linux, modeled after Apple's Time Machine. It aims to simplify the creation of periodic backups. Fedora Account System Username: lbalhar I did a build for all supported Fedoras in COPR and it works fine for me: https://copr.fedorainfracloud.org/coprs/lbalhar/cronopete/
Copr build: https://copr.fedorainfracloud.org/coprs/build/5872945 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2193124-cronopete/fedora-rawhide-x86_64/05872945-cronopete/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
> Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. Seems like %make_install installs %{_sysconfdir}/xdg/autostart/%{name}.desktop, so add desktop-file-validate to %check. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_file_install_usage cronopete.src: W: no-url-tag cronopete.x86_64: W: no-url-tag Add URL: to spec. cronopete.src: W: summary-ended-with-dot A backup utility for Linux. cronopete.x86_64: W: summary-ended-with-dot A backup utility for Linux. Remove the dot. cronopete.x86_64: E: devel-dependency glibc-devel Why is this Required by a backup utility? cronopete.x86_64: E: explicit-lib-dependency glib2 cronopete.x86_64: E: explicit-lib-dependency libappindicator-gtk3 cronopete.x86_64: E: explicit-lib-dependency libdbusmenu cronopete.x86_64: E: explicit-lib-dependency libgee cronopete.x86_64: E: explicit-lib-dependency libnotify cronopete.x86_64: E: explicit-lib-dependency libudisks2 The package requires: cronopete (rpmlib, GLIBC filtered): /bin/sh /usr/bin/sh atk cairo-gobject gdk-pixbuf2 glib2 glibc-devel gtk3 libappindicator-gtk3 libappindicator3.so.1()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) libdbusmenu libdbusmenu-glib.so.4()(64bit) libgdk-3.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgee libgee-0.8.so.2()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgtk-3.so.0()(64bit) libharfbuzz.so.0()(64bit) libnotify libnotify.so.4()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libudisks2 libudisks2.so.0()(64bit) libz.so.1()(64bit) pango rsync rtld(GNU_HASH) So the manual Requires that are covered by the automatic one need to be removed. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_requires cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/cs/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/de/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/es/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/fr/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/gl/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/pt_BR/LC_MESSAGES/cronopete.mo cronopete.x86_64: W: file-not-in-%lang /usr/share/locale/ru/LC_MESSAGES/cronopete.mo See https://docs.fedoraproject.org/en-US/packaging-guidelines/#handling_locale_files cronopete.x86_64: W: files-duplicate /usr/share/icons/hicolor/scalable/status/cronopete-arrow-1-white-symbolic.svg /usr/share/icons/hicolor/scalable/apps/cronopete-arrow-1-white.svg cronopete.x86_64: W: files-duplicate /usr/share/icons/hicolor/scalable/status/cronopete-arrow-2-white-symbolic.svg /usr/share/icons/hicolor/scalable/apps/cronopete-arrow-2-white.svg cronopete.x86_64: W: files-duplicate /usr/share/icons/hicolor/scalable/status/cronopete-arrow-3-white-symbolic.svg /usr/share/icons/hicolor/scalable/apps/cronopete-arrow-3-white.svg cronopete.x86_64: W: files-duplicate /usr/share/icons/hicolor/scalable/status/cronopete-arrow-4-white-symbolic.svg /usr/share/icons/hicolor/scalable/apps/cronopete-arrow-4-white.svg Consider linking those, but it's not required. cronopete.x86_64: W: no-manual-page-for-binary cronopete cronopete.x86_64: W: no-manual-page-for-binary cronopete_preferences.sh cronopete.x86_64: W: no-manual-page-for-binary cronopete_restore.sh Meh. cronopete.x86_64: W: non-conffile-in-etc /etc/xdg/autostart/cronopete.desktop Mark this file as %config(norepalce). See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_configuration_files cronopete.x86_64: W: position-independent-executable-suggested /usr/bin/cronopete cronopete.x86_64: W: unstripped-binary-or-object /usr/bin/cronopete cronopete.x86_64: W: unused-direct-shlib-dependency /usr/bin/cronopete /lib64/libatk-1.0.so.0 cronopete.x86_64: W: unused-direct-shlib-dependency /usr/bin/cronopete /lib64/libdbusmenu-glib.so.4 cronopete.x86_64: W: unused-direct-shlib-dependency /usr/bin/cronopete /lib64/libharfbuzz.so.0 cronopete.x86_64: W: unused-direct-shlib-dependency /usr/bin/cronopete /lib64/libudisks2.so.0 cronopete.x86_64: W: unused-direct-shlib-dependency /usr/bin/cronopete /lib64/libz.so.1 This indicates Feora build flags were not used, or prebuilt content was shipped. Investigate the cmake things and try to figure out how to pass in the standard flags from Fedora. Drop %global debug_package %{nil}
You can avoid explicitly defined build dir with `cmake -B build`, as the %cmake macro already set the default build directory of redhat-linux-build, like ``` %cmake -DCMAKE_EXE_LINKER_FLAGS="%{optflags} -fPIE" -DGSETTINGS_COMPILE=OFF -DICON_UPDATE=OFF -DUSE_APPINDICATOR=ON %cmake_build %install %cmake_install ```
Spec URL: https://lbalhar.fedorapeople.org/cronopete.spec SRPM URL: https://lbalhar.fedorapeople.org/cronopete-4.15.1-1.fc38.src.rpm Next iteration. Feel free to ignore it. I'm gonna try to fix all issues reported by the automatic review first.
Created attachment 1975283 [details] The .spec file difference from Copr build 5872945 to 6163609
Copr build: https://copr.fedorainfracloud.org/coprs/build/6163609 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2193124-cronopete/fedora-rawhide-x86_64/06163609-cronopete/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
All right, I'm lost. 1. I cannot drop debug_package because there are no debug source files generated by the build and the RPM build fails. 2. I don't know how to fix the problem with unstripped binary or object: cronopete.x86_64: W: unstripped-binary-or-object /usr/bin/cronopete cronopete.x86_64: W: position-independent-executable-suggested /usr/bin/cronopete Everything else is either ignorable (man pages), already fixed, or easy-to-fix (files-duplicate).
no debug source files generated by the build and unstripped-binary-or-object usually mean the build does not honor the build flags from the environment. For example, the cmake files might override the flags completely by their own. From the build log: cd /builddir/build/BUILD/cronopete-4.15.1/redhat-linux-build/src && /usr/bin/gcc -DGETTEXT_PACKAGE=\"cronopete\" -I/builddir/build/BUILD/cronopete-4.15.1/redhat-linux-build/src -DUSE_APPINDICATOR -DNDEBUG -I/usr/include/libappindicator3-0.1 -I/usr/include/gee-0.8 -I/usr/include/udisks2 -I/usr/include/libdbusmenu-glib-0.4 -I/usr/include/pango-1.0 -I/usr/include/gtk-3.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/atk-1.0 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/cloudproviders -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/libxml2 -I/usr/include/pixman-1 -I/usr/include/fribidi -I/usr/include/sysprof-4 -pthread -I/usr/include/libpng16 -MD -MT src/CMakeFiles/cronopete.dir/Config.c.o -MF CMakeFiles/cronopete.dir/Config.c.o.d -o CMakeFiles/cronopete.dir/Config.c.o -c /builddir/build/BUILD/cronopete-4.15.1/redhat-linux-build/src/Config.c There's not even -O2 in there.