prplos/scripts
Petr Štetiar ffd72408ac
scripts: gen_config.py: allow only use of Git hashes for feed revisions in profiles
In the current setup, YAML profiles for feed revision references can
only use weak Git tag-based references, like so in profiles/prpl.yml:

```yaml
 - name: feed_amx
   uri: https://gitlab.com/prpl-foundation/prplos/feeds/feed_amx.git
   revision: v11.9.0

 - name: feed_gmap
   uri: https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git
   revision: v1.7.2
```

Git tags can be mutable, meaning they can be changed or moved. This
introduces a risk where the reproducibility of builds cannot be
guaranteed. Therefore, relying solely on Git tags for referencing
revisions is not ideal.

To enhance the reproducibility and reliability of the builds, the feed
Git revision should support either of the following:

 1. Full Git SHA-1 hash of the Git object (a 40-character string).
 2. Human-readable reference like a Git tag, followed by an @ separator
    and then full (40-character) Git SHA

Examples of the currently only valid feed revisions:

```yaml
- name: feed_gmap
  uri: <https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git>
  revision: 178c8c0dea56bfe6e5f3d0af84be4b0156041291

- name: feed_gmap
  uri: <https://gitlab.com/prpl-foundation/prplos/feeds/feed_gmap.git>
  revision: v1.7.2@178c8c0dea56bfe6e5f3d0af84be4b0156041291
```

Closes: PCF-1388
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
2025-07-31 15:21:05 +00:00
..
config build: scripts/config - update to kconfig-v6.6.16 2024-03-01 19:02:00 +01:00
flashing
belkin-header.py realtek: scripts: fix error in belkin-header 2024-10-11 23:37:09 +02:00
brcmImage.pl
bundle-libraries.sh
cameo-imghdr.py
cameo-tag.py
cfe-bin-header.py
cfe-partition-tag.py
cfe-wfi-tag.py
check-toolchain-clean.sh
checkpatch.pl
checksec-format-output.py build: add support for checksec.sh based mitigation reports 2025-07-31 15:20:37 +00:00
checksec-mitigation-report.py build: add support for checksec.sh based mitigation reports 2025-07-31 15:20:37 +00:00
clean-package.sh
cleanfile
cleanpatch
combined-ext-image.sh
combined-image.sh
command_all.sh
config.guess scripts: config.guess: update to 2024-07-27 2024-09-28 22:48:47 +02:00
config.rpath
config.sub scripts: config.guess: update to 2024-07-27 2024-09-28 22:48:47 +02:00
const_structs.checkpatch
deptest.sh
diffconfig.sh
dl_cleanup.py scripts: add .tar.zst to dl_cleanup extensions 2024-04-06 17:07:32 +03:00
dl_github_archive.py scripts/dl_github_archive: use tar -I for ZSTD 2024-04-09 18:39:36 +02:00
download-check-artifact.sh scripts: download-check-artifact.sh: fix shellcheck and improve 2024-11-28 18:47:07 +00:00
download.pl Revert "scripts/download.pl: read file natively" 2024-10-27 15:58:16 +01:00
dump-target-info.pl scripts/dump-target-info.pl: add new function to DUMP devices 2023-11-15 10:59:23 +01:00
env
ext-toolchain.sh scripts/ext-toolchain: add missing libc library specs 2024-06-17 13:24:03 +02:00
ext-tools.sh
feeds backport: scripts/feeds: add a new command that allows generating a new feeds.conf 2025-07-31 10:36:15 +00:00
fixup-makefile.pl
functions.sh
gen_config.py scripts: gen_config.py: allow only use of Git hashes for feed revisions in profiles 2025-07-31 15:21:05 +00:00
gen_image_generic.sh
gen-dependencies.sh
get_source_date_epoch.sh build: add explicit --no-show-signature for git 2024-02-20 20:57:53 +01:00
getver.sh scripts: fix revision calculation using new "main" branch 2024-05-21 17:53:33 +02:00
ipkg-build scripts: fix installed-size calculation 2024-01-08 14:08:06 +01:00
ipkg-make-index.sh
ipkg-remove build: ipkg-remove: fix source name / package confusion, optimize 2025-07-17 10:46:39 +02:00
json_add_image_info.py
json_overview_image_info.py build: profiles.json: add kernel version information 2024-11-26 22:48:38 +00:00
kconfig-reorder.sh scripts: Add script to reorder kernel config-* files 2024-10-22 21:13:26 +02:00
kconfig.pl
kernel_bump.sh scripts/kernel_bump: Fix commit text formatting 2024-04-29 00:24:02 +02:00
linksys-image.sh scripts: linksys-image: add NAND devices 2024-10-22 10:10:17 +02:00
make-index-json.py package: rework contents of package index.json 2025-06-11 19:12:09 +02:00
make-ipkg-dir.sh
md5sum
metadata.pm packages: store URL in Manifest 2024-01-08 14:06:38 +01:00
mkhash.c
mkits-qsdk-ipq-image.sh
mkits-zyxel-fit-filogic.sh
mkits-zyxel-fit.sh
mkits.sh
moxa-encode-fw.py
netgear-encrypted-factory.py
noop.sh build: replace true with a custom noop script 2023-11-03 23:06:07 +01:00
om-fwupgradecfg-gen.sh
package-metadata.pl build: add explicit timezone in CycloneDX SBOM 2024-06-07 12:05:49 +02:00
pad_image
patch-kernel.sh build: fix shebang line 2024-02-28 12:31:33 +08:00
patch-specs.sh
portable_date.sh
projectsmirrors.json scripts/download.pl: detach mirror URLs from script file 2024-06-18 19:51:45 +02:00
prplos_version.sh scripts: prplos_version.sh: mark development version as 3.1.0 2025-07-31 15:18:14 +00:00
qemustart
redboot-script.pl
relink-lib.sh
remote-gdb
rstrip.sh scripts/rstrip.sh: ignore /lib/firmware 2024-01-22 13:01:31 +01:00
sercomm-crypto.py
sercomm-kernel-header.py
sercomm-partition-tag.py
sercomm-payload.py
sercomm-pid.py scripts: sercomm-pid.py: use uppercase hwid in pid 2023-11-25 01:11:18 +01:00
sign_images.sh
size_compare.sh
slugimage.pl
spelling.txt
srecimage.pl
strip-kmod.sh
symlink-tree.sh
sysupgrade-tar.sh
target-metadata.pl imagebuilder: exclude metadata for profiles that have no kernel 2025-05-10 12:12:26 +02:00
time.pl
timestamp.pl
ubinize-image.sh scripts: ubinize-image.sh: fix support for static volume 2024-04-24 02:32:22 +01:00
xxdi.pl