English [en]   català [ca]   Deutsch [de]   espa?ol [es]   polski [pl]   Shqip [sq]   簡體中文 [zh-cn]  

這是針對英文原版頁面的中文翻譯。

GNU開發資源

刀塔自走棋手游什么时候出 www.zvajc.icu 本頁面旨在為GNU工程的開發人員介紹GNU為他們提供的諸多開發資源。想要了解GNU維護人員的詳細職責,請參看GNU維護人員參考信息,且需遵循GNU編碼規范。同時,這篇GNU維護人員技巧和這篇什么是GNU軟件包也會有幫助。

隨著能運行GNU/Linux的廉價計算機的豐富, 以及因特網訪問服務實用性的增強, 許多GNU志愿者今天擁有他們所需要的全部計算機設施??墑?,擁有中央計算機仍然有它的優點,在這兒,GNU志愿者們可以在一起工作而不必把他們自己機器的權限給別人。

因為這個原因,自由軟件基金會(FSF)鼓勵GNU軟件工程像在家一樣使用www.zvajc.icu上的機器。對這些機器的使用也間接的有利于GNU工程,通過增加公眾對GNU的注意,傳播為了有利于每一個人的在一起工作的思想。

Savannah和版本控制

倘若您在開發GNU的官方軟件,我們強烈建議您使用Savannah為您提供的公開的版本控制系統。若要使用它,首先請創建一個個人賬號,然后注冊你的GNU軟件包。之后,您可以選擇一個版本控制系統,創建一些網頁,給代碼貢獻者不同權限,以及其他的相關設置。

郵件列表

我們為GNU軟件包提供必須的郵件列表,包括手動管理列表和自動管理列表。

當GNU軟件包在Savannah注冊時, 會有一個網絡界面允許開發者建立和管理該軟件包專用的郵件列表。

對于每個GNU軟件,倘若其名為name,那么至少得有個叫做bug-name@www.zvajc.icu的郵件列表,用來匯報bug,還可以給這列表起幾個別名。使用Savannah,你可以為自己項目創建符合規范的列表。有些軟件包共享列表[email protected]用來匯報bug,但是我們現在強烈建議每個軟件包建立各自獨立的列表。

軟件包可以擁有用于公告、尋求幫助、放入相關的源代碼、用戶間討論以及其他軟件包的維護者認為有用的郵件列表。

自動管理的郵件列表歸檔于lists.www.zvajc.icu(mbox的歸檔可以通過HTTPS獲?。?,也可以通過列表管理獲取。手動管理的郵件列表歸檔于GNU機器的/com/archive。

當郵件列表太大了而不能證明其有效性,我們可以建立一個gnu.*的新聞組,它雙向鏈接到郵件列表中。

網頁服務

GNU的主站點位于//www.zvajc.icu/。我們強烈建議GNU軟件包使用//www.zvajc.icu/software/package作為它們的官方首頁。

使用Savannah,開發人員可以使用上述url,通過CVS的“網頁倉庫”來創建和維護他們的項目主頁。這個倉庫和軟件包的主倉庫(它可以使用其他受支持的版本管理程序)是分開的。請參看關于GNU網頁維護的更多信息。

FTP

為GNU軟件提供FTP服務的站點在//ftp.gnu.org/gnu/。它在世界各地也有鏡像。我們強烈建議您把您所維護的GNU軟件包上傳至此(當然,也可以再另外上傳到您覺得方便的地方)。

我們為測試版本使用不同的服務器,因此人們不會因為它們已經準備好了而安裝它們,這個服務器是ftp://alpha.gnu.org/。

GNU維護人員手冊中,描述了詳細的FTP上傳的整個流程。這在上述服務器中均適用。

登錄賬號

倘若GNU軟件開發人員需要shell登錄,我們可以為他們提供此服務,讓他們登錄到GNU的機器上。不過需要注意,使用這樣的登錄賬戶既擁有權利,也同時肩負著責任。這些賬號必須只能用來做和GNU工程相關的工作。詳情參考如何獲得登錄賬號。

在所登陸的計算機上,gsrc的開發者們維護著一個當前GNU軟件包的資料庫。這些軟件均直接編譯自各個軟件的源代碼。若要使用,請輸入命令source /gd/gnu/gnusys/live/setup。

您也可以使用一個GNU賬號來發郵件。

Hydra: 持續構建(Continuous builds)與可移植性測試

持續構建工具(continuous build tools,通常也被叫做持續集成工具—continuous integration tools)可以在代碼被加入項目后,迅速地找到其中的編程錯誤。這對于團隊合作開發軟件非常有幫助。

Hydra是一款基于Nix的自由的持續構建工具。代爾夫特理工大學Hydra項目組的管理員們慷慨地為GNU項目提供了一片空間。Hydra管理的項目會對每次提交或依賴關系更改(依賴關系包括標準構建環境,就是指GCC更新、GNU make更新等等)進行重新集成。

目前,Hydra支持在GNU/Linux(i686x86_64)、FreeBSD、Darwin、Solaris以及Cygwin下構建軟件,同時也支持交叉編譯其他體系結構或MinGW上的GNU/Hurd、GNU/Linux系統。它提供利用LCOV生成的代碼覆蓋報表。除了源代碼壓縮包和Nix包以外,它還可以為基于deb-或RPM軟件包的發行版打包。軟件包可以基于最新的依賴庫來構建。比如,GnuTLS需要用到GNU libtasn1和GNU libcrypt,那么就可以基于這兩個庫的最新版本來構建它。

除了網絡界面以外,Hydra可以在項目構建狀態發生改變的時候,通過電子郵件來提醒管理人員—比如,從SUCCEEDED狀態變為了FAILED)。當構建失敗時,日志和構建樹可以通過網絡界面獲??;后者允許審查已創建的文件(比如,config.logtestsuite.log),這樣就可以獲得處理故障的信息。

任何一個GNU軟件包都可以申請在Hydra上的一片空間。每個軟件包必須提供一份“構建策略”。該策略使用Nix語言編寫(用Nix的術語來說,就是Nix表達式)。GNU項目通用Nix表達式范本可以在git上獲取。對于簡單的項目來說,使用標準的GNU構建程序的話,比如Automake和Autoconf,這份構建策略通常非常簡單。比如可以參考這個GNU Patch構建策略。對此您有任何問題,歡迎向[email protected]提問。

在編寫完您的構建策略之后,請把它發至[email protected],并要求把它加入到Hyra。同時確保它是hydra-recipesSavannah項目的成員。這樣你就可以直接定制自己項目的構建工作了。

關于Hydra的技術信息,請參考Hydra手冊PDF)。更多細節,請參考Nix手冊。

平臺測試者:手動可移植性測試

另一項發布前測試選項是平臺測試者郵件列表。如果時間允許,該郵件列表成員會根據需求在多種平臺上構建預先發布版本。(我們征求測試志愿者!只需加入該郵件列表就可以開始介入了。)

和Hydra不同,平臺測試者主要進行手動測試,兩種方法各有優劣。另外,平臺測試者比Hydra有更多種類的平臺和編譯器。

所以,如果你有預發布版,你可以發信給郵件列表,提供(1) 壓縮包的url,(2) 計劃的發布日期,和(3) 收取構建報告的電子郵件地址。構建和報告都有列表里的志愿者手動完成。

最頂

[FSF 標志]“自由軟件基金會(FSF)是一個非盈利組織。我們的使命是在全球范圍內促進計算機用戶的自由。我們捍衛所有軟件用戶的權利。”

加入 購物