Learn about Fedora Modularity in the Fedora Docs
fedora-modularity / dependency-report-scripts Goto Github PK
View Code? Open in Web Editor NEWScripts to generate dependency reports for a modular Fedora.
License: MIT License
Scripts to generate dependency reports for a modular Fedora.
License: MIT License
Learn about Fedora Modularity in the Fedora Docs
check for repos.cfg before running regenerate_everything.sh and stop if it's not there...
The generated modulemd.yaml file is here.
https://github.com/fedora-modularity/dependency-report/blob/master/modules/ruby/ruby.yaml
My concern is
The file is using inline format "[]" for sequencing element.
license:
module: [ MIT ]
But below specification document is using "- " for the sequencing element.
https://pagure.io/modulemd/blob/master/f/spec.yaml
license:
module:
- MIT
So, I think it is better to generate "-" following the specification.
yamllint complains about several issues in autogenerated yaml files:
1:1 warning missing document start "---" (document-start)
12:18 error too many spaces inside brackets (brackets)
12:22 error too many spaces inside brackets (brackets)
line 1 is obvious, line 12 is the module license:
module: [ MIT ]
$ mbs-build local
Checking log
DEBUG: Executing command: ['sh', '-c', 'fedpkg clone --anonymous ruby; git -C ruby checkout master.']
...
DEBUG: error: pathspec 'master.' did not match any file(s) known to git.
"ref: master." is set in the file. "master." But it is not valid as branch name.
https://github.com/fedora-modularity/dependency-report/blob/master/modules/ruby/ruby.yaml
The generate_modulemd_with_hashes.sh
script can generate a modulemd with commit hashes for every component, reflecting the repodata it uses. Doing it this way makes the builds much more reproducible, as we use the same thing we are resolving against
Packages with epoch doesn't get hash with this script. It needs to get stripped before asking koji for the hash.
The regexp on this link can be used: https://github.com/fedora-modularity/baseruntime-package-lists/blob/master/make_modulemd.pl#L79
I have bcache-tools in the storage-devices module README.md and was surprised that it didn't show up in the list of components of storage-devices.yaml after running regenerate_everything.sh .
The only explanation that I could come up with after grepping for it in all other modules is that packages from bootstrap are filtered from yaml files when they shouldn't be.
I was able to build on local with success for Ruby modurarity ๐
changing from this file generated by this script
[1] https://github.com/fedora-modularity/dependency-report/blob/master/modules/ruby/ruby.yaml
to this file.
[2] https://src.fedoraproject.org/modules/ruby/blob/master/f/ruby.yaml
Look at some comments "# From" in the file [1].
I think that we can generate the items automatically from this script as the initial file.
I wish the auto-generated items by this script will be increased. :)
This is related to fedora-modularity/dependency-report#10 .
Thanks.
The generate_modulemd_with_hashes.sh
script can generate a modulemd with commit hashes for every component, reflecting the repodata it uses. Doing it this way makes the builds much more reproducible, as we use the same thing we are resolving against
The script isn't run as part of the regenerate-everything.sh
because it's verry slow.
The script asks Koji for every hash, every time. If it could use some caching, similar to make_modulemd.pl
from the https://github.com/fedora-modularity/baseruntime-package-lists repo would make it much faster.
If we fix it, we can generate hashes every time very quickly.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.