2010077 meego obs
Upcoming SlideShare
Loading in...5

2010077 meego obs






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

2010077 meego obs 2010077 meego obs Presentation Transcript

  • OBS - OpenSuSE Build Service Lifu Zhang Elektrobit Wireless(2010)
  • Outline Introduciton Using OBS Getting Started OBS Commandline Client Set up OBS Server software setup Setup meego build projects OBS Maintainance Conclusion
  • OBS’s Ability What OBS Can Do: Build RPM Packages For different platforms with smae copy of code. Publish rpm as ’repository’, easy for package mgmt tools to use What OBS Can NOT: Create MeeGo Image. Testing.
  • Terms in OBS: Project, Repository, Arch, Package Package: A software package, contains source tarball, spec file, and (maybe) patches. Project: A group of Package, with config for build environmet, repositories, and archs. Repository: A place to organize and publish binary/source packages Arch: Architectures, a repo may contains multipule archs
  • OBS’s Interfaces OBS API, a RESTful web interface. OSC, Command line interface based on API WebUI, Web application based on OBS API Event, obs have a way to generate events
  • Hello obs - build an Qt Application for MeeGo Prepare an source tarball Create .spec file Create ”package” on OBS Server Upload sources Monitor Build Process Get Binary Packages(Build results)
  • Setup OSC tool Install osc Get osc from site http://software.opensuse.org/search/ Script ’oscl’ To operate local obs server, we could use a script ’oscl’ #! / b i n / b a s h API URL=" http :// cnbjas56 . cn . ebgroup . elektrobit . com :81 " e x p o r t h t t p p r o x y=" " o s c −A $API URL $@
  • Frequent used commands checkout(co): checkout prjoect or package commit(ci): commit local sources to server, must run in a package working directory list(ls): list project in obs or packages in a project rdelete: delete project or package on obs server deleterequest(dr): for common user who didn’t have privileges, could ask for administrator to do the deletion meta: vie or edit meta info of projects or packages, to create a project & package, just edit meta info for not existed items. For more details, please see osc manpage(1) (man osc)
  • Brief Introduction to OBS Webui The operations we can do in webui: Register & Login Monitor Building process Manage projects & packages Deprecated manage package source files
  • Behind the scene: How did obs build packages Create virtual root Do ’rpmbuild’
  • Setup OBS Softwares obs needs backends & two rails applications they can be installed via zypper
  • Setup projects for meego build Part1: Create Projects Using oscl meta -e projectname Workflow: Set name and description. Add repositories and target archs.
  • Setup projects for meego build Part 2: Prepare resources I have a script toolkit for setup resources, dowload from http://cnbjas56.cn.ebgroup.elektrobit.com/download/tools/obsmi.tar.bz2 Workflow: Install obsmi, sudo ./setup install (./setup –help see more info) Check your repos.conf, to manage resources to download. Sample of repos.conf: [ d a i l y −c o r e −a r m v 7 l ] r e m o t e = h t t p : / / r e p o . meego . com/MeeGo/ b u i l d s / t r u n k / d a i l y / c o r e / r e p o s l o c a l = / m i r r o r / d a i l y / core / armv7l l i n k = meego a r m v 7 l c o r e −a r m v 7 l
  • Setup projects for meego build Part 3: Make links Now we have all packages ready, if you’re using misched, links would create automatically, if not, you can use the tool ’milink’ sepratedly. USAGE: milink prj repo archfile localrepo [-u][-h] An archfile is discribing a mapping relation from repo to obs building, here is a sample: armv7l armv7el noarch armv7el
  • Setup projects for meego build Part 4: Using SubProjects Using subproject can reuse the exsiting projects’ repository, we can setup and config subproject form the web interface
  • Upgrate Upgrate software Check configs Update database, rake db:migrate
  • Bakup OBS backup database backup projects contents backup mirrors
  • OBS is good, enjoy using it.Thank you for your attending.