Debian Buster / 1.5.3-maintenance
At the moment all tools are separated Git repositories and provided as Composer packages:
- https://packagist.org/packages/imscp/roundcube
- https://packagist.org/packages/imscp/phpmyadmin
- https://packagist.org/packages/imscp/net2ftp
I found a switch based on an environment variable (IMSCP_PKG_DEVELOPMENT) in:
- engine/PerlLib/Package/SqlAdminTools/PhpMyAdmin/PhpMyAdmin.pm
- engine/PerlLib/Package/WebFtpClients/MonstaFTP/MonstaFTP.pm
- engine/PerlLib/Package/WebmailClients/RainLoop/RainLoop.pm
- engine/PerlLib/Package/WebmailClients/Roundcube/Roundcube.pm
This env variable impacts the variable packageVersionConstraint and for example in the phpMyAdmin perl file setups an additional repository in composer:
Code
- sub registerSetupListeners
- {
- my ( undef, $events ) = @_;
- $events->registerOne( 'beforeSetupPreInstallServers', sub {
- eval {
- my $composer = iMSCP::Composer->new(
- user => $::imscpConfig{'SYSTEM_USER_PREFIX'}
- . $::imscpConfig{'SYSTEM_USER_MIN_UID'},
- composer_home => "$::imscpConfig{'GUI_ROOT_DIR'}/data/persistent/.composer",
- composer_json => 'composer.json'
- );
- if ( $ENV{'IMSCP_PKG_DEVELOPMENT'}
- && -d '/github/official/imscp-phpmyadmin'
- ) {
- push @{ $composer->getComposerJson( TRUE )->{'repositories'} }, {
- type => 'path',
- url => '/github/official/imscp-phpmyadmin',
- options => {
- symlink => JSON::false
- }
- };
- }
- $composer->require( 'imscp/phpmyadmin', $packageVersionConstraint );
- $composer->dumpComposerJson();
- };
- if ( $@ ) {
- error( $@ );
- return 1;
- }
- 0;
- }, 10 );
- }
I checked out my fork to /github/official/imscp-phpmyadmin and thought it would install phpMyAdmin based on this path with:
But this is not working as expected. Did I understand something wrong?
Can someone give me a hint or explanation, on how to install and test all I-MSCP related extensions/tools locally without merging into the dev branches?