roots / docs

📝 Documentation for Roots projects
https://roots.io/docs/
168 stars 182 forks source link

Bug: As of WordPress 6.0, composer-patches on roots/wordpress does not work anymore #424

Open drzraf opened 2 years ago

drzraf commented 2 years ago

Terms

Description

What's wrong?

Can't patch roots/wordpress anymore.

What insights have you gained?

https://github.com/cweagans/composer-patches/blob/e9969cfc0796e6dea9b4e52f77f18e1065212871/src/Patches.php#L304

$install_path = $manager->getInstaller($package->getType())->getInstallPath($package); now returns an empty string.

Possible solutions

Use roots/wordpress-no-content (in require and extra.patches

Temporary workarounds

Amend documentation / warn.

Steps To Reproduce

  1. "extra": {
        "patches": {
            "roots/wordpress-no-content": {
                "foo": "https://core.trac.wordpress.org/raw-attachment/ticket/bar.patch",
        }
    }
    }

Expected Behavior

Installing and patching succeed

Actual Behavior

Executing command (CWD): patch '-p1' --no-backup-if-mismatch -d '' < '/tmp/63058d0222de6.patch'
patch: **** Can't change to directory '' : No such file or directory

Relevant Log Output

No response

Versions

6.0

swalkinshaw commented 2 years ago

roots/wordpress is now a metapackage which might explain this. I found https://github.com/cweagans/composer-patches/issues/280

If you're using roots/wordpress-no-content or roots/wordpress-full then I'm assuming it should still work. And we do recommend you switch to one of those more explicit packages.

montchr commented 1 year ago

And we do recommend you switch to one of those more explicit packages.

Bedrock is still using the roots/wordpress package, but I haven't run across this issue using that package. Does the issue only affect certain versions of WordPress or has it been fixed elsewhere?