# warning, below is a fairly long email on beginner package upgrading via OBS
# don't proceed unless you are prepared to experience the wonders of OBS.
# Many will fail, but those that succeed will be called "OBS packager!",
# A moniker with honor unbounded.
On Wed, Feb 15, 2012 at 6:55 AM, Rodney Baker <rodney.baker(a)iinet.net.au> wrote:
On Wed, 15 Feb 2012 21:21:36 Will Stephenson wrote:
I'm sure it's not a trivial update, but as LO is relatively self-contained,
it's also not insanely difficult either. Anyone with patience and
perseverence, and attention to detail want to step up and help Petr?
I'd volunteer to help if someone will mentor me through the process. I have
absolutely no idea how to write a spec file and none of the online guides I've
read have made much sense for some reason. I figure once I've done the first
one, though, I'll learn pretty quickly. In this case I'm guessing that it
should be possible to start with the existing spec file for 3.4.x as a
I started messing with OBS a couple years ago.
First be very aware of the use or project and package. LO is is
project composed of lots of packages. When I first started packaging,
I did not make a big distinction between those in my mind, and it
Anyway, often it is relatively straightforward to do a version upgrade
for a single package.
But sometimes it can turn into a more sophisticated process. There
are a lot of LO packages, so each one has to be updated separately.
And tested of course.
You will find lots of good help on the opensuse-packaging mailinglist.
The wiki portal for packaging is very complete:
Note all the pages listed on the right hand side.
I'd start with the tutorial:
The below steps go with the tutorial, so be sure not to just read the below:
Step 1: Do both the WebGUI step and the CLI step. It's not either/or.
Your step 2 (Step Two – Create & Upload packages) will be different
than the tutorial.
You will want to branch a copy of which ever version you need to update.
I don't know which project you need to branch from.
Assume for a minute it's LibreOffice:Stable, (but I hope there is a
staging repo that is actually a better choice.)
If I were you, I'd just create a sub-project in your home project
dedicated to those packages. Using the WebUI that is basically
Decide which of the LO packages you want to work on first. Here's the list:
I'll assume for a second it's libreoffice-calc. Goto it's overview page:
If you're logged in, you should see "branch package" as an action in
the middle of the page. If you click that, a new sub-project will be
created inside your home project and a branched copy of libre-calc
will be placed there.
At that point you have accomplished step 2 of the tutorial.
Step 3: Make sure you have at least Factory and 12.1 as targets.
When you do a local build, it will default to building for factory, so
I always have factory as a build target no matter what. It just
Step 4: You don't yet have a local copy of the package, so set that up first:
# Create a working area
# Call your working area whatever you want to
# I have all my obs projects as sub-folders of ~/obs, but you can do whatever.
checkout a copy of the package you now have on OBS. The basic command is
osc co <project> <package>
In my case
osc co home:gregfreemyer:branches:LibreOffice:Stable libreoffice-calc
Now you should have a directory similar to:
cd into your directory and verify you can do a local build of the package.
That should run for several minutes with lots of output. It will then
ask for the root password. Once you provide that, it will run for
many more minutes, so don't walk away overnight. At the end of all
the output it should show that rpm packages are built.
Congratulations, you have just built your first package.
Once you get that far, post again and I can walk you through the first
update of that package. I think you will be surprised how simple it
is. The real issue is the large number of packages to update and that
you should do at least some basic testing.
To unsubscribe, e-mail: opensuse+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse+owner(a)opensuse.org