Spec URL: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec SRPM URL: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/8/SRPMS/parrot-0.9.1-1.fc8.src.rpm Description: Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot is the target for Rakudo Perl 6, as well as variety of other languages.
There was initial attempt to package this title (see https://bugzilla.redhat.com/show_bug.cgi?id=246348 ), so, please, contact Steven Pritchard in order to better coordinate your efforts.
An email to Steven Pritchard is written. I get no answer until now. Should I additional put the email-text as a comment to the id=246348? I produced parrot-0.9.1 rpms (32bit) for Fedora 7, 8, 9, 10 and 11alpha. On a 64bit computer I produced parrot-0.9.1 rpms for Fedora 9. The packages are all stored under the URL ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/<fedora-release-number>/... I would be nice if the packages would be tested. I am not sure if the parrot-0.9.1 packages are installable without problems on other computers. I think the package for Fedora 10 will make trouble. It is a subpackage parrot-docs integrated. I think this subpackage do not need an architectur. But I am not successful to make it as a noarch subpackage.
(In reply to comment #2) > An email to Steven Pritchard is written. I get no answer until now. Should I > additional put the email-text as a comment to the id=246348? Let's wait for a while - maybe he is at the vacations, maybe he got a lot of work to do. In any case, feel free to add a comments to a previus review request. > I would be nice if the packages would be tested. I am not sure if the > parrot-0.9.1 packages are installable without problems on other computers. I > think the package for Fedora 10 will make trouble. In order to check successful builds of packages, we may use koji (for example, to check whether yourapp.srpm can be built on F-10): koji build --scratch dist-f10 /path/to/yourapp.src.rpm > It is a subpackage parrot-docs integrated. I think this subpackage do not need > an architectur. But I am not successful to make it as a noarch subpackage. Noarch subpackages is the upcoming feature of rpm, so let's wait while necessary functionality will be fully implement and tested. BTW if nobody volunteers, I'll review your package (after we establish communications with Steven to resolve the issue above).
FYI, Steve indicated in an unrelated mailing list message that he is extremely busy at the moment and requested assistance getting his pacakges through the gcc44 thing, new fonts guidelines and mass rebuild. He also indicated that he doesn't want to orphan them because he intends to come back when able.
By the ppc architecture the problems starting during configuring Parrot. May be there is a lot of work to do that Parrot builds on PowerPC. Is it necessary that parrot builds successful on ppc?
I was successful to build Parrot on PowerPC (ppc and ppc64).
*** Bug 246348 has been marked as a duplicate of this bug. ***
Gerd, please build packages of 1.0.0 so we can review them.
I build parrot 1.0.0 from the spec provided in the official tarball before I discovered this topic I modified this spec to remove rpath and to add somes BuildRequires (ctags and openssl-devel) Spec URL : http://www.bde.espci.fr/~george27/parrot.spec Srpm URL : http://www.bde.espci.fr/~george27/parrot-1.0.0-1.fc10.src.rpm
I'm somewhat certain that filename-based Requires and BRs aren't allowed in Fedora. (BuildRequires: /usr/bin/perldoc, Requires: %{_libdir}/pkgconfig)
Created attachment 336211 [details] Update .spec file
Please don't use Requires: %{_libdir}/pkgconfig Instead require pkgconfig which owns this dir, see https://fedoraproject.org/wiki/Packaging/Guidelines#Pkgconfig_Files File based deps slow down the dependency resolution process and should only be used when it makes sense (e. g. two different packages provide %{_bindir}/foo).
Note that %ifarch i386 x86_64 is obsolete, now that we build i586. Use %ifarch %{ix86} x86_64 instead.
Per Christoph's comments: Spec: http://fetter.org/~shackle/parrot.spec SRPM: http://fetter.org/~shackle/parrot-1.0.0-3.fc10.src.rpm
Package devel not full. I can't build pynie (http://code.google.com/p/pynie/). The tools repertory have to be installed. I try, but I have still this error : [manawy@teatime]~/Téléchargement/pynie-read-only% ./configure Creating Makefile Can't locate Parrot/Configure.pm in @INC (@INC contains: /usr/lib64/parrot/1.0.0/tools/dev/../../lib /usr/lib64/parrot/1.0.0/tools/dev/../lib /usr/lib64/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/local/lib64/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib64/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl /usr/local/lib/perl5/site_perl /usr/local/lib64/perl5/site_perl /usr/lib/perl5/site_perl .) at /usr/lib64/parrot/1.0.0/tools/dev/gen_makefile.pl line 12. BEGIN failed--compilation aborted at /usr/lib64/parrot/1.0.0/tools/dev/gen_makefile.pl line 12. You can now use 'gmake' to build Pynie, and 'gmake test' to test it.
I think this is only a problem with "pynie" because the necessary changes are not make since pynie has it own's svn repository. I tried to build pynie with an checked out parrot and there are also problems: [gz016@vgerd1 pynie.svn]$ perl Configure.pl Creating Makefile Can't open build/Makefile.in: Datei oder Verzeichnis nicht gefunden at /home/gz016/parrot/tools/dev/../../lib/Parrot/Configure/Compiler.pm line 346. You can now use 'gmake' to build Pynie, and 'gmake-test' to test it. [gz016@vgerd1 pynie.svn]$ No configuration options are working, even --gen-parrot are not working.
It would be nice to have parrot in Fedora, when it had realeased v1.0. The rpmlint output should be really fixed before review. rpmlint parrot-doc has huge output and also parrot-devel has serious error. parrot-devel.x86_64: E: no-ldconfig-symlink /usr/lib64/libparrot.so Would be someone from previous packagers interested in reviewing this? It seems to me that you spend a lot of time on this issue and you'll make the most thorough review.
(In reply to comment #16) > I think this is only a problem with "pynie" because the necessary changes are > not make since pynie has it own's svn repository. Pynie compiles and runs just fine from an installed Parrot and from the Ubuntu packages. Your packages are missing a number of development libraries necessary for building a language from source. You could include them in the 'parrot' package, but a better solution is to add a parrot-devel package for the developer tools. Let me know if you need a list of files to install (it will be the same list as the Ubuntu packages). Allison
(In reply to comment #18) > Pynie compiles and runs just fine from an installed Parrot and from the Ubuntu > packages. > > Your packages are missing a number of development libraries necessary for > building a language from source. You could include them in the 'parrot' > package, but a better solution is to add a parrot-devel package for the > developer tools. Let me know if you need a list of files to install (it will be > the same list as the Ubuntu packages). > > Allison Hello Allison, I remember your message for the Ubuntu packages and looked at the URL. I think it will be easier for my, if you send me a list of the necessary files which are needed to be installed. I am thinking to do this files in a tools subpackage. Gerd
The latest spec is: Spec URL: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec Build URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=1257732 - change the Group of the subpackage "-docs" to Documentation - put the main-documentation from the docs-package to the main package - add some newer source revision
- LICENSE file added - copy parrot source directory "lib" to add perl modules I added files until building pynie works: [gz016@vgerd1 pynie.svn]$ make /usr/bin/parrot /usr/lib64/parrot/1.0.0/languages/nqp/nqp.pbc --output=src/gen_actions.pir \ --encoding=fixed_8 --target=pir src/parser/actions.nqp /usr/bin/perl -MExtUtils::Command -e cat src/builtins/funcs.pir src/builtins/io.pir src/builtins/lists.pir src/builtins/oper.pir > src/gen_builtins.pir /usr/bin/parrot -o pynie.pbc pynie.pir [gz016@vgerd1 pynie.svn]$ The URL of the latest spec file remains the same.
libparrot.so is not a symlink because with make install DESTDIR=$RPM_BUILD_ROOT a perl script will be executed that copy from BUILD (blib/lib/) to BUILDROOT but did not care about that libparrot.so is a symlink. A workaround can be done in the spec file (I tried). I think it is better the Parrot community will patch the source in the next days.
The URL of the spec file with the workaround is: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec.6 The URL of the ticket is: https://trac.parrot.org/parrot/ticket/509
The latest URL are: Spec: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec SRPM: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/SRPMS/parrot-1.0.0-5.fc10.src.rpm - add patch for the file "tools/dev/install_files.pl" - take svn-resion: 37825 in src.rpm
Lubomir, if you are going to review this package I will sponsor Gerd. We are both Germans and we already know each other, so I think it makes sense.
I modified the spec-file and build the source rpm (.src.rpm) again. The URLs for this latest files are still the same: Spec: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec SRPM: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/SRPMS/parrot-1.0.0-5.fc10.src.rpm - take the parrot source in .src.rpm from svn-revision 37835 - add commands to reduce output of errors when using rpmlint - define RPM_PAR_LIB_DIR added The scratch builds with "koji" from Fedora 8 to Fedora 11 still finished successful, the URLs are: f8: http://koji.fedoraproject.org/koji/taskinfo?taskID=1272316 f9: http://koji.fedoraproject.org/koji/taskinfo?taskID=1272363 f10: http://koji.fedoraproject.org/koji/taskinfo?taskID=1272424 f11: http://koji.fedoraproject.org/koji/taskinfo?taskID=1272461 Although "rpmlint" output of parrot rpms writes a lot of errors. I place the output of rpmlint under a directory with the URL: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/rpmlint The most errors occurs because parrots build system is for different operation systems und use explicit calls to execute scripts. I think this should not aviod the review. Would anyone of the Fedora rpm experts say my if rpmlint errors should still reduced or if it does not matter? P.S. I have holiday until 8th April and go on a trip. So I will not look and work at this before the 9th April.
In the source rpm (.src.rpm) I put again the original tar file (parrot-1.0.0.tar.gz). The URL of the SRPM remains the same.
Created attachment 338895 [details] rawhide mockbuild failed, buildlog attached. I tried to rebuild the latest package locally in mock, but it failed. Please take a look at the error.
Ok, a scratch build succeeded: http://koji.fedoraproject.org/koji/taskinfo?taskID=1287295 I cannot eliminate a problem with my computer, eventually bad RAM, so I suggest to ignore the above comment.
I updated "parrot.spec" and the source rpm. The URLs remain the same. - change 'make install' to 'make install-dev' to also install support for development - add subpackage "tools"
FYI: The build error from comment # 28 was caused by SELinux, so we don't need to care about it any further.
Uff, this seems to need a lot of work to be accepted. Sorry the review took so long. 1.) Don't require perl modules by package name: BuildRequires: perl-Test-Harness Requires: perl-Pod-Simple ... This would be better: BuildRequires: perl(Test::Harness) ... 2.) Source1 is useless: BuildRequires: ed Source1: reduce_rpmlint_err.tar.gz Do what the scripts do inline. It might be a lot easier to use sed instead of ed. 3.) Subpackage buildrequire %package docs ... BuildRequires: perl %package tools ... BuildRequires: ed Makes no sense. Please don't define BRs in subpackages. Furthermore, perl is in default buildgroup, thus can be ommited. 4.) Why would tools require pkgconfig? %package tools ... Requires: pkgconfig 5.) This always evaluates to false if test "%{_vendor}" = "suse" please remove it 6.) No architecture independence %ifarch %{ix86} x86_64 ... %else # PowerPC ... %endif Remove this, or explain. 7.) %{_smp_mflags} not used make make parrot_utils make installable make html Either use them or explain why you don't. 8.) No useless comments please #make install DESTDIR=$RPM_BUILD_ROOT ... #rm -rf $RPM_BUILD_ROOT/%{_docdir}/parrot # for Solaris? 9.) 10.) Don't strip anything %{__strip} %{RPM_PAR_LIB_DIR}dynext/*.so Remove this 11.) Bad comment rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot # necessary for SuSE Well, eh, SUSE? 12.) Use macros for directories where appropriate --lex=/usr/bin/flex \ --yacc=/usr/bin/yacc \ ... rm -rf $RPM_BUILD_ROOT%{_usr}/share/doc/parrot # necessary for SuSE %{_bindir}, %{_datadir}, etc... 13.) Compiler generates .so-s executable # Force permissions on shared versioned libs so they get stripped. find $RPM_BUILD_ROOT%{_libdir} -type f -name '*.so.*' -exec chmod 755 {} \; Is this necessary? Explain if yes. 14.) Enable test suite # make test < /dev/null # %{?_with_fulltest:make fulltest < /dev/null} # make test || : # %{?_with_fulltest:make fulltest || :} 15.) Comment patches and submit them upstream? Patch0: parrot-install_files.patch What does this do? Was it submitted upstream? 16.) Provides not sane parrot-tools: perl(DB) Perl debugger? I guess not. perl(File::Which) = 0.05 You embed File::Which in /usr/lib/parrot/1.0.0/tools/lib/File/Which.pm You should not. Depend on perl-File-Which package instead. parrot-docs: perl(A) perl(B) You should not provide these. 17.) Doc shouldn't depend on perl: parrot-docs requires these: perl(strict) perl(warnings)
18.) Don't use chrpaths to get rid of rpaths patch the build configuration instead. Comment the LD_LIBRARY_PATH hack.
Points 1, 3 and 18 are already done. Files are updated on the FTP-Server: ftp.uni-siegen.de.
(In reply to comment #34) > Points 1, 3 and 18 are already done. Thanks. > Files are updated on the FTP-Server: ftp.uni-siegen.de. I'll proceed with the review once all points are acted upon (either fixed or explained). Please post full URL of SRPM and SPEC file once it is done.
Thank you for the very helpful list of points to have fixed. All points are fixed now. I hope the comments in the spec file are sufficient. URLs: SRPM-file: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/SRPMS/parrot-1.0.0.src.rpm SPEC-file: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec Scratch-Build-f10: http://koji.fedoraproject.org/koji/taskinfo?taskID=1316317 rpmlint-output: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/rpmlint
Seems much better. Thanks a lot for your effort! I'll take a closer look on weekend and approve this unless there's something serious, which is unlikely. Until then, there's a couple of minor issues that may need some attention: 1.) Are you sure you want to pin this to one specific version? Using >= 0.05 would make much more sense. Even if 0.06 or some later version breaks this, it wouldn't make things any worse and save you from having to bump this on updates. Requires: perl(File::Which) = 0.05 2.) Booo, this sucks :) ... %else # PowerPC, not all options work with the PowerPC-architecture, I do not test # which is not working (Gerd) When compiled on non-x86, compiler complains about non-existent -maccumulate-outgoing-args option. Why is it needed? Remove it, or make it conditional for x86, rest of Configure.pl options seem to work well on powerpc. 3.) Why is this conditional? %{?_with_fulltest: make fulltest} Does it take a lot of time? If yes, it should still be used for production builds and disabled for development ones; having the condition effectively reverted, replacing _with_fulltest by _without_fulltest. 4.) Please exclude static library: %{_libdir}/libparrot.a
Also, I see this blocks FE_NEEDSPONSOR. I can sponsor you, but I'll appreciate if you've picked a package or two from the review queue and done a informal reviews before. That is usually done to demonstrate that packager is familiar with RPM and packaging guidelines. This might be helpful to find a package that's waiting for a review: http://fedoraproject.org/PackageReviewStatus/NEW.html
(In reply to comment #38) > Also, I see this blocks FE_NEEDSPONSOR. I can sponsor you, but I'll appreciate > if you've picked a package or two from the review queue and done a informal > reviews before. As i said in comment # 25 I'd like to sponsor Gerd once this package is reviewed. Nevertheless some informal pre-reviews wouldn't hurt.
For the closer look on weekend I fixed the four points from the second list today. So your weekend is saved but do not look too close. :-) Comments are in the spec file. The changed files have still the same URL: SRPM-file: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/SRPMS/parrot-1.0.0.src.rpm SPEC-file: ftp://ftp.uni-siegen.de/pub/parrot.rpms/fedora/specs/parrot.spec The URL of the scratch-build with fulltest: http://koji.fedoraproject.org/koji/taskinfo?taskID=13191
Sorry, the URL from the scratch-build was wrong (it miss to numbers): http://koji.fedoraproject.org/koji/taskinfo?taskID=1319166
What about 1.1.0?
1.1.0 is not intended to be a stable release and we want 1.0.0 to appear in F-10 and F-11. We can easily upgrade to 1.1.0 in rawhide once this package is reviewed.
Thanks Gerd, seems perfect now. - Spec file clean and legible, American English used - Filelists sane - Requires & Provides ok - Uses compiler flags - Respects FHS - RPMlint reasonably happy - Compiles fine in mock - Works Tadaaaa... APROVED (Contrary to what I stated in comment #38, Christoph is probably going to sponsor you now.)
(In reply to comment #44) > (Contrary to what I stated in comment #38, Christoph is probably going to > sponsor you now.) Gerd, I 'm sponsorind you now in order to get parrot into Fedora 11. Nevertheless I'd like to see some review efforts from you before you submit other packages.
Please add an ExcludeArc for ppc64 and ppc on the package. The build of the package fails on this architecture. Because I have try it too, I have open a bug on upstream.complaining about this issue.
Sorry for the additional comment. But I will point out, that It's possible to do a scratch build for a package on koji without the need, that a cvs module may exist for it. This may be hekpful to find out issue described on #46
Gerd, rakudo doesn't build on 1.0. Please consider an upgrade.
David, rakudo doesn't build on an installed Parrot 1.1.0 or on an installed current svn-version. May be patches from Reini Urban help: http://code.google.com/p/cygwin-rurban/source/browse/trunk/release/parrot For discussing that you should post to: parrot-dev.org
about #46 and #47: Of course the package with the SPEC and SRPM files in this review build on ppc64 and ppc. It is tested with scratch builds without a cvs module for it.
Gerd, now that you're sponsored, please request CVS and import the package (as described in http://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure) When it comes to the ppc issue, please do not ExcludeArch it. Feel free to ask for help in case you'll be having trouble getting it build.
New Package CVS Request ======================= Package Name: parrot Short Description: Parrot is a virtual machine Owners: gerd Branches: F-8 F-9 F-10 F-11 InitialCC: gerd
Sorry, I have to point out, that F-8 is EOL.
cvs done (without F-8, as we do not allow branches for F-8 anymore).
parrot-1.0.0-6.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/parrot-1.0.0-6.fc9
parrot-1.0.0-6.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/parrot-1.0.0-6.fc11
parrot-1.0.0-6.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/parrot-1.0.0-6.fc10
parrot-1.0.0-6.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
parrot-1.0.0-6.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
parrot-1.0.0-6.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.
Package Change Request ====================== Package Name: parrot New Branches: EL-6 Owners: gerd A first successful epel scratch build is at the URL: http://koji.fedoraproject.org/koji/taskinfo?taskID=2193445
CVS Done