(Resend as plain text. HTML version bounced) On Wed, Oct 15, 2014 at 11:00 AM, Jens Axboe <axboe@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html