This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Programming

Linux Foundation launches killer development tool

By Steven J. Vaughan-Nichols on August 07, 2008 (5:30:00 PM)

Share    Print    Comments   

Ask any independent software vendor what he hates most about developing for Linux and he'll tell you that it's having to develop for SUSE and for Red Hat and for Ubuntu and ... you get the idea. The Linux Foundation has just released a beta of a new program, Linux Application Checker (AppChecker), that's going to make ISVs and other programmers start to love developing for Linux.

AppChecker, now in beta 3, is a downloadable open source Linux program. Once installed, the program shows you a Web page, the LSB Database Navigator. Here, you click on the Application Check link. This presents you with a Web form interface to fill out. In this form, you'll enter a name for your report and Name field, and in the Components field you'll enter the file path for your application. Next, enter the application's individual files, directories, installed RPM packages (prepended with pkg:),; RPM and .deb package files, and tar.gz and tar.bz2 archives. To make this manageable, click on the Select Application Components button so you can enter each item in a separate field. Next, select the LSB Version and LSB Profile you want to test against.

You then let AppChecker rip. It will automatically decompress archives and start testing. The program will check out your ELF (Executable and Linking Format, a.k.a. binary files), Perl, Python, and shell scripts. So far, this doesn't sound much more than just another fancied-up version of the forerunner of all program checkers, lint, but it's what AppChecker does next that will make it a must for any Linux software developer.

AppChecker then checks your program not only against different versions of the Linux Standard Base (LSB), but also against all the Linux distributions in the LSB Database. After the test is done it will present you with a report. It's this report that makes AppChecker special.

In the Web-based report, you're shown the compatibility status of your application with the various distributions, and which external libraries and interfaces your program uses. If all goes well, it gives you the option of putting your program in for LSB certification straight from the test program. It doesn't just give you a thumbs-up or thumbs-down for your application on any particular distribution, according to Amanda McPherson, Linux Foundation vice president of marketing and developer programs -- it "gives you the details you need to get your program running on a particular distribution."

McPherson warns, "This is a beta program and there's no guarantee, but yes, if AppChecker says your program should work with, say, Ubuntu 7.10 and 8.04, then your application should work on these distributions. The results can get very granular. It will tell you this library or this interface isn't available in this distribution. It can also recommend some replacements. For example, OpenSSL is often a problem and you should use different SSL library."

The program's initial idea came from McPherson and Ted T'so, the Linux Foundation's CTO and noted Linux kernel developer. AppChecker was then put together by T'so and the Russian Academy of Science. The program is licensed under the GPLv2.

According to AppChecker's technical documentation, AppChecker works by analyzing your "program's C/C++ symbols -- mostly functions with some global variables -- and libraries required by an application that are satisfied by dynamically linked libraries provided by a distribution."

AppChecker isn't a debugger. It doesn't check that the "type information expected by the application matches the type of the object provided by the distribution's libraries. For example, the layout of a data structure might have changed, or the function parameter that had previously been a 32-bit integer may have been changed to a 64-bit integer. Another problem that cannot be detected by the AppChecker is if the details of a function's behavior changes from one version to another."

What it does do is spell out for you what libraries and interfaces are provided by any given distribution, and make suggestions on which ones you might use as replacements to work on a particular version of Linux, or that will work on several different Linux distributions, McPherson explains. With this tool, you can quickly see what you need to do with your application to make it more portable across different Linux distributions.

It isn't perfect, of course. Not only is the program still in beta, but some libraries and interfaces aren't in the LSB databases. Still, it's a huge step forward in enabling developers to see exactly what they're dealing with in writing an application for multiple different versions of Linux.

AppChecker users can keep their test results to themselves, but McPherson hopes that they'll share their results with the Linux Foundation. "If you choose choose to share your results with us, it helps the Linux platform and helps the LSB get better. For example, it tells us what libraries Linux developers are using that aren't in LSB. We can then include [them] in the LSB, and that will make the LSB better."

Steven J. Vaughan-Nichols has been writing about technology and the business of technology since CP/M-80 was the operating system of choice for PCs and 2BSD Unix was what the cool kids used on their computers.

Share    Print    Comments   

Comments

on Linux Foundation launches killer development tool

