| 
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 | +  - `/usr/share/iana-etc/port-numbers.iana`  | 
 | 11 | +  - `/usr/share/iana-etc/protocol-numbers.iana`  | 
 | 12 | +- `bind` (Not currently referenced by autobuild scripts)  | 
 | 13 | + | 
 | 14 | +## `files.list`  | 
 | 15 | + | 
 | 16 | +This file tells what file should be tracked by which package and renamed in the following format:  | 
 | 17 | + | 
 | 18 | +```  | 
 | 19 | +package-name url [file-name]  | 
 | 20 | +```  | 
 | 21 | + | 
 | 22 | +Example:  | 
 | 23 | + | 
 | 24 | +```  | 
 | 25 | +bind https://www.internic.net/zones/named.root  | 
 | 26 | +```  | 
 | 27 | + | 
 | 28 | +* package-name: The name of the package to which the file belongs  | 
 | 29 | +* url: The URL to download the file from  | 
 | 30 | +* file-name: Optional, will default to `$(basename $url)` if not provided  | 
 | 31 | + | 
 | 32 | +## How the workflow works?  | 
 | 33 | + | 
 | 34 | +The main workflow `periodic-update` is triggered under the following conditions:  | 
 | 35 | + | 
 | 36 | +- Update `files.list` on branch `master`  | 
 | 37 | +- Cron `"0 0 * * *"`  | 
 | 38 | +- Manually triggered by maintainers  | 
 | 39 | + | 
 | 40 | +When triggered, the workflow:  | 
 | 41 | + | 
 | 42 | +1. Parses `files.list` to determine which files to download.  | 
 | 43 | +2. Downloads each file, optionally renames each file, and calculates its checksums.  | 
 | 44 | +3. If changes are detected:  | 
 | 45 | +   - Commits the updates directly to the `master` branch  | 
 | 46 | +   - Then syncs the updated files to their package-specific branch (e.g. `iana-etc`)  | 
 | 47 | +   - Tags the commit in that branch with the current date (e.g. `iana-etc-20250914`)  | 
 | 48 | +4. If no changes are detected, the commit step is skipped and the workflow exits without further action.  | 
 | 49 | + | 
 | 50 | +## License  | 
 | 51 | + | 
 | 52 | +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