# Introduction This repository contains some scripts that may be helpful for maintenance of stable and Long Term Support branches of the Linux kernel. # Prerequisites Install the following packages: - `python` - `python-requests` - `python-beautifulsoup4` # List of scripts - `find-orig-patch`: Finds the original patch email from a git commit. - `find-orig-series`: Finds the original patch series from a git commit. - `find-missing-prereqs`: Finds patches that were backported without previous patches in their original series also being backported. For more information, run each script with `--help`. If anything goes wrong, using the `--verbose` option might help diagnose it. There are also tests, which can be run using `run-tests.sh`. # Configuration Settings such as the location of the Linux git repo are defined by the `Config` in `stable_utils.py`. These settings can be overridden by creating a file `config.py`, in this directory, that contains a method `customize(config)`. For example, your `config.py` could contain: ``` import os def customize(config): config.linux_dir = os.getenv('HOME') + '/src/linux' ``` # Information sources These scripts use two sources of information: a local Linux git repo and a remote mailing list archive server. ## Linux git repo `config.linux_dir` must be a clone of Linux that contains: - Any git commit IDs that are explicitly specified in commands - A git ref `config.upstream` (default: `origin/master`) that refers to the latest mainline. This is used to check whether commits are "upstream". - The history going back at least to `config.start_of_history` (default: `v4.0`) ## lore.kernel.org `config.lore` (default: `https://lore.kernel.org`) must be a [public-inbox](https://public-inbox.org/README.html) server that archives the mailing lists that the patches for the git commits are sent to. The scripts query this server to find patches. These scripts make a large number of queries, so please don't run these scripts excessively. However, all responses are cached for `config.lore_cache_timeout` (default: 24 hours) in the `lore_cache` directory. So, redundant requests won't be made if e.g. a script is run multiple times with the same arguments.