Or is there a simpler package or place to start learning this?
From what I see @bero has already updated icewm to 1.5.2.
Although I am not the right person, I will try to explain a bit. @bero pls correct me if I wrote something wrong.
You can choose something simple eg. Geary mail client.
In repo for Cooker is version 0.13.2, while the latest version is 0.13.3.
The update should be seamless, you can practice on this package. This is only minor update so try it.
- Create account on GitHub and https://abf.openmandriva.org.
- Go to abf, search for geary and open it.
- Click on GitHub button to open openmandriva github for this package.
- Open new browser tabs and download new source, Geary 0.13.3. Grab it from here: Index of /pub/GNOME/sources/geary/0.13
- Open this website http://file-store.openmandriva.org/ and upload source here.
- When upload end, copy hash - somethings like to “041ASD545D5D5D55D5D450”
- Back to github page for grary, then open .abf.yml file and edit it.
- replace current name geary-0.13.2.tar.xz to new should be sometings like geary-0.13.3.tar.xz
- replace also hash - remove old hash and paste new (you should copy it from step 6).
- Open now geary.spec file and edit it.
- change version to current, so from 0.13.2 to 0.13.3
for this package this should be all
- Go back to ABF and your geary package.
- in ABF for geary near to GitHub button you should find “New Build” button. Click on it.
(here you can chose distro version, repository, branch or arch)
- leave all options in default and click on “Start Build”
- Wait until build ends (it can take some time).
So I quickly made a short film on how to build a simple package. You can watch it here:
Thanks for the detailed explanation @AngryPenguin . I’m busy with some other stuff at the moment but I will give this a go soon, probably tomorrow or sooner.
OK, in front of everyone “I have done did it” for better or worser. https://abf.openmandriva.org/build_lists/408259 is building.
And did not take long for build failed:
Wrote: /builddir/build/SRPMS/geary-0.13.3-1.src.rpm Executing "/usr/bin/rpmlint -f /builddir/build/SOURCES/geary.rpmlintrc /builddir/build/SRPMS/geary-0.13.3-1.src.rpm": geary.src: W: not-standard-release-extension 1 geary.src: W: non-coherent-filename geary-0.13.3-1.src.rpm geary-0.13.3-1-omv4000.src.rpm geary.src: W: no-signature geary.src: W: no-changelogname-tag geary.src:22: W: mixed-use-of-spaces-and-tabs (spaces: line 22, tab: line 1) geary.src:60: W: deprecated-%apply_patches 1 packages and 0 specfiles checked; 0 errors, 6 warnings. Child return code was: 0
Post-edit: I was to hasty reading results. Some arches did build but i686 “tests failed” and armv7hnl failed. So partial success. znver1, x86_64, and aarch64 did build.
In a way this is good because this is how we learn. Partly we learn my having success at tasks we do but arguably we learn more by fixing stuff that fails.
For the i686 package there are 0 errors and 9 warnings so I’m stumped as to what “tests failed”. Will try this one more time.
On a hunch I tried the armv7hnl build again and it succeeded on second attempt. I did not change anything or “fix” anything. So that is interesting. Maybe I’m learning a bit just by watching this stuff work. (So far mostly learning just how much I don’t know.)
So thanks again @AngryPenguin. More success. Turns out in ABF there is something called “Re-run tests” so I did that and apparently they passed because it is now showing the i686 build as published.
So there we have it. Geary updated for i686, x86_64, znver1, armv7hnl, and aarch64. In other words all of them. So now I need to find some packages in contrib (when will it be renamed “unsupported”) to practice and learn on.
Post-edit: And yes I learned some things in the attempt plus I realize much more to be learned.
However, upon further testing Geary does appear to have a missing dependency:
$ geary ![???] 12:36:05 0.033457 GLib-GIO: Settings schema 'org.gnome.desktop.interface' is not installed Trace/breakpoint trap (core dumped)
So it is updated, but it is not working without that schema ‘org.gnome.desktop.interface’ being installed. To me that looks like a user would need to install the Gnome desktop and all that entails for Geary to work?
So you found the missing dependence
I overlooked it, probably because I have the entire gnome stack installed …
So @ben79 , it’s time for the next lessons of building rpm.
Go to geary.spec and edit it and add this dependencies as Requires: gsettings-desktop-schemas
Then change Release from 1 to 2.
and in ABF fire build again
OK, this is actually good IMO 'cause I learn more. I’m on it or as we say in bugzilla “IN_PROGRESS”.