Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sort project.refs #1857

Open
AdrianVovk opened this issue Aug 7, 2023 · 5 comments
Open

Sort project.refs #1857

AdrianVovk opened this issue Aug 7, 2023 · 5 comments

Comments

@AdrianVovk
Copy link
Contributor

project.refs is currently unsorted. This makes checking the file into git quite cumbersome. It would be nice if buildstream could sort the keys by element name before writing the project.refs file, so that we could get cleaner git diffs out of an invocation of bst source track **.bst

@AdrianVovk
Copy link
Contributor Author

For now, the work around is to use a script like this from a git pre-commit hook:

#!/usr/bin/env python3
import sys
import pathlib
from ruamel.yaml import YAML

path = pathlib.Path("project.refs")
yaml = YAML()
refs = yaml.load(path)
refs["projects"]["carbonOS"] = dict(sorted(refs["projects"]["carbonOS"].items()))
yaml.dump(refs, path)

However, this isn't ideal because:

  1. pre-commit hooks aren't necessarily going to be installed
  2. pre-commit hooks mutate commits in potentially unpredictable ways, which can easily mess with things like rebases, git add -p, etc.

@nanonyme
Copy link
Contributor

nanonyme commented Jan 5, 2024

Wouldn't this actually lead to worse diffs compared to insertion order which should be the case right now?

@AdrianVovk
Copy link
Contributor Author

If you delete your project.refs file on every re-track (like carbonOS does), no absolutely not. It ensures that project.refs is in a stable order, which makes diffing possible in the first place. Otherwise each re-track will be in an order that's determined by which elements finished downloading first, which is essentially random and un-diffable

If you don't delete project.refs on every re-track (i.e. you preserve insertion order), I wouldn't say it leads to worse diffs. Instead of each package's ref being inserted/removed from the end of the list, it might be inserted/removed/updated somewhere in the middle

@AdrianVovk
Copy link
Contributor Author

AdrianVovk commented Jan 5, 2024

(and you probably should delete project.refs and re-create whenever you bst source track **.bst, because otherwise deleting an element will never end up deleting the project.refs entry for that element and you project.refs will be nonsensically large)

proejct.refs is essentially equivalent to the .lock files produced by most languages' package managers. As far as I can tell, these usually sort things in alphabetical order for the same reason

And just compare the diffs before/after I added sorting to carbonOS:

Before (full commit, just grep for a/project.refs)
diff --git a/project.refs b/project.refs
index d1344360..e851011c 100644
--- a/project.refs
+++ b/project.refs
@@ -1,454 +1,596 @@
 projects:
   carbonOS:
+    pkgs/basic-config.bst:
+    - {}
+    - {}
+    - {}
+    pkgs/bc.bst:
+    - ref: 6.6.0-0-g86882e0f409ede840124e0d642c6bd19137dab61
     pkgs/pkg-config.bst:
-    - ref: pkgconf-1.9.4-0-g873e51aaae96bbb016bc7e89fbab61e422c15bad
+    - ref: pkgconf-1.9.5-0-g094dc384688a506a03f578f35501d4d638c1fad4
+    pkgs/zlib.bst:
+    - ref: v1.2.13-0-g04f42ceca40f73e2978b50e93806c2a18c1281fc
+    pkgs/curl.bst:
+    - ref: curl-8_2_0-0-g98044e81705dc24a56daaf3544f30c13f0fc3a31
+    pkgs/less.bst:
+    - ref: v643-0-gdba9042ddb84ecb6a0570b7277ddedd31336f5f2
+    pkgs/openssl.bst:
+    - ref: openssl-3.1.1-0-g2cf4e90eaaf7402bf038b158dbdacd0a15561fb7
     pkgs/glibc.bst:
-    - ref: f3991fec8071dbcf3ec9f13a91c738b66fcd4159
+    - ref: c36912f08335ce28ccff963a60853a4035273b34
     - {}
+    pkgs/diffutils.bst:
+    - url: https://ftpmirror.gnu.org/gnu/diffutils/diffutils-3.10.tar.xz
+      sha256sum: 90e5e93cc724e4ebe12ede80df1634063c7a855692685919bfe60b556c9bd09e
+    pkgs/bash.bst:
+    - url: https://ftpmirror.gnu.org/gnu/bash/bash-5.2.15.tar.gz
+      sha256sum: 13720965b5f4fc3a0d4b61dd37e7565c741da9a5be24edc2ae00182fc1b3588c
     pkgs/gzip.bst:
     - url: https://ftpmirror.gnu.org/gnu/gzip/gzip-1.12.tar.xz
       sha256sum: ce5e03e519f637e1f814011ace35c4f87b33c0bbabeec35baf5fbd3479e91956
