Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the...
Transcript of Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the...
![Page 2: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/2.jpg)
2
Intro
• The Open Build Service
– Formerly known as the 'openSUSE Buildservice'
– It's a cross-distribution collaboration platform to build
> Packages for all major distros,
> Distributions (like openSUSE),
> ISO's, appliances or VM's
– Currently 29100 registered developers 149000 packages in 30800 repositories
– Logo (WIP):
![Page 3: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/3.jpg)
3
Features
• Takes care of dependency changes, rebuild as needed
• Automagically creates download repositories
• Publish to world-wide mirroring infrastructure
• Can pull from Git, SVN, ...
• Supports semi-automatic package generation and update
• Allows local development
![Page 4: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/4.jpg)
4
Features
• Instances can connect
• Consists of
– a web interface
– command-line client (osc)
– public API interface> HTTP, XML, REST, ...
• Android client
• (Mostly) test driven
• Something for everyone:
– Perl, Python, Ruby (Rails), Shell, C, HTML, CSS, JavaScript, SQL, XML, XPath, ...
![Page 5: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/5.jpg)
5
The big picture
Web UICommand
LineClient
Installer(YaST,etc.)
OBS API (api.opensuse.org)
Users, Auth, Database, Search, ...
Storage
BuildHost
Your Tool
MirrorInterface
BuildHost
BuildHost
BuildHost
BuildHost
BuildHost
Backend
HermesWeb UI
NotificationServer
![Page 6: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/6.jpg)
6
Web interface
![Page 7: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/7.jpg)
7
Web interface - Statistics
![Page 8: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/8.jpg)
8
Creating a package
• Want to package an awesome app™
• Let's take choqok as an example!
![Page 9: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/9.jpg)
9
Creating a package - Files
• Requirements:– Source tarball (ha, easy!)
– Build recipe (balls needed...)> Spec file for RPMs
> Debian control files
– Patience
![Page 10: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/10.jpg)
10
Creating a package – The inevitable
• You have to write spec files
• Can be automated:– cpanspec
– gem2rpm
– py2pack
– obs generator(blogs.kde.org/node/4177)
• Helpful tools:– spec cleaner
– rpmlint
![Page 11: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/11.jpg)
11
Creating a package – Waiting
• Once built locally, upload to OBS...
• Wait for dependencies or other packages...
• Find some bugs locally...
![Page 12: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/12.jpg)
12
Creating a package – Fetch it, use it
• Finally, the masterpiece compiled
• So, you wanna download and distribute it...
![Page 13: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/13.jpg)
13
More download options...
![Page 14: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/14.jpg)
14
Creating a package – Sharing
• You should send it somewhere:– BTW. how about
openSUSE:Factory?
– Has fierce reviewers...
– Gets you lot'sa cudos
– (Actually a devel project is needed first)
![Page 15: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/15.jpg)
15
How it ends up – A request
![Page 16: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/16.jpg)
16
Piles of packages - “My Work”
![Page 17: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/17.jpg)
17
KDE and Gnome in the OBS
![Page 18: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/18.jpg)
18
Coming up next...
• OBS 2.3 (beta2)
– Maintenance
– Groups
– Reviews
– Security improvements
– (Issue tracker integration)
• (Hot) Summer of Code
– Arch Linux support
– More (browser) testing!
– Android client
– New CLI
![Page 19: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/19.jpg)
19
Want more?
• build.opensuse.org
– The most prominent Build Service instance. Also contains links to documentation and source code
• en.opensuse.org/Build_Service
– OBS wiki portal
• features.opensuse.org
– Feature tracker
– The mailing list for discussing the Build Service.
• #opensuse-buildservice on Freenode
– Our IRC channel
![Page 20: Open Build Service · 2011. 8. 12. · 2 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to](https://reader033.fdocuments.us/reader033/viewer/2022052017/602fcfeea7c49a239d63c15c/html5/thumbnails/20.jpg)