本文檔彙集了 GNU 套件的狀態報告。
這是對歷史文獻 GNU 公告(https://gnu.dev.org.tw/bulletins)中 GNU 狀態報告的復興。目標是定期提供來自 GNU 各個方面的消息和資訊,盡可能涵蓋更多套件。
https://gnu.dev.org.tw/manual 列出了所有 GNU 套件,並提供線上手冊和首頁的連結。所有 GNU 套件都可以透過網路存取,網址為 <https://gnu.dev.org.tw/software/
pkgname>,如此處標題所示。本報告僅包含數百個 GNU 套件中的一小部分項目;我們希望未來能有更多套件被收錄。
另請參閱 http://planet.gnu.org,該網站彙整了發佈在 Savannah(http://savannah.gnu.org)上的個別 GNU 新聞項目。
另請參閱 info-gnu@gnu.org 郵件列表,其中發佈了 GNU 新版本的公告。訂閱或查看存檔,請訪問 http://lists.gnu.org/mailman/listinfo/info-gnu。
本報告的目的是比其他報告更具備一定的高度和更通用性,儘管不可避免地會有一些重疊。
歡迎針對本文檔提出一般性問題、評論和建議;請發送電子郵件至 maintainers@gnu.org。關於特定套件的問題,當然應透過其常用管道處理。
來自 Nick Clifton 的報告:GNU 二進位工具專案(它的朋友們稱之為 binutils
)持續活躍開發中。版本 2.21 剛剛發佈,其中包含許多錯誤修復和一些新功能
==
id 用於導入和導出。這允許在 PE 映像檔中寫入導入/導出表名稱的別名。objcopy
程式現在支援 --interleave-width 選項,允許在使用 --interleave 選項時,從輸入複製一定範圍的位元組到輸出。.section
指令旗標中的擴展語法,允許指定區段的對齊方式。MEMORY
區域。同時,ld
的工作仍在繼續,以新增對外掛程式和壓縮偵錯區段的支援。gold
正在改進,很快就能夠取代 ld
,用於連結 Linux 核心等重要專案。
下一個 binutils 版本預計在 2011 年年中發佈。
來自 Jim Meyering 和 Pádraig Brady 的報告:我們剛剛發佈了 coreutils-8.9,它修復了一些相對重要的錯誤(http://savannah.gnu.org/forum/forum.php?forum_id=6662 適用於 8.8,http://savannah.gnu.org/forum/forum.php?forum_id=6679 適用於 8.9)。大多數錯誤出現在 sort 中,並透過在 coreutils-8.6 中新增的平行化支援而引入。
唯一重要的非錯誤修復變更是在 split 中新增了一組有用的功能,讓您可以將輸入拆分為 n 個大致相等的片段,並提供選項來決定是否在行邊界上拆分,以及在遵守行邊界時,是否以循環方式分配行。有關詳細資訊和範例,請參閱手冊 ‘info split’ 或線上 https://gnu.dev.org.tw/software/coreutils/manual/html_node/split-invocation.html。
coreutils 最困難的工作之一是知道要拒絕什麼,並為貢獻者提供適當的理由。以下貢獻都是最近收到的,雖然想法很好,但由於郵件列表中詳述的各種原因,它們沒有被包含進來。
test -ed
touch -R
`find . -exec touch -am {} +`
更通用。df autoscale
df -h
被認為已足夠好用。df/ls --blocksize={decimal,binary}
sha1sum --raw | base64。
`openssl dgst -sha1 -binary $file | openssl enc -base64`
被認為已足夠普及。 --examples
在即將到來的方面,我們應該很快恢復將 FIEMAP(高效稀疏複製)程式碼納入主開發分支的工作 http://git.savannah.gnu.org/cgit/coreutils.git/log/?h=fiemap-copy。
來自 Stuart Rubin 的報告:Electric VLSI 設計系統是一個完整的積體電路設計 CAD 套件。它讓您可以繪製示意圖、繪製 IC 佈局,甚至可以使用文字硬體描述語言。它具有許多用於分析和合成的工具,並且可以與更多工具介接。
Electric 作為自由軟體基金會的自由軟體已經 12 年了,並且持續開發和發行。目前,Electric 開發團隊受僱於 Oracle,他們剛剛發佈了 9.00 版本。
來自 Steve White 的報告:在 GNU FreeFont 20100919 版本中,新增了幾種語言腳本
此外,僧伽羅語被 Yannis Haralambous 的 TeX 字體 sinh
中的版本取代。
擴展了幾個符號範圍,並更正了一些字形。
對字體表進行了幾項技術改進,其中一些應該可以改善顯示效果。
如需更多資訊,請參閱 https://savannah.gnu.org/forum/forum.php?forum_id=6518。
來自 Arnold Robbins 的報告:Gawk 最近取得了很大的進展。一個主要的新版本正在開發中,應該會在未來幾個月內準備就緒。新功能包括
BEGINFILE
和 ENDFILE
模式FPAT
變數來自 Gerald Pfeifer 的報告:過去幾個月,GCC(GNU 編譯器套件)發佈了幾個版本,首先是 10 月份的 GCC 4.4.5,然後是 12 月份的 GCC 4.5.2,我們正在全力以赴地修訂 4.6 系列中的第一個版本(http://gcc.gnu.org/gcc-4.6/changes.html)。
GCC 4.6 將為後端的 Xilinx MicroBlaze 軟核心處理器帶來支援,以及 Go 語言的新前端(和執行時期函式庫),以及許多新的 Objective-C 功能,例如宣告和合成屬性、點語法、快速列舉、可選協定方法、方法/協定/類別屬性、類別擴展和新的 GNU Objective-C 執行時期 API。
GCC 4.6 也新增了一個新的最佳化層級 -Ofast
,它是 -O3
,但帶有一些可能會影響標準合規性但能產生更好最佳化程式碼的選項。我們在 GCC 4.5 中引入的連結時最佳化(LTO)得到了改進、穩定,並降低了資源消耗,這使得 GCC 能夠使用 LTO 建置自身或 Mozilla Firefox。作為使用者,您可以透過 -flto=N 控制要執行的編譯次數。內聯啟發式演算法和程序間最佳化也經過了大量調整。
回到前端,Ada 的堆疊檢查已收緊,現在可以檢測到多個平台上的所有溢位;已新增對即將到來的 C1X 標準的實驗性支援、新的函數屬性 leaf
和 callee_pop_aggregate
,以及新的警告 -Wdouble-promote
。對即將到來的 C++0x 標準的支援受到了廣泛的關注和關懷,並且可以更精細地調整 C++ 程式碼產生(參見新的選項 -fstrict-enums
和 -fnothrow-opt
)。
在支援新的 libquadmath 函式庫的系統上,GNU Fortran 現在也支援四精度、kind=16
浮點資料類型(REAL(16)
、COMPLEX(16)
)。-fwhole-file
命令列選項現在預設啟用,這改進了程式碼產生和診斷,並且 Fortran 2003 和 Fortran 2008 支援都得到了相當程度的增強。
在平台增強方面,-march=core2
(和 -mtune=core2
)為 Intel Core 2 提供支援,-march=corei7
為 Intel i3/i5/i7 提供支援,-march=btver1
為 AMD Bobcat(family 14)提供支援。Darwin、FreeBSD、MinGW 和 Cygwin 現在都支援 32 位元 x86 目標上的 __float128
。MIPS 現在支援龍芯 3A 處理器,s390x 新增了對 zEnterprise z196 處理器的完整支援,並提供許多新的指令工具。
就作業系統而言,GCC 提供了一種為 Android 平台建置原生函式庫和應用程式的便捷方式,在 Windows 上,新增了 #pragma push_macro
& #pragma pop_macro
、十進制浮點等功能。
如果您在測試這個即將發佈的版本或任何其他版本時發現任何問題,請使用我們更新後的 Bugzilla,網址為 http://gcc.gnu.org/bugzilla。
來自 David Sugar 的報告:GNUCOMM 是 GNU 電話系統的總括名稱。它包含幾個套件:Bayonne、Sipwitch 和支援函式庫 ccAudio、ccRTP、ccScript 和 CommonCPP。
ZRTP 通訊協定正在作為一種自由(如自由軟體的自由)方式傳播,以使用 GNU GPL 授權的軟體進行私密通訊。我們即將發佈適用於 Android 的 ZRTP(libcppzrtp
已經在 Android NDK 上建置),以及基於 CSipSimple for Android 建置的完整 Android 用戶端。
我們當然會繼續維護與新興的 IETF ZRTP 草案標準以及適用於 Android 的 ZRTP 的完整相容性和互操作性,現在將涵蓋更多使用者。之前我們看到了 GNU ZRTP4J,它用於 SIP Communicator(適用於 GNU/Linux、OS/X、Windows 和其他平台的跨平台 Java 用戶端)以及 Twinkle(QT ZRTP 代理程式),因此適用於 Android 的 ZRTP 將進一步擴展這種覆蓋範圍。
在 GNU uCommon 中,也更加強調應用程式開發中的安全通訊和加密實踐,使用了今年早些時候推出的一個新的安全函式庫。它還可以作為 GNUTLS 或 OpenSSL 的通用封裝器(配置首選項為前者)。這仍在發展中。它符合我們在開發安全通訊和預設情況下促進應用程式開發中的隱私方面的整體努力,使其更容易實現,這是 GNU 電話的總體目標。
來自 Jason Self 的報告:我正在努力用 C 語言和 SQLite 重寫 GNUtrition,而不是依賴外部 SQL 伺服器,使用現代化的 UI 和一些額外功能。我計劃在 3 月的 LibrePlanet 上發佈新版本。
食物資料庫正在升級。目前版本的 GNUtrition 使用的是非常舊的版本(來自 1999 年),因此現在是時候升級了。這意味著更多食物的更多資訊——大約 2,000 種新食物項目。
來自 Jim Meyering 的報告:Grep 在 2010 年發佈了幾個維護版本。自上次發佈以來,進行了一些小的錯誤修復,並且至少有一個待處理的、未修復的錯誤,當執行不區分大小寫的搜尋時,在包含土耳其語大寫 I
的行上找到匹配項時會觸發該錯誤。一旦修復,我預計會發佈另一個版本。
來自 Simon Josefsson 的報告:GSASL 是 GNU 簡易驗證與安全層函式庫。在 2010 年 12 月,發佈了一個新的穩定版本(1.6.0),其中包括對最新的兩個 SASL 機制:SCRAM 和 GS2 的支援。這些是新一代 SASL 機制,旨在(隨著時間推移)取代較舊的 CRAM-MD5、DIGEST-MD5 和 GSS-API 機制。
下一個穩定分支的開發系列已經開始,計劃包括改進對非 Kerberos 機制的 GS2 支援、對 IETF 中討論的兩個 SAML 機制的支援等等。現在是加入郵件列表並為專案做出貢獻的好時機!
來自 Spencer Buckner 的報告:GSEGrafix 是一個 GNOME 應用程式,它使用抗鋸齒的 GNOME 畫布來建立科學和工程圖。該程式是用 C 語言編寫的,可以讀取 ASCII 參數檔案和資料檔案。參數檔案包含關鍵字和相應的參數,用於指定繪圖參數(例如資料檔案名稱、資料檔案格式、繪圖類型、繪圖樣式、軸類型、軸標籤等等)。包含十一個範例圖、用於建立資料檔案的 Octave 程式碼或 C 程式碼的相應範例以及相應的參數檔案。該程式可以從終端視窗或圖形使用者介面執行。
目前版本是 gsegrafix-1.0.5
。Version 1.0.5 新增了範例 1 和範例 7 的資料檔案,用於熟悉該程式。在相應的範例描述中,有指向每個檔案的連結。該程式包含一個 HTML 幫助檔案,並且在這個版本中新增了一個 XML 幫助檔案。
1.0.6 版本正在開發中,包含兩個額外的關鍵字:background_color
和 background_image
。前者使繪圖視窗的背景顏色可以指定為白色(預設值)或黑色。如果選擇黑色,則繪圖框、刻度線、軸標籤、標題和文字將為白色。關鍵字 background_image 啟用背景圖片,例如地圖,以顯示在繪圖框中。可以透過指定以下參數值之一來以四種不同的方式縮放圖片:center
、fill
、scale
或 zoom
。
來自 Brian Gough 的報告:GNU 科學函式庫是一個用 C 語言編寫的數值函式庫。它提供了大量的數學常式,例如亂數產生器、特殊函數、傅立葉轉換和最小平方擬合。總共有 1000 多個常式,並帶有廣泛的測試套件。
該專案的角色是提供著名的專有數值函式庫的替代方案,這些函式庫透過阻止科學軟體的共享來阻礙科學合作。
該專案已經穩定發佈了 10 年,並且在這段時間內保持了 API 的穩定性。正在進行的工作繼續進行錯誤修復,特別是改進特殊函數的穩定性,並且今年早些時候發佈了 1.14 維護版本。
目前,該專案沒有足夠的貢獻者來處理重大開發,並且僅限於錯誤修復。需要良好的數值方法知識才能參與該專案——任何有興趣提供幫助的人都應聯絡 bug-gsl@gnu.org 以獲取更多資訊。
來自 Brian Gough 的報告:GNU 原始碼發佈合集(GSRC)是 GNU 套件的建置系統。目標是讓使用者可以輕鬆地從現有發行版的原始碼在您的主目錄中安裝最新的 GNU 版本。
GSRC 透過自動下載和建置套件及其依賴項來簡化此過程。您只需要一個 ./configure && make
即可完成所有操作,就像往常一樣。
對於熟悉 BSD 系統的使用者來說,這類似於 BSD Ports。GSRC 使用 GAR,這是一個由 Nick Moffit 用 GNU Make 編寫的建置系統,以及 Adam Sampson 的 GARstow。GSRC 也類似於 GNOME 的 GARNOME 系統。
目前 GSRC 中有 136 個 GNU 套件成功建置和安裝,包括 GCC、Guile、GnuPG、Emacs、coreutils、GnuTLS 和許多其他套件。套件會每週更新幾次,隨著新版本的發佈而更新。
整個合集也會定期在 GCC 編譯伺服器群上建置,並在 http://planet.gnu.org 上發佈每週報告,其中包含所有 GNU 套件的目前建置狀態。
該專案的目標是支援剩餘的 GNU 套件——特別是那些具有複雜依賴項的套件,例如 Gnash 和 GnuCash,並使最新的 alpha 版本也可用(這已經針對一些專案完成)。歡迎熟悉這些套件的人提供額外幫助。
來自 Ludovic Courtès 的報告:GNU Guile 是 Scheme 程式語言的實作,可以嵌入到應用程式中,以允許使用者擴展它們。可擴展性使使用者能夠更輕鬆地開始進行變更,從而增強軟體自由。正如 Emacs Lisp 允許在 Emacs 環境中編寫意想不到的應用程式一樣,Guile 應該對其他 GNU 應用程式執行相同的操作。它應該將 Emacs 的本質傳播到 GNU 的其他部分。
Guile 在過去幾年中經歷了重大變更,產生了 15 個預發行版本——標記為 1.9.x。這將引導到 2.0 穩定系列,計劃於 2011 年第一季度發佈。1.8 穩定系列於 2006 年發佈。它提供了許多改進,例如對精確有理數、多執行緒和更好的 C 程式設計介面的支援。
Guile 2.0 是 Guile 歷史上的一個突破。首先也是最重要的是,它基於編譯器和虛擬機器,並配備了強大的讀取-求值-列印迴圈(REPL)和偵錯器。編譯器將 Scheme 程式碼編譯為位元組碼,應用了眾所周知的最佳化。因此,Scheme 程式碼在 Guile 2.0 上執行速度明顯更快。編譯可以透明地進行:當在快取中找不到模組的編譯形式時,它會在執行前自動編譯。
此外,Guile 2.0 還具有許多令人興奮的新功能。原生支援衛生巨集,並與模組系統良好整合——它們是使 Scheme 本身可擴展的原因。它支援 Unicode,以及 R6RS 的大部分內容,R6RS 是 Scheme 程式語言的最新修訂版。
提供了一個動態外部函數介面(FFI),允許完全使用 Scheme 編寫 C 函式庫的綁定。2.0 版本中的另一個新功能是對可組合延續(又名“提示”)的支援,這是一種新穎的控制流程機制。新的模組包括用於 HTTP 和 URI 的 Web 工具、XML/SXML、模式匹配、LALR 解析、純函數式雜湊列表和程式碼覆蓋率等等。
雖然 Guile 2.0 主要仍然是 Scheme 的實作,但其編譯器帶有 ECMAScript 的前端——為尋求擴展其應用程式的使用者提供了更多選擇。Emacs Lisp 前端也可用。它是 Guile 和 Emacs 統一工作成果,Emacs 是 GNU 中可擴展性的旗艦。
2011 年有望成為 Guile 令人興奮的又一年。我們相信 Guile 2.0 是一個推動可擴展性更進一步並增強軟體自由的絕佳工具!
來自 Karl Berry 的報告:GNU Hello 仍然是一個完整的範例套件,旨在示範 GNU 套件的一些最佳實踐。例如,它使用 Automake 進行配置,使用 Gettext 進行國際化,使用 Help2man 避免維護單獨的手冊頁,並使用 Gnulib 來共享通用原始碼。
有關其他程式語言的範例,請參閱 Gettext。Automake 手冊也包含從頭開始的幾個範例。
來自 Olaf Buddenhagen、Arne Babenhauserheide、Thomas Schwinge 的報告:是的,這完全正確:這個專案仍然活躍!
根據我們的使命宣言,目標是創建一個適用於 GNU 作業系統的通用核心,它適用於日常使用,並儘可能讓使用者和程式控制其計算環境。它具有獨特的多伺服器微核心架構——將先進的作業系統研究帶入主流。更具體地說,它是在 GNU Mach 微核心上運行的使用者空間伺服器進程的集合。
Hurd 尚未完全實現日常可用性目標,但它正在不斷改進——2010 年也不例外。讓我們來看看整年的進展。
Jérémie Koenig 將現代 Debian 安裝程式移植到 Debian GNU/Hurd。使用新安裝程式的安裝映像檔正在取代先前的 CD 映像檔,後者使用的安裝程式是基於舊的 Debian 開機軟碟(並在 Linux 核心下執行)— Philip Charles 幾乎獨自維護這些映像檔長達十年!新的安裝程式映像檔可從 http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/ 取得。
Emilio Pozuelo Monfort 正在調查某些軟體套件隨附的大量測試套件所暴露出的特定相容性問題。Emilio 的分析揭露了 Hurd 程式碼中的一些程式設計錯誤,並修復了其中幾個。由於這些錯誤通常也會影響其他程式,因此普遍提升了穩定性和相容性。
Manuel Menal 修復並封裝了一些過去由外部貢獻者建立的其他轉譯器(gopherfs、netio、tarfs)。因此,Hurd 可擴展架構的一些成果現在更容易存取,而這些更新後的轉譯器可以作為其他開發人員實作他們自己想法的範例。
這是在過去一年中發生的事情的簡短摘要。您可以在 https://gnu.dev.org.tw/software/hurd/news.html 閱讀我們的定期「Hurd 每月快訊」,或透過訂閱我們的 RSS 訂閱源 https://gnu.dev.org.tw/software/hurd/index.rss。
如果您對例如在基於多伺服器微核心的作業系統上進行大學專案感興趣,或者如果您對貢獻 Hurd 的整體開發感興趣,請參閱 https://gnu.dev.org.tw/software/hurd/contributing.html。或者直接透過 bug-hurd@gnu.org 或 freenode 上的 #hurd
IRC 頻道與我們交談。
來自 Karl Berry:我們希望 Texinfo 的下一個主要版本將在經過數年的開發後於 2011 年發布。感謝我的同事 Patrice Dumas,Makeinfo 程式已經在 Perl 中完全重寫,同時基本上保留了完整的相容性。新程式基於 texi2html,並盡可能與其相容。它將為 HTML 自訂、Unicode、額外的後端等等提供更好的支援。如果您現在想嘗試它,它在開發來源中。
texinfo.tex 作為一個可分離的檔案,一直在持續更新。目前的版本可從 http://ftpmirror.gnu.org/texinfo/texinfo.tex(以及 Gnulib)取得,我們鼓勵您在發布版本時始終取得目前的版本。
來自 Arun Persaud:XBoard 是一個圖形使用者介面,適用於所有主要形式的西洋棋(以及許多其他形式)。在過去一年中,XBoard 的開發已經發布了三個新版本,修復了許多錯誤,並包含了許多新功能,另一個主要版本即將推出。我們現在支援更多種類的西洋棋(象棋、將棋、泰式象棋,以及對變體,如瘋狂屋、接力屋等等的更好支援)。此外,電腦西洋棋的支援也得到了改進。
一個持續進行的努力是將 XBoard 及其所謂的「Winboard」配套程式碼合併回一個程式碼庫,並使其適用於使用 GTK 作為 GUI 前端。如果您對此感興趣並願意提供幫助,請隨時透過 xboard-devel@gnu.org 與我們聯絡。我們總是需要更多幫助!您當然也可以聯絡我們討論其他問題/想法。