Welcome to Planet openSUSE

This is a feed aggregator that collects what openSUSE contributors are writing in their respective blogs.

To have your blog added to this aggregator, please read the instructions.


Saturday
29 April, 2017


Michael Meeks: 2017-04-29 Saturday.

21:03 UTCmember

face
  • Slept in, finished The Amazing Maurice with E. Breakfast, Bacon butties & H. made heart-shaped fried egg toast slices.
  • Edged the lawn a bit, found the ice-maker water supply was leaking in the fridge; bailed the drip-tray; re-fitted the push-fit connection; interestingly there is a water-mill style flow-monitor just after the solenoid actuator: presumably to fill your ice-cube tray just-right independent of pressure; nice.
  • Up-ended the piano on its side, onto a skate-board (such wonderful things), and moved it into the kitchen; swapped other bits of furniture around to make more of our front-room. There is always hope that after enough musical 'chairs' that something drops out of the house at the end.
  • Watched Bill with the babes, put them to bed.
  • Poked at mail & bugs; really encouraged to see Jens Carl and Michael Stahl nailing even more German comments; calc down to ~1100 detected lines - 500 translated in the last two weeks: wow. On that trajectory this is a final call for getting your name into the roster of noble German comment translators in LibreOffice; if Lennart can help out - why not you ?

Friday
28 April, 2017


Michael Meeks: 2017-04-28 Friday.

21:00 UTCmember

face
  • Took babes to school & ran home; bid 'bye to the parents. Mail chew & other hackery.
  • Lunch. Chat with Swapnil. Worked away at seccomp-bpf pieces to better isolate the LibreOffice Forkit processes; fun - eventually got a signal handler working nicely; unclear how to trade paranoia for performance when it comes to black-listing syscalls that look scary.
  • Dinner; Lynn over - read M. a story; helped H. with guitar chords; sync. with Andras.

face

Dear Tumbleweed users and hackers,

Due to my vacation, the review for the weeks 13 – 16 had been skipped. My last review touched the snapshots up to 0322 and I am trying to get the interesting bits out of the snapshots up to 0426; just as I announced, Tumbleweed did roll a bit slower during my absence, which also happened to be the Easter break for a lot of contributors. So in fact, there were ‘only’ 16 snapshots which brought about those interesting bits and pieces:

  • A lot more python packages have been converted to the singlespec packaging method
  • KDE Frameworks 5.32.0
  • Plasma 5.9.4
  • Flatpak 0.9.1
  • Linux kernels 4.10.8, 4.10.10 and 4.10.12
  • Lightdm 1.22.0 – which would have some Mir support
  • Wine 2.5
  • Samba 4.6.2
  • SQlite 3.18.0
  • Thanks to expired patents, MP3 and a52 support have been added to multiple packages

Quite an impressive list! And as you got to expect from Tumbleweed, the tested, rolling distribution we all love, there is more coming up in the next weeks to come. The things that are currently being molded are:

  • GCC 7 as default compiler for the distro
  • Even more python singlespec changes
  • GNOME 3.24.1 updates
  • KDE Applications 17.04.0
  • Plasma 5.9.5
  • Linux kernel 4.10.13 – and beyond
  • Reworked patterns, allowing for easier delegation of maintenance for various patterns

And all this happens in parallel to the openSUSE Conference being planned. You should think about participating! It is always informative, a lot of discussions happen in face-to-face meetings and, in openSUSE’s tradition, everybody is having a lot of fun. If you can plan a visit, you absolute should do so.


