obs – openSUSE Lizards https://lizards.opensuse.org Blogs and Ramblings of the openSUSE Members Fri, 06 Mar 2020 11:29:40 +0000 en-US hourly 1 https://wordpress.org/?v=4.7.5 openSUSE OBS git mirror https://lizards.opensuse.org/2019/09/13/opensuse-obs-git-mirror/ https://lizards.opensuse.org/2019/09/13/opensuse-obs-git-mirror/#comments Fri, 13 Sep 2019 19:42:12 +0000 http://lizards.opensuse.org/?p=14032 There was some discussion about our OBS and how in contrast Gentoo, VoidLinux or Fedora used git to track packages.

So I made an experimental openSUSE:Factory git mirror to see how well it goes and how using it feels.
The repo currently needs around 1GB but will slowly grow over time. I did not want to spend effort to import all history.

Binary files are replaced by cryptographically secure symlinks into IPFS
and I am currently providing files up to 9MB there.

If you can not run ipfs, you can still get these files through any of the public gateways like this:
curl https://ipfs.io$(readlink packages/a/aubio/aubio-0.4.9.tar.bz2) > OUTPUT

So some benefits are already obvious.
It is now much easier to find and download our patches.
Downloading and seaching all of openSUSE is now much faster.
And it works even on Thursdays (when our maintenance window often causes OBS downtimes).

It is meant to be a read-only mirror, so there is no point in opening pull-requests on github.

I hope, you enjoy it and have a lot of fun…

]]>
https://lizards.opensuse.org/2019/09/13/opensuse-obs-git-mirror/feed/ 2
targitter project – about OBS, tars and git https://lizards.opensuse.org/2015/10/05/targitter-project-about-obs-tars-and-git/ Mon, 05 Oct 2015 19:24:57 +0000 http://lizards.opensuse.org/?p=11543 In OBS we use source tarballs everywhere to build rpms (and debs) from.

This has at least two major downsides:

  1. Storing all old tar files takes up a lot of disk space
  2. OBS workflows with .tar files and patches are rather different and somewhat disconnected from the git workflows we usually use everywhere else these days. E.g. for the SUSE OpenStack Cloud team we have a “trackupstream” jenkins job, that pulls the latest git version into a tarball once every day.

Fedora already keeps their metadata in git, but only a hash of the tarball.

So as one first step, I used two rather different projects to see how different the space usage would be. On the slow side I used 20 gtk2 tarballs from the last 5 years and on the fast side, I used 31 openstack-nova tarballs from Cloud:OpenStack:Master project from the last 5 months.
I used scripts that uncompressed each tarball, added it to a git repo and used git gc to trigger git’s compression.

Here are the resulting cumulative size graphs:

gtk2 size graph
nova size graph

The raw numbers after 20 tarballs: for nova the ratio is 89772:7344 = 12.2 and for gtk2 the ratio is 296836:53076 = 5.6

What do you think: would it be worth the effort to use more git in our OBS workflows?

Do we care about being able to reproduce the original tarballs? While this is possible, it has some challenges in differing file-ordering, timestamps, file-ownerships and compression levels.
Or would it be enough if OBS converted a tarball into a signed commit (so it cannot be forged without people being able to notice)?

Do you know of a tool that can uncompress tarballs in a way that allows to track the content as single files, and allows to later re-create the original verbatim tarball, such that upstream signatures would still match?

]]>
Install VAMOX Icons and change your Desktop Environment https://lizards.opensuse.org/2015/03/26/vamox-icons/ https://lizards.opensuse.org/2015/03/26/vamox-icons/#comments Thu, 26 Mar 2015 11:01:35 +0000 http://lizards.opensuse.org/?p=11306 I was searching to add some awesome icons to GNOME. After a long search, I found out that VAMOX icons rock!!! I liked the 3D nature of them. They come to 3 different versions. Take a look:

1. Vamox MATE
2. Vamox Ceibo
3. Vamox Celeste

