Archive

Posts Tagged ‘idea’

Making a delicious coffee cake with openSUSE
1 star2 stars3 stars4 stars5 stars
(no votes yet)
Loading ... Loading ...

November 11th, 2010 3 comments

What we need for our delicious openSUSE coffee cake:

  • 300g Eclipse1
  • 200g IntelliJ Idea2
  • 150g ground NetBeans3
  • 1 baking Maven4
  • 1/2 spoon Groovy5
  • 1 cup of cold Java6
  • 3 eggs
  • 80g drawn butter
  • 100g chocolate icing

1 flour, 2 sugar, 3 walnuts, 4 powder, 5 cinnamon, 6 coffee

Instructions:

  1. Mix powdery ingredients in a bowl.
  2. Add liquid ones as well and stir around well.
  3. Bake in the oven and check regularly.
  4. When ready take out the cake and let it cool down.
  5. Put chocolate icing on the top and add some openSUSE magic.
  6. Enjoy!

Oh no, wait!

There are some ingredients missing in our kitchen, ahem, I meant Factory. Currently we only have NetBeans and today I learned from Michal that it will be probably dropped as well, because some of its parts started to depend on Eclipse.

So my question is: is there anyone from our great openSUSE community who is willing to help with Java packaging? We have various related packages (Eclipse, IntelliJ Idea + their dependencies like Groovy or Maven) spread around various places in the Build Service (e.g. home:lkundrak:IDEA, Java:eclipse:Devel), but we would like to have them fixed and pushed to our devel project for Factory – Java:packages. This is the first and necessary step for including these tools into you beloved distribution. Some of the packages are probably obsolete so it might be better to get inspiration directly at our Fedora friends (you can use this package list and a little helper script to peek how do they do it). If you are interested in this, please do so! We will try to help you on opensuse-java mailing list or #opensuse-java IRC channel on Freenode.

Oh, I almost forgot one thing. The most active Java packager will get an openSUSE coffee cake done by yours truly and the openSUSE Boosters! :-)

Gemcutter + openSUSE Build Service cooperation (idea)
1 star2 stars3 stars4 stars5 stars
(no votes yet)
Loading ... Loading ...

January 6th, 2010 3 comments

If you are closely following Ruby development and especially the situation around ruby gems, you might already know of Gemcutter. It is a new service, which provides a very easy way how to publish gems and also a good API to deal with them. It is not trying to replace RubyForge as whole, just its gem hosting (+ now defunct GitHub gem hosting) and will soon become the central and the only place for Ruby gems. The whole site is MIT licensed and the code is available on GitHub.

During the winter holidays I wrote a simple script which utilizes the Gemcutter API and prints versions of rubygem-* packages in our devel:languages:ruby:extensions Build Service repository compared with the corresponding gem versions on Gemcutter. Using this script and a great gem2rpm (more particularly gem2rpm-opensuse command which applies openSUSE template and is available from rubygem-gem2rpm package), I was able to update nearly a hundred of gems in just two hours. Rails rubygems have a specific packaging in openSUSE, so I left them out, but more than 90% of the rest didn’t need any changes in autogenerated spec file.

This brought me an idea. If only Gemcutter had an option to somehow send out notification that a new gem has been pushed, we could automate the process and have up-to-date rubygems in our devel:languages:ruby:extensions repository almost instantly. (We would still need to keep the list of “dirty” rubygems that need to be updated manually, though. For example, Rails packages I mentioned earlier, where we keep multiple versions, or others where we need to add a patch replacing /usr/local/bin/ruby with /usr/bin/ruby in scripts).

Few days later, Gemcutter gained RSS feed support, but only for the gems one is interested in. I didn’t find the option to have RSS feed for all gems. This could have helped in creating such mechanism, but that won’t be needed anymore because …

… yesterday Nick Quaranto of Gemcutter announced webhook support. I’m really excited, because that’s exactly what we need! When one registers a webhook, Gemcutter emits a POST request on a certain URL when a gem is pushed or updated. This request is a JSON document containing the info about gem. What we need is to create a mechanism that:

  • receives notification via POST JSON request
  • checks whether the package is not “dirty” → exit if it is (and probably send some email …)
  • fetches the package from the Build Service or create a new one
  • fetches the new gem, removes the old one
  • runs gem2rpm-opensuse to create a spec file replacing the old one
  • adds changelog entry
  • pushes the updated package back into the Build Service

Last but not least: If Fedora and Mandriva had gem2rpm templates in a perfect shape too, Build Service could provide packaged gems also for their distributions.

So what do you think? Any volunteers for this? Right now, I’m off to fix some small bugs I found in gem2rpm while fiddling with it … :-)