Closed tomuszom closed 8 months ago
Is there a reason why the suggested commands for installing dependencies can't be run? E.g. apt-get install -y libfile-chmod-perl
.
Is there a reason why the suggested commands for installing dependencies can't be run? E.g.
apt-get install -y libfile-chmod-perl
.
yes, firstly, it is not possible (as far as I know) to run apt-get in this container, and secondly, changes in the container should not be made
I see. Are you using a custom container instead of https://hub.docker.com/?namespace=rotheross ? In that case you could ask for a new version of the custom container that contains the dependencies. Alternatively you can install the dependencies into /opt/otobo/local . See https://doc.otobo.de/manual/installation/10.1/en/content/installing-perl-modules.html?highlight=cpanm#docker-based-installations. In case of a custom container you might have to make sure that the environment variable PERL5LIB is set appropriately.
For further question please use https://otobo.de/en/forums/otobo/otobo-forum/ . The GitHub issues are meant to be reserved for development issues, not general questions.
I'm using "rotheross/otobo:latest" image, so that's official. I think it's a docker image development problem because it is created not fully based on the installation guide where those packages are stated.
But ok. I'll try what you've proposed and ask further questions on forum.
This is strange indeed. I tested this quickly on a devel build of OTOBO 10.1.x and it looks fine there. Could you run these command in the container and check whether there significant differences with my output?
otobo@65098861912b:~$ cat RELEASE
PRODUCT = OTOBO
VERSION = 10.1.x
otobo@65098861912b:~$ cat git-commit.txt
318271c6036fd94fcb4e7093642cbb43466a884e
otobo@65098861912b:~$ echo $PERL5LIB
/opt/otobo/local/lib/perl5:/opt/otobo_install/local/lib/perl5
otobo@65098861912b:~$ perldoc -l File::chmod
/opt/otobo_install/local/lib/perl5/File/chmod.pm
otobo@887f330e3eba:~$ cat RELEASE
PRODUCT = OTOBO
VERSION = 10.1.8
otobo@887f330e3eba:~$ cat RELEASE
PRODUCT = OTOBO
VERSION = 10.1.8otobo@887f330e3eba:~$
otobo@887f330e3eba:~$ cat git-commit.txt
13323f31237aa4ae76d529ba7c05372c1c44ef5d
otobo@887f330e3eba:~$ echo $PERL5LIB
/opt/otobo/local/lib/perl5:/opt/otobo_install/local/lib/perl5
otobo@887f330e3eba:~$ perldoc -l File::chmod
No documentation found for "File::chmod".
otobo@887f330e3eba:~$
Also i'm checking image on docker hub, there is command to install all perl packages, as in docs, apart from those which are missing
I did some more checking. The requirements File::chmod, List::AllUtils, and Text::Trim were added on 2020-10-22 as requirements. But in OTOBO 10.1.8 these modules are not actually used. This explains why there are no other bug reports about these missing modules. This also means that the messages from bin/otobo.CheckModules.pl can be ignored.
There is a reason why not simply the recommended Debian packages are installed into the image. The OTOBO Docker image is based on the official Perl image. The Perl used in that image is not the Debian system Perl, therefore installing dependencies via the Debian packages is worthless. Therefore the dependencies are installed from CPAN directly. The relevant command is https://github.com/RotherOSS/otobo/blob/71991657a7cef2af18d9c6a842fbf5c4bbaede32/otobo.web.dockerfile#L51 . The relevant input is https://github.com/RotherOSS/otobo/blob/71991657a7cef2af18d9c6a842fbf5c4bbaede32/cpanfile.docker#L27 .
But the question remains why these modules are missing. I did a local rebuild of the OTOBO 10.1.8 Docker image and File::chmod was at the expected location. So my guess is that this is some strangeness with the build on Docker Hub. But build caching seems unlikely as there is a difference of three years. I took a look at otobo,web.dockerfile. In the dockerfile There is the command COPY cpanfile.docker cpanfile
. My understanding is that this triggers a reinstall of CPAN modules when cpanfile.docker is changed. I'll test this in the next days and update this issue.
I also finally double checked with the OTOBO 10.1.8 Docker image from Docker hub,
otobo@57cbfeee49d5:~$ cat RELEASE PRODUCT = OTOBO VERSION = 10.1.8otobo@57cbfeee49d5:~$ otobo@57cbfeee49d5:~$ cat git-commit.txt 13323f31237aa4ae76d529ba7c05372c1c44ef5d otobo@57cbfeee49d5:~$ perldoc -l File::chmod /opt/otobo_install/local/lib/perl5/File/chmod.pm
This looks fine. @tomuszom , could it be that _/opt/otoboinstall/local is mounted as a volume, or something like that?
I also finally double checked with the OTOBO 10.1.8 Docker image from Docker hub,
otobo@57cbfeee49d5:~$ cat RELEASE PRODUCT = OTOBO VERSION = 10.1.8otobo@57cbfeee49d5:~$ otobo@57cbfeee49d5:~$ cat git-commit.txt 13323f31237aa4ae76d529ba7c05372c1c44ef5d otobo@57cbfeee49d5:~$ perldoc -l File::chmod /opt/otobo_install/local/lib/perl5/File/chmod.pm
This looks fine. @tomuszom , could it be that _/opt/otoboinstall/local is mounted as a volume, or something like that?
No. I have mapped only "/opt/otobo" and "/opt/otobo/var/tmp/copied_otrs"
I did some more checking. The requirements File::chmod, List::AllUtils, and Text::Trim were added on 2020-10-22 as requirements. But in OTOBO 10.1.8 these modules are not actually used. This explains why there are no other bug reports about these missing modules. This also means that the messages from bin/otobo.CheckModules.pl can be ignored.
There is a reason why not simply the recommended Debian packages are installed into the image. The OTOBO Docker image is based on the official Perl image. The Perl used in that image is not the Debian system Perl, therefore installing dependencies via the Debian packages is worthless. Therefore the dependencies are installed from CPAN directly. The relevant command is https://github.com/RotherOSS/otobo/blob/71991657a7cef2af18d9c6a842fbf5c4bbaede32/otobo.web.dockerfile#L51 . The relevant input is https://github.com/RotherOSS/otobo/blob/71991657a7cef2af18d9c6a842fbf5c4bbaede32/cpanfile.docker#L27 .
But the question remains why these modules are missing. I did a local rebuild of the OTOBO 10.1.8 Docker image and File::chmod was at the expected location. So my guess is that this is some strangeness with the build on Docker Hub. But build caching seems unlikely as there is a difference of three years. I took a look at otobo,web.dockerfile. In the dockerfile There is the command
COPY cpanfile.docker cpanfile
. My understanding is that this triggers a reinstall of CPAN modules when cpanfile.docker is changed. I'll test this in the next days and update this issue.
I got error while migrating from OTRS using /otobo/migration.pl. One of steps is using bin/otobo.CheckModules.pl and blocks further processing.
Something ist strange with your image. I suggest that you start from new and check at what point you loose _/opt/otoboinstall/local/lib/perl5/File/chmod.pm. In principle you would not need it as it is unused. But I think it is a good idea to limit potential problems.
I've resetted everything (again), now it seems that i've switched to
otobo@a8e49c274c8f:~$ cat RELEASE
PRODUCT = OTOBO
VERSION = 10.0.19
problem with checkModules is gone
Looks like there has been a mismatch between the container and the content of /opt/otobo . The container being for 10.0.19 and /opt/otobo coming from 10.1.8. Closing this issue, as the mismatch is resolved now.
While running CheckModules.pl there are missing modules
` Required packages: o Archive::Tar.....................ok (v2.36) o Archive::Zip.....................ok (v1.68) o Date::Format.....................ok (v2.24) o DateTime.........................ok (v1.59) o DateTime::TimeZone.............ok (v2.60) o Convert::BinHex..................ok (v1.125) o CGI::PSGI........................ok (v0.15) o DBI..............................ok (v1.643) o DBIx::Connector..................ok (v0.59) o Digest::SHA......................ok (v6.02) o File::chmod......................Not installed! To install, you can use: 'apt-get install -y libfile-chmod-perl'. (required) o List::AllUtils...................Not installed! To install, you can use: 'apt-get install -y liblist-allutils-perl'. (required) o LWP::UserAgent...................ok (v6.26) o Moo..............................ok (v2.005005) o namespace::autoclean.............ok (v0.29) o Net::DNS.........................ok (v1.39) o Net::SMTP::SSL...................ok (v1.04) o Path::Class......................ok (v0.37) o Sub::Exporter....................ok (v0.990) o Template::Toolkit................ok (v3.100) o Template::Stash::XS..............ok (undef) o Text::CSV........................ok (v1.95) o Text::Trim.......................Not installed! To install, you can use: 'apt-get install -y libtext-trim-perl'. (required) o Time::HiRes......................ok (v1.9764) o Try::Tiny........................ok (v0.31) o URI..............................ok (v1.71) o XML::LibXML......................ok (v2.0209) o YAML::XS.........................ok (v0.88) o Unicode::Collate.................ok (v1.27) o Plack............................ok (v1.0050) o Plack::Middleware::Header........ok (v0.04) o Plack::Middleware::ReverseProxy..ok (v0.16) o Const::Fast......................ok (v0.014)
Recommended features for setups using apache: o ModPerl::Util....................Not installed! To install, you can use: 'apt-get install -y libapache2-mod-perl2'. (optional - Improves Performance on Apache webservers dramatically.)
Database support (installing one is required): o DBD::mysql.......................ok (v4.050)
Various features for additional functionality: o Encode::HanExtra.................Not installed! To install, you can use: 'apt-get install -y libencode-hanextra-perl'. (optional - Required to handle mails with several Chinese character sets.) o Net::LDAP........................ok (v0.68) o Crypt::Eksblowfish::Bcrypt.......ok (v0.009) o XML::LibXSLT.....................ok (v2.002001) o XML::Parser......................ok (v2.46)
Features enabling communication with a mail-server: o Net::SMTP........................ok (v3.11) o Mail::IMAPClient.................ok (v3.43) o Authen::SASL.....................ok (v2.1700) o Authen::NTLM.....................ok (v1.09) o IO::Socket::SSL..................ok (v2.083)
Optional features which can increase performance: o JSON::XS.........................ok (v4.03) o Text::CSV_XS.....................ok (v1.52) `
this missing modules blocking migration from OTRS.