anthracite thinks out loud while working on instance-update preparations
Okay let's get my local dev copy of Mastodon fired up and start fooling around.
Whyyyy is webpack recompiling everythiiiing oh right last time I played with it I was starting to try to update to 2.1.x or 2.2.x or something and got frustrated in the middle and abandoned it. Okay I guess it's time to figure out enough git to revert to my previous working copy.
anthracite thinks out loud while working on instance-update preparations
Also it occurs to me that I should figure out how to back up the database before updating even the local test instance, let alone the one I'm typing this into.
As I have this thought, I am flipping over to the screen full of Mastodon dev stuff, which happens to be open to a few pages down the release notes, where my eyes light on a note saying "If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump". Yay! Thank you for sticking that in there, @Gargron! :heart:
anthracite thinks out loud while working on instance-update preparations
oh god the local copy was somewhere in the middle of an attempt to switch to the glitch.social branch
okay let's let this graphical git client install its update and um go back to Normal Masto for now. I'm already changing a lot of things at once today if all goes well.
anthracite thinks out loud while working on instance-update preparations
rbenv: version `2.5.1' is not installed (set by /Users/egypt/Documents/code/dragonstyle/mastodon/.ruby-version)
*sigh*
> rbenv install
ruby-build: definition not found: 2.5.1
If the version you need is missing, try upgrading ruby-build:
brew update && brew upgrade ruby-build
*sighhhh*
> brew update && brew upgrade ruby-build
*twiddles claws*
fuck this I'm gonna go have a Dead Cells run while this grinds away
anthracite thinks out loud while working on instance-update preparations
oh wait I guess I should make sure I have an up-to-date copy of ruby available on the server too
nah fuck it I'm pretty sure docker will deal with that for me, and if it doesn't, well I guess the downtime will be a little longer
anthracite thinks out loud while working on instance-update preparations
okay I got that and got that compiled
ugh now I need to figure out how to install foreman in rbenv for the new ruby
*grumbling*
oh wait good there's some stuff about that in the updating mastodon guide
but first I have to update 'bundle' manually, okay it is unsurprisingly 'gem install bundler'
looks like it's time for some more dead cells, mastodon sure does sit on top of a pile of stuff.
anthracite thinks out loud while working on instance-update preparations
ugggh updating the ruby dependencies is failing, a gem called idn-ruby refuses to compile. It seems to just be a wrapper around a library called (shockingly) IDN, which is for dealing with international domain names.
I guess I get to figure out how to install THAT on my own since gem sure isn't doing it for me even though it normally DOES deal with dependencies...
anthracite thinks out loud while working on instance-update preparations
OH HELL YES
I was ready to give up and make some food (I am getting hungry which easily turns into hangry when doing computer stuff) but I sat here and really squinted at the error messages and duckgo'd them.
I had to get the IDN library installed with
> brew install libidn
(non-macs will do it differently)
and then do
> gem install idn-ruby --source 'https://rubygems.org/' -- --with-idn-dir=/usr/local/Cellar/libidn/1.35
The error messages telling me to add the "--with-idn-dir" bit neglected to tell me that I also needed to put "--" in front of THAT, which I only learnt by squinting at gem install --help. And I was misreading things and putting 1.3.5 instead of 1.35.
Now back to having "bundle" update all the dependencies while I make some food and check the dishwasher's filters.
anthracite thinks out loud while working on instance-update preparations
So that didn't actually work. Bundle would tell me to gem install idn-ruby, which I did, and it would fail.
I *finally* got it to work by doing
> bundle config build.idn-ruby --with-idn-dir=/usr/local/Cellar/libidn/1.35
and then bundle install dealt with everything.
I then moved on to the node.js dependencies, which were super anticlimactic. Happened in a few seconds, no hitches.
Debating if I'm gonna try upgrading the database or just go to bed. Leaning to the latter. It's been a long day full of swearing.
anthracite thinks out loud while working on instance-update preparations
so hey after writing a lengthy twitter thread (https://twitter.com/egypturnash/status/1030887871182336001) about Mastodon, here I am sitting outside the Ballard Cupcake Royale with my laptop.
I had to reinstall foreman but now I have actually gotten to the point where I can TRY TO LAUNCH MY LOCAL DEV INSTANCE and WOOHOO.
oh wait maybe not:
> 16:13:51 stream.1 | Error: Compilation of µWebSockets has failed and there is no pre-compiled binary available for your system. Please install a supported C++11 compiler and reinstall the module 'uws'.
I am pretty sure you can expect dragon style to be down for most of a day when I decide to upgrade the live version...
anthracite thinks out loud while working on instance-update preparations
Maybe I need to reinstall the xcode command-line tools? I can't remember if I got this new machine before or after I got my local Masto dev instance up and running... and it sure is downloading some stuff to install. I am gonna feel SO STUPID if it comes down to that.
Especially since I sure am seeing errors from a c compiler in the logs...
anthracite thinks out loud while working on instance-update preparations
@anthracite Xcode: the X represents an error icon