All of lore.kernel.org
 help / color / mirror / Atom feed
* BUG - Cannot build fio on redhat 5
@ 2014-10-14 19:58 Tim Delaney
  2014-10-14 21:07 ` Jens Axboe
  0 siblings, 1 reply; 10+ messages in thread
From: Tim Delaney @ 2014-10-14 19:58 UTC (permalink / raw)
  To: fio

Trying to make fio on redhat 5.9 results in:

    lex: unknown flag '-'.  For usage, try
            lex --help
    make: *** [lex.yy.c] Error 1

Changeset "c9fa1c8d (Stephen M. Cameron  2014-10-06 17:58:32 -0500
270)" introduced the lex '--header-file' option, but that option is
not valid on redhat 5.

Makefile diff...

     ifdef CONFIG_ARITHMETIC
     lex.yy.c: exp/expression-parser.l
    -       $(QUIET_LEX)$(LEX) exp/expression-parser.l
    +       $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-14 19:58 BUG - Cannot build fio on redhat 5 Tim Delaney
@ 2014-10-14 21:07 ` Jens Axboe
  2014-10-15  3:13   ` Jens Axboe
  2014-10-15  4:24   ` Stephen Cameron
  0 siblings, 2 replies; 10+ messages in thread
From: Jens Axboe @ 2014-10-14 21:07 UTC (permalink / raw)
  To: Tim Delaney, fio, Stephen Cameron

On 10/14/2014 01:58 PM, Tim Delaney wrote:
> Trying to make fio on redhat 5.9 results in:
> 
>     lex: unknown flag '-'.  For usage, try
>             lex --help
>     make: *** [lex.yy.c] Error 1
> 
> Changeset "c9fa1c8d (Stephen M. Cameron  2014-10-06 17:58:32 -0500
> 270)" introduced the lex '--header-file' option, but that option is
> not valid on redhat 5.
> 
> Makefile diff...
> 
>      ifdef CONFIG_ARITHMETIC
>      lex.yy.c: exp/expression-parser.l
>     -       $(QUIET_LEX)$(LEX) exp/expression-parser.l
>     +       $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l

Stephen, ideas on how to work around this? Would be nice if we could
make-do without the lexer.h generation. Unfortunately I don't have a
RHEL5 here.

Tim, what does lex --version and flex --version say?

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-14 21:07 ` Jens Axboe
@ 2014-10-15  3:13   ` Jens Axboe
  2014-10-15  4:24   ` Stephen Cameron
  1 sibling, 0 replies; 10+ messages in thread
From: Jens Axboe @ 2014-10-15  3:13 UTC (permalink / raw)
  To: Tim Delaney, fio, Stephen Cameron

On 2014-10-14 15:07, Jens Axboe wrote:
> On 10/14/2014 01:58 PM, Tim Delaney wrote:
>> Trying to make fio on redhat 5.9 results in:
>>
>>      lex: unknown flag '-'.  For usage, try
>>              lex --help
>>      make: *** [lex.yy.c] Error 1
>>
>> Changeset "c9fa1c8d (Stephen M. Cameron  2014-10-06 17:58:32 -0500
>> 270)" introduced the lex '--header-file' option, but that option is
>> not valid on redhat 5.
>>
>> Makefile diff...
>>
>>       ifdef CONFIG_ARITHMETIC
>>       lex.yy.c: exp/expression-parser.l
>>      -       $(QUIET_LEX)$(LEX) exp/expression-parser.l
>>      +       $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
>
> Stephen, ideas on how to work around this? Would be nice if we could
> make-do without the lexer.h generation. Unfortunately I don't have a
> RHEL5 here.
>
> Tim, what does lex --version and flex --version say?

I think it should work now, for both OSX and Linux without warning, and 
without needing --header-file.

Tim, can you double check if it works for you if you pull -git?

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-14 21:07 ` Jens Axboe
  2014-10-15  3:13   ` Jens Axboe
@ 2014-10-15  4:24   ` Stephen Cameron
  2014-10-15 14:29     ` Jens Axboe
  1 sibling, 1 reply; 10+ messages in thread
From: Stephen Cameron @ 2014-10-15  4:24 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Tim Delaney, fio@vger.kernel.org

Been traveling all day, so only just now saw this thread... I can take
a look tomorrow, if you haven't already solved it.  I don't have
access to any rhel5 systems though.

-- steve


On Tue, Oct 14, 2014 at 4:07 PM, Jens Axboe <axboe@kernel.dk> wrote:
> On 10/14/2014 01:58 PM, Tim Delaney wrote:
>> Trying to make fio on redhat 5.9 results in:
>>
>>     lex: unknown flag '-'.  For usage, try
>>             lex --help
>>     make: *** [lex.yy.c] Error 1
>>
>> Changeset "c9fa1c8d (Stephen M. Cameron  2014-10-06 17:58:32 -0500
>> 270)" introduced the lex '--header-file' option, but that option is
>> not valid on redhat 5.
>>
>> Makefile diff...
>>
>>      ifdef CONFIG_ARITHMETIC
>>      lex.yy.c: exp/expression-parser.l
>>     -       $(QUIET_LEX)$(LEX) exp/expression-parser.l
>>     +       $(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
>
> Stephen, ideas on how to work around this? Would be nice if we could
> make-do without the lexer.h generation. Unfortunately I don't have a
> RHEL5 here.
>
> Tim, what does lex --version and flex --version say?
>
> --
> Jens Axboe
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-15  4:24   ` Stephen Cameron
@ 2014-10-15 14:29     ` Jens Axboe
  2014-10-15 14:51       ` Jens Axboe
  2014-10-15 14:56       ` Greg Freemyer
  0 siblings, 2 replies; 10+ messages in thread
From: Jens Axboe @ 2014-10-15 14:29 UTC (permalink / raw)
  To: Stephen Cameron; +Cc: Tim Delaney, fio@vger.kernel.org

On 10/14/2014 10:24 PM, Stephen Cameron wrote:
> Been traveling all day, so only just now saw this thread... I can take
> a look tomorrow, if you haven't already solved it.  I don't have
> access to any rhel5 systems though.

I'm doing a kvm install right now to test it, so unless you hear
otherwise, consider it taken care of.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-15 14:29     ` Jens Axboe
@ 2014-10-15 14:51       ` Jens Axboe
  2014-10-15 14:56       ` Greg Freemyer
  1 sibling, 0 replies; 10+ messages in thread
From: Jens Axboe @ 2014-10-15 14:51 UTC (permalink / raw)
  To: Stephen Cameron; +Cc: Tim Delaney, fio@vger.kernel.org

On 10/15/2014 08:29 AM, Jens Axboe wrote:
> On 10/14/2014 10:24 PM, Stephen Cameron wrote:
>> Been traveling all day, so only just now saw this thread... I can take
>> a look tomorrow, if you haven't already solved it.  I don't have
>> access to any rhel5 systems though.
> 
> I'm doing a kvm install right now to test it, so unless you hear
> otherwise, consider it taken care of.

Should be all good now - Tim, please pull updates and re-check if it
works for you now.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-15 14:29     ` Jens Axboe
  2014-10-15 14:51       ` Jens Axboe
@ 2014-10-15 14:56       ` Greg Freemyer
  2014-10-15 15:00         ` Jens Axboe
  1 sibling, 1 reply; 10+ messages in thread
From: Greg Freemyer @ 2014-10-15 14:56 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Stephen Cameron, Tim Delaney, fio@vger.kernel.org

On Wed, Oct 15, 2014 at 10:29 AM, Jens Axboe <axboe@kernel.dk> wrote:
> On 10/14/2014 10:24 PM, Stephen Cameron wrote:
>> Been traveling all day, so only just now saw this thread... I can take
>> a look tomorrow, if you haven't already solved it.  I don't have
>> access to any rhel5 systems though.
>
> I'm doing a kvm install right now to test it, so unless you hear
> otherwise, consider it taken care of.
>
> --
> Jens Axboe

If you don't know the opensuse build service (OBS) will let you build
for a number of distros.  The only issue is you need a specfile or deb
control file appropriate to the distro.  ie. typically the opensuse
specfile will not work with RedHat and vice versa.  Debian and Ubuntu
don't use specfiles at all.

For release build testing it might be useful to maintain a fio package
on OBS that builds for various distros and do a test build prior to
each release.

Anyone can create an account at build.opensuse.org and leverage the build farm.

