For those who don't know, the Fedora 14 feature submission deadline is one week from today, Tuesday July 13th
https://fedoraproject.org/wiki/Releases/14/Schedule
I think it would be great if we can add Ruby 1.8.7 to that feature list, and I believe we are pretty much there with the latest ruby rpm
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-2.fc13.src.rpm
This latest rpm addresses all the outstanding issues so far, including various small macro related cleanups, the readdition of the upstream ext/tk codebase, and the removal of .tk.old (courtesy of Jim).
If there is anything I missed please shout out, else please test your software against it extensively so that we can push it to rawhide and add the updated Ruby to the F14 feature list before next week. To provide the lowest barrier to test Fedora / Ruby 1.8.7, I also threw together a virtual appliance with everything (Ruby 1.8.7 and Rails 2.3.8) all setup to go (simply launch the appliance, checkout your code on it, and test away). It can be downloaded here
http://projects.morsi.org/polisher/appliances/fedora-ruby-187.tgz
Also, once again, if you just need the updated rails rpms to test against as well, you can find those here
http://mo.morsi.org/blog/node/322
-Mo
Mohammed Morsi wrote, at 07/07/2010 10:37 AM +9:00:
For those who don't know, the Fedora 14 feature submission deadline is one week from today, Tuesday July 13th
https://fedoraproject.org/wiki/Releases/14/Schedule
I think it would be great if we can add Ruby 1.8.7 to that feature list, and I believe we are pretty much there with the latest ruby rpm
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-2.fc13.src.rpm
This latest rpm addresses all the outstanding issues so far, including various small macro related cleanups, the readdition of the upstream ext/tk codebase, and the removal of .tk.old (courtesy of Jim).
If there is anything I missed please shout out, else please test your software against it extensively so that we can push it to rawhide and add the updated Ruby to the F14 feature list before next week. To provide the lowest barrier to test Fedora / Ruby 1.8.7, I also threw together a virtual appliance with everything (Ruby 1.8.7 and Rails 2.3.8) all setup to go (simply launch the appliance, checkout your code on it, and test away). It can be downloaded here
http://projects.morsi.org/polisher/appliances/fedora-ruby-187.tgz
Also, once again, if you just need the updated rails rpms to test against as well, you can find those here
http://mo.morsi.org/blog/node/322
-Mo
Thank you. I want to try your srpm at least by Sunday.
Regards, Mamoru
2010/7/8 Mamoru Tasaka mtasaka@ioa.s.u-tokyo.ac.jp
http://mo.morsi.org/blog/node/322
-Mo
Cool.
Hello, all:
Mamoru Tasaka wrote, at 07/08/2010 06:06 PM +9:00:
Mohammed Morsi wrote, at 07/07/2010 10:37 AM +9:00:
For those who don't know, the Fedora 14 feature submission deadline is one week from today, Tuesday July 13th
https://fedoraproject.org/wiki/Releases/14/Schedule
I think it would be great if we can add Ruby 1.8.7 to that feature list, and I believe we are pretty much there with the latest ruby rpm
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-2.fc13.src.rpm
First of all, I appreciate your contribution on ruby187 srpm.
However I see some regressions in your srpm. - Many document or example files which were present in 1.8.6.x srpm are now missing. * -docs rpm now contain copyright files or so only and completely useless * -tcltk rpm now misses example files
- -mode subpackage is now missing. If there is some reason for this, please add proper obsoletes / provides on at least one of the created binary rpm so that upgrade path won't break, with adding some comments there.
- on i686, Arch-dependent files are now moved from /usr/lib/ruby/1.8/i386-linux to /usr/lib/ruby/1.8/ * on i386 this is very confusing because there are both arch-dependent and arch-indepent files under /usr/lib/ruby/1.8 . - Note that usual package uses /usr/share for arch-independent files and /usr/lib{,64} for arch-dependent files. Similarly, we should use different directories for arch-dependent and arch-independent files. Also, I guess kanarip is now considering to move arch-independent ruby files to /usr/share for ruby19. * Also now on i686 build.log conplains: ----------------------------------------------------------------- DEBUG: warning: File listed twice: /usr/lib/ruby DEBUG: warning: File listed twice: /usr/lib/ruby/1.8 DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/bubblebabble.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/md5.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/rmd160.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha1.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha2.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha2.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io/nonblock.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io/wait.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc/cparse.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc/parser.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/rbconfig.rb DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby/1.8 DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby/1.8/i386-linux ----------------------------------------------------------------- Please move arch-dependent files to /usr/lib/ruby/1.8/i386-linux as before
Other comments: - Please write some comments what the patches in the srpm is for. Also please comment if the patches are fedora-specific or not: https://fedoraproject.org/wiki/Packaging/Guidelines#All_patches_should_have_...
It seems that binary rpms rebuilt from your srpm basically works on i686, thank you.
Regards, Mamoru
Mamoru Tasaka wrote:
https://fedoraproject.org/wiki/Releases/14/Schedule
I think it would be great if we can add Ruby 1.8.7 to that feature list, and I believe we are pretty much there with the latest ruby rpm
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-2.fc13.src.rpm
First of all, I appreciate your contribution on ruby187 srpm.
However I see some regressions in your srpm.
...
- -mode subpackage is now missing. If there is some reason for this, please add proper obsoletes / provides on at least one of the created binary rpm so that upgrade path won't break, with adding some comments there.
Thank you for the review. As far as I know, the ruby mode provided by emacs-23.2.x is fine. That's why I removed it from the RHEL-6 rpm.
On 07/10/2010 03:39 PM, Mamoru Tasaka wrote:
Hello, all:
Mamoru Tasaka wrote, at 07/08/2010 06:06 PM +9:00:
Mohammed Morsi wrote, at 07/07/2010 10:37 AM +9:00:
For those who don't know, the Fedora 14 feature submission deadline is one week from today, Tuesday July 13th
https://fedoraproject.org/wiki/Releases/14/Schedule
I think it would be great if we can add Ruby 1.8.7 to that feature list, and I believe we are pretty much there with the latest ruby rpm
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-2.fc13.src.rpm
First of all, I appreciate your contribution on ruby187 srpm.
No problem. New SRPM addressing these concerns available here:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm
Comments inline below.
However I see some regressions in your srpm.
- Many document or example files which were present in 1.8.6.x srpm are now missing.
I added alot of the documentation from the ruby source back. Note, there were three documentation sources in 1.8.6 that I removed for the following reasons:
Source1: http://elbereth-hp.hp.infoseek.co.jp/files/ruby/refm/old/2005/%%7Bname%7D-re...
This is the 1.8.2 reference manual is it not, which is obviously outdated and I'm not sure if we want to be shipping old (almost certainly inacurate) docs. I couldn't find an updated refm on that site, so I removed it all together
Source2: ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-990927.tar.gz Source3: ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-jp-990927.tar.gz
These also seem outdated (written in 1999), and again I couldn't find more recent copies via the web so I removed them.
I understand the desire to ship some of these docs via rpm packages, so even if a user doesn't have internet access they still can read up on Ruby usage, but I'm not convinced that shipping incorrect documentation is better than shipping no documentation (which we aren't doing anymore anyways since I added the source docs back).
* -docs rpm now contain copyright files or so only and completely useless
Since docs contains the ruby reference manual and the faqs above, I removed this package all together and added an obsolete. I can readd if there is up to date documentation available.
* -tcltk rpm now misses example files
Readded these.
- -mode subpackage is now missing. If there is some reason for this, please add proper obsoletes / provides on at least one of the created binary rpm so that upgrade path won't break, with adding some comments there.
As Jim mentioned, these are now provided as part of the emacs package and thus I removed them. I marked the package as obsoleted as you suggested.
- on i686, Arch-dependent files are now moved from /usr/lib/ruby/1.8/i386-linux to /usr/lib/ruby/1.8/
- on i386 this is very confusing because there are both arch-dependent and arch-indepent files under /usr/lib/ruby/1.8 .
- Note that usual package uses /usr/share for arch-independent files and /usr/lib{,64} for arch-dependent files. Similarly, we should use different directories for arch-dependent and arch-independent files. Also, I guess kanarip is now considering to move arch-independent ruby files to /usr/share for ruby19.
Done.
* Also now on i686 build.log conplains:
DEBUG: warning: File listed twice: /usr/lib/ruby DEBUG: warning: File listed twice: /usr/lib/ruby/1.8 DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/bubblebabble.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/md5.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/rmd160.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha1.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha2.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/digest/sha2.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io/nonblock.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/io/wait.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc/cparse.so DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/racc/parser.rb DEBUG: warning: File listed twice: /usr/lib/ruby/1.8/rbconfig.rb DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby/1.8 DEBUG: warning: File listed twice: /usr/lib/ruby/site_ruby/1.8/i386-linux
Please move arch-dependent files to /usr/lib/ruby/1.8/i386-linux as before
Done
Other comments:
- Please write some comments what the patches in the srpm is for. Also please comment if the patches are fedora-specific or not: https://fedoraproject.org/wiki/Packaging/Guidelines#All_patches_should_have_...
Done.
It seems that binary rpms rebuilt from your srpm basically works on i686, thank you.
Regards, Mamoru
Also a couple of other things. First off, it seems the change log is about as twice the size of the rest of the spec file itself. Is it ever acceptable to truncate this? Perhaps with a note, saying see cvs for the rest of the changelog?
Also what does everyone think about adding 'Ruby 1.8.7' as a feature for F14 by tomorrow's submission deadline. It seems we are getting pretty close to where we want to be with the Ruby 1.8.7 rpm and since there are a few other language updates on the list (Python, Perl), it'd be great if we could add Ruby to the bunch.
-Mo
On Tue, Jul 13, 2010 at 12:03 AM, Michael Stahnke mastahnke@gmail.comwrote:
I'd like to see it as an F14 feature.
Would be great to have it as a feature - I think you are probably closer to complete than many of the other features, including Python ( https://fedoraproject.org/wiki/Releases/14/FeatureList). I say go for it, it has to approved anyway ( https://fedoraproject.org/wiki/Features/Policy/Proposals), and if you hit a major roadblock, it could slip if absolutely needed (though I really don't see this happening, seems to be 90% there already). Great work pushing this forward, really looking forward to having a slightly more modern ruby available in fedora!
-j
Cool!
2010/7/13 Jason Guiditta jason.guiditta@gmail.com
On Tue, Jul 13, 2010 at 12:03 AM, Michael Stahnke mastahnke@gmail.comwrote:
I'd like to see it as an F14 feature.
Would be great to have it as a feature - I think you are probably closer to complete than many of the other features, including Python ( https://fedoraproject.org/wiki/Releases/14/FeatureList). I say go for it, it has to approved anyway ( https://fedoraproject.org/wiki/Features/Policy/Proposals), and if you hit a major roadblock, it could slip if absolutely needed (though I really don't see this happening, seems to be 90% there already). Great work pushing this forward, really looking forward to having a slightly more modern ruby available in fedora!
-j
ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
On 07/13/2010 09:04 AM, Jason Guiditta wrote:
On Tue, Jul 13, 2010 at 12:03 AM, Michael Stahnke <mastahnke@gmail.com mailto:mastahnke@gmail.com> wrote:
I'd like to see it as an F14 feature.
Would be great to have it as a feature - I think you are probably closer to complete than many of the other features, including Python (https://fedoraproject.org/wiki/Releases/14/FeatureList). I say go for it, it has to approved anyway (https://fedoraproject.org/wiki/Features/Policy/Proposals), and if you hit a major roadblock, it could slip if absolutely needed (though I really don't see this happening, seems to be 90% there already). Great work pushing this forward, really looking forward to having a slightly more modern ruby available in fedora!
-j
ruby-sig mailing list ruby-sig@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/ruby-sig
Feature submitted:
http://fedoraproject.org/wiki/Features/Ruby_1.8.7
-Mo
Hello, all:
Mohammed Morsi wrote, at 07/13/2010 12:50 PM +9:00:
On 07/10/2010 03:39 PM, Mamoru Tasaka wrote:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm
Again thank you!
Also a couple of other things. First off, it seems the change log is about as twice the size of the rest of the spec file itself. Is it ever acceptable to truncate this? Perhaps with a note, saying see cvs for the rest of the changelog?
- If you want to shorten %changelog, please check what "vim" srpm does. i.e. - Create "Changelog.rpm" - Move old %changelog entry there - And at the end of %changelog, write "for older history, please see 'Changelog.rpm'".
Some notes for 1.8.7.299-3:
* Obsoletes for -mode, -docs - Please make Obsoletes EVR specific - in case these subpackage revives. Obsoletes without EVR specification causes some annoying problems in some cases i.e. Change Obsoletes to like: "Obsoletes: %{name}-mode < 1.8.7" and so on.
* Documention - For example, still -tcltk subpackage misses most of example ruby scripts
! Note - Please try to make "$ rpmbuild -bi --short-circuit" (after "$ rpmbuild -bc" is done) succeeds even when executed for multiple times to make the spec file easier to maintain. - If "$ rpmbuild -bi --short-circuit" fails when executed multiple time, we have to execute whole rpmbuild process again even if we only want to modify %install section.
So, for example, - Please don't do: ---------------------------------------------------------------------- 241 mkdir ruby ruby-libs ruby-tcltk irb 242 mv ../%{name}-%{arcver}/sample/* ruby 244 mv ../%{name}-%{arcver}/lib/README* ../%{name}-%{arcver}/doc/* ruby-libs ---------------------------------------------------------------------- With this, all files under ../%{name}-%{arcver}/sample/ are gone (and the same thing happens on line 244). So if "rpmbuild -bi --short-circuit" is executed again, these line fails because there are no longer needed files under ../%{name}-%{arcver}/sample/* (and the same for line 244).
The correct way is not to use "mv" here, but to replace this with "cp -a".
- The following lines ---------------------------------------------------------------------- 236 # install documenation in tmp directory to be 237 # picked up by %doc macros in %files sections 238 mkdir tmp-ruby-docs 239 pushd tmp-ruby-docs ---------------------------------------------------------------------- fails when "-bi --short-circuit" is executed again because "tmp-ruby-docs" directory already exists. The correct way is to execute "rm -rf tmp-ruby-docs" before these lines to make it sure that "tmp-ruby-docs" directory is newly created.
- By the way about the following line: ----------------------------------------------------------------------- 245 find ../ext -mindepth 1 \ 246 ( -path '*/sample/*' -o -path '*/demo/*' ) -o \ 247 ( -name '*.rb' -not -path '*/lib/*' -not -name extconf.rb ) -o \ 248 ( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' ) -exec mv -f {} ruby-libs ; ----------------------------------------------------------------------- * At least the line 245 should be "find ../%{name}-%{arcver}/ext -mindepth 1 "
* And using "-exec mv -f" is wrong here because - This moves all the files matching "find" condition into the same "ruby-libs" diretory, without ignoring (deleting) directory hierarchy. I guess the reason the original specfile used "tar" command is to keep directory hierarchy. - And as I said above, "mv" removes the files from the original directory, so this causes "rpmbuild -bi --short-circuit" fail when executed again. However, simply replacing "mv -f" to "cp -a" does not work here because of the above reason.
- And the following lines: ----------------------------------------------------------------------- 251 find ruby-libs -name *tcltklib* -exec mv {} ruby-tcltk ; 252 find ruby-libs -name *tk* -exec mv {} ruby-tcltk ; ----------------------------------------------------------------------- is not good because this also ignores directory hierarchy.
* Directory ownership issue - Still i686 koji build complains: ----------------------------------------------------------------------- 2430 warning: File listed twice: /usr/lib/ruby 2431 warning: File listed twice: /usr/lib/ruby/1.8 2432 warning: File listed twice: /usr/lib/ruby/site_ruby 2433 warning: File listed twice: /usr/lib/ruby/site_ruby/1.8 2434 warning: File listed twice: /usr/lib/ruby/site_ruby/1.8/i386-linux -----------------------------------------------------------------------
- On the other hand, ------------------------------------------------------------------------ $ ls -1 *x86_64*rpm | grep -v debuginfo | xargs rpm -qlpv | grep '^d' | sed -e 's|^.* ||' | grep lib64 | sort /usr/lib64/ruby/1.8/x86_64-linux/digest /usr/lib64/ruby/1.8/x86_64-linux/io /usr/lib64/ruby/1.8/x86_64-linux/racc ------------------------------------------------------------------------ so the needed directories ------------------------------------------------------------------------ /usr/lib64/ruby/1.8/ /usr/lib64/ruby/1.8/x86_64-linux/ /usr/lib64/ruby/site_ruby /usr/lib64/ruby/site_ruby/1.8 /usr/lib/ruby/site_ruby/1.8/x86_64-linux ------------------------------------------------------------------------ are not owned by any packages. I guess the following lines in ruby-1.8.7.spec: ------------------------------------------------------------------------ 334 %ifnarch ppc64 s390x sparc64 x86_64 335 %dir %{vendorarchbase} 336 %dir %{vendorarchbase}/%{rubyxver} 337 %{sitearchbase} 338 %endif ------------------------------------------------------------------------ is the typo of "%ifarch", not "%ifnarch".
* noarch subpackage - At least -rdoc and -irb subpackage can be noarch ! Well, I thought -ri subpackage can also be noarch, however now generated yaml files used for ri now differ between on i686 and x86_64, so currently -ri subpackage cannot be noarch ( however we installs yaml ri document files under %_datadir, so these files should be noarch... need investigating.... )
* rpmlint issue ruby-irb.i686: W: file-not-utf8 /usr/share/doc/ruby-irb-1.8.7.299/irb-tools.rd.ja ruby-libs.i686: W: file-not-utf8 /usr/share/doc/ruby-libs-1.8.7.299/README.1st ruby-libs.i686: W: file-not-utf8 /usr/share/doc/ruby-libs-1.8.7.299/forwardable.rd.ja - Please change the encodings to UTF-8 (I guess these are under EUC-JP.. not checked)
ruby-static.i686: W: no-documentation ruby.i686: W: no-manual-page-for-binary erb ruby-irb.i686: W: no-manual-page-for-binary irb ruby-rdoc.i686: W: no-manual-page-for-binary rdoc ruby-ri.i686: W: no-manual-page-for-binary ri ruby.i686: W: no-manual-page-for-binary testrb - These can be ignored.
ruby-tcltk.i686: E: non-executable-script /usr/lib/ruby/1.8/tkextlib/pkg_checker.rb 0644L /usr/bin/env - Please change the permission, or remove shebang.
ruby.i686: W: obsolete-not-provided ruby-docs ruby.i686: W: obsolete-not-provided ruby-mode - These can be ignored.
ruby-irb.i686: W: self-obsoletion irb <= 1.8.7.299-3.fc14 obsoletes irb = 1.8.7.299-3.fc14 ruby-libs.i686: W: self-obsoletion libruby <= 1.8.7.299-3.fc14 obsoletes libruby = 1.8.7.299-3.fc14 ruby-rdoc.i686: W: self-obsoletion rdoc <= 1.8.7.299-3.fc14 obsoletes rdoc = 1.8.7.299-3.fc14 ruby-ri.i686: W: self-obsoletion ri <= 1.8.7.299-3.fc14 obsoletes ri = 1.8.7.299-3.fc14 - It is better that obsoletes should be "Obsoletes: foo < %{name}-%{version}", not "<=".
ruby-tcltk.i686: W: spelling-error %description -l en_US Tcl -> Tc, Tl, Cl ruby-tcltk.i686: W: spelling-error Summary(en_US) Tcl -> Tc, Tl, Cl - Can be ignored.
ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/digest.h ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/dl.h ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/dlconfig.h - Permission on these files should be 0644.
ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/biorhythm.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/old_tuplespace.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/simpletuple.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/speedc.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/exyacc.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/from.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/fullpath.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/getopts.test /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/less.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/mpart.rb ./ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/observ.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/pi.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/trojan.rb /usr/local/bin/ruby - Please fix these.
Again thank you for creating ruby187 srpm.
Regards, Mamoru
On 07/16/2010 02:15 PM, Mamoru Tasaka wrote:
Hello, all:
Mohammed Morsi wrote, at 07/13/2010 12:50 PM +9:00:
On 07/10/2010 03:39 PM, Mamoru Tasaka wrote:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm
Again thank you!
No problem. Really sorry on the delay for this response, I got pulled back onto deltacloud last week.
Updated srpm can be found here:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-4.fc13.src.rpm
Also a couple of other things. First off, it seems the change log is about as twice the size of the rest of the spec file itself. Is it ever acceptable to truncate this? Perhaps with a note, saying see cvs for the rest of the changelog?
- If you want to shorten %changelog, please check what "vim" srpm does. i.e.
- Create "Changelog.rpm"
- Move old %changelog entry there
- And at the end of %changelog, write "for older history, please see 'Changelog.rpm'".
Done
Some notes for 1.8.7.299-3:
- Obsoletes for -mode, -docs
- Please make Obsoletes EVR specific
i.e. Change Obsoletes to like: "Obsoletes: %{name}-mode < 1.8.7" and so on.
- in case these subpackage revives. Obsoletes without EVR specification causes some annoying problems in some cases
Done
Documention
- For example, still -tcltk subpackage misses most of example ruby scripts
! Note
- Please try to make "$ rpmbuild -bi --short-circuit" (after "$ rpmbuild -bc" is done) succeeds even when executed for multiple times to make the spec file easier to maintain.
- If "$ rpmbuild -bi --short-circuit" fails when executed multiple time, we have to execute whole rpmbuild process again even if we only want to modify %install section.
Done, now rpmbuild -bi --short-circuit works multiple consecutive times.
So, for example, - Please don't do:
241 mkdir ruby ruby-libs ruby-tcltk irb 242 mv ../%{name}-%{arcver}/sample/* ruby 244 mv ../%{name}-%{arcver}/lib/README* ../%{name}-%{arcver}/doc/* ruby-libs
With this, all files under ../%{name}-%{arcver}/sample/ are gone (and the same thing happens on line 244). So if "rpmbuild -bi --short-circuit" is executed again, these line fails because there are no longer needed files under ../%{name}-%{arcver}/sample/* (and the same for line 244). The correct way is not to use "mv" here, but to replace this with "cp -a".
Done
- The following lines
236 # install documenation in tmp directory to be 237 # picked up by %doc macros in %files sections 238 mkdir tmp-ruby-docs 239 pushd tmp-ruby-docs
fails when "-bi --short-circuit" is executed again because "tmp-ruby-docs" directory already exists. The correct way is to execute "rm -rf tmp-ruby-docs" before these lines to make it sure that "tmp-ruby-docs" directory is newly created.
Done
- By the way about the following line:
245 find ../ext -mindepth 1 \ 246 ( -path '*/sample/*' -o -path '*/demo/*' ) -o \ 247 ( -name '*.rb' -not -path '*/lib/*' -not -name extconf.rb ) -o \ 248 ( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' )
-exec mv -f {} ruby-libs ;
* At least the line 245 should be "find ../%{name}-%{arcver}/ext -mindepth 1 \" * And using "-exec mv -f" is wrong here because - This moves all the files matching "find" condition into
the same "ruby-libs" diretory, without ignoring (deleting) directory hierarchy. I guess the reason the original specfile used "tar" command is to keep directory hierarchy. - And as I said above, "mv" removes the files from the original directory, so this causes "rpmbuild -bi --short-circuit" fail when executed again. However, simply replacing "mv -f" to "cp -a" does not work here because of the above reason.
Ah ok, I was wondering why tar cf was being used just to be piped into tar xf. This make sense.
I reverted it back to using tar with a comment about the hierarchy issue is the reason its being done that way.
- And the following lines:
251 find ruby-libs -name *tcltklib* -exec mv {} ruby-tcltk ; 252 find ruby-libs -name *tk* -exec mv {} ruby-tcltk ;
is not good because this also ignores directory hierarchy.
Reverted these to the old tar way as well.
- Directory ownership issue
- Still i686 koji build complains:
2430 warning: File listed twice: /usr/lib/ruby 2431 warning: File listed twice: /usr/lib/ruby/1.8 2432 warning: File listed twice: /usr/lib/ruby/site_ruby 2433 warning: File listed twice: /usr/lib/ruby/site_ruby/1.8 2434 warning: File listed twice: /usr/lib/ruby/site_ruby/1.8/i386-linux
- On the other hand,
$ ls -1 *x86_64*rpm | grep -v debuginfo | xargs rpm -qlpv | grep '^d' | sed -e 's|^.* ||' | grep lib64 | sort /usr/lib64/ruby/1.8/x86_64-linux/digest /usr/lib64/ruby/1.8/x86_64-linux/io /usr/lib64/ruby/1.8/x86_64-linux/racc
so the needed directories
/usr/lib64/ruby/1.8/ /usr/lib64/ruby/1.8/x86_64-linux/ /usr/lib64/ruby/site_ruby /usr/lib64/ruby/site_ruby/1.8 /usr/lib/ruby/site_ruby/1.8/x86_64-linux
are not owned by any packages. I guess the following lines in ruby-1.8.7.spec:
334 %ifnarch ppc64 s390x sparc64 x86_64 335 %dir %{vendorarchbase} 336 %dir %{vendorarchbase}/%{rubyxver} 337 %{sitearchbase} 338 %endif
is the typo of "%ifarch", not "%ifnarch".
Done
- noarch subpackage
! Well, I thought -ri subpackage can also be noarch, however now generated yaml files used for ri now differ between on i686 and x86_64, so currently -ri subpackage cannot be noarch ( however we installs yaml ri document files under %_datadir, so these files should be noarch... need investigating.... )
- At least -rdoc and -irb subpackage can be noarch
Done
- rpmlint issue
ruby-irb.i686: W: file-not-utf8 /usr/share/doc/ruby-irb-1.8.7.299/irb-tools.rd.ja ruby-libs.i686: W: file-not-utf8 /usr/share/doc/ruby-libs-1.8.7.299/README.1st ruby-libs.i686: W: file-not-utf8 /usr/share/doc/ruby-libs-1.8.7.299/forwardable.rd.ja
- Please change the encodings to UTF-8 (I guess these are under
EUC-JP.. not checked)
Done
ruby-static.i686: W: no-documentation ruby.i686: W: no-manual-page-for-binary erb ruby-irb.i686: W: no-manual-page-for-binary irb ruby-rdoc.i686: W: no-manual-page-for-binary rdoc ruby-ri.i686: W: no-manual-page-for-binary ri ruby.i686: W: no-manual-page-for-binary testrb
- These can be ignored.
ruby-tcltk.i686: E: non-executable-script /usr/lib/ruby/1.8/tkextlib/pkg_checker.rb 0644L /usr/bin/env
- Please change the permission, or remove shebang.
Done
ruby.i686: W: obsolete-not-provided ruby-docs ruby.i686: W: obsolete-not-provided ruby-mode
- These can be ignored.
ruby-irb.i686: W: self-obsoletion irb <= 1.8.7.299-3.fc14 obsoletes irb = 1.8.7.299-3.fc14 ruby-libs.i686: W: self-obsoletion libruby <= 1.8.7.299-3.fc14 obsoletes libruby = 1.8.7.299-3.fc14 ruby-rdoc.i686: W: self-obsoletion rdoc <= 1.8.7.299-3.fc14 obsoletes rdoc = 1.8.7.299-3.fc14 ruby-ri.i686: W: self-obsoletion ri <= 1.8.7.299-3.fc14 obsoletes ri = 1.8.7.299-3.fc14
- It is better that obsoletes should be "Obsoletes: foo <
%{name}-%{version}", not "<=".
Done
ruby-tcltk.i686: W: spelling-error %description -l en_US Tcl -> Tc, Tl, Cl ruby-tcltk.i686: W: spelling-error Summary(en_US) Tcl -> Tc, Tl, Cl
- Can be ignored.
ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/digest.h ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/dl.h ruby-devel.i686: W: spurious-executable-perm /usr/lib/ruby/1.8/i386-linux/dlconfig.h
- Permission on these files should be 0644.
Done
ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/biorhythm.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/old_tuplespace.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/simpletuple.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/drb/speedc.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/exyacc.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/from.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/fullpath.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/getopts.test /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/less.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/mpart.rb ./ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/observ.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/pi.rb /usr/local/bin/ruby ruby.i686: E: wrong-script-interpreter /usr/share/doc/ruby-1.8.7.299/trojan.rb /usr/local/bin/ruby
- Please fix these.
Done
Again thank you for creating ruby187 srpm.
Regards, Mamoru
Thanks in return for the reviews and for uploading the new rpms to rawhide.
BTW I also verified that the puppet, rails, and deltacloud test suites all work against Ruby 1.8.7 (some bugs were filed in bugzilla, but nothing major, mostly spec file stuff).
-Mo
Mohammed Morsi wrote, at 07/27/2010 02:48 PM +9:00:
On 07/16/2010 02:15 PM, Mamoru Tasaka wrote:
Hello, all:
Mohammed Morsi wrote, at 07/13/2010 12:50 PM +9:00:
On 07/10/2010 03:39 PM, Mamoru Tasaka wrote:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-3.fc13.src.rpm
Again thank you!
No problem. Really sorry on the delay for this response, I got pulled back onto deltacloud last week.
Updated srpm can be found here:
http://mo.morsi.org/files/rpms/ruby-1.8.7.299-4.fc13.src.rpm
Well, I think I have already fixed the issues I pointed out in ruby-1.8.7.299-4.fc14 rpm which is already in rawhide tree, and I think I can say that the changes between your -3 and -4 srpm are already incorporated into rawhide spec file in some different way (except for truncating %changelog). I would appreciate it if you would check the latest ruby spec file.
Again I appreciate your work on ruby 187 srpm.
BTW I also verified that the puppet, rails, and deltacloud test suites all work against Ruby 1.8.7 (some bugs were filed in bugzilla, but nothing major, mostly spec file stuff).
-Mo
Regards, Mamoru
ruby-sig@lists.fedoraproject.org