FS#63626 - [john] pdf2john in john-1.9.0.jumbo1-2

Attached to Project: Community Packages
Opened by Lacsap (lacsap) - Monday, 02 September 2019, 11:35 GMT
Last edited by Levente Polyak (anthraxx) - Friday, 25 September 2020, 16:54 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

the Perl script pdf2john delivered with John does not work as expected despite the presence of the ExifTool module.

Additional info:
* package version(s)

john-1.9.0.jumbo1-2
perl-5.30.0-3
perl-image-exiftool-11.50-1

* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:

$ perl --version | grep version
This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-thread-multi

$ (
perl <<end_of_test
use Image::ExifTool qw(:Public);
end_of_test
) && echo ok
ok

$ pdf2john /tmp/test.pdf > /tmp/pdf
Can't locate ExifTool.pm in @INC (you may need to install the ExifTool module) (@INC contains: /bin/lib /home/user/perl5/lib/perl5/5.30.0/x86_64-linux-thread-multi /home/user/perl5/lib/perl5/5.30.0 /home/user/perl5/lib/perl5/x86_64-linux-thread-multi /home/user/perl5/lib/perl5 /usr/lib/perl5/5.30/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.30/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.30/core_perl /usr/share/perl5/core_perl) at /bin/pdf2john line 39.
BEGIN failed--compilation aborted at /bin/pdf2john line 39.
This task depends upon

Closed by  Levente Polyak (anthraxx)
Friday, 25 September 2020, 16:54 GMT
Reason for closing:  Fixed
Additional comments about closing:  1.9.0.jumbo1-4
Comment by Lacsap (lacsap) - Tuesday, 03 September 2019, 12:46 GMT Comment by telsch (telsch) - Tuesday, 15 September 2020, 15:17 GMT Comment by Lacsap (lacsap) - Wednesday, 16 September 2020, 09:10 GMT
I just tested by compiling 1.9.0-Jumbo-1 and pdf2john is fully functional in the test environment.
the lib directory seems indeed to be missing in the john package.
pdf2john works when the package is built with these two changes :

--- a/PKGBUILD Wed Sep 16 11:07:03 2020 +0200
+++ b/PKGBUILD Wed Sep 16 11:08:12 2020 +0200
@@ -107,8 +107,9 @@
install -Dm 644 run/john.zsh_completion "${pkgdir}/usr/share/zsh/site-functions/_john"

# scripts
- install -d "${pkgdir}/usr/bin" "${pkgdir}/usr/lib/john"
+ install -d "${pkgdir}/usr/bin" "${pkgdir}/usr/lib/john" "${pkgdir}/usr/share/perl5/vendor_perl"
install -Dm 755 run/{*.py,*.pl,*.rb,*.lua,*.js,mailer,benchmark-unify} -t "${pkgdir}/usr/lib/john"
+ install -Dm 644 run/lib/*.pm -t "${pkgdir}/usr/share/perl5/vendor_perl"
for ext in lua pl rb py; do
for script in run/*."${ext}"; do
ln -sf "/usr/lib/john/$(basename "${script}")" "${pkgdir}/usr/bin/$(basename "${script/.${ext}/}")"
Comment by Lacsap (lacsap) - Wednesday, 16 September 2020, 09:24 GMT
I'm not sure if this is the right place (/usr/share/perl5/vendor_perl/) for the missing modules, but it works perfectly for me.
Comment by Levente Polyak (anthraxx) - Wednesday, 16 September 2020, 09:41 GMT
No that's definitively not the right place and will clash with global perl module packages. I just forgot to apply the patch I've submitted and include the needed files as well. will be fixed in the evening.

Loading...