Commit Graph

194 Commits

Author SHA1 Message Date
T. Joseph Carter
3431bfa812 Make tmp dirs be useful names 2018-05-03 01:43:05 -07:00
T. Joseph Carter
639c86b96f Don't try to delete the setup script. 2018-05-02 00:02:44 -07:00
T. Joseph Carter
b1ffe93b14 install_comm_tools no longer needs a2cBinaryURL 2018-04-30 20:35:21 -07:00
T. Joseph Carter
8b5149fe52 Interim refactoring of comm tools complete
Like with archive tools before it, comm tools have been split out of
ivan.sh now to someplace we can hopefully work on them.  Unlike the
archive tools, however, this was not a simple copy out the code block
and patch the script to run independently of the big script.  Here's
what was done:

ADDED

 - lftp, a powerful ftp client, command-line based but much more
   friendly than standard ftp because it operates in binary mode by
   default, has bookmarks, can handle ftp:// URLs, has useful batching
   and mirroring commands, and can directly read things like readme
   files on the server in the client.  Also tab completion.
 - mc, Midnight Commander, a full-screen file manager reminiscent of
   Norton Commander.  This isn't a comm tool per se, but it's well loved
   by a lot of people and it can connect to ftp clients and access them
   the same way you would any other directory in mc.

CHANGED

 - For oysttyer, we no longer use a locally-installed perl readline
   module.  Debian packages this, so we'll use this.  That means we no
   longer need/want the locally installed version, so we try to clean up
   after ourselves.
 - Rewrote the oysttyer installation process to be hopefully more
   robust overall.

REMOVED
 - cftp.  This program is barely alpha-quality proof of concept.  It's
   buggy, it's unreliable, it's undocumented, and it is of no use when
   it crashes (and it will) and leaves your terminal in a broken state
   you don't know how to fix.  There's nothing "comfortable" about that,
   even for new users.  If you need your ftp client to work with arrow
   keys, I recommend connecting to your ftp server with lynx.  Like most
   web browsers predating OS-integration, it includes a decent-enough
   (non-persistent-connection) ftp client which generates a very basic
   directory listing webpage for you.  It works; cftp doesn't.
2018-04-30 18:36:25 -07:00
T. Joseph Carter
822f54794d You need root to install packages, dude 2018-04-30 18:32:27 -07:00
T. Joseph Carter
238db84c78 Remove cftp entirely, zomg!
Did you know if you're at the top of a directory listing and press up,
it segfaults immediately, leaving your terminal in a modified state
without a visible cursor, forcing you to know how to fix that kind of
broken terminal state with stty, tput, and/or reset?  Yes!

It is at version 0.12 and it was last touched in 2002.  It has no
manpage, no help screen, and the wrong keypress causes it to randomly
die badly.  This is not a "user friendly" program.  If you want ftp with
arrow keys, use lynx!

We're no longer installing this pile of alpha-quality abandonware.
Don't like it?  Make something good or adopt this program and fix its
bugs, then talk to me.  I just can't justify this thing.
2018-04-30 18:01:41 -07:00
T. Joseph Carter
41f829e4dd Clean up a2news/tin installation
ipv6 should be enabled on Raspbian nowadays, so we should no longer need
to modify the stock exim configuration.  If it gives you an error on
startup, let me know and we'll put it back.
2018-04-30 17:42:31 -07:00
T. Joseph Carter
c0da2b5301 Fix a couple of copypasta info messages. 2018-04-30 17:39:18 -07:00
T. Joseph Carter
6ec5ce310f Make checking your platform quiet 2018-04-29 09:30:20 -07:00
T. Joseph Carter
4bf2edc2ea Um, -c is supposed to NOT download binaries 2018-04-29 09:22:58 -07:00
T. Joseph Carter
f731c75a5c Added lftp and mc to install_comm_tools
It turns out nc does a pretty decent ftp client and might be a good
alternative to cftp which … really never went anywhere and is awfully
easy to crash.
2018-04-29 05:31:34 -07:00
T. Joseph Carter
c8a3a4ada5 First pass at install_comm_tools
Another temporary script.  This performs the tasks from ivan.sh related
to installCommTools.  It differs from that block (which has not yet been
formally replaced) primarily by having a rewritten and hopefully more
logical installation for oysttyer.

