I'm currently using Homestead 2 and https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.3.3 which recently got hit by the homestead user's password expiring in mysql 5.7 per http://stackoverflow.com/q/40493594/134335.
As I worked through what I thought would be just simply implementing PR's #59 and #60, I realized it required much more work due to ppa:ondrej/php5-5.6 being deprecated. I realize now I may have been hit by composer/composer#5814, causing the --cableconnected1 and pecl install -Z adjustments though it shouldn't hurt anything to have them in.
pecl install -Z
There are a few changes I could've made that I'm a little unsure about:
I didn't know if this should be as close to 1:1 with master as possible, though I personally err on that side of things.
This also requires a tandem patch to Homestead v2 as php5-fpm changes to php5.6-fpm, /var/run/php5-fpm.sock changes to /var/run/php/php5.6-fpm.sock, and /etc/php5/fpm/php-fpm.conf changes to /etc/php/5.6/fpm/php-fpm.conf.
I followed the notes from #59 as closely as possible. I tested for the expiration and it is no longer a problem. I made sure I could produce at least 2 builds in a row before calling it done but ultimately produced about 4-5 without failure . I tested a few separate Laravel projects and saw no noticeable awkwardness but these are very rudimentary projects with no redis usage nor would I know what to look for if some of the php extensions are somehow broken. The gist of my latest build is https://gist.github.com/w0rd-driven/f1cfb4b9577ffd391462ba7cbf4c0c8e.
Lastly, I made one improvement that could make it back into master. I moved the xdebug cli disable above pulling in laravel envoy and installer as the provisioning could also benefit from it.
Vagrant starts the box with cable disconnected. Applying the fix per m…
Using mailparse 2.1.6 as anything greater than this version is only P…
Fixes issue with sudo package upgrade, see chef/bento#711. --force-co…
…nfnew breaks vagrant as the vagrant user no longer has password-less sudo access.
Disable XDebug on the CLI (0016534) with a twist. Placed this before …
…the current composer usage to apply the speed adjustment to building this image
#59 Enable MySQL 5.7 (198d675) with bind address fix from ebff3db
#60 Fix password expiration (4451cd3). Added `PASSWORD EXPIRE NEVER` …
…to make absolutely certain homestead will never expire regardless of config option.
#67 ppa:ondrej/php5-5.6 is also deprecated (06d4a3c). Memcached and r…
…eadline (9ff80ae). apcu (15e2e90). mcrypt (b00a8a3). mbstring and xml (e4f5d00).
Explicit json and gmp to appease the ppa change. `pecl install -Z` seemingly required as the compressed files randomly, but often, do not finish downloading.
Adding `--force-yes` to `apt-get install` to keep current with master (…
#74 Add composer_home to .profile (74f3446). #75 Execute under vagran…
…t user instead of root (5c9cf1f)
Address the changes introduced in laravel/settler#82
I don't really have any plans of maintaining a 5.6 branch of Homestead any longer. You are free to fork this and provide one if you want.
I expected as much, primarily due to all the work involved. My only concern is 0.3.3 is "broken" depending on your definition of the word but I'll put the more permanent solution in the SO post. I don't know if I personally have the time to maintain an alternative until support ends in 2018 tbh but given where I am it wouldn't hurt to push the box this creates and go the few steps further at least.
How feasible would it be to pull 0.3.3 down, make the change in PR #60, and push that up as 0.3.4? That's the quickest resolution compared to all of this and what I would've done if I thought I could push it to laravel/homestead instead of whatever my fork would be.