Skip to content

Instantly share code, notes, and snippets.

@kwk
Created May 25, 2023 14:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kwk/9a2646b529b4859c0c3c7dc78566924a to your computer and use it in GitHub Desktop.
Save kwk/9a2646b529b4859c0c3c7dc78566924a to your computer and use it in GitHub Desktop.
Release: -tags in LLVM spec files for Fedora Rawhide over the last 13 years

I wanted to know how many times we've changes a Release: tag in any of the package spec files under the LLVM umbrella over the course of the last 13 years.

Here's the script I ran:

projects="clang llvm lldb lld python-lit mlir libomp"

(for y in {2023..2010}; do 
     for p in $projects; do
          rows=$(git -C ~/dev/llvm-rpms/$p-fedora \
               log \
               --patch \
               --since $y-01-01 \
               --until $y-12-31 \
          -- $p.spec 2>&1\
          | grep -ioP "\+Release:\s*\K[0-9]+" \
          | sort \
          | uniq -c\
          | sort -nr \
          | tr " " ":")
          for r in $rows; do
               echo -n "$p|$y|"
               echo "$r" | grep -ioP "[0-9].*" | tr ":" "|"
          done
     done
done) | column \
    -s '|' \
    -t \
    --table-name "Release" \
    --table-columns "project,year,occurences,Release:-tag" \
    -R 3,4 \
    -o "  "

The output can be seen in output.txt below.

Any Release: tag with a 1 essentially means we've upgraded to another LLVM release.

