summaryrefslogtreecommitdiff
path: root/bin
AgeCommit message (Collapse)AuthorFilesLines
2018-11-15bin/get-pick-list.sh: handle reverts prior to the branchpointEmil Velikov1-1/+8
Currently we detect when a breaking commit: - has landed in stable, and - is referenced by a untagged fix in master Yet we did not consider the case of breaking commit: - prior to the branchpoint, and - is referenced by a untagged fix in master Addressing the latter is extremely slow, due to the size of the lookup. That said, we can trivially use the existing is_sha_nomination() helper to catch reverts. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: use test instead of [ ]Emil Velikov1-4/+4
Latter is rather picky wrt surrounding white space. The explicit `test` doesn't have that problem, plus the statements read a bit easier. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: handle unofficial "broken by" tagEmil Velikov1-1/+8
We have a number of cases were devs will use a tag "broken by". While it's not something officially documented or recommended, checking for it is trivial enough. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: handle fixes tag with missing colonEmil Velikov1-1/+5
Every so often, we forget to add the colon after "fixes". Trivially tweak the script to catch it. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: flesh out is_sha_nominationEmil Velikov1-2/+9
Refactor is_fixes_nomination into a is_sha_nomination helper. This way we can reuse it for more than the usual "Fixes:" tag. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: tweak the commit sha matching patternEmil Velikov1-1/+1
Currently we match on: - any arbitrary length of, - any a-z A-Z and 0-9 characters At the same time, a commit sha consists of lowercase hexadecimal numbers. Any sha shorter than 8 characters is ambiguous - in some cases even 11+ are required. So change the pattern to a-f0-9 and adjust the length to 8-40. As we're here we could use a single grep, instead of the grep/sed combo. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: handle the fixes tagEmil Velikov2-84/+43
Having a separate script to handle the fixes tag, brings a number of issues, so let's fold it in get-pick-list.sh. v2: - pass the sha as argument to the function - Keep original sed pattern Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: handle "typod" usecase.Emil Velikov2-43/+8
As the comment in get-typod-pick-list.sh says, there's little point in having a duplicate file. Add the new pattern + tag to get-pick-list.sh and nuke this file. v2: - pass the sha as argument to the function - grep -q instead of using a variable (Eric) Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: prefix output with "[stable] "Emil Velikov1-0/+15
With later commits we'll fold all the different scripts into one. Add the explicit prefix, so that we know the origin of the nomination v2: - pass the sha as argument to the function - swap $tag = none for an else statment (Juan) - grep -q instead of using a variable (Eric) - print the tag and commit oneline separately (Eric) v3: - drop unused "tag=none" assignment (Juan) - typo nomination Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> (v2) Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-11-15bin/get-pick-list.sh: simplify git oneline printingEmil Velikov1-1/+1
Currently we force disable the pager via "|cat" where --no-pager exists. Additionally we could use git show instead of git log -n1. Use those for a slightly more understandable code. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Juan A. Suarez <jasuarez@igalia.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2018-08-23bin/git_sha1_gen.py: remove execute bit/shebangEmil Velikov1-2/+0
The script is executed explicitly via the build system, that uses PYTHON/prog_python and equivalent. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-08-23bin/install_megadrivers.py: Remove shebang and executable bitMathieu Bridon1-1/+0
Since the script is never executed directly, but launched by Meson as an argument to the Python interpreter, those are not needed any more. In addition, they are the reason this script was missed when I moved the Meson buildsystem to Python 3, so removing them helps avoiding future confusion. Reviewed-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-08-16bin: always define MESA_GIT_SHA1 to make it directly usable in codeEric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-08-16git_sha1: simplify logicEric Engestrom1-5/+1
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-08-16bin: split `write_if_different()` outEric Engestrom1-7/+14
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-08-16bin: whitespace cleanupEric Engestrom1-3/+3
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-08-06meson, install_megadrivers: Also remove stale symlinksGert Wollny1-2/+4
os.path.exists doesn't return True for stale symlinks, but they are in the way later, when a link/file with the same name is to be created. For instance it is conceivable that the pointed to file is replaced by a file with a new name, and then the symlink is dead. To handle this check specifically for all existing symlinks to be removed. (This bugged me for some time with a link libXvMCr600.so always being in the way of installing this file) v2: use only os.lexist and replace all instances of os.exist (Dylan Baker) v3: handle directory check correctly (Eric Engestrom) Fixes: f7f1b30f81e842db6057591470ce3cb6d4fb2795 ("meson: extend install_megadrivers script to handle symmlinking") Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>(v2 minus dir check) Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
2018-05-23bin/get-pick-listh.sh: force git --pretty=mediumDylan Baker1-1/+1
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Andres Gomez <agomez@igalia.com>
2018-05-23bin/bugzilla_mesa.sh: explicitly set the --pretty argumentDylan Baker1-1/+1
Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Andres Gomez <agomez@igalia.com>
2018-04-27bin: force git show to use default pretty settingDylan Baker1-2/+2
I have pretty default to short, which breaks this script. v2: - Fix both places that don't define a --pretty (Emil) cc: Juan A. Suarez <jasuarez@igalia.com> Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-by: Andres Gomez <agomez@igalia.com> (v1) Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-04-23bin/install_megadrivers: rename a few variables to make things clearerDylan Baker1-8/+8
Originally the "each" variable was just a part of the "drivers" variable. It's not anymore so it's a bit ambiguous. Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2018-04-23bin/install_megadrivers: fix DESTDIR and -D*-pathDylan Baker1-2/+6
This fixes -Ddri-drivers-path, -Dvdpau-libs-path, etc. with DESTDIR when those paths are absolute. Currently due to the way python's os.path.join handles absolute paths these will ignore DESTDIR, which is bad. This fixes them to be relative to DESTDIR if that is set. Fixes: 3218056e0eb375eeda470058d06add1532acd6d4 ("meson: Build i965 and dri stack") Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
2018-04-05meson: fix megadriver symlinkingDylan Baker1-1/+1
Which should be relative instead of absolute. Fixes: f7f1b30f81e842db6057591470ce3cb6d4fb2795 ("meson: extend install_megadrivers script to handle symmlinking") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105567 Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-and-Tested-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-12-04meson: extend install_megadrivers script to handle symmlinkingDylan Baker1-0/+14
Which is required for the gallium media state trackers. v2: - Make symlinks local instead of absolute Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-11-09meson: Add script to use VERSION file for getting versionDylan Baker1-0/+35
Meson has up until this point set it's version in the root meson.build script, while the other build systems read the VERSION file. This is just "one more thing" to duplicate between meson and every other build system. This script is a simple "read, strip, print" sort of deal to allow meson to read the VERSION file. I chose to implement this in python since python is portable, and to keep the meson.build script clean. This is also complicated by the fact that the project() call *must* be the first non-comment,non-blank in the toplevel meson.build script. v2: - Move from scripts/ to bin/ - use python explicitly to run the scripts to support windows Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-10-30git_sha1_gen: create empty file in fallback pathEric Engestrom1-0/+2
I missed this part in my conversion, the old stream redirection meant the file was always created. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103496 Fixes: 7088622e5fb506b64c90 "buildsys: move file regeneration logic to the script itself" Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-27meson: bring MESA_GIT_SHA1 in line with other build systemsEric Engestrom1-0/+21
Meson's vcs_tag() uses the output of `git describe`, eg. 17.3-branchpoint-5-gfbf29c3cd15ae831e249+ Whereas the other build systems used a script that outputs only the sha1 of the HEAD commit, eg. fbf29c3cd1 Given that this information is used by printing it next to the version number, there's some redundancy here, and inconsistency between build systems. Bring Meson in line by making it use the same script, with the added advantage of now supporting the MESA_GIT_SHA1_OVERRIDE env var. Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-27buildsys: move file regeneration logic to the script itselfEric Engestrom1-1/+12
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-26install_megadrivers: print the full path with driver nameDylan Baker1-1/+1
Instead of just the path. Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-10-16git_sha1_gen: use git_sha1.h.in on all build systemsEric Engestrom1-1/+4
Meson already uses this, let's get the other build sys to use it too. Note: rstrip() was dropped, as truncating to the first 10 chars already gets rid of the terminating newline (not an issue with the env var either, unless maliciously crafted to break the build... not sure this is a real-world issue). Verified to work and give the same output as before on both python 2 and 3 :) Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2017-10-10git_sha1_gen: accept MESA_GIT_SHA1_OVERRIDE env varBrian Paul1-13/+26
If one uses a parent build script to download/build Mesa we may not have a full git repository (maybe a tar archive) so the 'git rev-parse' command will fail. This updates the script to look for a MESA_GIT_SHA1_OVERRIDE env var. If it's set, use that sha1 instead of using git rev-parse. With this change we can put a git hash in the GL_VERSION string even when we don't have a git repo. v2: incorporate Dylan's suggestions to simplify the code Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2017-10-09meson: Build i965 and dri stackDylan Baker1-0/+55
This gets pretty much the entire classic tree building, as well as i965, including the various glapis. There are some workarounds for bugs that are fixed in meson 0.43.0, which is due out on October 8th. I have tested this with piglit using glx. v2: - fix typo "vaule" -> "value" - use gtest dep instead of linking to libgtest (rebase error) - use gtest dep instead of linking against libgtest (rebase error) - copy the megadriver, then create hard links from that, then delete the megadriver. This matches the behavior of the autotools build. (Eric A) - Use host_machine instead of target_machine (Eric A) - Put a comment in the right place (Eric A) - Don't have two variables for the same information (Eric A) - Put pre_args at top of file in this patch (Eric A) - Fix glx generators in this patch instead of next (Eric A) - Remove -DMESON hack (Eric A) - add sha1_h to mesa in this patch (Eric A) - Put generators in loops when possible to reduce code in mapi/glapi/gen (Eric A) v3: - put HAVE_X11_PLATFORM in this patch Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2017-09-25git_sha1_gen: fix output on python3Eric Engestrom1-1/+1
String handling has changed on python3. Before this patch, on python3: #define MESA_GIT_SHA1 "git-b'b99dcbfeb3'" After: #define MESA_GIT_SHA1 "git-b99dcbfeb3" (No change on python2, it always looked ok) Cc: Jose Fonseca <jfonseca@vmware.com> Fixes: b99dcbfeb344390fea99 "build: Convert git_sha1_gen script to Python." Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2017-08-02git_sha1_gen: catch any error the same wayEric Engestrom1-5/+2
Acked-by: Jose Fonseca <jfonseca@vmware.com> Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-08-02build: Don't bail on OSError in git_sha1_gen.pyTobias Klausmann1-0/+3
When building sandboxed, we may encounter additional errors. Ignore the errors, as we are in a constrained environment. This can be observed when building latest git with OBS. Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-08-01build: Convert git_sha1_gen script to Python.Jose Fonseca2-12/+20
Python is the scripting language we've been using for scripts that need to run across all supported platforms. Shell is *not* a portable language for scripts. Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-07-06build systems: move git_sha1_gen.sh to bin/Eric Engestrom1-0/+12
There was no reason for this script to live outside the scripts directory. Suggested-by: Brian Paul <brianp@vmware.com> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Brian Paul <brianp@vmware.com>
2017-06-15bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tagsAndres Gomez1-4/+7
We were not considering as multiple fixes lines with: Fixes: $sha_1, Fixes: $sha_2 Now, we split the lines so we will consider them individually, as in: Fixes: $sha_1, Fixes: $sha_2 Additionally, we try to get the SHA from split lines so: Fixes: $sha_1 Will be considered as: Fixes: $sha_1 v2: - Treat empty spaces earlier in fix lines (Emil) - Fold 2 lines into one to gather fix commit ids (Emil) Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Emil Velikov <emli.velikov@collabora.com>
2017-06-15bin/get-fixes-pick-list.sh: parse just the commit messageAndres Gomez1-2/+2
We were parsing the whole diff, although the candidates were identified only by the commit message. Now, we only use the commit message for parsing. Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Emil Velikov <emli.velikov@collabora.com>
2017-05-13bin/get-fixes-pick-list.sh: bring back the warningAndres Gomez1-7/+13
We warn again if there are more than one line with the "fixes:" tag. The warning is silenced when the commit has already landed or each fixes tag reference a commit that is in branch. v2: - Warn if any of the fixes tags has not landed (Emil) v3: - Remove unnecessary head command - Clarify commit message (Emil) - Skip already picked commits sooner (Emil) Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-09bin/*py: honor editorconfig formattingAndres Gomez1-2/+2
Replace the two stray tabs with respective space. Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-09bin: use tabs for coding style on *.sh filesAndres Gomez1-2/+1
v2: Instead of changing *.sh, adapt the editorconfig file (Emil). Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-05-08bin/get-fixes-pick-list.sh: don't warn if more than one, go over themAndres Gomez1-25/+26
If an identified commit was having more than one fix, we would warn about that and only treat the first. Now, we don't warn but treat all of them. Signed-off-by: Andres Gomez <agomez@igalia.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2017-04-20bin/get-{extra,fixes}-pick-list.sh: improve outputJuan A. Suarez Romero2-3/+8
Show the commit hash and the title in a way that it is easier to copy and paste in the bin/.cherry-ignore-extra file if we want to ignore those commits for the future. v2: - Use printf instead echo (Eric Engestrom) Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-04-20bin/get-{extra,fixes}-pick-list.sh: add support for ignore listJuan A. Suarez Romero2-0/+13
Both scripts does not use a file with the commits to ignore. So if we have handled one of the suggested commits and decided we won't pick it, the scripts will continue suggesting them. v2: - Mark the candidates in bin/get-extra-pick-list.sh (Juan A. Suarez) - Use bin/.cherry-ignore to store rejected patches (Emil) Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-04-04bin/get-fixes-pick-list.sh: fix typoJuan A. Suarez Romero1-1/+1
Replace "nore" by "more". Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-03-10bin/get-fixes-pick-list.sh: do not mandate bashEmil Velikov1-1/+1
Silly thinko on my end, as I was writing the script. There is nothing bash specific in there. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-03-10bin/shortlog_mesa.sh: remove the final bashismEmil Velikov1-2/+2
Remove the typeset built-in and toggle to /bin/sh Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-03-10bin/bugzilla_mesa.sh: rework the looping methodEmil Velikov1-26/+12
We don't use DRYRUN (and no others scripts have one) so just drop it. This allows us to rework the loop to the more commonly used "git .... | while read foo; do ... done" That in itself gets rid of the only remaining bashism and we can toggle the shebang to /bin/sh. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-03-10bin/perf-annotate-jit: add .py suffixEmil Velikov1-0/+0
To provide direct feedback about the file in question. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>