Bug 1219804 - yast2-storage-ng fails to build with new libstorage-ng
Summary: yast2-storage-ng fails to build with new libstorage-ng
Status: RESOLVED FIXED
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: YaST2 (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: E-mail List
QA Contact: Jiri Srain
URL: https://trello.com/c/PT0yG61d
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-12 06:20 UTC by Arvin Schnell
Modified: 2024-02-22 09:50 UTC (History)
1 user (show)

See Also:
Found By: Development
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvin Schnell 2024-02-12 06:20:15 UTC
libstorage-ng has new experimental support for bcachefs. yast2-storage-ng
fails to build (in openSUSE:Factory:Staging:F) since it does not know about
the new enum value.

https://build.opensuse.org/public/build/openSUSE:Factory:Staging:F/standard/x86_64/yast2-storage-ng/_log
Comment 1 Stefan Hundhammer 2024-02-12 15:01:12 UTC
The relevant build failure is this one:

> 13) Y2Storage::StorageFeature.all contains one entry for each feature from libstorage-ng
>     Failure/Error: expect(described_class.all.map(&:to_sym)).to contain_exactly(*constants)
> .
>       expected collection contained: [:UF_BCACHE, :UF_BCACHEFS, :UF_BITLOCKER,
>         :UF_BTRFS, :UF_DASD, :UF_DMRAID, :UF_EXFAT, :UF_EXT2,
>         :UF_E..._ENCRYPTION, :UF_PMEM, :UF_QUOTA, :UF_REISERFS, :UF_SNAPSHOTS,
>         :UF_SWAP, :UF_UDF, :UF_VFAT, :UF_XFS]
>       actual collection contained: [:UF_BCACHE, :UF_BITLOCKER, :UF_BTRFS,
>         :UF_DASD, :UF_DMRAID, :UF_EXFAT, :UF_EXT2, :UF_EXT3,
>         :UF_EXT4,..._ENCRYPTION, :UF_PMEM, :UF_QUOTA, :UF_REISERFS,
>         :UF_SNAPSHOTS, :UF_SWAP, :UF_UDF, :UF_VFAT, :UF_XFS]
>       the missing elements were:      [:UF_BCACHEFS]
>     # ./test/y2storage/storage_feature_test.rb:33:in `block (3 levels) in <top (required)>'

Which means a one-line change here:

https://github.com/yast/yast-storage-ng/blob/master/src/lib/y2storage/storage_feature.rb#L100

i.e. inserting a line for this new UF_BCACHEFS.

I assume that if we are ever going to implement this in yast-storage-ng, we will need support packages for this feature. So far, I found  "bcachefs-tools":

https://build.opensuse.org/package/show/openSUSE:Factory/bcachefs-tools

Is that all, or is package "bcache-tools" also needed?

https://build.opensuse.org/package/view_file/openSUSE:Factory/bcache-tools/bcache-tools.spec?expand=1
Comment 2 Arvin Schnell 2024-02-12 15:23:11 UTC
bcache-tools is not needed for bcachefs.
Comment 3 Stefan Hundhammer 2024-02-12 15:37:19 UTC
PR:

https://github.com/yast/yast-storage-ng/pull/1367

This will become available with yast2-storage-ng-5.05.
Comment 4 Stefan Hundhammer 2024-02-12 15:58:04 UTC
PR merged.