Bug 1494527 - glusterfs fails to build twice in a row
Summary: glusterfs fails to build twice in a row
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: build
Version: 3.12
Hardware: All
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Niels de Vos
QA Contact:
URL:
Whiteboard:
Depends On: 1501317
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-09-22 12:30 UTC by Patrick Matthäi
Modified: 2017-11-29 05:52 UTC (History)
3 users (show)

Fixed In Version: glusterfs-glusterfs-3.12.3
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1501317 (view as bug list)
Environment:
Last Closed: 2017-11-29 05:52:17 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Debian BTS 876359 0 None None None 2017-09-22 12:30:44 UTC

Description Patrick Matthäi 2017-09-22 12:30:44 UTC
Description of problem:


Packages should be able to build twice in a row, so that make clean targets make the original source realy clean again.


How reproducible:
Build it twice in a row

Currently in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876359 it is reported that it fails with:

There are at least .pyc files left around:

  libglusterfs/src/generator.pyc

generated XDR symlinks:

  rpc/xdr/gen/*.x

and unexpected modifications to shipped files:

   tests/basic/fuse/Makefile
   tests/basic/gfapi/Makefile

After all those are removed, the build still fails due to the missing
Makefile.in files that have been removed somewhere. Running:

  $ autoreconf -f -i

makes things worse as then we get tons of modified Makefile.in file
changes.  I've not looked further after this.


pmatthaei:
I also have to remove "libglusterfs/src/gf-error-codes.h"

Comment 1 Worker Ant 2017-10-12 09:04:52 UTC
REVIEW: https://review.gluster.org/18505 (build: make it possible to build cleanly 2x in a row) posted (#1) for review on master by Niels de Vos (ndevos)

Comment 2 Niels de Vos 2017-10-12 11:13:49 UTC
I think libglusterfs/src/gf-error-codes.h might only part of the experimental branch, there are no references to it in the master branch or any of the maintained releases.

Comment 3 Worker Ant 2017-10-16 10:30:12 UTC
REVIEW: https://review.gluster.org/18529 (build: make it possible to build cleanly 2x in a row) posted (#1) for review on release-3.12 by Niels de Vos (ndevos)

Comment 4 Worker Ant 2017-10-25 11:40:24 UTC
COMMIT: https://review.gluster.org/18529 committed in release-3.12 by jiffin tony Thottan (jthottan) 
------
commit 6d10d0e10cc78560d68f4a81024709abc9e0fdaf
Author: Niels de Vos <ndevos>
Date:   Tue Oct 10 13:23:50 2017 +0200

    build: make it possible to build cleanly 2x in a row
    
    'make clean' does not cleanup everything, and some of the files get
    cleaned too eagerly. Several files are being packaged in a 'make dist'
    tarball, that get rebuild each time anyway.
    
    Specifically, this change prevents
     - libglusterfs/src/generator.pyc from laying around
     - keeping rpc/xdr/gen/*.x symlinks
     - modifying tests/basic/{fuse,gfapi}/Makefile each run
     - including tests/env.rc and events/src/eventtypes.py in the tarball
    
    Cherry picked from commit a413c6353dbfff5221ea020ff8e1475d5ee17a81:
    > Change-Id: I774dd1abf3a9d3b6a89b938cf6ee7d7792c59a82
    > BUG: 1501317
    > Reported-by: Patrick Matthäi <pmatthaei>
    > Signed-off-by: Niels de Vos <ndevos>
    
    Change-Id: I774dd1abf3a9d3b6a89b938cf6ee7d7792c59a82
    BUG: 1494527
    Reported-by: Patrick Matthäi <pmatthaei>
    Signed-off-by: Niels de Vos <ndevos>

Comment 5 Patrick Matthäi 2017-11-06 11:24:27 UTC
With 3.12.2 I get:

dpkg-source: error: cannot represent change to rpc/xdr/gen/glusterfs3-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/glusterfs3-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/cli1-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/cli1-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/nsm-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/nsm-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/acl3-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/acl3-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/portmap-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/portmap-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/glusterfs-fops.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/glusterfs-fops.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/nlm4-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/nlm4-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/rpc-common-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/rpc-common-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/glusterd1-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/glusterd1-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/mount3udp.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/mount3udp.x
dpkg-source: error:   old version is nonexistent
dpkg-source: error: cannot represent change to rpc/xdr/gen/changelog-xdr.x:
dpkg-source: error:   new version is symlink to ../../../rpc/xdr/src/changelog-xdr.x
dpkg-source: error:   old version is nonexistent
dpkg-source: warning: ignoring deletion of file geo-replication/syncdaemon/conf.py, use --include-removal to override
dpkg-source: warning: ignoring deletion of file xlators/features/glupy/src/__init__.py, use --include-removal to override
dpkg-source: warning: ignoring deletion of file tests/env.rc, use --include-removal to override
dpkg-source: warning: ignoring deletion of file events/src/eventtypes.py, use --include-removal to override
dpkg-source: warning: ignoring deletion of file events/src/eventsapiconf.py, use --include-removal to override
dpkg-source: warning: ignoring deletion of file contrib/umountd/Makefile, use --include-removal to override
dpkg-source: warning: ignoring deletion of file contrib/umountd/Makefile.in, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/glusterd.vol, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glusterd-SuSE, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glusterd.plist, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glusterd-Debian, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glusterd-Redhat, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glustereventsd-FreeBSD, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glustereventsd-Redhat, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glustereventsd-Debian, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/init.d/glusterd-FreeBSD, use --include-removal to override
dpkg-source: warning: ignoring deletion of file extras/snap_scheduler/conf.py, use --include-removal to override
dpkg-source: warning: ignoring deletion of file tools/glusterfind/src/tool.conf, use --include-removal to override
dpkg-source: error: cannot represent change to libglusterfs/src/generator.pyc: binary file contents changed
dpkg-source: error: add libglusterfs/src/generator.pyc in debian/source/include-binaries if you want to store the modified binary in the debian tarball
dpkg-source: error: unrepresentable changes to source
dpkg-buildpackage: error: dpkg-source -b glusterfs-3.12.2 subprocess returned exit status 2

Comment 6 Jiffin 2017-11-29 05:52:17 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-glusterfs-3.12.3, please open a new bug report.

glusterfs-glusterfs-3.12.3 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/gluster-devel/2017-November/053983.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.