Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 Name: sqlite | 1 Name: sqlite |
| 2 License File: src/LICENSE | 2 License File: src/LICENSE |
| 3 URL: http://sqlite.org/ | 3 URL: http://sqlite.org/ |
| 4 Version: 3.7.6.3 | 4 Version: 3.7.6.3 |
| 5 Included In Release: Yes | 5 Included In Release: Yes |
| 6 Security Critical: Yes | 6 Security Critical: Yes |
| 7 | 7 |
| 8 Instructions for importing a new release of SQLite from sqlite.org. | 8 Instructions for importing a new release of SQLite from sqlite.org. |
| 9 | 9 |
| 10 Note: our current base version is 3.7.6.3. | 10 Note: our current base version is 3.7.6.3. |
| 11 | 11 |
| 12 First, you need to be on Linux. | 12 First, you need to be on Linux. |
| 13 | 13 |
| 14 # Determine the versions of the release you want and the release we currently | 14 # Determine the versions of the release you want and the release we currently |
| 15 # have. (See the VERSION file to determine which release we currently have.) | 15 # have. (See the VERSION file to determine which release we currently have.) |
| 16 # You may wish to consult http://www.sqlite.org/changes.html to find out what | 16 # You may wish to consult http://www.sqlite.org/changes.html to find out what |
| 17 # changes have been made in each release. | 17 # changes have been made in each release. |
| 18 # Note - this is just an example. Always refer to the version above for our | 18 # Note - this is just an example. Always refer to the version above for our |
| 19 # real current version. | 19 # real current version. |
| 20 # Set some variables to remember the versions, e.g.: | 20 # Set some variables to remember the versions, e.g.: |
| 21 BASE=3.7.6.3 | 21 BASE=3070603 |
|
Mark Mentovai
2011/05/26 21:23:40
Whether or not this is right is up to Scott. But y
Scott Hess - ex-Googler
2011/05/26 22:05:07
Needs to be .zip. And a leading 0. And the later
Mark Mentovai
2011/05/26 22:14:22
shess wrote:
mrossetti
2011/05/27 17:11:36
I removed the version stuff for $BASE and $LATEST
| |
| 22 LATEST=3.7.6.4 | 22 LATEST=3070604 |
| 23 | 23 |
| 24 # Get to the src/third_party directory in your Chromium client: | 24 # Get to the src/third_party directory in your Chromium client: |
| 25 cd src/third_party | 25 cd src/third_party |
| 26 | 26 |
| 27 # Download the .tar.gz files for the releases: | 27 # Download the .tar.gz files for the releases: |
| 28 # (If the URL changes you might need to find the new one.) | 28 # (If the URL changes you might need to find the new one.) |
| 29 # TODO(shess): Rewrite this to track the new naming format. Meanwhile, | 29 # TODO(shess): Rewrite this to track the new naming format. Meanwhile, |
| 30 # manually navigate to www.sqlite.org and find downloads, use "legacy" version. | 30 # manually navigate to www.sqlite.org and find downloads, use "legacy" version. |
| 31 wget http://www.sqlite.org/sqlite-$BASE.tar.gz | 31 wget http://www.sqlite.org/sqlite-$BASE.tar.gz |
| 32 wget http://www.sqlite.org/sqlite-$LATEST.tar.gz | 32 wget http://www.sqlite.org/sqlite-$LATEST.tar.gz |
| 33 | 33 |
| 34 # Extract the vanilla current and desired versions: | 34 # Extract the vanilla current and desired versions: |
| 35 tar xzf sqlite-$BASE.tar.gz | 35 tar xzf sqlite-$BASE.tar.gz |
| 36 tar xzf sqlite-$LATEST.tar.gz | 36 tar xzf sqlite-$LATEST.tar.gz |
| 37 | 37 |
| 38 # Use kdiff3 to merge the changes: | 38 # Use kdiff3 to merge the changes: |
| 39 kdiff3 -m sqlite-$BASE sqlite-$LATEST sqlite | 39 kdiff3 -m sqlite-$BASE sqlite-$LATEST sqlite |
| 40 | 40 |
| 41 # Resolve any conflicts. Figure out if we've got everything we should | 41 # Resolve any conflicts. Figure out if we've got everything we should |
| 42 # have (see below), or if we can omit any changes we no longer need. | 42 # have (see below), or if we can omit any changes we no longer need. |
| 43 | 43 |
| 44 # Change to the sqlite directory: | 44 # Change to the sqlite directory: |
| 45 cd sqlite | 45 cd sqlite |
| 46 | 46 |
| 47 # Run the google_generate_preprocessed.sh script: | 47 # Run the google_generate_amalgamation.sh script: |
| 48 ./google_generate_preprocessed.sh | 48 ./google_generate_amalgamation.sh |
| 49 | 49 |
| 50 # Find a sucker. Send review. | 50 # Find a sucker. Send review. |
| 51 # TODO(shess) Describe an appropriate comment style. Seems like it | 51 # TODO(shess) Describe an appropriate comment style. Seems like it |
| 52 # should at least include the SQLite version number. | 52 # should at least include the SQLite version number. |
| 53 | 53 |
| 54 -------------------------------------------- | 54 -------------------------------------------- |
| 55 | 55 |
| 56 For reference, all of our local patches are also kept as .patch files in the | 56 For reference, all of our local patches are also kept as .patch files in the |
| 57 sqlite directory. Here is a list of the patches, in the order they should be | 57 sqlite directory. Here is a list of the patches, in the order they should be |
| 58 applied to a vanilla SQLite (of the version we currently have) to get, in | 58 applied to a vanilla SQLite (of the version we currently have) to get, in |
| 59 principle, exactly what is checked in: | 59 principle, exactly what is checked in: |
| 60 | 60 |
| 61 misc.patch | 61 misc.patch |
| 62 preload-cache.patch | 62 preload-cache.patch |
| 63 safe-tolower.patch | 63 safe-tolower.patch |
| 64 fts2.patch | 64 fts2.patch |
| 65 fts3.patch | 65 fts3.patch |
| 66 icu-regexp.patch | 66 icu-regexp.patch |
| 67 icu-shell.patch | 67 icu-shell.patch |
| 68 attach-integer.patch | 68 attach-integer.patch |
| 69 webdb.patch | 69 webdb.patch |
| 70 test.patch | 70 test.patch |
| 71 mac_time_machine.patch | |
| 71 | 72 |
| 72 So, e.g. you could do this to apply all our patches to vanilla SQLite: | 73 So, e.g. you could do this to apply all our patches to vanilla SQLite: |
| 73 | 74 |
| 74 cd sqlite-$LATEST | 75 cd sqlite-$LATEST |
| 75 patch -p0 < ../sqlite/misc.patch | 76 patch -p0 < ../sqlite/misc.patch |
| 76 patch -p0 < ../sqlite/preload-cache.patch | 77 patch -p0 < ../sqlite/preload-cache.patch |
| 77 patch -p0 < ../sqlite/safe-tolower.patch | |
| 78 patch -p0 < ../sqlite/fts2.patch | 78 patch -p0 < ../sqlite/fts2.patch |
| 79 patch -p0 < ../sqlite/fts3.patch | 79 patch -p0 < ../sqlite/fts3.patch |
| 80 patch -p0 < ../sqlite/icu-regexp.patch | |
| 81 patch -p0 < ../sqlite/icu-shell.patch | 80 patch -p0 < ../sqlite/icu-shell.patch |
| 82 patch -p0 < ../sqlite/attach-integer.patch | |
| 83 patch -p0 < ../sqlite/webdb.patch | 81 patch -p0 < ../sqlite/webdb.patch |
| 84 patch -p0 < ../sqlite/test.patch | 82 patch -p0 < ../sqlite/test.patch |
| 83 patch -p0 < ../sqlite/mac_time_machine.patch | |
| 85 | 84 |
| 86 This will only be the case if all changes we make also update the corresponding | 85 This will only be the case if all changes we make also update the corresponding |
| 87 patch files. Therefore please remember to do that whenever you make a change! | 86 patch files. Therefore please remember to do that whenever you make a change! |
| 88 | 87 |
| 89 Descriptions of the changes we've made can be found at the bottom of this file. | 88 Descriptions of the changes we've made can be found at the bottom of this file. |
| 90 | 89 |
| 91 -------------------------------------------- | 90 -------------------------------------------- |
| 92 | 91 |
| 93 How to run the SQLite tests for the Chromium version of SQLite on Linux. | 92 How to run the SQLite tests for the Chromium version of SQLite on Linux. |
| 94 | 93 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 170 os_unix.c, to allow Chromium's Posix VFS implementation in | 169 os_unix.c, to allow Chromium's Posix VFS implementation in |
| 171 WebKit/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp | 170 WebKit/WebCore/platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp |
| 172 to correctly implement the "unused file descriptors" logic in the | 171 to correctly implement the "unused file descriptors" logic in the |
| 173 xDlOpen() method. The new functions are | 172 xDlOpen() method. The new functions are |
| 174 chromium_sqlite3_get_reusable_file_handle(), | 173 chromium_sqlite3_get_reusable_file_handle(), |
| 175 chromium_sqlite3_update_reusable_file_handle() and | 174 chromium_sqlite3_update_reusable_file_handle() and |
| 176 chromium_sqlite3_destroy_reusable_file_handle(). Also, added the | 175 chromium_sqlite3_destroy_reusable_file_handle(). Also, added the |
| 177 chromium_sqlite3_fill_in_unix_sqlite3_file() function that calls | 176 chromium_sqlite3_fill_in_unix_sqlite3_file() function that calls |
| 178 fillInUnixFile(), which will be made static again as soon as a | 177 fillInUnixFile(), which will be made static again as soon as a |
| 179 WebKit patch using the new function lands. | 178 WebKit patch using the new function lands. |
| 179 - From mac_time_machine.patch: | |
| 180 When __APPLE__ and when creating a -journal file, determine if the database | |
| 181 for which the journal is being created has been excluded from being backed | |
| 182 up using Apple's Time Machine and if so then also exclude the journal. These | |
| 183 changes were all made in pager.c. In order to eliminate a symbol conflict | |
|
Mark Mentovai
2011/05/26 21:23:40
The change now extends to sqliteInt.h as well.
mrossetti
2011/05/27 17:11:36
Done.
| |
| 184 with an Apple library after amalgamation it was also necessary to rename | |
| 185 fts3_porter.c's 'cType' to 'vOrCType'. | |
| OLD | NEW |