Subject: [bug#77090] Patch to add linux-libre mnt/reform variant

From: Vagrant Cascadian <[email-masked]>
Date: Sat, 22 Mar 2025 11:58:31 -0700

On 2025-03-22, pelzflorian (Florian Pelz) wrote:
> Thank you Vagrant for this work.

And thanks for the review! :)

> Vagrant Cascadian <[email-masked]> writes:
>> +    (version "278f964619e597bf0b3aae67fef52bb541bc89e6")
>
> This is a bad version; newer versions are not increasing.

Yeah, I wondered about this... did not think it mattered too much
because it just ships some patch files used as an input; it is not a
package someone is likely to include in a profile where the version
would matter. Might be a case for using (define ... instead of
(define-public ... of course I can make up a more meaningful
git-commit-hash derived version if we absolutely must... :)

> The commit 278f964619e597bf0b3aae67fef52bb541bc89e6 you use for
> reform-debian-packages is no longer the most recent commit.  Which commit
> should we use?

Current head is probably also fine (seems to have one new or updated
patch to the relevent kernel patches which might require adjusting patch
phase), but that was the commit I tested so far.

> Vagrant Cascadian <[email-masked]> writes:
>> +    (license (list
>> +              ;; FIXME license:mit
>> +              ;; FIXME license:FSFAP
>> +              license:bsd-2
>> +              license:gpl2
>> +              license:gpl2+
>> +              license:gpl3))))
>
> Likely should be
> (list license:gpl2
>       license:gpl2+
>       license:gpl3+
>       license:x11
>       license:expat
>       license:fsf-free)

Sounds plausible to me. :)

FWIW, I am also fine with dropping anything outside of linux/ in a
snippet, if it makes the licensing simpler, as we really use none of
the other files.

> I do not know where in your list, license:bsd-2 comes from.  Possibly
> license:bsd-2 is correct for some file, too?

Most .dts related files in linux are dual-licensed under GPL and one of
various permissive licenses ... (e.g. GPL-2* OR BSD|MIT|X11).

  $ git grep SPDX linux/patches6.12/ | grep BSD
  linux/patches6.12/imx8mq-mnt-reform2/v19_20241126_sandor_yu_initial_support_cadence_mhdp8501_hdmi_dp_for_i_mx8mq.mbx:+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  linux/patches6.12/imx8mq-mnt-reform2/v19_20241126_sandor_yu_initial_support_cadence_mhdp8501_hdmi_dp_for_i_mx8mq.mbx:+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  linux/patches6.12/rk3588-mnt-reform2/0036-dt-bindings-display-bridge-Add-schema-for-Synopsys-D.patch:+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  linux/patches6.12/rk3588-mnt-reform2/0037-dt-bindings-display-rockchip-Add-schema-for-RK3588-H.patch:+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  linux/patches6.12/rk3588-mnt-reform2/0042-dt-bindings-media-Document-bindings-for-HDMI-RX-Cont.patch:+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  linux/patches6.12/rk3588-mnt-reform2/3001-display-rockchip-add-schema-for-rk3588-hdmi-tx.patch:+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  linux/patches6.12/rk3588-mnt-reform2/5001-rk3588-dsi2-driver.patch:+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)

> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/patches/mesa?ref_type=heads
> Mesa has license:x11.
> License:x11 is the MIT license.
>
> (define x11
>   (license "X11"
>            "http://directory.fsf.org/wiki/License:X11"
>            "https://www.gnu.org/licenses/license-list#X11License"))
>
> <https://directory.fsf.org/wiki/License:X11>
> is the same as the license header
> <https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/panfrost/lib/pan_layout.c

That's good to know. I am a little less familiar with GNU licensing
conventions, mostly coming from Debian, while not totally different,
have some different conventional takes.

> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/build_custom.sh?ref_type=heads
> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/common.sh?ref_type=heads
> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/setup.sh?ref_type=heads
> is # SPDX-License-Identifier: MIT
> is <https://spdx.org/licenses/MIT.html>
> is <https://directory.fsf.org/wiki/License:Expat>
> is license:expat

Also useful, thanks!

> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/filter-output?ref_type=heads
> is # SPDX-License-Identifier: FSFAP
> guix/import/utils.scm maps with %spdx-license-identifiers this way:
> ("FSFAP" . license:fsf-free)

Great!

> https://source.mnt.re/reform/reform-debian-packages/-/blob/main/reprepro.sh?ref_type=heads
> has no license :(
> Remove it in an origin snippet?
> Though you also do not use this tiny script.

I can probably get upstream to fix that, but we also do not need it at
all.

> I have not looked at the linux patches, but likely gpl2 or another
> of the above GPL versions.

I focused on linux/patches6.12 mainly, as those were the ones I am
actually using, and other than the device-tree patches that are
dual-licensed, likely all the rest should be gpl2 or gpl2+.

live well,
  vagrant