Package violate packaging guidelines( https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries and https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries ) as it contains bundled libraries which are used during package build(removing 3rdparty dir in %prep breaks build in %build phase): tinyMT(probably not a big deal as MT is approved to be bundled, but still should be brought up to FPC https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions , also breaks build on s390(x)) libatomic_ops uthash libuv dyncall libtommath 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttypes build passes without them. Please look in to it.
rpmls moarvm-debuginfo-0.2014.04-3.fc20.x86_64.rpm returns: ... drwxr-xr-x /usr/src/debug/MoarVM-2014.04 drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncall -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncall/dyncall.h -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncall/dyncall_types.h -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncall/dyncall_value.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncallback -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncallback/dyncall_args.h -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dyncallback/dyncall_callback.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dynload -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/dyncall/dynload/dynload.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/generalize-small.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/gcc -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/gcc/x86.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/loadstore -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/loadstore/atomic_load.h -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/loadstore/atomic_store.h -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/ordered_except_wr.h -rwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libatomic_ops/src/atomic_ops/sysdeps/read_ordered.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libtommath -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/libtommath/bn_mp_get_long.c -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/libtommath/bn_mp_set_long.c -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/libtommath/tommath.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libuv drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/libuv/include -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/libuv/include/uv-unix.h -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/libuv/include/uv.h drwxr-xr-x /usr/src/debug/MoarVM-2014.04/3rdparty/tinymt -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/tinymt/tinymt64.c -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/tinymt/tinymt64.h -rw-r--r-- /usr/src/debug/MoarVM-2014.04/3rdparty/uthash.h ... so even for libs, that are set as BuildRequires, some bundled files are used
It finally sucks. Gerd, now you should understand me why I didn't want to approve it at the time. For uthash, I don't consider it as a bundled library, because the bundled library policy is unclear to me, you can check the mail thread on devel. uthash is a header only library and the one shipped in moarvm is not the same as the current version in Fedora, and moarvm has done some modifications on it. I will track this bug and get these craps out ASAP.
The moarvm package do not bundle: 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttypes During the review special options was added with upstream and they are used at the configuration: %{__perl} Configure.pl --prefix=%{_usr} --has-libtommath --use-readline \ --has-sha --has-libuv --has-libatomic_ops The directories 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttype are only not deleted before the build. Only uthash.h is really used wich is not the same as in Fedora.
(In reply to Gerd Pokorra from comment #3) > The moarvm package do not bundle: > > 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttypes > > During the review special options was added with upstream and they are used > at the configuration: > > %{__perl} Configure.pl --prefix=%{_usr} --has-libtommath --use-readline \ > --has-sha --has-libuv --has-libatomic_ops but the buildsystem is not 100% correct so some of the bundled files still are used, as you can see in my comment #1, that's why is recommended to remove the unbundled files before build > The directories 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttype are only > not deleted before the build. > > Only uthash.h is really used wich is not the same as in Fedora.
(In reply to Dan Horák from comment #4) > but the buildsystem is not 100% correct so some of the bundled files still > are used, as you can see in my comment #1, that's why is recommended to > remove the unbundled files before build Okay! I will try a build with first removing the files excluded uthash.h.
The build works if I add the line: rm -r 3rdparty/sha1 3rdparty/linenoise 3rdparty/libtommath To my surprise it do not build if I remove more. For example: 3rdparty/libatomic_ops I will look daeper for the reason, may be I need some days to find a solution, because I am working also on other things.
To libatomic_ops: I forgot to add the RuildRequires libatomic_ops-devel. It is corrected. MoarVM rebuilds are done for f21 and f22 (rawhide): f21: https://koji.fedoraproject.org/koji/buildinfo?buildID=569986 f22: https://koji.fedoraproject.org/koji/buildinfo?buildID=569984 I also add in the specfile the line: rm -r 3rdparty/sha1 3rdparty/linenoise 3rdparty/libatomic_ops 3rdparty/msinttypes In Fedora 20 the libatomic_ops version is: 7.2d In MoarVM the bundled libatomic_ops version is: 7.3alpha3 So there is a problem to do this in Fedora 20. I ask for updating libatomic_ops in Fedora 20 but the package maintainers have reasons not to do this. Next I will have a deeper look to libtommath and MoarVM. I hope I will find some time for it soon.
moarvm-0.2014.04-5.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/moarvm-0.2014.04-5.fc21
moarvm-0.2014.04-4.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/moarvm-0.2014.04-4.fc20
Remove of libtommath source files is added. The rebuilds are at: F20: http://koji.fedoraproject.org/koji/taskinfo?taskID=7473745 F21: http://koji.fedoraproject.org/koji/taskinfo?taskID=7473645 F22: http://koji.fedoraproject.org/koji/taskinfo?taskID=7473588 Now there are 3rdparth source files are removed as much as possible. This is added to the specfils: # make sure to not bundle this rm -r 3rdparty/sha1 3rdparty/linenoise 3rdparty/msinttypes %if 0%{?fedora} > 20 rm -r 3rdparty/libatomic_ops %endif # # The upstream libtommath doesn't have the conversion from and to # float/double that MoarVM needs. bn_mp_(get|set)_long.c are extentions of the # origin libtommath source. The header files are needed to build. rm `find 3rdparty/libtommath -type f ! -name '*long.c' -a ! -name '*.h'` I did not found the software dnycall and tinymt in Fedora 20. So this software needed to be included. Let me know if I am wrong.
moarvm-0.2014.04-4.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
moarvm-0.2014.04-5.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.