Bug 2445182 - Review Request: MooseFS - Distributed, scalable, fault tolerant file system
Summary: Review Request: MooseFS - Distributed, scalable, fault tolerant file system
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Benson Muite
QA Contact: Fedora Extras Quality Assurance
URL: http://www.moosefs.com/
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2026-03-06 14:00 UTC by Agata Kruszona-Zawadzka
Modified: 2026-05-18 13:59 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
benson_muite: fedora-review?


Attachments (Terms of Use)

Description Agata Kruszona-Zawadzka 2026-03-06 14:00:26 UTC
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

Comment 1 Benson Muite 2026-03-06 16:19:09 UTC
Spec url should be to the raw spec file, not a rendered directory listing.

Comment 2 Agata Kruszona-Zawadzka 2026-03-06 16:45:37 UTC
(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.

Comment 3 Artur Frenszek-Iwicki 2026-03-06 17:56:12 UTC
> 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.

Comment 4 Agata Kruszona-Zawadzka 2026-03-09 13:42:04 UTC
(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)?

Comment 5 Dominik 'Rathann' Mierzejewski 2026-03-09 14:25:59 UTC
(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.

Comment 7 Fedora Review Service 2026-03-24 15:28:11 UTC
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.

Comment 9 Agata Kruszona-Zawadzka 2026-04-02 15:16:24 UTC
Hmm, I guess it doesn't work if links are identical. One more try:

[fedora-review-service-build]

Comment 10 Fedora Review Service 2026-04-03 02:53:53 UTC
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.

Comment 11 Fedora Review Service 2026-04-03 02:56:12 UTC
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.

Comment 12 Agata Kruszona-Zawadzka 2026-04-08 12:06:58 UTC
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

Comment 13 Artur Frenszek-Iwicki 2026-04-08 12:17:33 UTC
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

Comment 15 Fedora Review Service 2026-04-09 07:36:01 UTC
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.

Comment 16 Fedora Review Service 2026-04-09 07:44:58 UTC
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.

Comment 17 Benson Muite 2026-04-09 08:03:00 UTC
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/

Comment 18 Agata Kruszona-Zawadzka 2026-04-29 13:26:28 UTC
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

Comment 19 Fedora Review Service 2026-04-29 13:38:39 UTC
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.

Comment 20 Agata Kruszona-Zawadzka 2026-05-18 13:21:50 UTC
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

Comment 21 Artur Frenszek-Iwicki 2026-05-18 13:38:25 UTC
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.

Comment 22 Agata Kruszona-Zawadzka 2026-05-18 13:59:42 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.