[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: Bert Huijben <bert_at_qqmail.nl>
Date: Mon, 5 Nov 2012 16:05:33 +0100

> -----Original Message-----
> From: Ivan Zhakov [mailto:ivan_at_visualsvn.com]
> Sent: maandag 5 november 2012 15:10
> To: Branko Čibej
> Cc: dev_at_subversion.apache.org
> Subject: Re: [PATCH] Add platform information to user agent string
>
> 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.

I don't think they are currently likely targets, but _WIN64 is defined for more than just x86_x64.

The Intel Itanium is still supported and ARM-64 support is around the corner. Maybe we should use the defines that specify the architecture instead of just 64 bit = x64.

        Bert
Received on 2012-11-05 16:09:45 CET

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