44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
== 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/
 | 
						|
 - 0002-uninitializedcheck.patch: prevent uninitialized use of state->check
 | 
						|
 | 
						|
== 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
 |