Skip to contentSkip to conversation

Perform package tests in Travis CI

PATCH In review Leon Romanovsky 4 participants 35 messages Nov 2, 2017 – Nov 6, 2017 26 messages not in the archive InfiniBand

lore
Share & tools
lore
#0 lore raw

cover Perform package tests in Travis CI

This patchset comes from Alaa and he adds to Travis CI ability to reuse our cbuild script to build various packages.

The PR is https://github.com/linux-rdma/rdma-core/pull/241

Thanks

Cc Benjamin Drung <[email protected]>
Cc Nicolas Morey-Chaisemartin <[email protected]>

Alaa Hleihel (5):
cbuild: Add udev dependency to package list of SuSE Leap
cbuild: Properly create tarball for SuSE
travis: Add RedHat and SuSE rpmbuild support buildlib/cbuild: Add Ubuntu artful
travis: Test Debian packaging under Artful container

 .travis.yml                 |  4 ++++
 buildlib/cbuild             | 27 ++++++++++++++++++++-------
 buildlib/package-build-test | 15 +++++++++++++++
 buildlib/travis-build       | 14 --------------
 4 files changed, 39 insertions(+), 21 deletions(-)
 create mode 100755 buildlib/package-build-test

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102165556.22105-1-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#2 lore raw

PATCH 1/5 cbuild: Add udev dependency to package list of SuSE Leap

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

rpmbuild under SUSE requires udev and produces the following errors:

error: Failed build dependencies:

        pkgconfig(udev) is needed by rdma-core-16-0.x86_64
---
 buildlib/cbuild | 1 +
 1 file changed, 1 insertion(+)
buildlib/cbuild +1 -0
index 918bf233..d1455b6f 100755
@@ -298,6 +298,7 @@ class leap(ZypperEnvironment):
         'cmake',
         'gcc',
         'libnl3-devel',
+        'udev',
         'libudev-devel',
         'make',
         'ninja',

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102165556.22105-2-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#4 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Good catch !
Thanks

Le 02/11/2017 à 17:55, Leon Romanovsky a écrit :

Quoted 9 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

rpmbuild under SUSE requires udev and produces the following errors:

error: Failed build dependencies:

        pkgconfig(udev) is needed by rdma-core-16-0.x86_64
Quoted 19 lines
---
 buildlib/cbuild | 1 +
 1 file changed, 1 insertion(+)
buildlib/cbuild +1 -1
index 918bf233..d1455b6f 100755
@@ -298,6 +298,7 @@ class leap(ZypperEnvironment):
         'cmake',
         'gcc',
         'libnl3-devel',
+        'udev',
         'libudev-devel',
         'make',
         'ninja',
--

2.14.2

Quoted 4 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#5 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

In reply to a message not in the archive

Leon, Jason, is there any news on switching the upstream validation to build/validate for all distrib instead of just the "travis" one ?

Nicolas

Le 02/11/2017 à 17:55, Leon Romanovsky a écrit :

Quoted 28 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

rpmbuild under SUSE requires udev and produces the following errors:

error: Failed build dependencies:

        pkgconfig(udev) is needed by rdma-core-16-0.x86_64
---
 buildlib/cbuild | 1 +
 1 file changed, 1 insertion(+)
buildlib/cbuild +1 -1
index 918bf233..d1455b6f 100755
@@ -298,6 +298,7 @@ class leap(ZypperEnvironment):
         'cmake',
         'gcc',
         'libnl3-devel',
+        'udev',
         'libudev-devel',
         'make',
         'ninja',
--

2.14.2

Quoted 4 lines

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 3a06c93f-aa0f-93fa-1b74-af6388051f89-l3A5Bk7waGM@public.gmane.org

#7 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 1 line · Nicolas Morey-Chaisemartin

Leon, Jason, is there any news on switching the upstream validation to build/validate for all distrib instead of just the "travis" one ?

This is the ultimate goal of this series.

After this series will be fixed and merged, we will have containerized SuSE/CentOS/Debian builds in travis, and next step will be upload those artifacts to https://packagecloud.io/, so people won't need to create distro packages for master branch. It will be there for them.

In regards of schedule, there is already weekend in IL and Alaa will continue to work on this series next week. After that, I'll setup and connect packagecloud to our account.

Actual validation on real HW is performed by vendors internally.

Thanks

Quoted 37 lines

Nicolas

Le 02/11/2017 à 17:55, Leon Romanovsky a écrit :

Quoted 32 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

rpmbuild under SUSE requires udev and produces the following errors:

error: Failed build dependencies:

        pkgconfig(udev) is needed by rdma-core-16-0.x86_64
---
 buildlib/cbuild | 1 +
 1 file changed, 1 insertion(+)
buildlib/cbuild +1 -1
index 918bf233..d1455b6f 100755
@@ -298,6 +298,7 @@ class leap(ZypperEnvironment):
         'cmake',
         'gcc',
         'libnl3-devel',
+        'udev',
         'libudev-devel',
         'make',
         'ninja',
--

2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102174220.GD16127-U/[email protected]

#9 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 1 line · Leon Romanovsky

On Thu, Nov 02, 2017 at 06:32:09PM +0100, Nicolas Morey-Chaisemartin wrote: >> Leon, Jason, is there any news on switching the upstream validation to build/validate for all distrib instead of just the "travis" one ? > > This is the ultimate goal of this series.

