Hello FreeDOS developers,
I'll first paste the announcement I made to our BTTR Software forum [1].
After that I'll add a few more things specific to FreeDOS.
===
I just finished up lDebug release 1.
The release primarily includes the manual (HTML is the preferred format,
text and PDF available too), and five executables: lDebug (86 Mode only)
and lDebugX (DPMI capable), both of each either uncompressed or lzip
LZMA compressed, and instsect set up to install a boot sector loader for
FAT12, FAT16, or FAT32 which can load any of the debugger executables as
a bootable kernel. Further executables include LZ4 or Exomizer 3
compressed executables if one prefers those. The lzip LZMA compression
was selected as the default method based on it compressing to the
smallest resulting files.
All executables and loaders are supposed to work on anything down to
8088/8086 level machines. The loaders (boot sectors as well as the
iniload stage embedded in the executables) prefer to use LBA access if
available, and fall back to CHS access else.
The main sources (included in the releases) amount to 43k lines:
source$ cntlines -q *.asm *.MAC *.mac
Files: 23
Bytes: 976576
Total lines: 43010
Blanks: 4660
Comment only: 8834
Actual code: 29516
Several other source repos are required for assembly. All of those are
available from my Mercurial repos [2]. The assembler used was NASM
version 2.15.03 (its preprocessor is extensively used). Complete
building requires a C compiler to build several supporting applications.
My website [3] contains links to the repo, releases, and manual on the
web (always the most recent one), or you can directly load the lzipped
tarball [4] (1.6 MiB) or the zipfile [5] (5.5 MiB).
To get a sense of what is new since I forked FreeDOS Debug 1.13 you can
read the blurb on my website or at the beginning of the manual. For more
in depth descriptions of most of the new features you'll have to read
the manual. For a quick start, run one of the executables and enter the
? command to get the main online help. (This should be paged according
to the amount of rows on screen.) At the end of the main online help,
further online help pages are referenced.
lDebug is free software, primarily under the Fair License [6], though
the original FreeDOS Debug's MIT license and the 2-Clause BSD license
(transitionally used for lDebug) are offered as alternatives too.
(I intend to repackage the release for a FreeDOS installer compatible
zipfile at a later time. Meanwhile FreeDOS users can unpack this release
manually.)
===
I consulted the FreeDOS wiki on how to package the application [7], and
what to put into the LSM file [8]. I also reviewed the existing FreeDOS
Debug package info [9] for direction on writing the LSM file. Finally I
created a package that I hope can be included in a FreeDOS distribution
[10] (5.7 MiB). For reference, here is the content of the LSM:
Begin3
Title: lDebug
Version: release 1
Entered-date: 2021-02-15
Description: advanced debugger based on FreeDOS Debug
Keywords: debug, debugger, DPMI debugger, bootable debugger
Author: Paul Vojta <vo...@math.berkeley.edu>
Andreas "Japheth" Grech <mail -at- japheth.de>
Maintained-by: C. Masloch <pushbx -AT- ulukai.org>
Primary-site: https://ulukai.org/ecm/web/#projects-ldebug
Platforms: DOS (crosscompile from Linux with NASM and C compiler)
Copying-policy: Fair License
End
And this is how I created the package:
1. Extract from ldebug1.zip (the non-FreeDOS release zipfile)
2. Make directories SOURCE/LDEBUG
3. Move all other directories and files into SOURCE/LDEBUG
4. Make directory BIN
5. Copy SOURCE/LDEBUG/bin/ldebug*.com to BIN
6. Make directories DOC/LDEBUG
7. Copy SOURCE/LDEBUG/doc/ldebug.(txt|pdf|htm) to DOC/LDEBUG
8. Copy SOURCE/LDEBUG/license.txt to DOC/LDEBUG
9. Make directory APPINFO
10. Create LSM file
11. Insure the copied license.txt, ldebug.txt, and LSM have DOS format
linebreaks; ldebug.txt required using dos2unix to achieve this
12. Create zipfile using the command:
> 7za a -mm=deflate -mx=9 -tzip LDEBUG1.ZIP APPINFO BIN DOC SOURCE
Please tell me if there is anything to improve about the packaging.
Particular points of interest:
1. Is this the right amount of sources? The macro collection, ldosboot,
instsect, and scanptab repos' contents are not included, but they are
required to rebuild everything. The tellsize tool is another component
not included. (As listed in the LSM, I crosscompile from a (Debian)
Linux host system.)
2. Would you rather I include fewer of the temporary files, listing
files, and map files? Surely at least the LZ4 and Exomizer 3 compressed
executables are useful to include, however, considering the faster
decompression (both) and the uniform usage conditions (the LZ4 stub's
copyright lies only with me as I fully implemented it based on their
specs, not their sources).
3. Should instsect.com go into the BIN directory too? Generally the
lDebug release is the only source for the plain executable. (The recent
RxDOS kernel revisions also use instsect, but as of the next version
(7.25) the instsect tool is integrated into the RxDOS.COM kernel file
and not present as instsect.com on its own any longer.)
4. Is the Primary-site link in the LSM fine? And: I don't think
Japheth's or Paul Vojta's sites should be linked in the LSM, considering
that the fork is in some ways far from its FreeDOS Debug 1.13 roots.
Regards,
ecm
[1]: https://www.bttr-software.de/forum/forum_entry.php?id=17715
[2]: https://hg.ulukai.org/ecm/
[3]: https://ulukai.org/ecm/web/#projects-ldebug
[4]: https://ulukai.org/ecm/download/ldebug/ldebug1.tlz
[5]: https://ulukai.org/ecm/download/ldebug/ldebug1.zip
[6]: https://opensource.org/licenses/Fair
[7]:
http://wiki.freedos.org/wiki/index.php/Package#FreeDOS_1.1_package_structure
[8]: http://wiki.freedos.org/wiki/index.php/LSM
[9]:
http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/debug.html
[10]: https://ulukai.org/ecm/download/ldebug/fdpkg/LDEBUG1.ZIP
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel