linux-riscv in groovy is still copied forward from focal and will pick
up the change applied from focal when it is updated. Therefore I'm
marking that task invalid.

** Changed in: linux (Ubuntu Focal)
       Status: Incomplete => In Progress

** Changed in: linux (Ubuntu Focal)
     Assignee: (unassigned) => Seth Forshee (sforshee)

** Changed in: linux (Ubuntu Groovy)
       Status: Incomplete => In Progress

** Changed in: linux (Ubuntu Groovy)
     Assignee: (unassigned) => Seth Forshee (sforshee)

** Changed in: linux-riscv (Ubuntu Focal)
       Status: New => In Progress

** Changed in: linux-riscv (Ubuntu Focal)
     Assignee: (unassigned) => Seth Forshee (sforshee)

** Changed in: linux-riscv (Ubuntu Groovy)
       Status: New => Invalid

** Description changed:

+ SRU Justificatoin
+ 
+ Impact: Building linux-libc-dev for riscv64 from the linux-riscv package
+ means that it can have a different version from the package on other
+ architectures. This makes it uninstallable for cross building.
+ 
+ Fix: Move the riscv64 linux-libc-dev build back to the main kernel
+ package so that the version will match.
+ 
+ Test Case: See below.
+ 
+ Regression Potential: This could cause trouble if the main kernel
+ package version is behind the linux-riscv package version, and may
+ require artificially inflating the version of the linux package.
+ Currently this is not necessary, but it needs to be kept in mind when
+ preparing packages for upload with the fixes applied.
+ 
+ ---
+ 
  # apt install linux-libc-dev:amd64 linux-libc-dev:riscv64
  Reading package lists... Done
- Building dependency tree       
+ Building dependency tree
  Reading state information... Done
  linux-libc-dev is already the newest version (5.4.0-26.30).
  Some packages could not be installed. This may mean that you have
  requested an impossible situation or if you are using the unstable
  distribution that some required packages have not yet been created
  or been moved out of Incoming.
  The following information may help to resolve the situation:
  
  The following packages have unmet dependencies:
-  linux-libc-dev : Breaks: linux-libc-dev:riscv64 (!= 5.4.0-26.30) but 
5.4.0-27.31 is to be installed
-  linux-libc-dev:riscv64 : Breaks: linux-libc-dev (!= 5.4.0-27.31) but 
5.4.0-26.30 is to be installed
+  linux-libc-dev : Breaks: linux-libc-dev:riscv64 (!= 5.4.0-26.30) but 
5.4.0-27.31 is to be installed
+  linux-libc-dev:riscv64 : Breaks: linux-libc-dev (!= 5.4.0-27.31) but 
5.4.0-26.30 is to be installed
  E: Unable to correct problems, you have held broken packages.
  
  $ rmadison -S linux-libc-dev | grep -e riscv64 -e amd64 | grep -e focal -e 
groovy
-  linux-libc-dev | 5.4.0-24.28    | focal            | riscv64
-  linux-libc-dev | 5.4.0-26.30    | focal            | amd64, arm64, armhf, 
i386, ppc64el, s390x
-  linux-libc-dev | 5.4.0-26.30    | groovy           | amd64, arm64, armhf, 
i386, ppc64el, s390x
-  linux-libc-dev | 5.4.0-27.31    | groovy           | riscv64
-  linux-libc-dev | 5.4.0-28.32    | focal-security   | riscv64
-  linux-libc-dev | 5.4.0-28.32    | focal-updates    | riscv64
-  linux-libc-dev | 5.4.0-40.44    | focal-security   | amd64, arm64, armhf, 
i386, ppc64el, s390x
-  linux-libc-dev | 5.4.0-40.44    | focal-updates    | amd64, arm64, armhf, 
i386, ppc64el, s390x
-  linux-libc-dev | 5.4.0-40.44    | groovy-proposed  | amd64, arm64, armhf, 
i386, ppc64el, s390x
+  linux-libc-dev | 5.4.0-24.28    | focal            | riscv64
+  linux-libc-dev | 5.4.0-26.30    | focal            | amd64, arm64, armhf, 
i386, ppc64el, s390x
+  linux-libc-dev | 5.4.0-26.30    | groovy           | amd64, arm64, armhf, 
i386, ppc64el, s390x
+  linux-libc-dev | 5.4.0-27.31    | groovy           | riscv64
+  linux-libc-dev | 5.4.0-28.32    | focal-security   | riscv64
+  linux-libc-dev | 5.4.0-28.32    | focal-updates    | riscv64
+  linux-libc-dev | 5.4.0-40.44    | focal-security   | amd64, arm64, armhf, 
i386, ppc64el, s390x
+  linux-libc-dev | 5.4.0-40.44    | focal-updates    | amd64, arm64, armhf, 
i386, ppc64el, s390x
+  linux-libc-dev | 5.4.0-40.44    | groovy-proposed  | amd64, arm64, armhf, 
i386, ppc64el, s390x
  
  This is broken.
  
  linux-libc-dev must have identical content for common files, across all
  architectures, and must have identical version number.
  
  A few ways to fix this:
  
  * Either enforce that src:linux & src:linux-riscv are at the same
  version number. But then reasons for splitting riscv into a separate
  build dissappear
  
  * Make src:linux build _just_ the headers linux-libc-dev for risv64, and
  nothing else. And stop bulding linux-libc-dev form the src:linux-riscv
  package. Just like it does for i386.
  
  * Or create new src:linux-headers that only builds linux-libc-dev for
  all architectures, without building any kernels. This way for example,
  we could rev userspace headers to v5.8/v5.9 ahead of said kernel
  landing, to shake out build-failures / userspace issues, whilst the
  kernel itself is still baking in bootstrap/proposed PPA.
  
  This must be address in Focal and Groovy

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1886188

Title:
  linux-libc-dev broken for crossbuilding, Multi-Arch:same violation

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1886188/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to