Here's the current list of supported distros:

> osc dists
distribution              project                   repository
       reponame
------------              -------                   ----------
       --------
openSUSE Factory          openSUSE:Factory          snapshot
       openSUSE_Factory
openSUSE 13.2             openSUSE:13.2             standard
       openSUSE_13.2
openSUSE 13.1             openSUSE:13.1             standard
       openSUSE_13.1
openSUSE 12.3             openSUSE:12.3             standard
       openSUSE_12.3
openSUSE 12.2             openSUSE:12.2             standard
       openSUSE_12.2
openSUSE Factory ARM      openSUSE:Factory:ARM      standard
       openSUSE_Factory_ARM
openSUSE Tumbleweed       openSUSE:Tumbleweed       standard
       openSUSE_Tumbleweed
SUSE SLE-11 SP 3          SUSE:SLE-11:SP3           standard
       SLE_11_SP3
SUSE SLE-11 SP 2          SUSE:SLE-11:SP2           standard
       SLE_11_SP2
SUSE SLE-10               SUSE:SLE-10:SDK           standard
       SLE_10_SDK
Arch Core                 Arch:Core                 standard
       Arch_Core
Arch Extra                Arch:Extra                standard
       Arch_Extra
Debian 7.0                Debian:7.0                standard
       Debian_7.0
Debian 6.0                Debian:6.0                standard
       Debian_6.0
Fedora 20                 Fedora:20                 standard
       Fedora_20
Fedora 19                 Fedora:19                 standard
       Fedora_19
Fedora 18                 Fedora:18                 standard
       Fedora_18
ScientificLinux 7         ScientificLinux:7         standard
       ScientificLinux_7
ScientificLinux 6         ScientificLinux:6         standard
       ScientificLinux_6
RedHat RHEL-7             RedHat:RHEL-7             standard
       RHEL_7
RedHat RHEL-6             RedHat:RHEL-6             standard
       RHEL_6
RedHat RHEL-5             RedHat:RHEL-5             standard
       RHEL_5
RedHat RHEL-4             RedHat:RHEL-4             standard
       RHEL_4
CentOS CentOS-7           CentOS:CentOS-7           standard
       CentOS_7
CentOS CentOS-6           CentOS:CentOS-6           standard
       CentOS_6
CentOS CentOS-5           CentOS:CentOS-5           standard
       CentOS_5
Ubuntu 14.04              Ubuntu:14.04              standard
       xUbuntu_14.04
Ubuntu 13.10              Ubuntu:13.10              standard
       xUbuntu_13.10
Ubuntu 12.10              Ubuntu:12.10              standard
       xUbuntu_12.10
Ubuntu 12.04              Ubuntu:12.04              standard
       xUbuntu_12.04
Ubuntu 11.10              Ubuntu:11.10              standard
       xUbuntu_11.10
Ubuntu 10.04              Ubuntu:10.04              standard
       xUbuntu_10.04
Univention UCS 3.2        Univention:3.2            standard
       Univention_3.2
Univention UCS 3.1        Univention:3.1            standard
       Univention_3.1


fyi: I just attempted a RedHat test build of fio 2.1.13 and it failed
with the standard openSUSE specfile:

https://build.opensuse.org/package/show/home:gregfreemyer:Tools-for-forensic-boot-cd/fio

I suspect it would be relatively easy to make the specfile both
openSUSE and RedHat compatible if there is any value in it.

It typically just requires adding some %if logic to the specfile to
handle the different distros.

