FS#42651 - [taskjuggler3] Issue with data directories/relative paths
Attached to Project:
Community Packages
Opened by John Henderson (jwhendy) - Saturday, 01 November 2014, 21:16 GMT
Last edited by Maxime Gauduin (Alucryd) - Thursday, 06 November 2014, 08:12 GMT
Opened by John Henderson (jwhendy) - Saturday, 01 November 2014, 21:16 GMT
Last edited by Maxime Gauduin (Alucryd) - Thursday, 06 November 2014, 08:12 GMT
|
Details
=== Description ===
I'm not sure what, exactly, but something in the Arch package of taskjuggler3 causes issues with report generation vs. the vanilla Ruby taskjuggler3 gem. I believe it is related to the tj-system-dirs.patch file here: - https://projects.archlinux.org/svntogit/community.git/tree/trunk/tj-system-dirs.patch?h=packages/taskjuggler3 I have also filed bug reports with the developer on github, and this is the second time that the issue came down to something related to the Arch package path/different behavior in the gem install vs. Arch package: - https://github.com/taskjuggler/TaskJuggler/issues/134 - https://github.com/taskjuggler/TaskJuggler/issues/154 === System === $ uname -a Linux arch_840 3.17.1-1-ARCH #1 SMP PREEMPT Wed Oct 15 15:04:35 CEST 2014 x86_64 GNU/Linux $ ruby --version ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux] $ tj3 --version TaskJuggler v3.5.0 - A Project Management Software Sample .tjp file is attached for testing. === Behavior with Arch package === - # pacman -S taskjuggler3 # version 3.5.0-7 was used - Download tj-test.tjp - $ cd ./path/to/tj-test.tjp - $ tj3 tj-test.tjp The following data structure will be created: ~/path/tj-test.tjp ~/path/Plan.html ~/path/taskjuggler/{css,icons,scripts} Unfortunately, the html references are looking for ./{css,icons,scripts}, and thus they aren't picked up upon from ./taskjuggler/{css,icons,scripts}. If you copy Plan.html into the taskjuggler directory, it will pick up on the styling properly. === gem install method === - # pacman -Rsc taskjuggler3 - # pacman -S ruby - $ gem install taskjuggler - Edit ~/.bash_profile to contain: PATH=/home/jwhendy/.gem/ruby/2.1.0/bin:$PATH; export PATH - Logout/login; verify tj3 is found by running `tj3 --version` - $ cd ~/path/to/tj-test.tjp - $ rm -r ./taskjuggler; $ rm ./Plan.html - $ tj3 tj-test.tjp The following directory structure is created: ~/path/tj-test.tjp ~/path/Plan.html ~/path/{css,icons,scripts} This functions properly and renders correctly in the browser when opening Plan.html. Please take a look at the patches applied to the package, the structuring of Arch's data dirs for this package, my bug reports, and the file Report.rb where the methods exist for copying/generating report-related files. |
This task depends upon
Closed by Maxime Gauduin (Alucryd)
Thursday, 06 November 2014, 08:12 GMT
Reason for closing: Fixed
Additional comments about closing: 3.5.0-8
Thursday, 06 November 2014, 08:12 GMT
Reason for closing: Fixed
Additional comments about closing: 3.5.0-8
```
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- tj3 (LoadError)
from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/bin/tj3:4:in `<main>'
```
I was convinced it was my PKGBUILD or modified patch, so I just wiped the dir and re-copied from /var/abs/community... but making the vanilla ABS copy created the same result. I uninstalled the pkg and removed from /var/cache/pacman, installing from the repository instead of via ABS... and it works!
Manually wget'ing the files listed for the Arch package produces the same results as ABS. Diffing `pacman -Ql taskjuggler3` for the repo version vs. the built version reveals that when I build it, all the ruby stuff is being put into /usr/lib/ruby/vendor_ruby/2.1.4 instead of the packaged version using ./2.1.0. Indeed, the other packages coming along with ruby-mail and ruby-term-ansicolor end up in 2.1.0, so I think building locally results in a path mismatch.
So... I manually replaced `local _rubyver` with 2.1.0, which appears to work. I attached a modified tj-system-dirs.patch and PKGBUILD that seems to work for me, though please do correct at-will, as I have mostly no idea what I'm doing. Just taking the feedback from Chris at the github issue linked in the original report and trying to apply it by fiddling around to save you some time.
tj-system-dirs.patch (1.6 KiB)