|
|
Log in / Subscribe / Register

Distributions

Camp KDE: Using Slackware to investigate KDE 4

By Jake Edge
April 6, 2011

The lack of automatic dependency resolution in Slackware's package management system is seen by some as a fatal problem for the distribution. But Vincent Batts came to Camp KDE to point out some advantages of Slackware's laissez faire attitude toward dependencies when testing a rapidly changing set of packages under development, like, for instance, the early state of KDE 4. The flexibility of being able to easily build packages based on the KDE source code and install them as needed, while being able to back out as problems arose made it easy for him to investigate the changes that came with KDE 4.

[Vincent Batts]

Batts said that when KDE 4.0 was released, he was firmly happy with 3.5, and not yet willing to switch. He was, however, curious about the new KDE world, and wanted to "see what I might be missing". In trying to check it out, he was regularly breaking his systems, which is a Linux user's right, he said, but that breakage led him to using Slackware to make it easier to manage his KDE 4 investigation.

KDE 4 brought a lot of new dependencies, which he found much easier to manage with Slackware as opposed to a packaging system like RPM that does dependency handling. Slackware has a "simplicity in component handling and upgrades" that is lacking in other systems. You can use RPM and the --force option to install package without their dependencies, or to override other requirements, but it can lead to various problems that can be difficult to recover from.

For Slackware, though, there is a "managed set of packages", with most dependencies already available in the base system, and "everything plays nicely together". That sounds like the situation with most distributions, but Batts pointed out some significant differences, as well.

Slackware packages are not much more than a tarball and a shell script. There are no domain-specific languages and no "automagic" in the package management system. As he was building the KDE 4 code, if he ran into a dependency that he didn't have, he got the source, built it in the canonical way, and easily turned it into a Slackware package using the following commands:

    $ make install DESTDIR=`pwd`/tmp
    $ cd tmp
    $ makepkg -l y ../pkg_name.tgz
    $ sudo upgradpkg --reinstall ../pkg_name.tgz

One can also use explodepkg to unbundle the package, fix any problems in it, and then makepkg/upgradepkg to recreate and reinstall the package. In working with the early KDE 4 packages, Batts got "good at rendering systems useless", but was able to fairly easily return the system to a known state. It is one of the benefits of not having a dependency chain, he said, because you can try things out, then back them out as needed.

To do that, Batts recommended having a local mirror or DVD of the Slackware release, then you can roll back any changes on a running system. From the top of the Slackware tree, a simple:

    # upgradepkg --reinstall */*.t?z
will reinstall all of the packages from the release, overwriting any that appear in the core set and have been changed. A "slackpkg clean-system" will then remove any packages that are not part of the core set, essentially resetting the system back to the "just installed" state.

One of the attendees asked about how KDE was to work with as an upstream and Batts seemed to be pretty happy with the project. He likes that you can get tarballs of each of the major subparts of KDE without having to get a tarball for each individual program. For example the KDE education tarball has all of the applications that make up that piece (e.g. KStars, Marble) which one can then subdivide into Slackware packages as they are built if that's desirable.

The dependencies have greatly increased with KDE 4, but "it is still pretty manageable", he said. One of the reasons that GNOME was removed from the Slackware core several releases ago was that the dependencies got out of hand: "Try to build GNOME from source, it will be instructive", he said.

It was interesting to hear one of the oft-heard weaknesses of Slackware turned on its head in Batts's presentation. While dependency tracking and handling can be useful—very useful at times—there are times when it can just get in the way. When choosing a distribution to use, it may make sense to look at Slackware, especially for systems that will be undergoing rapid, pervasive changes.

Comments (6 posted)

Brief items

Distribution quotes of the week

See, one of the things I work towards is igniting more hackers — more people curious about and tinkering with the way things work, the way things get made. And for that, we need more folks saying whoa, how did that happen? If a release named "Beefy Miracle" doesn't get the world to do a double-take and say wait, what? — then... I don't know what will.
-- Mel Chua

In general, to face any forthcoming big change, we need to stick more and more to the well known principles of "rough consensus and working code", rather than to fruitless discussions and inertia as defaults. We need more people who dare to propose changes and who are able to show, with working code, that those changes are viable. Otherwise the whole (geek) world will evolve around us, leaving Debian behind.
-- Stefano 'Zack' Zacchiroli

Comments (none posted)

Ubuntu 11.04 Beta 1 (Natty Narwhal) Released.

Ubuntu has announced the availability of the first beta of 11.04. Those interested in trying it out can either upgrade from 10.10 or download the beta. "Codenamed "Natty Narwhal", 11.04 continues Ubuntu's proud tradition of integrating the latest and greatest open source technologies into a high-quality, easy-to-use Linux distribution. [...] Ubuntu 11.04 now combines Ubuntu Desktop Edition and Ubuntu Netbook Edition. This edition introduces the Unity environment as the default desktop. [...] Ubuntu 11.04 Netbook edition will still be produced for the ARM platform, and the team is proud to introduce a Headless edition with 11.04 for ARM."