-    pkgs/diffutils.bst:
-    - url: https://ftpmirror.gnu.org/gnu/diffutils/diffutils-3.9.tar.xz
-      sha256sum: d80d3be90a201868de83d78dad3413ad88160cc53bcc36eb9eaf7c20dbf023f1
     pkgs/readline.bst:
     - url: https://ftpmirror.gnu.org/gnu/readline/readline-8.2.tar.gz
       sha256sum: 3feb7171f16a84ee82ca18a36d7b9be109a52c04f492a053331d7d1095007c35
     pkgs/findutils.bst:
     - url: https://ftpmirror.gnu.org/gnu/findutils/findutils-4.9.0.tar.xz
       sha256sum: a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe
-    pkgs/grep.bst:
-    - url: https://ftpmirror.gnu.org/gnu/grep/grep-3.10.tar.xz
-      sha256sum: 24efa5b595fb5a7100879b51b8868a0bb87a71c183d02c4c602633b88af6855b
-    pkgs/acl.bst:
-    - ref: v2.3.1-0-g752c182706e2535fb4e482b25331177ebbddd2bb
-    pkgs/attr.bst:
-    - ref: v2.5.1-0-gfb7e6bacbd9c7b1b9c452b7356a3d5e5a6163366
-    pkgs/bash.bst:
-    - url: https://ftpmirror.gnu.org/gnu/bash/bash-5.2.15.tar.gz
-      sha256sum: 13720965b5f4fc3a0d4b61dd37e7565c741da9a5be24edc2ae00182fc1b3588c
-    pkgs/ncurses.bst:
-    - url: https://ftpmirror.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz
-      sha256sum: 6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159
-    pkgs/bzip2.bst:
-    - ref: bzip2-1.0.8-0-g6a8690fc8d26c815e798c588f796eabe9d684cf0
     pkgs/sed.bst:
     - url: https://ftpmirror.gnu.org/gnu/sed/sed-4.9.tar.xz
       sha256sum: 6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181
-    pkgs/gettext.bst:
-    - url: https://ftpmirror.gnu.org/gnu/gettext/gettext-0.21.1.tar.xz
-      sha256sum: 50dbc8f39797950aa2c98e939947c527e5ac9ebd2c1b99dd7b06ba33a6767ae6
-    pkgs/zlib.bst:
-    - ref: v1.2.13-0-g04f42ceca40f73e2978b50e93806c2a18c1281fc
+    pkgs/attr.bst:
+    - ref: v2.5.1-0-gfb7e6bacbd9c7b1b9c452b7356a3d5e5a6163366
+    pkgs/acl.bst:
+    - ref: v2.3.1-0-g752c182706e2535fb4e482b25331177ebbddd2bb
+    pkgs/linux/headers.bst:
+    - ref: v6.4.4-0-g62813c2d2a3617a289397582b2db3db9f97111ee
     pkgs/file.bst:
     - ref: FILE5_44-0-gb92eed41b1bc0739c5c5d70c444e0c574429321b
-    pkgs/gawk.bst:
-    - url: https://ftpmirror.gnu.org/gnu/gawk/gawk-5.2.1.tar.xz
-      sha256sum: 673553b91f9e18cc5792ed51075df8d510c9040f550a6f74e09c9add243a7e4f
+    pkgs/xz.bst:
+    - ref: v5.4.3-0-g238b4e5458b4bd2cadefb768b8ea7c6b70a191ac
+    pkgs/gettext.bst:
+    - url: https://ftpmirror.gnu.org/gnu/gettext/gettext-0.22.tar.xz
+      sha256sum: 0e60393a47061567b46875b249b7d2788b092d6457d656145bb0e7e6a3e26d93
+    pkgs/bzip2.bst:
+    - ref: bzip2-1.0.8-0-g6a8690fc8d26c815e798c588f796eabe9d684cf0
+    pkgs/grep.bst:
+    - url: https://ftpmirror.gnu.org/gnu/grep/grep-3.11.tar.xz
+      sha256sum: 1db2aedde89d0dea42b16d9528f894c8d15dae4e190b59aecc78f5a951276eab
+    pkgs/flex.bst:
+    - ref: e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995
+    pkgs/coreutils.bst:
+    - url: https://ftpmirror.gnu.org/gnu/coreutils/coreutils-9.3.tar.xz
+      sha256sum: adbcfcfe899235b71e8768dcf07cd532520b7f54f9a8064843f8d199a904bbaa
     pkgs/elfutils.bst:
     - ref: elfutils-0.189-0-g67a187d4c1790058fc7fd218317851cb68bb087c
