Packaging:openSUSE

From OpenLP
Jump to: navigation, search

Introduction

These are instructions for bumping the rev using the OBS (Open Build Service) command line client osc. Many of the tasks below can be completed on the web client at https://build.opensuse.org. To automatically download the new tarball you must use the CLI as described below. If you wish to use the web client you must upload the tarball manually and delete the old tarball. These instructions assume that you already have and OBS account and that you've correctly configured osc on your system.

A.B.C is the old version number X.Y.Z is the new version number

Create Directory for osc

Create OpenLP_dev directory to store osc workspace

user@hostname:~> mkdir ~/OpenLP_dev

Branching OpenLP

Branching from openSUSE:Updates for all supported versions of openSUSE (12.2 and higher)

MBranch and checkout to local workspace

user@hostname:~> cd ~/OpenLP_dev
user@hostname:~/OpenLP_dev> osc mbranch -c OpenLP
user@hostname:~/OpenLP_dev> cd 'home:obs_username:branches:OBS_Maintained:OpenLP'

Branching from devel:languages:python (Factory)

Branch devel:languages:python/OpenLP and checkout branch to local workspace

user@hostname:~> cd ~/OpenLP_dev
user@hostname:~/OpenLP_dev> osc branch -c devel:languages:python OpenLP
user@hostname:~/OpenLP_dev> cd 'home:obs_username:branches:devel:languages:python/OpenLP'

Updating OpenLP Package

Note: If using mbranch above you need to do these steps for every supported openSUSE version. That is in every directory under ~/OpenLP_dev/home:obs_username:branches:OBS_Maintained:OpenLP

  1. Edit OpenLP.spec to change version number
    $ vi OpenLP.spec
    
  2. Download new source tarball
    $ osc service localrun download_files
    
  3. Remove the old tarball from obs source control
    $ osc delete OpenLP-A.B.C.tar.gz
    
  4. Add the new tarball to obs source control
    $ osc add OpenLP-X.Y.Z.tar.gz
    
  5. Try to build to make sure everything works as expected and that there are no build errors
    • Build for all openSUSE versions and platforms
      $ osc build
      
    • Build for specific openSUSE version and platform
      $ osc build openSUSE_12.3 x86_64
      
  6. Update changelog with message like the following
    - Updated from version A.B.C to version X.Y.Z
    
    $ osc vc
    
  7. Commit package to OBS (Commit message should usually be similar to the changelog entry)
    $ osc commit -m 'Updated OpenLP from version A.B.C to version X.Y.Z'
    
  8. Check build status
    $ osc resutls
    

Submitting Request to upstream branch

Submit request once everything builds successfully. Specify message the same way you did for the commit command

Submitting a Maintenance Request to openSUSE:Updates (12.2 and higher)

user@hostname:~/OpenLP_dev/home:obs_username:branches:branches:OBS_Maintained:OpenLP> osc mr -m 'Updated OpenLP from version A.B.C to version X.Y.Z'

Submitting a Submit Request to devel:languages:python (Factory)

user@hostname:~/OpenLP_dev/home:obs_username:branches:devel:languages:python/OpenLP>osc sr -m 'Updated OpenLP from version A.B.C to version X.Y.Z'

Accepting submissions to devel:languages:python

  • The following can only be performed by maintainers of the package in devel:languages:python
  1. Accept the request
    $ osc request accept -m 'Accepting request to update version' [Request Number]
    
  2. Submit request from devel:lanuages:python to Factory
    $ osc sr -m 'Updated from version A.B.C to version X.Y.Z' devel:languages:python OpenLP openSUSE:Factory