Chromium Code Reviews| Index: third_party/sqlite/README.chromium |
| =================================================================== |
| --- third_party/sqlite/README.chromium (revision 26826) |
| +++ third_party/sqlite/README.chromium (working copy) |
| @@ -1,37 +1,72 @@ |
| -Instructions for importing a new release of sqlite from sqlite.org. |
| +Instructions for importing a new release of SQLite from sqlite.org. |
| First, you need to be on Linux. |
| -Find the release you want at: |
| - http://www.sqlite.org/cvstrac/timeline |
| +# Determine the versions of the release you want and the release we currently |
| +# have. (See the VERSION file to determine which release we currently have.) |
| +# You may wish to consult http://www.sqlite.org/changes.html to find out what |
| +# changes have been made in each release. |
| +# Set some variables to remember the versions, e.g.: |
| +BASE=3.6.1 |
| +LATEST=3.6.18 |
| -Search for "Milestone", and find the appropriate release. Click |
| -through, and snag the "Date" for use in DATE line below. |
| -Unfortunately, the actual displayed date string on that page will not |
| -work, you have to make it YYYY/MM/DD. [TODO(shess) Determine if the |
| -fact that sqlite.org thinks it's running under UTC is relevant.] |
| +# Get to the src/third_party directory in your Chromium client: |
| +cd src/third_party |
| -DATE='2007/01/24 09:54:56' |
| +# Download the .tar.gz files for the releases: |
| +# (If the URL changes you might need to find the new one.) |
| +wget http://www.sqlite.org/sqlite-$BASE.tar.gz |
| +wget http://www.sqlite.org/sqlite-$LATEST.tar.gz |
| -# Get to the third_party/sqlite directory in your Chromium client. |
| -cd ../third_party/sqlite |
| +# Extract the vanilla current and desired versions: |
| +tar xzf sqlite-$BASE.tar.gz |
| +tar xzf sqlite-$LATEST.tar.gz |
| -# Run the super awesome automatic merge tool (requires kdiff3). |
| -# NOTE(shess): The following (which runs google_generate_preprocessed.sh) will |
| -# produce different output on grhat versus goobuntu; I've been running it on |
| -# goobuntu. |
| -./google_update_sqlite.sh "$DATE" |
| +# Use kdiff3 to merge the changes: |
| +kdiff3 -m sqlite-$BASE sqlite-$LATEST sqlite |
| # Resolve any conflicts. Figure out if we've got everything we should |
| # have (see below), or if we can omit any changes we no longer need. |
| +# Change to the sqlite directory: |
| +cd sqlite |
| + |
| +# Run the google_generate_preprocessed.sh script: |
| +./google_generate_preprocessed.sh |
| + |
| # Find a sucker. Send review. |
| # TODO(shess) Describe an appropriate comment style. Seems like it |
| -# should include the DATE line, and the sqlite version number. |
| +# should at least include the SQLite version number. |
| +-------------------------------------------- |
| +For reference, all of our local patches are also kept as .patch files in the |
| +sqlite directory. Here is a list of the patches, in the order they should be |
| +applied to a vanilla SQLite (of the version we currently have) to get, in |
| +principle, exactly what is checked in: |
| + |
| +misc.patch |
| +preload-cache.patch |
| +safe-tolower.patch |
| +sqlite-poison.patch |
| + |
| +So, e.g. you could do this to apply all our patches to vanilla SQLite: |
| + |
| +cd sqlite-$LATEST |
| +patch -p0 < ../sqlite/misc.patch |
| +patch -p0 < ../sqlite/preload-cache.patch |
| +patch -p0 < ../sqlite/safe-tolower.patch |
| +patch -p0 < ../sqlite/sqlite-poison.patch |
| + |
| +This will only be the case if all changes we make also update the corresponding |
| +patch files. Therefore please try to do that whenever you make a change! |
| + |
| +Descriptions of the changes we've made can be found at the bottom of this file. |
| + |
| -------------------------------------------- |
| +The following notes are old but you can get the idea: |
|
Scott Hess - ex-Googler
2009/09/23 20:54:30
I think this section is irrelevant. Gears lived i
|
| + |
| Why all this convolution? The problem being solved is that we want to |
| harvest changes from the sqlite CVS tree, and merge them with any |
| local changes we make. In CVS, you would do this using a "vendor |
| @@ -47,7 +82,7 @@ |
| Basically, sqlite_vendor is a gateway between CVS and subversion. |
| Scott Hess <shess@google.com>, April 9, 2007. |
| -[Updated September 14, 2009.] |
| +[Slightly updated September 14, 2009.] |
| -------------------------------------------- |