project year occurences Release:-tag
clang 2023 6 1
clang 2023 5 2
clang 2023 2 3
clang 2023 1 5
clang 2023 1 4
llvm 2023 5 2
llvm 2023 5 1
llvm 2023 2 3
lldb 2023 1 2
lldb 2023 1 1
lld 2023 2 2
lld 2023 1 1
clang 2022 6 2
clang 2022 6 1
clang 2022 4 3
clang 2022 3 4
clang 2022 2 6
clang 2022 2 5
clang 2022 1 7
llvm 2022 6 2
llvm 2022 6 1
llvm 2022 1 8
llvm 2022 1 3
lldb 2022 4 2
lldb 2022 4 1
lldb 2022 2 3
lld 2022 6 1
lld 2022 5 2
lld 2022 1 4
lld 2022 1 3
python-lit 2022 3 1
python-lit 2022 2 3
python-lit 2022 2 2
python-lit 2022 1 4
libomp 2022 4 2
libomp 2022 4 1
libomp 2022 1 3
clang 2021 6 2
clang 2021 6 1
clang 2021 4 3
clang 2021 2 4
clang 2021 1 5
llvm 2021 6 2
llvm 2021 6 1
llvm 2021 4 3
llvm 2021 2 7
llvm 2021 2 6
llvm 2021 2 5
llvm 2021 2 4
lldb 2021 3 1
lldb 2021 2 2
lld 2021 3 2
lld 2021 3 1
python-lit 2021 2 2
python-lit 2021 2 1
libomp 2021 3 1
libomp 2021 2 2
python-lit 2020 1 4
python-lit 2020 1 0
clang 2019 5 0
clang 2019 4 3
clang 2019 2 4
clang 2019 2 2
clang 2019 1 6
clang 2019 1 5
clang 2019 1 1
llvm 2019 5 0
llvm 2019 3 2
llvm 2019 2 8
llvm 2019 2 1
llvm 2019 1 7
llvm 2019 1 6
llvm 2019 1 5
llvm 2019 1 4
llvm 2019 1 3
lldb 2019 3 2
lldb 2019 3 1
lldb 2019 3 0
lld 2019 4 0
lld 2019 3 3
lld 2019 3 1
lld 2019 1 2
python-lit 2019 3 2
python-lit 2019 2 3
python-lit 2019 2 1
python-lit 2019 1 7
python-lit 2019 1 6
python-lit 2019 1 5
python-lit 2019 1 4
python-lit 2019 1 0
libomp 2019 2 2
libomp 2019 2 1
libomp 2019 2 0
clang 2018 26 0
clang 2018 5 2
clang 2018 4 3
clang 2018 4 1
clang 2018 2 5
clang 2018 2 4
clang 2018 1 9
clang 2018 1 8
clang 2018 1 7
clang 2018 1 6
clang 2018 1 10
llvm 2018 24 0
llvm 2018 4 1
llvm 2018 3 5
llvm 2018 3 3
llvm 2018 3 2
llvm 2018 2 6
llvm 2018 2 4
llvm 2018 1 9
llvm 2018 1 8
llvm 2018 1 7
llvm 2018 1 11
llvm 2018 1 10
lldb 2018 9 0
lldb 2018 4 2
lldb 2018 4 1
lldb 2018 2 3
lldb 2018 1 4
lld 2018 8 0
lld 2018 4 1
lld 2018 3 2
python-lit 2018 4 1
python-lit 2018 4 0
python-lit 2018 2 3
python-lit 2018 2 2
python-lit 2018 1 4
libomp 2018 6 0
libomp 2018 4 1
libomp 2018 2 3
libomp 2018 2 2
clang 2017 5 1
clang 2017 4 3
clang 2017 4 2
clang 2017 3 4
clang 2017 2 6
clang 2017 2 5
clang 2017 1 8
clang 2017 1 7
llvm 2017 5 1
llvm 2017 4 5
llvm 2017 4 4
llvm 2017 4 3
llvm 2017 3 6
llvm 2017 3 2
llvm 2017 1 8
lldb 2017 4 1
lldb 2017 3 4
lldb 2017 3 2
lldb 2017 2 3
lld 2017 3 1
lld 2017 2 4
lld 2017 2 3
lld 2017 2 2
python-lit 2017 2 2
python-lit 2017 2 1
libomp 2017 1 1
clang 2016 4 0
clang 2016 3 2
clang 2016 3 1
clang 2016 2 3
clang 2016 1 4
llvm 2016 3 4
llvm 2016 3 2
llvm 2016 3 1
llvm 2016 3 0
llvm 2016 2 7
llvm 2016 2 6
llvm 2016 2 5
llvm 2016 2 3
lldb 2016 3 2
lldb 2016 3 1
lldb 2016 3 0
lldb 2016 2 3
llvm 2015 2 2
llvm 2015 2 1
llvm 2015 1 9
llvm 2015 1 8
llvm 2015 1 7
llvm 2015 1 3
llvm 2015 1 11
llvm 2015 1 10
llvm 2014 2 6
llvm 2014 2 5
llvm 2014 2 4
llvm 2014 2 3
llvm 2014 2 2
llvm 2014 2 1
llvm 2014 1 9
llvm 2014 1 8
llvm 2014 1 7
llvm 2014 1 20
llvm 2014 1 19
llvm 2014 1 18
llvm 2014 1 17
llvm 2014 1 16
llvm 2014 1 15
llvm 2014 1 14
llvm 2014 1 13
llvm 2014 1 12
llvm 2014 1 11
llvm 2014 1 10
llvm 2013 9 0
llvm 2013 2 4
llvm 2013 2 3
llvm 2013 2 2
llvm 2013 2 1
llvm 2013 1 6
llvm 2013 1 5
llvm 2013 1 16
llvm 2013 1 15
llvm 2013 1 14
llvm 2013 1 13
llvm 2012 2 9
llvm 2012 2 8
llvm 2012 2 7
llvm 2012 2 6
llvm 2012 2 5
llvm 2012 2 4
llvm 2012 2 12
llvm 2012 2 11
llvm 2012 2 10
llvm 2012 1 3
llvm 2012 1 2
llvm 2012 1 13
llvm 2012 1 1
llvm 2011 7 0
llvm 2011 2 3
llvm 2011 2 2
llvm 2011 2 1
llvm 2011 1 7
llvm 2011 1 6
llvm 2011 1 5
llvm 2011 1 4
llvm 2010 2 5
llvm 2010 2 4
llvm 2010 2 3
llvm 2010 2 2
llvm 2010 2 1
llvm 2010 1 9
llvm 2010 1 8
llvm 2010 1 7
llvm 2010 1 6
llvm 2010 1 10
llvm 2010 1 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment