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

As a software component developer, I want to keep *.pdsc file in software repository, so I can track it under version control together with code. #190

Closed
DavidJurajdaNXP opened this issue Jan 17, 2023 · 6 comments
Assignees

Comments

@DavidJurajdaNXP
Copy link

There should be way how to use locally cloned repository by standard Open CMSIS Pack tools.

Let's take https://github.com/FreeRTOS/CMSIS-Packs as example (*.pdsc is not part of repositories).
I think it would be useful to handle pack as image of repository.

@ReinhardKeil
Copy link
Collaborator

ReinhardKeil commented Jan 17, 2023

Good point, actually there is a way to do it.

cpackget supports local packs could be a repository. See: https://github.com/Open-CMSIS-Pack/cpackget#adding-packs - cpackget add path/to/Vendor.PackName.pdsc

However the AWS CMSIS-Packs have a process to build the *.pdsc file. Once you have executed that process you could use it as local pack.

I guess we need to document this in a better way (i.e. tutorial). @JonatanAntoni could you check and write down the steps in this issue. I will take it then to the documentation.

Note: This process works already seamless for example with these packs:
https://github.com/MDK-Packs/IoT_Socket
https://github.com/arm-software/cmsis-driver

@JonatanAntoni
Copy link
Collaborator

Gents, I have to admit I don't understand the use case, yet.

@DavidJurajdaNXP: Could you update the issue description with a full user story, please?

  • What is the environment/starting point?
  • Which steps does the actor (Software Component Developer) want to execute?
  • What does the expected result look like?
  • What are the acceptance criteria?

In earlier days we had a issue template for user stories which still can be found here.

@JonatanAntoni
Copy link
Collaborator

JonatanAntoni commented Jan 17, 2023

@DavidJurajdaNXP, thanks for clarifying this during today's call. Nevertheless, it might make sense to be more verbose here in case other people reading it.

Basically, I think this use case is already addressed today. Let's check if we need to be more specific about it in the docs.
In csolution one can add any directory as "a pack" which contains a .pdsc file. Having the .pdsc file of a pack in the root folder of the repository, and given the directory structure of the repo is same to the final pack, one can directly use the repo clone as pack source.

In order to find the repo for a pack archive, we have the repository tag in the .pdsc file. Tools could use this tag to automatically replace a pack in a project by a clone of the repo.

@jkrech
Copy link
Member

jkrech commented Mar 21, 2023

@JonatanAntoni if you take a look at the repositories referenced from here:
https://github.com/FreeRTOS/CMSIS-Packs you will see that these repositories don't have a pdsc file in their source tree. They rely on generating the pdsc file using the packgen utility when they produce the pack. This means as a user you need to clone the repository and then run some command to generate the pack with pdsc file into an output directory which can be reference as a local pack repository entry.
I could not quickly find this being documented in the ReadMe.md of e.g. the AWS repositories since the authors probably have not thought of that particular use case.

@jkrech
Copy link
Member

jkrech commented May 8, 2023

@DavidJurajdaNXP, we can give the recommendation about how a public repository providing a pack should be structured, however in the end it is up for the maintainer to decide the structure.
In some cases maintainers may require the user to run e.g. a script first to consume the repository content as a pack.
Do you see any other options to "push" towards this?

@ReinhardKeil
Copy link
Collaborator

@DavidJurajdaNXP my feeling, this is covered by https://github.com/Open-CMSIS-Pack/SW-Pack-HandsOn?tab=readme-ov-file#pack-development

I understand that the situation with AWS is not ideal, but besides training and explaining best practice, I see no other way.
Note also that the CMSIS_6 software packs are all structured this way (i.e. https://github.com/ARM-software/CMSIS_6/tree/main)

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

4 participants