OK guys, when do you start your workshop?
Honestly, packaging is not something you can learn in a 2-3 h session, but getting an OBS account takes a few minutes and this is the real problem.
There is lots of documentation about packaging RPMs (and we ware not talking about OBS at all atm), still, most of the OPs in this forum obviously start packaging in OBS and quite a few seem to have no knowledge about packaging at all.
A very good example is Mr. “calling out loud and calling other people lazy” Ansus here, if you take a look at “his” home project
it only consist of working packages he linked or copied from other projects while his “own” stuff constantly fails because of absolutely no knowledge (which is not the real problem) combined with no ambition in doing some reading himself (see his threads to get more confirmation on that).
OBS certainly was not meant as a place to throw **** at other people (or even better, throw it at other people and let them fix it for you), but sadly it has become that kind of thing.
Learning how to package openSUSE-RPMs should be started locally, a very good “learning by doing” way is to get a few src.rpms, unpack them and start reading the spec files combined with a tutorial (there are lots of them, just use $SEARCH_ENGINE and enter “RPM tutorial” or maybe “RPM tutorial $NAME_OF_DISTRIBUTION” as query string) to read what each option is doing.
Also, even with OBS you can start locally, you just have to use the client “osc” and read a little how it works.
Interestingly, there are lots of threads like “my build on OBS fails with $message” but nearly none about some detailed questions about how to operate osc, which indicates either that it is very easy to use (and thereby everybody could build locally before uploading stuff to OBS) or nobody is using it locally to test his builds before uploading (which then arises the question, why most threads are exactly about what should not really happen if you do so, at least not so often).
Just to give you an idea how it should be done.
NEVER upload anything to OBS before your local builds work, if it fails locally, it will NOT start many builds on the OBS server thereby wasting a lot of runtime which could be used for more important tasks, mainly builds for projects with working packages.
ALWAYS start building locally, if your build fails you get the same build log as in OBS, you even don’t have to wait until your build is scheduled because it’s on YOUR machine, so it’s even more effective at least to get something that might be close to getting uploaded with a good chance of being useful.