2010077 meego obs


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

2010077 meego obs

  1. 1. OBS - OpenSuSE Build Service Lifu Zhang Elektrobit Wireless(2010)
  2. 2. Outline Introduciton Using OBS Getting Started OBS Commandline Client Set up OBS Server software setup Setup meego build projects OBS Maintainance Conclusion
  3. 3. 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.
  4. 4. 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
  5. 5. 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
  6. 6. 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)
  7. 7. 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 $@
  8. 8. 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)
  9. 9. 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
  10. 10. Behind the scene: How did obs build packages Create virtual root Do ’rpmbuild’
  11. 11. Setup OBS Softwares obs needs backends & two rails applications they can be installed via zypper
  12. 12. Setup projects for meego build Part1: Create Projects Using oscl meta -e projectname Workflow: Set name and description. Add repositories and target archs.
  13. 13. 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
  14. 14. 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
  15. 15. 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
  16. 16. Upgrate Upgrate software Check configs Update database, rake db:migrate
  17. 17. Bakup OBS backup database backup projects contents backup mirrors
  18. 18. OBS is good, enjoy using it.Thank you for your attending.