Greg


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-15 14:56       ` Greg Freemyer
@ 2014-10-15 15:00         ` Jens Axboe
  2014-10-16 20:35           ` Greg Freemyer
  0 siblings, 1 reply; 10+ messages in thread
From: Jens Axboe @ 2014-10-15 15:00 UTC (permalink / raw)
  To: Greg Freemyer; +Cc: Stephen Cameron, Tim Delaney, fio@vger.kernel.org

On 10/15/2014 08:56 AM, Greg Freemyer wrote:
> On Wed, Oct 15, 2014 at 10:29 AM, Jens Axboe <axboe@kernel.dk> wrote:
>> On 10/14/2014 10:24 PM, Stephen Cameron wrote:
>>> Been traveling all day, so only just now saw this thread... I can take
>>> a look tomorrow, if you haven't already solved it.  I don't have
>>> access to any rhel5 systems though.
>>
>> I'm doing a kvm install right now to test it, so unless you hear
>> otherwise, consider it taken care of.
>>
>> --
>> Jens Axboe
> 
> If you don't know the opensuse build service (OBS) will let you build
> for a number of distros.  The only issue is you need a specfile or deb
> control file appropriate to the distro.  ie. typically the opensuse
> specfile will not work with RedHat and vice versa.  Debian and Ubuntu
> don't use specfiles at all.
> 
> For release build testing it might be useful to maintain a fio package
> on OBS that builds for various distros and do a test build prior to
> each release.
> 
> Anyone can create an account at build.opensuse.org and leverage the build farm.
> 
> Here's the current list of supported distros:
> 
>> osc dists
> distribution              project                   repository
>        reponame
> ------------              -------                   ----------
>        --------
> openSUSE Factory          openSUSE:Factory          snapshot
>        openSUSE_Factory
> openSUSE 13.2             openSUSE:13.2             standard
>        openSUSE_13.2
> openSUSE 13.1             openSUSE:13.1             standard
>        openSUSE_13.1
> openSUSE 12.3             openSUSE:12.3             standard
>        openSUSE_12.3
> openSUSE 12.2             openSUSE:12.2             standard
>        openSUSE_12.2
> openSUSE Factory ARM      openSUSE:Factory:ARM      standard
>        openSUSE_Factory_ARM
> openSUSE Tumbleweed       openSUSE:Tumbleweed       standard
>        openSUSE_Tumbleweed
> SUSE SLE-11 SP 3          SUSE:SLE-11:SP3           standard
>        SLE_11_SP3
> SUSE SLE-11 SP 2          SUSE:SLE-11:SP2           standard
>        SLE_11_SP2
> SUSE SLE-10               SUSE:SLE-10:SDK           standard
>        SLE_10_SDK
> Arch Core                 Arch:Core                 standard
>        Arch_Core
> Arch Extra                Arch:Extra                standard
>        Arch_Extra
> Debian 7.0                Debian:7.0                standard
>        Debian_7.0
> Debian 6.0                Debian:6.0                standard
>        Debian_6.0
> Fedora 20                 Fedora:20                 standard
>        Fedora_20
> Fedora 19                 Fedora:19                 standard
>        Fedora_19
> Fedora 18                 Fedora:18                 standard
>        Fedora_18
> ScientificLinux 7         ScientificLinux:7         standard
>        ScientificLinux_7
> ScientificLinux 6         ScientificLinux:6         standard
>        ScientificLinux_6
> RedHat RHEL-7             RedHat:RHEL-7             standard
>        RHEL_7
> RedHat RHEL-6             RedHat:RHEL-6             standard
>        RHEL_6
> RedHat RHEL-5             RedHat:RHEL-5             standard
>        RHEL_5
> RedHat RHEL-4             RedHat:RHEL-4             standard
>        RHEL_4
> CentOS CentOS-7           CentOS:CentOS-7           standard
>        CentOS_7
> CentOS CentOS-6           CentOS:CentOS-6           standard
>        CentOS_6
> CentOS CentOS-5           CentOS:CentOS-5           standard
>        CentOS_5
> Ubuntu 14.04              Ubuntu:14.04              standard
>        xUbuntu_14.04
> Ubuntu 13.10              Ubuntu:13.10              standard
>        xUbuntu_13.10
> Ubuntu 12.10              Ubuntu:12.10              standard
>        xUbuntu_12.10
> Ubuntu 12.04              Ubuntu:12.04              standard
>        xUbuntu_12.04
> Ubuntu 11.10              Ubuntu:11.10              standard
>        xUbuntu_11.10
> Ubuntu 10.04              Ubuntu:10.04              standard
>        xUbuntu_10.04
> Univention UCS 3.2        Univention:3.2            standard
>        Univention_3.2
> Univention UCS 3.1        Univention:3.1            standard
>        Univention_3.1
> 
> 
> fyi: I just attempted a RedHat test build of fio 2.1.13 and it failed
> with the standard openSUSE specfile:
> 
> https://build.opensuse.org/package/show/home:gregfreemyer:Tools-for-forensic-boot-cd/fio
> 
> I suspect it would be relatively easy to make the specfile both
> openSUSE and RedHat compatible if there is any value in it.
> 
> It typically just requires adding some %if logic to the specfile to
> handle the different distros.

That would be absolutely wonderful. I do some of these manually before
release, especially if changes have gone in that could affect build on
various distros. But would be great to have it automated. Unfortunately
I'm not a rpmfile/deb wizard, and I lack the motivation (and time) to
take the time to do this. So if anyone would like to step up and help
out with this, that would be awesome.

Currently the deb and rpm spec files are not included with fio, but they
do exist in the debian (ish) and rpm based packages that people roll for
distributions. So hopefully it should not be too much work. It might
even be a good idea to include them with fio, especially if we're going
to automate some of this building/testing.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: BUG - Cannot build fio on redhat 5
  2014-10-15 15:00         ` Jens Axboe
@ 2014-10-16 20:35           ` Greg Freemyer
  2014-10-16 20:43             ` Fwd: " Greg Freemyer
  0 siblings, 1 reply; 10+ messages in thread
From: Greg Freemyer @ 2014-10-16 20:35 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Stephen Cameron, Tim Delaney, fio@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 5382 bytes --]

On Wed, Oct 15, 2014 at 11:00 AM, Jens Axboe <axboe@kernel.dk> wrote:

> That would be absolutely wonderful. I do some of these manually before
> release, especially if changes have gone in that could affect build on
> various distros. But would be great to have it automated. Unfortunately
> I'm not a rpmfile/deb wizard, and I lack the motivation (and time) to
> take the time to do this. So if anyone would like to step up and help
> out with this, that would be awesome.
>
> Currently the deb and rpm spec files are not included with fio, but they
> do exist in the debian (ish) and rpm based packages that people roll for
> distributions. So hopefully it should not be too much work. It might
> even be a good idea to include them with fio, especially if we're going
> to automate some of this building/testing.
>

If someone will send me a RedHat specfile or Debian deb file I can try
doing a test build.

======== brief background ====
The opensuse build server (and associated local build tool "osc") basically
takes as input the latest tarball and an updated specfile / deb control
file.  If the specfiles and/or deb files were within the tarball a simple
script could be used to extract them and run a test build.

The biggest issue would be if any of the distros require patches to the
tarball for them to build.

opensuse is not carrying any fio patches, so it is clean:

https://build.opensuse.org/package/show/benchmark/fio

Assuming a test build setup was functioning, the build script would just
need lines like:

--------------
 osc build --local-package --alternative-project RedHat:RHEL-5
x86_64 fio.redhat.spec
 osc build --local-package --alternative-project openSUSE:13.1
x86_64 fio.opensuse.spec
...
--------------
Similar for Debian based systems, but I don't know what the control file
name is

To run the test build the user would need to have "osc" installed.  It is
available for several distros:

http://software.opensuse.org/download.html?project=openSUSE%3ATools&package=osc

------------ need a volunteer to do a test openSUSE build via the linux
platform of their choice (assuming it is in the supported list) ------

Step 1: install osc from:
http://software.opensuse.org/download.html?project=openSUSE%3ATools&package=osc

Step 2: Download the 3 fio files (tarball, changes file and specfile) from:
https://build.opensuse.org/package/show/benchmark/fio

Put those 3 files in a test folder and cd into it.

Step 3:
Then attempt a test build of an openSUSE rpm:
osc build --local-package --alternative-project openSUSE:13.1
x86_64 fio.spec

That "osc build" will take several minutes because about 250 packages have
to be downloaded and installed in a chroot jail prior to the actual build
starting.  Those packages will be cached so subsequent builds will be much
faster.

------------ more details ---------
I've only used osc under openSUSE, so I can only state with confidence that
from within openSUSE I can tell osc to do test builds for the various
distros supported.

I "think" that same is true from within any of the supported distros.  As
an example, if I have osc installed in a RedHat box I can use it to do a
cross build of Ubuntu.  If anyone does the test build above we will have a
second data point.

Osc works by creating a chroot jail that it installs the packages needed to
build with into.

As an example "osc build --local-package --alternative-project
RedHat:RHEL-5 x86_64 fio.redhat.spec" will attempt to build a 64-bit Red
Hat rpm from within openSUSE.  The first thing it does is download the
needed packages and install them in a chroot jail.  It assumes the file
fio.redhat.spec exists and has the right content to drive the build.

