Skip to main content

Introducing GOSC - A Graphical client for openSUSE Build Service

Introducing GOSC - a graphical client for openSUSE build service.

openSUSE buildservice is an awesome framework for building rpms for multiple distributions. It is used by the openSUSE project, the Meego project, VLC, all distro releases from Novell, and in many other places. Usually OBS is accessed by a browser, I have implemented a simple GUI tool for working with OBS servers.

If you are extremely busy, just proceed to the screenshots section and the github tree. Otherwise, read below:

History
1) A few days back, sragavan, ravim85 and I were chatting on twitter that the new (2.0) interface of OBS takes too much of clicks and too many page navigations for simple operations (compared to older interface). I felt that it will be better if I could get the build information about all my projects in a single page and also allowing me to easily see the build logs of various packages.

2) I have always wanted to learn python. I have given some small level python patches for some projects. But haven't had any experience in writing a python project from the scratch.

3) Today (yesterday to be precise) I had an annoying meeting that drained me mentally and ended up with some frustration. I wanted to get rid of the bad mood.

Based on the above three factors, I decided to complete a project that I just started day before yesterday (with a simple Python HelloWorld) into an usable thick-client for openSUSE build service. The result is GOSC and the code is already in github.

OSC commandline & OBS Library
I wanted to use a library for talking with the OBS APIs from my GUI client. But darix confirmed my fear in IRC that no such library exists as of now. One option was to copy paste code from the osc commandline client's sources. But this is ugly and will give maintenance nightmares. So, I decided to just use "osc" from my python programs and create a GUI wrapper using Python.

yabsc
Srinidhi told me of a different client for build-service named yabsc. I looked into it. It was written in true KDE fashion, exposing every possible control to the user. It lists all the projects building in the entire build-service and not just "My Projects". Also, I felt it is a little keyboard unfriendly and had too many tabs. So I ditched it as it was not meeting my usability requirements. However, if you are a looking for a more powerful, more matured product and not scared by too many controls on screen, it is better if you try yabsc.

Screenshots


Initial screen. "My Projects" are shown in the top-left listview. 

Double-clicking a project from the list, will list the packages in the project in the adjacent listview. The buildresults of the project are shown in the bottom textarea.

Double-clicking a package from the top-right listview, will popup a Repository chooser dialog.

The entire buildlog of the selected package is shown in the textarea.

The source is licensed under LGPLv2.1. There are a lot of small fixes that could still be added, like a "Loading..." status bar for network operations, Caching of buildlogs, project names, subscribing to build notifications from the build-server etc. But they are not part of my regular workflow and also I strongly believe in "Release Early Release Often". So, I am releasing in this barebones version, which already seem to solve my workflow needs.

During the implementation of this, I learned a lot about python. This experience also strengthened my old opinion that Compiled languages are better for large scale projects.

Your feedback, comments and patches are very much welcome. 

Comments

Brandon Philips said…
This looks like a fun project. Are there any specific GUI issues you think could be fixed? I am trying to fix some issues up over here:

http://ifup.org/2011/02/17/fixing-open-build-service-ui-gripes/
YouKnowWho said…
At times I feel that poor managers screwed u badly. But if it can produce such code, then I'd say lets hire some like that ;-)
Brandon Philips said…
Re: Compiled vs dynamic languages

Python has really great support for writing test cases (try unittest2) and there is now support for defining a test method in setup.py so you can have a nice sane way to run things: ./setup.py test

Have fun :)
Sankar said…
@Brandon: Thanks. I will look into the unittest2 thing.

@YouKnowWho: Atleast as of now, the need is to hire different kind of managers, or letting the control to me for few days ;-) And yeah your name came first to my mind.
Anonymous said…
A few and also fascination minimize to around Three"We get consented to produce the origins of your Western european Financial Deposit," Sarkozy claimed in the EFSF's authentic nike air jordan
completely new powerBut Win Lean, worldwide go regarding rising promotes strategy in Darkish Brothers Harriman with The big apple, said: "This is actually merely kicking your nike air jordan shoes can later onIt will be permitted for the first time to give states preventive lines of credit before they may be be indifferent to connected with air jordan shoes credit areas, along with loan governing bodies dollars for you to recapitalize banking institutions -- the two movements which usually Belgium impeded earlier this year5-5Thursday's summit Cheap Nike Air Max is unlikely in order to level a rapid or even finish quality in the Language of ancient greece situation, nonetheless, as Merkel herself known the 2009 Cheap Air Max 7 daysThe actual pound in addition to Western european stocks and shares rallied sharply about news with the promising option2 percentageGreek Pm George Papandreou said the Cheap Air Max Shoes offer would certainly cover the nation's backing requires until finally 2020 and earn its debt lasting, nevertheless experts wondered if the lessening will be sufficient to Air Max Shoes prevent the restructuring from the method period
Anonymous said…
Five thousand pounds"It truly demonstrates, inside Eleventh hour or so, management through the european sector commanders,Inches claimed Niels Via, chief professional from NordeaThe particular management also manufactured precise conditions for restricting Nike Air Max the destruction when, as appears probable, credit score firms state A holiday in greece to be in short-term fall behind -- the primary these kinds of occasion in the 12-year good Air Max 2011 reputation for this dinar"AgreementSeveral alternatives are going to be agreed to private sector debt collectors taking part in the plan: three purports to swap Language of ancient greece govt provides and air jordan clearance something provide in order to roll over Ancient greek bonds in to debt along with maturities all the way to 3 decades8 % today That forecasted a new 90 percent take-up nike air jordan clearance fee through people; a number of solutions claimed the causing net factor means a new write-down of about 20 % for the importance of banks' Traditional attachment holdingsThe actual local save authentic nike air jordan
fund, the European Financial Stability Ability, will likely be permitted to obtain provides inside second market if your ECB believes of which essential to battle your crisisThe particular frontrunners likewise produced nike air jordan shoes in depth procedures regarding constraining damages in the event that, since appears most likely, credit score businesses announce Portugal to be short-lived fall behind -- the first such event within the air jordan shoes 12-year good reputation for the euro5-5
ANONIMO O.o said…
http://nightmareanddaydreams.blogspot.com
Do you have more info about how to manage open source? i have several problems with it.

