Browse Source

liblzma: Add README-CMake.txt

Describe how to update liblzma from upstream.
Brad King 11 years ago
parent
commit
a53caea3b6
1 changed files with 66 additions and 0 deletions
  1. 66 0
      Utilities/cmliblzma/README-CMake.txt

+ 66 - 0
Utilities/cmliblzma/README-CMake.txt

@@ -0,0 +1,66 @@
+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.