The PC doing the test builds does have to be on the Internet to be able to
pull down the various packages needed to do the test build.

I provided the list of "alternative-project" options in my last email, but
here it is again:

distribution              project
------------              -------
openSUSE Factory          openSUSE:Factory
openSUSE 13.2             openSUSE:13.2
openSUSE 13.1             openSUSE:13.1
openSUSE 12.3             openSUSE:12.3
openSUSE 12.2             openSUSE:12.2
openSUSE Factory ARM      openSUSE:Factory:ARM
openSUSE Tumbleweed       openSUSE:Tumbleweed
SUSE SLE-11 SP 3          SUSE:SLE-11:SP3
SUSE SLE-11 SP 2          SUSE:SLE-11:SP2
SUSE SLE-10               SUSE:SLE-10:SDK
Arch Core                 Arch:Core
Arch Extra                Arch:Extra
Debian 7.0                Debian:7.0
Debian 6.0                Debian:6.0
Fedora 20                 Fedora:20
Fedora 19                 Fedora:19
Fedora 18                 Fedora:18
ScientificLinux 7         ScientificLinux:7
ScientificLinux 6         ScientificLinux:6
RedHat RHEL-7             RedHat:RHEL-7
RedHat RHEL-6             RedHat:RHEL-6
RedHat RHEL-5             RedHat:RHEL-5
RedHat RHEL-4             RedHat:RHEL-4
CentOS CentOS-7           CentOS:CentOS-7
CentOS CentOS-6           CentOS:CentOS-6
CentOS CentOS-5           CentOS:CentOS-5
Ubuntu 14.04              Ubuntu:14.04
Ubuntu 13.10              Ubuntu:13.10
Ubuntu 12.10              Ubuntu:12.10
Ubuntu 12.04              Ubuntu:12.04
Ubuntu 11.10              Ubuntu:11.10
Ubuntu 10.04              Ubuntu:10.04
Univention UCS 3.2        Univention:3.2
Univention UCS 3.1        Univention:3.1

Greg
--
Greg Freemyer