Sounds good. In that case, it might be worth adding tumbleweed to the distrib beeing built. Most of the SUSE bleeding-edge user are using TW as it provides the latest kernel/packages.

Quoted 1 line
Quoted 1 line
Quoted 1 line

After this series will be fixed and merged, we will have containerized SuSE/CentOS/Debian builds in travis, > and next step will be upload those artifacts to https://packagecloud.io/, so people won't need to create > distro packages for master branch. It will be there for them.

FYI, I've already setup something in OBS that does it for the SUSE packages:
https://build.opensuse.org/package/show/science:HPC:Head/rdma-core

I've a Jenkins job that pulls github and automatically update this OBS repository. They definitly should *NOT* be used for anything but testing.

Quoted 1 line
Quoted 1 line
Quoted 1 line

In regards of schedule, there is already weekend in IL and Alaa will continue > to work on this series next week. After that, I'll setup and connect packagecloud > to our account.

Great !

Nicolas

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): b2493da4-396e-5d24-ffa5-2fcccb9ee85c-l3A5Bk7waGM@public.gmane.org

#11 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 6 lines · Nicolas Morey-Chaisemartin
Quoted 1 line · Leon Romanovsky

On Thu, Nov 02, 2017 at 06:32:09PM +0100, Nicolas Morey-Chaisemartin wrote: >> Leon, Jason, is there any news on switching the upstream validation to build/validate for all distrib instead of just the "travis" one ? > > This is the ultimate goal of this series.

Sounds good. In that case, it might be worth adding tumbleweed to the distrib beeing built. Most of the SUSE bleeding-edge user are using TW as it provides the latest kernel/packages.

The preference is to have one latest distribution per distro, otherwise the CI will take a lot of time to complete. It makes sense to replace leap with tumblweed.

Quoted 13 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

After this series will be fixed and merged, we will have containerized SuSE/CentOS/Debian builds in travis, > and next step will be upload those artifacts to https://packagecloud.io/, so people won't need to create > distro packages for master branch. It will be there for them.

FYI, I've already setup something in OBS that does it for the SUSE packages:
https://build.opensuse.org/package/show/science:HPC:Head/rdma-core

I've a Jenkins job that pulls github and automatically update this OBS repository. They definitly should *NOT* be used for anything but testing.

Quoted 1 line
Quoted 1 line
Quoted 1 line

In regards of schedule, there is already weekend in IL and Alaa will continue > to work on this series next week. After that, I'll setup and connect packagecloud > to our account.

Great !

Nicolas

A message that is not in the archive (sent off-list or not yet received): 20171102183257.GI16127-U/[email protected]

#13 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 9 lines · Leon Romanovsky
Quoted 5 lines · Nicolas Morey-Chaisemartin
Quoted 1 line · Leon Romanovsky

On Thu, Nov 02, 2017 at 06:32:09PM +0100, Nicolas Morey-Chaisemartin wrote: >> Leon, Jason, is there any news on switching the upstream validation to build/validate for all distrib instead of just the "travis" one ? > > This is the ultimate goal of this series.

Sounds good. In that case, it might be worth adding tumbleweed to the distrib beeing built. Most of the SUSE bleeding-edge user are using TW as it provides the latest kernel/packages.

The preference is to have one latest distribution per distro, otherwise the CI will take a lot of time to complete. It makes sense to replace leap with tumblweed.

Hi Nicolas,

I've tried to build RPMs for tumbleweed, but it fails with the following error:

$ buildlib/cbuild pkg tumbleweed
error: Failed build dependencies:
        curl-mini is needed by rdma-core-16-0.x86_64

Seems like there is no such package available for Tumbleweed ..

########################################################################

$ buildlib/cbuild pkg tumbleweed --run-shell
builder-24bcec44f958:~/rpmbuild # cat /etc/issue
Welcome to openSUSE Tumbleweed 20171102 - Kernel \r (\l).

builder-24bcec44f958:~/rpmbuild # zypper search curl-mini Loading repository data...
Reading installed packages...
No matching items found.

builder-24bcec44f958:~/rpmbuild # zypper search curl Loading repository data...
Reading installed packages...

S | Name                | Summary                                                      | Type
--+---------------------+--------------------------------------------------------------+--------

  | curl                | A Tool for Transferring Data from URLs                       | package
  | curlftpfs           | Filesystem for mounting FTP hosts using FUSE and libcurl     | package
  | flickcurl           | Command-Line Tools for the Flickr Web Service                | package
  | flickcurl-doc       | Documentation for flickcurl, a Flickr Web Service C library  | package
  | gambas3-gb-net-curl | The advanced networking component for Gambas                 | package
  | ghc-curl            | Haskell binding to libcurl                                   | package
  | ghc-curl-devel      | Haskell curl library development files                       | package
  | libcurl-devel       | A Tool for Transferring Data from URLs                       | package
  | libcurl-devel-32bit | A Tool for Transferring Data from URLs                       | package
i | libcurl4            | Version 4 of cURL shared library                             | package
  | libcurl4-32bit      | Version 4 of cURL shared library                             | package
  | libflickcurl-devel  | Development files for flickurl, a Flickr Web Service library | package
  | libflickcurl0       | C Library API to the Flickr Web Service                      | package
  | libflickcurl0-32bit | C Library API to the Flickr Web Service                      | package
  | php7-curl           | libcurl integration for PHP                                  | package
  | python-pycurl-doc   | Documentation for python-curl                                | package
  | python2-pycurl      | PycURL -- cURL library module                                | package
  | python3-pycurl      | PycURL -- cURL library module                                | package
  | qemu-block-curl     | Universal CPU emulator -- cURL block support                 | package
  | syslog-ng-curl      | Curl (HTTP) destination support for syslog-ng                | package
  | tclcurl             | Tcl Binding to libcurl                                       | package
  | xmms2-plugin-curl   | Curl support for xmms2                                       | package

