Hi Darik, > On Nov 8, 2021, at 6:55 PM, Darik Horn <dajh...@gmail.com> wrote: > > Hi all, > > The FreeDOS repo ISO file that was published today can be reduced from 632MB > to 579MB by repacking it. This adds 53MB of media headroom, which should > reduce pressure to bump packages in future point releases.
Just a note regarding the FreeDOS repo ISO... The Repo ISO image is mostly provided just as a convenience. The creation and publishing of that ISO is part of a fully automated process that is handled by the repository management utilities. Once per day in the early morning hours, the management utilities check to see if any packages have been added or updated. When it notices that occurred, it gathers all of the latest versions for each package and generates a ISO out of them. The creation of that ISO is not very complicated. However, it is not just a simple copy and burn image. It also goes through and generates listing and other metadata files for programs like FDNPKG and FDIMPLES. It also generates a bunch of “flat” html pages for that image as well. There are several “packages” that are not in the repository at present that may be added later. There are various reasons for their current exclusion. For example, someday PC/GEOS[1] may be added. I have not discussed it with it’s developers for quite a long while. But, the last time I did, they did not feel it was ready for general public use/testing. That may be different now. Anyhow, the full version of that is around 120MB. I only see the total amount of software in the repository growing over time. Assuming we continue to provide a convenient download ISO that contains all of those packages, we will need a long term solution. That would probably involve splitting package groups onto separate images or possible a dvd iso. > > Original (as of 2021-11-08): > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/latest/cdrom.iso > > <https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/repositories/latest/cdrom.iso> > > Repack: > https://drive.google.com/drive/folders/1b7IE-EsK5R1ROmXTaEvYNi9-kfVvH5wi?usp=sharing > > <https://drive.google.com/drive/folders/1b7IE-EsK5R1ROmXTaEvYNi9-kfVvH5wi?usp=sharing> > > The procedure is: > > 1. Unzip each FDN package. > 2. Further unpack each ZIP and 7Z source file. > 3. Zip+Store each SOURCES/* tree like it has LFN. > 4. Rezip each FDN package like usual. > 5. Optimize each package with AdvanceCOMP. > > The size at each step is: > > 660,869,928 bytes, original > 629,362,932 bytes, rezipped with InfoZip 3.0 > 605,766,821 bytes, optimized with AdvZip 2.1 > > Everything stays in zip format 2.0 and remains compatible with PKUnzip 2.04g > and FDNPKG. > > Supposing that other ARCHIVER/* formats were implemented by the FreeDOS > packaging system, the cdrom.iso size could be: > > 627,403,406 bytes, ARJ (-jm) > 557,334,645 bytes, ZIP/BZ2 (-9) > 495,380,042 bytes, RAR2 (-m5 -mdE -mm) > 449,729,467 bytes, 7Z/LZMA2 (-mx9 -ms=on -mqs=on -md=1m) The test results you’ve provided are interesting. They definitely show an improvement over the current packages. It would be better to recompress the packages when they are added to the repository. There are several benefits to doing it at that point. As you have noted, it would reduce the space required on the repo ISO. It would also reduce the space used on the server and download size/time for individual packages. Recompression is something that will be considered for the next version of the repository management utilities. The current version of the repo utils is something like version 3 or 4. I haven’t really been counting. Nowadays, the management of the repo is fully automated. It makes things much easier to manage. For example, we can just push an updated package on the server and walk away. It will do a bunch of verification stuff on the package and repository itself. Locate the older version. Version out the different copies. Adjust some symlinks for updater programs like FDNPKG. Create metadata and index files. Create/update static browsable HTML files from customizable templates. Maintains an RSS feed. Builds repository status vs previous OS release comparison charts. Publishes a package ISO. And a couple other things. There are plans for a new version of the repo management utilities. There are a number of new features and things that can be improved. Just for example… Image and screen snapshots for packages. Improved directory versioning hierarchy. External software metadata (HTML pages for software not in the repo and link to an external website). And many many more. > > UnRAR 2.50 is particularly impressive because it is 16-bit, fast, and will > extract on an 8088 with 640KB of memory. It also has an output size > competitive with the kind of 7-Zip 19 archive that can be extracted by 7ZDEC. > > For fun, I also replaced SLICER with RAR and reduced the number of > installation floppies from eight to three. These repacked floppy images are > also in the linked folder. SLICER is NOT a compression program. It is more like TAR. But even then, that comparison is only valid with glance at some of the features. SLICER is a small keyword/tag based archiver, file splitting and installer hybrid program. There is support for compression built into the SLICER archive file format. However at present, SLICER does not have support for doing compression. Eventually, it will get it. But, probably not for a while. I spent a good deal of time considering the many different needs a of Floppy Edition. Also, what could be done with existing utilities. SLICER is far from perfect. But, it is the only archiver that meets all of the required needs for the Floppy Edition. Here are just some some of the key reasons it was created and is being used. SLICER is tag/keyword based. This off-loads a good deal of work that is needed from the batch based installer. The installer gathers a little information regarding the system and passes those keywords to SLICER which extracts/installs the appropriate files for the system. For example, if the installer sees it is running on a 286 there is no point (with some exceptions, and it can be overridden) and possible detrimental to install software requiring a 386. This in combination with tags related to video, virtual machine, etc are all passed along and provide a variety of installation possibilities. While it is possible to kind-of do something similar to tags/keywords with TAR or another archiver, that causes several problems. Mostly, it would add a lot of overhead to the batch installer. And, it would require multiple extraction passes and disk swaps. One for each individual tag/keyword. SLICER is small. Less than 1/10th the size of RAR. While, this does not matter as much for a 1.44mb diskette. It matters a lot if a user only has a 160K drive to work with. With RAR being roughly 353K, that is not going to happen. All that being said. By no means do I love SLICER. It’s really weird and rather a pain to use. For 99.9% of things, other utilities like RAR, TAR, GZIP, etc are much easier to use. :-) Jerome —— [1] PC/GEOS sources and event CI builds can be downloaded from their GitHub page at https://github.com/bluewaysw/pcgeos/releases <https://github.com/bluewaysw/pcgeos/releases> Also, you can find and chat with them on Slack at https://bluewaysw.slack.com/ <https://bluewaysw.slack.com/> and their website https://blog.bluewaysw.de <https://blog.bluewaysw.de/>
_______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user