Hide Forgot
NB: This requires F17+ to build! Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.0-1.src.rpm Description: Whenjobs is a powerful but simple cron replacement. Two key advantages over cron are a simpler syntax for writing rules and a powerful dependency system that lets one job depend on variables set when other jobs run (allowing, for example, one job to run only when another job has finished successfully). -------- A Koji scratch build is here: http://koji.fedoraproject.org/koji/taskinfo?taskID=3892254 -------- rpmlint says: whenjobs.src: W: spelling-error Summary(en_US) cron -> corn, con, crone whenjobs.src: W: spelling-error %description -l en_US cron -> corn, con, crone Nonsense, of course. whenjobs.x86_64: E: devel-dependency ocaml-camlp4-devel We really need the camlp4 packages. whenjobs.x86_64: W: spelling-error Summary(en_US) cron -> corn, con, crone whenjobs.x86_64: W: spelling-error %description -l en_US cron -> corn, con, crone More non-spelling-mistakes. whenjobs.x86_64: W: unstripped-binary-or-object /usr/sbin/whenjobsd whenjobs.x86_64: W: ocaml-mixed-executable /usr/sbin/whenjobsd whenjobs.x86_64: W: unstripped-binary-or-object /usr/bin/whenjobs whenjobs.x86_64: W: ocaml-mixed-executable /usr/bin/whenjobs These binaries are unstripped because they contain bytecode. 'strip' would remove the bytecode. whenjobs.x86_64: W: only-non-binary-in-usr-lib /usr/lib contains binaries, but rpmlint doesn't recognise them as such. whenjobs.x86_64: W: non-conffile-in-etc /etc/prelink.conf.d/whenjobs.conf This is not a conf file, but an instruction to prelink to stop it destroying the bytecode binaries.
Let me start the review, but I am not a ocaml specialist. 1) %{_libdir}/whenjobs/ is unowned, you should add %dir %{_libdir}/whenjobs/ in the %files section 2) given that this requires f17 to be built, I think you can remove %defattr ( unless the plan is to backport to EL 5, but I doubt ) 3) same goes for %clean and the rm -Rf $RPMBUILDROOT at the start of %install, if I am not wrong, so you can remove them ( no need to keep unused cruft ) 4) per https://fedoraproject.org/wiki/Packaging/Guidelines#File_Dependencies , could you change the requires on /usr/bin/ocamlc to the package name ? same goes for the buildRequires on perl-doc. 5) nitpicking, but BuildRequires: pcre-devel, ocaml-pcre-devel is better on 2 lines, as this ease review of a potential changes. But that's not blocking for the review. 6) shouldn't whenjobsd be start at boot, with a systemd file ? ( given your blog posts and the use case, this sound logical to me, but maybe I missed something ) 7) you detect if the bytecode is created or not at the beggining of the spec, but do not act on it as explained on : https://fedoraproject.org/wiki/Packaging:OCaml#Bytecode-only_architectures So either there is something missing, or something not used, or something magic I would bet on the 1st, but maybe that's the 3rd
and one last one, the release do not have %{?dist}. IIRC, that's not mandatory, but I think that's useful to see the distribution a rpm was compiled for.
and regarding the point 6, I looked at the doc and it seems that's not how you want it to be run, so no problem. ( even if I think this would be a worthy feature to add, as if someone start to rely on it for scheduling tasks, having a standard way of starting it would be better ). But that's also not blocking for the review.
(In reply to comment #1) > Let me start the review, but I am not a ocaml specialist. > > 1) %{_libdir}/whenjobs/ is unowned, you should add %dir %{_libdir}/whenjobs/ in > the %files section Fixed. > 2) given that this requires f17 to be built, I think you can remove %defattr ( > unless the plan is to backport to EL 5, but I doubt ) Fixed. > 3) same goes for %clean and the rm -Rf $RPMBUILDROOT at the start of %install, > if I am not wrong, so you can remove them ( no need to keep unused cruft ) Fixed. > 4) per https://fedoraproject.org/wiki/Packaging/Guidelines#File_Dependencies , > could you change the requires on /usr/bin/ocamlc to the package name ? > same goes for the buildRequires on perl-doc. My reading of that section is that dependencies on /usr/bin/* are permitted. I'd prefer to keep them because the program does in fact run those binaries, like /usr/bin/ocamlc, so it seems more logical to depend on the binaries, not the packages (which might change in future). > 5) nitpicking, but > BuildRequires: pcre-devel, ocaml-pcre-devel > > is better on 2 lines, as this ease review of a potential changes. But that's > not blocking for the review. Fixed. > 6) shouldn't whenjobsd be start at boot, with a systemd file ? ( given your > blog posts and the use case, this sound logical to me, but maybe I missed > something ) No, the daemon is started by each user that requires it. > 7) you detect if the bytecode is created or not at the beggining of the spec, > but do not act on it as explained on : > > https://fedoraproject.org/wiki/Packaging:OCaml#Bytecode-only_architectures > > So either there is something missing, or something not used, or something magic > I would bet on the 1st, but maybe that's the 3rd This is actually an upstream problem. I need to add all the upstream Makefile rules so that whenjobs can be compiled as native code. It was just easier to use bytecode compilation, and since it's not very performance-sensitive I didn't bother much about it. One benefit of fixing this upstream is that we wouldn't need the prelink stuff (because prelink doesn't break native-compiled programs). (In reply to comment #2) > and one last one, the release do not have %{?dist}. Fixed! I have just pushed the changes to the upstream git repo for now: http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=7e01f4e655c5ceadbb571f4ded19427b41ae2933 since item #7 needs a big amount of upstream work to fix properly. Hopefully I can get some time to do that this week. Thanks for the initial review.
For the rpmlint warning about prelink file, I filled https://bugzilla.redhat.com/show_bug.cgi?id=804452 , since your concern about this not being a configuration file is valid. And have you considered filling a RFE for rpm to not strip ocaml software compiled with -custom ? Regarding point 4, that's indeed valid to have that and I will not force you, but that's not convenient for users ( at least for those with a more contrained environment than you and me, for example, in a small vm where parsing a 35 mo xml file can be problematic ). As I doubt the ocaml compiler will move a lot in the future ( or this would break a lot more software than just whenjobs ), I think you could use directly the package without trouble. But again, it is up to you. Should I wait for newer version of whejobs for the formal review ?
The jobs file is parsed by the OCaml compiler, so whenjobs cannot be used at all in an environment that doesn't have the compiler. Yes please wait -- I want to fix at least the bytecode/native code issue.
Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.1-1.src.rpm This updated package is native-compiled (fixing point 7 above).
Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.1-1.fc17.src.rpm (Fixed SRPM URL) This package is ready for review.
So : - The guideline say that you should use %global instead of %define : https://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define - there is no need nowadays to clean the buildroot before install https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag - the line %define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) is still not used. If you have added directly support in the makefile, then this line can be removed, no ? - why are debug disabled ? While I am sure that you have good reasons, it should be mentioned in a comment ( and that's maybe the reason why you have to strip by hand the software, as you mention later in the spec )
(In reply to comment #9) > So : > > - The guideline say that you should use %global instead of %define : > https://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define Grrrr! http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=ea28f8eebc4d8434e7e66d62b769d747656d27ae > - there is no need nowadays to clean the buildroot before install > https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=a84570d0991652a864d90e8e3fee685cc05982c7 > - the line > %define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) > is still not used. If you have added directly support in the makefile, then > this line can be removed, no ? http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=2c27f26c486961d1b7799d4f4274aa31d04df845 > - why are debug disabled ? While I am sure that you have good reasons, it > should be mentioned in a comment ( and that's maybe the reason why you have to > strip by hand the software, as you mention later in the spec ) The reason is that the OCaml compiler doesn't add DWARF information to its output, so you end up with debuginfo files that work but are content-free. This is a standard thing that is added to every OCaml spec file, eg picking one at random: http://pkgs.fedoraproject.org/gitweb/?p=ocaml-pcre.git;a=blob;f=ocaml-pcre.spec;hb=HEAD I've no idea why stripping didn't happen. It *does* happen normally, even with debug disabled, so it could be a bug in my local RPM, but in any case rpmlint warned about it, and stripping twice won't be a problem.
Then I think it would be nice to add this fact to the ocaml packaging page ( not sure if there is a official process for that, that's why I didn't added it ) https://fedoraproject.org/wiki/Packaging:OCaml So people reviewing can just see "this is normal", that's the policy.
It turns out there's a problem with the way I'm using Dynlink in native code (I noticed that whenjobs --upload doesn't work in the native version): https://sympa-roc.inria.fr/wws/arc/caml-list/2012-03/msg00276.html
Fedora-review complaint about the address of the FSF in the various files, for example in whenjobs-0.7.1/lib/flock.c but the address is however correct in others files. ( see the licensecheck tools, from rpmdev ). And so, for the Dynlink issue, should I wait for a new tarball before trying to setup a vm for testing it ?
(In reply to comment #13) > Fedora-review complaint about the address of the FSF in the various files, for > example in whenjobs-0.7.1/lib/flock.c but the address is however correct in > others files. ( see the licensecheck tools, from rpmdev ). http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=602f482985977184bfa2794cfb91b15337035a0a > And so, for the Dynlink issue, should I wait for a new tarball before trying to > setup a vm for testing it ? Unfortunately the Dynlink issue breaks reloads, so I really need to think about how to resolve this. In the worst case the daemon might need to restart itself; or I could go back to compiling the daemon as bytecode.
I just posted a patch that fixes the Dynlink issue, but I need to test it out locally for a bit first. http://git.annexia.org/?p=whenjobs.git;a=commitdiff;h=de72662854c3db9365296dd45cade2253910be7f
This is working out well for me, after about a week of testing. Do you want me to post another spec file (it'll be the same, just with an updated version number). http://git.annexia.org/?p=whenjobs.git;a=blob;f=whenjobs.spec.in;hb=HEAD
The %global opt is still unused in the spec, so if the makefile work without it, maybe it should be removed ?
And yes, a new rpm would help me to make sure I can test the build and other stuff correctly.
(In reply to comment #17) > The %global opt is still unused in the spec, so if the makefile work without > it, maybe it should be removed ? %opt is used in the spec. On x86/x86-64 it would always be set to 1, because ocamlopt is always available. However on some weird secondary architectures (I think s/390x is the only one) where there is no native compiler backend, ocamlopt wouldn't exist so %opt would be 0. (In reply to comment #18) > And yes, a new rpm would help me to make sure I can test the build and other > stuff correctly. This is the package I've been using successfully for a few weeks: Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.2-1.fc17.src.rpm
Indeed, i tought it would be used for the %build, but that's used for another thing, sorry.
Sorry for not updating this review. While working on the formal review, I noticed that the md5sum is not the same between the spec on people.redhat.com and the rpm : $ md5sum ~/rpmbuild/SOURCES/whenjobs-0.7.2.tar.gz ./whenjobs-0.7.2.tar.gz 8b89aa3eeb02c53ed688edd32546d9bc /home/misc/rpmbuild/SOURCES/whenjobs-0.7.2.tar.gz c201788e584dd63891d11295cf9b5788 ./whenjobs-0.7.2.tar.gz is this normal ? ( there is basically 2 bytes missing, that's rather strange )
No, that's not normal. All I can think is that I must have done a 'make dist' twice and included another copy of the tarball. Here is a corrected SRPM: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.2-1.fc17.src.rpm
It doesn't seems to build in mock ( who has been running since 2/3h ). It seems to block at : /bin/bash - ./test_run.sh ./t100_counter.ml Is this expected ( ie, it take a long time, I am running it on a macbook 2.1, core 2 duo cpu, 2.1 ghz ) ? ( to reproduce, "fedora-review -b 803089" on fedora 17 should do the trick ).
Are you using 32 bit? This patch was required for 32 bit ARM: commit d6da1b74e241e79eb0af9c01e390e98ceead3a49 Author: Richard W.M. Jones <rjones> Date: Sat Apr 28 20:40:39 2012 +0100 32 bit: Fix for 31 bit int overflow in time_t. so I'm going to do a 0.7.3 release in a moment which includes everything.
Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.3-1.fc17.src.rpm
Koji scratch build which I guess proves that it builds on 32 bit ... http://koji.fedoraproject.org/koji/taskinfo?taskID=4209135
Yup, this laptop is 32 bits. Let me start again mock and go on with the review.
So it doesn't build on fedora 17 / 32 bits: make[2]: Entering directory `/builddir/build/BUILD/whenjobs-0.7.3/lib' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I/usr/lib/ocaml -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size= ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c config.mli -o config.cmi ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c whenproto_aux.mli -o whenproto_aux.cmi ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c whenutils.mli -o whenutils.cmi ocamlfind ocamlc -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c whenlock.mli -o whenlock.cmi ocamlfind c -g -warn-error CDEFLMPSUVYZX \ -package camlp4.lib -linkpkg \ -pp camlp4of -c pa_when.ml -o pa_when.cmo ocamlfind ocamlopt -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c config.ml -o config.cmx ocamlfind ocamlopt -g -warn-error CDEFLMPSUVYZX -package unix,num,camlp4.lib,calendar,rpc -c whenproto_aux.ml -o whenproto_aux.cmx File "whenproto_aux.ml", line 121, characters 13-25: Error: Unbound value Xdr.safe_add make[2]: *** [whenproto_aux.cmx] Error 2 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/builddir/build/BUILD/whenjobs-0.7.3/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/builddir/build/BUILD/whenjobs-0.7.3' make: *** [all] Error 2
This doesn't seem to be to do with 32 bit. Xdr.safe_add is an ocamlnet symbol, and whenproto_aux.ml is a generated file (from /usr/bin/ocamlrpcgen). We need to add to %build: rm -f lib/whenproto_aux.{ml,mli}
Updated: Spec URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs.spec SRPM URL: http://oirase.annexia.org/reviews/whenjobs/whenjobs-0.7.3-1.fc17.src.rpm F17 scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4212335
Ok, tested it, it start, it install fine, and compile. Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== C/C++ ==== [x]: MUST Package does not contain any libtool archives (.la) [x]: MUST Package does not contain kernel modules. [x]: MUST Package contains no static executables. [x]: MUST Rpath absent or only used for internal libs. ==== Generic ==== [x]: EXTRA Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: EXTRA Spec file according to URL is the same as in SRPM. [x]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: MUST Buildroot is not present Note: Unless packager wants to package for EPEL5 this is fine [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [x]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean would be needed if support for EPEL is required [x]: MUST Sources contain only permissible code or content. [x]: MUST Each %files section contains %defattr if rpm < 4.4 Note: Note: defattr macros not found. They would be needed for EPEL5 [ ]: MUST Macros in Summary, %description expandable at SRPM build time. [-]: MUST Package contains desktop file if it is a GUI application. [-]: MUST Development files must be in a -devel package [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Package complies to the Packaging Guidelines [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [x]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf would be needed if support for EPEL5 is required [-]: MUST Large documentation files are in a -doc subpackage, if required. [x]: MUST 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. [-]: MUST License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "*No copyright* GENERATED FILE", "GPL (v2 or later)" For detailed output of licensecheck see file: /home/misc/checkout/git/FedoraReview/803089-whenjobs/licensecheck.txt [x]: MUST Package consistently uses macro is (instead of hard-coded directory names). [x]: MUST Package is named using only allowed ascii characters. [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Package is not relocatable. [x]: MUST Requires correct, justified where necessary. [x]: MUST Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. [x]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: MUST Package contains systemd file(s) if in need. [x]: MUST File names are valid UTF-8. [x]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [x]: SHOULD 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]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: SHOULD Package functions as described. [x]: SHOULD Latest version is packaged. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD SourceX / PatchY prefixed with %{name}. [x]: SHOULD SourceX is a working URL. [x]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: SHOULD Package should compile and build into binary rpms on all supported architectures. [x]: SHOULD %check is present and all tests pass. [x]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. Rpmlint ------- Checking: whenjobs-0.7.3-1.fc17.src.rpm whenjobs-0.7.3-1.fc17.x86_64.rpm whenjobs.src: W: spelling-error Summary(en_US) cron -> corn, con, crone whenjobs.src: W: spelling-error %description -l en_US cron -> corn, con, crone whenjobs.x86_64: E: devel-dependency ocaml-camlp4-devel whenjobs.x86_64: W: spelling-error Summary(en_US) cron -> corn, con, crone whenjobs.x86_64: W: spelling-error %description -l en_US cron -> corn, con, crone whenjobs.x86_64: W: only-non-binary-in-usr-lib whenjobs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/whenjobs/whenlib.cmxa whenjobs.x86_64: W: spurious-executable-perm /usr/lib64/whenjobs/whenlib.cmxa 2 packages and 0 specfiles checked; 1 errors, 7 warnings. Rpmlint (installed packages) ---------------------------- Cannot parse rpmlint output: Requires -------- whenjobs-0.7.3-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): /usr/bin/ocamlc libc.so.6()(64bit) libdl.so.2()(64bit) libm.so.6()(64bit) libpcre.so.0()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) mailx ocaml(Arg) = 60e2cbb1ef3b8a7bfbdceb75ebf3aa31 ocaml(Array) = 720848e0b508273805ef38d884a57618 ocaml(Big_int) = ef16c44153a41f60de69bff12d11ee35 ocaml(Bigarray) = 7999848d08322c0bcb568840b1d2cf0d ocaml(Buffer) = 40bf652f22a33a7cfa05ee1dd5e0d7e4 ocaml(Camlp4) = 8701f287be2345d1e72822c94a432852 ocaml(Camlp4_config) = 6163f28f963cb16297c065b8a6e30b91 ocaml(Camlp4_import) = 9587d9e9514bd24208f106666207c953 ocaml(Char) = 3dee29b414dd26a1cfca3bbdf20e7dfc ocaml(Complex) = 9aea79838f042027ab9539d587834bc8 ocaml(Filename) = bc87b0a21cde095f477cca1f0abb32b8 ocaml(Format) = e0de312c23ff9caec6c5bfa1f44a43b4 ocaml(Hashtbl) = 9c86f7320512d6740a75017fd66156a8 ocaml(Int32) = c91c0bbb9f7670b10cdc0f2dcc57c5f9 ocaml(Int64) = 8f09e1331fe8af2d7b954585551cbe4f ocaml(Lexing) = 7d5623c54d065ad3f652261d2776959c ocaml(List) = 9c85fb419d52a8fd876c84784374e0cf ocaml(Nat) = 7ab8ce32b152977f693920f75bf5b3dc ocaml(Nativeint) = 409308ec9d1a2ab99fa91fd0dfefca97 ocaml(Netnumber) = ff99a76e025c4a87db6c6cd3fbfa192d ocaml(Netsys_mem) = 572501f17fca7a174c4e01d3a538c374 ocaml(Netsys_types) = ff27e879a1d4c7172a8b839b54db9e8c ocaml(Obj) = 3aeb33d11433c95bb62053c65665eb76 ocaml(Parsing) = 59e1db94d28f5c920aaddc6ba25fb659 ocaml(Pervasives) = db723a1798b122e08919a2bfed062514 ocaml(Printf) = 55250c391e05a095d3696890d0d554a2 ocaml(Queue) = 79fd3a55345b718296e878c0e7bed10e ocaml(Rpc_program) = 77c1f3cf557593d4dd8e9f9801dff31c ocaml(Rtypes) = b23e2fb4b78c27eb1ca98fa4058df05c ocaml(Set) = 7b178c9cf52b5cb8145441e1a0d309f5 ocaml(Stream) = cc2abcbdc5423e35862902ae0a0a4a7d ocaml(String) = 06ab5e6944c47322b9d305c0aa0b07ff ocaml(Sys) = 4fe60c54d4de0672924c1d4ee2053e46 ocaml(Unix) = 2a19929a535447ed0c8fc58ae3adc1a0 ocaml(Whenexpr) = 7d73ce460d86a777393132cb1ce474cf ocaml(Whenproto_aux) = 89e0f5b452e9faee7ffb701326792989 ocaml(Whenstate) = 56e8ed28162bad807c5429078fccbf10 ocaml(Whenutils) = 8a1526e04b66ab23387a3a4ecffed0c7 ocaml(Xdr) = 946e3e26ef24d8a2ad9840a5fd5c9433 ocaml(Xdr_mstring) = 2a94b8b145ab116df240d69864ce30df ocaml(runtime) = 3.12.1 ocaml-camlp4-devel ocaml-findlib-devel rtld(GNU_HASH) Provides -------- whenjobs-0.7.3-1.fc17.x86_64.rpm: ocaml(Config) = 22e56187c01934c5147c0c3b5e3fa721 ocaml(Pa_when) = 1183350fefb321e5a5f17e9faf5869f3 ocaml(Whenexpr) = 7d73ce460d86a777393132cb1ce474cf ocaml(Whenfile) = 6883258555279b5232ede1350a8ffb32 ocaml(Whenlock) = 4d3be5ca7c55e025f967acaaae1871d3 ocaml(Whenproto_aux) = 89e0f5b452e9faee7ffb701326792989 ocaml(Whenstate) = 56e8ed28162bad807c5429078fccbf10 ocaml(Whentools) = 6f9af1b39de525d24b8e04cb8402e6dd ocaml(Whenutils) = 8a1526e04b66ab23387a3a4ecffed0c7 whenjobs = 0.7.3-1.fc17 whenjobs(x86-64) = 0.7.3-1.fc17 MD5-sum check ------------- http://people.redhat.com/~rjones/whenjobs/files/whenjobs-0.7.3.tar.gz : MD5SUM this package : e0fe81dde02284f7e2a6da90d90def16 MD5SUM upstream package : e0fe81dde02284f7e2a6da90d90def16 Generated by fedora-review 0.2.0 (53cc903) last change: 2012-07-09 Command line :./try-fedora-review -b 803089 External plugins: So good to go.
New Package SCM Request ======================= Package Name: whenjobs Short Description: Replacement for cron with dependencies Owners: rjones Branches: f17 InitialCC:
Git done (by process-git-requests).
Thanks. Just building them now.
Already exists.
Sorry not sure what happened then.
whenjobs-0.7.3-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/whenjobs-0.7.3-1.fc17
whenjobs-0.7.3-1.fc17 has been pushed to the Fedora 17 testing repository.
whenjobs-0.7.3-1.fc17 has been pushed to the Fedora 17 stable repository.