On Tue, Jul 26, 2016 at 8:57 PM, Albert van der Horst wrote:

> Do you really demand that a Debian package can generate windows
> executables, and booting floppies in double density?

We already have tested and working GCC cross-compilers for Windows.

https://packages.debian.org/search?keywords=mingw

I don't think Debian supports floppies at this point.

> I don't tweak the assembler myself (maybe for a test). Others may, it is a
> service saving them the considerable time to understand a complicated system
> in case they want something simple. Also (in contrast to gforth) it is
> assembler all the way down, but some of it is an assembler representation of
> Forth code.
...
> Let's start with the data. The knowledge to do 64 bits is contained in
> width64.m4 , there is also width32.m4 and width16.m4. The knowledge to do
> nasm files is contained in nasm.m4.  Other assemblers have their m4's.Last
> but not least linux.m4 versus msdos32.m4 versus osx.m4 versus alonehd.m4
> etc.  So we have orthogonal sets of alternatives. Now these are selected by
> configuration files, also interpreted by m4. Configuration files also
> contain choices (e.g. "prepared for multitasking") and sizes. A prelude sets
> defaults, changeable by the configuration file. A postlude makes depending
> configurations and detects conflicts. (Real mode -> 16 bits. Real mode and
> 32 bits --> error).
> A configuration item is an m4 function.
> Then there is one generic file. Parts of it are protected by a m4 function
> that decides whether or not it will show up in the output.
> A configuration file, an  assembler selection and the generic file are
> passed through m4, to generate an assembler source, a test file, and the
> glossary documentation.
> (So all documentation is pertinent. It says "a cell size is 64 bits" "you
> have 8 slots in the search order").
> The glossary documentation is sorted by my sssort tool that can specify
> records by regular expressions, then combined with the other information
> that also passes through m4. texinfo takes it from there.
>
> With all that in place development workflow is trivial:
> I can add one test line in the generic file, change the name of command >IN
> to PP, or change the section where a command belongs, increase the size
> allocated to stacks etc. , and go make stuff, up and including fitting
> documentation.
...
> You're awfully optimistic here. That is hardly more than a list of the files
> involved. The document is called cifgen.ps and is generated via the
> makefile. It can be  downloaded separately:
> http://home.hccnet.nl/a.w.m.van.der.horst/cifgenps.zip

That is a lot to digest, thanks for the comprehensive explanation.

FYI, we have nasm in Debian too:

https://packages.debian.org/nasm

If you place the source* into a public version control system and
create release tarballs from those, that satisfies Debian's
requirements.

*ci86.gnr, the *.m4 files, the *.cfg files, the make files and any
other generic source files I have forgotten.

Please also release the source code for ssort somewhere, either as
part of ciforth or if you are developing it as a separate project, in
a separate git/cvs repository. The current release tarball for ssort
only has an ELF binary, which I assume is not the source for it.

In addition, I would recommend that any Debian packaging *always*
rebuild all automatically generated files (including the .asm files),
by removing them at the beginning of the `debian/rules build` stage of
the build and relying on the upstream build system to regenerate them.
This means that the Debian build process proves that Debian (and our
users etc) has the ability to build from source.

> I'm more interested in recommendations of Debian developpers than those
> of wiki. Surely you have by now an opinion what would be preferably
> for Debian.

I myself use Alioth, Savannah, SourceForge, GitHub and LaunchPad for
different projects. There are no hosting facilities that I personally
like, mostly because they are all web services. Debian itself uses
FusionForge on alioth.d.o, but that is for Debian related projects
rather than upstream development. World-wide, GitHub is relatively new
and the most popular, but it is a proprietary, for-profit service.
Debian folks tend to use Alioth or Github.

> Then there is history. There are over a thousands meticulously documented
> versions of ci86.gnr and a couple of dozen tagged versions.
> If I must leave that behind, some convincing need to be done.

I certainly would not recommend dropping the history.
The options here are to host the CVS repository publicly or
to convert the CVS repository to a git repository:

https://git-scm.com/docs/git-cvsimport
https://www.kernel.org/pub/software/scm/git/docs/gitcvs-migration.html
http://cvs2svn.tigris.org/cvs2git.html
https://github.com/BartMassey/parsecvs

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Reply via email to