-    pkgs/coreutils.bst:
-    - url: https://ftpmirror.gnu.org/gnu/coreutils/coreutils-9.2.tar.xz
-      sha256sum: 6885ff47b9cdb211de47d368c17853f406daaf98b148aaecdf10de29cc04b0b3
-    pkgs/xz.bst:
-    - ref: v5.4.2-0-g6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8
-    pkgs/dwz.bst:
-    - ref: dwz-0.15-0-g449844d889dce4fe23d47533d2b0cea13cb37126
-    pkgs/debugedit.bst:
-    - ref: debugedit-5.0-0-gd7b6cb2a2a81e7896de7cb5e0389a34b5ad91b82
-    - {}
-    pkgs/cpio.bst:
-    - url: https://ftpmirror.gnu.org/gnu/cpio/cpio-2.13.tar.gz
-      sha256sum: e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88
     pkgs/xxhash.bst:
     - ref: v0.8.1-0-g35b0373c697b5f160d3db26b1cbb45a0d5ba788c
-    pkgs/help2man.bst:
-    - url: https://ftpmirror.gnu.org/gnu/help2man/help2man-1.49.3.tar.xz
-      sha256sum: 4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f
+    pkgs/gawk.bst:
+    - url: https://ftpmirror.gnu.org/gnu/gawk/gawk-5.2.2.tar.xz
+      sha256sum: 3c1fce1446b4cbee1cd273bd7ec64bc87d89f61537471cd3e05e33a965a250e9
+    pkgs/tar.bst:
+    - url: https://ftpmirror.gnu.org/gnu/tar/tar-1.35.tar.xz
+      sha256sum: 4d62ff37342ec7aed748535323930c7cf94acf71c3591882b26a7ea50f3edc16
+    pkgs/which.bst:
+    - url: https://ftpmirror.gnu.org/gnu/which/which-2.21.tar.gz
+      sha256sum: f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad
     pkgs/gmp.bst:
     - url: https://ftpmirror.gnu.org/gnu/gmp/gmp-6.2.1.tar.xz
       sha256sum: fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2
-    pkgs/curl.bst:
-    - ref: curl-8_0_1-0-gb16d1fa8ee567b52c09a0f89940b07d8491b881d
+    pkgs/dwz.bst:
+    - ref: dwz-0.15-0-g449844d889dce4fe23d47533d2b0cea13cb37126
+    pkgs/help2man.bst:
+    - url: https://ftpmirror.gnu.org/gnu/help2man/help2man-1.49.3.tar.xz
+      sha256sum: 4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f
+    pkgs/cpio.bst:
+    - url: https://ftpmirror.gnu.org/gnu/cpio/cpio-2.14.tar.gz
+      sha256sum: 145a340fd9d55f0b84779a44a12d5f79d77c99663967f8cfa168d7905ca52454
+    pkgs/debugedit.bst:
+    - ref: debugedit-5.0-0-gd7b6cb2a2a81e7896de7cb5e0389a34b5ad91b82
+    - {}
     pkgs/m4.bst:
     - url: https://ftpmirror.gnu.org/gnu/m4/m4-1.4.19.tar.xz
       sha256sum: 63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96
+    pkgs/ncurses.bst:
+    - url: https://ftpmirror.gnu.org/gnu/ncurses/ncurses-6.4.tar.gz
+      sha256sum: 6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159
     pkgs/mpfr.bst:
     - url: https://ftpmirror.gnu.org/gnu/mpfr/mpfr-4.2.0.tar.xz
       sha256sum: 06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993
-    pkgs/mpc.bst:
-    - url: https://ftpmirror.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz
-      sha256sum: ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
     pkgs/binutils.bst:
     - url: https://ftpmirror.gnu.org/gnu/binutils/binutils-2.40.tar.xz
       sha256sum: 0f8a4c272d7f17f369ded10a4aca28b8e304828e95526da482b0ccc4dfc9d8e1
-    pkgs/tar.bst:
-    - url: https://ftpmirror.gnu.org/gnu/tar/tar-1.34.tar.xz
-      sha256sum: 63bebd26879c5e1eea4352f0d03c991f966aeb3ddeb3c7445c902568d5411d28
-    pkgs/gdb/micro.bst:
-    - url: https://ftpmirror.gnu.org/gnu/gdb/gdb-13.1.tar.xz
-      sha256sum: 115ad5c18d69a6be2ab15882d365dda2a2211c14f480b3502c6eba576e2e95a0
-    pkgs/which.bst:
-    - url: https://ftpmirror.gnu.org/gnu/which/which-2.21.tar.gz
-      sha256sum: f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad
+    pkgs/mpc.bst:
+    - url: https://ftpmirror.gnu.org/gnu/mpc/mpc-1.3.1.tar.gz
+      sha256sum: ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8
+    pkgs/perl/all.bst:
+    - ref: v5.38.0-0-g76298ae68aa7796f0ffc05095b127d23f4b2de8f
     pkgs/autoconf-archive.bst:
     - url: 
         https://ftpmirror.gnu.org/gnu/autoconf-archive/autoconf-archive-2023.02.20.tar.xz
       sha256sum: 71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33
-    pkgs/openssl.bst:
-    - ref: openssl-3.1.0-0-ga92271e03a8d0dee507b6f1e7f49512568b2c7ad
+    pkgs/bash-config.bst:
+    - {}
+    pkgs/bash-completion.bst:
+    - ref: 2.11-0-gb12639a6becec13a0a2c06173ba40fb3bbe972e1
+    pkgs/autoconf.bst:
+    - url: https://ftpmirror.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz
+      sha256sum: f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4
+    pkgs/libffi.bst:
+    - ref: v3.4.4-0-gf24180be1367f942824365b131ae894b9c769c7d
+    pkgs/p11-kit.bst:
+    - ref: 0.25.0-0-ga8cce8bd8065bbf80bd47219f85f0cd9cf27dd0c
+    - {}
+    pkgs/expat.bst:
+    - ref: R_2_5_0-0-g654d2de0da85662fcc7644a7acd7c2dd2cfb21f0
+    pkgs/gdbm.bst:
+    - url: https://ftpmirror.gnu.org/gnu/gdbm/gdbm-1.23.tar.gz
+      sha256sum: 74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd
+    pkgs/tcl.bst:
+    - ref: core-8-6-10-0-gf19d3d1f630f128feddb2728f4c8d222934a38ee
+    pkgs/sqlite.bst:
+    - ref: version-3.42.0-0-g89efa897780db03eac974eb6b0e041cfb7c39733
+    pkgs/libtool.bst:
+    - url: https://ftpmirror.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz
+      sha256sum: 4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d
     pkgs/make.bst:
     - url: https://ftpmirror.gnu.org/gnu/make/make-4.4.1.tar.gz
       sha256sum: dd16fb1d67bfab79a72f5e8390735c49e3e8e70b4945a15ab1f81ddb78658fb3
...
After (full commit)
diff --git a/project.refs b/project.refs
index df8d8fab..b8e216b6 100644
--- a/project.refs
+++ b/project.refs
@@ -1,138 +1,141 @@
 projects:
   carbonOS:
     boards/amd64-nvidia/kernel/linux.bst:
-    - ref: v6.4.10-0-gb269b0268d4121d033721775d6e0c1114acfe50b
+    - ref: v6.6.3-0-gbd3a9e5771a8b332f466d06f7c130a69cab0d526
     boards/amd64-nvidia/pkgs/extract.bst:
-    - ref: 1350c09952d37be2f90d608e36ae3b050b44fd16f6d9a9193071a12bfd054ec3
+    - ref: e6dca5626a2608c6bb2a046cfcb7c1af338b9e961a7dd90ac09bb8a126ff002e
     boards/amd64/kernel/linux.bst:
-    - ref: v6.4.10-0-gb269b0268d4121d033721775d6e0c1114acfe50b
+    - ref: v6.6.3-0-gbd3a9e5771a8b332f466d06f7c130a69cab0d526
     pkgs/abseil.bst:
-    - ref: 71910654b4452f13f543f7c7f433fb3c6d932c33
+    - ref: 8028a87c96df0fff5ab58daeec30c43ce6fb0d20
     pkgs/accounts-service.bst:
-    - ref: 23.13.9-0-g57e491f5e6f3da2d5a949f4f8747c8f4e8ed799d
+    - ref: 23.13.9-18-g42aa71ac99bebe552c26dc03239b88c02fbe37c0
     pkgs/acl.bst:
     - ref: v2.3.1-0-g752c182706e2535fb4e482b25331177ebbddd2bb
     pkgs/alsa/lib.bst:
-    - ref: v1.2.9-0-g904f0f7e7a29244c05e5874bc36486638d1f7e7f
+    - ref: v1.2.10-0-gf70653fda79742cd1ff93e7a521ae3a333d21882
     pkgs/alsa/topology-conf.bst:
     - ref: v1.2.5.1-0-g159981067ea975bd50d1d829a2fba53eff371dde
     pkgs/alsa/ucm-conf.bst:
-    - ref: v1.2.9-0-g9a2ce36578aabeab1da57221750d474d157e5304
+    - ref: v1.2.10-0-g5eb1d5f447c0db5cbfd4aa8cce710bfd348e7ed3
     pkgs/android-udev-rules.bst:
-    - ref: 20230614-0-gc6610a74ab0ef79973975be6406286f4a9e4e41b
+    - ref: 20231124-0-ga5d7db7d9c7bb4f075da434983de76d1163184d3
     pkgs/anthy.bst:
     - ref: 1.0.0.20211224-0-g8203577deeec5ceefac5665e8773477d9b6ed862
     pkgs/apn-settings.bst:
     - ref: 20230416-0-gaae7c68671d225e6d35224613d5b98192b9b2ffe
     pkgs/apps/baobab.bst:
-    - ref: 44.0-0-g13681aee6a35c8d4f98fa7a92736ffb6dc757e0f
+    - ref: 45.0-0-gc97b53788e8ce1c03e0fdfc4eb856c77e0053614
     pkgs/apps/eog.bst:
-    - ref: 44.3-0-ge2fc5176f80f6d514a787ffb829df7bfeec949e1
+    - ref: 45.1-0-g26c1df864bb29b0ab6f0d249236df2d0db66eb8d
     pkgs/apps/epiphany.bst:
-    - ref: 44.6-0-g6577b8821be640301224f3f1fc7513686f369a44
+    - ref: 45.1-0-g1ab8e71bf2ad6ed4ff4c0c5a251edc10fdaedd95
     pkgs/apps/evince.bst:
-    - ref: 44.3-0-g3761d17243f64ee230378d71e05972cda7ed565b
+    - ref: 45.0-0-g80b393cac6468561664810d5e4a0f1897507062b
     pkgs/apps/extension-manager.bst:
-    - ref: v0.4.2-0-g53c3008781d9f21c1f1be9d92575afb0740790f8
+    - ref: v0.4.3-0-gfce0e326dbddaf6ae17df79c01e553f4b73e3015
     pkgs/apps/geary.bst:
-    - ref: 44.0-0-gb72db2a5e87f2269e6359af434a4fc02fca9e9df
+    - ref: 44.1-0-g37c378a563d5b1c269d57c34671edc940d1cd180
     pkgs/apps/gnome-calculator.bst:
-    - ref: 44.0-0-g2fc61459192ffa7ad91acdbafb4d692a20743bca
+    - ref: 45.0.2-0-gcc7666cdc1d8bea216ed09d756da4e8f65af5368
     pkgs/apps/gnome-calendar.bst:
-    - ref: 44.1-0-g0d0ef588ad192094c63b73d768a8a01d091d61a7
+    - ref: 45.1-0-ga40ddb658cd77cd3723e74926a80e5b4957a120d
     pkgs/apps/gnome-characters.bst:
-    - ref: 44.0-0-g9bbbe9fc4d62f1d7a642d504beb48df79b2e7ab5
+    - ref: 45.0-0-g6f25c0380b4125055de035acf63e8fe7d6c774e1
     pkgs/apps/gnome-clocks.bst:
-    - ref: 44.0-0-g220460fde76ef779436dacb07bc3b0589995e608
+    - ref: 45.0-0-gb1c6ff122488fea47833108f7f661481b9b9574a
     pkgs/apps/gnome-contacts.bst:
-    - ref: 44.0-0-g7de4264212aac05f8acec29ba54adac90ae8ed39
+    - ref: 45.0-0-gf100e20eb51fac292b763aca06f7d963a2d1b9f3
     pkgs/apps/gnome-disks.bst:
-    - ref: 44.0-0-g68c13081e29973b31ee37245626b1755b8cd53a6
+    - ref: 45.1-0-g5208914fa4f6deebfd502353b51eef3aee65d3ba
     pkgs/apps/gnome-logs.bst:
     - ref: 43.0-0-g3fa0b8a7f734e6adf865cc5df673f6a74809b56d
     pkgs/apps/gnome-settings.bst:
-    - ref: 44.3-0-g6af9a48c3238114dab6480f1fb3bdc818dc4a647
-    - ref: 8e7a5a4c3e51007ce6579292642517e3d3eb9c50
+    - ref: 45.1-0-ga95ab55060e30ee10fa3037b0fce0e241ba90fbd
+    - ref: dbfbacc9571fade87855907b78c6ed5e27c910dd
     pkgs/apps/gnome-software.bst:
-    - ref: 44.4-0-g0c8d2b8cb3515ea209db4125d47835b77090b963
+    - ref: 45.2-0-g4048cbc7fc3aa5d2b37f80734cabdf28658c1ca4
     - ref: 48ac9f7ed6a639eab7648f3e3b19105694eaf306
     pkgs/apps/gnome-terminal.bst:
-    - ref: 3.48.2-0-g34572eea23a99f1572808d7d2b42af4c8b8b396c
+    - ref: 3.50.1-0-g5ac3b8e4bd6fa02651b3c23cedb0a7e1cd769655
     pkgs/apps/gnome-tour.bst:
-    - ref: 44.0-0-g46ca411004a49ef963e3a7df7b928ebb976bed72
+    - ref: 45.0-0-gcf54b8e97522c5196d3d8f43c389cda1a71e25fd
     - ref:
       - name: aho-corasick
-        version: 0.7.20
-        sha: cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac
+        version: 1.0.5
+        sha: 0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783
       - name: anyhow
-        version: 1.0.70
-        sha: 7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4
-      - name: atty
-        version: 0.2.14
-        sha: d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
+        version: 1.0.75
+        sha: a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
       - name: autocfg
         version: 1.1.0
         sha: d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
       - name: bitflags
-        version: 1.3.2
-        sha: bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+        version: 2.4.0
+        sha: b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
       - name: block
         version: 0.1.6
         sha: 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
       - name: cairo-rs
-        version: 0.17.0
-        sha: a8af54f5d48af1226928adc1f57edd22f5df1349e7da1fc96ae15cf43db0e871
+        version: 0.18.2
+        sha: 1c0466dfa8c0ee78deef390c274ad756801e0a6dbb86c5ef0924a298c5761c4d
       - name: cairo-sys-rs
-        version: 0.17.0
-        sha: f55382a01d30e5e53f185eee269124f5e21ab526595b872751278dfbb463594e
+        version: 0.18.2
+        sha: 685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51
       - name: cc
-        version: 1.0.79
-        sha: 50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f
+        version: 1.0.83
+        sha: f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
       - name: cfg-expr
-        version: 0.11.0
-        sha: b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa
-      - name: cfg-if
-        version: 1.0.0
-        sha: baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+        version: 0.15.5
+        sha: 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3
       - name: env_logger
-        version: 0.7.1
-        sha: 44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36
+        version: 0.10.0
+        sha: 85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0
+      - name: equivalent
+        version: 1.0.1
+        sha: 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+      - name: errno
+        version: 0.3.3
+        sha: 136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd
+      - name: errno-dragonfly
+        version: 0.1.2
+        sha: aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
       - name: field-offset
-        version: 0.3.5
-        sha: a3cf3a800ff6e860c863ca6d4b16fd999db8b752819c1606884047b73e468535
+        version: 0.3.6
+        sha: 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
       - name: futures-channel
-        version: 0.3.27
-        sha: 164713a5a0dcc3e7b4b1ed7d3b433cabc18025386f9339346e8daf15963cf7ac
+        version: 0.3.28
+        sha: 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
       - name: futures-core
-        version: 0.3.27
-        sha: 86d7a0c1aa76363dac491de0ee99faf6941128376f1cf96f07db7603b7de69dd
+        version: 0.3.28
+        sha: 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
       - name: futures-executor
-        version: 0.3.27
-        sha: 1997dd9df74cdac935c76252744c1ed5794fac083242ea4fe77ef3ed60ba0f83
+        version: 0.3.28
+        sha: ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
       - name: futures-io
-        version: 0.3.27
-        sha: 89d422fa3cbe3b40dca574ab087abb5bc98258ea57eea3fd6f1fa7162c778b91
+        version: 0.3.28
+        sha: 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
       - name: futures-macro
-        version: 0.3.27
-        sha: 3eb14ed937631bd8b8b8977f2c198443447a8355b6e3ca599f38c975e5a963b6
+        version: 0.3.28
+        sha: 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
       - name: futures-task
-        version: 0.3.27
-        sha: fd65540d33b37b16542a0438c12e6aeead10d4ac5d05bd3f805b8f35ab592879
+        version: 0.3.28
+        sha: 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
       - name: futures-util
-        version: 0.3.27
-        sha: 3ef6b17e481503ec85211fed8f39d1970f128935ca1f814cd32ac4a6842e84ab
+        version: 0.3.28
+        sha: 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
       - name: gdk-pixbuf
-        version: 0.17.0
-        sha: b023fbe0c6b407bd3d9805d107d9800da3829dc5a676653210f1d5f16d7f59bf
+        version: 0.18.0
+        sha: bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3
       - name: gdk-pixbuf-sys
-        version: 0.17.0
-        sha: 7b41bd2b44ed49d99277d3925652a163038bd5ed943ec9809338ffb2f4391e3b
+        version: 0.18.0
+        sha: 3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7
       - name: gdk4
-        version: 0.6.3
-        sha: c3abf96408a26e3eddf881a7f893a1e111767137136e347745e8ea6ed12731ff
+        version: 0.7.2
+        sha: 6982d9815ed6ac95b0467b189e81f29dea26d08a732926ec113e65744ed3f96c
       - name: gdk4-sys
-        version: 0.6.3
-        sha: 1bc92aa1608c089c49393d014c38ac0390d01e4841e1fedaa75dbcef77aaed64
+        version: 0.7.2
+        sha: dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0
       - name: gettext-rs
         version: 0.7.0
         sha: e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364
@@ -140,86 +143,92 @@ projects:
         version: 0.21.3
         sha: c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d
       - name: gio
-        version: 0.17.4
-        sha: 2261a3b4e922ec676d1c27ac466218c38cf5dcb49a759129e54bb5046e442125
+        version: 0.18.2
+        sha: 57052f84e8e5999b258e8adf8f5f2af0ac69033864936b8b6838321db2f759b1
       - name: gio-sys
-        version: 0.17.4
-        sha: 6b1d43b0d7968b48455244ecafe41192871257f5740aa6b095eb19db78e362a5
+        version: 0.18.1
+        sha: 37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2
       - name: glib
-        version: 0.17.5
-        sha: cfb53061756195d76969292c2d2e329e01259276524a9bae6c9b73af62854773
+        version: 0.18.2
+        sha: 1c316afb01ce8067c5eaab1fc4f2cd47dc21ce7b6296358605e2ffab23ccbd19
       - name: glib-macros
-        version: 0.17.5
-        sha: 454924cafe58d9174dc32972261fe271d6cd3c10f5e9ff505522a28dcf601a40
+        version: 0.18.2
+        sha: f8da903822b136d42360518653fcf154455defc437d3e7a81475bf9a95ff1e47
       - name: glib-sys
-        version: 0.17.4
-        sha: 49f00ad0a1bf548e61adfff15d83430941d9e1bb620e334f779edd1c745680a5
+        version: 0.18.1
+        sha: 063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898
       - name: gobject-sys
-        version: 0.17.4
-        sha: 15e75b0000a64632b2d8ca3cf856af9308e3a970844f6e9659bd197f026793d0
+        version: 0.18.0
+        sha: 0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44
       - name: graphene-rs
-        version: 0.17.1
-        sha: 21cf11565bb0e4dfc2f99d4775b6c329f0d40a2cff9c0066214d31a0e1b46256
+        version: 0.18.1
+        sha: 3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401
       - name: graphene-sys
