Skip to main content

the avatar of Martin Vidner

ruby-dbus 0.7.0 works with 1.9.2 again

I have made a new release of ruby-dbus, a Ruby language binding for the D-Bus IPC system.
  • Added ASystemBus and ASessionBus, non-singletons useful in tests and threads.
  • Fixed handling of multibyte strings (Issue#8, by Takayuki YAMAGUCHI).
  • Allow reopening of a dbus_interface declaration (Issue#9, by T. YAMAGUCHI).
  • Fixed ruby-1.9.2 compatibility again (Issue#12).
  • Fixed authentication on BSD (Issue#11, by Jonathan Walker).
  • Fixed exiting a nested event loop for synchronous calls (reported by Timo Warns).
  • Fixed introspection calls leaking reply handlers.
  • "rake test" now works, doing what was called "rake env:test"
Get a gem from RubyGems.org or an rpm from the openSUSE Build Service.

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

    A utility for merging configuration / sysconfig files – Week 9 Report

    Hello,

    Exciting news for the project this week. After solving the problem with the comments and the tree representation of the sysconfig files in Augeas, there was a big leap in the project’s progress. By having test data and through debugging i was able to complete the match algorithm.
    The program is now able to traverse through two trees / files, make the necessary matches between the nodes of these two trees and provide the appropriate information to the later stages. That of merging.

    What exactly have been done in the previous week:

    – Tree representation of sysconfig files
    – Matching between two trees nodes completed
    – Sorting of labels (Small Fixes)
    – tree_compare function complete
    – Tree traversal of aug_process_trees ( revisited)

    What is for next week:

    – Finish merging functions for aug_process_trees ( I feel optimistic that i will surely complete this next week due to the reason that matching was completed)
    – Create first beta packages
    – Test Test Test
    – Improve code

    the avatar of Andrea Florio

    LXDE and gtk3

    GTK3 will slowly replace the “old” gtk2, and of course, if we don’t want to be left behind we have to move to gtk3 eventually.

    Even if slowly (we need horse power! –> yes we need you too!!) LXDE is being ported too. Nothing has been released yet, but a good deal of work is actually into git repositories.

    X11:lxde:gtk3 project

    Thanks to openSUSE Build Service (public instance of the Open Build Service) we are currently able to get git code and build it auto-magically (thanks god you created obs _services 😀 )

    Right now, only five packages don’t want to build with gtk3 and they are: gpicview, libfm, lxmusic, lxpanel, pcmanfm. Everything else builds fine. As a side note, lxdm gtk greeter build but seems to crasch.

    Please test those packages and report in our mailing list or even better upstream your issues.

    To conclude, right now i don’t feel comfortable to push into factory gtk3 packages, so 12.1 most probably will stuck with the well know stable gtk2 packages.

    Also, i’m actually working to use obs, to provide gtk3 enabled git nightly build not only to openSUSE (actually only >= 11.4) but also to Fedora 15 (already building with many successful packages) and Ubuntu/Debian. So if you are .deb packagers, please let me know, i need your help. Contact me and the lxde team using our mailing list opensue-lxde@opensuse.org

    Have a great day,

    Andrea

    the avatar of Carlos Gonçalves

    SSH connection automation

    Part of my daily routine involves accessing and managing a considered amount of remote servers through the SSH protocol. I use screen a lot to ease the job by having a couple of windows opened on each server, so avoiding multiple connections to the same server. By using screen not only helps me grouping server windows altogether in one console window/tab but also is a time saver in those days when network connection is not in its glory days allowing me to reattach it and carrying on being productive (*sighs*).

    But, before connecting to all those machines, I used to repeat over and over the same setup steps:
    1. send my public key to server
    2. upload my screen configuration file
    3. create an alias (because ssh'ing manually is a truly hassle each time I want to connect!) to connect to the server and reattach or create a new screen session
    4. Change its permissions to 700 (security freak? Oh well...)

    Four repetitive and forgettable operations that could all be avoided, sparing me some minutes of my precious time. But no more!

    Here is a handy Bash script I wrote the other day (at last!):
    #!/bin/bash
    # $1 = [remote_user@]remote_host
    # $2 = [alias name]
    BIN=$HOME/bin
    if [ "$#" -lt 1 ] || [ "$#" -gt 2 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
    echo "Usage: $0 [user@]machine [alias]" >&2
    exit 1
    fi
    if [ "$#" -eq 2 ]; then
    (
    cat <<EOF
    #!/bin/bash
    ssh $1 -t screen -x -R
    EOF
    ) > $BIN/$2
    chmod u=rwx,go= $BIN/$2
    fi
    ssh-copy-id -i ~/.ssh/id_rsa.pub $1 > /dev/null 2>&1
    scp ~/.screenrc $1:~/ > /dev/null 2>&1
    exit 0

    Copy and paste this code to a file in your $PATH (mine is $HOME/bin/setup-machine) and give it execution permission (chmod u=rwx,go= ).
    Obvious to some, though may not be to others, here is an usage example:
    Macnux:~ carlos$ setup-machine -h
    Usage: /Users/carlos/bin/setup-machine [user@]machine [alias]
    Macnux:~ carlos$ setup-machine cgoncalves@cgoncalves.info cgoncalves
    cgoncalves@cgoncalves.info’s password: *****************
    Macnux:~ carlos$ cat bin/cgoncalves
    #!/bin/bash
    ssh cgoncalves@cgoncalves.info -t screen -x -R
    Macnux:~ carlos$ cgoncalves
    [SSH connection established and attached to screen]
    the avatar of Andreas Jaeger

    Factory Progress 2011-07-18

    I’ve noticed the following changes that might interest people using and developing openSUSE Factory:

    Package changes

    GNOME 3.1.3

    The GNOME team plans to have GNOME 3.2 in for openSUSE 12.1 and thus have updated to the current development release 3.1.3. They have also started removing old GNOME 2 packages that are not needed anymore.

    systemd

    Frederic gave an update on systemd integration. The graphical bootloader allows now to switch during boot between systemd, SysVinit and also shell code.

    Also, Lennart Poettering wrote in his “systemd for developers” series about socket activation where he uses cups as example.

    hal

    The hal daemon has been dropped from Factory after all users with clean spec files have been changed to work with the successors of hal like udisk and udev.

    samba

    Samba is getting updated to 3.6.0, one of its major features is full SMB2 support.

    Linux Kernel Headers

    Linux kernel 2.6.38 removed the Video for Linux v1 support and also the file linux/videodev.h. Since we now use the Linux Kernel 3.0, applications using the old interface need to be converted. A replacement is libv4l1-videodev.h from libv4l-dev >= 0.8.4.

    Keeping old kernel(s) while installing new ones

    Michal Marek descripes in his blog how it’s possible to configure which kernels to keep installed when a new one gets installed. With a simple change to the zypp configuration, you can define e.g. that you always like to keep the latest running kernel when you install a new one.

    Upcoming Features

    A new page called “upcoming features” has been created to point out new features for the next release. Please help updating the page with new information.

    Policy and tool changes

    Directories not owned by a package

    We have now enabled a build time check that all directories are owned by a package and this hit 49 packages, most of them are fixed by now but packagers should fix the remaining onw.

    Other interesting bits

    openSUSE 11.4 Milestone 3

    Coolo announced that milestone 3 is delayed due to some kernel bugs which the testing team encountered with their daily testing scripts.  On 2011-07-18 the 3.0 RC7 kernel was checked in and should fix this.

    openSUSE Conference

    The call for papers is continuing to run, please submit session proposals at the conference site. Also, registration is open now.

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

    PackageKit backend for Software Center: short week 7 report

    Short weekly report is short, this week’s achievements:

    - fixed the install/remove simulation bits (it can now tell what packages will be removed after applying changes)

    - improved PackageInfo testing (works with both AptCache and PackageKit)

    - found the problem with dynamic/static libs conflict: it is gio statically loaded from gtk and then Gio dynamically loaded from PackageKitGlib; loading Gio before everything seems to fix the conflict for now;

    - got another round of refactor changes into trunk, thanks to mvo; this way my PK branch is one step closer to merging into software-center

    ktnxbye :-)

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

    Exchange WebServices Offline AddressBook

    It is now possible to download GAL contents for offline usage through exchange web services in Evolution. Offline GAL is termed as Offline Address-book (OAB) in Exchange WebServices and it may contain one or more Offline Address-lists (OAL).

    The check-box, ‘Cache offline address-book’ would be sensitive if the OAB url is discovered using the AutoDiscover service from the previous page (‘Receiving’). On clicking the fetch buton, the available offline address-lists would be displayed in the combo box.  The user can select the address-list which he is interested in.

    If the GAL is not selected for offline usage.  A GAL folder would be created in Contacts component and would be used just for auto-completion when Evolution is online.

    To change an offline address-list, one just needs to go back to ‘Receiving page’ in preference and select a different address-list. This would remove the old OAL folder and its contents and create a new OAL folder.  At the moment, evolution-ews supports caching only one OAL, though it is very easy to extend it to support many. I feel it would sufficient to have one at the moment, but if a need arises, the plugin can be extended to create new OAL folders on demand.

    If an address-list is chosen for offline usage, one CAN auto-complete while the caching is in progress!! All operations are asynchronous and cancellable.

    Internals

    OAL’s would be listed in the link  <OABUrl> + ‘oab.xml’. They would be available as compressed files, compressed using LZXD format.  There are three versions of OAB ‘2, 3, 4’ and Evolution supports downloading, version 4 OAB Full Details file.

    LZXD

    To put it simply, lzxd extends the lzx decompression format adding support for differential updates. I have picked up the lzx decompression code from libmspack and modified it to make it decompress the lzxd file. The support for differential update is yet to added.

    OAB

    The format for the uncompressed OAB Version 4 file is available at http://msdn.microsoft.com/en-us/library/cc463914%28v=EXCHG.80%29.aspx . Evolution-ews has the decoder which decodes the oab file, converts to EContact and then we  populates the address-book sqlitedb in chunks of 1000 contacts.

    And now the contents are available for offline use 🙂

    CamelUrl props

    “oab_offline” – says if oab is marked for offline.

    “oal_selected” – contains the selected “oal id:oal name”

    “oaburl” – contains the oab url

    ESource props

    “hosturl” – contains the host url, used for auto-completion.

    “oaburl” – contains the oab url.

    “oalid” – id of the OAL.

    “gal” – a boolean that it indicates that its gal folder.

    the avatar of Andrew Wafaa

    Designing the missing Web UI for Bongo

    Yay openSUSE is having a shindig in September, yes it’s the openSUSE Conference 2011 (aka oSC11). And seeing as the theme is rwx³ I’ve submitted a couple of BoF propossals. Now they haven’t been approved yet, so I’m not 100% sure they’ll happen but either way I’ll be there and will be keen to talk to anyone that is interested. The first topic I’d like to talk about is as the post’s subject says “Designing the missing Web UI for Bongo”.

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

    Improved Kernel Package Retention in 12.1

    A long awaited feature of the openSUSE update stack is finally here!
    Since some time, it has been possible to tell libzypp to not delete old
    kernels on update:

    multiversion = provides:multiversion(kernel)

    in /etc/zypp/zypp.conf. That way, you don’t have to worry that a
    brand new -rc kernel from Factory makes your system unbootable. This however
    solves one problem and brings another one – you have to manually delete the
    old kernel so that your /boot partition does not fill up. openSUSE 12.1 will
    provide a solution to this, you will be able to tell what kernels you want to
    keep after an update, other kernels will be deleted. The configuration is the
    same file, /etc/zypp/zypp.conf:

    ## Comma separated list of kernel packages to keep installed in parallel, if the
    ## above multiversion variable is set. Packages can be specified as
    ## 2.6.32.12-0.7 - Exact version to keep
    ## latest        - Keep kernel with the highest version number
    ## latest-N      - Keep kernel with the Nth highest version number
    ## running       - Keep the running kernel
    ## oldest        - Keep kernel with the lowest version number (the GA kernel)
    ## oldest+N      - Keep kernel with the Nth lowest version number
    ##
    ## Default: Do not delete any kernels if multiversion = provides:multiversion(kernel) is set
    multiversion.kernels = latest,running
    

    If you configure this and the above multiversion variable, then after each
    kernel update, during a subsequent reboot, a script will compare the list of
    installed kernels with the multiversion.kernels setting and delete those that
    are no longer needed. Examples:

    • Keep the latest kernel and the running one if it differs. This is similar to
      no enabling the multiversion feature at all, except that the old kernel is
      removed after reboot and not immediatelly after installation. BTW, you
      probably always want to include “running”:
      multiversion.kernels = latest,running
    • Keep last two kernels and the running one:
      multiversion.kernels = latest,latest-1,running
    • Keep the latest kernel, the running and a my test kernel with a fancy
      patch:
      multiversion.kernels = latest,running,3.0.rc7-test

    If you want to try it, it’s all in Factory already. Check if these packages are
    recent enough and uncomment the two variables in zypp.conf:

    $ rpm -q --changelog kernel-desktop mkinitrd libzypp | grep -B2 312018
    * Fri Jun 17 2011 mmarek@suse.cz
    - rpm/post.sh: Touch /boot/do_purge_kernels on package install
        (fate#312018).
    --
    - Add purge-kernels script to automatically delete old kernel packages
      on boot, based on configuration in /etc/zypp/zypp.conf, variable
      multiversion_kernels (fate#312018).
    --
    * Tue Jun 21 2011 dmacvicar@suse.de
    - Add configuration template for automatic kernel
      purge (feature#312018) to zypp.conf
    $ grep ^multiversion /etc/zypp/zypp.conf
    multiversion = provides:multiversion(kernel)
    multiversion.kernels = latest,running
    

    Happy updating!