Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#64529 closed defect (fixed)

kde-extra-cmake-modules-devel: patch fails

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: RJVB (René Bertin)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: Cc: Schamschula (Marius Schamschula)
Port: kde-extra-cmake-modules

Description

https://build.macports.org/builders/ports-12_x86_64-builder/builds/20001/steps/install-port/logs/stdio

patching file kde-modules/KDEInstallDirs.cmake
Hunk #1 FAILED at 31.
Hunk #2 succeeded at 409 (offset -1 lines).
1 out of 2 hunks FAILED -- saving rejects to file kde-modules/KDEInstallDirs.cmake.rej
Command failed:  cd "/opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_kde_kde-extra-cmake-modules/kde-extra-cmake-modules-devel/work/ECM-5.1x.git" && /usr/bin/patch -Np1 < '/opt/bblocal/var/buildworker/ports/build/ports/kde/kde-extra-cmake-modules/files/patch-BUNDLEDIR.diff'
Exit code: 1

Change History (18)

comment:1 Changed 2 years ago by RJVB (René Bertin)

How come this wasn't caught by the person who upgraded the port?!

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

kde-extra-cmake-modules was updated in [42918f40f5e66639828552e70234494a5a2bcc75/macports-ports] along with changing a patchfile that was presumably necessary allow kde-extra-cmake-modules to build.

Perhaps the person doing that update didn't realize that kde-extra-cmake-modules had a kde-extra-cmake-modules-devel subport or that the patchfile change would prevent kde-extra-cmake-modules-devel from building.

comment:3 Changed 2 years ago by RJVB (René Bertin)

Perhaps he should have realised there's a subport (hard to miss) and upgraded that subport to the same version.

And (perhaps) this ticket should have been assigned to him...

comment:4 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: Schamschula added

Marius, can you check on this?

comment:5 Changed 2 years ago by Schamschula (Marius Schamschula)

Will do.

comment:6 Changed 2 years ago by Schamschula (Marius Schamschula)

Resolution: fixed
Status: assignedclosed

In fceb2d20d95d3a69358b2f3d0c2dcf55e006bd94/macports-ports (master):

kde-extra-cmake-modules: only apply patch to production version

Closes: #64529

comment:7 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: closedreopened

I don't think that's correct. The patch used to be used in both ports. It was only with the recent update of kde-extra-cmake-modules that the patch was changed in such a way that it no longer applied to the devel subport, however the binary archives that were made of kde-extra-cmake-modules-devel 5.75.0.7 last year do have the patch applied. By removing the patch now, kde-extra-cmake-modules-devel will build differently than it used to.

The point of the patch seems to be to use the MacPorts applications directory, so using it for both ports seems correct. You'll either need two separate versions of the patch, if you want to keep the devel port at an older version, or René's suggestion of updating the devel port too would allow you to keep using the same patch for both.

While we're here, it would be good to fix the patch so that ${applications_dir} gets used. Right now /Applications/MacPorts is hardcoded, which may not be where the user has configured MacPorts to put applications.

comment:8 Changed 2 years ago by Schamschula (Marius Schamschula)

I don't want to install the devel port, as owncloud-client depends on the production subport, and is critical to my infrastructure.

Last edited 2 years ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:9 Changed 2 years ago by Schamschula (Marius Schamschula)

In 55e37c2396449ba3c69c62ac96540710605a0a65/macports-ports (master):

kde-extra-cmake-modules: make applications_dir patch more general

See: #64529

comment:10 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

You wouldn't have to install the devel port to verify a fix for this issue. Keeping kde-extra-cmake-modules installed, you should be able to sudo port destroot kde-extra-cmake-modules-devel; if that succeeds, it'll probably install fine as well.

comment:11 in reply to:  10 Changed 2 years ago by RJVB (René Bertin)

Replying to ryandesign:

You wouldn't have to install the devel port to verify a fix for this issue. Keeping kde-extra-cmake-modules installed, you should be able to sudo port destroot kde-extra-cmake-modules-devel; if that succeeds, it'll probably install fine as well.

I can confirm that; if you feel conscientious (presuming you upgrade the devel subport) you could do something like

kompare `port work kde-extra-cmake-modules-devel/destroot/${prefix}/share/ECM` ${prefix}/share/ECM`

And I'd use port destroot instead of sudo port destroot so you're (presumably) certain that nothing can get written outside of the port's workdir.

Last edited 2 years ago by RJVB (René Bertin) (previous) (diff)

comment:12 Changed 2 years ago by Schamschula (Marius Schamschula)

I was going on the assumption that -devel ports conflict with production ports. Apparently, this is not the case here.

comment:13 Changed 2 years ago by Schamschula (Marius Schamschula)

In c1198fb7f8ca0a56490cf66b4eff2dfc0905280d/macports-ports (master):

kde-extra-cmake-modules-devel: add subport specific patch

See: #64529

comment:14 in reply to:  12 Changed 2 years ago by RJVB (René Bertin)

Replying to Schamschula:

I was going on the assumption that -devel ports conflict with production ports. Apparently, this is not the case here.

It *is*. But the conflict is only on installation, there's no build conflict so you can go up until and including the destroot step. This is also how I check the main port (I have the devel subport installed).

comment:15 Changed 2 years ago by Schamschula (Marius Schamschula)

Normally, ports that could install conflicting files should be marked as such.

Otherwise, the user assumes both port and devel subport can be install side by side.

It may be handy for the maintainer but causes confusion for the end user.

comment:16 Changed 2 years ago by RJVB (René Bertin)

You're right, that's a pure omission from my part. Feel free to add it while you're at it!

comment:17 in reply to:  13 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: reopenedclosed

Replying to Schamschula:

kde-extra-cmake-modules-devel: add subport specific patch

Thanks!

Replying to Schamschula:

I was going on the assumption that -devel ports conflict with production ports. Apparently, this is not the case here.

They do indeed conflict at activation time. I'll add the conflicts keyword to the port in a moment. The conflict does not prevent you from running the destroot command as suggested. The conflict only applies to activating ports, not to building them. (Build conflicts are a different thing, embodied by the conflicts_build keyword of the conflicts_build portgroup, which are not applicable here.)

comment:18 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

In 227aff75ae733da92f79c6fd485fc6262f46c6d5/macports-ports (master):

kde-extra-cmake-modules: Conflict with devel

See: #64529

Note: See TracTickets for help on using tickets.