My thoughts on Slackware, life and everything

Month: May 2015 (Page 1 of 2)

New calibre packages – finally

calibreicoIt’s been nearly ten months since my last package for Calibre. What’s Calibre again I hear you ask? It is the highly popular E-book library management program with support for any E-Reader you can think of. I doubt that anyone who tried Calibre will ever switch back to one of the proprietary library management programs that commonly ship with E-Reader devices because Calibre transfers your E-books to and from your E-Reader device with ease. Calibre also contains an excellent E-book reader program for your desktop – even an EPUB editor comparable to Sigil. It will let you convert E-books from one format to another and allows you to subscribe to lots of news sites.

Last year august, the Calibre software switched from Qt4 to Qt5 for its user interface, and I was not yet prepared to follow suit. Running up to that month I had been working long and hard on the new KDE 5 preview and that was my first encounter with Qt5 – I decided to wait a bit for the new Calibre to mature and also I wanted to wait with adding Qt5 to my slackbuilds repository (the qt5 in ‘ktown_testing’ was just that, for testing KDE 5 and nothing production-ready).

During the previous couple of weeks I enjoyed several long weekends due to national holidays, and so it happened that I could spend some time re-visiting the calibre.SlackBuild and updating it so that it was able to compile a package for Calibre 2.x.

I wanted as few external dependencies as possible. The exception would be Qt5 which should be a proper package in its own right – it is too big to become a mere part of a calibre package. I ended up with just “podofo” and “qt5” as dependencies and I am now in the process of uploading the qt5 packages for slackware-current… something I forgot earlier this week. I borrowed them from my ktown_testing repository in order to compile Calibre.

But I also want to keep the older Qt4 version of Calibre (the 1.x releases) around for those who like that better or do not want the big Qt5 on their computer. So I renamed my SlackBuild for the 1.x version to “calibre1.SlackBuild“. I then recompiled calibre-1.48.0 for Slackware-current because the previous build of the package was broken after the recent big update and I still needed to address that issue. That is why you will find a “calibre” as well as a “calibre1” package in the repositories for Slackware 14.1 and -current. Take your pick.

Enjoy a shiny new Calibre 2.28.0 on Slackware (14.1 and -current)!

Eric

KDE 5_15.05 packages are available for slackware-current

qt-kde-620x350I am trying to keep up with a monthly release of KDE 5 (Plasma5) packages for Slackware-current. So far, so good, and every month I have been able to make a significant difference. Today the KDE developers released an update to Plasma 5 while earlier this month you could have noticed updates for Frameworks and Applications. Time for some new packages for Slackware land!

Therefore, you can now download my May release of KDE 5_15.05. Components are Frameworks 5.10.0, Plasma 5.3.1 and Applications 15.04.1 which includes the latest updates of the KDE 4 Long Term Support (LTS) packages kdelibs, kdepimlibs, kdepim, kdepim-runtime and kde-workplace.

What’s new in KDE 5_15.05?

The highlights of 5_15.05 (May release) are:

  • KDE Frameworks have been updated to 5.10.0 (maintenance release, no new frameworks)
  • KDE Plasma has been updated to 5.3.1 (also a maintenance release)
  • KDE Applications have been updated to 15.04.1 (yet another maintenance release)
  • KDE Extragear is still empty (this started with my KDE 5_15.04 release): you must grab the extragear packages (calligra, k3b, kdev-python, kdevelop, kdevelop-php, kdevelop-php-docs, kdevplatform, kio-mtp, kwebkitpart, oxygen-gtk2, oxygen-gtk3, partitionmanager, skanlite) from regular slackware-current itself.
  • No new or udated “deps” packages this time, but one has been removed. I got rid of the “qt-gstreamer0” package because I believe there is nothing that uses it. Also, the package content was conflicting with the “qt-gstreamer” package. So after you have removed qt-gstreamer0 be sure to reinstall qt-gstreamer.
  • I have added several policy files to the “powerdevil” package which bring back the Shutdown/Reboot and Suspend/Hibernate options in Plasma 5. Thanks to luis (suspend/hibernate) and manciuleas (restart/shutdown) who came up with the solution in a discussion following an older post.

Installing or upgrading Frameworks 5, Plasma 5 and Applications

As always, the accompanying README file contains full installation & upgrade instructions. Note that the packages are available in several subdirectories below “kde”, instead of directly in “kde”. This makes it easier for me to do partial updates of packages. The subdirectories are “kde4”, “kde4-extragear” (currently empty), “frameworks” “plasma”, “plasma-extra” and “applications”.

Upgrading to this KDE 5 is not difficult this time, especially if you already are running KDE 5_15.04. You will have to remove old KDE packages manually. If you do not have KDE installed at all, you will have to install some of Slackware’s own KDE 4 packages manually.

Note:

