u-boot has nonfree files in arch/x86/dts/microcode/
We have at least the following files that are nonfree in arch/x86/dts/microcode/:
$ git grep "reverse engineering" arch/x86/dts/microcode/m0220661105_cv.dtsi: * .No reverse engineering, decompilation, or disassembly of this software is arch/x86/dts/microcode/m12206a7_00000029.dtsi: * .No reverse engineering, decompilation, or disassembly of this software is arch/x86/dts/microcode/m12306a9_0000001b.dtsi: * .No reverse engineering, decompilation, or disassembly of this software is arch/x86/dts/microcode/m7240651_0000001c.dtsi: * .No reverse engineering, decompilation, or disassembly of this software is arch/x86/dts/microcode/mc0306d4_00000018.dtsi: * .No reverse engineering, decompilation, or disassembly of this software is
For the rest they may be documented in a somewhat recent thread in the linux-libre mailing list, so we could remove them in a second time once we understand if these are code or data.
There is also some documentation that contains instructions to build u-boot with nonfree binaries to remove and there too they could be removed once we find them.
In any case I don't know how to properly remove files in PKGBUILDs as I lost track of if the Parabola modifications to build processed source tarballs worked or not if they were removed or not and so on.
So if someone has an example to follow that works today I could do that modification.
If not I don't know what to do or how to do it.
Updated by bill-auger 22 days ago
that is the mksource() mechanism described on the wiki https://wiki.parabola.nu/Hacking:mksource()to use it:
- add a mksource() function to the PKGBUILD, and move all liberation steps into mksource()
- if the above step results in an empty prepare(), delete prepare()
- rename the 'source' array to 'mksource'
- prefix the checksums array(s) with 'mk' (eg: 'mksha256sums')
- repalce the 'source' array, to require a single (libre) source-ball and it's signature,
each with a 'repo.parabola.nu/other/' URL, with '-libre' appended to the 'pkgname'
- if the libre source-ball is not found on the parabola server, it is generated automatically,
using the mksource mechanism, before starting the normal build()
- otherwise, the build continues normally (bypassing the mksource() function)
- in either case, `librerelease` will ensure that the source-ball(s) are published
it is a rather clumsy mechanism though, and was implemented in only a few packages (although presumably, every libre replacement package should use it) - there has been much discussion about eliminating mksource(), in favor of simply generating the source ball after the standard prepare() has run, which is effectively what mksource() simulates in a round-about way - "source-ball(s)" is plural in the last step because mksource PKGBUILDs also results in two (probably identical) source-balls in the repo ('foo-libre' in other/ and 'foo.srfc.tar.gz' in sources/)
i have an example PKGBUILD, which does nothing useful, but to exercize the mksource functionality, if you'd like to see it