Brad King e5d336beb2 liblzma: Disable GNU 3.3 compiler optimizations 10 years ago
..
common 996f822930 liblzma: fix build on platforms with no SIZE_MAX defined. 11 years ago
liblzma a2df4a3f76 liblzma: Disable XL compiler optimizations altogether 10 years ago
.gitattributes 8510533f0e liblzma: Add .gitattributes to ignore whitespace checks 11 years ago
CMakeLists.txt e5d336beb2 liblzma: Disable GNU 3.3 compiler optimizations 10 years ago
COPYING 133d42fe59 Merge branch 'liblzma-upstream' into add-liblzma 11 years ago
README-CMake.txt a53caea3b6 liblzma: Add README-CMake.txt 11 years ago
config.h.in af61d6cb60 liblzma: Use unaligned access only on Intel and PowerPC archs 10 years ago

README-CMake.txt

The Utilities/cmliblzma directory contains a reduced distribution
of the liblzma source tree with only the library source code and
CMake build system. It is not a submodule; the actual content is part
of our source tree and changes can be made and committed directly.

We update from upstream using Git's "subtree" merge strategy. A
special branch contains commits of upstream liblzma snapshots and
nothing else. No Git ref points explicitly to the head of this
branch, but it is merged into our history.

Update liblzma from upstream as follows. Create a local branch to
explicitly reference the upstream snapshot branch head:

git branch liblzma-upstream c289e634

Use a temporary directory to checkout the branch:

mkdir liblzma-tmp
cd liblzma-tmp
git init
git pull .. liblzma-upstream
rm -rf *

Now place the (reduced) liblzma content in this directory. See
instructions shown by

git log c289e634

for help extracting the content from the upstream svn repo. Then run
the following commands to commit the new version. Substitute the
appropriate date and version number:

git add --all

GIT_AUTHOR_NAME='liblzma upstream' \
GIT_AUTHOR_EMAIL='[email protected]' \
GIT_AUTHOR_DATE='Sun Jun 30 19:55:49 2013 +0300' \
git commit -m 'liblzma 5.0.5-gb69900ed (reduced)' &&
git commit --amend

Edit the commit message to describe the procedure used to obtain the
content. Then push the changes back up to the main local repository:

git push .. HEAD:liblzma-upstream
cd ..
rm -rf liblzma-tmp

Create a topic in the main repository on which to perform the update:

git checkout -b update-liblzma master

Merge the liblzma-upstream branch as a subtree:

git merge -s recursive -X subtree=Utilities/cmliblzma \
liblzma-upstream

If there are conflicts, resolve them and commit. Build and test the
tree. Commit any additional changes needed to succeed.

Finally, run

git rev-parse --short=8 liblzma-upstream

to get the commit from which the liblzma-upstream branch must be started
on the next update. Edit the "git branch liblzma-upstream" line above to
record it, and commit this file.