| == Patches applied on top of zlib == |
| |
| - 0000-build.patch: changes from the upstream version, mostly related to the |
| build. |
| - 0001-simd.patch: integrate Intel SIMD optimizations from |
| https://github.com/jtkukunas/zlib/ |
| |
| == Procedure to create a patch file == |
| |
| Assuming you are working in a new feature branch: |
| - git format-patch master --stdout > foo.patch # where naming follows a growing |
| # number plus patch description. |
| - git add foo.patch |
| - git commit -a -m "Local patch." |
| - git rebase -i HEAD~2 # Squashing the second commit |
| |
| As patches created in this way will feature a ChangeLog, there is no longer |
| the need to append this file with a description of what the patch does. This |
| should help to solve frequent conflicts in pending new patches on |
| Chromium's zlib. |
| |
| The plan for the near future is to better insulate the platform specific |
| changes to ease update adoption with new releases of zlib. This insulation |
| happens by making changes inside contrib/ rather than the root directory |
| (where conflicts can happen). |
| |
| If a change modifies enough things inside the root directory that the |
| intention is not immediately clear, generate a .patch file to go with your |
| change. If the change's modifications in the root directory are small, like: |
| |
| #ifdef FEATURE_FLAG |
| use_special_feature(); |
| #elif |
| use_default_behavior(); |
| #endif |
| |
| then the intent is clear and a .patch file doesn't need to be generated (since |
| it would not provide much value). |
| |
| Ideally local changes should have a merge request featured in either: |
| - canonical zlib: https://github.com/madler/zlib/ |
| - zlib-ng: https://github.com/Dead2/zlib-ng |