Fedora Account System
Red Hat Associate
Red Hat Customer
Edit: New, corrected version of spec file for newer MooseFS release (4.58.4): Updated info, for version 4.58.4: Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/11b915af2f7f1e128fbca1524688c329ffd7a373/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.4-1.fc42.src.rpm Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=143652279 ************************************************************ Spec URL: https://github.com/moosefs/moosefs/blob/875162b500b512179a77e88b073ffc1ec3f3d7d9/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.3-1.fc42.src.rpm Description: MooseFS is an Open Source, easy to deploy and maintain, distributed, fault tolerant file system for POSIX compliant OSes. Fedora Account System Username: moosefs-dev This is my first submission and I'm looking for a sponsor. I am part of the upstream development team. This is the Koji build for this package: https://koji.fedoraproject.org/koji/taskinfo?taskID=143078224
Spec url should be to the raw spec file, not a rendered directory listing.
(In reply to Benson Muite from comment #1) > Spec url should be to the raw spec file, not a rendered directory listing. Thank you, I updated my initial post.
> Thank you, I updated my initial post. That's still a bad link, as it goes to a syntax-highlighted HTML rendition of the spec. Please use "raw file" links. > # Turn off debug packages > %global _enable_debug_package 0 > %global debug_package %{nil} Debuginfo packages are required, unless the information contained in them isn't very useful. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_debuginfo_packages > Group: System Environment/Daemons > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) No longer used in Fedora. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections > make %{?_smp_mflags} You may want to use %make_build instead, which handles smp flags for you and enables verbose mode. > %install > rm -rf $RPM_BUILD_ROOT Don't. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections > make install \ > DESTDIR=$RPM_BUILD_ROOT You may want to use %make_install instead, which handles DESTDIR for you. > %files master > [...] > %attr(755,root,root) %{_sbindir}/mfsmaster You should probably use %{_bindir} here, since /sbin is now merged into /bin since Fedora 42. https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin Also, setting the file mode is most likely not needed. Executables get 0755 by default. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_permissions > # %%attr(755,root,root) %%{_sbindir}/mfsbdev - moved to EXTRA_FILES > /sbin/mount.moosefs This one file uses a literal path instead of the %{_bindir} macro.
(In reply to Artur Frenszek-Iwicki from comment #3) > > Thank you, I updated my initial post. > That's still a bad link, as it goes to a syntax-highlighted HTML rendition > of the spec. Please use "raw file" links. > OK, sorry, my mistake :) > > # Turn off debug packages > > %global _enable_debug_package 0 > > %global debug_package %{nil} > Debuginfo packages are required, unless the information contained in them > isn't very useful. > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_debuginfo_packages OK, I've removed the relevant lines. > > Group: System Environment/Daemons > > BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) > No longer used in Fedora. > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections Gone. > > make %{?_smp_mflags} > You may want to use %make_build instead, which handles smp flags for you and > enables verbose mode. OK > > %install > > rm -rf $RPM_BUILD_ROOT > Don't. > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections OK > > make install \ > > DESTDIR=$RPM_BUILD_ROOT > You may want to use %make_install instead, which handles DESTDIR for you. OK > > %files master > > [...] > > %attr(755,root,root) %{_sbindir}/mfsmaster > You should probably use %{_bindir} here, since /sbin is now merged into /bin > since Fedora 42. > https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin OK > Also, setting the file mode is most likely not needed. Executables get 0755 > by default. > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_permissions It looks like not setting file modes doesn't work, at least according to lint: moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsarchive 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsbdev 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfscopygoal 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsdiagtools 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfseattr 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsfacl 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsgetgoal 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsmount 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfspatadmin 644 moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsquota 644 [... and so on] So I'm leaving it there. > > # %%attr(755,root,root) %%{_sbindir}/mfsbdev - moved to EXTRA_FILES > > /sbin/mount.moosefs > This one file uses a literal path instead of the %{_bindir} macro. The "/sbin" was forced by configure. We handled that on configure level, now it can be overridden by a configure option and I'm using that option in Fedora spec, so I can use %{_bindir} here. But since this is a change in the source and we have a couple more changes in the pipeline, we will probably have to release MooseFS 4.58.4, so I can get the correct sources to build against. Should I close this request and open a new one later or just let it hang for now and upload new versions of everything when I have them ready (hopefully next week)?
(In reply to fedora from comment #4) [...] > > Also, setting the file mode is most likely not needed. Executables get 0755 > > by default. > > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_file_permissions > > It looks like not setting file modes doesn't work, at least according to > lint: > > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsarchive 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsbdev 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfscopygoal 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsdiagtools 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfseattr 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsfacl 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsgetgoal 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsmount 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfspatadmin 644 > moosefs-client.x86_64: W: non-executable-in-bin /usr/bin/mfsquota 644 > [... and so on] > > So I'm leaving it there. It works if you remove the %defattr stanza as well. > Should I close this request and open a new one later or just let it > hang for now and upload new versions of everything when I have them ready > (hopefully next week)? Keep this open and hang on for now, there's no rush.
Updated info, for version 4.58.4: Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/11b915af2f7f1e128fbca1524688c329ffd7a373/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.4-1.fc42.src.rpm Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=143652279
Copr build: https://copr.fedorainfracloud.org/coprs/build/10257351 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10257351-moosefs/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- 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.
Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/11b915af2f7f1e128fbca1524688c329ffd7a373/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.4-1.fc42.src.rpm Koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=143652279 (For another try at Copr build, the last one was during some outage.)
Hmm, I guess it doesn't work if links are identical. One more try: [fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/10288798 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10288798-moosefs/fedora-review/review.txt Found issues: - Unversioned so-files directly in %_libdir. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages - Using both %{buildroot} and $RPM_BUILD_ROOT Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros - License file licence.py is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Systemd service file(s) in moosefs-master, moosefs-metalogger, moosefs-chunkserver, moosefs-gui Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets - Documentation size is 1032472 bytes in 16 files. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation Please know that there can be false-positives. --- 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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10288803 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10288803-moosefs/fedora-review/review.txt Found issues: - Unversioned so-files directly in %_libdir. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages - Using both %{buildroot} and $RPM_BUILD_ROOT Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros - License file licence.py is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Systemd service file(s) in moosefs-master, moosefs-metalogger, moosefs-chunkserver, moosefs-gui Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets - Documentation size is 1032472 bytes in 16 files. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation Please know that there can be false-positives. --- 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.
Another attempt at Copr build, with some errors (hopefully) fixed. Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/c87903f3bca1e6999d5ff75f351498cbc002db62/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.4-1.fc42.src.rpm
The "Group" tag is not used in Fedora and should be removed from all packages. https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections > %package libmfsio-devel > Requires: %{name}-libmfsio This should be an archful, fully versioned dependency: "%{name}-libmfsio%{?_isa} = %{version}-%{release}". https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package
Thank you. One more try then :) Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/83142d515f6351208f068ea378e01750c4db005d/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.58.4-1.fc42.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/10304076 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10304076-moosefs/fedora-review/review.txt Found issues: - Unversioned so-files directly in %_libdir. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages - Using both %{buildroot} and $RPM_BUILD_ROOT Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros - License file licence.py is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Systemd service file(s) in moosefs-master, moosefs-metalogger, moosefs-chunkserver, moosefs-gui Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets - Documentation size is 1032472 bytes in 16 files. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation Please know that there can be false-positives. --- 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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10304102 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10304102-moosefs/fedora-review/review.txt Found issues: - Unversioned so-files directly in %_libdir. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages - Using both %{buildroot} and $RPM_BUILD_ROOT Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_macros - License file licence.py is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Systemd service file(s) in moosefs-master, moosefs-metalogger, moosefs-chunkserver, moosefs-gui Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets - Documentation size is 1032472 bytes in 16 files. Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_documentation Please know that there can be false-positives. --- 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.
Consider using %autochangelog macro Create a separate noarch package with NEWS, README and the GPL-2.0 license text and then have all the other packages require it. Not blocking, but consider using primary, host or coordinator instead of master: https://www.acm.org/diversity-inclusion/words-matter https://blog.ongig.com/diversity-and-inclusion/master-slave-computer-term-bias/
OK on the docs package, it's done. I'd rather not use %autochangelog, at least not until this spec is accepted/no more issues are found. Master - this name was in MooseFS from its inception and the change would just confuse the users. We don't use slave anywhere. We have master leader and master follower in our Pro version :) New spec and sources, with the additional docs package: Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/6176ae23170c5f728919d6d7d6cc952347db6261/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.59.0-1.fc42.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/10406171 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2445182-moosefs/fedora-rawhide-x86_64/10406171-moosefs/fedora-review/review.txt Found issues: - License file licence.py is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text Please know that there can be false-positives. --- 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.
Since the last spec posted was for an intermediate MooseFS version, not our latest release, I'm now posting spec and source links to our last released version, that is MooseFS 4.59.2. The content of the spec is the same, apart from MooseFS version. I would be grateful to all the people that observed this thread and commented to let me know if they have any more issues with the spec. I would like to get to a point where the spec is acceptable, so I can start actively looking for a sponsor. Spec URL: https://raw.githubusercontent.com/moosefs/moosefs/ac106b2ec8661ff00def725d042cb67d3ca2184d/rpm/fedora/moosefs.spec SRPM URL: https://repository.moosefs.com/src/fedora/moosefs-4.59.2-1.fc42.src.rpm
You have sub-packages depending on one another. These dependencies should *all* be versioned, e.g. "Requires: %{name}-cli = %{version}-%{release}" instead of just "Requires: %{name}-cli"; otherwise the user will be able to mix and match which versions they are using. Similarly, while sub-packages are noarch, some are not. When depending on those, the dependency should be archful, e.g. "Requires: %{name}-libmfsio%{?_isa}" instead of just "Requires: %{name}-libmfsio"; otherwise it'll be possible for the user to mix e.g. an x86_64 client with an i686 library.
libmfsio-devel depends on libmfsio and that dependency is arch'ed and versioned in the spec client should depend on a specific version of libmfsio and that is an oversight, same with gui and cli However, the last dependency we have is for the doc package, that was suggested here (we did not have it previously) and ALL modules are dependent from that one. What will happen, if the user wants to have two different modules (let's say a chunkserver and a client) installed on the same machine in different versions? This is allowed internally in MooseFS, our core components are compatible with older versions of clients, because remounting a client is ususally the biggest problem in any MooseFS instance. So scenarios with newer core components (master, chunkservers) and older clients, on the same machines, are common. Will the package manager allow to install the doc package in two different versions? If not, then we cannot add a dependency on version here.