Skip to content

Add mesa snapshot overlay #72

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions overlay-debs/mesa-snapshot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
The following changes are being made as our delta against the base packaging
(in `debian/changelog` format):

```
[ Dmitry Baryshkov ]
* New upstream snapshot to evaluate upstream Mesa on the RB1 board.
* Backport to trixie:
- Revert to building with LLVM 19 since 20 is not in trixie.
- Drop packages: libxatracker2, libxatracker-dev,
libd3dadapter9-mesa, libd3dadapter9-mesa-dev.
- Build against librust-rustc-hash-2-dev, not librust-rustc-hash-dev.
- Update libegl-mesa0.symbols.
- d/mesa-opencl-icd.install: drop some files.
- d/p/35316.patch: freedreno: Add sampling support for RGB/BGR
24-bit component texture formats.
- d/p/etnaviv-add-support-for-texelfetch.patch: drop.
- debian/patches/path_max.diff: refresh for context only.
- debian/rules:
+ enable relevant OpenCL drivers by default. Opt-in and use the
gallium-rusticl-enable-drivers in order to enable RustiCL drivers which
can be enabled by default: asahi, freedreno and radeonsi.
+ Disable gallium-xa and gallium-opencl=icd.
+ No longer need to remove mme_{fermi,tu104}_sim_hw_test
- debian/control regenerated from debian/control.in.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just add this to the script so that it goes to the actual changelog.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that would be better, but you are generating the changelog - parameterised - from your script. I didn't put this directly in there since it'll be wrong as soon as the parameters change. I can either keep it in the README.md as-is, or remove the changelog generation from the script and put a changelog entry via the debdiff instead. Which do you prefer?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly because of that. If you want a detailed changelog entry, please generate it from the script. This way apt-listchanges will show it to users, making sure that they see any actual changes to the snapshot packaging.

```
57 changes: 57 additions & 0 deletions overlay-debs/mesa-snapshot/mesa-snapshot.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#! /bin/sh
#
# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
# SPDX-License-Identifier: BSD-3-Clause

COMMIT=${COMMIT:-origin/main}

set -e

# Reported by shellcheck: SC2153 (info): Possible misspelling: DSC_FILE may not
# be assigned. Did you mean DEB_FILE?
#
# DSC_FILE is guaranteed to be defined as part of the call API from build-deb.py
# shellcheck disable=SC2153
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NAK, don't add extra noise.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just removing it will cause it to fail CI. Please clarify how you want me to fix it instead.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then please fix the CI. Adding 5 lines of comments, including the tools output, just to make it ignore a variable name in the script is definitely an overkill.

DEB_FILE=${DSC_FILE%%.dsc}.debian.tar.xz
ORIG_FILE=$(echo "${DSC_FILE}" | sed -e 's/-.*/.orig.tar.xz/')

rm -rf mesa
git clone --depth 1 https://gitlab.freedesktop.org/mesa/mesa

cd mesa
git fetch --depth 1 origin "${COMMIT##origin/}"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to quote all the variables. Only the variables that might have whitespaces or might be empty need to be quoted.


date=$(git log -1 --format=%cd --date=format:%Y%m%d "${COMMIT}")
subject=$(git log -1 --format="%h (\"%s\")" "${COMMIT}")
version=25.2.0~git${date}

rm -rf ../mesa-"${version}"
mkdir ../mesa-"${version}"
git archive --format=tar HEAD | tar x -C ../mesa-"${version}"

cd ../mesa-"${version}"

rm -rf debian
tar xJf "${DEB_FILE}"

cat >> debian/changelog.tmp << EOF
mesa (${version}-0qcom1) experimental; urgency=medium

* Build git version from ${date}, commit ${subject}

-- Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Wed, 11 Jun 2025 14:58:50 +0300

EOF
cat debian/changelog >> debian/changelog.tmp
mv debian/changelog.tmp debian/changelog

# orig.tar.xz generation skips all .git* files, drop them from the source dir too.
rm -rf .git*

debian/rules regen_control
debian/rules clean
debian/rules gentarball

rm -rf ../mesa

rm "${DSC_FILE}" "${DEB_FILE}" "${ORIG_FILE}"*
7 changes: 7 additions & 0 deletions overlay-debs/mesa-snapshot/mesa-snapshot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dsc_url: "https://snapshot.debian.org/archive/debian/20250519T203618Z/pool/main/m/mesa/mesa_25.1.0-1.dsc"
dsc_sha256sum: "d06c1b0ee300f096de2ac59a2e9583349ca79322612f4502baa5e78ff0be4290"
debdiff_file: "mesa_25.2.0.debdiff"
script: mesa-snapshot.sh
suite: trixie
env:
COMMIT: de1ce0f75e98f6fcdc8b7a7b495f54a2060a5896
Loading
Loading