Discussion:
Bug#805704: Components of Inform 6 code base
(too old to reply)
Ben Finney
2015-12-11 04:40:02 UTC
Permalink
Howdy David,

An update on how I'm tackling the packages in Debian:

* The ‘inform6unix’ releases don't appear to be archived anywhere
except on GitHub; the page you earlier designated at
<URL:http://ifarchive.org/if-archive/infocom/compilers/inform6/source/>
omits earlier releases when you post a new one. Perhaps that's by
design, but it means I don't know a reliable URL that will persist
over time for a particular release tarball.

For now, I'm using the releases you generate as archived at
<URL:https://github.com/DavidGriffith/inform6unix/releases/>, is
that reliable into the future?

* The Inform 7 developers, as best I can determine from their public
statements, assert control over the maintenance of the Inform 6
compiler and standard library. Importantly for Debian, that means
the maintenance schedules, version strings, and released tarballs
are all different from the ‘inform6unix’ code base.

So there will be separate ‘inform6-compiler’ and ‘inform6-library’
source packages, getting source tarballs from (respectively) David
Kinder's ‘Inform6’ compiler repository, and your ‘inform6lib’
library. The version strings are derived from the releases from
those repositories.

If the confusion over authoritative releases and version strings can
be resolved by the Inform 7 developers, I might be able to make
better use of your extensive packaging work.

* The confusing use of the “Inform” name to denote two utterly
different authoring systems, distinguished merely by version number
but both still active, forces me to re-name the packages and
filenames to be clear these packages are specific to the Inform 6
system.

For these Debian packages, the compiler program file is
‘/usr/bin/inform6’ (and so its manual page is ‘inform6.1’), shared
resources go to ‘/usr/share/inform6/’, and so on.

* The default in the compiler code (the ‘header.h’ file) for
‘Include_Directory’ is ‘"library"’, and that seems a sensible name
for the standard library.

So ‘/usr/share/inform6/library/’ (not ‘modules’) is the installed
location for the Inform 6 standard library files from
‘inform6-library’.

I'm nearing completion of the packaging. As you requested, I'll wait
until you announce a “6.33.1” release before finalising this work.
--
\ “What is it that makes a complete stranger dive into an icy |
`\ river to save a solid gold baby? Maybe we'll never know.” —Jack |
_o__) Handey |
Ben Finney <***@benfinney.id.au>
Ben Finney
2015-12-11 05:10:01 UTC
Permalink
Package: wnpp
Severity: wishlist
Post by Ben Finney
* The Inform 7 developers, as best I can determine from their public
statements, assert control over the maintenance of the Inform 6
compiler and standard library. Importantly for Debian, that means
the maintenance schedules, version strings, and released tarballs
are all different from the ‘inform6unix’ code base.
So there will be separate ‘inform6-compiler’ and ‘inform6-library’
source packages, getting source tarballs from (respectively) David
Kinder's ‘Inform6’ compiler repository, and your ‘inform6lib’
library. The version strings are derived from the releases from
those repositories.
I now Intend To Package the ‘inform6-compiler’ package from an
upstream source distinct to ‘inform6’.

Package name: inform6-compiler
Version: 6.33
Upstream developer: Inform project
URL: http://inform7.com/sources/i6n/
License: Artistic License 2.0
Programming language: C
Description: Inform 6 interactive fiction language — compiler
Inform 6 is an object-oriented language for writing interactive
fiction, also known as “text adventures” or “adventure games”.
.
As an interactive fiction developer, you create Inform 6 source code
defining the story. Then compile from source code to “Z-code”, the
bytecode for a virtual machine (a “Z-machine”). The resulting story
files are highly portable, with Z-code interpreters available for
many different platforms.
.
This package installs:
* The Inform 6 compiler program, ‘inform6’.

This will be a dependency for the overall ‘inform6’ package, which is
from an upstream source maintained and versioned separately.
--
\ “Your [government] representative owes you, not his industry |
`\ only, but his judgment; and he betrays, instead of serving you, |
_o__) if he sacrifices it to your opinion.” —Edmund Burke, 1774 |
Ben Finney <***@benfinney.id.au>
Ben Finney
2015-12-11 05:10:02 UTC
Permalink
Package: wnpp
Severity: wishlist
Post by Ben Finney
* The Inform 7 developers, as best I can determine from their public
statements, assert control over the maintenance of the Inform 6
compiler and standard library. Importantly for Debian, that means
the maintenance schedules, version strings, and released tarballs
are all different from the ‘inform6unix’ code base.
So there will be separate ‘inform6-compiler’ and ‘inform6-library’
source packages, getting source tarballs from (respectively) David
Kinder's ‘Inform6’ compiler repository, and your ‘inform6lib’
library. The version strings are derived from the releases from
those repositories.
I now Intend To Package the ‘inform6-library’ package from an upstream
source distinct from the ‘inform6’ package.

Package name: inform6-compiler
Version: 6.11
Upstream developer: Inform project
URL: http://inform7.com/sources/i6n/
License: Artistic License 2.0
Programming language: Inform 6
Description: Inform 6 interactive fiction language — standard library
Inform 6 is an object-oriented language for writing interactive
fiction, also known as “text adventures” or “adventure games”.
.
As an interactive fiction developer, you create Inform 6 source code
defining the story. Then compile from source code to “Z-code”, the
bytecode for a virtual machine (a “Z-machine”). The resulting story
files are highly portable, with Z-code interpreters available for
many different platforms.
.
This package installs:
* The Inform 6 standard library.

This will be a dependency for the overall ‘inform6’ package, which is
from an upstream source maintained and versioned separately.
--
\ “If it ain't bust don't fix it is a very sound principle and |
`\ remains so despite the fact that I have slavishly ignored it |
_o__) all my life.” —Douglas Adams |
Ben Finney <***@benfinney.id.au>
Ben Finney
2015-12-11 05:30:02 UTC
Permalink
Control: block -1 by 807636
Control: block -1 by 807637
Control: tags -1 + pending
Post by Ben Finney
So there will be separate ‘inform6-compiler’ and ‘inform6-library’
source packages, getting source tarballs from (respectively) David
Kinder's ‘Inform6’ compiler repository, and your ‘inform6lib’
library. The version strings are derived from the releases from
those repositories.
I've now formally announced the intent to create those packages
(Debian BTS #807636 and #807637).
Post by Ben Finney
If the confusion over authoritative releases and version strings
can be resolved by the Inform 7 developers, I might be able to
make better use of your extensive packaging work.
Meanwhile I'm working toward using what I can from ‘inform6unix’ at
version “6.33.1”, when that is released.
Post by Ben Finney
So ‘/usr/share/inform6/library/’ (not ‘modules’) is the installed
location for the Inform 6 standard library files from
‘inform6-library’.
I have constructed a Makefile for ‘inform6-compiler’ such that it
expects the standard library there, and ‘inform6-library’ installs the
files there.

I have modified your ‘inform.1’ manual page and derived a ‘inform6.1’
manual page, for installation from the ‘inform6-compiler’ package.
Post by Ben Finney
I'm nearing completion of the packaging. As you requested, I'll wait
until you announce a “6.33.1” release before finalising this work.
To be clear, I don't expect any of this to affect or delay your
imminent release of version “6.33.1” of ‘inform6unix’!

I'm already dealing with that code base as it is; further changes can
wait for another version (we won't run out of numbers :-)
--
\ “I have never imputed to Nature a purpose or a goal, or |
`\ anything that could be understood as anthropomorphic.” —Albert |
_o__) Einstein, unsent letter, 1955 |
Ben Finney <***@benfinney.id.au>
d***@661.org
2015-12-13 01:50:03 UTC
Permalink
Post by Ben Finney
Howdy David,
* The ‘inform6unix’ releases don't appear to be archived anywhere
except on GitHub; the page you earlier designated at
<URL:http://ifarchive.org/if-archive/infocom/compilers/inform6/source/>
omits earlier releases when you post a new one. Perhaps that's by
design, but it means I don't know a reliable URL that will persist
over time for a particular release tarball.
Changing the way the IF Archive is organized probably isn't going to
happen.
Post by Ben Finney
For now, I'm using the releases you generate as archived at
<URL:https://github.com/DavidGriffith/inform6unix/releases/>, is
that reliable into the future?
That should be reliable for the forseeable future. I'm happy with Github.
Post by Ben Finney
* The Inform 7 developers, as best I can determine from their public
statements, assert control over the maintenance of the Inform 6
compiler and standard library. Importantly for Debian, that means
the maintenance schedules, version strings, and released tarballs
are all different from the ‘inform6unix’ code base.
These days I have sole control over the maintenence of the standard
Inform6 Library. I have some input with the compiler.
Post by Ben Finney
So there will be separate ‘inform6-compiler’ and ‘inform6-library’
source packages, getting source tarballs from (respectively) David
Kinder's ‘Inform6’ compiler repository, and your ‘inform6lib’
library. The version strings are derived from the releases from
those repositories.
If the confusion over authoritative releases and version strings can
be resolved by the Inform 7 developers, I might be able to make
better use of your extensive packaging work.
* The confusing use of the “Inform” name to denote two utterly
different authoring systems, distinguished merely by version number
but both still active, forces me to re-name the packages and
filenames to be clear these packages are specific to the Inform 6
system.
For these Debian packages, the compiler program file is
‘/usr/bin/inform6’ (and so its manual page is ‘inform6.1’), shared
resources go to ‘/usr/share/inform6/’, and so on.
I have mixed feelings on this. Inform6 can be installed as "inform"
simultanously with Inform7 without either stomping on the other. At the
very least, I'm going to shift the Inform6 Library to using a modern
three-number versioning scheme. So what I have now will be 6.12.0.
Post by Ben Finney
* The default in the compiler code (the ‘header.h’ file) for
‘Include_Directory’ is ‘"library"’, and that seems a sensible name
for the standard library.
So ‘/usr/share/inform6/library/’ (not ‘modules’) is the installed
location for the Inform 6 standard library files from
‘inform6-library’.
The way /usr/local/share/inform/ is organized is a mess. Modules aren't
supported anymore. I'm interested in any suggestions you may have for it.
Post by Ben Finney
I'm nearing completion of the packaging. As you requested, I'll wait
until you announce a “6.33.1” release before finalising this work.
May I take a look at your working code? I feel there may be stuff that I
can use in there, particularly something simpler to replace the
autoconf/automake system I have.
--
David Griffith
***@661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
Ben Finney
2015-12-15 10:40:02 UTC
Permalink
(David, could you change the “From” field in your messages to have
your full name and not just an email address? It would make your
messages harder for me to miss accidentally.)
Post by d***@661.org
Post by Ben Finney
I'm nearing completion of the packaging. As you requested, I'll
wait until you announce a “6.33.1” release before finalising this
work.
May I take a look at your working code?
Yes, certainly. So far there are three distinct packages, here is how
to get the packaging work for each of them::

$ mkdir --parents ~/Projects/inform6/
$ cd ~/Projects/inform6/
$ bzr branch --bind http://anonscm.debian.org/bzr/collab-maint/pkg-inform6/trunk/

$ mkdir ~/Projects/inform6/inform6-compiler/
$ cd ~/Projects/inform6/inform6-compiler/
$ bzr branch --bind http://anonscm.debian.org/bzr/collab-maint/pkg-inform6/inform6-compiler/trunk/

$ mkdir ~/Projects/inform6/inform6-library/
$ cd ~/Projects/inform6/inform6-library/
$ bzr branch --bind http://anonscm.debian.org/bzr/collab-maint/pkg-inform6/inform6-library/trunk/

Each of those branches — a ‘trunk’ branch for each distinct package
I'm working on – contains only the Debian overlay to the upstream
source files. A Debian source package is made by overlaying that onto
the upstream source extracted from the original tarball.
Post by d***@661.org
I feel there may be stuff that I can use in there, particularly
something simpler to replace the autoconf/automake system I have.
Fair warning: You might find less to use than you'd hope to.

I'll direct you to the ‘inform6/trunk/debian/README.source’ document
to understand some of the decisions made for the Debian packages.
--
\ “The greater the artist, the greater the doubt; perfect |
`\ confidence is granted to the less talented as a consolation |
_o__) prize.” —Robert Hughes |
Ben Finney <***@benfinney.id.au>
Loading...