小巧、快速、可靠。
選擇三項。
如何下載正規 SQLite 原始碼

1. 簡介

大多數程式設計師會使用 混合 將 SQLite 編譯到他們的應用程式中。 混合 是 C 程式碼,但它不是「原始碼」。 混合 是由腳本從原始碼產生。

本文說明如何取得 SQLite 的正規原始碼,也就是用於建置混合的原始原始檔。取得正規原始碼後,請參閱 如何編譯 SQLite 頁面,以取得進一步資訊。

2. 直接下載

SQLite 原始碼的官方版本快照通常可直接從 SQLite 網站的 下載頁面 取得。即使下載頁面未列出想要的特定版本,命名慣例相當清楚,因此程式設計師通常可以猜測歷史版本的檔名並以這種方式下載。

3. 直接從版本控制系統取得程式碼

對於任何 SQLite 的歷史版本,原始碼樹可從 Fossil 版本控制系統取得,方法是下載特定版本的 tarball 或 ZIP 檔案,或複製整個專案歷程記錄。

SQLite 原始碼保存在三個地理分散的伺服器上

https://www.sqlite.org/src(達拉斯)
https://www2.sqlite.org/src(紐華克)
https://www3.sqlite.org/src(舊金山)

文件保存在這些伺服器上不同的原始碼儲存庫中

https://www.sqlite.org/docsrc(達拉斯)
https://www2.sqlite.org/docsrc(紐華克)
https://www3.sqlite.org/docsrc(舊金山)

若要下載特定歷史版本,請先前往這些伺服器之一的時間軸頁面,找出您要的特定版本(例如:https://www.sqlite.org/src/timeline)。如果您知道要下載的版本的近似日期,您可以將查詢參數(例如「c=YYYY-MM-DD」)加入「時間軸」網址,以查看以該日期為中心的時序。例如,若要查看 2013 年 8 月 26 日左右發生的所有簽入,請前往 https://www.sqlite.org/src/timeline?c=2013-08-26。如果您正在尋找官方版本,請前往 年表 頁面,按一下您要尋找的版本左方的日期,您將會立即前往與該版本對應的簽入。

找到特定版本後,按一下該版本的超連結,以查看「簽入資訊頁面」。然後按一下「Tarball」連結或「ZIP 檔案」連結,以下載完整的原始碼樹。

4. 驗證程式碼未修改

原始碼樹根目錄的「manifest」檔案包含儲存庫中每個原始碼檔案的 SHA3-256 或 SHA1 哈希。整個原始碼樹的版本名稱只是「manifest」檔案本身的 SHA3-256 哈希,如果最後一行以「# Remove this line」開頭,則可能會省略最後一行。 「manifest.uuid」檔案應包含「manifest」檔案的 SHA3-256 哈希。如果以上所有哈希比對正確,則您可以確信您的原始碼樹是真實且未經竄改的。有關清單檔案格式的詳細資訊,請參閱 Fossil 網站

檢查原始碼真實性的程序由 makefile 自動化

make verify-source

或在 Windows 上

nmake /f Makefile.msc verify-source

使用 makefile 驗證原始碼完整性很適合偵測原始碼樹的意外變更,但惡意的變更可以透過修改 makefile 來隱藏。

5. 複製完整的開發歷程

若要複製 SQLite 的完整歷程,請先前往 https://www.fossil-scm.org/download.html 頁面,並取得 Fossil 版本控制程式的預編譯二進位檔。或在同一個頁面上取得原始碼,並自行編譯。

截至 2017-03-12,您必須使用 Fossil 版本 2.0 或更新版本,才能讓以下說明正常運作。SQLite 儲存庫從那天開始使用以 SHA3 哈希命名的製成品,而非 SHA1 哈希,而需要 Fossil 2.0 或更新版本才能理解新的 SHA3 哈希。若要找出您執行的 Fossil 版本,請輸入「fossil -v」。

Fossil 是完全獨立的程式,因此只要將「fossil」或「fossil.exe」可執行檔放在您的 $PATH 或 %PATH% 中的某個地方,即可安裝。安裝 Fossil 之後,請執行下列動作

fossil clone https://www.sqlite.org/src sqlite.fossil

以上的指令會將 SQLite 的完整開發歷程複製到您電腦上的「sqlite.fossil」檔案中。製作這個副本大約需要一分鐘,並使用約 32 MB 的傳輸量。製作副本後,請輸入下列指令「開啟」儲存庫

fossil open sqlite.fossil

此第二個指令會將 SQLite 原始碼樹中的最新簽入「簽出」到您的目前目錄。隨後,您可以透過輸入以下指令輕鬆切換到不同版本

fossil update VERSION

其中 VERSION 可以是分支名稱(例如「trunk」或「session」),以取得特定分支上的最新簽入,或 VERSION 可以是特定簽入的 SHA1 hash 或 SHA1 hash 的字首,或 VERSION 可以是標籤,例如「version-3.8.8」。每次您執行「fossil update」時,它會自動連線到 https://www.sqlite.org/src 上的原始存放庫,以取得自您上次更新以來其他使用者可能已進行的新簽入。

此頁面最後修改於 2023-08-03 14:10:55 UTC