[cmake-developers] rpm/deb component issue
Clinton Stimpson
clinton at elemtech.com
Wed Oct 24 16:13:43 EDT 2012
On Wednesday, October 24, 2012 10:08:29 PM Eric Noulard wrote:
> 2012/10/24 Clinton Stimpson <clinton at elemtech.com>:
> > On Wednesday, October 24, 2012 09:27:38 PM Eric Noulard wrote:
> >> 2012/10/24 Clinton Stimpson <clinton at elemtech.com>:
> >> > On Wednesday, October 24, 2012 11:59:52 AM Clinton Stimpson wrote:
> >> >> I have a problem with the rpm & deb cpack generators.
> >> >>
> >> >> I've set the following:
> >> >> set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
> >> >> set(CPACK_DEB_COMPONENT_INSTALL 1)
> >> >> set(CPACK_RPM_COMPONENT_INSTALL 1)
> >> >>
> >> >> I get this implementation detail string "ALL_COMPONENTS_IN_ONE" being
> >> >> put
> >> >> in the package name (that is name, not the filename), so I end up with
> >> >> "mypackage- ALL_COMPONENTS_IN_ONE". To remove it, I do "yum remove
> >> >> mypackage- ALL_COMPONENTS_IN_ONE".
> >> >> I would rather just have "mypackage" since that is the name I've
> >> >> specified.
> >> >> But I don't see a way to override it.
> >>
> >> This is clearly a bug, I can't see any way to fix without a small patch.
> >> Note that the DEB generator does not seem to suffer from this, is it?
> >>
> >> When the xx.deb file is generated you can check it (without installing)
> >> using dpkg-deb --info xx.deb
> >> dpkg-deb --contents xx.deb
> >> dpkg-deb --show xx.deb
> >>
> >> >> Does anyone have a suggested way for me to fix cmCPack*Generator.cxx
> >> >> and/or
> >> >> CPackDeb.cmake, CPackRPM.cmake? This is the first time I've looked at
> >> >> modifying those particular files.
> >>
> >> I think the best current workaround is to change CPackRPM.cmake.
> >>
> >> > I have an idea that I'm comfortable with. I'm effectively separating a
> >> > variable into two, one for the component name, and another for the
> >> > directory where it can be found. For the ALL_COMPONENTS_IN_ONE mode,
> >> > the
> >> > directory can be ALL_COMPONENTS_IN_ONE/, but the component name empty.
> >> > Let me know if you disagree.D
> >>
> >> I agree and ended-up with the same patch (in CPackRPM.cmake).
> >> You'll find my patch (against CMake master) proposal attached,
> >> I'm not really sure it's the "right final fix" though.
> >>
> >> Clint would you be kind enough to open a bug report for that please?
> >
> > The Deb generator suffers from the same problem.
>
> Ok you are right my test was not done properly.
>
> > Attached is my patch which is working fine for me. Does it look OK? I
> > did the approach of simplifying the .cmake files and putting the
> > implementation specific logic in the cmCPack*.cxx files.
>
> Looks good, I'll give it a more thorough look & test tomorrow or the day
> after.
Ok thanks. I'll go ahead and put in on stage then.
Also, when I run the tests, CPackComponents fails for me, and its because I
don't have nsis installed on this Linux machine. I'm looking at
Tests/CMakeLists.txt and I don't see a way to turn off that test. Only on
Windows does it check the existence of nsis and disables the test. Or am I
looking at it wrong?
--
Clinton Stimpson
Elemental Technologies, Inc
Computational Simulation Software, LLC
www.csimsoft.com
More information about the cmake-developers
mailing list