#1109624 ITP: php-psr-http-factory -- Common interfaces for PSR-7 HTTP message factories

Package:
wnpp
Source:
wnpp
Submitter:
Ahmed Gamal
Date:
2025-08-10 18:26:02 UTC
Severity:
normal
Tags:
#1109624#5
Date:
2025-07-21 04:37:45 UTC
From:
To:
* Package name    : php-psr-http-factory
  Version         : 1.0.1
  Upstream Author : PHP-FIG <http://www.php-fig.org/>
* URL             : https://github.com/php-fig/http-factory
* License         : MIT
  Programming Lang: PHP
  Section         : php

Description:
 Common interfaces for PSR-7 HTTP message factories

 This package provides common interfaces for PSR-7 HTTP message factories as
 defined by PSR-17 (HTTP Message Factories). It is part of the PHP Standards
 Recommendations (PSR) for HTTP message interfaces.

 The package contains the standard interfaces for creating HTTP requests,
 responses, server requests, streams, uploaded files, and URIs, ensuring
 interoperability between different HTTP factory implementations.

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 need standardized HTTP message factory interfaces
for
 handling HTTP requests and responses in web-based components.

 The php-psr-http-factory package is essential for:
 - Providing standardized HTTP factory interfaces for FOSSology components
 - Ensuring interoperability with PSR-17 compliant HTTP libraries
 - Supporting web-based tools in FOSSology that handle HTTP requests
 - Maintaining compatibility with modern PHP HTTP standards
 - Enabling consistent HTTP message creation across different
implementations
 - Supporting the PSR-17 specification for HTTP message factories

Technical Details:
 - Requires PHP >= 7.0.0
 - Depends on psr/http-message (^1.0)
 - Implements PSR-17 HTTP Message Factories specification
 - Uses PSR-4 autoloading
 - Provides interfaces for all PSR-17 factory types
 - MIT licensed for maximum compatibility
 - Part of the PHP-FIG standards recommendations

Dependencies:
 - php (>= 7.0.0)
 - php-psr-http-message (>= 1.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.

#1109624#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.

#1109624#17
Date:
2025-08-10 22:13:56 UTC
From:
To:
Dear William,

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

VERSION DEPENDENCY ISSUE:
FOSSology requires php-psr-http-factory version 1.0.1, while current Debian
may provide version 1.1.x or 2.x. This is part of a broader dependency
chain compatibility issue with FOSSology's Slim 3.x and Symfony 3.4.x
components.

DEPENDENCY CHAIN COMPATIBILITY:
The core issue is maintaining compatibility across FOSSology's HTTP stack:
- FOSSology uses Slim Framework 3.12.3
- Slim 3.x requires specific PSR-HTTP-Factory 1.0.x interfaces
- FOSSology's HTTP handling components expect PSR-17 1.0.x behavior
- Newer PSR-HTTP-Factory versions may have interface changes incompatible
with Slim 3.x

TECHNICAL INTEGRATION REQUIREMENTS:
FOSSology's web components rely on:
- Specific PSR-17 factory interface implementations from 1.0.1
- HTTP message creation patterns compatible with Slim 3.x
- Integration with FOSSology's existing HTTP handling code
- Compatibility with FOSSology's PSR-7 message processing

EVIDENCE FROM INTEGRATION TESTING:
FOSSology's composer.json specifically locks PSR-HTTP-Factory to 1.0.1
because newer versions cause integration issues with its legacy Slim 3.x
and Symfony 3.4.x dependency chain.

REAL-WORLD DEPENDENCY CONFLICTS:
When attempting to use newer PSR-HTTP-Factory versions with FOSSology:
- Slim 3.x factory usage patterns break
- HTTP message creation interfaces don't match expected signatures
- FOSSology's web routing and API components fail to initialize properly

PROPOSED SOLUTION:
Package as php-psr-http-factory-1.0 to provide the specific version
FOSSology's dependency chain requires, alongside current Debian versions.

JUSTIFICATION:
This maintains the entire FOSSology HTTP stack integrity - Slim 3.x +
PSR-HTTP-Factory 1.0.x + FOSSology's web components - without forcing major
architectural changes upstream.

PRECEDENT:
Following Debian's approach for version-specific packages when applications
have tightly coupled dependency requirements that cannot be easily updated
independently.

REQUEST:
Could we reopen this ITP to discuss providing PSR-HTTP-Factory 1.0.1 for
FOSSology's dependency chain compatibility?

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team

Technical reference: https://www.php-fig.org/psr/psr-17/

#1109624#22
Date:
2025-08-10 22:21:58 UTC
From:
To:
Dear William,

I need to reopen this ITP due to HTTP factory version compatibility
requirements for FOSSology's web infrastructure.

HTTP STACK DEPENDENCY:
FOSSology requires PSR-HTTP-Factory 1.0.1 to maintain compatibility with
its Slim Framework 3.12.3 and complete HTTP dependency chain.

TECHNICAL INTEGRATION:
- FOSSology uses Slim Framework 3.12.3
- Slim 3.x requires PSR-HTTP-Factory 1.0.1 for HTTP message creation
- FOSSology's web components depend on this specific factory version
- Newer PSR-HTTP-Factory versions may break Slim 3.x integration

HTTP DEPENDENCY CHAIN:
FOSSology's web infrastructure requires version consistency:
- Slim Framework 3.12.3
- PSR-HTTP-Message 1.0.1
- PSR-HTTP-Factory 1.0.1
- All must be compatible for proper HTTP handling

EVIDENCE FROM INTEGRATION:
FOSSology's composer dependencies lock PSR-HTTP-Factory to 1.0.1 to ensure:
- Compatibility with Slim 3.x HTTP factory usage
- Proper HTTP message creation in web/API components
- Stability across the HTTP interface chain

PROPOSED SOLUTION:
Package as php-psr-http-factory-1.0 to support FOSSology's HTTP stack
requirements alongside current Debian versions.

JUSTIFICATION:
This maintains FOSSology's complete HTTP infrastructure (Slim 3.x + PSR-17
1.0.x) without forcing architectural changes requiring extensive upstream
development.

REQUEST:
Please reopen to discuss providing PSR-HTTP-Factory 1.0.1 for FOSSology's
HTTP stack compatibility.

Best regards,
Ahmed Gamal
FOSSology Debian Packaging Team