From: Matej H. <mat...@gu...> - 2013-06-15 18:46:04
|
Hello all, I've released the FreeDOS offline updater, which is a set of two programs, GENPKGLS ("generate package list") and GETPKGS ("get packages"), that are used together to semi-automatically update software packages on a FreeDOS machine that is not connected to the Internet, with the help of a Windows machine. Download and documentation: http://matejhorvat.si/en/freedos/fdoffupd/ Matej Horvat http://matejhorvat.si/ |
From: Rugxulo <ru...@gm...> - 2013-06-18 15:20:04
|
Hi, On Sat, Jun 15, 2013 at 1:48 PM, Matej Horvat <mat...@gu...> wrote: > > I've released the FreeDOS offline updater, which is a set of two programs, > GENPKGLS ("generate package list") and GETPKGS ("get packages"), that are > used together to semi-automatically update software packages on a FreeDOS > machine that is not connected to the Internet, with the help of a Windows > machine. > > Download and documentation: > > http://matejhorvat.si/en/freedos/fdoffupd/ This sounds way too complicated (for me), but anyways, your efforts are nevertheless appreciated. Just a few random comments: 1). "GETPKGS, which runs on Windows, has only been tested with Windows XP. It requires GNU Wget to be installed and obviously an Internet connection." What did you compile it with? Did it use any XP-specific APIs? IIRC, latest MSVC claims to need XP SP3 or higher, but I don't know of any such limitations in, say, MinGW or OpenWatcom. 2). Regarding Wget, actually I don't use a lot of such tools (though I've used it sparingly before), but couldn't you just automatically grab (via Windows' existing FTP.EXE or maybe something better I'm not aware of) the Win32 WGET.EXE if not found in %PATH%? 3). "Edit GETPKGS.CFG so that the "WGET=" line contains the path and filename of your Wget executable." Again, wouldn't just checking the %PATH% for it be easier? 4). "The DOSDIR environment variable must be set and it must not end with a backslash. Usually, it will already be set." I hope your error checking is good. :-) |
From: Matej H. <mat...@gu...> - 2013-06-18 15:57:27
|
> This sounds way too complicated (for me), but anyways, your efforts > are nevertheless appreciated. It's actually really easy to set up and use. :) But I wrote this because I needed to solve this problem for myself, so I understand if it doesn't sound too attractive to others. Still, it beats manually checking for updates if for any reason you cannot connect a FreeDOS machine to the Internet. > What did you compile it with? Did it use any XP-specific APIs? IIRC, > latest MSVC claims to need XP SP3 or higher, but I don't know of any > such limitations in, say, MinGW or OpenWatcom. GETPKGS is written in FreeBASIC and doesn't use any Windows-specific features, but it assumes that the directory separator is backslash, and possibly that the file system is case insensitive. GENPKGLS is compiled with OpenWatcom and uses its dos.h library. > 2). Regarding Wget, actually I don't use a lot of such tools (though > I've used it sparingly before), but couldn't you just automatically > grab (via Windows' existing FTP.EXE or maybe something better I'm not > aware of) the Win32 WGET.EXE if not found in %PATH%? I didn't consider that. But I'd rather not hardcode any URLs into the EXE, and I don't think it's too hard to install it manually. Is there even an official FTP site with Windows executables of Wget? > 3). "Edit GETPKGS.CFG so that the "WGET=" line contains the path and > filename > of your Wget executable." > > Again, wouldn't just checking the %PATH% for it be easier? Maybe. On my system, PATH is very long already, mostly due to various compilers and poorly written programs that insist on being in the PATH. Putting the path into the configuration file just seemed a better solution to me. > 4). "The DOSDIR environment variable must be set and it must not end > with a > backslash. Usually, it will already be set." > > I hope your error checking is good. :-) I check that DOSDIR exists and that it doesn't end with a backslash, but I trust the user to point it to a valid location. I assume that most users only set DOSDIR once (or never, if the FreeDOS installer does it for them) and then forget about it. Thanks for your feedback! |
From: Jim H. <jh...@fr...> - 2013-06-18 21:32:07
|
Your programs do not include source code, so I can't tell how your program is checking to see what packages need updating. However, if it helps you, you may use lsm-export to do some of the work for you. Or to at least query the Software List on the FreeDOS website. You can use lsm-export in three ways: 1. Called without parameters, it returns a list of software categories: http://www.freedos.org/cgi-bin/lsm-export.cgi base boot devel edit gui net sound util 2. You can use cat= to request a list of packages associated with a specific category: http://www.freedos.org/cgi-bin/lsm-export.cgi?cat=base append assign attrib chkdsk choice command comp country cpidos cutemouse debug [...] 3. You can use prog= to request the details (in LSM3 format) of a specific package: http://www.freedos.org/cgi-bin/lsm-export.cgi?prog=kernel Begin3 Title: kernel Version: 2041 Entered-date: 2012-03-19 Description: The FreeDOS kernel, based upon DOS-C by Pat Villani. Keywords: kernel, freedos, dos, msdos Author: patv _AT_ monmouth.com Maintained-by: freedos-kernel _AT_ lists.sourceforge.net Primary-site: http://freedos.sourceforge.net/kernel/ Alternate-site: http://freedos.svn.sourceforge.net/viewvc/freedos/kernel/ Original-site: http://www.gcfl.net/pub/FreeDOS/kernel Platforms: DOS, FreeDOS, DOSEMU (OpenWatcom C or Turbo C, NASM, UPX) Copying-policy: GNU General Public License, version 2 End Hope that helps. jh |
From: Rugxulo <ru...@gm...> - 2013-06-19 04:07:53
|
Hi, On Tue, Jun 18, 2013 at 11:00 AM, Matej Horvat <mat...@gu...> wrote: > >> 2). Regarding Wget, actually I don't use a lot of such tools (though >> I've used it sparingly before), but couldn't you just automatically >> grab (via Windows' existing FTP.EXE or maybe something better I'm not >> aware of) the Win32 WGET.EXE if not found in %PATH%? > > I didn't consider that. But I'd rather not hardcode any URLs into the EXE, > and I don't think it's too hard to install it manually. Is there even an > official FTP site with Windows executables of Wget? Dunno, lemme check. Sometimes GNU does indeed host Windows binaries. Hmmm, I don't see anything on this particular mirror I'm checking. My Cygwin install does have it, but I don't think it's installed by default (doubt it's in their "base"). You could always use cURL instead. It does seem to have links to various Win32 builds: http://curl.haxx.se/ >> 3). "Edit GETPKGS.CFG so that the "WGET=" line contains the path and >> filename >> of your Wget executable." >> >> Again, wouldn't just checking the %PATH% for it be easier? > > Maybe. On my system, PATH is very long already, mostly due to various > compilers and poorly written programs that insist on being in the PATH. I agree, %PATH% is misused. But it still shouldn't be that hard to check for wget.exe there. In fact, starting with Vista (NT 6+) on up, you can use "where.exe /q wget" to silently check for it (as it returns an appropriate errorlevel: zero if found, one if not). > Putting the path into the configuration file just seemed a better solution > to me. Okay, but it's more tedious. >> 4). "The DOSDIR environment variable must be set and it must not end >> with a >> backslash. Usually, it will already be set." >> >> I hope your error checking is good. :-) > > I check that DOSDIR exists and that it doesn't end with a backslash, but I > trust the user to point it to a valid location. It can't be that hard to check if the directory exists. > I assume that most users > only set DOSDIR once (or never, if the FreeDOS installer does it for them) > and then forget about it. It's probably not a major problem, but still ... making things easier and more robust isn't always a bad thing. |
From: Matej H. <mat...@gu...> - 2013-06-19 10:31:46
|
On Wed, 19 Jun 2013 06:07:46 +0200, Rugxulo <ru...@gm...> wrote: > You could always use cURL instead. It does seem to have links to > various Win32 builds: Or I could just write my own HTTP code. It's very simple after all. :) >> Putting the path into the configuration file just seemed a better >> solution >> to me. > > Okay, but it's more tedious. With PATH, you have to make a trip to the Control Panel to set permanent environment variables. Neither way is perfect. But fine, I'll let Windows handle searching in the PATH if there is no WGET command in GETPKGS.CFG. > It can't be that hard to check if the directory exists. OK, I'll try to implement this in the next version. INT 21h AH=4Eh should do it? On Tue, 18 Jun 2013 23:06:49 +0200, Jim Hall <jh...@fr...> wrote: > Your programs do not include source code, so I can't tell how your > program is checking to see what packages need updating. GETPKGS uses the index.lst files of the FDNPKG repositores (http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/repos/ ) to check whether their versions of the packages are newer than the ones in the package list file produced by GENPKGLS and downloads the zip files if so. Is there a better way to do it? |
From: Steve N. <uso...@bu...> - 2013-06-19 04:29:55
|
On Tue, 18 Jun 2013, Rugxulo wrote: > Dunno, lemme check. Sometimes GNU does indeed host Windows binaries. > Hmmm, I don't see anything on this particular mirror I'm checking. My > Cygwin install does have it, but I don't think it's installed by > default (doubt it's in their "base"). http://gnuwin32.sourceforge.net/packages/wget.htm Something like this? -uso. |
From: Rugxulo <ru...@gm...> - 2013-06-19 05:35:44
|
Hi, On Tue, Jun 18, 2013 at 11:29 PM, Steve Nickolas <uso...@bu...> wrote: > On Tue, 18 Jun 2013, Rugxulo wrote: > >> Dunno, lemme check. Sometimes GNU does indeed host Windows binaries. >> Hmmm, I don't see anything on this particular mirror I'm checking. My >> Cygwin install does have it, but I don't think it's installed by >> default (doubt it's in their "base"). > > http://gnuwin32.sourceforge.net/packages/wget.htm > > Something like this? I don't quite know exactly what the OP was intending regarding Windows ports, but no, that's not quite what I meant. I was referring to "official" GNU binaries for Windows (e.g. Emacs or CVS, although upon second look the latter is kinda old and "non-GNU" hosted by GNU, go figure): http://gnu.mirrors.hoobly.com/gnu/emacs/windows/ http://ftp.gnu.org/non-gnu/cvs/binary/stable/x86-woe/ |
From: Steve N. <uso...@bu...> - 2013-06-19 05:57:53
|
On Wed, 19 Jun 2013, Rugxulo wrote: > I was referring to "official" GNU binaries for Windows (e.g. Emacs or > CVS, although upon second look the latter is kinda old and "non-GNU" > hosted by GNU, go figure): I thought GNU didn't do official binaries for anything. -uso. |