#1109640 ITP: php-psr-log -- Common interface for logging libraries (PSR-3)

Package:
wnpp
Source:
wnpp
Submitter:
Ahmed Gamal
Date:
2025-08-10 18:17:01 UTC
Severity:
normal
Tags:
#1109640#5
Date:
2025-07-21 07:28:31 UTC
From:
To:
* Package name    : php-psr-log
  Version         : 1.1.4
  Upstream Author : PHP-FIG <http://www.php-fig.org/>
* URL             : https://github.com/php-fig/log
* License         : MIT
  Programming Lang: PHP
  Section         : php

Description:
 Common interface for logging libraries (PSR-3)

 This package provides the standard PSR-3 logging interface for PHP. It
defines
 a common interface for logging libraries, allowing applications and
libraries
 to use any compatible logger implementation that follows the PSR-3
specification.

 The package contains the standard interfaces for logging messages at
various
 levels (debug, info, warning, error, etc.), 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-3 logging interface for
consistent and
 flexible logging across its components.

 The php-psr-log package is essential for:
 - Providing a standardized logging interface for FOSSology components
 - Ensuring interoperability with PSR-3 compliant logging libraries
 - Supporting consistent logging practices across the codebase
 - Enabling integration with a wide range of logging backends
 - Promoting maintainable and testable code

Technical Details:
 - Requires PHP >= 5.3.0
 - Implements PSR-3 logging interface specification
 - Uses PSR-4 autoloading
 - Provides interfaces for logger 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.

#1109640#12
Date:
2025-08-10 13:45:06 UTC
From:
To:
Please do some research before opening ITP/RFP bugs.
This package already exists in Debian.

#1109640#17
Date:
2025-08-10 22:10:12 UTC
From:
To:
Dear William,

I need to clarify the version-specific requirement that led to this ITP
filing.

VERSION COMPATIBILITY ISSUE:
FOSSology requires php-psr-log version 1.1.4, while the current Debian
package provides version 3.x. Although PSR-Log maintained better backward
compatibility than other PSR packages, there are still compatibility issues
with FOSSology's specific implementation.

DEPENDENCY CHAIN COMPATIBILITY:
The critical issue is that FOSSology's Symfony 3.4.x components require
PSR-Log 1.x for proper integration:
- Symfony 3.4.x was designed for PSR-Log 1.x APIs
- FOSSology's logging configuration expects 1.x interface contracts
- Mixed PSR versions in the dependency chain cause integration failures

TECHNICAL CONTEXT:
While PSR-Log 3.x is generally backward compatible, FOSSology encounters
issues with:
- Logger interface implementation details
- Context handling in specific logging scenarios
- Integration with Symfony 3.4's logging bridge
- Autoloader resolution in mixed PSR version environments

EVIDENCE FROM INTEGRATION:
FOSSology's dependency management specifically requires PSR-Log 1.1.4 to
work correctly with its Symfony 3.4.x components and other legacy
dependencies.

PROPOSED SOLUTION:
Package as php-psr-log-1.1 to provide the specific version FOSSology
requires, following Debian's pattern for version-specific packages when
applications have strict compatibility requirements.

JUSTIFICATION:
This ensures FOSSology can use the exact PSR-Log version it was tested and
validated with, while not interfering with applications that can use the
newer PSR-Log 3.x.

PRECEDENT:
Similar to how Debian maintains multiple versions of core packages when
applications have specific version requirements that cannot be easily
updated.

REQUEST:
Could we reopen this ITP to discuss providing PSR-Log 1.1.4 alongside the
current 3.x version? This would enable FOSSology's successful integration
into Debian.

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team

Reference: https://github.com/php-fig/log/blob/master/CHANGELOG.md

#1109640#22
Date:
2025-08-10 22:12:02 UTC
From:
To:
Dear William,

Thank you for reviewing my ITP. I need to clarify the technical requirement
that led to this filing.

VERSION DEPENDENCY ISSUE:
While php-psr-log does exist in Debian, FOSSology specifically requires
version 1.1.4, whereas current Debian provides version 3.x. Although
PSR-Log maintains better backward compatibility than other PSR packages,
FOSSology encounters specific integration issues.

DEPENDENCY CHAIN COMPATIBILITY:
The core issue is FOSSology's Symfony 3.4.x components require PSR-Log 1.x
for proper integration:

- FOSSology uses Symfony 3.4.6 (which we need for compatibility)
- Symfony 3.4.x was designed and tested with PSR-Log 1.x
- Mixed PSR versions in the dependency chain cause subtle integration
failures
- FOSSology's logging configuration expects 1.x interface contracts

SPECIFIC TECHNICAL ISSUES ENCOUNTERED:
- Logger interface implementation details differ between versions
- Context handling in specific logging scenarios varies
- Integration with Symfony 3.4's logging bridge expects 1.x behavior
- Autoloader resolution conflicts in mixed PSR version environments

REAL-WORLD EVIDENCE:
FOSSology's composer.json and dependency management specifically locks
PSR-Log to 1.1.4 because newer versions cause integration issues with its
legacy Symfony components.

PROPOSED SOLUTION:
Package as php-psr-log-1.1 to provide the specific version FOSSology
requires alongside the current 3.x package, following Debian's established
pattern for version-specific packages.

PRECEDENT:
This follows Debian's approach for maintaining multiple versions when
applications have strict compatibility requirements that cannot be easily
updated without significant code changes.

JUSTIFICATION:
FOSSology is a mature, widely-used license compliance system. Providing the
PSR-Log version it requires enables its successful integration into Debian
without forcing extensive upstream modifications.

REQUEST:
Could we reopen this ITP to discuss providing PSR-Log 1.1.4 alongside the
current version? This would enable FOSSology's Debian integration while not
affecting other applications.

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team

Technical reference:
https://github.com/fossology/fossology/blob/master/src/composer.json