* Package name : php-psr-container Version : 1.1.2 Upstream Author : PHP-FIG <http://www.php-fig.org/> * URL : https://github.com/php-fig/container * License : MIT Programming Lang: PHP Section : php Description: Common container interface (PSR-11) for PHP This package provides the standard PSR-11 container interface for PHP. It defines a common interface for dependency injection containers, allowing libraries and frameworks to interoperate with any container implementation that follows the PSR-11 specification. The package contains the standard interfaces for retrieving objects and parameters from a container, ensuring interoperability and flexibility in PHP applications. Rationale: This package is required as a dependency for FOSSology, an open source license compliance system. FOSSology uses PHP-based tools for source code analysis and license detection, which rely on the PSR-11 container interface for managing dependencies and service objects in a consistent and maintainable way. The php-psr-container package is essential for: - Providing a standardized container interface for FOSSology components - Ensuring interoperability with PSR-11 compliant libraries and frameworks - Supporting dependency injection and service management in FOSSology - Promoting modular and maintainable code architecture - Enabling consistent dependency retrieval across different implementations Technical Details: - Requires PHP >= 5.3.0 - Implements PSR-11 container interface specification - Uses PSR-4 autoloading - Provides interfaces for container interoperability - MIT licensed for maximum compatibility - Part of the PHP-FIG standards recommendations Dependencies: - php (>= 5.3.0) - Build dependencies: phpunit, php-codesniffer The package will be maintained by Ahmed Gamal <ahmed.gamal9541@gmail.com> as part of the FOSSology packaging effort.
Please do some research before opening ITP/RFP bugs. This package already exists in Debian.
Dear William, I understand your concern about duplicate packages, but there's a critical version compatibility issue that requires clarification. SPECIFIC VERSION REQUIREMENT: FOSSology requires php-psr-container version 1.1.2, while the current Debian package provides version 2.0.x. This is not a minor version difference - PSR-Container 2.0 introduced breaking changes that make it incompatible with applications built for 1.x. EVIDENCE FROM OUR INTEGRATION TESTING: During FOSSology packaging, we encountered this exact dependency conflict: "php-symfony-dependency-injection depends on php-psr-container (<< 2~~); however: Version of php-psr-container on system is 2.0.2-1" This error demonstrates that FOSSology's Symfony 3.4.x components cannot work with PSR-Container 2.0.x. BREAKING CHANGES IN PSR-11 v2.0: - Interface method signatures changed - Exception handling behavior modified - Backward compatibility with 1.x applications broken - Requires application code updates to migrate TECHNICAL CONTEXT: FOSSology was built against PSR-Container 1.1.2 APIs. The PSR-Container 2.0 upgrade path requires significant code changes in the application, which FOSSology hasn't implemented yet. PROPOSED SOLUTION: Package as php-psr-container-1.1 to provide the legacy version alongside the current 2.0 package, similar to how Debian handles: - Multiple Python versions (python3.9, python3.10, python3.11) - Different PostgreSQL versions (postgresql-13, postgresql-14, postgresql-15) - Various PHP versions (php7.4, php8.1, php8.2) JUSTIFICATION: This is standard practice in Debian when major version upgrades break backward compatibility. Many applications still require PSR-Container 1.x compatibility. REQUEST: Could we reopen this ITP to discuss version-specific packaging? FOSSology is a significant license compliance tool that would benefit the Debian ecosystem. Best regards, Ahmed Gamal FOSSology Debian Packaging Team Technical reference: https://www.php-fig.org/psr/psr-11/meta/
Dear William, I understand your concern about duplicate packages, but there's a critical version compatibility issue that requires clarification. SPECIFIC VERSION REQUIREMENT: FOSSology requires php-psr-container version 1.1.2, while the current Debian package provides version 2.0.x. This is not a minor version difference - PSR-Container 2.0 introduced breaking changes that make it incompatible with applications built for 1.x. EVIDENCE FROM OUR INTEGRATION TESTING: During FOSSology packaging, we encountered this exact dependency conflict: "php-symfony-dependency-injection depends on php-psr-container (<< 2~~); however: Version of php-psr-container on system is 2.0.2-1" This error demonstrates that FOSSology's Symfony 3.4.x components cannot work with PSR-Container 2.0.x. BREAKING CHANGES IN PSR-11 v2.0: - Interface method signatures changed - Exception handling behavior modified - Backward compatibility with 1.x applications broken - Requires application code updates to migrate TECHNICAL CONTEXT: FOSSology was built against PSR-Container 1.1.2 APIs. The PSR-Container 2.0 upgrade path requires significant code changes in the application, which FOSSology hasn't implemented yet. PROPOSED SOLUTION: Package as php-psr-container-1.1 to provide the legacy version alongside the current 2.0 package, similar to how Debian handles: - Multiple Python versions (python3.9, python3.10, python3.11) - Different PostgreSQL versions (postgresql-13, postgresql-14, postgresql-15) - Various PHP versions (php7.4, php8.1, php8.2) JUSTIFICATION: This is standard practice in Debian when major version upgrades break backward compatibility. Many applications still require PSR-Container 1.x compatibility. REQUEST: Could we reopen this ITP to discuss version-specific packaging? FOSSology is a significant license compliance tool that would benefit the Debian ecosystem. Best regards, Ahmed Gamal FOSSology Debian Packaging Team Technical reference: https://www.php-fig.org/psr/psr-11/meta/
Dear William, I need to reopen this ITP due to breaking changes in PSR-Container 2.0 that prevent FOSSology from functioning. BREAKING COMPATIBILITY ISSUE: FOSSology requires PSR-Container 1.1.2, but Debian provides 2.0.x. PSR-Container 2.0 introduced breaking changes that make it incompatible with FOSSology's Symfony 3.4.x components. CONCRETE EVIDENCE: During integration testing: "php-symfony-dependency-injection depends on php-psr-container (<< 2~~); however: Version of php-psr-container on system is 2.0.2-1" This dependency conflict proves PSR-Container 2.0 cannot work with FOSSology's existing components. OFFICIAL BREAKING CHANGES PSR-11 v1 → v2: - Interface method signatures changed - Exception handling behavior modified - Backward compatibility officially broken - Applications must be updated to migrate (per PSR-11 documentation) TECHNICAL REQUIREMENT: FOSSology was built against PSR-Container 1.x APIs. The 2.0 upgrade requires significant code changes throughout FOSSology's dependency injection system - beyond packaging scope. PROPOSED SOLUTION: Package as php-psr-container-1.1 alongside current 2.0 package, following Debian's standard practice for major version incompatibilities. PRECEDENT: Like python3.9/python3.10/python3.11, postgresql-13/14/15 when major versions break compatibility. REQUEST: Please reopen to discuss version-specific packaging for this legitimate compatibility requirement. Best regards, Ahmed Gamal FOSSology Debian Packaging Team