On 12/2/07, Eric Auer <[EMAIL PROTECTED]> wrote:
>
> Hi Jim,
>
> > 1. Not all developers care about FreeDOS pkg structure.
> > And it would be inappropriate of me to re-zip their release
>
> Would it? I mean if you want the original structure, you
> download from the developer's homepage. When I look at
> getdeb.net and rpmfind.net, I see packages which follow
> a distro and ignore the developer all over the place, but
> of course I also get URLs where I can get original TGZs.

Yes, it does matter. Your reply dropped the part of my email that had
the important point, so allow me to re-paste it here:
>>>>>>>>>>>>
It would be ok to create a pkg to put on the UPDATE server, but it is
not ok to re-zip someone else's work before putting it in the GENERAL
archive.
<<<<<<<<<<<<

(emphasis added)

There is an important difference. What I put in the general archive on
ibiblio is a mirror of other people's work. For most programs, they
already have another primary location, and (license permitting) I'm
just putting it on ibiblio so that it has at least a 2nd place to live
(for example, in case the original site goes down or otherwise becomes
unavailable.) Users should still be able to download the original
program in its original archive from ibiblio, AND IT SHOULD BE
IDENTICAL TO WHAT WAS ORIGINALLY RELEASED BY THE AUTHOR/MAINTAINER.
Else, it would confuse which was the version that the author had
actually released. That's why when I reply to announcements about new
program versions on this list, I consistently say I "mirrored your
release on ibiblio", and why I no longer convert rar files to zip
files.

It would also mean the general archive on ibiblio was no longer a
mirror site - and it needs to remain a mirror site.

Case in point: 4DOS 7.59 is available from http://www.4dos.hit.bg/ - I
have mirrored this release on ibiblio at
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/user/4dos/

But if you look at the 4dos759.zip file, it doesn't contain any pkg
structure. It's just a zip of the files that make up 4DOS 7.59,
without any directories. Doc files are mixed with help files and exe
files.

If we were to turn this into a pkg file (to put on the update server,
for example) we would necessarily need to add the pkg directory
structure. But (and this is the important bit) we DO NOT save the new
pkg file as 
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/util/user/4dos/4dos759.zip.
Instead, we would save it as
http://..../1.1/updates/pkgs/util/4dos759.zip. There's an implicit
declaration based on its new location that this is a pkg file, not the
original zip file - even though they happen to have the same name.
It's not ideal, but keeping the zip extension can confuse things when
the original release was also a zip file.

Mateusz & I just had a brief off-list discussion where I suggested we
may want to change how FDPKG manages packages. One thing we may want
to do is have all pkg files have a PKG or FDP ("FreeDOS Package")
extension, rather than keep the zip extension, even though the pkg
file is just a zip file with a particular directory structure.
Changing the extension would be a good way to implicitly declare that
the pkg file is not the original release zip file (4dos759.zip &
4dos759.fdp, for example.)

> > I don't want to re-zip everything on ibiblio to meet the new pkg
> > standard.
>
> The standard is not new - I only suggest to re-zip everything
> which will be part of FreeDOS 1.1, because there is not other
> choice. You need zips in fdpkg format for every single package
> which will be on the ISO, and we need helpers for that task.

Again, your reply removes the important part of my statement, and
confuses what I originally wrote. I said:
>>>>>>>>>>>>
3. We may (at some later date) choose to change the FreeDOS pkg
directory layout. As of today, no suggestions to do this have been
made, but a year from now it's possible that we may want to change it.
I don't want to re-zip everything on ibiblio to meet the new pkg
standard.
<<<<<<<<<<<<

As an example, at some later date we may choose to (slightly) change
the definition of a pkg file. Maybe we decide that the LSM file should
not go in APPINFO, but should be included as a zip file comment, so no
pkg file should ever have an APPINFO after that.

IF WE CONVERTED EVERY ZIP FILE ON THE GENERAL ARCHIVE TO PKG FORMAT,
based on the pkg format today, we would be expected to go back and
re-zip every pkg file when we updated the updated pkg format.

But, again, my point in #1 remains the most important point: it would
be inappropriate to re-zip an author's released program into a pkg
format.

> > > Suggestion: wget -O choicex.zip http://foo/bar/choice-4.4-binary.zip
>
> > Your suggestion works well when the package title is 7 characters or
> > less. But [...] Diskcopy [...]
>
> You are right. Yet "pkg/choice.zip" is still a lot better than
> illegible shorthands like dkcp815x.zip :-). And package titles
> are never more than 8 chars long for the simple reason that the
> title is usually the name of the main executable which has an
> 8+3 style name :-). So my next suggestion is to drop the X and
> S suffixes from the name of the zip in the working directory of
> the installer :-).

The version number needs to be in there somewhere, and I strongly
believe that we should not simply overwrite older versions with a
newer version of a pkg, on the update server. That is, packages should
not be (exe) http://..../1.1/updates/pkgs/util/4dos.zip and (src)
http://..../1.1/updates/spkgs/util/4dos.zip.