Popular posts from this blog

Repairability

My Macbook Pro I have a Macbook pro retina 15 inch, that I bought in 2016. A few days back, the battery started bulking up and the laptop has totally stopped working. It has grown so big now that I cannot keep the laptop in a flat surface; it almost rocks like a see-saw. The touchpad panel is also feeling the bulge. The Macbook pro is not even switching on now, presumably to safeguard against battery explosions. I bought the laptop 4 years back, for about 200,000 INR (~2700 USD / 2200 EUR). Electronics are very costly in India :( This is the pre-touchbar Macbook pro. I did not like the new keyboard in the then new Macbooks (the first edition with the touchbar). Luckily, I did not purchase the touchbar version which probably is one of the worst electronic devices ever manufactured. I took my macbookpro today to a nearby Apple service center and I was told that the battery replacement would cost about 40,000 INR (~550 USD / 450 EUR). For such a costly laptop, it has a terrible battery lo

சைவமும் வைணவமும் தமிழும்

சைவம், வைணவம், இரண்டு சமயங்களும் தமிழ் இலக்கியத்தில் பெரும் பங்கு ஆற்றி இருக்கின்றன. இசுலாமியம், கிருத்துவம் இரண்டும் தமிழ்நாட்டில் வளரும் முன்; பவுத்தம், சமணம் இரண்டும் அழித்த பின்; சைவமும் வைணவமும் தங்களுக்குள் சண்டை போட்டுக் கொண்டாலும், இரண்டுமே தமிழ் இறை இலக்கியங்களை வளர்த்திருந்திருக்கின்றன. இரண்டுமே ஓரளவு தமிழ்ச் சிதைப்பும், வடமொழி தூக்கிப் பிடிப்பும் செய்திருக்கின்றன. kryes, சைவத்தோடு ஒப்பிடுகையில் வைணவம் குறைவாகவே தமிழுக்கு தீங்கு விளைவித்ததாக சொல்லி இருக்கிறார் ("தமிழ் முன் செல்ல", இன்ன பிற) (அவர் அப்படி நேரடியாக சொல்லாமல் இருக்கலாம், ஆனால் நான் அப்படிப் புரிந்து கொண்டிருக்கிறேன்). கடந்த சில மாதங்களாக யூடியூபில், சைவ வைணவ காணொளிகளைப் பார்த்து வருகிறேன். அதில் அவதானித்த சில கருத்துகள் கீழே. (முன்குறிப்பு: இதெல்லாம் எனக்குத் தோன்றியவை. இவை உண்மையாக இருக்கத் தேவையில்லை. உங்களுக்கு இதெல்லாம் தோன்றாமல் இருந்திருக்கலாம். ஆனால் அதற்காக என்னிடம் சண்டை போட வேண்டாம் :) ) 1) சைவ இலக்கியங்கள், (கிருத்துவம் போலவே) நிறைய அச்சங்களை ஊட்டுகின்றன. "நாய் நரிக்கோ இரை எதற்கோ (உ

Software obsoleting faster than Hardware

When I started my career, I was lucky to work on a legendary Operating System named Novell Netware . I got my first job because of a hacking adventure that me and my roommate Arvind did in our college on top of an upatched Netware installation. The reliability and robustness of Netware may make you believe in magic. But it was just a well-engineered, old-school product. One of the most popular instances of its robustness, was the epic uptime of 16 years as covered in arstechnica . (Image courtesy: Arstechnica) This was not an one-off situation either. We had multiple customers with years of uptime. In one of the academic institutes, the uptime was well into decades, that multiple sysadmins changed, but the netware box tirelessly worked on. At some point of time, nobody knew where the server was physically located, as nobody looked at it as everything worked fine. In almost all the cases, the hardware failed before the software. The software was engineered so well that it would have run