########################################################################

However, after removing the requirement for curl-mini, I was able to build RPMs successfully under Tumbleweed. Can I submit a patch for removing these lines ?

--- a/suse/rdma-core.spec
+++ b/suse/rdma-core.spec

-%if 0%{?suse_version} >= 1330
-BuildRequires:  curl-mini
-%endif
-

Regards,
Alaa

Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line

After this series will be fixed and merged, we will have containerized SuSE/CentOS/Debian builds in travis, > and next step will be upload those artifacts to https://packagecloud.io/, so people won't need to create > distro packages for master branch. It will be there for them.

FYI, I've already setup something in OBS that does it for the SUSE packages:
https://build.opensuse.org/package/show/science:HPC:Head/rdma-core

Quoted 8 lines
Quoted 8 lines

I've a Jenkins job that pulls github and automatically update this OBS repository. They definitly should *NOT* be used for anything but testing.

Quoted 1 line
Quoted 1 line
Quoted 1 line

In regards of schedule, there is already weekend in IL and Alaa will continue > to work on this series next week. After that, I'll setup and connect packagecloud > to our account.

Great !

Nicolas

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 76d45899-f1ec-bbd1-e0dd-799e1fa4a400-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org

#15 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 3 lines · Alaa Hleihel

-%if 0%{?suse_version} >= 1330
-BuildRequires:? curl-mini
-%endif

No idea what it would need curl to build, so the above seems right to me?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171106020518.GC12187-uk2M96/[email protected]

#17 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 8 lines · Jason Gunthorpe
Quoted 3 lines · Alaa Hleihel

-%if 0%{?suse_version} >= 1330
-BuildRequires:? curl-mini
-%endif

No idea what it would need curl to build, so the above seems right to me?

Jason

I also don't believe that curl is required for build. But, I think we should wait for Nicolas to comment before removing these lines.

Regards,
Alaa
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): aae35c17-8135-9e4b-8ff8-f92558316f95-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org

#19 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Le 06/11/2017 à 08:58, Alaa Hleihel a écrit :

Quoted 10 lines · Jason Gunthorpe
Quoted 8 lines · Alaa Hleihel
Quoted 4 lines

-%if 0%{?suse_version} >= 1330
-BuildRequires:? curl-mini
-%endif

No idea what it would need curl to build, so the above seems right to me?

Jason

Quoted 8 lines

I also don't believe that curl is required for build. But, I think we should wait for Nicolas to comment before removing these lines.

Regards,
Alaa
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

There is no direct dependency to curl but an indirect one that I don't remember.
This is required to avoid cyclic build dependency in our build system. (something like curl requires boost which requires rdma-core which requires curl through some dependencies)

I don't know why it's not available on download.opensuse.org... I'll check with the guy in charge and submit a patch if needed

Nicolas

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): c9ecd165-c670-c58b-6d7b-006140fc15af-l3A5Bk7waGM@public.gmane.org

#21 lore raw

Re: [PATCH rdma-core 1/5] cbuild: Add udev dependency to package list of SuSE Leap

Quoted 2 lines · Nicolas Morey-Chaisemartin

There is no direct dependency to curl but an indirect one that I don't remember.

This is still current for rdma-core?

Quoted 3 lines

This is required to avoid cyclic build dependency in our build system. (something like curl requires boost which requires rdma-core which requires curl through some dependencies)

A comment would help :)

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#22 lore raw

PATCH 2/5 cbuild: Properly create tarball for SuSE

In reply to a message not in the archive

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

The tarball was not created at the expected path by SUSE scripts, causing rpmbuild to fail with the following error:
error: File /usr/src/packages/SOURCES/rdma-core-16.tar.gz: No such file or directory

This patch fixes the issue by adding ".rpmmacros" file to root's home folder and sets "%_topdir" to the path where we place the source tarball.

---
 buildlib/cbuild | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
buildlib/cbuild +12 -7
index d1455b6f..098bec9a 100755
@@ -415,13 +415,15 @@ def run_rpm_build(args,spec_file,env):
 
     image_id = get_image_id(args,env.image_name());
     with private_tmp(args) as tmpdir:
-        os.mkdir(os.path.join(tmpdir,"SOURCES"));
+        builddir = os.path.join(tmpdir,"builddir")
+        os.mkdir(builddir);
+        os.mkdir(os.path.join(builddir,"SOURCES"));
         os.mkdir(os.path.join(tmpdir,"tmp"));
 
         subprocess.check_call(["git","archive",
                                # This must match the prefix generated buildlib/github-release
                                "--prefix","%s-%s/"%(project,get_version()),
-                               "--output",os.path.join(tmpdir,"SOURCES",tarfn),
+                               "--output",os.path.join(builddir,"SOURCES",tarfn),
                                "HEAD"]);
 
         with open(spec_file,"r") as inF:
@@ -431,18 +433,21 @@ def run_rpm_build(args,spec_file,env):
             outF.write("".join(spec));
 
         home = os.path.join(os.path.sep,"home",os.getenv("LOGNAME"));