Oysttyer probably should be broken into its own script—all of these
things should be really—but this one in particular because it's so
involved even compared to other installations because we have stuff we
need to clean up first.
2018-04-28 21:17:03 -07:00
T. Joseph Carter
a84c0b2e8e install_nulib2: always popd
Y'know, I'm not really sure we should be using pushd and popd.  I do
that interactively, but … do these commands even belong in scripts?
2018-04-26 15:45:45 -07:00
T. Joseph Carter
4ae325f990 install_archive_tools FIXME changes
The FIXME about unsafe file handling is resolved.  However since nulib2
doesn't build on sid, we need to get that fixed before sid becomes
buster, so a new FIXME is needed.
2018-04-26 14:04:55 -07:00
T. Joseph Carter
d30c9eb409 No longer ask to install archive tools
For quite some time now, and since before this codebase came to github,
if you didn't say yes to all, things broke.  So we've assumed yes to all
is required since about 2015 or so.  Let's make that official as we work
here.
2018-04-26 13:57:39 -07:00
T. Joseph Carter
8831ee59a4 Make install_archive_tools behave
Now install_archive_tools creates its own temp directories for
installation.  Nulib2 doesn't build for me on sid/buster though, we're
going to need a patch I think.  We may as well patch it at that point
for building libnufx as a shared lib while we're at it.  I really don't
want another project right now.  :(  This is why we don't get releases
out.
2018-04-23 11:03:17 -07:00
T. Joseph Carter
1301e430ce Move archiver installation to separate script
The archiver installation was a pretty simple, isolated chunk of code,
and thus easily pulled into its own script with minimal external
dependencies.

I made few changes, so the new script isn't very tidy unless it's run
from ivan.sh.  It should create temp directories for anything it
downloads and clean up after itself when it's finished, but for now it
assumes ivan.sh is doing that.  Mostly that's to keep the intellectual
diff small from the code in ivan.sh to the script.

I'll clean this up in an upcoming commit.  Feel free to offer PRs that
do this kind of thing to other easily isolated (or not so easily
isolated) chunks.  Once ivan.sh is split apart into nice logical pieces,
it will be a lot easier to test and fix individual pieces independent of
the whole.  That's something we can't even say for a2server yet.
2018-04-23 07:38:30 -07:00
T. Joseph Carter
744210338c Fix unar error introduced in 30ccb87
I'd removed debianMajor and the like in the last commit, but I missed
one instance of it being used: To install the unar package on jessie and
greater systems.  Well, jessie is now oldstable and wheezy is so
obsolete you're not even recommended to upgrade from it.  Nowadays, we
should just be installing the package.

We ought to check for it in /usr/local and see if we can determine if
its an old version and remove it, probably.  If someone else would like
to tackle that, feel free.
2018-04-23 05:49:45 -07:00
T. Joseph Carter
30ccb87cd8 Use system_ident, fix picopkg names
Cherry-picked the system_ident script from the refactor branch.  This
sets ras2_os and ras2_arch in a way that would be more useful for
selecting a filename from among arch-specific alternatives.  It's less
good for identifying a Pi vs. desktop Debian or anything else, so I've
kept around the isRpi variable for now.

May revisit the variables in system_ident later on if it really would be
useful to have ras2_os not include the release codename.  For now
though, this is fine.  If nothing else this will encourage me to do more
to get rid of the specific checks for the Pi.  The major places the
check seems to be used at the moment are:

1. Text output
2. Determining which version of java to install
3. Whether to spew out the USB lower/upper udev rules
4. How to compile GSport

The question of which java to install is easily answered: The one you
have available.  Currently we're calling for java8 on RPi and ORACLE
java7 on Debian.  That doesn't actually make sense.  On Debian we'd
probably want to use openjdk, and the only reason to use Oracle's JDK on
Raspbian is because you might already have it installed.  I'm inclined
to suggest that we should check if you have RPF's Oracle java installed,
and if you don't install openjdk—unless someone can give me a good
reason to use the JDK from those evil bastards at Oracle who believe
that implementing a standard library compatible with theirs from
published specs is somehow a Copyright infringement…  Needless to say I
have a bias against evil/stupid companies.

GSport should literally use $ras2_arch if that once we have it replaced
with GSplus.  That just leaves the udev rules and flavor text.  I think
the problem will solve itself in time.
2018-04-22 18:56:28 -07:00
T. Joseph Carter
2d65ec0ee0 system_ident should use Debian codename on Pi 2018-04-22 18:30:13 -07:00
T. Joseph Carter
e10e80e517 New system_ident to set arch-specific vars
Added a new script that sets two variables when sourced, $ras2_os and
$ras2_arch.  These are different than the existing variables we've been
using in a2cloud/a2server and they don't (in and of themselves) presume
Debian.  That said, nothing's likely to work with these scripts except
on Debian, so … yeah.  But the script is designed not to tie you to that
ultimately.

Outputs the variable assignments to stdout unless you pass -q.
2018-04-22 18:29:14 -07:00
T. Joseph Carter
2b9cd2c95d Remove Apple 2 Pi dead code, won't be reusing it 2018-04-22 18:19:03 -07:00
T. Joseph Carter
a3d67123cc Removed a2cScriptURL and renmaed .txt from scripts
Replaced downloading scripts and files from a2cScriptURL with
installation from the source tree.  This obsoletes a2cScriptURL, so it's
been removed.

It made sense to remove the .txt from the script names since I was
rewriting the lines that use them anyway.
2018-04-22 14:44:27 -07:00
T. Joseph Carter
4bee0fee5a a2cDevel -> a2cSource, remove conditionals
Renamed a2cDevel to the now more descriptive a2cSource and remove
conditionals to download individual files as part of the old web
install, since we don't do it that way anymore.
2018-04-22 13:58:21 -07:00
T. Joseph Carter
6fb6a068e2 ivan.sh now properly requires a2cSource to be set
Now a2cloud matches a2server in requiring that ivan.sh be run from a
source tree.  That'll always be true when running the installation using
the approved methods, including the web install upgrade.
2018-04-22 13:54:15 -07:00
T. Joseph Carter
eb6ace7850 Remove a2cCmpInstalled, it's obsolete
We aren't actually using a2cCmpInstalled, and we shouldn't start.  If we
need this functionality, look at RasppleII/a2server 2b52ad8 for the
right way to do it.
2018-04-22 13:46:33 -07:00
T. Joseph Carter
a12c3ccbcf Fix typo in a2chat script
Fixes #36, thanks @TrogdorsArm for burninating this one!
2018-04-22 08:05:59 -07:00
T. Joseph Carter
f156fcb6af Make sure unzip is installed for undoit
Fixes #33.
2018-04-20 15:17:31 -07:00
T. Joseph Carter
32a599c93d Add new setup.txt
This is a minor edit to the upgrade/index.txt in a2server, removing the
human-readable changelog display because a2cloud never really kept a
file like that.
2018-04-12 00:57:08 -07:00
T. Joseph Carter
f9e0861005 install.sh, setup.txt->ivan.sh, bump version
Do not put this hash into production without the following one!

As with a2server, I've written a new setup.txt that downloads the entire
a2cloud source tree for installation, which allows the monolithic script
to be broken up into smaller pieces without worrying about that breaking
the web install—but it's not included in this revision so that git can
keep track of the rename of setup.txt to ivan.sh.

Despite the fact there is no 2.0.0 release yet, 1.9 is already so close
that it doesn't give Ivan any breathing room for any patches he wants to
make, so my intention is to skip major version 2 entirely other than for
this transition.  The final release will be given the 3.0.0 version
number.
2018-04-12 00:44:11 -07:00
T. Joseph Carter
f1a77b537d Add CC0 license text to the tree 2018-04-11 23:54:20 -07:00
T. Joseph Carter
491226e721 Remove raspbian-update, update aliases
@IvanExpert removed the raspbian-update call in setup as part of the
jessie compatibility commit, and the script's gone away in A2SERVER as
well.  Also removed the other upgrade-handling aliases and the thin
wrapper for raspi-config.
2016-12-09 09:26:53 -08:00
T. Joseph Carter
37e833f8a8 setup: Remove / on a2c*URL 2016-11-21 17:56:23 -08:00
T. Joseph Carter
313e478ed9 gsport-setup: repace binaryURL 2016-11-21 17:54:02 -08:00
T. Joseph Carter
d58da9307a setup.txt: Replace scriptURL/binaryURL mechanism
The binaryURL and scriptURL mechanisms sadly don't work properly, and
using it in the first place was kind of a workaround for allowing others
besides Ivan to work on the scripts while we transitioned to doing
things in a way that lent itself to community development.

Here we are over a year later and the scripts are just now undergoing a
rewrite to make them not dependent upon Ivan's webserver.  The mechanism
intended to facilitate that is getting in the way.  It still exists in
some other scripts, but I'm purging it as I go.
2016-11-20 23:17:47 -08:00
T. Joseph Carter
55485fc50c Preemptively add version compare function 2016-10-29 02:20:51 -07:00
T. Joseph Carter
49fa865ec5 Add beta run-local support for development
This is similar to what's already done in A2SERVER, but there's both
more and less of it.  Fewer scripts run during the installation phase
(generally just setup), but there's a lot more tools and pieces that are
downloaded.

This is complicated somewhat by the single setup script making it hard
to work on just one piece at a time.  We'll begin addressing that soon.
2016-10-29 02:13:25 -07:00
T. Joseph Carter
11f239d730 Merge setup.txt changelog with changelog.txt 2016-10-29 00:47:37 -07:00
T. Joseph Carter
51d825a2b6 Fix indentation and remove dead code 2016-10-28 08:10:53 -07:00
T. Joseph Carter
11cf8145da Update changelog 2016-10-25 11:37:51 -07:00
T. Joseph Carter
1824c4aa43 Re-indent scripts (tabs) 2016-10-25 11:36:40 -07:00
T. Joseph Carter
78d247a0ef *.txt: Trailing whitespace removal 2016-07-29 10:35:44 -07:00
Ivan X
40b55a599e fix motd, and icon creation error messages in setup 2016-07-23 06:59:22 -05:00
Ivan X
83a40d7af6 make "baud" command compatible with systemd 2016-07-23 06:10:15 -05:00
Ivan X
5ad310b567 changed install tag from master to current 2016-07-21 09:48:38 -05:00
Ivan X
4a90902dc8 removed usblogin-off and usblogin-on commands from aliases 2016-07-21 09:37:01 -05:00
Ivan X
2550d3556c Jessie compatibility; KansasFest 2016 (fc1); KEGS and Apple II Pi removed 2016-07-21 07:40:22 -05:00
Ivan X
045f971e9c more gsport launcher script fixes 2016-07-21 05:45:53 -05:00
Ivan X
944a25e50c fixed broken echo statement in a2chat 2016-07-21 01:44:19 -05:00
Ivan X
43bcf19c5b cppo current with A2SERVER; gsport launch script updates for Jessie 2016-07-20 21:38:10 -05:00