Comments (4)
I've been digging into this a bit more... I see that there's an undocumented (or at least it isn't mentioned in the official docs) archive.rearchive
option which is enabled by default.
Having disabled this, ~98% of the zip archives now contain the correct timestamps.
The other ~2% of the archived releases still contain incorrect timestamps for some inexplicable reason. I can only assume this is something to do with the package's dist type causing the archive.rearchive
config option to be overridden. Once unzipped, the archives with the incorrect timestamps spit out a directory with a different naming convention to the (non re-archived) ones with correct timestamps, which also suggests to me that they are indeed being re-archived and that this is the cause of the issue.
Are there any cases where a package dist type might not be tar
or zip
, thus forcing the re-archiving?
What is the reason for re-archiving anyway? I see that satis is using Composer\Package\Archiver\ArchiveManager::archive()
for this. In which case it looks like I need to open an issue up there, so that the timestamps are preserved.
Thoughts on this from satis maintainers would be much appreciated.
from satis.
@alcohol Hi, it would appear that there are issues setting mtime on files archived using ZipArchive
in php <8
. Do you have any ideas for how this could be fixed in Satis?
Considering the outcome of the discussion in composer/composer#11342, it seems to me that bumping Satis' minimum php version to 8 and also checking for the ext-zip
extension might be the best (and least time consuming) solution.
{
"require": {
"php": "^8.0",
"ext-zip": "*"
}
}
from satis.
Done via bab7ca3. The container release artifact of satis
includes said necessary extensions. Git clone users might be less happy about this implementation, but c'est la vie 🤷
from satis.
Great, thanks 🙂
from satis.
Related Issues (20)
- Satis fails to archive dependencies for required packages. HOT 2
- Satis fails to archive dependencies for required packages
- "Composer could not find a composer.json file" HOT 9
- Change in PackageSelection repository filters HOT 7
- Purge fails if unreferenced file to remove is already missing HOT 1
- Check for vcs tag when scanning path for packages
- 403 when trying to access packages.json HOT 6
- Non-canonical repositories are not fetched HOT 2
- Composer not asking for credentials even though they are entered HOT 1
- Satis not getting the next minor version on "composer update" HOT 2
- After upgrading Satis, 'composer create-project' no longer recognizes github-oauth token HOT 1
- Running satis causes "Failed to open directory: operation failed error"
- Release stable (i.e. 3.x) branch for pre-mbstring era HOT 2
- Could the "only-best-candidates" logic also be used for archived packages
- `includes` configuration is documented but not valid HOT 1
- Exit with non-zero RC on failure
- Question about SSH/SSL section in the documentation
- Docker + Composer is not using external providers-url error Composer repositories that have providers can not load the complete list of packages, use getPackageNames instead
- How can I prevent Satis from erroring when a repostiory has no `composer.json` present? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from satis.