face
  • gboolean is not Rust bool

    I ran into an interesting bug in my Rust code for librsvg. I had these structures in the C code and in the Rust code, respectively; they are supposed to be bit-compatible with each other.

    /* C code */
    
    /* Keep this in sync with rust/src/viewbox.rs::RsvgViewBox */
    typedef struct {
        cairo_rectangle_t rect;
        gboolean active;
    } RsvgViewBox;
    
    
    
    /* Rust code */
    
    /* Keep this in sync with rsvg-private.h:RsvgViewBox */
    #[repr(C)]
    pub struct RsvgViewBox {
        pub rect: cairo::Rectangle,
        pub active: bool
    }
    	    

    After I finished rustifying one of the SVG element types, a test started failing in an interesting way. The Rust code was generating a valid RsvgViewBox structure, but the C code was receiving it with a garbled active field.

    It turns out that Rust's bool is not guaranteed to repr(C) as anything in particular. Rust chooses to do it as a single byte, with the only possible values being 0 or 1. In contrast, C code that uses gboolean assumes that gboolean is an int (... which C allows to be zero or anything else to represent a boolean value). Both structs have the same sizeof or mem::size_of, very likely due to struct alignment.

    I'm on x86_64, which is of course a little-endian platform, so the low byte of my gboolean active field had the correct value, but the higher bytes were garbage from the stack.

    The solution is obvious in retrospect: if the C code says you have a gboolean, bite the bullet and use a glib_sys::gboolean.

    There are impl FromGlib<gboolean> for bool and the corresponding impl ToGlib for bool trait implementations, so you can do this:

    extern crate glib;
    extern crate glib_sys;
    
    use self::glib::translate::*
    
    let my_gboolean: glib_sys::gboolean = g_some_function_that_returns_gboolean ();
    
    let my_rust_bool: bool = from_glib (my_gboolean);
    
    g_some_function_that_takes_gboolean (my_rust_bool.to_glib ());
    	    

    ... Which is really no different from the other from_glib() and to_glib() conversions you use when interfacing with the basic glib types.

    Interestingly enough, when I had functions exported from Rust to C with repr(C), or C functions imported into Rust with extern "C", my naive assumption of gboolean <-> bool worked fine for passed arguments and return values. This is probably because C promotes chars to ints in function calls, and Rust was looking only at the first char in the value. Maybe? And maybe it wouldn't have worked on a big-endian platform? Either way, I was into undefined behavior (bool is not something you repr(C)), so anything goes. I didn't disassemble things to see what was actually happening.

    There is an interesting, albeit extremely pedantic discussion, in this bug I filed about wanting a compiler warning for bool in a repr(C). People suggested that bool should just be represented as C's _Bool or bool if you include <stdbool.h>. BUT! Glib's gboolean predates C99, and therefore stdbool.h.

    Instead of going into a pedantic rabbit hole of whether Glib is non-standard (I mean, it has only been around for over 20 years), or whether C99 is


Thursday
27 April, 2017


Michael Meeks: 2017-04-27 Thursday.

21:00 UTCmember

face
  • Parents off to Hazel's funeral; mail, code review, testing online, call . Lunch with J. Merged improved compressed file serving from Aditya with some cleanup, fixed a certificate issue with Poco.

face

openSUSE Tumbleweed snapshots this week gave many newer versions of Perl and Python packages, but several other packages were updated in the repositories including some open fonts.

Google and Adobe fonts were updated in snapshots 20170424 and 20170420 with google-croscore-fonts and adobe-sourcehansans-fonts being added to the repositories respectively.

Besides the google-croscore-fonts in snapshots 20170424, users can get a fix for the CD/DVD burning software Brasero, which provided a patch for Grub2 that fixes builds with the GNU Composite Compilers, and kdebase4-workspace offers a diff to fix an error reported by GCC7, which should be helpful as Tumbleweed works closer to adapt the newest GCC. The snapshot also delivered a patch for VirtualBox that will provide an eventual Application Programming Interface change for the release of Leap 42.3.

The update for adobe-sourcehansans-fonts in snapshot 20170420 now ships with the Open Font License in the zipfile. The 20170420 snapshot brought improved architecture changes with the 4.10.10 Linux Kernel. The network protocol analyzer Wireshark fixed several infinite-loop bugs and vulnerabilities with an updated to version 2.2.6. Packages perl-BSD-Resource, perl-Class-Load, perl-Class-Load-XS and perl-Sub-Identify all received updates to help with testing. Python-kiwi’s 9.4.10 version had some cleanup for the bootloader and fixed boot/grub2 path, but due to the refactoring this path, it is now distro dependant and should be obtained dynamically.