Note: Comments are owned by the poster. We are not responsible for their content.

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 76.74.205.122] on August 07, 2008 05:58 PM
Yes, a very nice step, but their download link (http://ldn.linuxfoundation.org/downloads/tools-atk) is broken

#

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 76.74.205.122] on August 07, 2008 06:19 PM

Re: Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 67.207.142.223] on August 08, 2008 08:12 PM
Login required. Sorry, not that interested.

#

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 60.234.206.1] on August 07, 2008 11:27 PM
I think this is excellent, I for one will be using this and taking part by sharing any information I get back from it with LSB

#

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 76.30.31.133] on August 08, 2008 03:36 AM
So in other terms, using the info collected we can grow the LSB until all LSB compliant distros only differ in there grub splash screen, gdm greeter artwork, and wallpaper. Basically that's what it will take to ensure that an app can be installed in any distro.

So can I use this just to make sure the Java will install and then never worry about this crap again?

#

Re: Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 60.234.206.1] on August 08, 2008 05:09 AM
That's not the case. The distros can be as different as they like with LSB they're simply required to make sure certain development and user libraries are included in the distro when it gets shipped. The same thing applies to the recommended file structure of Linux O/S so that the majority of programs will still work even if the file structure differs in some areas and the way it performs differs to an extent. If certain core areas are included in the same way it increases compliance.

#

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 70.173.52.51] on August 08, 2008 05:31 AM
Oh vomit, LSB is a piece of crap, they should check it for compliance to SUS, you know so you're not writing to the ghetto and your program can run also work on the BSDs, Solaris and Mac OS X. Sparc doesn't even exist in LSB-land.

#

Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 82.247.122.68] on August 08, 2008 07:15 AM
Totally useless.
This tool should never have been developped. It takes cares of the numerous differences among all linux distributions ... but there shoudln't be so many differences ! Linux now have to be standardized : get rid of all these silly archives formats (rpm, deb, tgz, ..., not even fully compatible between 2 versions of the same distribution), same configuration for everything (runlevels and so) ... For me it's the next step to make Linux really fully accessible to home-users : get rid of all these differences between each distribution.
So this "appchecker" is just a step in the wrong direction : make easier for developpers to deal with all the distributions ... but this won't take care of the problem in itself.

#

Re: Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 121.72.187.10] on August 08, 2008 08:56 AM
So you want Linux to be a mono style OS, one size fits all? All distros together as one big distro? You understand the concept of free software? i.e. people can develop different versions of Linux to do many different things. If all the distros were the same there would only be ONE distro. This however allows us to keep the massive amount of choice that we have currently while still allowing developers to have less of a nightmare making programs for us. If you want a single distribution go to Windows. The app-checker allows the choice to remain for core functions etc but yet still allows there to be SOME simularities which allow developers to just develop for Linux as a platform instead of simply a rough guide and then having to adapt it to fit every single distro, the hard way.

#

Re(1): Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 80.108.103.172] on August 08, 2008 12:26 PM
"If you want a single distribution go to Windows."

What the heck are you talking about? Windows is not a "distribution". It is a proprietary OS solution where you do not have a lot of choice.
You either install it or dont.

In the Linux world you have a lot of choice but the FHS and LSB reduce choice WHILE MAINTAINING THE COMPLEXITIES!

Distributions will continue to be different. Why cant we use AppDirs please instead? Why DO WE F*CKING NEED SO MANY DIFFERENT PACKAGE MANAGERS?

Linux is destroyed by companies and their decision. And of course a few arrogant developers who insult the community. Hello Drepper.

#

Re(2): Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 121.91.54.119] on August 15, 2008 11:34 PM
It doesn't make a shred of difference how many package managers there are - as long I can get the software I want on my package manager. I use Ubuntu (.deb) which has a great package manager - why should I change to use, for instance *.rpm - or why should someone using Red Hat change to *.deb if what they currently have is working?

Packaging up software is relatively easy - and if software is popular, it generally makes it to the major formats. Is this really such a big issue?

Uniform paths would be nice though...

#

Re(1): Linux Foundation launches killer development tool

Posted by: Anonymous [ip: 78.32.220.209] on August 08, 2008 12:52 PM
Oh, another rant like this.....

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya