The way we've been manipulating the user's LXDE session menu is kind of
not supposed to be done, and certainly it's not the right way to do it.
So what I've done is make sure the correct tool for doing it system-wide
is installed. It turns out we can actually do it by hand, but because
we're not using a standard category, this method works according to all
of the applicable standards.
Jessie and later require that XDG application files (.desktop files)
live in /usr/share/applications. Some DEs may still look in /usr/local
for them, but they're not required or expected to, and LXDE at least no
longer does. So we'll put them where they belong from now on.
Changed precompiled binary locations and names to match what Ivan did
with A2SERVER. That is, precompiled binaries are in ${binaryURL} in a
subdir named precompiled and are named <base>-<arch>-<debianname.tgz or
suchlike. I didn't put the Apple // stuff into precompiled, but Ivan
can figure out where that should go.
I'd begun cleaning up GSPort in a branch before we decided to drop A2Pi
and KEGS from the A2CLOUD installer. Doing that caused the mainline
tree and my branch to differ, so I've been cleaning them both up to work
exactly the same way. That's done now, only the branch's ### more
searchable comments are different between the two emulator installations
now.
Couldn't just merge the files because there are other changes in the
branch we don't want now, or possibly at all, so I had to do it by
balancing the trees back and forth until the part I was working on was
consistent across both.
I'll probably bring across the searchable comments next, not because
they affect anything, but because they'll assist making sure nothing is
lost as we're working quickly for a Jessie release.
This is a change made in A2SERVER already--the choice between the which,
command -v, type, and hash... The problem is that POSIX defines none of
these so consistently that you can depend on one of them to work. We
happen to use bash specifically, which gives us an advantage in that
bash's behavior is well-defined.
For us, hash is the best way to find out whether or not a command exists
as it turns out. So that's what we'll use.
GSPort truly does replace it now. I was going to make it not installed
by default, but still optional. Ivan thinks it's truly no longer
necessary. He's right, it's not.
There are a number of issues regarding A2Pi at the moment:
1. The default A2Pi config or anything resembling it does not presently
work on Raspberry Pi 3 model B at all due to an upstream bug.
2. The default A2Pi config may not make sense anymore because it was
really tailored for the Apple II Pi card. This is a cool device that
looks like a modified Super Serial Card, but connects your Pi as an
interal part of your Apple //! Of course, you can't currently get
one, it wouldn't be able to power Pi 2/3, etc.
3. Parts of A2Pi like the apple2 user are not updated for Raspbian
jessie at this time
4. We initially planned one more wheezy release, with me working on
jessie stuff in the background that was more major and structural in
nature. I sort of planned to spin A2Pi out of A2CLOUD during that
rework and promoting it to its own thing within RasppleII's
ecosystem. That way delays in development of either project would
not hold things back for the other, and because cutting A2CLOUD down
to size a bit would really make A2CLOUD easier to develop too.
The combination of needing a new release, the sudden dropping of wheezy
support, and the pile of new Pi releases is kinda hurting us a little.
We have a definite regression for A2Pi any way we look at it because of
the Pi3 bug. :( And we need to move to Jessie now.
If you're using A2Pi now, this change shouldn't affect you. A2Pi is
updated through Debian package mechanisms at the moment, so removing the
initial setup from A2CLOUD shouldn't affect existing users on wheezy,
even if they run the next release of the A2CLOUD installer script. If
you don't have it, this version won't install it for you.
Hopefully we can get back to it soon--I actually use it, so for me it's
a missing feature! :)
There were just a few UTF-8 characters in the changelog section of
setup.txt, so I changed those to ASCII characters. Sticking with 7-bit
ASCII is probably a good idea for anything that is specifically related
to the Apple // series because there's a possibility it might be viewed
ON such a machine via terminal emulator or something. Updated Changelog
accordingly.
Most of this script works fine for jessie, but some of it doesn't and
the script is actually quite long and complex. Ivan notes he found it
easier to develop it as a cohesive unit that didn't need to worry about
semaphores after doing A2SERVER, and that's obviously going to be
particularly true since he was the only one working on it at the time.
Well, now that's changing we'll want a little more structure. I won't
be breaking things out into their own files right now, but I'm going to
begin organizing things based on where they should go as I re-enable
them.
Basically, we'll port to jessie block-by-block.
You can now replace http://appleii.ivanx.com/a2cloud/ for script
downloads just as you can with A2SERVER by setting A2CLOUD_SCRIPT_URL in
your shell's environment. As with A2SERVER, this doesn't affect the
canned files in http://appleii.ivanx.com/a2cloud/files/ because these
aren't really part of the source code. Certainly it makes sense to
mirror these, but GitHub isn't the place to do that.
Adding everything to the tree was a more manual process than it was for
A2SERVER because there are a lot mroe files in Ivan's tree, and they're
not all used anymore. More commits were made in the process, but the
end result is that I don't have to go back and spend a bunch of time
undoing my changes for all the URLs that I shouldn't have changed it in
the first place. Also, it gave me a chance to read through the A2CLOUD
setup script, which was a needed exercise.
Still needed is cleaning up of whitespace to ensure everything is
consistent and adding modelines for vim (and humans who need to know how
to set up editors that aren't vim.) Those can come as batch commits,
and will follow soon.