Update or share code copied from gnome-control-center
gnome-initial-setup includes a number of files copied from gnome/gnome-control-center:
$ find -name 'cc-*.c' -or -name 'um-*.c'
./gnome-initial-setup/pages/account/um-realm-manager.c
./gnome-initial-setup/pages/account/um-utils.c
./gnome-initial-setup/pages/account/um-photo-dialog.c
./gnome-initial-setup/pages/region/cc-region-chooser.c
./gnome-initial-setup/pages/region/cc-common-language.c
./gnome-initial-setup/pages/timezone/cc-timezone-map.c
./gnome-initial-setup/pages/keyboard/cc-common-language.c
./gnome-initial-setup/pages/keyboard/cc-ibus-utils.c
./gnome-initial-setup/pages/keyboard/cc-input-chooser.c
./gnome-initial-setup/pages/language/cc-common-language.c
./gnome-initial-setup/pages/language/cc-language-chooser.c
./gnome-initial-setup/pages/language/cc-util.c
One particularly nice feature is that there are three copies of cc-common-language.c
, all different from each other and the latest version in gnome-control-center:
$ find . ../gnome-control-center/ -name 'cc-common-language.c' | xargs sha256sum
a5ff93ca687a5a6cac1175c75fe52c0a18fb00246ed0606169cc6150e80b0c3f ./gnome-initial-setup/pages/region/cc-common-language.c
3ba518448045deb80619af6cc4fdbe7dcbeb53528dde8b5c9fc5bae36c9996c5 ./gnome-initial-setup/pages/keyboard/cc-common-language.c
f9c18327609ea67a5294ef7782e8c46db499780f58093fac3f546468baa59672 ./gnome-initial-setup/pages/language/cc-common-language.c
2e56bdda4b2e1606bd53f87928425c82d000340f3bd32049dbec475f9ebdac90 ../gnome-control-center/panels/common/cc-common-language.c
As discussed on !9 (merged), the amount of shared code is likely to go up, not down. We could consider moving the latest versions of these from g-c-c into a new repository that would be used by both projects as a Git submodule, after first ensuring that any g-i-s-specific fixes are pushed back "upstream" to g-c-c.
These shared blobs of code are also the only sites of compiler warnings; I would like this project to be warning-free, and to enforce this in CI.