Jim Hall
FreeDOS Project coordinator, 1994-2009

Old software list

Saturday, March 6th, 2010

As promised, it’s been a week, so I have replaced the old software list with a friendly message that redirects you to the new software list. Now, if you try to visit the old (lsm.cgi) software list, you’ll just get a message that the software list has moved, and a URL to the new page you were looking for.

For the last week, the old software list has worked, but had a note added to it, letting you know that it was the old version. This was so program maintainers could compare the new software list with the old software list, and verify for themselves that all the data was correctly imported.

If you still want to validate the data in the new software list against the old data, you will need to use the old LSM files directly. The old LSM files are still there, but I haven’t linked to them so web search engines can’t find them (these files were never meant to be indexed or views directly, but rather through the software list web interface.) But you can still get there if you know where to look.

Let’s say you want to compare entries in the “Base” disk set. The LSM files from the old software list are still on the web server. Go to http://www.freedos.org/freedos/software/base/ and you’ll see a list of files ending with “.lsm”. Those are the original LSM files. Just put that at the end of the “http://www.freedos.org/freedos/software/base/” URL.

The Software List as XML

Monday, March 1st, 2010

When I wrote the new FreeDOS software list, one of the “targets” was to provide a method for the FDUPDATE program to get a list of packages that it needed to update. An easy way to do this is to query the database, and format the output in an XML file that the FDUPDATE program can read.

I’ve already shared this with Mateusz, but in case anyone else wants to write their own program to check FreeDOS program information via an XML file, here’s how to export the software list as XML.

You start here:


Without any parameters, the fdupdate.cgi program returns an unformatted list of “categories” (also called “disk sets”) in the software list. When you installed your distribution of FreeDOS, you may only have installed the “Base” disk set. But others may have installed the “Full” distribution, and might have chosen to include things like “Devel” and “Edit”. The FDUPDATE program knows what disk sets you installed, so it also knows what disk sets it needs to update. It does the right magic in the background to fetch the right category lists.

Let’s say you wanted to get the data for just the “Base” category. You just give fdupdate.cgi the “cat=” parameter:


That will give you an XML list of all the packages (and their version numbers) in the “Base” category. The FDUPDATE program can easily parse this to figure out which programs need updating.

Since the software list was only recently converted to a database, obviously the FDUPDATE program doesn’t support the new fdupdate.cgi method yet. That’s probably a good thing for right now, since the database doesn’t contain any information (yet) about the specific package zip file names. We haven’t entered that into the database yet, but we will.

So this is sort of a “coming soon” feature of the software list. But I wanted to share this with you now, so you can see the flexibility that a database back-end gives us.

Exporting an LSM

Sunday, February 28th, 2010

I recently posted about the new software list, how it uses a database back-end to store the data. An important thing to remember is that maintainers will still use LSM files to provide information (author, maintainer, URL, etc) about your program. The new software list just makes it easier for us to keep the information organized.

But you may ask, “if the database is tracking all the information, how do I edit an LSM file?” Maintainers have two options: You can still edit the LSM file that you already have. Or, you can export your program’s information from the database as an LSM file, and work from that. Let me walk you through the process.

To export an LSM file from the database, use this CGI:


Without any parameters, this CGI will simply list all the program “categories” that are available. Categories are what later become “disk sets” in the full distribution. To see the programs listed for a particular category, use the “cat=” parameter. For example, for the “Base” disk set:


This lists all the programs that are part of that category. To view the LSM file for a specific program, give the “prog=” parameter. For example, for the FreeDOS Kernel:


And that’s it. Easy!

Note that when you have a new LSM file (for example, when you make a new release of your program, or if you need to update the URL, etc) you still need to email that file to one of the FreeDOS admins. There’s an LSM “import” process that the admins can use to put your LSM file into the database.

I know about the broken forum link

Saturday, February 27th, 2010

In case you are wondering: yes, I know that the link to the forums (from the news items) is broken. That seems to be something that SourceForge did. I can’t fix it for them, but I can at least modify the links to point to the news archive at SF. I’ll fix this soon.


It’s fixed. Thanks.