Home Home > 2009
Sign up | Login

Deprecation notice: openSUSE Lizards user blog platform is deprecated, and will remain read only for the time being. Learn more...

Archive for 2009

Registering your shiny new HP Mini-Note 2133

February 6th, 2009 by

So you just got an HP Mini-Note 2133 pre-loaded with SLED 10?  Great, right?

Well…  It’s not been so great for a lot of people.  It seems that HP simply put this laptop together, half-assed a SLED load and sent it out into the wild.  I’ve had a ton of problems with it, the two major ones being that I couldn’t register the machine with the Novell Customer Center (not even with my site license) it ships with a non-working wireless card.

My wifi fix was simple, buy a new usb wifi dongle…  Registration, however, was a little easier to fix (after some wailing, gnashing of teeth, and chat in #opensuse-GNOME… thanks captiain_magnus!).

If you attempt to use YaST to register you copy of SLED on the 2133, you’ll be re-directed to a “special” Novell Customer Center login.  It’s a little different than the normal one in that it wants an HP license, not any other SLED license you may have.  The biggest difference, however, is that it’s broke.  It simply refreshes the page when you click submit and sends nothing to Novell.

They’re pretty sneaky about hiding your license number as well.  It happens to be on your restore DVD.  It’s located on the right hand side below the HP logo and the “2133” text.  It’s in a series something like NNNNNN-XNN, where N’s are numbers and X is some letter.

To get around the registration bug, have your license number handy and fire up your terminal.  Use ‘sudo’ or just ‘su to root and issue the following command:

suse_register -n -a serial-hp=NNNNNN-XNN

Where “NNNNNN-XNN” is your registration code.  Sit back and wait, it took almost 20 minutes for this command to finish for me and you’ll receive absolutely no indication that it’s functioning.  Once it’s done, you’ll simply be returned to your prompt.  Fire up YaST or your favorite terminal emulator and check your repositories.  You should now have a Novell repository added.

Enjoy!

Linking Buildservice packages with exact revisions

February 6th, 2009 by

During the “cleanup” of the HP-Education repository, I used a very interesting feature of the openSUSE Build Service: linking against revisions.

Sometimes, you want to patch a package from another repository to build with special features enabled or disabled. The Build Service allows you to link the package from this other repository (and avoid wasting space by duplicating the sources) and add your patches.

Now think about a patch against a special version of a package – and you know that you don’t want a package with a newer version in your repository for a foreseeable time. But if you use the plain link command of the Build Service, the linked package in your repository will get updated if the original package in the original project is updated.

Luckily, the buildservice allows you to link against a “frozen” state of a package: it’s source-revision. People already knowing any revision control systems like Subversion also know that the revision of a source is increased each time, a new change is submitted. And that’s what we need now: link against a special revision of the package from the other repository and apply our patch against it. The webclient currently doesn’t support such special features, but with osc it’s very easy.
(more…)

OSF Status Report #2

February 5th, 2009 by

In January 2009, the openSUSE forums achieved the highest user activity ever since the launch in June 2008. The user activity measures the number of individual visits and is therefore an indicator for the vitality of the openSUSE forums.

Up to the 31st of January 2009, we achieved a membership of 21.322 (+2.550) members, 21.073 (+2.929) threads and 122.695 (+17.492) posts. The number in brackets shows the increase of the corresponding measurement compared to the last snapshot taken on the 31st of December 2008. Most users ever online still was 7.771 on the 2nd of December 2008.

The following diagram shows the monthly development of new user registrations, user activity, new threads and new posts since the launch in June 2008. We experienced 15.104 individual visits to the openSUSE forums in January 2009, which is an increase of 14% compared to December 2008 and is even 25% above average.

Kudos to our Top5 posters during January 2009

  • caf4926 – 575
  • ken_yap – 455
  • oldcpu – 439
  • Malcolm – 405
  • Axeia – 405

Thanks as usual for making the openSUSE forums a worthwhile place to be.

Any comments about the OSF status reports are much appreciated by the openSUSE forums team.

openSUSE-GNOME Team Meeting Today (Timeshift) – 05 FEB 2009 2200 UTC

February 5th, 2009 by

Please join us for the GNOME Team meeting in #openSUSE-GNOME on
irc.freenode.net.

The current agenda can be found here:
http://en.opensuse.org/GNOME/Meetings/20090205

For time conversions, please see:
http://www.timeanddate.com/worldclock/fixedtime.html?day=22&month=1&year=2009&hour=22&min=0&sec=0&p1=0

Thanks!

Thats how I roll: Installing Ruby on Rails on openSUSE

February 5th, 2009 by

There’s been some discussion about Rails on openSUSE recently, so I thought I’d add to my Ruby articles with a Rails installation guide.

Getting started with Rails on openSUSE is a breeze.  In this particular article, I’ll quickly outline installation and startup of Rails on openSUSE 11.1.  You’ll need to install Ruby, ruby-sqlite, and ruby gems.  I’ve detailed these in my previous articles on ruby.

(more…)

Application Icons in the Package Selector

February 4th, 2009 by

Desktop files contain a lot of information about KDE/Gnome/X11 applications (e.g. names, icons).

Displaying this data in the package selector allows to provide a more detailed package description. The user can easily see which applications are included in an installed package.

Running these applications via mouse click is technically possible, but unfortunately security concerns don’t allow it. Please let me know if you have an idea how to solve this issue.

Do You Want Multiple Kernels on Your System?

February 3rd, 2009 by

Today, I’d like to mention another rather hidden feature of openSUSE 11.1. The package management is finally able to keep multiple versions of packages, if they support installation of parallel versions. A typical example of this is of course kernel. A lot of people want to keep the old, functional, kernel around when installing a kernel update and now there is a way to do it.

Open /etc/zypp/zypp.conf in your favorite editor and change this value:

multiversion = kernel-default,kernel-default-extra,kernel-default-base,kernel-source

The list contains names of packages to be installed via ‘rpm -i’ instead of ‘rpm -U’. Just adopt it to your the kernel flavor you are using.

Of course, there is a catch – there are no means to limit the number of package versions to be installed this way. The reasoning is that there is no automatic way to guess which versions to remove (in case of kernel, everyone has its own definition of working kernel) So you have to uninstall additional kernels you don’t need anymore manually.

Enjoy!

YaST WEB

February 3rd, 2009 by

Aim

First of all we want to provide an general web based interface with the
functionality which is already provided by the YaST command line interface.

This API is based on the REST (Representational state transfer) architecture. This is a
simple interface which transmits domain-specific data over HTTP.
Please have a look to

http://en.wikipedia.org/wiki/Representational_State_Transfer

for more information about REST.

The second aim is to provide a YaST Web UI which can be used by every
web browser.

The current state of the project is an existing YaST-Webservice on the
host side which provides the REST based interface.
On the client side we have the concerning YaST-Webclient which can be
used be any web browser.

YaST-Webservice and YaST-Webclient are running as a webserver
(currently lighttpd) on different or even the same computer.

So the aim is to configure a host via the internet in a simple and
safety way.

How does it work ?

YaST Web

The YaST Webclient communicate via HTTP(s) with the YaST Webservice. The
user has to authenticate ( username, password ) to the host via PAM
(Pluggable Authentication Modules) which is available on every linux system.

The YaST Webclient sends requests ( e.g. create a user, install patch) to
the YaST Webservice. This service checks if the user has the right to
execute this request via PolicyKit. For each kind of request there is
PolicyKit rule defined. These rights has to be granted to the concerning user.

After permission check the request will be send via DBUS to the SCR agent of
YaST. The return value will be given back to YaST-Webclient in XML or JSON
format.

Patches will be handled by PackageKit. These requests will also be sent from
the YaST Webservice to PackageKit via DBUS.

How to get it ?

Have a look the openSUSE buildservice project

YaST Webservice (home:schubi2)

There are all needed packages for version openSuSE 11.1 and above.

As some additional packages (e.g. lighttpd) are needed which are not on openSuSE 11.1 you should add a
repositories ( e.g. factory ) in order to provide these packages.
The simplest way for installation would be to use zypper:

zypper in yast2-core-2*.rpm
zypper in ruby-dbus-*.rpm
zypper in yast2-webservice-*.rpm
zypper in yast2-webclient-*.rpm

How to use the YaST-Webservice

After you have installed these packages you can start the YaST-Webservice-Server with

rcyastws start

The server is running as “localhost:8080” with which you can connect with a web browser:

http://localhost:8080

YaST-Webservice

This “pure” web page shows the available modules which can be used via the REST interface.

This REST API is described under

http://localhost:8080/doc_interface.html

Additional configuration stuff like

– setup Hostname and Port
– setup HTTPS connection
– granting permissions for an single user
– AVAHI support

can be found here:
http://localhost:8080/doc_config.html

How to use the YaST-Webclient

After you have started the YaST-Webservice-Server you also can start the YaST-Webclient:

rcyastwc start

Now you can use any browser and connect with http://<name of your computer> to your
computer.
The default rights of the YaST Webservice are set to root only. So you can login with the root password
of that machine.

Following features are implemented:

– setting languages
– setting system time
– setting user permissions
– installing patches
– managing local users
– export user SSH-keys
– starting,stopping,status,… of services
– configuration of ntp server

Have a look to the following screen shot it order to give an overview how it looks like:

System Services

Available Patches

User Permissions

Known Bugs
-The first call of an menue entry will be slow cause an additional process will be started.
The second one should be much more faster 🙂
-Permissions will sometime not be shown correctly (just click “search” again) Bug 470645

Writing wrapper packages for server applications or a generic YaST module?

January 27th, 2009 by

As we get more and more PHP-, Perl- and other applications like openSIS, Koha, Moodle, … in the Education repository, the question turns up, how to package those applications “the right way”.

A normal user, who wants to use one of these apps, might just choose to install the package and has the problem how to proceed afterwards. openSUSE sadly has no “post config” scripts like Debian based distributions – even the SuSEconfig scripts are deprecated. So all a packager can currently do is:

  1. write a README.SuSE (which is already the case for many packages) and place it in /usr/share/doc/packages/<packagename>/README.SuSE explaning how to proceed
  2. sugget what the user always wants to do and do it via %post-script after the installation of the RPM
  3. combine 1&2 and point the user to a script in the README.SuSE 🙂
  4. write a YaST module which can be started during installation or afterwards
  5. any other option I missed (please inform me!)

For the Education project, I’m currently thinking about two ways to make the life of the admins easier.

First: think about “wrapper packages” around the normal packages. I’ll take moodle as example. The normal moodle package installs the php-scripts, an apache configuration and some other config stuff – but will not setup the complete moodle instance. So the user has to install the mysql database himself. An additional wrapper package can do this for him. This package comes with a SQL-Dump of the current moodle version (therefore requires the exact moodle version), and uses a stored mysql-root password to create a new database and insert the database-dump. If needed (for example: the user enables the “user LDAP-Auth wherever possible” checkbox in a (to be written) yast-edu module), additional tasks can be triggered by the wrapper package.

We can also think about calling a “generic” YaST module after installation of such a “needs postconfiguring” package. If we define a place (say: /var/adm/YaST/postinstall/) where packages can place a file containing some important questions to configure the application, and someone writes a YaST module which can be started, this would perhaps be “very cool”. If the user has entered his values, the YaST module can start one or more scripts (coming with the package) and feeds it with the entered values. The biggest questions for this solution:

  1. When should this YaST module be started? IMO it could be enough to let the user start it manually and select the package he wants to configure. => No adaptions of the current workflows is needed. But perhaps there are other options (like calling it via “SuSEconfig”)?
  2. Who can write such a module?
  3. Who defines the config syntax?

Think about a file like this:

<package name=”moodle”>
<questionpack type=”string” action=”/usr/share/moodle/scripts/install_database”>
<question arg=”1″ type=”string”>What’s the database password?</question>
<question arg=”2″ type=”string”>What should be the name of the new database (suggest: moodle)?</question>
<question arg=”3″ type=”string”>What’s the username of the new database user?</question>
<question arg=”4″ type=”string”>What’s the password of the new database user?</question>
</questionpack>

<questionpack action=”/use/share/moodle/scripts/configure_auth_backend” type=”selectbox”>
<question arg=”1″>What auth-backend should be used?</question>
<answer value=”1″>ldap</answer>
<answer value=”2″>mail</answer>
<answer value=”3″>passwd</answer>
</questionpack>
</package>

I think, there’s room for many enhancements in this area – what do you think ?

Should/Could we produce something like a “Windows-Installer” for openSUSE? Or is it enough to provide special “wrapper packages”? Or is “what was hard to write, should be hard to install” still a valid answer?

Build maemo-apps with openSUSE BuildService ? – It works !

January 27th, 2009 by

build serviceThe openSUSE Build Service is an open and complete distribution development platform. It’s the infrastructure for a development of the openSUSE distributions. But this powerful tool can do much more! The upcoming version 1.5 will also have cross-build support and thus be able to build e.g. ARM packages on x86 hardware .

maemo.org loko Maemo is the platform for mobile devices like the N810 and has been developed by Nokia in collaboration with many open source projects such as the Linux kernel, GNOME and many more. (more…)