[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#883702: RFS: lina/5.3.0-1 ( #859130 ITP: lina -- iso-compliant Forth interpreter and compiler )



Adam Borowski schreef op 2018-07-06 04:18:
On Mon, Jul 02, 2018 at 05:32:40PM +0200, Albert van der Horst wrote:
(An earlier non-personal call for reviews yielded no reactions.)
I eagerly await your review of
https://mentors.debian.net/package/lina
especially whether it complies with the "preferred form of modification"
guidelines.

The current version of the package fails to build:

makeinfo lina.texinfo --no-split -o lina.info
make[1]: makeinfo: Command not found
make[1]: *** [Makefile:52: lina.info] Error 127

which is trivially fixable by adding texinfo to Build-Depends.
I've fixed that now.



Besides that, in a cursory review, I don't see any other issues.
That is a relief.


I can't claim I understand your build system, though.
I can't see what is so difficult about it.

Let me translate the assembler to c.
I originally wanted to deliver the preprocessed file, but
that was not in correspondance with Debian policy.
The unprocessed file is called ci86.gnr and looks like
(in c-parlance).
------------------8<-----------
/* <header> */
#ifdef STANDALONE
   <bootcode>
#endif
...

#ifdef MS-WINDOWS
   /* OPEN-FILE */
   <code>
#endif
 ...
#ifdef LINUX
   /* OPEN-FILE */
   <code>
#endif
 ...
#ifdef MSDOS
   /* OPEN-FILE */
   <code>
#endif

#ifdef FAS
  #if SIZE=32
     #define AX EAX
     etc.
  #endif
  #if SIZE=64
     #define AX RAX
     etc.
  #endif
#endif

#ifdef GAS
  #if SIZE=32
     #define AX %EAX
     etc.
  #endif
  #if SIZE=64
     #define AX %RAX
     etc.
  #endif
#endif
   ...
   /* code for DROP */
   <code>

  ...
  ...
----------------------------------
Some batches of constants are put together in an include file,
this is not shown because it would merely clutter up the example.
Now what happens is the file is preprocessed with LINUX defined,
FAS defined and SIZE equal to 32.
Of course the unix standard macro processor m4 is used,
not the c preprocessor.

The resulting assembler file is assembled by fasm, that has no
intervening object file and hence needs no linking step.
Hardly a "build system".


 And unlike not
understanding merely the packaged program's functionality, I don't think I can sign this myself. Thus, it'd be nice if someone else took a look as well. I don't quite see what's the new relation between ciforth and lina,
too.
I learned from Geert Stappers that I should not have asked you to review the
package, merely asked for comment, which you gave.
A verdict wether this package is suitable for Debian has to wait for someone
who has some affinity with it, I understand that.



Meow!
Thank you for your comment.

Groetjes Albert

--
Suffering is the prerogative of the strong, the weak -- perish.
Albert van der Horst


Reply to: