Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work around Raspberry Pi kernel packaging oddities #14747

Merged
merged 1 commit into from
Apr 18, 2023

Conversation

rincebrain
Copy link
Contributor

@rincebrain rincebrain commented Apr 13, 2023

On Debian and Ubuntu and friends, you get something like "linux-image-$(uname -r)" and "linux-headers-$(uname -r)" you can put a Depends on.

On Raspberry Pi OS, you get "raspberrypi-kernel" and "raspberrypi-kernel-headers", with version numbers like 20230411-1.

There is not, as far as I can tell, a reasonable way to map that to a kernel version short of reaching out and digging around in the changelogs or Makefile, so just special-case it so the packages don't fail to install at install time. They still might not work if the versions don't match, but I don't see a way to do anything about that...

Motivation and Context

Someone reported that trying to build the native-deb packages on the artist formerly known as Raspbian broke at install time, and it turned out to be from an unmeetable dependency on linux-image-$(uname -r).

Description

Just add a special case for Raspbian to not check the exact version built against, otherwise this can never work.

It still might not work, but since using Raspbian you can't have multiple kernel packages installed at a time, this seems like the best you're going to get, unless you just add a hard dependency on the exact version and break on, say, 20221104-2...

How Has This Been Tested?

It built for the person originally reporting the problem.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

On Debian and Ubuntu and friends, you get something like
"linux-image-$(uname -r)" and "linux-headers-$(uname -r)" you
can put a Depends on.

On Raspberry Pi OS, you get "raspberrypi-kernel" and
"raspberrypi-kernel-headers", with version numbers like 20230411.

There is not, as far as I can tell, a reasonable way to map that
to a kernel version short of reaching out and digging around in
the changelogs or Makefile, so just special-case it so the packages
don't fail to install at install time. They still might not build
if the versions don't match, but I don't see a way to do anything
about that...

Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
@behlendorf behlendorf added the Status: Accepted Ready to integrate (reviewed, tested) label Apr 18, 2023
@behlendorf behlendorf merged commit 8ed6244 into openzfs:master Apr 18, 2023
andrewc12 pushed a commit to andrewc12/openzfs that referenced this pull request Apr 30, 2023
On Debian and Ubuntu and friends, you get something like
"linux-image-$(uname -r)" and "linux-headers-$(uname -r)" you
can put a Depends on.

On Raspberry Pi OS, you get "raspberrypi-kernel" and
"raspberrypi-kernel-headers", with version numbers like 20230411.

There is not, as far as I can tell, a reasonable way to map that
to a kernel version short of reaching out and digging around in
the changelogs or Makefile, so just special-case it so the packages
don't fail to install at install time. They still might not build
if the versions don't match, but I don't see a way to do anything
about that...

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes openzfs#14745
Closes openzfs#14747
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants