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 scripts: eva_ramboot.py: remove unused import 2021-10-30 15:00:22 +02:00
belkin-header.py realtek: scripts: fix error in belkin-header 2024-10-11 23:37:09 +02:00
brcmImage.pl
bundle-libraries.sh scripts: bundle-libraries.sh: fix broken SDK compiler 2020-11-02 08:39:49 +01:00
cameo-imghdr.py scripts: add cameo image header generator 2022-06-28 22:20:09 +02:00
cameo-tag.py scripts: fix CAMEO tag generator 2022-07-05 10:18:06 +02:00
cfe-bin-header.py scripts: cfe-bin-header: fix shebang 2020-05-19 08:05:22 +02:00
cfe-partition-tag.py scripts: format to black 2022-04-16 14:53:17 +02:00
cfe-wfi-tag.py scripts: format to black 2022-04-16 14:53:17 +02:00
check-toolchain-clean.sh check-toolchain-clean.sh: workaround stray rebuilds 2022-02-28 15:17:11 +01:00
checkpatch.pl scripts: fix various typos 2021-10-31 21:24:47 +01:00
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 build: Fix directory symlinks not removed when cleaning STAGING_DIR 2020-03-01 21:35:59 +01:00
cleanfile
cleanpatch
combined-ext-image.sh build: introduce $(MKHASH) 2021-05-13 15:13:15 +02:00
combined-image.sh build: introduce $(MKHASH) 2021-05-13 15:13:15 +02:00
command_all.sh treewide: drop use of which 2022-01-17 09:14:26 +01:00
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 scripts: add const_structs.checkpatch for checkpatch.pl 2020-11-18 21:50:58 +01:00
deptest.sh
diffconfig.sh scripts/diffconfig.sh: ensure config/conf is built 2022-02-26 13:36:30 +01:00
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 scripts/env: fix env for git conf init.defaultBranch not set to "master" 2021-11-13 10:29:41 -10:00
ext-toolchain.sh scripts/ext-toolchain: add missing libc library specs 2024-06-17 13:24:03 +02:00
ext-tools.sh scripts: ext-tools: add option to only refresh timestamps 2023-01-23 19:18:05 +01:00
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 fixup-makefile.pl: fixup when PKG_SOURCE is defined elsewhere 2018-07-05 01:30:57 +08:00
functions.sh images: Fix sysupgrade.tar for devices with NOR flash 2020-12-22 19:11:50 +01:00
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 scripts: gen_image_generic: allow the partition types to be set 2023-06-02 11:36:13 +02:00
gen-dependencies.sh scripts/gen-dependencies.sh: use /bin/sh 2020-01-01 17:01:02 +01:00
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 Revert "scripts: run ipkg-make-index through shellcheck" 2023-05-09 21:32:26 +02:00
ipkg-remove build: ipkg-remove: fix source name / package confusion, optimize 2025-07-17 10:46:39 +02:00
json_add_image_info.py build: fix generation of large .vdi images 2023-07-15 17:02:42 +02:00
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 scripts/kconfig.pl: allow regex syntax in filtering out config entries 2020-11-13 13:17:53 +01:00
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 mkhash: fix build errors on FreeBSD 13.0 2022-03-05 18:01:04 +01:00
mkits-qsdk-ipq-image.sh build: add helpers for generating QSDK sysupgrade compatible images 2019-02-25 17:36:16 +01:00
mkits-zyxel-fit-filogic.sh mediatek: add support for ZyXEL NWA50AX Pro 2023-07-21 20:28:13 +02:00
mkits-zyxel-fit.sh ramips: add support for ZyXEL NWA50AX / NWA55AXE 2022-07-20 21:52:06 +02:00
mkits.sh scripts/mkits.sh: DT overlays don't need a loadaddr 2023-07-12 19:02:08 +01:00
moxa-encode-fw.py ath79: Add support for MOXA AWK-1137C 2023-06-25 12:59:26 +02:00
netgear-encrypted-factory.py image: add additional fields to Netgear encrypted image 2023-07-01 14:42:11 +02:00
noop.sh build: replace true with a custom noop script 2023-11-03 23:06:07 +01:00
om-fwupgradecfg-gen.sh build: introduce $(MKHASH) 2021-05-13 15:13:15 +02:00
package-metadata.pl build: add explicit timezone in CycloneDX SBOM 2024-06-07 12:05:49 +02:00
pad_image scripts: fix various typos 2021-10-31 21:24:47 +01:00
patch-kernel.sh build: fix shebang line 2024-02-28 12:31:33 +08:00
patch-specs.sh toolchain: Add GCC 9.1.0 release 2019-06-16 16:40:08 +02:00
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 scripts: qemustart: Fix x86/legacy bootup 2023-08-14 23:37:04 +02:00
redboot-script.pl
relink-lib.sh
remote-gdb Fix handling of BUILD_SUFFIX in remote-gdb script 2019-09-01 18:38:05 +02:00
rstrip.sh scripts/rstrip.sh: ignore /lib/firmware 2024-01-22 13:01:31 +01:00
sercomm-crypto.py scripts: support Sercomm crypto 2020-06-02 08:37:54 +02:00
sercomm-kernel-header.py scripts: sercomm-kernel-header.py: improve compatibility 2023-06-11 13:36:38 +08:00
sercomm-partition-tag.py scripts: support Sercomm partition tags 2020-06-02 08:33:11 +02:00
sercomm-payload.py scripts: sercomm-payload: add PID file support 2023-04-09 09:55:57 +02:00
sercomm-pid.py scripts: sercomm-pid.py: use uppercase hwid in pid 2023-11-25 01:11:18 +01:00
sign_images.sh scripts: fix various typos 2021-10-31 21:24:47 +01:00
size_compare.sh scripts: size_compare: print a grand total 2023-02-03 21:22:49 +01:00
slugimage.pl scripts: fix various typos 2021-10-31 21:24:47 +01:00
spelling.txt scripts: add spelling.txt for checkpatch.pl 2020-11-12 18:21:55 +01:00
srecimage.pl
strip-kmod.sh scripts/strip-kmod.sh: harmonize leading whitespaces 2019-12-31 11:41:07 +01:00
symlink-tree.sh scripts/symlink-tree.sh: use /bin/sh 2019-12-31 11:43:15 +01:00
sysupgrade-tar.sh images: fix boot failures on NAND with small sub pages 2019-09-14 11:43:19 +02:00
target-metadata.pl imagebuilder: exclude metadata for profiles that have no kernel 2025-05-10 12:12:26 +02:00
time.pl scripts: time.pl: Don't print the time on stderr 2019-07-03 07:45:00 +02:00
timestamp.pl
ubinize-image.sh scripts: ubinize-image.sh: fix support for static volume 2024-04-24 02:32:22 +01:00
xxdi.pl scripts: xxdi.pl: add xxd -i compat mode 2022-09-06 08:04:53 +02:00