If you are using slackpkg+, have already moved to KDE 5_15.01 or newer and are adventurous, you can try upgrading using the following set of commands. This should work but feel free to send me improved instructions if needed (assuming in this example that you tagged my KDE 5 repository “ktown_testing”):
# slackpkg update
# slackpkg install ktown_testing (to get the newly added packages from my repo)
# slackpkg install-new (to get the new official Slackware packages that were part of my deps previously)
# slackpkg upgrade ktown_testing (upgrade all existing packages to their latest versions)
# slackpkg upgrade-all (upgrade the remaining dependencies that were part of my repo previously)
# removepkg sddm-theme-breeze (gone after KDE 5_15.01)
# removepkg libmm-qt5 (gone after KDE 5_15.03)
# removepkg qt-gstreamer0 (gone after KDE 5_15.04)
# slackpkg reinstall qt-gstreamer (ensure that none of the overlapping files of qt-gstreamer0 are left)

And doublecheck that you have not inadvertently blacklisted my packages in “/etc/slackpkg/blacklist“! Check for the existence of a line in that blacklist file that looks like “[0-9]+alien” and remove it if you find it!

My observations after upgrading

Again, some peculiarities I ran across when starting the freshly upgraded desktop that I want to share with you (there are some more observations in my previous KDE post):

  • At first the desktop would not even start and all kinds of Frameworks related programs were crashing. Re-installing all packages solved that. Something got corrupted the first time? No way to find out.
  •  I switched from wmsystemtray to trayer-srg as the solution for supporting old-style Xembed tray icons like Dropbox with the commandline “trayer –edge bottom –widthtype request –align right –distance 30 &” which places it lower right, directly above the Plasma taskbar. However – and I don’t recall what I did – on all subsequent logins, trayer would start before the rest of the desktop. As a result of that, trayer would cover the full task bar area. The task bar, including the KDE menu, were made inaccessible and invisible. At first I thought “yet another crash of plasmashell” and restarting plasmashell would indeed fix the issue. It was only later that I found out that they were all running, but trayer was in the way of the task bar. So I created a “trayer.desktop” file in ~/.config/autostart where Plasma5 looks for applications it has to start automatically when you login – and it will start these applications after the full desktop environment has loaded. That fixed it. By the way, the file has to end with “.desktop” or else it will be ignored. Inside it should look something like this:
[Desktop Entry]
Type=Application
Exec=trayer --edge bottom --widthtype request --align right --distance 30
Terminal=false
Hidden=false
NoDisplay=false
Name=Trayer

Where to get the new packages for Plasma 5

Download locations are listed below (you will find the sources in ./source/5/ and packages in /current/5/ subdirectories). If you are interested in the development of KDE 5 for Slackware, you can peek at my git repository too.

Using a mirror is preferred because you get more bandwidth from a mirror and it’s friendlier to the owners of the master server!

Have fun! Eric

Running Slackware 14.1 in an OpenVZ VPS

Last year I rented a OpenVZ based Virtual Private Server (VPS) for a discount price. I needed a new host to experiment with. My other Internet machine, the taper server (a QEMU virtual machine donated to me by a Slackware fan) is not meant for tinkering. It is running the Slackware Documentation Project, and I like to keep that online 24/7.

OpenVZ is a container-based virtualization service for Linux which has widespread use among hosting providers, because it is easy to setup and manage. I did not have prior experience with it, but the pricetag was compelling and I thought, I would find a way to install Slackware on it eventually.

OpenVZ works with an OS “template” which is basically a tarball of a directory tree that holds a complete working OS installation. When renting such a VPS, the usual default choices for your OpenVZ template are Ubuntu, CentOS or Debian. There is a repository of community-supplied templates, but the most recent Slackware template is a very bare-bones Slackware 13.37. So I settled for CentOS 6 in order to see how an OpenVZ based VPS was different from a fully virtualized solution like a QEMU VM and use that experience to create a working Slackware template.

I meant to create a new template based on Slackware 14.1 and the hosting provider was willing to co-operate once I had a tarball ready. However, I had a few doubts which I expressed in a Google+ post. The reactions to that post did not help feeling more confident, and I was convinced that I needed access to the local console of the VPS to be able to debug any boot-up issues that would prevent the SSH daemon from starting (thus preventing remote access). In an unfortunate chain of events, the hosting provider switched from SolusVM to an inhouse developed control panel exactly at that time, and providing (serial) console access was not a first priority for them. So I decided to wait patiently until a serial console was added. Actually, their Control Panel is a nice piece of work, and some months ago they finally made a local console available as well. But at that time I was consumed with getting Plasma 5 packages production ready. And time slipped away silently.