-        version: 0.17.0
-        sha: cf80a4849a8d9565410a8fec6fc3678e9c617f4ac7be182ca55ab75016e07af9
+        version: 0.18.1
+        sha: cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59
       - name: gsk4
-        version: 0.6.3
-        sha: 6f01ef44fa7cac15e2da9978529383e6bee03e570ba5bf7036b4c10a15cc3a3c
+        version: 0.7.2
+        sha: cc25855255120f294d874acd6eaf4fbed7ce1cdc550e2d8415ea57fafbe816d5
       - name: gsk4-sys
-        version: 0.6.3
-        sha: c07a84fb4dcf1323d29435aa85e2f5f58bef564342bef06775ec7bd0da1f01b0
+        version: 0.7.2
+        sha: e1ecf3a63bf1223d68f80f72cc896c4d8c80482fbce1c9a12c66d3de7290ee46
       - name: gtk4
-        version: 0.6.4
-        sha: 1e30e124b5a605f6f5513db13958bfcd51d746607b20bc7bb718b33e303274ed
+        version: 0.7.2
+        sha: a3b095b26f2a2df70be1805d3590eeb9d7a05ecb5be9649b82defc72dc56228c
       - name: gtk4-macros
-        version: 0.6.3
-        sha: 30e21acdeb9a02b8cba83e65afbb8aa45f977785e50f1113407024c6b6256988
+        version: 0.7.2
+        sha: d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f
       - name: gtk4-sys
-        version: 0.6.3
-        sha: 5f8283f707b07e019e76c7f2934bdd4180c277e08aa93f4c0d8dd07b7a34e22f
+        version: 0.7.2
+        sha: 7b0bdde87c50317b4f355bcbb4a9c2c414ece1b7c824fb4ad4ba8f3bdb2c6603
       - name: hashbrown
-        version: 0.12.3
-        sha: 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+        version: 0.14.0
+        sha: 2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a
       - name: heck
         version: 0.4.1
         sha: 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
       - name: hermit-abi
-        version: 0.1.19
-        sha: 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
+        version: 0.3.2
+        sha: 443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b
       - name: humantime
-        version: 1.3.0
-        sha: df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f
+        version: 2.1.0
+        sha: 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
       - name: indexmap
-        version: 1.9.2
-        sha: 1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399
+        version: 2.0.0
+        sha: d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d
+      - name: is-terminal
+        version: 0.4.9
+        sha: cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b
       - name: lazy_static
         version: 1.4.0
         sha: e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
       - name: libadwaita
-        version: 0.3.1
-        sha: b1c4efd2020a4fcedbad2c4a97de97bf6045e5dc49d61d5a5d0cfd753db60700
+        version: 0.5.2
+        sha: 06444f4ca05a60693da6e9e2b591bd40a298e65a118a8d5e830771718b3e0253
       - name: libadwaita-sys
-        version: 0.3.0
-        sha: 0727b85b4fe2b1bed5ac90df6343de15cbf8118bfb96d7c3cc1512681a4b34ac
+        version: 0.5.2
+        sha: 021cfe3d1fcfa82411765a791f7e9b32f35dd98ce88d2e3fa10e7320f5cc8ce7
       - name: libc
-        version: 0.2.140
-        sha: 99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c
+        version: 0.2.148
+        sha: 9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b
+      - name: linux-raw-sys
+        version: 0.4.7
+        sha: 1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128
       - name: locale_config
         version: 0.3.0
         sha: 08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934
       - name: log
-        version: 0.4.17
-        sha: abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e
+        version: 0.4.20
+        sha: b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
       - name: malloc_buf
         version: 0.0.6
         sha: 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
       - name: memchr
-        version: 2.5.0
-        sha: 2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d
+        version: 2.6.3
+        sha: 8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c
       - name: memoffset
-        version: 0.8.0
-        sha: d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1
+        version: 0.9.0
+        sha: 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
...

@nanonyme
Copy link
Contributor

nanonyme commented Jan 5, 2024

I see. This deletion of refs sounds like very uncommon way to track, I have never seen any BuildStream projects do it. That said, using a separate refs file (rather than refs in elements) also seems quite rare in BuildStream projects. Maybe this deletion pattern does in fact make more sense with a separate refs file. When you have refs in elements, then the garbage collection aspect does not exist. Thanks for the explanation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants