2010/9/20 Eric Noulard <[email protected]>:
> 2010/9/20 Bill Hoffman <[email protected]>:
>>
>> Eric,
>>
>> This commit is breaking windows installs:
>>
>> commit 6a521f8604ee4e6a757109e731a36fdc5575f6c8
>> Author: Eric NOULARD <[email protected]>
>> Date:   Mon Aug 23 17:38:33 2010 +0200
>>
>>    CPack   Enable better handling of absolute installed files
>>
>>    The idea of the patch is to let the install generator define
>>    CPACK_ABSOLUTE_INSTALL_FILES then when CMake is installing
>>    project he will concatenate the list of files and give
>>    it to specific CPack Generator by defining CPACK_ABSOLUTE_INSTALL_FILES
>>    to be the list of ALL files that were installed using absolute
>> destination.
>>    An example of use has been applied to RPM generator which now
>>    tries to automatically build a relocatable package.
>>

[...]

>> Why do you convert the / to an output path?
>
> I do not remember ... :-(
>
> I'm looking into this just now, give half an hour and I'll come
> with some answer.

Now I know: this is a plain mistake :-).

>> 6a521f86 (Eric NOULARD       2010-08-23 17:38:33 +0200  71)    os << dest <<
>> cmSystemTools::ConvertToOutputPath("/");
>> 6a521f86 (Eric NOULARD       2010-08-23 17:38:33 +0200  72)    if (rename &&
>> *rename)
>>
>> All paths in the cmake_install file should be cmake paths as cmake is going
>> to consume them.
>
> Off course, you are right.

Considering this is plain mistake, the fix is obvious

os << dest << "/";

corresponding patch is attached.

Would you like me to apply it to next or would you
prefer to do it yourself?

>> All that said, I am not sure why no test failed from this ????
>
> May be because there is no test with absolutely installed file
> in the test suite?
>
> I'll have a look too.

OK I think I know.
The provided example from Micha Renner is a little awkward
it uses "unix-like" absolute install path "/usr/local"
on a Windows hosts :-)

May be it's supposed to work but I wonder if
it's a common usage pattern.

The bare reality is twofold:

  a) I do not use windows platform myself so I rely
      on dashboard for regression.

  b) I did not add a [cross platform] test for this change

I shall try to write one test for this, but this may not be easy
to write a cross-platform one because I'll have to find a "writable"
"absolute destination" for each platform.

On Unix platforms "/tmp" should be ok
On WIndows I really don't know.

 What do you think?
-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
From 2af8c51e85224e366267c96ee27fc8c6577e38aa Mon Sep 17 00:00:00 2001
From: Eric NOULARD <[email protected]>
Date: Mon, 20 Sep 2010 19:12:54 +0200
Subject: [PATCH] InstallGen/CPack  fix handling absolute installed file regression

---
 Source/cmInstallGenerator.cxx |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/Source/cmInstallGenerator.cxx b/Source/cmInstallGenerator.cxx
index 9d5e416..393e315 100644
--- a/Source/cmInstallGenerator.cxx
+++ b/Source/cmInstallGenerator.cxx
@@ -68,7 +68,7 @@ void cmInstallGenerator
                fi != files.end(); ++fi)
              {
                if (fi!=files.begin()) os << ";";
-               os << dest << cmSystemTools::ConvertToOutputPath("/");
+               os << dest << "/";
                if (rename && *rename)
                  {
                  os << rename;
-- 
1.7.1

_______________________________________________
cmake-developers mailing list
[email protected]
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to