[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Add platform information to user agent string

From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Mon, 5 Nov 2012 18:10:18 +0400

On Fri, Nov 2, 2012 at 10:40 PM, Ivan Zhakov <ivan_at_visualsvn.com> wrote:
> On Fri, Nov 2, 2012 at 9:04 PM, Branko Čibej <brane_at_wandisco.com> wrote:
>>
>> On 02.11.2012 17:30, Ivan Zhakov wrote:
>> > On Fri, Nov 2, 2012 at 5:12 PM, Branko Čibej <brane_at_wandisco.com> wrote:
>> >> On 02.11.2012 12:36, Ivan Zhakov wrote:
>> >>> On Wed, Oct 31, 2012 at 2:04 AM, Branko Čibej <brane_at_wandisco.com> wrote:
>> >>> [..]
>> >>>> The sysinfo bits have static (build-time) info and dynamic (runtime)
>> >>>> info. Presumably the only difference will be noticing when you're
>> >>>> running the program on a different "size" of OS, e.g., running 32-bit
>> >>>> code on a 64-bit OS (hopefully in some compatibility mode).
>> >>>>
>> >>>> For the purpose of user agent strings, the host triplet exposed in the
>> >>>> #define in svn_private_config.h should be more than good enough.
>> >>>>
>> >>> I agree that using autoconf to collect OS type is much better. But I
>> >>> think we should use $target, instead of $host for user-agent to
>> >>> support cross compile scenarios. Also I've checked $target_os for our
>> >>> build bots and their values are:
>> >>> * OpenBSD: 'i386-unknown-openbsd5.0' ($target_os = 'openbsd5.0',
>> >>> $target_vendor='unknown')
>> >>> * Centos: 'x86_64-redhat-linux-gnu' ($target_os='linux-gnu';
>> >>> $target_vendor='redhat')
>> >>> * Ubuntu: ''x86_64-unknown-linux-gnu'' ($target_os=''linux-gnu'';
>> >>> $target_vendor='unknown')
>> >>>
>> >>> I've also googled for different autoconf outputs:
>> >>> * MacOS: 'x86_64-apple-darwin11.2.0'
>> >>> * cygwin: 'i686-pc-cygwin'
>> >>> * mingw: 'i686-pc-mingw32'
>> >>>
>> >>> We can use all $target triplet in user-agent or just $target_os. I
>> >>> have no opinion on this matter. Any thoughts?
>> >> I considered that, but our build scripts very definitely do not support
>> >> cross-compiling. So anyone who tries that and succeeds can easily add
>> >> another line to the already-huge patch that made cross-compiling possible.
>> >>
>> > Well, it seems our scripts actually supports cross compiling :) On
>> > Windows: you can build x86 binaries on x64 platform or vice versa.
>>
>> Yes, but I hardly think that has anything to do with autoconf and
>> config.guess ... :)
>>
> Anyway I'm going to add SVN_BUILD_TARGET to both autoconf and Windows
> build stuff and use it user-string.
>
Here is updated patch:
[[[
Add target platform information to user agent string.

* subversion/libsvn_ra_serf/ra_serf.h
  (USER_AGENT): Add target platform information.
* subversion/libsvn_ra_serf/ra_svn.h
  (SVN_RA_SVN__DEFAULT_USERAGENT): Add target platform information.
* configure.ac
  (SVN_BUILD_TARGET): Define to ${target}.
* subversion/svn_private_config.hw
  (SVN_BUILD_TARGET): Define.
]]]

NOTE: I tested it only on Windows platform.

-- 
Ivan Zhakov

Received on 2012-11-05 15:27:47 CET

This is an archived mail posted to the Subversion Dev mailing list.