More Python packages came in the 20170419 snapshot. Python-base added reproducible.patch to allow reproducible builds of various Python packages. An update to version 2.2.0 of python-pyparsing updated setup.py to address recursive import problems for setuptools. Python-sip, a tool that makes it very easy to create Python bindings for C and C++ libraries, received an enormous amount of updates and bug fixes from it’s previous state Tumbleweed.

Snapshot 20170418 updated multiple libraries to start of the week. Version 2.4.80 of libdrm removed some dead code and libssh 0.7.5 fixed a memory allocation issue. Both libva 1.8.0 and libva-gl 1.8.0 added some API changes and MariaDB increased physical memory constraints to fix i586 build failures.


Wednesday
26 April, 2017


Michael Meeks: 2017-04-26 Wednesday.

21:00 UTCmember

face
  • Mail chew, chat with Tor, sync with Miklos, then Eloy. Lunch. Poked at new ESC stats generation pieces from JanI and built ESC agenda. Sync. with Lenny. Mail and task chew, read stories to babes, parents arrived, bed.

face

It has been a long time since our last status update! The reason is the end of the previous sprint caught quite some of the YaST Team members on vacations and, when the vacation period was over, we were so anxious to jump into development to make YaST another little bit better that the blog post somehow fell behind.

But it’s time to pay our (reporting) debts. So these are some of the highlights of the 33th development sprint that finished on April 11th.

AutoYaST and Salt integration

During this sprint, a new module has been added to the YaST tool box: YaST2 Configuration Management.

This module offers integration between AutoYaST and configuration management systems like Salt. The idea is that AutoYaST will take care of system installation (partitioning, network setup, etc.) and, if desired, the system configuration can be delegated to one of those external tools.

The YaST Configuration Management module was born during an internal SUSE workshop during the last summer and it got more love during HackWeek 14 and 15.

Now it is officially part of the YaST family and it will be included in the upcoming releases.

The new module: YaST - Configuration Manager

Extend the YaST Installer Workflow by Add-ons

The YaST installer already allows extending the installation work flow by add-on extensions. However, this was only supported for the SUSE tag repositories used on the ISO installation media. That means the online repositories, which normally use the RPM-MD data format, could not use this feature.

This sprint we extended the support also for the other repository formats (basically any repository format supported by libzypp). The original limitation was caused by the fact that the other repository types do not support other files except the RPM packages.

To overcome this limitation we now support packaging the installer extension files into a standard RPM package which can be then provided by any repository type.

The implementation is documented and there is the YaST:extension OBS project with a simple example extension.

The example extension in action

YaST pattern definitions

The software pattern definitions have been split and moved to the respective OBS devel projects. See more details in this opensuse-factory announcement. That means the YaST patterns are now maintained in the
YaST:Head project.

The project sources have been imported to the GitHub repository to track the history and use the code review workflow. Also and the usual Jenkins and Travis automation has been set up. For contributing your changes in the YaST patterns use the usual GitHub pull request workflow as for the other YaST packages. Thank you in advance! 😉

CaaSP deserves its own YaST package!

Among other things, our team is working hard to make YaST fulfill the requirements of the upcoming Containers as a Service Platform (CaaSP) product. As part of this effort, we have added some new features, discovered (and fixed) some bugs, improved documentation and so on.

We’ve also added some specific CaaSP code, so during this sprint we’ve decided to create a new dedicated package (yast2-caasp) and move the


Tuesday
25 April, 2017


Michael Meeks: 2017-04-25 Tuesday.

21:00 UTCmember

face
  • Mail chew; code review; call with JanI; QA / smoke-testing etc. Lunch. Long overdue commercial call. Discovered the washing-machine inlet leaking & replaced that - PTFE tape is your friend.
  • Plugged away at admin and calls much of the afternoon. Up late making thread safe socket transfer easier to maintain in online.

face

Today: And what if I want to remove some files?

It’s easy and obvious to add new files with a driver update (DUD). But what if you need to remove some files? Or, related: can you replace some read-only file by a writable copy?

Let’s for this article assume you want to modify the Xorg configuration. Say,
/usr/share/X11/xorg.conf.d/10-evdev.conf troubles you.

The direct way would be to write an update.pre script than removes the file and include this into a DUD.

update.pre is run right after the DUD has updated the files in the installation system.

For example:

echo \
  rm /usr/share/X11/xorg.conf.d/10-evdev.conf \
  > update.pre
mkdud --create test1.dud --dist tw --name "remove 10-evdev.conf" update.pre

But when we try test1.dud we run into this:

Driver Update: remove 10-evdev.conf
Driver Updates added:
  remove 10-evdev.conf
[...]
rm: cannot remove '/usr/share/X11/xorg.conf.d/10-evdev.conf': Read-only file system

So, we see the catch: much of the installation system resides on a read-only file system! You can’t just go and modify things.

But how does the driver update process manage to add new files to the installation system then? It does so by restructuring the file system using symlinks. In the process all directories that need to be modified are replaced by writable copies.

In other words: if you include the file you want to remove in the DUD – you will be able to remove it. It’s actually sufficient to include the directory the file resides in to make this work.

So, let’s try this:

mkdir -p /tmp/dud/usr/share/X11/xorg.conf.d
echo \
  "rm /usr/share/X11/xorg.conf.d/10-evdev.conf" \
  > update.pre
mkdud --create test2.dud --dist tw --name "remove 10-evdev.conf" update.pre /tmp/dud

Now we don’t get any error applying test2.dud and when we login to the installation system, we see:

console:vm9732:/ # ls -l /usr/share/X11/xorg.conf.d
total 0
console:vm9732:/ # 

Tip

For easy testing a DUD, boot the machine with

startshell=1 sshd=1 password=*** dud=<URL>

startshell=1 wi ll stop the installation workflow after the installation system has been fully prepared just before YaST will be started. sshd=1 will start an SSH daemon and you’ll be able to connect to the machine and look around.

A similar trick can be used to make files writable (watch out for correct shell quoting):

mkdir -p /tmp/dud/usr/share/X11/xorg.conf.d
echo \
  cp --remove-destination '$(readlink -f /usr/share/X11/xorg.conf.d/10-evdev.conf)' \
  /usr/share/X11/xorg.conf.d/10-evdev.conf \
  > update.pre
mkdud --create test3.dud --dist tw --name "make 10-evdev.conf writable" update.pre /tmp/dud

We can verify the result:

console:vm9732:/ # ls -l /usr/share/X11/xorg.conf.d               
total 4
-rw-r--r-- 1 root root 1099 Apr 24 13:06 10-evdev.conf
console:vm9732:/ #

The file is now writable.


Monday
24 April, 2017


Michael Meeks: 2017-04-24 Monday.

21:00 UTCmember

face
  • Mail chew, consultancy call with Miklos. Submitted a brief paper for GUADEC deadline today. Plugged away at backlog of admin tasks, code review etc. Poked at plain-text import performance here & there for a customer.
  • Nicolas over in the afternoon, great to see him - caught up, dinner, made some nail-blocks to avoid cat sitting on M's bird-box. Soldered new relay into the fridge & re-assembled: working again. Talked until late happily.

Sunday
23 April, 2017


face

Time-stamping

Sometimes you need to get the time stamps for each line printed by a programm. How to do it? Fortuntely there is a tool called ts (like Time Stamp).

In openSUSE it is not installed by default, but is available in the standard repositories in the moreutils package:

sudo zypper in moreutils

When using time-stamping it is a good idea to get rid of buffering which might prevent from getting the correct time. So the usual usage pattern should be something like this:

unbuffer <command> | ts

See man ts for more details, it has few but very usefull options. It can display absolute or relative time, define the precision, etc…

Profiling

If you can get exact time stamps for each output line then it is easy to find the line which took too long time.

In this example I was writing a new test for the s390 YaST module. I noticed that one test took much more time than the others. So I used ts to get the real numbers, the full command in this case was unbuffer rake test:unit | ts -i %.s:

Original Test

As you can see the tests usually take just few miliseconds, 5 ms at most. Except the Write test which takes more than 500ms. I was wondering why.

Debugging

So how to find the place where the test took most of the time? You could use the Ruby profiler:

ruby -rprofile -S rspec <test_file>

But I found the output too detailed without finding any relevant information, probably because it measures the CPU time, not the real time…

The alternative approach is simply to add the puts call somewhere in the tested code. So you can measure how long it takes to reach this specific point. Using the usual bisect approach you can find the problematic place quite quickly.

In this case the problematic place was surprisingly calling the sleep(500) function here which obviously adds 500ms to the test time. The fix was easy, simply mock the sleep call in the test and return immediately.

The result is that the Write test now also takes few miliseconds just like the others:

Fixed Test

The test as a whole is now more than 20x faster. :wink:

Conclusion

In this case the real improvement was small, saving half a second is not a game changing feature.

But I used this approach in the past in the YaST registration module where the problem was caused by running a SLP network discovery without mocking it. That took much more time and scanning the local network in tests is at least not nice.


Michael Meeks: 2017-04-23 Sunday.

21:00 UTCmember

face
  • Fine breakfast, checked-out, swam & sauna-ified; off to pick up the babes - who had had a fine time with B&A. Lovely lunch, drove home. Picked up H. from Lynn's, back for some songs & bible study together - tea, put H. and others to bed. Watched Line of Duty - gripping.

face

It is an easy and a vulgar thing to please the mob, and not a very arduous task to astonish them. —Martin Werge Nissen


face

Back in February the fifteenth SUSE Hack Week took place. As always this was a week of free hacking, to learn, to innovate, to collaborate, and to have a lot of fun. I didn't have the full time, so I worked on a couple of small things and a few projects I maintain. I did want to summarize that, so here you go.

The first project remained unfinished. I wanted to fill out Tim Urban's Life Calendar (you might have seen that on his excellent blog "Wait But Why"), but realized that it's not trivial to map dates to weeks in your life. So I wrote a small tool to calculate that, stopped after I had a failing test and had a rough feeling for how to put the dots on the life calendar.

The second project was something I always wanted to do, implement Conway's Game of Life. I had once started an implementation in 68000 assembler on the Amiga many years ago, but never finished it. Technology has advanced, so I decided to do at as ASCII pixel art. Who needs high resolution? The result turned out to be a bit more generic, as a command line tool to manipulate pixel matrices stored in text files, the Pixelist. While I was at it, I also implemented Langton's Ant and a simulation of diffusion limited aggregation.

GivenFilesystem is a Ruby gem I maintain for writing unit tests dealing with files on disk. It's quite convenient, if you test code, which writes files on disk and you want to have a well-defined environment without side effects for testing this code. There were some open pull requests. I reviewed and merged them and released given_filesystem 0.2.0.

I already wrote about Inqlude, where I used Hack Week to finally publish the new Inqlude web site, which is based on the work Nanduni did during last year's Google Summer of Code. It's a great improvement. I also did some cleanup work, including reviewing the open issues. So we have a nice roadmap now. There is some interesting work to do. People who want to help with that are always welcome.

Trollolo is another side project I work on from time to time. We use it for supporting our Scrum work flows at SUSE in Trello, such as generating burndown charts. I didn't get around to write code, but I consolidated some of the ideas floating around and put them into issues. This also is a nice opportunity, if you want to have some fun with writing a bit of Ruby code for a small project. Issues are up for takers.

Finally I worked a bit on the next iteration of my attempt to make git support multiple authors. This would make life with git in a pair programming situation much nicer. Based on the feedback I got on my first iteration and at the Git Merge conference, I started to work on


Saturday
22 April, 2017


Michael Meeks: 2017-04-22 Saturday.

21:00 UTCmember

face
  • Up rather early; room a bit light (despite otherwise being lovely) cooked breakfast; took a turn around the fine lawns, out together to Sutton Hoo for a walk around the bluebell woods & fine views. Back for a snacky lunch.
  • Enjoyed the pool, sauna, spa, massage, relaxing. Idly poked at fixing and merging my DelaySocket development implementation for Online some more in the evening - it works.
  • Fine dinner in the evening together, Parks & Recreation later; bed.

Friday
21 April, 2017


Michael Meeks: 2017-04-21 Friday.

21:00 UTCmember

face
  • Out for a run in the morning.
  • Saddened to see Russia's Supreme Court's approach to Jehovah's Witnesses (JW). Personally I have serious theological problems with JWs on so many levels - their frequent Conjectural Emmendation (ie. willful alteration of the text, by un-named 'translators') in their New Testament eg. around κύριος (Lord) speaks volumes for their confidence in their understanding of God. The Trinity undergirds God's very nature as love: Father, Son & Holy Spirit - and is (in my view) a foundational understanding of Christian theology from which so much beauty and truth flows. As a footnote Christ-ians (a label they are fond of presenting) has a sense of partisans of Christ (His people who are crazy about Him) which is far from my experience of JWs. The anti-intellectualism expressed in their general avoidance of higher education concerns me - although I know of notable exceptions; their use of church discipline - particularly with a mistaken lack of precedence for honoring your parents, and the primacy of loving your family is also troubling. Anyhow - I routinely invite in, and enjoy respectful conversations with those JWs who come to my door - despite our differences. When a society is not willing to tolerate and listen to passionately held, different views, and goes so far as to confiscate property and stop them from meeting and praying - it is in deep trouble. It seems to me that the defence of liberty is most important at the extremes.
  • Mail chew. Poked at a performance problem with text import - lots of dynamic_casting cost from a dynamic_cast with no check for a NULL return; hmm.
  • H, picked up by Emily for DofE expedition. Set off to Aldeburgh to drop the babes with B&A - kindly baby-sitting. On to Seckford Hall for a lovely meal and evening together.

face

Last week I came across pam_python, a PAM module that lets you write PAM modules in Python. It seems interesting to play in this direction, but I had to install it manually. It seems that there was no official packages for openSUSE until now…

Yesterday I built version 1.0.6 for Tumbleweed. Please test it. It’s in our security repo. Feel free to send submit requests.

After installing it we will get /lib64/security/pam_python.so PAM modul. It’s just an interface between PAM and your own plugin (that you have to implement). To test it, you will need to add PATH of your plugin to the /etc/pam.d/login file (in case of getty-access test, for example), like described here.

This code can be used as an example. It will close access for all getty.

> cat /lib64/security/access.py

def pam_sm_authenticate(pamh, flags, argv):
  if str(pamh.service) == "login":
    return pamh.PAM_AUTH_ERR

You will also need to add this line to the /etc/pam.d/login file:

auth required pam_python.so access.py

This is just an example with login service or getty. Pam-python supports also, for example, ssh- and kdm-services. It supports many other interesting things. For more info look at documentation page.



face

In the old setup only the MF IT team could do DNS changes for us in their DNS appliance. So we always had to run through tickets for changes.

Now we have a FreeIPA instance for the openSUSE cluster to manage the DNS zone. We use FreeIPA not only for DNS but that is a topic for another article.

After we fixed all the technical problems 3 weeks ago (you can read about it here), we finally got the approval for the change from upper management.

Now also their change control team agreed and we finally completed the change.

So lets all welcome home the opensuse.org zone!


Thursday
20 April, 2017


Michael Meeks: 2017-04-20 Thursday.

21:00 UTCmember

face
  • Fifteenth wedding anniversary - it seems like yesterday - time flies when you're enjoying yourself; of course having an amazing, patient, graceful, intelligent, beautiful, wife is an amazing privilege as well. God is extraordinarily good to us, despite our general depravity, so much to give thanks for.
  • Mail chew; more reading about COM interception - a lovely paper on the very thing is out there; in today's world I'd hope the same paper would have lots of nice URLs, including a github link. Chat with Florian. ESC call, sync. with Tor.
  • Long delayed fridge relay turned up: good. Dropped M. to Scouts for the first time, put babes to bed, worked away until late.

face

Snapshots released the past two weeks of openSUSE Tumbleweed have slowed down a bit, but new software continues to be updated in the five snapshots that have been release since April 6.

The most recent snapshot, 20170417, brought Samba 4.6.2, which had an enormous amount of bug fixes and addressed regression issues introduced by the security fixes for CVE-2017-2619. gPhoto had lots of improvements thanks to the update to libgphoto2 2.5.13. The snapshot also updated ethtool to version 4.10, which synchronized the utility used for displaying and modifying some parameters of network interface controllers with the upstream release, and yast2-fonts’ 3.2.0 version fixed regression introduced in version 3.1.17 and added UTF-8 encoding to Ruby strings.

Snapshot 20170414  provided the 3.5.25 version of squid in the repositories, which fixed aspects involved with data connections and FTP traffic intercepts, and yast2-dhcp-server’s 3.2.2 version fixed a crash happens with the latest yast2-core and yast2-ruby-bindings packages. The premier library for Internationalization Components for Unicode (ICU), which provides globalized support for software applications, was updated to version  58.2 and fixed some issues for Cantonese, Greek and Arabic users as well as updated Emoji characters and 19 new symbols for the new 4K TV standard.

Mozilla Firefox fixed a startup crash on Linux with it’s 52.0.2 release in Tumbleweed’s 20170413 snapshot and the Linux Kernel was updated to version 4.10.9. Linux Kernel initiator open-iscsi had a large amount of patch removals and additions. The btrfs file system matured even more with the release of version 4.10.2. The suite and art application Calligra received a fix for crash when using arrow keys in version 3.0.1 and it’s Flow chart added undo commands. The snapshot also merged upstream Ceph fixes for the codestream. WindowMaker 0.95.8 added some patches and new features for veteran users.

Mesa 17.0.3 was updated in the 20170407 snapshot and libvirt 3.2.0 dropped some patches and added a fix for an IPv6 failure. Cryptsetup 1.7.4 fixed LibreSSL compatibility and added support for OpenSSL 1.1.0.

LightDM 1.22.0 was made available in snapshot 20170406 along with ImageMagick 7.0.5.4, which deleted unneeded patches, and ccache 3.3.4 documented the different cache statistics counters and fixed a regression in version 3.3 related to “potentially” bad content of dependency files.


Wednesday
19 April, 2017


Michael Meeks: 2017-04-19 Wednesday.

21:00 UTCmember

face
  • Up late; still with some post-holiday excitement. Call with Jos. Lunch with J. Built ESC bug stats; sales & contract call. Setup new 4k monitor - to try to avoid looking down at a laptop all the time. Required a new kernel to get the skylake support into good enough shape to drive it; all well.

Nathan Wolf: Syncthing on openSUSE

18:10 UTCmember

face

As part of my quest for my illusion of freedom, I have been looking for an alternative to Dropbox and Google Drive to backing up and synchronizing the bulk of my data between machines. I am a user of Dropbox and Google Drive via Insync, that won't change for many of my needs. I still have a need to share data easily with other individuals. 

I also decided to stand up a replacement primary openSUSE machine to replace my nearly 10 year old Dell Latitude D630. I have done all that I can do to make this thing as fast as possible but it is time to change its role to a home-station only machine. 

I want to keep the old machine synchronized with the new machine so that I don't always have to pull the new one out of the bag and turn it on to do work. I don't want to sync everything up to Google Drive or Dropbox because, well, I'm not wiling to spend that much per month for synchronizing large volume, low churn data. I looked at several solutions but this Syncthing looked very promising and the more I acquainted myself with it, the more solutions I can see this fulfilling.

Setup and Install

Like everything on openSUSE, it's real easy. My old machine is running Leap due to the need for the proprietary graphics driver as it doesn't not play well with the open source version. The new machine is running openSUSE Tumbleweed, the rolling release, as I would like to play with the newer software available.

For openSUSE Leap it was as simple as going to the openSUSE Software site and searching "Syncthing." Since I want the handy applet that sits in my system tray and not use a browser to interface with it, I am utilizing the syncthing-gtk version. I found it to be super straight forward to setup and use.

https://software.opensuse.org/package/syncthing-gtk

For openSUSE Tumbleweed, it was completely the same. The only difference, ensure you are downloading the "Tumbleweed" version as opposed to "Leap 42.2." Both versions are in their respective repositories. Thank you openSUSE for making it so straightforward and easy to install software!

Alternatively, if you like playing around in the terminal, which I of course like to do, you can type this:

sudo zypper in syncthing-gtk

Since this is in the Official Repository, you can be assured of updates.

Once installed run Syncthing from the menu. It greets you with a real nice "first run wizard" to get you started and also makes a note to tell you that your configuration files are in ~/.config/syncthing folder. If you would like to manage the Syncthing remotely, you can set up a username and password to protect from unauthorized access.

For my purposes, I am just having it listen to "localhost" only but if I were setting this up on a headless server, would chose to set up

Tuesday
18 April, 2017


Michael Meeks: 2017-04-18 Tuesday.

21:00 UTCmember

face
  • Up early; woke babes, mail chew; consultancy call; 1:1's, lunch with M & E, setup a movie for them; commercial team call. Plugged at E-mail left & right. Dinner, read stories to babes, worked extremely late.

face

Creating cool projects is what makes openSUSE so much fun and a recent project by an openSUSE member highlights just how creative and fun one can be using openSUSE.

Adrian Schröter took a Raspberry Pi 3 using openSUSE to create a 3D-printed foldable tripod and took the idea even further by using the Raspberry Pi 3 used to build the tripod to take interval photographs of a Storch and it’s nest with a Sony A5100 camera.

The nest appeared in 2016 and Schröter has been taking pictures of the Storch and it’s nest for a few months.

To print the foldable tripod, Schröter made the design using FreeCAD, which is a general purpose 3D Computer-Aided Design program that he packages for openSUSE’s distributions. Sony A5100 support for Gphoto from another community member, Marcus Meissner, helped to get the camera functioning to take photos roughly every 30 seconds.

Schröter has a blog about that updates pictures about the Storch and it’s nest at http://www.storch-bleckmar.de. The blog is in German, so brush up on your Deutsch or just enjoy the photos.


Monday
17 April, 2017


Michael Meeks: 2017-04-17 Monday.

21:00 UTCmember

face
  • Up early, out for a run with J. tidied the house, cleared up, put up N's new swing seat, and bathroom shelf. Misc. shopping on-line; played games with babes, early beds, stories; watched Line of Duty, sleep.

Sunday
16 April, 2017


Michael Meeks: 2017-04-16 Sunday.

21:00 UTCmember

face
  • Out to Mowbray Community Church; sermon interesting but disappointingly disconnected from the text. Back for a fine lunch, quick chat with Tom & Becky; drove home, dinner, stories, bed.

Saturday
15 April, 2017


Michael Meeks: 2017-04-15 Saturday.

21:00 UTCmember

face
  • Up; helped H. structure her work a little; read some E-mail; thrilled to see Jens Carl burning down the German comments: include/ and sc/ (calc) now clean; 1600 detected lines left across ~100 files in writer & svx.
  • David & Gillian around for lunch, and a wander through Knaesborough; good to see them. Puzzling & games variously with the family.

Friday
14 April, 2017


Michael Meeks: 2017-04-14 Friday.

21:00 UTCmember

face
  • Out to Sandra's to swim as a family; fun but tiring. Back for lunch. Did some carving with the babes in the afternoon. Rob & Amelia arrived, did some jigsaw puzzling with them. Up late chatting.

Thursday
13 April, 2017


face

Weblate 2.13.1 has been released quickly after 2.13. It fixes few minor issues and possible upgrade problem.

Full list of changes:

  • Fixed listing of managed projects in profile.
  • Fixed migration issue where some permissions were missing.
  • Fixed listing of current file format in translation download.
  • Return HTTP 404 when trying to access project where user lacks privileges.

If you are upgrading from older version, please follow our upgrading instructions.

You can find more information about Weblate on https://weblate.org, the code is hosted on Github. If you are curious how it looks, you can try it out on demo server. You can login there with demo account using demo password or register your own user. Weblate is also being used on https://hosted.weblate.org/ as official translating service for phpMyAdmin, OsmAnd, Aptoide, FreedomBox, Weblate itself and many other projects.

Should you be looking for hosting of translations for your project, I'm happy to host them for you or help with setting it up on your infrastructure.

Further development of Weblate would not be possible without people providing donations, thanks to everybody who have helped so far! The roadmap for next release is just being prepared, you can influence this by expressing support for individual issues either by comments or by providing bounty for them.

Filed under: Debian English SUSE Weblate | 0 comments

Older blog entries ->