[-- Attachment #2: Type: text/html, Size: 9247 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Fwd: BUG - Cannot build fio on redhat 5
  2014-10-16 20:35           ` Greg Freemyer
@ 2014-10-16 20:43             ` Greg Freemyer
  0 siblings, 0 replies; 10+ messages in thread
From: Greg Freemyer @ 2014-10-16 20:43 UTC (permalink / raw)
  To: fio@vger.kernel.org

(Resend as plain text.  HTML version bounced)

On Wed, Oct 15, 2014 at 11:00 AM, Jens Axboe <axboe@kernel.dk> wrote:
>
> That would be absolutely wonderful. I do some of these manually before
> release, especially if changes have gone in that could affect build on
> various distros. But would be great to have it automated. Unfortunately
> I'm not a rpmfile/deb wizard, and I lack the motivation (and time) to
> take the time to do this. So if anyone would like to step up and help
> out with this, that would be awesome.
>
> Currently the deb and rpm spec files are not included with fio, but they
> do exist in the debian (ish) and rpm based packages that people roll for
> distributions. So hopefully it should not be too much work. It might
> even be a good idea to include them with fio, especially if we're going
> to automate some of this building/testing.


If someone will send me a RedHat specfile or Debian deb file I can try
doing a test build.

======== brief background ====
The opensuse build server (and associated local build tool "osc")
basically takes as input the latest tarball and an updated specfile /
deb control file.  If the specfiles and/or deb files were within the
tarball a simple script could be used to extract them and run a test
build.

The biggest issue would be if any of the distros require patches to
the tarball for them to build.

opensuse is not carrying any fio patches, so it is clean:

https://build.opensuse.org/package/show/benchmark/fio

Assuming a test build setup was functioning, the build script would
just need lines like:

--------------
 osc build --local-package --alternative-project RedHat:RHEL-5 x86_64
fio.redhat.spec
 osc build --local-package --alternative-project openSUSE:13.1 x86_64
fio.opensuse.spec
...
--------------
Similar for Debian based systems, but I don't know what the control file name is

To run the test build the user would need to have "osc" installed.  It
is available for several distros:

http://software.opensuse.org/download.html?project=openSUSE%3ATools&package=osc

------------ need a volunteer to do a test openSUSE build via the
linux platform of their choice (assuming it is in the supported list)
------

Step 1: install osc from:
http://software.opensuse.org/download.html?project=openSUSE%3ATools&package=osc

Step 2: Download the 3 fio files (tarball, changes file and specfile) from:
https://build.opensuse.org/package/show/benchmark/fio

Put those 3 files in a test folder and cd into it.

Step 3:
Then attempt a test build of an openSUSE rpm:
osc build --local-package --alternative-project openSUSE:13.1 x86_64 fio.spec

That "osc build" will take several minutes because about 250 packages
have to be downloaded and installed in a chroot jail prior to the
actual build starting.  Those packages will be cached so subsequent
builds will be much faster.

------------ more details ---------
I've only used osc under openSUSE, so I can only state with confidence
that from within openSUSE I can tell osc to do test builds for the
various distros supported.

I "think" that same is true from within any of the supported distros.
As an example, if I have osc installed in a RedHat box I can use it to
do a cross build of Ubuntu.  If anyone does the test build above we
will have a second data point.

Osc works by creating a chroot jail that it installs the packages
needed to build with into.

As an example "osc build --local-package --alternative-project
RedHat:RHEL-5 x86_64 fio.redhat.spec" will attempt to build a 64-bit
Red Hat rpm from within openSUSE.  The first thing it does is download
the needed packages and install them in a chroot jail.  It assumes the
file fio.redhat.spec exists and has the right content to drive the
build.

The PC doing the test builds does have to be on the Internet to be
able to pull down the various packages needed to do the test build.

I provided the list of "alternative-project" options in my last email,
but here it is again:

distribution              project
------------              -------
openSUSE Factory          openSUSE:Factory
openSUSE 13.2             openSUSE:13.2
openSUSE 13.1             openSUSE:13.1
openSUSE 12.3             openSUSE:12.3
openSUSE 12.2             openSUSE:12.2
openSUSE Factory ARM      openSUSE:Factory:ARM
openSUSE Tumbleweed       openSUSE:Tumbleweed
SUSE SLE-11 SP 3          SUSE:SLE-11:SP3
SUSE SLE-11 SP 2          SUSE:SLE-11:SP2
SUSE SLE-10               SUSE:SLE-10:SDK
Arch Core                 Arch:Core
Arch Extra                Arch:Extra
Debian 7.0                Debian:7.0
Debian 6.0                Debian:6.0
Fedora 20                 Fedora:20
Fedora 19                 Fedora:19
Fedora 18                 Fedora:18
ScientificLinux 7         ScientificLinux:7
ScientificLinux 6         ScientificLinux:6
RedHat RHEL-7             RedHat:RHEL-7
RedHat RHEL-6             RedHat:RHEL-6
RedHat RHEL-5             RedHat:RHEL-5
RedHat RHEL-4             RedHat:RHEL-4
CentOS CentOS-7           CentOS:CentOS-7
CentOS CentOS-6           CentOS:CentOS-6
CentOS CentOS-5           CentOS:CentOS-5
Ubuntu 14.04              Ubuntu:14.04
Ubuntu 13.10              Ubuntu:13.10
Ubuntu 12.10              Ubuntu:12.10
Ubuntu 12.04              Ubuntu:12.04
Ubuntu 11.10              Ubuntu:11.10
Ubuntu 10.04              Ubuntu:10.04
Univention UCS 3.2        Univention:3.2
Univention UCS 3.1        Univention:3.1

Greg
--
Greg Freemyer

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-10-16 20:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14 19:58 BUG - Cannot build fio on redhat 5 Tim Delaney
2014-10-14 21:07 ` Jens Axboe
2014-10-15  3:13   ` Jens Axboe
2014-10-15  4:24   ` Stephen Cameron
2014-10-15 14:29     ` Jens Axboe
2014-10-15 14:51       ` Jens Axboe
2014-10-15 14:56       ` Greg Freemyer
2014-10-15 15:00         ` Jens Axboe
2014-10-16 20:35           ` Greg Freemyer
2014-10-16 20:43             ` Fwd: " Greg Freemyer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.