#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
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 3 years ago by RJVB (René Bertin)
comment:2 Changed 3 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 3 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 3 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | Schamschula added |
---|
Marius, can you check on this?
comment:6 Changed 3 years ago by Schamschula (Marius Schamschula)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:7 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
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 3 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.
comment:9 Changed 3 years ago by Schamschula (Marius Schamschula)
comment:10 follow-up: 11 Changed 3 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 Changed 3 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.
comment:12 follow-up: 14 Changed 3 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 follow-up: 17 Changed 3 years ago by Schamschula (Marius Schamschula)
comment:14 Changed 3 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 3 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 3 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 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
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.)
How come this wasn't caught by the person who upgraded the port?!