Last week, I decided to pick up my old initiative, dusted off the template creation script that I half-finished last year and using that script I created a first version of a 64bit Slackware 14.1 template. HostUS, my provider, set me up with a VPS for free based on that tarball I gave them so that I could test and debug the template without harming my paid-for VPS. I was very grateful for that, because it turned out the VPS was not booting. An OpenVZ container is limited in certain ways that the Slackware boot scripts do not expect. For instance, the VPS is running on the host kernel (“uname -a” returns: Linux brin 2.6.32-042stab094.7 #1 SMP Wed Oct 22 12:43:21 MSK 2014 x86_64 Intel(R) Xeon(R) CPU L5639 @ 2.13GHz GenuineIntel GNU/Linux). The filesystem is writable on boot; there is no hardware clock; there is no eth0; etcetera.

It took me a little while to get rid of the boot-up bugs and I definitely needed the access to the VPS console to stop it from dropping to the emergency shell, but then I ended with a Slackware VPS that booted out of the box.

I created a template for 32bit Slackware 14.1 as well, provided HostUS with both template tarballs and a Slackware logo bitmap, and then they added Slackware 14.1 (32bit and 64bit) as choices for VPS installation:

Slackware_OpenVZ_2

Hooray! Support was amazing, no silly questions asked, these guys are friendly and cooperative. Minutes after adding Slackware as an option in their VPS control panel, they tweeted:

Slackware_OpenVZ

I guess they were as excited as I am about the new offering 🙂 I told them last year that I wanted to run Slackware on their VPS and that I intended to host a new Slackware mirror there but was a bit afraid of exceeding my monthly bandwidth quota; taper serves more than 5 TB per month to you guys, which equals to my monthly quota limit at HostUS. They immediately responded and (without me having asked) increased my monthly bandwidth TEN-fold. For free. That shows the level of their support I guess.

Some technicalities: the script that created these templates is available on slackware.com. It builds a minimal installation of Slackware 14.1 (89 packages in total). That includes gcc because I do not take a Linux installation seriously which does not ship with a C compiler. This will occupy some 365 MB on your VPS disk once it is running. You could trim this down quite a bit more I guess, but there is a difference between minimal and barebones. My definition of minimal is that you should get a lot of useful tools on a console-based Slackware out of the box, not something that will boot and not much more.

This OpenVZ template comes with slackpkg pre-configured, using the generic URL “mirrors.slackware.com” so that your packages will always be downloaded from a mirror near you. OpenVZ is a bit peculiar in the sense that it knows a little bit about how Linux distros are being configured. So the OpenVZ control panel is the place where you configure the hostname, IP address and root password of your VPS. In order to make the Slackware installation internet-aware out of the box, I added two Google DNS IP addresses to its “/etc/resolv.conf” file. The result? Once provisioned, the VPS starts fast and mere seconds after booting I was able to login as root to my new machine.

I will use the long Pentecost weekend to setup some initial services and seed a Slackware mirror.

And you can consider the option of using this referral link to rent a Slackware 14.1 VPS for yourself 😉

Have fun! Eric

Stable channel for Chromium hits 43

chromium_iconBuilding on my experiences with chromium-dev (the development channel of the Chromium browser which is currently at version 44), I have made similar changes to my latest package for the chromium browser and its widevine and pepperflash plugins.

This means that I have said goodbye to the single configuration file (/etc/default/chromium) and switched to a configuration directory, which is “/etc/chromium/” for the chromium package. Each package (Chromium as well as any plugin or extension) can add its own configuration file to that directory. The new packages for chromium, chromium-pepperflash-plugin and chromium-widevine-plugin are now using this new setup.

I made one other change: I have applied a patch taken from an Ubuntu PPA. That patch is based on a blog post which explains how to enable VAAPI (aka hardware video decoding) on Linux. The chromium sources disable this functionality by default if you are not compiling for ChromeOS. Tell me your experiences with playback of H.264 video!

The new chromium packages have the version number 43.0.2357.65. The first release of the “43” series brings a total of 37 published security fixes, and here are the CVE’s:

  • [$16337][474029] High CVE-2015-1252: Sandbox escape in Chrome. Credit to anonymous.
  • [$7500][464552] High CVE-2015-1253: Cross-origin bypass in DOM. Credit to anonymous.
  • [$3000][444927] High CVE-2015-1254: Cross-origin bypass in Editing. Credit to Armin Razmdjou.
  • [$3000][473253] High CVE-2015-1255: Use-after-free in WebAudio. Credit to Khalil Zhani.
  • [$2000][478549] High CVE-2015-1256: Use-after-free in SVG. Credit to Atte Kettunen of OUSPG.
  • [481015] High CVE-2015-1251: Use-after-free in Speech. Credit to SkyLined working with HP’s Zero Day Initiative
  • [$1500][468519] Medium CVE-2015-1257: Container-overflow in SVG. Credit to miaubiz.
  • [$1000][450939] Medium CVE-2015-1258: Negative-size parameter in Libvpx. Credit to cloudfuzzer
  • [$1000][468167] Medium CVE-2015-1259: Uninitialized value in PDFium. Credit to Atte Kettunen of OUSPG
  • [$1000][474370] Medium CVE-2015-1260: Use-after-free in WebRTC. Credit to Khalil Zhani.
  • [$500][466351] Medium CVE-2015-1261: URL bar spoofing. Credit to Juho Nurminen.
  • [$500][476647] Medium CVE-2015-1262: Uninitialized value in Blink. Credit to miaubiz.
  • [$500][479162] Low CVE-2015-1263: Insecure download of spellcheck dictionary. Credit to Mike Ruddy.
  • [$500][481015] Low CVE-2015-1264: Cross-site scripting in bookmarks. Credit to K0r3Ph1L.

Get my chromium packages in one of the usual locations:

Change the URL a bit to get the widevine-plugin and pepperflash-plugin packages.

Have fun! Eric

Sourdough Kaiser rolls

I am enjoying a long weekend at home – Ascension day is a national holiday and both my employer (IBM) and my customer (ASML) closed their offices on the friday following it.

So I decided to experiment a bit with the bread I bake. The usual routine is that I bake three breads (two sourdough and one with commercial yeast) to get us through the week without having to rely on factory bread from the supermarket. This weekend, I wanted to have a go at Kaiser rolls, also known in Austria as Kaisersemmel or Handsemmel. A piece of traditional artisanal baking skill in Austria, but here you only get the factory made stuff.

I wanted to hand-make these traditional rolls according to the old ways. Traditionally, the leaven (natural yeast) would be provided to the baker by the local brewery, but that is not a viable solution nowadays. But we have sourdough, which should have some semblance to the old sour mash from the brewery.

So I set out to compare recipes and shaping techniques. There’s lots of recipes to be found actually, and the conclusion with all these white bun recipes is – you just add what you like. In my case, I wanted to go easy on the butter and sugar so that my wife would not have any reservations in sampling the finished product. But afterwards she admitted she would have eaten them whatever the content, they were that tasty.

Here is the recipe I ended up with. It was enough to create 11 rolls of roughly 75g each.

The evening preceding the day you want to eat the rolls, you mix the following ingredients into a rough mass:

  • 100g sourdough starter (100% hydration meaning it’s 50g flour, 50g water)
  • 450g AP flour (of which 200g was Type 00 strong flour)
  • 5g sugar
  • 60g full-fat milk
  • 200g water (cold)

Leave the rough dough to rest for 25 minutes (the flour is allowed to absorb the moisture, this is called “autolyse”) and then add:

  • 20g butter (soft, hand-warm)
  • 7g salt

Knead the dough by hand during 6 minutes until it is silky smooth. Then return the dough ball to a container and cover with clingfilm.
Leave the container on the kitchen counter for a bulk fermentation during the night. Do not place the container in the fridge. In 8 hours, the dough will double or almost triple in size.

Next morning, dump the dough onto your work area and gently push the air out with your flattened hands.
Using a dough cutter divide the mass into pieces of 75 – 80 grams and shape them into balls, creating surface tension. Leave these to rest for 15 minutes.
Gently flatten the balls of dough, creating circular disks. Dip them into some rye flour so that they are coated with a thin layer. This will prevent them sticking together. Leave to rest for another 15 minutes.

Now, shape the Kaiser rolls. There are several techniques for doing this, but I used what I assume is the traditional way. Here is a nice video of shaping a Kaiser roll. No rubber stamp, no knots in the dough. The real stuff!
Place the shaped rolls face-down on an oven tray which has been dusted with rye flour. This is needed so that the folds do not disappear while the dough is proofing. Cover them with a linen cloth or clingfilm. Leave them there for a second proofing, until doubled in size (will take something like 2 hours).
Heat up your oven in time, set the temperature to 200C. Place a low metal baking tray on the oven floor.
Bake the rolls for 20-25 minutes. Introduce steam during the first 10 minutes by pouring a cup of cold water into the tray on the oven floor and quickly closing the oven door, and vent the oven after 10 minutes.
They are ready when the edges are golden brown. When you tap the bottom of a roll with your fingers it should give a “hollow” sound. Leave them to cool for a bit before you cut into them. If you started early in the morning, the rolls will be ready for lunch.

This is how mine came out of the oven:

Kaiserrolls_small

There’s no doubt to it: these sourdough rolls are the best I ever tasted. They have a nice crispy crust and the folds opened up nicely while baking.

You’ll also note that there is one roll that does not look like a Kaiser roll. I also tried my luck at a braiding a knot and that was easier than shaping a Kaiser roll. I need to practice the shaping process. It was a lot of fun, but 9 rolls does not give you a lot of experience. Definitely something I will do again shortly!

 

« Older posts

© 2024 Alien Pastures

Theme by Anders NorenUp ↑