This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 750394 - Review Request: dmtcp - Checkpoint/Restart functionality for Linux processes
Review Request: dmtcp - Checkpoint/Restart functionality for Linux processes
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Orion Poplawski
Fedora Extras Quality Assurance
:
: 676335 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-10-31 19:28 EDT by Neal Becker
Modified: 2013-07-07 07:29 EDT (History)
9 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-05-21 11:58:00 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
orion: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Neal Becker 2011-10-31 19:28:56 EDT
Spec URL: http://nbecker.fedorapeople.org/dmtcp.spec
SRPM URL: http://nbecker.fedorapeople.org/dmtcp-1.2.3-3.svn1321.fc15.src.rpm
Description: 
DMTCP (Distributed MultiThreaded Checkpointing) is a tool to transparently
checkpointing the state of an arbitrary group of programs including
multi-threaded and distributed computations.  It operates directly on the user
binary executable, with no Linux kernel modules or other kernel mods.

Among the applications supported by DMTCP are OpenMPI, MATLAB, Python, Perl,
and many programming languages and shell scripting languages.  DMTCP also
supports GNU screen sessions, including vim/cscope and emacs. With the use of
TightVNC, it can also checkpoint and restart X-Windows applications, as long as
they do not use extensions (e.g.: no OpenGL, no video).
Comment 1 Neal Becker 2011-10-31 19:30:01 EDT
*** Bug 676335 has been marked as a duplicate of this bug. ***
Comment 2 Kapil Arya 2012-02-09 14:21:34 EST
I have updated the SRPM and SPEC file to reflect the newer upstream release. Here are the URLs:
Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.4-1.svn1449.fc16.src.rpm

BTW, any idea on how long before this package gets accepted?

Thanks,
Kapil
Comment 3 Timothy St. Clair 2012-02-09 14:34:00 EST
Kapil have you run through the checklist?  (Do you have a sponsor, etc.)

http://fedoraproject.org/wiki/PackageMaintainers/Join
Comment 4 Kapil Arya 2012-02-09 14:56:01 EST
I think Neal is going to be the sponsor :).

Neal, can you please confirm this?

I am going through the checklist now. Will update once I am done.
Comment 5 Kapil Arya 2012-02-13 03:10:21 EST
Hi Tim,

While I was going through the checklist, I realized that I hadn't built the package using koji. I tried that and as it turns out, one of the tests from the dmtcp test suite fails. I tried building it locally on fedora 16 and it succeeded. But it failed, when I tried building it using koji with the following commandline:
 koji build --arch-override=x86_64  --scratch f17 ~/rpmbuild/SRPMS/dmtcp-1.2.4-1.fc16.src.rpm

Is there a way to reproduce the failure locally so that I can debug and fix it?

Thanks,
Kapil

PS: Here are the links to the latest SRPM and spec file:
Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.4-1.fc16.src.rpm
Comment 6 Kapil Arya 2012-02-13 04:34:00 EST
I just found the bug. I will work on it tomorrow and will post the updates here.
Comment 7 Timothy St. Clair 2012-02-13 09:35:35 EST
Once you've completed a build and have everything else on the checklist completed we can see if we can get this into f17.  

From then on out feel free to ping folks on IRC -> distcomp #fedora-devel, I hang out there too.
Comment 8 Kapil Arya 2012-02-13 23:34:10 EST
I have now gone through the checklist up until the part where it says to find a sponsor :) (except for the _introduce yourself_ part).

The package now builds fine with koji on rawhide and f17 targets. Here are the links to the spec and srpm files:
Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.4-1.fc16.src.rpm

I guess, once the package is APPROVED, I can proceed towards membership sponsorship.

Please let me know if I need to do anything else.

Thanks.
Comment 9 Kapil Arya 2012-02-13 23:36:08 EST
PS: Here are the links to the koji tasks for rawhide and f17, in case they are needed:
f17: http://koji.fedoraproject.org/koji/taskinfo?taskID=3789029
rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=3789015
Comment 10 Kapil Arya 2012-02-15 15:12:06 EST
Any updates yet?? :)h
Comment 11 Timothy St. Clair 2012-02-15 16:36:48 EST
please join IRC distcomp #fedora-devel and ping for sponsor
Comment 12 Orion Poplawski 2012-02-15 18:29:19 EST
rpmlint:

dmtcp-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/dmtcp-1.2.4/dmtcp/src/glibcsystem.cpp
dmtcp-debuginfo.i686: E: incorrect-fsf-address /usr/src/debug/dmtcp-1.2.4/mtcp/mtcp_sigaction.c

dmtcp.i686: E: statically-linked-binary /usr/bin/mtcp_restart


libdmtcpaware.i686: W: one-line-command-in-%post /sbin/ldconfig
libdmtcpaware.i686: W: one-line-command-in-%postun /sbin/ldconfig
libmtcp.i686: W: one-line-command-in-%post /sbin/ldconfig
libmtcp.i686: W: one-line-command-in-%postun /sbin/ldconfig

Use: %post -p /sbin/ldconfig , and actually use /usr/sbin/ldconfig I suppose for F17+ ?

libdmtcpaware-static.i686: W: spelling-error Summary(en_US) devloper -> developer, developed, overdevelop

libmtcp.i686: E: shlib-with-non-pic-code /usr/lib/libmtcp.so.1.0.0

libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_sys_errno
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 dmtcp_exists
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_sigaction_entry
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_dump_tls
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_no
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_readmapsline
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_get_thread_sysinfo
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_readchar
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_readdec
libmtcp.i686: W: undefined-non-weak-symbol /usr/lib/libmtcp.so.1.0.0 mtcp_restore_argv_start_addr

Missing library linkage?

dmtcp.spec:8: W: mixed-use-of-spaces-and-tabs (spaces: line 8, tab: line 1)

Looks like a space after Source0:
Comment 13 Orion Poplawski 2012-02-15 18:32:49 EST
That was with Kapil's latest spec, but I think we need to let Neal drive here now.
Comment 14 Kapil Arya 2012-02-15 19:46:14 EST
Thanks Orion!

I fixed the ldconfig warning, spelling error and mixed-use-of-spaces-and-tabs in the latest spec file along with the -fpic issue for libmtcp.so.

The unresolved issues are:
1. static mtcp_restart: Unfortunately this binary has to be static :( and so we need to override that error message.

2. I don't see the undefined-non-weak-symbol warning on x64. nm on libmtcp1.so yielded no undefined symbols. May be it's specific to 32-bit. I will look into it further.

3. Finally, I don't know what to do with incorrect-fsf-address. The address listed in those files is:
 You should have received a copy of the GNU Lesser General Public                                                      
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  */

Do you know what should I change in it?
Comment 15 Orion Poplawski 2012-02-15 23:55:05 EST
Why does mtcp_restart have to be static?  We may need to apply for an exception there.

The weak symbol warning was on F16 as well, which might be a difference too.

As for the FSF address, that's interesting.  Just recently they were publishing a newer address in their preamble, but now they just seem to mention their website, see http://www.gnu.org/licenses/gpl-howto.html
Comment 16 Kapil Arya 2012-02-16 00:48:11 EST
mtcp_restart plays tricks with memory maps and earlier ASLR/VDSO/heap used to come in the way and the solution was to make it static. I just checked and it seems like we can get away with a non-static mtcp_restart but I need to do some wider testing to confirm.

For weak symbols, I tested on F16 x86_64 and it gave no such warnings and so I will try to test it on a 32-bit fedora to find out the issue.

As far as FSF address goes, the file generating errors were copied from glibc and so I am not sure if I should update the address in them, although it should be okay.
Comment 17 Kapil Arya 2012-02-21 02:14:17 EST
Unfortunately, we do need mtcp_restart to be static so I guess we should apply for an exception.

For the weak symbols, could you tell me how to reproduce the warnings? I ran the rpmlint on the 32-bit rpm and it didn't give me any such warnings.
Comment 18 Orion Poplawski 2012-02-21 12:33:04 EST
FESCO ticket https://fedorahosted.org/fesco/ticket/807

Nothing special for the weak symbols.  Built locally and installed and then ran "rpmlint libmtcp" (actually, rpmlint '*mtcp*').

Link command was:
gcc -shared -Wl,-soname,libmtcp.so.1 -T mtcp.t -Wl,-Map,mtcp.map \
  -Wl,--no-gc-sections -Wl,--no-strip-discarded \
  -o libmtcp.so.1.0.0 mtcp.o mtcp_restart_nolibc.o mtcp_maybebpt.o mtcp_printf.o mtcp_util.o mtcp
_safemmap.o mtcp_safe_open.o mtcp_state.o mtcp_check_vdso.o mtcp_sigaction.o mtcp_fastckpt.o -ldl
 -lpthread
Comment 19 Kapil Arya 2012-02-21 14:15:10 EST
Thanks for opening the ticket, Orion. Do I need to do anything on that ticket?

Also, I will get a F16 32-bit VM and will try to reproduce the weak symbol warnings to fix them.
Comment 20 Orion Poplawski 2012-02-21 14:17:48 EST
(In reply to comment #19)
> Thanks for opening the ticket, Orion. Do I need to do anything on that ticket?

I'll let you know, but I don't think so.
Comment 21 Kapil Arya 2012-02-29 15:54:38 EST
Hi Orion,

Sorry for the delay in getting back to you. I am juggling too many things right now :(.

So, I tried building the RPMs on F16 32-bit VM using the SOURCES and using the SRPM, but I couldn't reproduce the weak symbol error. I am pasting the output from rpmlint.

Please let me know how to proceed next.

Kapil


fedora15-i686:...rpmbuild/RPMS/i386> ls
dmtcp-1.2.4-1.fc16.i386.rpm                libdmtcpaware-doc-1.2.4-1.fc16.i386.rpm     libmtcp-devel-1.2.4-1.fc16.i386.rpm
libdmtcpaware-1.2.4-1.fc16.i386.rpm        libdmtcpaware-static-1.2.4-1.fc16.i386.rpm
libdmtcpaware-devel-1.2.4-1.fc16.i386.rpm  libmtcp-1.2.4-1.fc16.i386.rpm
fedora15-i686:...rpmbuild/RPMS/i386> rpmlint *
dmtcp.i386: I: enchant-dictionary-not-found en_US
dmtcp.i386: W: incoherent-version-in-changelog apil@ccs.neu.edu ['1.2.4-1.fc16', '1.2.4-1']
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_coordinator
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_restart
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_checkpoint
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/mtcp_restart
dmtcp.i386: E: statically-linked-binary /usr/bin/mtcp_restart
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_command
dmtcp.i386: W: unstripped-binary-or-object /usr/lib/dmtcp/dmtcphijack.so
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_nocheckpoint
dmtcp.i386: W: unstripped-binary-or-object /usr/bin/dmtcp_inspector
libdmtcpaware.i386: W: unstripped-binary-or-object /usr/lib/libdmtcpaware.so.1.0.0
libdmtcpaware.i386: W: no-documentation
libdmtcpaware-devel.i386: W: no-documentation
libdmtcpaware-static.i386: W: no-documentation
libmtcp.i386: W: unstripped-binary-or-object /usr/lib/libmtcp.so.1.0.0
libmtcp.i386: E: shlib-with-non-pic-code /usr/lib/libmtcp.so.1.0.0
libmtcp.i386: W: no-documentation
libmtcp-devel.i386: W: no-documentation
7 packages and 0 specfiles checked; 2 errors, 16 warnings.
Comment 22 Kapil Arya 2012-03-08 01:38:43 EST
Hi guys,

Any updates on the packaging :). Also, I am wondering if there are any chances to getting dmtcp into f17 or is it too late?
Comment 23 Orion Poplawski 2012-03-08 11:35:11 EST
Kapil -

  You need to install the rpms and then run rpmlint on the installed package names.  There are some tests rpmlint can only perform on installed packages.
Comment 24 Kapil Arya 2012-03-16 14:16:04 EDT
Hi Orin,

I tried rpmlint on installed package and it did emit the warnings, however, I did a nm on libmtcp.so and it says all symbols are present:

fedora16-x64:~> nm /usr/lib/debug/usr/lib64/libmtcp.so.debug|grep "dmtcp_exists\|mtcp_sys_errno\|mtcp_sigaction_entry\|mtcp_restore_argv_start_addr\|mtcp_dump_tls\|mtcp_readchar\|mtcp_readmapsline\|mtcp_get_thread_sysinfo\|mtcp_readdec\|mtcp_no"
0000000000215f88 B dmtcp_exists
00000000000034f1 T mtcp_dump_tls
00000000000102bb T mtcp_get_thread_sysinfo
000000000000439f T mtcp_no
000000000000ecaa T mtcp_readchar
000000000000eba9 T mtcp_readdec
00000000000096bd T mtcp_readmapsline
0000000000215f90 B mtcp_restore_argv_start_addr
0000000000222780 B mtcp_sigaction_entry
0000000000224f58 B mtcp_sys_errno

Now, I am not sure, how to fix the undefined symbol warning :(. Can you help me out?
Comment 25 Orion Poplawski 2012-03-16 14:26:57 EDT
I don't really know what is going on here.  Perhaps this:

libmtcp.i686: E: shlib-with-non-pic-code /usr/lib/libmtcp.so.1.0.0

is coming into play as well.

# rpmlint -I shlib-with-non-pic-code
shlib-with-non-pic-code:
The listed shared libraries contain object code that was compiled without
-fPIC. All object code in shared libraries should be recompiled separately
from the static libraries with the -fPIC option.  Another common mistake that
causes this problem is linking with ``gcc -Wl,-shared'' instead of ``gcc
-shared''.
Comment 26 Kapil Arya 2012-04-10 21:51:01 EDT
Hi All,

We were finally able to resolve the issues with fPIC and missing symbols. Here are the links to the latest SPEC and SRPM:

Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.4-1.svn1608.fc16.src.rpm

Thanks!
Comment 27 Kapil Arya 2012-05-04 17:16:39 EDT
Any updates on this front?
Comment 28 Kapil Arya 2012-07-08 16:30:40 EDT
Hi All,

I have updated the package to upstream release 1.2.5. Here are the links to the latest SPEC and SRPM:

Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.5-1.fc16.src.rpm

How long before it is merged into Fedora?

Thanks.
Comment 29 Orion Poplawski 2012-07-10 12:37:55 EDT
Fails for me for Fedora 17 i386:

gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer
-size=4  -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables  -O0 -g -DUSE_PROC_MAPS -DDMT
CP_VERSION=\"1.2.5\" -fPIC -DPIC -fno-stack-protector  -static -nodefaultlibs \
 -o mtcp_restart mtcp_restart.c mtcp_maybebpt.o \
 mtcp_printf.o mtcp_util.o mtcp_safemmap.o \
 mtcp_state.o mtcp_safe_open.o \
 mtcp_check_vdso.o mtcp_fastckpt.o 
In file included from /usr/include/unistd.h:26:0,
                 from mtcp_restart.c:38:
/usr/include/features.h:314:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimiz
ation (-O) [-Wcpp]
In file included from mtcp_internal.h:141:0,
                 from mtcp_restart.c:50:
mtcp_sys.h:322:1: warning: multi-line comment [-Wcomment]
/tmp/cc904UNz.o: In function `main':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_restart.c:351: undefined reference t
o `_Unwind_Resume'
/tmp/cc904UNz.o: In function `first_char':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_restart.c:407: undefined reference t
o `_Unwind_Resume'
/tmp/cc904UNz.o: In function `open_ckpt_to_read':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_restart.c:512: undefined reference t
o `_Unwind_Resume'
/tmp/cc904UNz.o:(.data.DW.ref.__gcc_personality_v0[DW.ref.__gcc_personality_v0]+0x0): undefined 
reference to `__gcc_personality_v0'
mtcp_maybebpt.o: In function `mtcp_maybebpt':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_maybebpt.c:78: undefined reference t
o `_Unwind_Resume'
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_maybebpt.c:78: undefined reference t
o `__stack_chk_fail_local'
mtcp_printf.o: In function `mtcp_printf':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_printf.c:208: undefined reference to
 `_Unwind_Resume'
mtcp_util.o: In function `mtcp_readcs':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_util.c:308: undefined reference to `
_Unwind_Resume'
mtcp_util.o: In function `mtcp_get_memory_region_of_this_library':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_util.c:515: undefined reference to `
_Unwind_Resume'
mtcp_safemmap.o: In function `mtcp_safemmap':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_safemmap.c:74: undefined reference t
o `_Unwind_Resume'
mtcp_check_vdso.o: In function `write_args':
/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_check_vdso.c:221: undefined referenc
e to `_Unwind_Resume'
mtcp_check_vdso.o:/export/home/orion/redhat/dmtcp-1.2.5/dmtcp-1.2.5/mtcp/mtcp_check_vdso.c:360: 
more undefined references to `_Unwind_Resume' follow
/usr/bin/ld: mtcp_restart: hidden symbol `__stack_chk_fail_local' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make[1]: *** [mtcp_restart] Error 1


Building in mock in rawhide I get:

+ sed -i -e s/enable_option_checking=fatal/enable_option_checking=no/ configure.ac
+ aclocal
/var/tmp/rpm-tmp.eX1IeL: line 35: aclocal: command not found
Comment 30 Kapil Arya 2012-07-20 01:24:02 EDT
Hi Orion,

Thanks for the review. Sorry, it took longer to fix things and get back to you but here I am now :). 

Earlier, I didn't upgrade my VMs and that's why you saw those issues. I have now updated to F17 and fixed the issues in dmtcp svn. However, I ran into a different issue when building for ix86 architecture.

During compilation, I got the following error:

g++ -fPIC -O2 -g -march=i386 -mtune=i686 -fPIC  -o dmtcp_command dmtcp_command.o libdmtcpinternal.a libjalib.a libnohijack.a -lpthread 
dmtcp_checkpoint.o: In function `__exchange_and_add':
/usr/lib/gcc/i686-redhat-linux/4.7.0/../../../../include/c++/4.7.0/ext/atomicity.h:48: undefined reference to `__atomic_fetch_add_4'
....
<similar lines followed>

It turns out that rpmbuild defines -march=i386 and -mtune=i686 causing the compilation errors. Here is the reason:

fedora17-i686:~> rpm --eval '%configure -g -O0'

  CFLAGS="${CFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export CFLAGS ; 
  CXXFLAGS="${CXXFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export CXXFLAGS ; 
  FFLAGS="${FFLAGS:--O2 -g -march=i386 -mtune=i686}" ; export FFLAGS ; 
  ./configure --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu \
        --program-prefix= \
        --prefix=/usr \
        --exec-prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc \
        --datadir=/usr/share \
        --includedir=/usr/include \
        --libdir=/usr/lib \
        --libexecdir=/usr/libexec \
        --localstatedir=/var \
        --sharedstatedir=/var/lib \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info -g -O0

If I replace i386 with i486 or higher in CFLAGS/CXXFLAGS/FFLAGS, the compilation error goes away. Is there a simple way to achieve it? Of course I can conditionalize using %ifarch ix86 and modify the %configure section but I am wondering if there is a simpler way to avoid this.
Comment 31 Orion Poplawski 2012-10-09 14:30:46 EDT
My turn to apologize for taking too long to get back to this.  I upgraded to 1.2.6.  Found one issue which I filed here:

https://sourceforge.net/tracker/?func=detail&aid=3575787&group_id=194616&atid=950143

Builds fine for me on Fedora 17 i686 and Rawhide x86_64.

Note new changelog format - should fix old entries.  Also, don't put the release notes in the changelog.

* Tue Oct 09 2012 Orion Poplawski <orion@cora.nwra.com> - 1.2.6-1
- Update to 1.2.6
- Use URL for Source0
- Add patch to drop -fstack-protector on mtcp_maybebpt.c
- Drop configure hack
- Run tests

http://www.cora.nwra.com/~orion/fedora/dmtcp-1.2.6-1.fc17.src.rpm

Also, fails on EL6 because %doc stomps on examples:

    File not found: /builddir/build/BUILDROOT/dmtcp-1.2.6-1.el6.x86_64/usr/share/doc/dmtcp-1.2.6/examples
Comment 32 Kapil Arya 2012-10-09 14:38:47 EDT
Hi Orion,

> My turn to apologize for taking too long to get back to this.  I upgraded to
> 1.2.6.  Found one issue which I filed here:
> 
> https://sourceforge.net/tracker/
> ?func=detail&aid=3575787&group_id=194616&atid=950143

I will take a look and make the fixes upstream as well.
 
> Builds fine for me on Fedora 17 i686 and Rawhide x86_64.
> 
> Note new changelog format - should fix old entries.  Also, don't put the
> release notes in the changelog.

Will do

> * Tue Oct 09 2012 Orion Poplawski <orion@cora.nwra.com> - 1.2.6-1
> - Update to 1.2.6
> - Use URL for Source0
> - Add patch to drop -fstack-protector on mtcp_maybebpt.c
> - Drop configure hack
> - Run tests
> 
> http://www.cora.nwra.com/~orion/fedora/dmtcp-1.2.6-1.fc17.src.rpm
> 
> Also, fails on EL6 because %doc stomps on examples:
> 
>     File not found:
> /builddir/build/BUILDROOT/dmtcp-1.2.6-1.el6.x86_64/usr/share/doc/dmtcp-1.2.6/
> examples

Will do.

I will address these issues and will put the updated package here.

Thanks again!
Comment 33 Orion Poplawski 2012-10-09 17:06:05 EDT
Looks like libmtcp should be required explicitly by the main dmtcp package.
Comment 34 Roderick Johnstone 2012-10-29 12:37:09 EDT
Any progress on fixing the EL6 issue from comment #32? 

I'd like to build this package on EL6.

I tried rebuilding the srpm at: http://www.cora.nwra.com/~orion/fedora/dmtcp-1.2.6-1.fc17.src.rpm on Scientific Linux 6.3 and I'm seeing this failure from the tests section (as well as the doc issue mentioned above):

openmp-1        FAILED
                root-pids: [2201] msg: user program startup error, 1 expected, 0 found, running=0

Any idea what the problem might be?

Thanks.
Comment 35 Orion Poplawski 2013-04-17 00:27:34 EDT
Kapil -  Any progress here?  I've been using the dmtcp packages here with reasonable success.   Also, looks like openmpi 1.7 supports dmtcp, so it would be nice to get this into Fedora so it can build against it.
Comment 36 Kapil Arya 2013-04-18 14:07:41 EDT
Hi Orion,

I had fixed the problem related to make check in the svn and it has been part of the 1.2.7 release. I created the srpm package for 1.2.7 but forgot to put it here. Let me recreate the package and I will put out the link here this week.

Thanks for reminding, it just slipped off my mind.

Kapil
Comment 37 Kapil Arya 2013-04-25 13:45:00 EDT
Hi Orion,

Here are the links to the SRPM and SPEC file for DMTCP 1.2.7:

Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.7-1.fc19.src.rpm


Please let me know if you find any problems with this packaging.

Thanks,
Kapil
Comment 38 Orion Poplawski 2013-04-25 14:26:39 EDT
Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Sources used to build the package match the upstream source, as provided in
  the spec URL.
  Note: Upstream MD5sum check error, diff is in
  /export/home/orion/redhat/dmtcp-1.3.0/750394-dmtcp/diff.txt
  See: http://fedoraproject.org/wiki/Packaging/SourceURL
- All build dependencies are listed in BuildRequires, except for any that are
  listed in the exceptions section of Packaging Guidelines.
  Note: These BR are not needed: gcc gcc-c++ glibc-devel
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2
- No Requires: %{name}%{?_isa} = %{version}-%{release} in libmtcp ,
     libmtcp-devel , libdmtcpaware , libdmtcpaware-devel , libdmtcpaware-doc ,
     libdmtcpaware-static - you must specify "%{version}-%{release}"

Minor:

 - I would suggest a blank line between changelog entries.
 - Drop %defattr()
 - Drop BuildRoot
 - Drop %clean 

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.  
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Static libraries in -static subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[!]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in libmtcp ,
     libmtcp-devel , libdmtcpaware , libdmtcpaware-devel , libdmtcpaware-doc ,
     libdmtcpaware-static
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v2.1 or later)", "LGPL (v3 or later)", "LGPL (v2.1 or later) (with
     incorrect FSF address)", "Unknown or generated". 4 files have unknown
     license. Detailed output of licensecheck in
     /export/home/orion/redhat/dmtcp-1.3.0/750394-dmtcp/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 2 files.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

===== SHOULD items =====

Generic:
[!]: Buildroot is not present
     Note: Buildroot: present but not needed
[!]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: %clean present but not required
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint (installed packages)
----------------------------
dmtcpaware libdmtcpaware-docl libmtcp-devel libmtcp libdmtcpaware-static dmtcp lib 
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US dmtcp -> Dmitri
libdmtcpaware-devel.x86_64: W: no-documentation
libmtcp-devel.x86_64: W: no-documentation
libmtcp.x86_64: W: spelling-error Summary(en_US) checkpointer -> check pointer, check-pointer, checkpoint er
libmtcp.x86_64: W: no-documentation
libdmtcpaware-static.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
libdmtcpaware-static.x86_64: W: no-documentation
dmtcp.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
dmtcp.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
dmtcp.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
dmtcp.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
dmtcp.x86_64: W: ldd-failed /usr/bin/mtcp_restart
dmtcp.x86_64: E: statically-linked-binary /usr/bin/mtcp_restart
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointed -> check pointed, check-pointed, checkpoint ed
libdmtcpaware.x86_64: W: spelling-error %description -l en_US dmtcp -> Dmitri
libdmtcpaware.x86_64: W: no-documentation
libdmtcpaware-doc.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
7 packages and 0 specfiles checked; 1 errors, 24 warnings.
# echo 'rpmlint-done:'

These are all fine.

Requires
--------
libdmtcpaware-devel (rpmlib, GLIBC filtered):
    libdmtcpaware(x86-64)
    libdmtcpaware.so.1()(64bit)

libmtcp-devel (rpmlib, GLIBC filtered):
    libmtcp
    libmtcp.so.1()(64bit)

libmtcp (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    rtld(GNU_HASH)

libdmtcpaware-static (rpmlib, GLIBC filtered):
    libdmtcpaware-devel(x86-64)

dmtcp (rpmlib, GLIBC filtered):
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libmtcp
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

libdmtcpaware (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    dmtcp(x86-64)
    libc.so.6()(64bit)
    rtld(GNU_HASH)

libdmtcpaware-doc (rpmlib, GLIBC filtered):
    libdmtcpaware-devel(x86-64)



Provides
--------
libdmtcpaware-devel:
    libdmtcpaware-devel
    libdmtcpaware-devel(x86-64)

libmtcp-devel:
    libmtcp-devel
    libmtcp-devel(x86-64)

libmtcp:
    libmtcp
    libmtcp(x86-64)
    libmtcp.so.1()(64bit)

libdmtcpaware-static:
    libdmtcpaware-static
    libdmtcpaware-static(x86-64)

dmtcp:
    dmtcp
    dmtcp(x86-64)
    dmtcphijack.so()(64bit)

libdmtcpaware:
    libdmtcpaware
    libdmtcpaware(x86-64)
    libdmtcpaware.so.1()(64bit)

libdmtcpaware-doc:
    libdmtcpaware-doc
    libdmtcpaware-doc(x86-64)



Unversioned so-files
--------------------
dmtcp: /usr/lib64/dmtcp/dmtcphijack.so

MD5-sum check
-------------
http://downloads.sourceforge.net/dmtcp/dmtcp-1.2.7.tar.gz :
  CHECKSUM(SHA256) this package     : ce9ad548dd7d627120b6516a7c0e2f304c6eacaf2b17da13d8b0f5ea8d882f71
  CHECKSUM(SHA256) upstream package : a5e1be2854787b7da78a7871b1b68886d5c42e431221110fe0a94a91256dfc4d
diff -r also reports differences


Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29
Buildroot used: fedora-rawhide-x86_64
Command line :/usr/bin/fedora-review -b 750394 -m fedora-rawhide-x86_64
Comment 39 Kapil Arya 2013-04-25 15:44:15 EDT
Hi Orion,

Thanks for the quick response. I am putting my responses inline. 

Also, could you tell me how did you generate this report so that I can do it locally and fix issues before sending it to you?

Thanks,
Kapil

> Issues:
> =======
> - Sources used to build the package match the upstream source, as provided in
>   the spec URL.
>   Note: Upstream MD5sum check error, diff is in
>   /export/home/orion/redhat/dmtcp-1.3.0/750394-dmtcp/diff.txt
>   See: http://fedoraproject.org/wiki/Packaging/SourceURL

That was a stupid mistake on my end. Fixed.

> - All build dependencies are listed in BuildRequires, except for any that are
>   listed in the exceptions section of Packaging Guidelines.
>   Note: These BR are not needed: gcc gcc-c++ glibc-devel
>   See: http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2

Fixed~

> - No Requires: %{name}%{?_isa} = %{version}-%{release} in libmtcp ,
>      libmtcp-devel , libdmtcpaware , libdmtcpaware-devel , libdmtcpaware-doc
> ,
>      libdmtcpaware-static - you must specify "%{version}-%{release}"

Here is slight confusion. libmtcp provides a shared library that is needed by the main package. libmtcp does not depend on the main package itself. How should I fix the "Requires" section for libmtcp in this case?

> Minor:
> 
>  - I would suggest a blank line between changelog entries.
>  - Drop %defattr()
>  - Drop BuildRoot
>  - Drop %clean 

Fixed.
Comment 40 Orion Poplawski 2013-04-25 16:58:21 EDT
(In reply to comment #39)
> Also, could you tell me how did you generate this report so that I can do it
> locally and fix issues before sending it to you?

The fedora-review package/command.

> > Issues:
> > =======
> >  No Requires: %{name}%{?_isa} = %{version}-%{release} in libmtcp ,
> >      libmtcp-devel , libdmtcpaware , libdmtcpaware-devel , libdmtcpaware-doc
> > ,
> >      libdmtcpaware-static - you must specify "%{version}-%{release}"
> 
> Here is slight confusion. libmtcp provides a shared library that is needed
> by the main package. libmtcp does not depend on the main package itself. How
> should I fix the "Requires" section for libmtcp in this case?

It's find to leave out the requires on the main package in libmtcp in that case.

You'll need:

Requires: libmtcp%{?_isa} = %{version}-%{release}

in the main package.
Comment 41 Orion Poplawski 2013-05-14 16:55:52 EDT
Ping?
Comment 42 Kapil Arya 2013-05-16 13:10:14 EDT
Hi Orion,

The updated URLs are:
Spec URL: http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp.spec
SRPM URL:
http://www.ccs.neu.edu/home/kapil/fedora_rpms/dmtcp-1.2.7-1.fc20.src.rpm


I have fixed most of the problems. There are some Issues related to Java that I have no idea how to fix. Also, I did insert the "Requires: ..." in the specfile but fedora-review is still complaining.

Here is the output from fedora-review:

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Packages have proper BuildRequires/Requires on jpackage-utils
  See: https://fedoraproject.org/wiki/Packaging:Java
- Javadocs are placed in %{_javadocdir}/%{name} (no -%{version} symlink)
  Note: No javadoc subpackage present
  See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation
- Fully versioned dependency in subpackages, if present.
  Note: Missing: Requires: %{name} = %{version}-%{release} in libmtcp,
  libmtcp-devel, libdmtcpaware, libdmtcpaware-devel, libdmtcpaware-doc,
  libdmtcpaware-static
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage
- Javadoc documentation files are generated and included in -javadoc
  subpackage
  Note: No javadoc subpackage present
  See: https://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation


===== MUST items =====

C/C++:
[ ]: Package does not contain kernel modules.
[ ]: Package contains no static executables.
[ ]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Static libraries in -static subpackage, if present.

Generic:
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[ ]: %build honors applicable compiler flags or justifies otherwise.
[ ]: Package contains no bundled libraries without FPC exception.
[ ]: Changelog in prescribed format.
[ ]: Sources contain only permissible code or content.
[ ]: Package contains desktop file if it is a GUI application.
[ ]: Development files must be in a -devel package
[ ]: Package requires other packages for directories it uses.
[ ]: Package uses nothing in %doc for runtime.
[ ]: Package is not known to require ExcludeArch.
[ ]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in libmtcp ,
     libmtcp-devel , libdmtcpaware , libdmtcpaware-devel , libdmtcpaware-doc ,
     libdmtcpaware-static
[ ]: Package complies to the Packaging Guidelines
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v3 or later)", "LGPL (v2.1 or later)", "Unknown or generated",
     "LGPL (v2.1 or later) (with incorrect FSF address)". 89 files have
     unknown license. Detailed output of licensecheck in
     /home/kapil/rpmbuild/SRPMS/dmtcp/licensecheck.txt
[ ]: License file installed when any subpackage combination is installed.
[ ]: Package consistently uses macro is (instead of hard-coded directory
     names).
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[ ]: Package obeys FHS, except libexecdir and /usr/target.
[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Package must own all directories that it creates.
[ ]: Package does not own files or directories owned by other packages.
[ ]: Requires correct, justified where necessary.
[ ]: Spec file is legible and written in American English.
[ ]: Package contains systemd file(s) if in need.
[ ]: Useful -debuginfo package or justification otherwise.
[ ]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 2 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

Java:
[x]: Bundled jar/class files should be removed before build

Maven:
[ ]: If package contains pom.xml files install it (including depmaps) even
     when building with ant
[x]: Old add_to_maven_depmap macro is not being used

===== SHOULD items =====

Generic:
[ ]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Scriptlets must be sane, if used.
[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define.

Java:
[ ]: Packages are noarch unless they use JNI
     Note: dmtcp subpackage is not noarch. Please verify manually
[ ]: Package uses upstream build method (ant/maven/etc.)

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: dmtcp-1.2.7-1.fc18.x86_64.rpm
          libmtcp-1.2.7-1.fc18.x86_64.rpm
          libmtcp-devel-1.2.7-1.fc18.x86_64.rpm
          libdmtcpaware-1.2.7-1.fc18.x86_64.rpm
          libdmtcpaware-devel-1.2.7-1.fc18.x86_64.rpm
          libdmtcpaware-doc-1.2.7-1.fc18.x86_64.rpm
          libdmtcpaware-static-1.2.7-1.fc18.x86_64.rpm
dmtcp.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
dmtcp.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
dmtcp.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
dmtcp.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
dmtcp.x86_64: E: statically-linked-binary /usr/bin/mtcp_restart
libmtcp.x86_64: W: spelling-error Summary(en_US) checkpointer -> check pointer, check-pointer, checkpoint er
libmtcp.x86_64: W: no-documentation
libmtcp-devel.x86_64: W: no-documentation
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointed -> check pointed, check-pointed, checkpoint ed
libdmtcpaware.x86_64: W: no-documentation
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware-devel.x86_64: W: no-documentation
libdmtcpaware-doc.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
libdmtcpaware-static.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
libdmtcpaware-static.x86_64: W: no-documentation
7 packages and 0 specfiles checked; 1 errors, 21 warnings.




Rpmlint (installed packages)
----------------------------
mtcp libdmtcpaware libdmtcpaware-docp-devel libmtcp libdmtcpaware-static d 
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware-devel.x86_64: W: spelling-error %description -l en_US dmtcp -> Dmitri
libdmtcpaware-devel.x86_64: W: no-documentation
libmtcp-devel.x86_64: W: no-documentation
libmtcp.x86_64: W: spelling-error Summary(en_US) checkpointer -> check pointer, check-pointer, checkpoint er
libmtcp.x86_64: W: no-documentation
libdmtcpaware-static.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
libdmtcpaware-static.x86_64: W: no-documentation
dmtcp.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
dmtcp.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
dmtcp.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
dmtcp.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
dmtcp.x86_64: W: ldd-failed /usr/bin/mtcp_restart
dmtcp.x86_64: E: statically-linked-binary /usr/bin/mtcp_restart
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointing -> check pointing, check-pointing, checkpoint
libdmtcpaware.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti
libdmtcpaware.x86_64: W: spelling-error %description -l en_US cscope -> scope, c scope, cs cope
libdmtcpaware.x86_64: W: spelling-error %description -l en_US emacs -> Emacs, macs, maces
libdmtcpaware.x86_64: W: spelling-error %description -l en_US checkpointed -> check pointed, check-pointed, checkpoint ed
libdmtcpaware.x86_64: W: spelling-error %description -l en_US dmtcp -> Dmitri
libdmtcpaware.x86_64: W: no-documentation
libdmtcpaware-doc.x86_64: W: spelling-error %description -l en_US dmtcpaware -> Delaware
7 packages and 0 specfiles checked; 1 errors, 24 warnings.
# echo 'rpmlint-done:'



Requires
--------
libdmtcpaware-devel (rpmlib, GLIBC filtered):
    dmtcp
    libdmtcpaware(x86-64)
    libdmtcpaware.so.1()(64bit)

libmtcp-devel (rpmlib, GLIBC filtered):
    libmtcp
    libmtcp.so.1()(64bit)

libmtcp (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    rtld(GNU_HASH)

libdmtcpaware-static (rpmlib, GLIBC filtered):
    dmtcp
    libdmtcpaware-devel(x86-64)

dmtcp (rpmlib, GLIBC filtered):
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libmtcp(x86-64)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)

libdmtcpaware (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    dmtcp
    libc.so.6()(64bit)
    rtld(GNU_HASH)

libdmtcpaware-doc (rpmlib, GLIBC filtered):
    dmtcp
    libdmtcpaware-devel(x86-64)



Provides
--------
libdmtcpaware-devel:
    libdmtcpaware-devel
    libdmtcpaware-devel(x86-64)

libmtcp-devel:
    libmtcp-devel
    libmtcp-devel(x86-64)

libmtcp:
    libmtcp
    libmtcp(x86-64)
    libmtcp.so.1()(64bit)

libdmtcpaware-static:
    libdmtcpaware-static
    libdmtcpaware-static(x86-64)

dmtcp:
    dmtcp
    dmtcp(x86-64)
    dmtcphijack.so()(64bit)

libdmtcpaware:
    libdmtcpaware
    libdmtcpaware(x86-64)
    libdmtcpaware.so.1()(64bit)

libdmtcpaware-doc:
    libdmtcpaware-doc
    libdmtcpaware-doc(x86-64)



Unversioned so-files
--------------------
dmtcp: /usr/lib64/dmtcp/dmtcphijack.so

Source checksums
----------------
http://downloads.sourceforge.net/dmtcp/dmtcp-1.2.7.tar.gz :
  CHECKSUM(SHA256) this package     : a5e1be2854787b7da78a7871b1b68886d5c42e431221110fe0a94a91256dfc4d
  CHECKSUM(SHA256) upstream package : a5e1be2854787b7da78a7871b1b68886d5c42e431221110fe0a94a91256dfc4d


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review --rpm-spec -n dmtcp-1.2.7-1.fc20.src.rpm
Comment 43 Orion Poplawski 2013-05-16 18:11:16 EDT
You can ignore the java stuff - fedora-review is thinking this is a java package - but you just have some java tests.

Not sure why fedora-review is complaining about the missing requires on the base package, although they should be:

Requires:      %{name}%{?_isa} = %{version}-%{release}


I'll leave that to you to do, but for now this is approved.
Comment 44 Kapil Arya 2013-05-17 13:54:49 EDT
Hi Orion,

Thanks for the quick reply. I have now updated the specfile to include:
  Requires:      %{name}%{?_isa} = %{version}-%{release}

Now that this is approved, what are the next steps?
Comment 46 Kapil Arya 2013-05-17 18:00:20 EDT
Great. I will go over these steps and will right back if I have any questions :-).
Comment 47 Kapil Arya 2013-05-17 21:01:15 EDT
New Package SCM Request
=======================
Package Name: dmtcp
Short Description: Checkpoint/Restart functionality for Linux processes
Owners: karya0
Branches: f19 el6
InitialCC:
Comment 48 Kapil Arya 2013-05-17 21:06:09 EDT
Hi Orion,

Since I am not a member of the fedorabugs group, I can't set the fedora‑cvs flag.

Could you please set the flag?

Thanks,
Kapil
Comment 49 Orion Poplawski 2013-05-17 23:01:51 EDT
Kapil - I have now sponsored you, so you should be able to set the CVS flag now (or soon).
Comment 50 Kapil Arya 2013-05-17 23:02:52 EDT
Thanks a lot Orion!
Comment 51 Kapil Arya 2013-05-18 12:10:10 EDT
Hi Orion,

I am sorry to bother you once again. Apparently, I still can't change the fedora_cvs flag. Looks like there is some syncing issue between bugzilla and my fedora account. Both of them have the same email address. Although my PGP key has an extra email address, I don't think that should be an issue here. Do you have any ideas?

Thanks,
Kapil
Comment 52 Jon Ciesla 2013-05-21 06:57:58 EDT
Git done (by process-git-requests).
Comment 53 Kapil Arya 2013-05-21 11:58:00 EDT
The package has been pushed to the git module now (after successful 'fedpkg build' on each branch). Closing the ticket now.

I wish to thank everyone for all the help in creating this fedora package! :-)

Kapil
Comment 54 Orion Poplawski 2013-05-21 17:46:54 EDT
Great.  Don't forget to submit updates for F19 and EL6.
Comment 55 Kapil Arya 2013-05-21 18:03:30 EDT
Just submitted to update-testing for both F19 and EL6.
Comment 56 dr.trigon 2013-07-07 07:29:33 EDT
Just installed it (1.2.7) in F19 from repos and started it with an "old" process checkpointed in self-compiled 1.2.6 (under F17) and it work like a charm!!! :)

THANKS A LOT TO EVERYBODY INVOLVED HERE AND WORKING ON THIS - NICE JOB!! ;))

Greetings

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