Open jjscheel opened 9 months ago
I am interested in accepting this task, and I think PLCT Lab's technical background can help. Since this week and next week are the Chinese New Year, I estimate that I can return some research results and plans around February 28 at the earliest.
@lazyparser and PLCT have expressed interest. I've also asked Greg Sterling to engage here too. I'll get him added to the issue as soon as I can.
Fedora has already built all the dependencies and tested please add this repo for testing https://mirror.iscas.ac.cn/plct/distros/fedora/
Thanks for the information. @gsterlin, please take a look at this.
There are Debian packages about sail/sail-riscv and their dependent packages. Source code is here.
Meanwhile, ocaml-linenoise, omd and lem has been pushed Debian salsa repo under Debian OCaml team and was waiting to sponsor them. Other packages are doing similar things.
Given how rapidly Sail is being modified at the moment to support new features for the model I’m not convinced having packages in Debian stable is at all useful. It seems highly likely that by the time they are released they won’t be usable.
Make sense.
If we want to use a fresh deb/rpm package, we would better to keep one final package, in other words, to keep sail-riscv package with an upstream distribution. But before this, these dependent packages should be packaged into distribution to reduce the maintenance burden.
@jrtc27, valid point.
@yuzibo, I agree that building packages now helps ensure that dependencies are available when Sail stabilizes.
My belief is that even though we may be iterating over packages faster than we'd like, it would also give us some ability to talk across differing distributions to discuss what versions of software, and specifically which packages were used, that gave specific results. This should help us consider branching strategies for the models, and being able to provide specifications about what went into the model. My hope is that this would give us a more common framework from which we could discuss changes, and test them out in more consistent ways.
It is also possible that I need to spend more time understanding how things work and come together for sail, and I am open to learning more about how things work today, especially where we see issues or possible room for improvement.
bisect-ppx has been packaged to the Debian OCaml namespace and uploaded by a Debian Developer.
sail-riscv on Fedora docker image has been built. by the way, we will upstream dependencies and sail as soon as possible, sorry for the delay
@gsterlin, would you kindly collect all the progress and summarize this? I suspect that there's benefit in knowing what pkgs are in which ecosystem. Then, we can tie this into the whole broader plan. Thx.
https://github.com/orgs/fedora-sail/repositories
The spec files for lem linksem ocaml-omd ocaml-linenoise ocaml-pprint have been pushed They are dependencies of sail-riscv, but there is another part that is still in process Now wait for the upstream
On Debian side update: ocaml-linenoise has been uploaded to Debian official archive.
So, until now. bisect-ppx has been uploaded to Debian NEW queue and ocaml-linenoise are already in Debian official. We still have omd, lem and linksem need to be uploaded to Debian for sail/riscv-sail.
Here is a breakdown of the current packages for the distributions discussed in this thread:
Fedora Repository: https://mirror.iscas.ac.cn/plct/distros/fedora/ coq-bbv-1.4-1.fc40.x86_64.rpm coq-bbv-devel-1.4-1.fc40.x86_64.rpm coq-sail-0.17.1-1.fc40.x86_64.rpm coq-sail-devel-0.17.1-1.fc40.x86_64.rpm linksem-0.8-1.fc40.x86_64.rpm linksem-devel-0.8-1.fc40.x86_64.rpm ocaml-lem-2022.12.10-1.fc40.x86_64.rpm ocaml-lem-devel-2022.12.10-1.fc40.x86_64.rpm ocaml-linenoise-1.5-1.fc40.x86_64.rpm ocaml-linenoise-debuginfo-1.5-1.fc40.x86_64.rpm ocaml-linenoise-debugsource-1.5-1.fc40.x86_64.rpm ocaml-linenoise-devel-1.5-1.fc40.x86_64.rpm ocaml-omd-1.3.2-1.fc40.x86_64.rpm ocaml-omd-debuginfo-1.3.2-1.fc40.x86_64.rpm ocaml-omd-debugsource-1.3.2-1.fc40.x86_64.rpm ocaml-omd-devel-1.3.2-1.fc40.x86_64.rpm ocaml-pprint-20230830-1.fc40.x86_64.rpm ocaml-pprint-debuginfo-20230830-1.fc40.x86_64.rpm ocaml-pprint-debugsource-20230830-1.fc40.x86_64.rpm ocaml-pprint-devel-20230830-1.fc40.x86_64.rpm ott-0.33-1.fc40.x86_64.rpm ott-devel-0.33-1.fc40.x86_64.rpm sail-0.17.1-1.fc40.x86_64.rpm sail-debuginfo-0.17.1-1.fc40.x86_64.rpm sail-debugsource-0.17.1-1.fc40.x86_64.rpm sail-devel-0.17.1-1.fc40.x86_64.rpm sail-riscv-debuginfo-master-1.fc40.x86_64.rpm sail-riscv-debugsource-master-1.fc40.x86_64.rpm sail-riscv-devel-master-1.fc40.x86_64.rpm sail-riscv-master-1.fc40.x86_64.rpm
Debian Repository: https://mirror.iscas.ac.cn/plct/distros/debian/ bisect-ppx-dbgsym_2.8.3-1_amd64.deb bisect-ppx_2.8.3-1_amd64.deb libbisect-ppx-dev-dbgsym_2.8.3-1_amd64.deb libbisect-ppx-dev_2.8.3-1_amd64.deb liblem-dbgsym_2022.12.10-1_amd64.deb liblem-dev_2022.12.10-1_amd64.deb liblem_2022.12.10-1_amd64.deb liblinksem-ocaml-dev_0.8-1_amd64.deb liblinenoise-ocaml-dbgsym_1.5-1_amd64.deb liblinenoise-ocaml-dev-doc_1.5-1_amd64.deb liblinenoise-ocaml-dev_1.5-1_amd64.deb liblinenoise-ocaml_1.5-1_amd64.deb libomd-ocaml-dev-dbgsym_1.3.2-1_amd64.deb libomd-ocaml-dev_1.3.2-1_amd64.deb omd-dbgsym_1.3.2-1_amd64.deb omd-doc_1.3.2-1_amd64.deb omd_1.3.2-1_amd64.deb ott-dbgsym_0.33-1_amd64.deb ott_0.33-1_amd64.deb libsail-c-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-coq-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-doc-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-latex-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-lem-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-manifest-ocaml-dev-dbgsym_0.17.1-1_amd64.deb libsail-manifest-ocaml-dev_0.17.1-1_amd64.deb libsail-ocaml-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-ocaml-dev-dbgsym_0.17.1-1_amd64.deb libsail-ocaml-dev_0.17.1-1_amd64.deb libsail-output-ocaml-dev_0.17.1-1_amd64.deb libsail-smt-backend-ocaml-dev_0.17.1-1_amd64.deb libsail-sv-backend-ocaml-dev_0.17.1-1_amd64.deb sail-ocaml-dbgsym_0.17.1-1_amd64.deb sail-ocaml_0.17.1-1_amd64.deb sail-riscv-dbgsym_0.5+git20240226.9602e3a-1_amd64.deb sail-riscv_0.5+git20240226.9602e3a-1_amd64.deb
Debian: Still waiting for omd to be reviewed/uploaded. No progress on the other packages now.
Fedora: all dependencies have been pushed, and is waiting for review.
I have been working on a tool with Bill M. to help compare environments. The intent is to report on/verify if an environment has what is believed to be the necessary settings and software in place to function properly for a given repository. I have catalogued roughly 10 environment variables that indicate if an environment has been setup properly, and roughly 10 versions of software or modules that appear to be necessary to build sail-riscv.
I am working to wrap up the scripting over the next week or so, and removing hard coded values and transforming them into a json file so that we can make adjustments for different repositories and branches as necessary.
Over the next week or two I believe I will have the code in a state worth reviewing, and will then begin working with Bill M. to determine where best to begin working with teams for this kind of environment validation.
@gsterlin thanks for your work, please tell me if I can help here.
Update on Debian side: omd was sponsored by my sponsor.:)
Sorry for the late reply Fedora: No updates yet, still under review
Fedora: Review Request has been submitted for lem linksem ott ocaml-omd ocaml-linenoise ocaml-pprint https://bugzilla.redhat.com/show_bug.cgi?id=2291284 https://bugzilla.redhat.com/show_bug.cgi?id=2291285 https://bugzilla.redhat.com/show_bug.cgi?id=2291286 https://bugzilla.redhat.com/show_bug.cgi?id=2291288 https://bugzilla.redhat.com/show_bug.cgi?id=2291289 https://bugzilla.redhat.com/show_bug.cgi?id=2291290
@gsterlin, perhaps when you run the June 25 meeting for me you could talk more about your plans here. Thoughts?
Fedora package still waiting for review……
ocaml-omd ocaml-linenoise ocaml-pprint It has been reviewed. I have pushed the new version and waiting for another review.
ocaml-pprint has been reviewed and approved ocaml-linenoise has some issues and cannot meet Fedora packaging rules. I have already pull request to the upstream ocaml-omd is awaiting further review
@gsterlin, would you mind sharing your progress for the next meeting on August 6?
Absolutely! A quick note is that I have been working with Carl to leverage some tools (asdf/mise, and direnv) to do the environment variable/configuration and tool version management. This replaces the code and configuration files I had written, greatly simplifying the problem. We have made a lot of progress over the last two weeks and will have some content to share shortly that will help new comers work with our environments, and provide the building blocks for enabling discussions about which versions of packages or environment variables are necessary for proper environments per repository.
Debian packaging: FTP master has commented on lem and waiting for review again.
ocaml-omd was also approved! Other packages waiting for upstream response
Debian packaging: no update in the past two weeks, still waiting for lem to be approved to upload.
fedora: No updates in the past two weeks No response to pull requests for ocaml-linenoise, maybe we should consider other methods…
@gsterlin, I wonder if Wei Fu can provide some guidance on the ocaml-linenoise PR.
Wei Fu is my mentor, but I think we should contact the maintainer of ocaml-linenoise (or Fedora packager)
Sorry, my English may cause some misunderstand, let me clarify "consider other methods" means that ocaml-linenoise has made some changes, and these changes have not been upstreamed to linenoise, so they behave inconsistently, and the fedora's reviewer hopes to be able to upstream these changes, so "other methods" should be Contact the maintainer of linenoise to accept this PR or Explain to the fedora's reviewer why there are differences between ocaml-linenoise and linenoise, and then accept this package
Since there has been no response from the upstream of linenoise, I sent the patch to the downstream of Fedora, but I think Fedora may not accept this patch (because Fedora requires the upstream to accept the patch first). However, without this patch, linenoise and ocaml-linenoise will behave differently, which will cause ocaml-linenoise to not meet the packaging requirements :(
Good news! Fedora, as the downstream, has already merged this change!
Debian packaging: linksem is packaging and it is waiting for lem's one commit.
Summary: Now we only have linksem and sail left as dependencies of riscv-sail that need to be uploaded to Debian.
Since the linenoise patch was merged by Fedora, ocaml-linenoise is being reviewed again
The reviewer has not responded yet maybe I need to ask Wei Fu for help
There is a small change in the linenoise package on fedora. Due to my mistake in the past, the symbols were not exported. Fortunately, the linenoise package on fedora has been merged https://src.fedoraproject.org/rpms/linenoise/pull-request/3
ocaml-linenoise is waiting for review again
Thanks, folks!
Technical Group
Golden Model SIG
ratification-pkg
Technical Debt
Technical Liaison
Bill McSpadden
Task Category
SAIL model
Task Sub Category
Ratification Target
3Q2023
Statement of Work (SOW)
Component names: Sail
Requirements: Currently, the RISC-V Sail model must be built (compiled) by the user. It has been requested that the model be compiled and distributed using industry-standard package management tools.
Deliverables:
Acceptance Criteria:
Projected timeframe: (best guess date) 6 person months
SOW Signoffs: (delete those not needed)
Waiver
Pull Request Details
No response