There will be more than one patch to make it easier to debug and improve, so we need a reference issue to keep the related patches referenced in a single place.

Comments

memtkmcc created an issue. See original summary.

colan’s picture

Issue tags: +Drupal 9 compatibility

Tags are good too. ;)

  • memtkmcc committed 06b7dd5 on 7.x-3.x
    Issue #3150004: Drupal 9 support - Add $settings['config_sync_directory...
  • memtkmcc committed 09e3044 on 7.x-3.x
    Issue #3150004: Drupal 9 support - Cleanup
    
  • memtkmcc committed 10badd3 on 7.x-3.x
    Issue #3150004: Drupal 9 support - Stop using deprecated functions in D8
    
  • memtkmcc committed 2386377 on 7.x-3.x
    Issue #3150004: Drupal 9 support - Add D9 compatible inc files
    
  • memtkmcc committed e13aa62 on 7.x-3.x
    Issue #3150004: Drupal 9 support - Use separate templates for all Drupal...
memtkmcc’s picture

Yeah, but that's a widely used tag, so keeping patches grouped per issue is hopefully better than flooding the queue ;-)

memtkmcc’s picture

There are requirements and caveats, though:

1. You have to run PHP 7.3 or newer
2. You have to run MariaDB 10.3 or newer
3. You have to use latest Drush 8 HEAD (otherwise you will break the site on rename/migrate etc)

  • memtkmcc committed 06b7dd5 on 7.x-4.x
    Issue #3150004: Drupal 9 support - Add $settings['config_sync_directory...
  • memtkmcc committed 09e3044 on 7.x-4.x
    Issue #3150004: Drupal 9 support - Cleanup
    
  • memtkmcc committed 10badd3 on 7.x-4.x
    Issue #3150004: Drupal 9 support - Stop using deprecated functions in D8
    
  • memtkmcc committed 2386377 on 7.x-4.x
    Issue #3150004: Drupal 9 support - Add D9 compatible inc files
    
  • memtkmcc committed e13aa62 on 7.x-4.x
    Issue #3150004: Drupal 9 support - Use separate templates for all Drupal...
kienan’s picture

Hi,

I'm testing this in aegir 3.19.0 prior to release from the debian package in the testing archive.

Debian Buster w/ PHP 7.3.19-1~deb10u1, MariaDB 10.3.25-0+deb10u1

I added an unmanaged platform using the drupal 9.0.9 release from the tarball. The platform was added and verified successfully.

When I try to add a site, the following error is produced:

Unable to load class Drush\Sql\Sql	   error
Drush\Sql\SqlException: Unable to find a matching SQL Class. Drush cannot find your database connection details. in phar:///usr/local/bin/drush/commands/sql/sql.drush.inc:545 Stack trace: #0 /usr/share/drush/commands/provision/platform/drupal/install_9.inc(102): drush_sql_get_class() #1 /usr/share/drush/commands/provision/platform/drupal/install_9.inc(176): install_main() #2 phar:///usr/local/bin/drush/includes/drush.inc(78): include_once('/usr/share/drus...') #3 phar:///usr/local/bin/drush/includes/engines.inc(520): drush_include('/usr/share/drus...', 'install') #4 /usr/share/drush/commands/provision/platform/provision_drupal.drush.inc(97): drush_include_engine('drupal', 'install') #5 phar:///usr/local/bin/drush/includes/command.inc(422): drush_provision_drupal_provision_install_backend() #6 phar:///usr/local/bin/drush/includes/command.inc(231): _drush_invoke_hooks(Array, Array) #7 phar:///usr/local/bin/drush/includes/command.inc(199): drush_command() #8 phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php(67): drush_dispatch(Array) #9 phar:///usr/local/bin/drush/includes/preflight.inc(66): Drush\Boot\BaseBoot->bootstrap_and_dispatch() #10 phar:///usr/local/bin/drush/includes/startup.inc(462): drush_main() #11 phar:///usr/local/bin/drush/includes/startup.inc(369): drush_run_main(false, '/', 'Phar detected. ...') #12 phar:///usr/local/bin/drush/drush(114): drush_startup(Array) #13 /usr/local/bin/drush(10): require('phar:///usr/loc...') #14 {main}   v error

The drush at /usr/local/bin/drush is 8.1.16. My understanding is this fine for aegir, but only drush 10 is compatible with Drupal 9. Are there supplemental steps to get drush 10 configured for use with the drupal sites created by aegir?

kienan’s picture

I missed the part with drush 8 HEAD in your previous comment

Trying with drush 8.4.5 since it was released after your comment

kienan’s picture

Works well with drush 8.4.5. Thanks for all your work!

SocialNicheGuru’s picture

https://www.drupal.org/commitlog/commit/4646/10badd30a60231699e5f31de533...
in the above, does this change mean that my admin must be named "admin"?

- $username = $account->getUsername();
+ $username = "admin";

colan’s picture

The Drush issue (at least for Debian) is #3185979: Debian package has old version of Drush.

memtkmcc’s picture

@SocialNicheGuru -- it was always admin by default anyway, but here we hardcoded it because getUsername() is deprecated in D8 and removed in D9, while alternatives have dependencies not available at this bootstrap level.

colan’s picture

Status: Active » Fixed
Related issues: +#3145927: [META] Support Ubuntu 20.04 LTS

I believe there's nothing left to do here, but please reopen if I'm missing something.

Some folks may be interested in #3145927: [META] Support Ubuntu 20.04 LTS though, which is related.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.