Skip to main content

the avatar of Martin Vidner

n2n package improved

Root.cz recently ran an article (in Czech) about the n2n virtual private network sofware, an open alternative to Hamachi. I intend to use it to cross the NAT in my mom's DSL modem so that I can connect to her computer with ssh and VNC.
Thanks to happyman_eric and Grief, openSUSE Build Service already contained a package. I have made an improved version, adding an init script and a sysconfig file. Get the sources in my home project, or the binaries.

the avatar of Katarina Machalkova

Freeeeeee Fall!

Yeah, it is really me jumping from the aircraft and falling down. My first thoughts after the jump weren't "Wow, this is fun", but "Geez, I've done it and I'm still alive". http://www.youtube.com/watch?v=BvISJI0olYs
Big thanks to Gejza and Bery (the two instructors accompanying me) - if it weren't for them, I would have never mustered courage to actually jump. Another big thanks to ACMik, Alenka and Danny - there's nothing like landing into the cheering crowd of your friends, especially when it's your first time :)

a silhouette of a person's head and shoulders, used as a default avatar

Gist of openSUSE:Stubborn

Jos Poortvliet wrote:

"Being stubbornly focussed on getting something done is the only bad habbit we allow in openSUSE :D
...  However, being stubbornly annoying about something YOU don't want to work on is frowned upon - as is putting down others on what they do, no matter how useless you think it is.  ..."

Nice said Jos.
It is a gist of openSUSE community.

a silhouette of a person's head and shoulders, used as a default avatar

OBS 2.1: Status of PowerPC and MIPS support with QEMU

Now that ARM support in the OBS is getting more mature, here a report on the Status of PowerPC and MIPS builds using QEMU. They are implemented similiar to the ARM solution, and use QEMU Usermode (to allow speedup with x86 based cross compilers like we do for ARM).

First of all, PowerPC native builds do work since a long time (3+ years). At the beginning, only XEN virtualization was available for OBS, and XEN did not work on PowerPC hardware. Recently, KVM autosetup was added to OBS with release 1.8. KVM also works on PowerPC machines, so there are now fully functional PowerPC native builds with virtual machine support available.

QEMU Usermode builds for PowerPC are working on 32bit targets. They had been tested on all linux distribution targets using 32bit PowerPC mode (all Debian or Ubuntu PowerPC have working builds). Due to the lack of some functions in QEMU, these builds do not work with QEMU inside a KVM virtual machine (the build results cannot be extracted due to a missing ioctl emulation on PowerPC). Since currently Fedora as well as openSUSE have dropped PowerPC support in their distros, this leaves only 32bit targets on Debian based packaging to be supported. Anyway, should someone need 64bit support, he can use a native machine to work with that.

QEMU Usermode builds for MIPS had also made the first beep inside OBS. They support currently Debian 4.0 mips and mipsel 32bit builds, and Debian 5.0 mips builds (mipsel currently fails on QEMU). It seems there is no RPM based distro available anywhere, so I had no chance to test this case. 64bit MIPS Usermode seems to be broken in QEMU, so it would need fixing. Also, QEMU Usermode hangs for MIPS builds when running in a KVM virtual machine.

A QEMU used for both the above cases is available now for quite a while in the OBS project openSUSE:Tools:MeeGo. The qemu package there is named qemu-deploy. The other small changes in osc, build and obs-server code needed are already in git master and will roll out with OBS 2.1.

In case you would like to help me enhance the support for PowerPC or MIPS and close missing parts (get MIPSEL working, fix KVM builds), feel free to contact me.

the avatar of Martin Vidner

ruby-dbus 0.4.0 with TCP Transport

I have made a feature release of ruby-dbus, a Ruby language binding for the D-Bus IPC system.
  • TCP transport which pangdudu coded a year ago. At that time I did not feel familiar enough with the library, and the test suite was much smaller too, so that's why it took me so long.
  • Enabled test code coverage report (rcov)
  • Classes should not share all interfaces (Ticket#36/Issue#5)
  • Ruby 1.9 compatibility (Ticket#37, by Myra Nelson)
RPMs can be found via openSUSE Build Service Search

the avatar of Gabriel Burt

Use Bugzilla Like a Champ

Things that can eat up way too much time:

  • Given a bug id #, going to its URL
  • Searching bugzilla

To save time, frustration, and get more done (since it's no longer time-consuming and frustrating), I added a few, special bookmarks. They contain a keyword, which you can type in the URL bar to go to the bookmark, and a %s, which is replaced by whatever you type after the keyword in the URL bar. In Firefox, you can right click a bookmark and edit its Properties to add a keyword.

Here are the ones I use most, and examples of what you can type in the URL/Awesome bar:

  • Go to a bug: bgoid
    bgoid 585112
  • Search BGO: bgo
    bgo product:banshee os:windows
    bgo product:hyena status:needinfo
    Other search fields you can use
  • Search Banshee bugs by summary: bbug
    bbug startup crash
    bbug metadata

Enjoy!

a silhouette of a person's head and shoulders, used as a default avatar

OBS 2.1: ACL Feature and Status

One and a half year is now gone since I posted about my work for ARM support in the OBS and the work for a port of openSUSE to ARM. Lots of things had happened in the meantime that are related, from my limited view most notably Nokia and Intel joining Moblin and Maemo to MeeGo (MeeGo is currently working on a number of Atom and ARM based devices), chosing to use OBS as build system and last but not least myself joining The Linuxfoundation (you will be not surprised to hear that I work at LF on OBS). In the meantime there had also been a major new OBS release 1.8/2.0 with a bunch of new features.

Interesting is the fact that we adapted the cross build system for OBS to MeeGo, first developed for use in Maemo and openSUSE @ ARM. An improved version for the standard MeeGo releases, and for the MeeGo weekly snapshots is used in the MeeGo OBS System to build all ARM releases of MeeGo (the cross toolchain will later get part of the MeeGo SDK @ ARM), thanks to Jan-Simon Möller (In the openSUSE ML, the issue of reactivating openSUSE:Factory ARM builds were brought up. So it might be a good variant to backport Jan-Simons new solution back into openSUSE @ ARM for that purpose). All the MeeGo related OBS installations will move sooner or later to OBS 2.1.

But now to the most recent work, Access Control support. A preview was shipped with OBS 1.8. Now an own OBS version, 2.1, will be dedicated to the introduction of this single new feature into the OBS mainline: Access Control (or abbrevated ACL for Access Control Lists). ACL means that there is control by the user on a per project or per package basis to protect information, source and binaries from the read access of other users in an OBS system and to hide projects or packages.

What is the intended audience of ACL? ACL is intended for installations of OBS that require protection of projects or packages during work. This can be but is not limited to commercial installations of OBS, or semi public installations of OBS.

How does ACL work? ACL sits on top of two features introduced with OBS 2.0: Role and Permission Management as well as freely definable user groups. ACL uses 4 specifically defined permissions (‘source_access’ for read access to sources, ‘private_view’ for viewing package and project information, ‘download_binaries’ for read access to binaries and ‘access’ permission to protect and hide everything and all from read access and viewing) on a user or group in the Role and Permission management. Also, the preexisting roles “maintainer”, “reader” and “downloader” had been modified with specific predifined permissions (which can at any time changed with the role and permission editor dynamically). And last but not least 4 new flags (namely ‘sourceaccess’ to signal a project/package has read protected source code, ‘binarydownload’ to signal it has read protected packages, ‘privacy’ to signal information/logfiles or status cannot be read and ‘access’ to hide and protect a project or package completely in all possible OBS API calls) had been added to the project and package descriptions to signal that some information is only readable by specific users or groups, or that information is hidden.

How do I use ACL? There are 4 steps to use ACL (a part of them a optional and can only be performed by the Administator of an OBS instance). Step one is to assign the listed permissions to a role, user or group (this step can be done only by the admin, and is not needed for the predefined roles “maintainer”, “reader” and “downloader”). Step two is to add a group for special users to projects which are intended to be run with ACL (this operations can only be performed by the admin). Step three is to protect a project with appropriate protection flags at project creation by adding them to the project meta. Step four is to add other users or groups with one of the new predefined roles that has ACL permissions added to the project meta.

What information can be protected by ACL? The protected information is grouped into 4 categories. Category 1 (flag ‘sourceaccess’) is source code. Category 2 (flag ‘binarydownload’) is binary packages or logfiles or builds. Category 3 (flag ‘privacy’) is project or package information like build status. Category 4 (flag ‘access’) is all viewable or accessable information to any project or package (full blocking of all access and information).

Example of a project configuration using ACL:

<user userid="MartinMohring" role="maintainer" />
<!-- grant user full write and read access -->

<group groupid="MeeGo-Reviewer" role="maintainer" />
<!-- grant group full write and read access -->

<group groupid="MeeGo-Developers" role="reader" />
<!-- grant group full source read access -->

<group groupid="MeeGo-BetaTesters" role="downloader" />
<!-- grant group access to packages/images -->

  <sourceaccess>
    <disable/>
  </sourceaccess>
  <!-- disable read access - unless granted explictely.
          This flag will not accept arch or repository arguments. -->

  <binarydownload>
    <disable/>
  </binarydownload>
  <!-- disable access - unless granted explictely -
          to packages/image and logfiles -->

  <access>
    <disable/>
  </access>
  <!-- disable access - unless granted explictely-,
          project will not visible or found via search,
          nor will any source or binary or logfile be accessable.
          This flag will not accept arch or repository arguments. -->

  <privacy>
    <enable/>
  </privacy>
  <!-- project will not visible.
          This flag will not accept arch or repository arguments. -->

What is the current status of the ACL implementation? The current status is that the complete API of the OBS git master had been instrumented with ACL code, critical portions of the API controllers had been code inspected and a big portion of these API calls now have a testcase in the OBS testsuite. Work is ongoing to make ACL as secure as possible. A code drop of current git master is under test in some bigger OBS systems, most notably the openSUSE Buildsystem. You can find snapshots of this codebase as usual in the OBS project openSUSE:Tools:Unstable. Adrian Schröter updates these “Alpha Snapshots” relatively often, on a 1-2 weekly basis, and runs the testsuite on git master daily. Thanks to Jan-Simon Möller for putting in many of the testcases into the testsuite for the ACL checks. On OBS Testing in general, read also Development and Test.

What is next? Code is tested and debugged against granting unwanted access due to some concepts inside OBS that are “working against ACL”, like project or package links, aggregates or kiwi imaging. We will inform you interested user of course about beta releases and an official 2.1 release.

Stay tuned.

a silhouette of a person's head and shoulders, used as a default avatar

Making a VCDS inferface work

While I'm in the mood for posting solutions to technical problems, here's another. I have a OBD interface cable for my VW Bora so that I can run a piece of software called VCDS (sometimes known as VAG-COM) and read the error codes from my car's ECU. However, when I plug in the cable (it's the USB version), it is usually assigned to COM7. Unfortunately, the VCDS programme only supports COM1-4.

Weirdly, the solution for me is to plug the cable in and run VCDS settings. If I choose COM3 then it successfully detects a COM port - I think it's used by the built in model. I save the settings, and then bring up the Device Manager and change the port used by the interface cable to COM3. It says the port is already in use, but lets you change it anyway. Then I just use the VCDS software and it works. This seems completely wrong, and to be honest, I'm sure there's probably a better way of doing it than this, but at least it works.
a silhouette of a person's head and shoulders, used as a default avatar

Disabling the buzz

I just installed openSUSE 11.3 on my desktop computer, and I have to say it's pretty much awesome. Almost everything has worked straight out of the box, including my Wacom graphics tablet and my wireless card. One thing that's been annoying me is that whenever I make a mistake (such as trying to delete some text that isn't there), my computer makes the most almighty buzz. Or maybe it could be described as a belch. It's pretty horrible, however you describe it, and makes me jump out of my skin every time. I think it's supposed to be the System Bell.

I spent some time trying to work out how to stop this, and eventually managed to stop it by doing this: I opened up KMix, clicked on the 'Mixer' button to bring up the full mixer. The selected tab was HDA Intel, and I clicked on Settings > Configure Channels, and then dragged the item called 'Beep' from 'Available channels' to 'Visible channels' and clicked OK. Then I muted the Beep channel.

I just thought I'd post that in case anyone else has a similar problem and is searching for a solution some time in the future.

the avatar of Andrew Wafaa

oSC10 – Conference Update

So Stage 1 of the next openSUSE Conference is complete (submission deadline), and we are moving forward with Stage 2 (scheduling talks). I personally wasn’t privvy to last year’s submissions, but we have well over 80 submissions covering a huge range of topics this year which is brilliant.

One of the nice things this year is we have submissions from other distributions and projects, which is great 🙂 The submissions from all parties cover a wide variety of topics from very technical to very fun, and it isn’t going to be easy to select which ones to accept.

Thank you to all who submitted a proposal and we will let you know on 20th August whether you are succesful or not.