Packages should be named (exe)
http://..../1.1/updates/pkgs/util/4dos759.zip and (src)
http://..../1.1/updates/spkgs/util/4dos759.zip ... and (exe)
http://..../1.1/updates/pkgs/util/4dos758.zip and (src)
http://..../1.1/updates/spkgs/util/4dos758.zip.

In one of my other emails, I suggested the data file on the update
server would need to indicate the pkg and spkg. See below. That's easy
to do on the update server, and a good solution. Why do you not think
this is a good idea?

> > suppose there is no reason for FDUPDATE to save the pkg to a
> > recognizable filename. After all, it's only downloading
>
> You are right, but what I have in mind are people who use the
> repository for manual updates. As said, fdpkg zips are much
> easier to install than arbitrarily formatted zips.

Not sure I understand this. Why would you use FDUPDATE to fetch
updates, but then decide to not have FDUPDATE install them so you
could install them yourself using 'unzip'? That doesn't make any sense
to me.

The whole point here is to have an easy, automated way to keep your
system up to date. If you don't want to use the automated tool and
would rather look at the repository on the update server to download &
install manually: FINE, DO THAT. My suggestion didn't say that the
files on the update server should be named using non-recognizeable
filenames. My suggestion was that FDUPDATE could save the pkg to its
local cache using its own assigned filename. That allows us to name
the pkg file whatever we want on the update server (choice-4.4.zip or
choice-4.4-exe.zip or choic44x.zip ... whatever makes sense to us.)

> Remember that it is far from normal that FreeDOS installations
> are on networked computers. Systems like Ubuntu and Windows now
> almost force you to have fast (!) internet for updates but for
> DOS many users will be interested in downloading files using
> another PC or another operating system and then later, offline,
> using them to update their DOS. Remember that there are no INF
> files for FreeDOS, so users typically install network drivers
> after they have installed DOS and worked with it for a while,
> instead of throwing in a driver CD during the install process
> or having a big collection of drivers on the distro CD already.
> The latter is not possible for FreeDOS because licenses of DOS
> network drivers often do not let us include drivers on the CD.

Then your suggestion brings us back to the suggestion that the update
server should stick to 8.3 filenames, so that a user may easily access
them from FreeDOS without having to translate long filenames. So let's
assume 8.3 here:

In other emails, I made a suggestion for how the data file on the
update server could indicate which filename had the latest pkg (exe)
and spkg (src) update for, say, CHOICE 4.4:

>>>>>>>>>>>>
Obviously, there would be multiple <pkginf> sections, one for each package.

But how do you know what package file to fetch? For a package named
"foo" with version "3.1", the exe package would likely be FOO31X.ZIP
and the src package would be FOO31S.ZIP. But not everyone uses the
same version format, so that's a problem. And so you have package
names that don't easily fit into 8.3, even simple cases like "choice"
with version 4.4 ... how do you surmise the correct package name? I
think I need to pass back a reference to the exe and src package
names:

<pkglist>
<pkginf>
 <title id="CHOICE" />
 <version id="4.4" />
 <entereddate id="2003-09-20" />
 <pkg id="choic44x.zip" />
 <spkg id="choic44s.zip" />
</pkginf>
</pkglist>
<<<<<<<<<<<<

and:

>>>>>>>>>>>>
For example, the FreeDOS 1.1 updates repository might be:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/updates/

That's defined to the FDUPDATE program in some way, probably via an
INI file. So FDUPDATE picks the list files from there, which contain
references to pkg (exe) and spkg (src) files as, say, "choic44x.zip"
(in "pkgs") and "choic44s.zip" (in "spkgs"). Assuming we just
downloaded the list file for 'base', it's fairly trivial for FDUPDATE
to glue things together to know to fetch the pkg file from:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/updates/pkgs/base/choic44x.zip

.. and the spkg from:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/updates/spkgs/base/choic44s.zip

In other words, the pkg file from:

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/updates/
+ pkgs/
+ base/
+ choic44x.zip

.. and the spkg from:

http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.1/updates/
+ spkgs/
+ base/
+ choic44s.zip
<<<<<<<<<<<<

Now let's put it together. If I had a FreeDOS PC that didn't have
internet access, but I was able to make a CDROM copy of
http://..../1.1/updates/, then I could set my FDUPDATE repo to point
to a directory on the CDROM (say, D:/1.1/updates/) and FDUPDATE would
happily be able to read the data file that indicated package names &
versions & filenames, and would then update all the packages on my
system that needed updating. It would know where the correct pkg (exe)
file was located by using the "pkg" directive, and would know where to
find the spkg (src) file by using the "spkg" directive.

In other words, the pkg file from:

D:/1.1/updates/
+ pkgs/
+ base/
+ choic44x.zip

.. and the spkg from:

D:/1.1/updates/
+ spkgs/
+ base/
+ choic44s.zip

What changed? Only the repo location. Everything else stays the same.
As mentioned above, this assumes everything is 8.3.

It might be a good/interesting idea, though, to add an option to
FDUPDATE to tell it to read/unzip the packages in-place (i.e. assume a
local repo) rather than wget them to a local cache. Obviously, that
works well when the repo is local, but not so well when the repo is on
a web server somewhere.


-jh

-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell.  From the desktop to the data center, Linux is going
mainstream.  Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to