github SynoCommunity/spksrc linuxtv/media_build
LinuxTV media trees

pre-release2 hours ago

Linux media trees for the LinuxTV media_build tiers of synokernel-linuxtv.

What these are

media_build builds the media drivers of a recent Linux out of tree, against an older kernel.
It does not ship those drivers itself: it packs the media subsystem of one mainline commit into
linux-media.tar.bz2 (make tar) and unpacks it into its own tree (make untar).
media_build is no longer maintained, and building each archive from a full GitHub archive of
Linux proved unreliable in CI.

Each archive below is that make tar output, for the mainline commit one driver/linuxtv-*
tier is frozen against: the media drivers, staging media, the headers media_build bundles,
git_log and kernel_version.h. About 7 MB each, instead of the 160 to 210 MB of a full Linux
archive the tiers used to download and cut down at every build.

How they are used

Nothing here is downloaded by hand. cross/linux-media-<date> fetches its archive and leaves
it packed; the tier that depends on it copies it into media_build/linux/ and runs
make untar.

Archive Mainline commit Package Tier
linux-media-2018-08-07-51be5a2b43f8.tar.bz2 51be5a2b43f8 cross/linux-media-2018.08.07 driver/linuxtv-3.2 (kernels 3.2 to 3.9)
linux-media-2021-01-08-321af22a3d2f.tar.bz2 321af22a3d2f cross/linux-media-2021.01.08 driver/linuxtv-3.10 (kernels 3.10 to 4.3, and 4.4 on gcc 4.9)
linux-media-2022-06-05-f2906aa86338.tar.bz2 f2906aa86338 (v5.19-rc1) cross/linux-media-2022.06.05 driver/linuxtv-4.4 (kernels 4.4 and later, gcc 5.1 and later)

How to rebuild them

Each archive is built by the native/ package of the same name, from the spksrc root:

make -C native/linux-media-2022.06.05

It downloads the GitHub archive of the mainline commit (LINUX_COMMIT) and the media_build
revision of its tier (MEDIA_BUILD), runs media_build's make tar, and leaves
linux-media-<date>-<commit>.tar.bz2 in native/linux-media-<date>/
(mk/spksrc.native/linux-media.mk).

The content is reproducible, not the bytes: tar records the time of the build. So the
archives here are fixed once uploaded, their SHA1, SHA256 and MD5 recorded in the digests
of each cross/linux-media-<date>:

  • a new tree (another commit or media_build revision) is a new native/ and
    cross/linux-media-<date> pair, uploaded under its own name, followed by make digests
    in the cross/ package;
  • a rebuild of a published archive is only for one that went missing here: upload it under
    the same name, and run make digests in the cross/ package, as its bytes changed.

Introduced by #7656.

Don't miss a new spksrc release

NewReleases is sending notifications on new releases.