-        vdir = os.path.join(home,"rpmbuild");
 
         opts = [
             "run",
             "--rm=true",
-            "-v","%s:%s"%(tmpdir,vdir),
-            "-w",vdir,
+            "-v","%s:%s"%(tmpdir,home),
+            "-w",home,
             "-h","builder-%s"%(image_id[:12]),
             "-e","HOME=%s"%(home),
-            "-e","TMPDIR=%s"%(os.path.join(vdir,"tmp")),
+            "-e","TMPDIR=%s"%(os.path.join(home,"tmp")),
         ];
 
+        # set _topdir for rpmbuild under SUSE since it's different than RedHat
+        with open(os.path.join(tmpdir,".rpmmacros"),"w") as F:
+            print >> F,"%%_topdir %s"%os.path.join(home,"builddir")
+
         # rpmbuild complains if we do not have an entry in passwd and group
         # for the user we are going to use to do the build.
         with open(os.path.join(tmpdir,"go.py"),"w") as F:
@@ -459,7 +464,7 @@ os.setuid({uid:d});
 for ln in subprocess.check_output(["rpmspec","-P",{tspec_file!r}]).splitlines():
    if ln.startswith("Source:"):
       tarfn = ln.strip().partition(' ')[2].strip();
-os.symlink({tarfn!r},os.path.join("SOURCES",tarfn));
+os.symlink({tarfn!r},os.path.join("builddir","SOURCES",tarfn));
 """.format(passwd=":".join(str(I) for I in pwd.getpwuid(os.getuid())),
            group=":".join(str(I) for I in grp.getgrgid(os.getgid())),
            uid=os.getuid(),

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102165556.22105-3-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#24 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

Quoted 8 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

The tarball was not created at the expected path by SUSE scripts, causing rpmbuild to fail with the following error:
error: File /usr/src/packages/SOURCES/rdma-core-16.tar.gz: No such file or directory

This patch fixes the issue by adding ".rpmmacros" file to root's home folder and sets "%_topdir" to the path where we place the source tarball.

Alaa,

I'm not certain what this patch is about, I don't see these errors here:

$ buildlib/cbuild pkg opensuse-42.2 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.JSkP2f
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ cd /home/jgg/rpmbuild/BUILD
+ rm -rf rdma-core-16
+ /usr/bin/gzip -dc /home/jgg/rpmbuild/SOURCES/rdma-core-16.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd rdma-core-16
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.rzpkKs
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ /usr/bin/rm -rf /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
++ dirname /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ /usr/bin/mkdir -p /home/jgg/rpmbuild/BUILDROOT
+ /usr/bin/mkdir /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ cd rdma-core-16

How can you be getting such a significantly different result?

Are you running cbuild as root or something? What is the docker command the script uses?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102171738.GP18874-uk2M96/[email protected]

#26 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

Same here. Cannot reproduce the original issue...

Le 02/11/2017 à 18:17, Jason Gunthorpe a écrit :

Quoted 38 lines · Leon Romanovsky
Quoted 8 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

The tarball was not created at the expected path by SUSE scripts, causing rpmbuild to fail with the following error:
error: File /usr/src/packages/SOURCES/rdma-core-16.tar.gz: No such file or directory

This patch fixes the issue by adding ".rpmmacros" file to root's home folder and sets "%_topdir" to the path where we place the source tarball.

Alaa,

I'm not certain what this patch is about, I don't see these errors here:

$ buildlib/cbuild pkg opensuse-42.2 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.JSkP2f
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ cd /home/jgg/rpmbuild/BUILD
+ rm -rf rdma-core-16
+ /usr/bin/gzip -dc /home/jgg/rpmbuild/SOURCES/rdma-core-16.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd rdma-core-16
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.rzpkKs
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ /usr/bin/rm -rf /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
++ dirname /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ /usr/bin/mkdir -p /home/jgg/rpmbuild/BUILDROOT
+ /usr/bin/mkdir /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ cd rdma-core-16

How can you be getting such a significantly different result?

Quoted 8 lines

Are you running cbuild as root or something? What is the docker command the script uses?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#27 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

In reply to a message not in the archive
Quoted 37 lines · Jason Gunthorpe
Quoted 8 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

The tarball was not created at the expected path by SUSE scripts, causing rpmbuild to fail with the following error:
error: File /usr/src/packages/SOURCES/rdma-core-16.tar.gz: No such file or directory

This patch fixes the issue by adding ".rpmmacros" file to root's home folder and sets "%_topdir" to the path where we place the source tarball.

Alaa,

I'm not certain what this patch is about, I don't see these errors here:

$ buildlib/cbuild pkg opensuse-42.2
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.JSkP2f
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ cd /home/jgg/rpmbuild/BUILD
+ rm -rf rdma-core-16
+ /usr/bin/gzip -dc /home/jgg/rpmbuild/SOURCES/rdma-core-16.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd rdma-core-16
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.rzpkKs
+ umask 022
+ cd /home/jgg/rpmbuild/BUILD
+ /usr/bin/rm -rf /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
++ dirname /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ /usr/bin/mkdir -p /home/jgg/rpmbuild/BUILDROOT
+ /usr/bin/mkdir /home/jgg/rpmbuild/BUILDROOT/rdma-core-16-0.x86_64
+ cd rdma-core-16
Quoted 4 lines

How can you be getting such a significantly different result?

Are you running cbuild as root or something? What is the docker command the script uses?

For me too, it doesn't reproduce, most probably Alaa run it as a root.

Thanks

Quoted 2 lines

Jason

A message that is not in the archive (sent off-list or not yet received): 20171102175735.GE16127-U/[email protected]

#29 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

Quoted 4 lines · Leon Romanovsky
Quoted 2 lines

Are you running cbuild as root or something? What is the docker command the script uses?

For me too, it doesn't reproduce, most probably Alaa run it as a root.

Okay lets instead ban running cbuild as root?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102181217.GS18874-uk2M96/[email protected]

#31 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

Quoted 8 lines · Jason Gunthorpe
Quoted 4 lines · Leon Romanovsky
Quoted 2 lines

Are you running cbuild as root or something? What is the docker command the script uses?

For me too, it doesn't reproduce, most probably Alaa run it as a root.

Okay lets instead ban running cbuild as root?

I'm fine with that, but lets wait till Sunday before dropping this patch, so Alaa will have chance to respond.

Thanks

Quoted 2 lines

Jason

A message that is not in the archive (sent off-list or not yet received): 20171102182526.GG16127-U/[email protected]

#33 lore raw

Re: [PATCH rdma-core 2/5] cbuild: Properly create tarball for SuSE

Quoted 11 lines · Leon Romanovsky
Quoted 6 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky
Quoted 2 lines

Are you running cbuild as root or something? What is the docker command the script uses?

For me too, it doesn't reproduce, most probably Alaa run it as a root.

Okay lets instead ban running cbuild as root?

I'm fine with that, but lets wait till Sunday before dropping this patch, so Alaa will have chance to respond.

Thanks

Hi,

Correct, I saw this issue when I tested the build using 'root' user. I'll drop this patch.

Regards,
Alaa

Quoted 1 line
Quoted 1 line

Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#34 lore raw

PATCH 3/5 travis: Add RedHat and SuSE rpmbuild support

In reply to a message not in the archive

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

Provide a new script for testing rpmbuild under RedHat and SuSE environments which validates both of the suse/rdma-core.spec and redhat/rdma-core.spec specfiles.

The script performs the RPM package build test by utilizing the existing cbuild tool.

---
 .travis.yml                 |  4 ++++
 buildlib/package-build-test | 15 +++++++++++++++
 2 files changed, 19 insertions(+)
 create mode 100755 buildlib/package-build-test
.travis.yml +4 -0
index c190a241..4d7b0cc0 100644
@@ -42,6 +42,9 @@ addons:
       - gcc-multilib
       - lib32gcc-7-dev
 
+service:
+    - docker
+
 before_script:
   - export LATEST_GCC_LINARO_URL=`wget -qO - https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/ | grep -o '<a href=['"'"'"].*gcc-linaro-.*x86_64_aarch64-linux-gnu.tar.xz['"'"'"]'  |  sed -e 's/^<a href=["'"'"']//' -e 's/["'"'"']$//'`
   - export LATEST_GCC_LINARO_TAR=`basename $LATEST_GCC_LINARO_URL`
@@ -51,6 +54,7 @@ before_script:
 script:
   - buildlib/travis-build
   - buildlib/travis-checkpatch
+  - buildlib/package-build-test
   - buildlib/github-release
 deploy:
   # Deploy assets to Github releases
buildlib/package-build-test new file +15 -0
new file mode 100755
index 00000000..d767f61f
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# fail on errors
+set -e
+# be verbose
+set -x
+
+for OS in centos7 opensuse-42.2
+do
+	echo
+	echo "Checking package build for ${OS} ...."
+	echo
+	buildlib/cbuild build-images ${OS}
+	buildlib/cbuild pkg ${OS}
+done

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102165556.22105-4-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#36 lore raw

Re: [PATCH rdma-core 3/5] travis: Add RedHat and SuSE rpmbuild support

Quoted 8 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

Provide a new script for testing rpmbuild under RedHat and SuSE environments which validates both of the suse/rdma-core.spec and redhat/rdma-core.spec specfiles.

The script performs the RPM package build test by utilizing the existing cbuild tool.

This breaks cbuild pkg travis - we should not attempt to build using docker when run outside travis:

$ buildlib/cbuild pkg travis
[..]
+ for OS in centos7 opensuse-42.2 artful
+ echo
+ echo 'Checking package build for centos7 ....'
+ echo
+ buildlib/cbuild build-images centos7

Checking package build for centos7 ....

Traceback (most recent call last):
File "buildlib/cbuild", line 54, in <module>
import yaml
ImportError: No module named yaml
Traceback (most recent call last):
File "buildlib/cbuild", line 802, in <module>

    args.func(args);
  File "buildlib/cbuild", line 631, in cmd_pkg
    run_travis_build(args,env);
  File "buildlib/cbuild", line 621, in run_travis_build
    docker_cmd(args,*opts);
  File "buildlib/cbuild", line 371, in docker_cmd
    return subprocess.check_call(["sudo","docker"] + cmd);

File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', 'docker', 'run', '--read-only', '--rm=true', '-v', '/tmp/tmpxhYvXb:/home/travis/build', '-v', '/home/jgg/work/plumbing/.git:/home/travis/build/src/.git:ro', '-w', '/home/travis/build/src', '-u', '2009', '-e', 'TRAVIS_COMMIT_RANGE=41e755a28d97c1965f03b1c6ce6dd7b63def424d..HEAD', '-e', 'TRAVIS_BRANCH=41e755a28d97c1965f03b1c6ce6dd7b63def424d', '-e', 'TRAVIS_EVENT_TYPE=pull_request', '-e', 'HOME=/home/travis', '-e', 'TMPDIR=/home/travis/build/tmp', 'build-rdma-core/travis', '/bin/bash', '/home/travis/build/go.sh']' returned non-zero exit status 1

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102173123.GQ18874-uk2M96/[email protected]

#38 lore raw

Re: [PATCH rdma-core 3/5] travis: Add RedHat and SuSE rpmbuild support

Le 02/11/2017 à 18:31, Jason Gunthorpe a écrit :

Quoted 11 lines · Leon Romanovsky
Quoted 8 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

Provide a new script for testing rpmbuild under RedHat and SuSE environments which validates both of the suse/rdma-core.spec and redhat/rdma-core.spec specfiles.

The script performs the RPM package build test by utilizing the existing cbuild tool.

This breaks cbuild pkg travis - we should not attempt to build using docker when run outside travis:

I'm guessing you meant *in*side travis ?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 8a65f42d-01d4-6c4a-1bed-b1989cdb9e70-l3A5Bk7waGM@public.gmane.org

#40 lore raw

Re: [PATCH rdma-core 3/5] travis: Add RedHat and SuSE rpmbuild support

Quoted 10 lines · Nicolas Morey-Chaisemartin

Le 02/11/2017 à 18:31, Jason Gunthorpe a écrit :

Quoted 7 lines · Leon Romanovsky
Quoted 6 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

Provide a new script for testing rpmbuild under RedHat and SuSE environments which validates both of the suse/rdma-core.spec and redhat/rdma-core.spec specfiles.

Quoted 6 lines
Quoted 4 lines
Quoted 2 lines

The script performs the RPM package build test by utilizing the existing cbuild tool.

This breaks cbuild pkg travis - we should not attempt to build using docker when run outside travis:

I'm guessing you meant *in*side travis ?

No, outside.. This point of these patches is to run docker inside the travis environment, my comment that when not running under real travis we should not try to invoke docker.

Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102194420.GT18874-uk2M96/[email protected]

#42 lore raw

Re: [PATCH rdma-core 3/5] travis: Add RedHat and SuSE rpmbuild support

Quoted 10 lines · Jason Gunthorpe
Quoted 9 lines · Nicolas Morey-Chaisemartin

Le 02/11/2017 à 18:31, Jason Gunthorpe a écrit :

Quoted 7 lines · Leon Romanovsky
Quoted 6 lines

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

Provide a new script for testing rpmbuild under RedHat and SuSE environments which validates both of the suse/rdma-core.spec and redhat/rdma-core.spec specfiles.

Quoted 8 lines
Quoted 5 lines
Quoted 4 lines
Quoted 2 lines

The script performs the RPM package build test by utilizing the existing cbuild tool.

This breaks cbuild pkg travis - we should not attempt to build using docker when run outside travis:

I'm guessing you meant *in*side travis ?

No, outside.. This point of these patches is to run docker inside the travis environment, my comment that when not running under real travis we should not try to invoke docker.

Thanks Jason, I will fix it.

Regards,
Alaa

Quoted 6 lines

Jason

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#43 lore raw

PATCH 4/5 buildlib/cbuild: Add Ubuntu artful

In reply to a message not in the archive

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This patch adds Ubuntu17.10 artful, that comes with GCC 7

---
 buildlib/cbuild | 7 +++++++
 1 file changed, 7 insertions(+)
buildlib/cbuild +7 -0
index 098bec9a..1ddc72c4 100755
@@ -181,6 +181,12 @@ class xenial(APTEnvironment):
     name = "ubuntu-16.04";
     aliases = {"xenial"};
 
+class artful(APTEnvironment):
+    docker_parent = "ubuntu:17.10"
+    pkgs = xenial.pkgs
+    name = "ubuntu-17.10";
+    aliases = {"artful"};
+
 class jessie(APTEnvironment):
     docker_parent = "debian:8"
     pkgs = xenial.pkgs;
@@ -325,6 +331,7 @@ environments = [centos6(),
                 travis(),
                 trusty(),
                 xenial(),
+                artful(),
                 jessie(),
                 stretch(),
                 fc26(),

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#44 lore raw

PATCH 5/5 travis: Test Debian packaging under Artful container

In reply to a message not in the archive

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

---
 buildlib/package-build-test |  2 +-
 buildlib/travis-build       | 14 --------------
 2 files changed, 1 insertion(+), 15 deletions(-)
buildlib/package-build-test +1 -1
index d767f61f..b9624b31 100755
@@ -5,7 +5,7 @@ set -e
 # be verbose
 set -x
 
-for OS in centos7 opensuse-42.2
+for OS in centos7 opensuse-42.2 artful
 do
 	echo
 	echo "Checking package build for ${OS} ...."
buildlib/travis-build +0 -14
index bf86baa7..1a88dff2 100755
@@ -45,17 +45,3 @@ rm CMakeCache.txt
 CC=clang-4.0 CFLAGS=-Werror cmake -GNinja ..
 ninja
 cp ../util/udma_barrier.h.old ../util/udma_barrier.h
-
-# Finally run through gcc-7 64 bit through the debian packaging This gives a
-# good clue if patches are changing packaging related things, the RPM stuff
-# will have to be audited by hand.
-
-# When running cmake through debian/rules it is hard to set -Werror,
-# instead force it on by changing the CMakeLists.txt
-cd ..
-echo 'set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")' >> buildlib/RDMA_EnableCStd.cmake
-sed -i -e 's/-DCMAKE_BUILD_TYPE=Release//g' debian/rules
-sed -i -e 's/ninja \(.*\)-v/ninja \1/g' debian/rules
-
-CC=gcc-7 debian/rules build
-fakeroot debian/rules binary

--
2.14.2

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102165556.22105-6-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org

#46 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

- ubuntu-toolchain-r-test

and

- gcc-7

Should be removed from the .travis.yml as well in this patch.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102170554.GO18874-uk2M96/[email protected]

#48 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 13 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

Quoted 7 lines

- ubuntu-toolchain-r-test

and

- gcc-7

Should be removed from the .travis.yml as well in this patch.

It looks like we can remove debhelper too.

Quoted 2 lines

Jason

#49 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

In reply to a message not in the archive
Quoted 13 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

Quoted 7 lines

- ubuntu-toolchain-r-test

and

- gcc-7

Should be removed from the .travis.yml as well in this patch.

lib32gcc-7-dev depends on gcc-7 and it depends on
ubuntu-toolchain-r-test.

Thanks

Quoted 2 lines

Jason

A message that is not in the archive (sent off-list or not yet received): 20171102173255.GC16127-U/[email protected]

#51 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 16 lines · Leon Romanovsky
Quoted 15 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

- ubuntu-toolchain-r-test

Quoted 8 lines
Quoted 5 lines

and

- gcc-7

Should be removed from the .travis.yml as well in this patch.

lib32gcc-7-dev depends on gcc-7 and it depends on
ubuntu-toolchain-r-test.

We can probably use the 32 bit packages that come with trusty..

Arguably though it might be better to test with 32 bit gcc-latest..

Even better would be to do 32 bit test under docker where we could make 32 bit cross work 100% ..

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102175522.GR18874-uk2M96/[email protected]

#53 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 16 lines · Jason Gunthorpe
Quoted 15 lines · Leon Romanovsky
Quoted 14 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

- ubuntu-toolchain-r-test

Quoted 8 lines
Quoted 7 lines
Quoted 5 lines

and

- gcc-7

Should be removed from the .travis.yml as well in this patch.

lib32gcc-7-dev depends on gcc-7 and it depends on
ubuntu-toolchain-r-test.

We can probably use the 32 bit packages that come with trusty..

OK, I'll remove GCC-7 and deb helpers installations from travis.yml.

Regards,
Alaa

Quoted 10 lines

Arguably though it might be better to test with 32 bit gcc-latest..

Even better would be to do 32 bit test under docker where we could make 32 bit cross work 100% ..

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 2e2d65c2-845e-13ad-1022-a859b2fef6a7-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org

#55 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 22 lines · Alaa Hleihel
Quoted 20 lines · Jason Gunthorpe
Quoted 19 lines · Leon Romanovsky
Quoted 18 lines · Jason Gunthorpe
Quoted 3 lines · Leon Romanovsky

From: Alaa Hleihel <alaa-VPRAkNaXOzVWk0Htik3J/[email protected]>

This will be compiled with GCC 7 coming with Ubuntu Artful

Hurm. This point of this is to test the latest gcc, not just the GCC in a distro.

We should be testing gcc-8 here, but it isn't available for trusty right now. :(

Then the lines:

- ubuntu-toolchain-r-test

and

- gcc-7

Quoted 8 lines
Quoted 4 lines
Quoted 3 lines
Quoted 1 line

Should be removed from the .travis.yml as well in this patch.

lib32gcc-7-dev depends on gcc-7 and it depends on
ubuntu-toolchain-r-test.

We can probably use the 32 bit packages that come with trusty..

OK, I'll remove GCC-7 and deb helpers installations from travis.yml.

Regards,
Alaa

There are issues using the trusty 32 bit packages (I'm getting #error "SSE instruction set not enabled"). So, for now I will only cleanup the unnecessary deb helpers from travis.yml .

+cd ../build32
+CFLAGS='-Werror -m32'
+cmake -GNinja .. -DENABLE_RESOLVE_NEIGH=0
-- The C compiler identification is GNU 4.8.5
...
...
...
-- Build files have been written to: /home/travis/build/alaahl/rdma-core/build32
+ninja
[11/183] Building C object util/CMakeFiles/rdma_util.dir/mmio.c.o
FAILED: /usr/bin/gcc   -Werror -m32  -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -Wformat=2 -Wshadow -Wno-missing-field-initializers -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -O2 -g  -Iinclude    -std=gnu11 -MMD -MT util/CMakeFiles/rdma_util.dir/mmio.c.o -MF util/CMakeFiles/rdma_util.dir/mmio.c.o.d -o util/CMakeFiles/rdma_util.dir/mmio.c.o   -c ../util/mmio.c In file included from ../util/mmio.c:37:0:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:31:3: error: #error "SSE instruction set not enabled"

 # error "SSE instruction set not enabled"
   ^
../util/mmio.c: In function ‘sse_mmio_write64_be’:
../util/mmio.c:45:2: error: unknown type name ‘__m128’
  __m128 tmp = {};
  ^
../util/mmio.c:45:2: error: empty scalar initializer
../util/mmio.c:45:2: error: (near initialization for ‘tmp’)
../util/mmio.c:46:2: error: implicit declaration of function ‘_mm_loadl_pi’ [-Werror=implicit-function-declaration]
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
  ^
../util/mmio.c:46:35: error: ‘__m64’ undeclared (first use in this function)
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
                                   ^
../util/mmio.c:46:35: note: each undeclared identifier is reported only once for each function it appears in
../util/mmio.c:46:42: error: expected expression before ‘)’ token
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
                                          ^
../util/mmio.c:47:2: error: implicit declaration of function ‘_mm_storel_pi’ [-Werror=implicit-function-declaration]
  _mm_storel_pi((__m64 *)addr,tmp);
  ^
../util/mmio.c:47:24: error: expected expression before ‘)’ token
  _mm_storel_pi((__m64 *)addr,tmp);
                        ^
cc1: all warnings being treated as errors
[11/183] Building C object util/CMakeFiles/rdma_util_pic.dir/mmio.c.o
FAILED: /usr/bin/gcc   -Werror -m32  -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -Wformat=2 -Wshadow -Wno-missing-field-initializers -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -O2 -g  -fPIC -Iinclude    -std=gnu11 -MMD -MT util/CMakeFiles/rdma_util_pic.dir/mmio.c.o -MF util/CMakeFiles/rdma_util_pic.dir/mmio.c.o.d -o util/CMakeFiles/rdma_util_pic.dir/mmio.c.o   -c ../util/mmio.c
In file included from ../util/mmio.c:37:0:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/xmmintrin.h:31:3: error: #error "SSE instruction set not enabled"
 # error "SSE instruction set not enabled"
   ^
../util/mmio.c: In function ‘sse_mmio_write64_be’:
../util/mmio.c:45:2: error: unknown type name ‘__m128’
  __m128 tmp = {};
  ^
../util/mmio.c:45:2: error: empty scalar initializer
../util/mmio.c:45:2: error: (near initialization for ‘tmp’)
../util/mmio.c:46:2: error: implicit declaration of function ‘_mm_loadl_pi’ [-Werror=implicit-function-declaration]
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
  ^
../util/mmio.c:46:35: error: ‘__m64’ undeclared (first use in this function)
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
                                   ^
../util/mmio.c:46:35: note: each undeclared identifier is reported only once for each function it appears in
../util/mmio.c:46:42: error: expected expression before ‘)’ token
  tmp = _mm_loadl_pi(tmp, (__force __m64 *)&val);
                                          ^
../util/mmio.c:47:2: error: implicit declaration of function ‘_mm_storel_pi’ [-Werror=implicit-function-declaration]
  _mm_storel_pi((__m64 *)addr,tmp);
  ^
../util/mmio.c:47:24: error: expected expression before ‘)’ token
  _mm_storel_pi((__m64 *)addr,tmp);
                        ^
cc1: all warnings being treated as errors
[11/183] Building C object libibverbs/...keFiles/ibverbs_tools.dir/pingpong.c.o
ninja: build stopped: subcommand failed.
Quoted 10 lines
Quoted 10 lines

Arguably though it might be better to test with 32 bit gcc-latest..

Even better would be to do 32 bit test under docker where we could make 32 bit cross work 100% ..

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): f6a250cd-dd4f-5dbe-4b1d-53f2b1f87b32-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb@public.gmane.org

#57 lore raw

Re: [PATCH rdma-core 5/5] travis: Test Debian packaging under Artful container

Quoted 3 lines · Alaa Hleihel

There are issues using the trusty 32 bit packages (I'm getting #error "SSE instruction set not enabled"). So, for now I will only cleanup the unnecessary deb helpers from travis.yml .

Huh, that is a build bug in rdma-core.

Looks like this stuff in mmio.c should be protected by a #ifdef __SSE__

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

#58 lore raw
In reply to a message not in the archive
Quoted 4 lines · Leon Romanovsky

This patchset comes from Alaa and he adds to Travis CI ability to reuse our cbuild script to build various packages.

The PR is https://github.com/linux-rdma/rdma-core/pull/241

Not to say we shouldn't apply this PR, but if we go down this road then we should also ultimately switch to circleci since it has actual native support for docker and crucially support for docker image caching.

With that each of the docker images could be run in parallel instead of sequentially and it would resolve our general issues with having to use the ancient trusty baseline that travis uses.

AFAIK the sticking point is that we need to have a public docker container registry, preferably co-located with circle ci's build workers..

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

A message that is not in the archive (sent off-list or not yet received): 20171102211851.GV18874-uk2M96/[email protected]

#60 lore raw
Quoted 10 lines · Jason Gunthorpe
Quoted 4 lines · Leon Romanovsky

This patchset comes from Alaa and he adds to Travis CI ability to reuse our cbuild script to build various packages.

The PR is https://github.com/linux-rdma/rdma-core/pull/241

Not to say we shouldn't apply this PR, but if we go down this road then we should also ultimately switch to circleci since it has actual native support for docker and crucially support for docker image caching.

I think that we are pushing the rdma-core into that direction and it is a matter of time when we will be there. As a first step we need to polish this PR and merge it, after that we should convert all our tests to run in containers, so the transition will be smooth.

Quoted 10 lines

With that each of the docker images could be run in parallel instead of sequentially and it would resolve our general issues with having to use the ancient trusty baseline that travis uses.

AFAIK the sticking point is that we need to have a public docker container registry, preferably co-located with circle ci's build workers..

Jason