I thought why not try to put them to obs? Is it the right tool? I made a research and found some other cool icons there. So I started reading and testing. A lot of errors. Since I’m end user, I thought I’m not going to make it. I better quit. So I deleted everything. The next day, I tried 2-3 times and it worked (the actual error was the name of the unzipped file). I tried it on my computer and it worked fine. Then I added Fedora as another repository and with the help of my friend Tom Tryfonidis, I added Arch Linux. Let’s see the result.

VAMOX MATE

If you like this result, go to vamox mate repository and choose your distro.

VAMOX Ceibo

If you like this result, go to vamox ceibo repository and choose your distro.

VAMOX Celeste

If you like this result, go to vamox celeste repository and choose your distro.

NOTE: It’s tested on openSUSE (GNOME, XFCE and MATE) and on Arch (GNOME)

]]>
https://lizards.opensuse.org/2015/03/26/vamox-icons/feed/ 1
Code quality and Code guidelines https://lizards.opensuse.org/2014/02/19/code-quality-and-code-guidelines/ https://lizards.opensuse.org/2014/02/19/code-quality-and-code-guidelines/#comments Wed, 19 Feb 2014 08:07:11 +0000 http://lizards.opensuse.org/?p=10582 Today I like to take you precious time to talk about thing that get so less attention in open source world. I like to talk little bit about QA and Coding guidelines.
Many reader who are in companies that take care of themselves or are involved some major open source or free software project like KDE, GNOME or Linux kernel knows that they/we have Coding guidelines. KDE have it here and Kernel have it here. So they have them and whats the big deal?

Why have code guideline and hang on it?

I’ve been coding since I was kid. I didn’t know better way to waste my time that sitting front of Commodore 64 and hack together some BASIC code and my code was horrible.
I didn’t have any clue how to organize it or how to make it more readable (BASIC ain’t that BASIC when you try to read it afterwards). Years after some major Assembly experiences on 286 and 386 I found Pascal. Then I understood one thing. If you don’t understand your stuff you write you don’t understand it after a while! So I tried to be more constructed what I did (Pascal/Delphi still have soft spot in my heart.. always!) and forget it sort after that for almost 10 years.

Doing it professionally

If you code for living you have to be very sure you can read your code and others can also. You can stop developing your code after that someone else can come to maintaining that particular code and this is situation in open source most of the time.
You never know how long you code will be used, forked or maintained by someone else brave after you have moved on to something more interesting.
Following code guidelines is not very difficult. You just forget about your excuses about beauty of your code and ignorance about making code look solid with rest of application. Most horrible
is read some code that where you have to learn how different people write code and their definition about good code guidelines.
If you lazy like me you can use tools like:

I do want my code to look like I did it

No you don’t if you contribute to someone else project you make you code look like his or her code. Structured code is always looking good.
We have policy that version control system make decision how code should look like. So there is some tool and version control hook script that structures code to what is our stated our code guidelines and believe me it have worked better than I expect. People still have to make changes but you have reply what is wrong. No more rants about what is correct looking code and people giving me excuses why code is not following code guidelines. There is only one that have dictatorship here and it’s version control system and 99.9% it does good job.

Code guidelines are not equal Code quality

No they are not. They have nothing to do with Code quality control or do they? openSUSE Build service have very good for everyone to take good example. To make your RPM package SPEC-file compile to binary or source RPM you have to follow machine checked rules. If you correct at least those it will be all okay. Scripts check that you don’t have million bytes long jargon in Summary-line or you have Summary-line at all. They run rpmlint and check C-code for some we’ll known problems. If they are qualified enough to go through this you won’t get your RPM/DEB/Arch-package.
Now we can argue long time do static code checking have any value but long time user of static code checking tools like cppcheck I can tell static analyzing find many that people just ignore to find because they don’t have time to thing whole logic or understand that memory handling issue.
Best way to use them I again run them on version control system hook before code gets in. It won’t make code perfect but you make developer fear for commiting and when developer fear they make better code.
After you have structured code and machine checks it statically it’s much easier to get in to point and find problems. So you can talk about what is really wrong or right with code. It’s easier to read some text if that have passed thesaurus in Libreoffice and again openSUSE obs policy is very very efficient. It spots stuff that you don’t care about and yes I miss SPEC code structure-script in OBS but you can’t have all.
Now it’s time make code guidelines to you project and use some tool to make all project look like it (My opinion is that have always some for example Artistic Style tool example how to structure code for your with code guidelines) and that FFmpeg stuff is coming when I feel it’s ready to rock!

]]>
https://lizards.opensuse.org/2014/02/19/code-quality-and-code-guidelines/feed/ 2
openSUSE and GCC part 10: Distributing to other distributions than openSUSE with OBS https://lizards.opensuse.org/2014/01/07/opensuse-and-gcc-part-10/ Tue, 07 Jan 2014 08:15:54 +0000 http://lizards.opensuse.org/?p=10387 Last time I talked about OBS and how to compile your application that you have developed with GCC. OBS is much more than just a tool for compiling openSUSE additional packages. You can also compile Debian, Ubuntu, Arch and Fedora (and couple more) but why on earth you want to do that? Short answer: because you can! Little bit longer answer: because you can and freedom is two way road. You can’t guess what Linux distribution or OS your user wants to use but you can make sure that you application is first class citizen in that Linux distribution. Of course You can use Fedora build service or Ubuntu launchpad but they are just for that distribution only. If it’s fine with you. Be happy and use these marvelous services. If you have woken up in night all sweat. Thinking all these openSUSE lizards that are unhappy because they can’t use your fabulous application.. it’s time to start sleeping well.

Fedora distribution or RHEL

RPM based Linux distributions are very easy with OBS. You just have to make SPEC file generic. If you like to do it right you should read openSUSE:Build Service cross distribution howto and learn how to do it.

OBS and DEB based distributions

This is little bit trickier but not much. You needed decent DSC-file (Most dsc files goes without changes. If you like to use Bzip2 file then you need to add ‘DEBTRANSFORM-TAR’ in dsc-file) file and then you need ‘debian.tar.gz’ in your project or ‘debian/’-dir in your project. What are files that you need in you debian package/dir? That is a very good question and it stays unanswered here because it’s not point of this blog. If you are curious enough you can always download ‘debian.tar.gz’ from example application and study files or look Debian documentation about it.

Arch

Arch is most unknown distribution for me but it has vibrant community and active development so providing packages to them is good thing. They seems to like live bleeding edge. So Just add Arch distribution in your project in OBS and then fill PKGBUILD-file with necessary lines and like magic you have Arch supported (Look at example PKGBUILD-file if you don’t understand a thing).

This was it! No more articles about GCC or around it. Next I’ve going to dive low level Linux Multimedia especially in audio and FFmpeg (and how you do them in openSUSE). if you haven’t read rest of articles and you feel you missed something. Go on a read them and if you missed good OSC-blog you can read it too.

]]>
openSUSE and GCC part 9: Open Build Service why should I use it? https://lizards.opensuse.org/2013/12/11/opensuse-and-gcc-part-9/ Wed, 11 Dec 2013 13:52:40 +0000 http://lizards.opensuse.org/?p=10255 Imagine yourself in place where: you have succeeded to create best open source project ever appeared in face of earth. Your project has most fabulous source management system ever imagined (mostly coded by you) and you release tar balls often with plenty new neat features. You have managed that your project users provide some binary builds for Windows, Mac OS X and some bunch of Linux distributions. So your ride is smooth and pleasant (Mr. Maslow just waves to you from bottom of pyramid). Then black clouds arise and some Linux build manager who is doing binary builds for spefic important Linux distribution just vanishes upon the earth or you notice it would be nice to support more wide range of distributions than you allready have. Then you should consider using Open Build Service or openSUSE version of it known as OBS.

OBS in nutshell

Open Build Service started as named ‘openSUSE build Service’ but name changed long time a go. Basic idea is that you can compile source package to binary package and do it on many different distributions and architectures same time. It sounds good and mostly it’s better than that.
So last time I showed how to make RPM package and now I’ll transfer it to OBS and build it. For not wasting time I have already made project for it under my home project. In project page there is plenty of stuff most of them we talk in last episode. As you can notice OBS has very good and clean web gui. All thought I’m hardcore fan of shell I really enjoy OBS webgui.

Show me code

If you sign up for OBS you get your own home directory and you can create sub-projects there like I did home:illuusio:example/sdl_displaybitmap . Under package there is plenty of distributions currently build: Debian, Fedora, Arch and openSUSE of course. ‘sdl_displaybitmap.spec’ is the same SPEC file as used last time with out any tuning and same goes with tar-ball file ‘sdl_displaybitmap-1.0.tar.bz2’. Other files you can ignore in this point.
OBS thing is you can just push (with some excuses and oopses) your rpm spec file and get it compile. Now you should really read openSUSE packaging documentation because if you just gun ho forward like me did at the begin you gonna suffer and then suffer little more and then you probably die in misery and your children will be send in salt mines.

This was it? now what?

Look around and think if it’s for you. I like OBS enough to drop you a tip about it but it’s just my opinion. Take some time and learn how to use OBS and probably command line util ‘osc‘. Then you start to make extraneous RPM packages with OBS and start distributing your best-on-earth open source project binary packages for multiple Linux distributions with ease and speed you never have seen before or you just keep on doing what you are doing.

But but I got closed source application and want to use this system

Okay this is shameless commercial part! Don’t read any futher if you don’t want to. Then you can contact me and i’ll consult you out or read one more what reads here. Like you probably find out they have version of OBS that is open source and if you set it up all by yourself it doesn’t cost you a dime or save some time and buy support from B1 . it’s up to you again ;).

]]>
bareos an interesting replacement to bacula https://lizards.opensuse.org/2013/06/02/bareos-an-interesting-replacement-to-bacula/ https://lizards.opensuse.org/2013/06/02/bareos-an-interesting-replacement-to-bacula/#comments Sun, 02 Jun 2013 13:48:00 +0000 http://lizards.opensuse.org/?p=9460 Bareos logo
Dear community, I would like to present and get your feedback about a new project called bareos [1]

I discovered it 6 months ago, after starting to be more and more annoyed by the way the bacula’s community edition was driven and developed. Even if I was using it since version 1.32 … First of all, I wish to be clear and shout out my respect to all the work done by Kern on Bacula or any other contributor. We have a really nice working software. We even have a nice build packages for it on OBS.
But it’s stalled …

My personal frustration started with the creation of Bacula Enterprise, which has until now never (from what I’ve seen) reversed an Enterprise feature back to the community. Which in my sense would have been a clear statement & commitment from the Bacula Enterprise to the community.
A Free Software is free once it has been paid once. And more the time pass, more the community edition look like abandoned (windows client binary, bweb, …) Okay I can understand the enterprise’s edition arguments, the point is not there according to me.

So at the end of last year, I’ve started looking what else could replace Bacula for my own usage, and the small/medium customers I serve. Digging on github (my favorite source forge) I discovered bareos project. Basically Bareos is a fork of bacula community edition. With active contribution, and look like what I was looking for. Bareos is a compatible (at the time of writing) drop’in replacement which offers a bunch of nice feature I was waiting for. Especially high quality windows clients. The whole being cooked on a private obs instances, tested with jenkins, travis …

Okay I was disappointed about the fact it was a fork, but their website explains the why for those who wish to know.

I’ve then started to use it (easy to try with the number of supported platforms) and ready to use package. (Thanks to open build service [2]) Some installations were kept in a compatible way, other in native bareos way. The transition was really easy for anybody knowing how bacula works. After 3 months of production, including full restore, virtual machine backup, etc, I qualified it to be really production ready. Hey the base code and the way patches have been handled certainly explain those results. I also appreciate the effort to make bareos almost ready to use after installation. Trying to reduce the entry level ticket.

The remaining concerns I’ve found:
– The community behind will have to grow and success in a truly transparent way.
– Get new contributors (challenge is the same for bacula, but forking and propose request merge on github is really more cool than email patches)
– The full remake of the documentation (work in progress)
– Get a perfect web bconsole
My best hope:
– Make sustainable, the business plan associated with bareos.com and thus continue to produce quality community software

So did some of you already test it?
What’s your own feedback, your thoughts about it?

Regards.
[1] http://www.bareos.org
[2] http://openbuildservice.org

]]>
https://lizards.opensuse.org/2013/06/02/bareos-an-interesting-replacement-to-bacula/feed/ 1
openSUSE 11.2 and OBS at Universidad Latina https://lizards.opensuse.org/2010/07/05/opensuse-11-2-and-obs-at-universidad-latina/ Mon, 05 Jul 2010 19:09:31 +0000 http://lizards.opensuse.org/?p=4547 Universidad Latina, Facultad de Ingeniería. “LibreSoft”. July 1st., 2010 from 6:00 p.m. To 10:30 p.m. (- 5 EST) several FOSS individual representatives held a meeting on 3rd floor of the main building, gave some talks about FOSS, software developments, open source, licensing, sharing code, community contributions, and applications to the general public, Telecommunications and Industrial Engineering students, professors, dean and lawyers. OpenSUSE Ambassador, Ricardo Chung, shared the space with Diego Tejera (Ubuntu LoCo Team), Alejandro Perez ( Fedora Ambassador ), Abdel Martinez ( Fedora Campus Ambassador), Adrien Scott ( www.fosdev.com) and others. Ricardo gave a talk about openSUSE 11.2 features and some sneak preview features on openSUSE 11.3 ( http://en.opensuse.org/Product_highlights_11.3), the openSUSE Build Service 2.0 ( http://en.opensuse.org/Build_Service) as software development and colaboration platform useful for any Linux distribution, SUSE Studio to customize our distribution on different enviroments, and KIWI to make an operating system image available on physical media ( http://en.opensuse.org/Kiwi ). Ricardo also, answer some questions about openSUSE community and local users group, installation, as well as some questions about Novell and Microsoft alliances were clarified. After the talk an openSUSE and Novell trivia was given and the winners got some openSUSE 11.2 CDs with Gnome Desktop by default.

Make a click on http://picasaweb.google.com/RICARDO.A.CHUNG/OpenSUSEAtLibreSoft# to watch some photos

]]>
New/updated Apps @ home:saigkill https://lizards.opensuse.org/2009/04/04/newupdated-apps-homesaigkill/ https://lizards.opensuse.org/2009/04/04/newupdated-apps-homesaigkill/#comments Sat, 04 Apr 2009 18:50:10 +0000 http://lizards.opensuse.org/?p=682 The following changes was in my home:saigkill Repo:

dumb 0.9.3 (Dynamic Universal Music Bibiotheque)               NEW submitrequest to games:/
kqlives 20080202 (Zelda like RPG)                                                  NEW submitrequest to games:/

kde4-kblogger 1.0svn948858 (Blogging Client for KDE4)       NEW

]]>
https://lizards.opensuse.org/2009/04/04/newupdated-apps-homesaigkill/feed/ 1
New/Updated Software https://lizards.opensuse.org/2009/02/10/newupdated-software/ Tue, 10 Feb 2009 12:19:40 +0000 http://lizards.opensuse.org/?p=418 Hello Mates,

now following new/updated and published Software:

* Repo: openSUSE:Factory:Contrib:
kde4-skrooge
lynis
python-icalendar
rkhunter

* Repo: KDE/KDE4/Community
kde4-skrooge

* Repo: home:saigkill
boinctray
tktray

]]>