Am 13.02.21 um 18:54 schrieb Stefan Seyfried:
Hi Martin, Thanks for the fast response, Stefan!
On 13.02.21 18:21, Martin Winter wrote:
Hi all,
some days ago I got aware of the OpenBoard package, which is built in the openSUSE Education project. As my wife is a teacher, she was very happy that this was available for openSUSE Leap 15.2. I then wanted to switch from the latest release evrsion 1.5.4 to the current release candidate of 1.6.1. Additionally, I created a new tool to draw a coordinate system on the board. This is available in a fork on github at https://github.com/letsfindaway/OpenBoard.
To package this work, I did the following:
- I did an osc copypac to copy the Education:OpenBoard package to my home project at home:letsfindaway. - I updated the source with the zip archive downloaded from my project at github. - I updated one of the patches and removed two others, which have been upstreamed since 1.5.4.
This works well, but I have a few questions:
1. Is copypac the right way?
It depends.
Is copypac the right way to create an own package which is quite similar to an existing one? How close is the binding to the original package after copypack? Are they independent or will the copy inherit any modifications to the original?
After copypac, the package is independent and has no connection to the "upstream" package in the Education project.
If you want to have it connected, then you would need to linkpac or branch it. Ok, as I'm also switching to another version, copypac seems to be appropriate to me. I already know about "branch" but will read more documentation about "linkpac".
2. Best way to add own modifications
First I thought I could just use the source zip from the original OpenBoard repository and add my modifications as a patch. However as my work contains a new image file in png format, I did not find a good way to put this file in a patch. Are there any recommendations how to do this? What about multiple Source specifiers in the spec file? Would they be approriate? How are they handled?
I'll state the obvious first: why don't you just get your modification into the upstream package, so that you do not need a modified package in your home repo? ;-) I will definitely do this, once it has the quality for this step. Currently there are still sill some 'known issues' I want to resolve first. But in the meantime my wife already wants to have the new feature with the coordinate system! Now back to your question: I'd use the original tarball, add your modification as patch and add the new image as Source2: to the package. Ok, I will try that. Also as tarball with the same directory structure? Are all the Sources just unpacked to the same location during build?
3. Version specification for such derived work
Currently I'm just using 1.6.1 as the version specifier, which does not indicate that the package contains additional work. What would be the best way to express this in a version number?
Personally, I'd probably rename the package to "OpenBoard-Martin" :-) OTOH if this is just a feature addition and if you expect to have it merged upstream soon, then just adding the patch without further rename is also fine. Yes, it is just a feature addition and not a fork. At least I hope to have it merged upstream some day (soon? Let's see!). Probably I will append some indicator to the version. Have fun,
I definitely have! Martin