|
1 | 1 | # misc-files
|
2 |
| -Repository for miscellaneous files frequently overwritten by upstreams |
3 | 2 |
|
4 | 3 | [](https://github.com/AOSC-Dev/misc-files/actions/workflows/periodic-update.yml)
|
| 4 | + |
| 5 | +Repository for miscellaneous files frequently overwritten by upstreams. |
| 6 | + |
| 7 | +This repository is driven by the tracking list file `files.list` and utilizes GitHub Actions to keep files updated. Files in this repository are being used by the following packages: |
| 8 | + |
| 9 | +- `iana-etc`: |
| 10 | +- `bind` |
| 11 | + |
| 12 | +## `files.list` |
| 13 | + |
| 14 | +This file tells what file should be tracked by which package and renamed in the following format: |
| 15 | + |
| 16 | +``` |
| 17 | +package-name url [file-name] |
| 18 | +``` |
| 19 | + |
| 20 | +Example: |
| 21 | + |
| 22 | +``` |
| 23 | +bind https://www.internic.net/zones/named.root |
| 24 | +``` |
| 25 | + |
| 26 | +* package-name: The name of the package to which the file belongs |
| 27 | +* url: The URL to download the file from |
| 28 | +* file-name: Optional, will default to `$(basename $url)` if not provided |
| 29 | + |
| 30 | +## How the workflow works? |
| 31 | + |
| 32 | +The main workflow `periodic-update` is triggered under the following conditions: |
| 33 | + |
| 34 | +- Update `files.list` on branch `master` |
| 35 | +- Cron `"0 0 * * *"` |
| 36 | +- Manually triggered by maintainers |
| 37 | + |
| 38 | +When triggered, the workflow: |
| 39 | + |
| 40 | +1. Parses `files.list` to determine which files to download. |
| 41 | +2. Downloads and optionally renames each file, and calculates their checksums. |
| 42 | +3. If changes are detected: |
| 43 | + - Commits the updates directly to the `master` branch |
| 44 | + - Then syncs the updated files to their package-specific branch (e.g. `iana-etc`) |
| 45 | + - Tags the commit in that branch with the current date (e.g. `iana-etc-20250914`) |
| 46 | +4. If no changes are detected, the commit step is skipped and the workflow exits without further action. |
| 47 | + |
| 48 | +## License |
| 49 | + |
| 50 | +The workflow itself is licensed under the MIT License. All other files originated from external sources are subject to their respective upstream license. |
0 commit comments