Skip to content

Prepare for new project metadata format in kde-build-metadata.

With this change kdesrc-build should now be forwards-compatible with new metadata as proposed by the updater/conversion tool in: https://cgit.kde.org/sysadmin/repo-metadata.git/commit/?id=8a1fcabf78377402ccf009247ec89dd31672c7a9

For the most part it should be straightforward. In order to validate that the new work-around for the potentially missing type field is valid I ran the following tests in the root of my local clone of the sysadmin/repo-metadata repository:

testing for current metadata types that are not 'project' or 'module'

find -type f -name "*.yaml" -exec grep type {} \+ |egrep -v "type: project|module"
Resulted in component type only:
./projects/books/metadata.yaml:type: component
./projects/calligra/metadata.yaml:type: component
./projects/community/metadata.yaml:type: component
./projects/extragear/metadata.yaml:type: component
./projects/frameworks/karchive/metadata.yaml:description: Qt 5 addon providing access to numerous types of archives
./projects/frameworks/metadata.yaml:type: component
./projects/historical/metadata.yaml:type: component
./projects/kde-build-metadata/metadata.yaml:type: component
./projects/kde/kdeaccessibility/kmouth/metadata.yaml:description: A type-and-say front end for speech synthesizers.
./projects/kde/kdeutils/kdf/metadata.yaml:  type and mount point.
./projects/kde/metadata.yaml:type: component
./projects/kdereview/metadata.yaml:type: component
./projects/kdesupport/metadata.yaml:type: component
./projects/others/metadata.yaml:type: component
./projects/playground/base/publictransport/metadata.yaml:  * *icons:* Vehicle type icons
./projects/playground/metadata.yaml:type: component
./projects/repo-management/metadata.yaml:type: component
./projects/sysadmin/metadata.yaml:type: component
./projects/unmaintained/koffice/metadata.yaml:  turned into many exciting application types. For example a music editor or a map-printing
./projects/unmaintained/metadata.yaml:type: component
./projects/websites/metadata.yaml:type: component

testing for repoactive/hasrepo properties on component type metadata:

find -type f -name "*.yaml" -exec grep type {} \+ |grep "type: component" |sed 's/:type: component//' |xargs grep repoactive
find -type f -name "*.yaml" -exec grep type {} \+ |grep "type: component" |sed 's/:type: component//' |xargs grep hasrepo
Yields:
./projects/books/metadata.yaml:repoactive: false
./projects/calligra/metadata.yaml:repoactive: false
./projects/community/metadata.yaml:repoactive: false
./projects/extragear/metadata.yaml:repoactive: false
./projects/frameworks/metadata.yaml:repoactive: false
./projects/historical/metadata.yaml:repoactive: false
./projects/kde-build-metadata/metadata.yaml:repoactive: true
./projects/kde/metadata.yaml:repoactive: false
./projects/kdereview/metadata.yaml:repoactive: false
./projects/kdesupport/metadata.yaml:repoactive: false
./projects/others/metadata.yaml:repoactive: false
./projects/playground/metadata.yaml:repoactive: false
./projects/repo-management/metadata.yaml:repoactive: true
./projects/sysadmin/metadata.yaml:repoactive: false
./projects/unmaintained/metadata.yaml:repoactive: false
./projects/websites/metadata.yaml:repoactive: false
And:
./projects/books/metadata.yaml:repoactive: false
./projects/calligra/metadata.yaml:repoactive: false
./projects/community/metadata.yaml:repoactive: false
./projects/extragear/metadata.yaml:repoactive: false
./projects/frameworks/metadata.yaml:repoactive: false
./projects/historical/metadata.yaml:repoactive: false
./projects/kde-build-metadata/metadata.yaml:repoactive: true
./projects/kde/metadata.yaml:repoactive: false
./projects/kdereview/metadata.yaml:repoactive: false
./projects/kdesupport/metadata.yaml:repoactive: false
./projects/others/metadata.yaml:repoactive: false
./projects/playground/metadata.yaml:repoactive: false
./projects/repo-management/metadata.yaml:repoactive: true
./projects/sysadmin/metadata.yaml:repoactive: false
./projects/unmaintained/metadata.yaml:repoactive: false
./projects/websites/metadata.yaml:repoactive: false

So there are only two modules that need to blacklisted to recover the previous filter on type: kde-build-metadata and repo-management.

Edited by Johan Ouwerkerk

Merge request reports