Full Story (comments: 19)

MeeGo Tablet Developer Preview

MeeGo has released a developer preview for tablets. "This release provides a touch-optimized user interface for MeeGo tablets, introducing the new panels UI concept and including a suite of built-in applications for Web browsing, personal information management and media consumption. This project is a work-in-progress under active development and considered pre-alpha. We welcome your involvement and contributions."

Comments (1 posted)

Distribution News

Ubuntu family

Announcing Ubuntu App Developer Week

Ubuntu App Developer Week will be held on IRC April 11-15, 2011. "Ubuntu App Developer Week is a week of sessions aimed at enabling and inspiring developers to write applications that scratch their itches. Our goal is to give all attendees a taste of the wide variety of tools on the Ubuntu platform that can be used to create awesome applications, and to showcase some applications that have been created and explain how they were put together."

Full Story (comments: none)

Ubuntu Shipit Discontinued

Canonical has announced the end of the ShipIt program. "Technology moves on and as we look at ways to spread Ubuntu further, a CD distribution programme, especially one of that size and delivered in that way, makes less sense. We have been slowly easing back the programme over the last two years to limit the number of CDs per person and the number of times a person could apply for a CD. But for Ubuntu 11.04 you will no longer be able to go to our website and apply for a free CD." CDs will still be available for Ubuntu Local Communities. The company will also be launching a free online trial for Ubuntu.

Comments (3 posted)

Other distributions

CentOS 5.6 release imminent

Dag Wieërs reports that CentOS 5.6 is on its way to a mirror near you. "Next up is CentOS 6.0, hopefully this one is released before RHEL 6.1, since the RHEL 6.1 Beta is already two weeks out. The fact that CentOS 6.0 is already 145 days behind RHEL 6.0 is something the team will have to think about. Leveraging the community by opening up the QA process is a no-brainer to me."

Update: Karanbir Singh has more information on his blog.

Comments (10 posted)

Newsletters and articles of interest

Distribution newsletters

Comments (none posted)

Puppy Linux update brings improvements (The H)

The H takes a look at Puppy 5.2.5. "Based on Ubuntu 10.04 LTS "Lucid Lynx" binary packages, Lucid Puppy 5.2.5 was built using the Woof build system from FEB 28 (earlier releases were built using Woof from NOV 28) and features version 2.6.33.2 of the Linux kernel. Other changes include upgrades and improvements to the built-in applications, such as Bash 4.1.0, an upgrade from Bash 3, as well as Syslinux 4.03, an upgrade from Syslinux 3, and version 1.41.14 of the e2fsprogs filesystem utilities, the latest from Ubuntu 11.04 Natty Narwhal."

Comments (none posted)

Spotlight on Linux: Supergamer Supreme 2.5 (Linux Journal)

Susan Linton looks at the latest release of Supergamer. "The main advantage is games, games, and even more games. Supergamer ships with lots of games already installed and ready to go. No fighting 3D acceleration drivers, no digging up old howtos to get some games to work, and no visiting numerous websites looking for demos of popular commercial games. In other words, convenience is the key word. One can either install the system or not, which may be an advantage especially with shared, public, or family computers."

Comments (none posted)

Debian 6 Squeeze review (Linux User and Developer)

Koen Vervloesem reviews Debian 6.0. "Another hallmark of Debian is that it really deserves its name of "universal operating system". There are official CD and DVD images for various architectures: amd64, armel, i386, ia64, mips, mipsel, powerpc, sparc, and s390. So if you have an old Mac with a PowerPC processor lying around, you can give it a new life with Debian, or if you want to install a full Linux distro on your NAS with an ARM processor, chances are that Debian supports it. The Squeeze release even has for the first time two non-Linux architectures: kfreebsd-i386 and kfreebsd-amd64, which give you a complete Debian system on top of a FreeBSD 8 kernel, which is nice if you want features like the ZFS file system."

Comments (1 posted)

Bodhi Linux: Interview with Jeff Hoogland (TechRepublic)

Jack Wallen talks with Jeff Hoogland, one of the Bodhi developers. "What language do you primarily work in when working on Bodhi Linux? The primary language all the new Bodhi tools (and Enlightenment itself) are written in is C. We have three people on the team working towards this end. C is our preferred language because it is both fast and what the EFLs (Enlightenment Foundation Libraries) are written in. Because Bodhi is based on Ubuntu we inherit their many python applications (for better and worse). Myself and one of our other developers take care of all the python and bash coding that comes up as we edit existing system components." LWN looked at Bodhi in March.

Comments (none posted)

Page editor: Rebecca Sobol
Next page: Development>>


Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds