zeissoctopus 发表于 2012-08-30 23:28

pkg(ng) 1.0 正式發布

本帖最后由 zeissoctopus 于 2012-08-31 00:55 编辑

原文出處:FreeBSD-Ports-Announce Mailing list
以下為簡單意譯
Hi all,

Since Julien Laffaye and I started pkgng lots of things has happened and here we
are now.

After 2 years of development (first commit "Tue Sep 7 2010"), more than 2000
commits, 43 different contibutors.The pkgng team is proud to release pkg-1.0!
大家安好!

自從 Julien Laffaye 和我展開 pkgng 計劃,過程中發生過很多事,然而我們仍然堅持到現在。

經過 2 年的開發(第一次 commit 是在 2010 年 9 月 7 日 星期二),超過 2000 次源碼更新,
總共 43 位源碼共獻者。pkgng 團隊很榮幸地發佈 pkg 1.0 版本。
Before going further I would like to thanks any one that has been involved in
pkgng providing code: Alberto Villa, Andrej Zverev, Andrey Zonov, Arthur
Gautier, Ashish SHUKLA, Beat Gaetzi, Brad Davis, Bryan Drewery, Chris Rees,
Craig Rodrigues, Daniel Shahaf, David Forsythe, David Naylor, Eitan Adler,
Florent Thoumie, Frederic Culot, Garrett Cooper, Glen Barber, Jonathan Anderson,
Koop Mast, Lars Engels, Joffrey Lassignardie, Marco Steinbach, Marin Atanasov
Nikolov, Matthew Seaman, Maxim Ignatenko, Michael Brune, Philippe Pepiot, Pietro
Cerutti, Rolf Grossmann, Roman Naumann, Sofian Brabez, Sunpoet Po-Chuan Hsieh,
Toni Ylenius, Will Andrews, Yuri Pankov
首先,我要衷心感謝提供源碼的各位:Alberto Villa, Andrej Zverev, Andrey Zonov, Arthur
Gautier, Ashish SHUKLA, Beat Gaetzi, Brad Davis, Bryan Drewery, Chris Rees,
Craig Rodrigues, Daniel Shahaf, David Forsythe, David Naylor, Eitan Adler,
Florent Thoumie, Frederic Culot, Garrett Cooper, Glen Barber, Jonathan Anderson,
Koop Mast, Lars Engels, Joffrey Lassignardie, Marco Steinbach, Marin Atanasov
Nikolov, Matthew Seaman, Maxim Ignatenko, Michael Brune, Philippe Pepiot, Pietro
Cerutti, Rolf Grossmann, Roman Naumann, Sofian Brabez, Sunpoet Po-Chuan Hsieh,
Toni Ylenius, Will Andrews, Yuri Pankov
There are also some people I would like to thanks in particular:
還有一些人物,我要特別感激他們:
- Will Andrews, who has been the first to join the project after the first
presentation at BSDCan 2010.
Will Andrews 君是第一位答應加入 pkgng 計劃的人,那時是在 BSDCan 2010演說之後。
- Jilles Tjoelker, who has been continuously reviewing commit, spotted mistake,
provided advices.
Jilles Tjoelker 君一直不停地檢查源碼 commit,指出錯處,並提供意見。
- Matthew Seaman and Bryan Drewery who have become two of the most active
developers in a very short time and have improved pkgng a lot!
Matthew Seaman 君和 Bryan Drewery 君兩位,在短時間之內成為最活躍的開發者,並
而引進很多優化 pkgng 的源碼。
- Marin Atanasov Nikolov, who has been working heavily on multirepository support,
providing continuous integration environement, and many more.
Marin Atanasov Nikolov 君為 pkgng 在支持多個 repo 庫、提供持續整合環境 等多方面做了大量的工作。
- All the portmgr from prior my election as member of that team, they invited us
to BSDCan to present our early version of pkgng (which was a really early
version :D), they trusted in pkgng and motivated us a lot!
所有 FreeBSD 的 portmgr 成員,多謝他們在上次選舉推舉我,好讓我加入成為 portmgr 一員。他們
也邀請我到 BSDCan 展示早期 pkgng 版本。他們信任 pkgng 和給予我們莫大的推動力。
Thanks to all the testers/reviewers, early adopters.
多謝各位測試者 / 審閱者 ,以及早期使用者。
So,
1/ Why pkg?
------------

Our current pkg_install tools are showing their age, are hard to maintain,
and they lack features:

- missing metadata
- no upgrade support
- no repository support
- no fine dependency tracking
- no modern binary package management
- and many others

Having old tools makes it hard to improve the ports infrastructure, as a
result lots of hacks have found their way into the different Mk/bsd.*.mk
files to work around pkg_install limitations plus there are lots of hacks
in the packages metadata itself such as @comment which are not comments,
and so forth.
那麼,
1) 為什麼 pkg 出現?
FreeBSD 的 pkg_install 工具已老態龍鍾,pkg_install 亦難以維護,與及他缺乏以下特點:

[*]缺乏 metadata 資訊
[*]缺乏 package 更新
[*]缺乏 repo 庫支持
[*]缺乏嚴謹的倚賴關聯追踪
[*]缺乏現代二進碼 packages 管理
[*]還有缺乏 ........

正正因為我們只有古懂工具,使到 FreeBSD 整個 ports 基礎建設難有進步的空間。結果,你不
難發現,在 /usr/ports/Mk/bsd.*.mk 檔案中,存在大量艱辛的代碼去解決 pkg_install
有限特性所帶來的問題。與及 package metadata 存在很多不完善地方。
2/ What it is?
--------------

It is a tool that is designed to replace pkg_install and provide modern
features and advanced package management for FreeBSD.

The ports tree is already able to transparently switch to pkgng by default by
adding WITH_PKGNG=yes to your make.conf

It provides a pkg2ng tool to help converting from an old installation to a new
one.

Test repositories are available on http://pkgbeta.freebsd.org/ (I try to update
them as fast as I can)

It will live forever in the ports tree (with a binary bootstrap in 9 and 10)
2) pkg 是什麼來?
pkg 是被設計用來完全取代 pkg_install 的工具。她為 FreeBSD 提供現代化二進包管理
程式。

只要你在 /etc/make.conf 加入一句:WITH_PKGNG,那麼你的 FreeBSD ports 已完全支援 pkgng。

在安裝好 pkg 後,應第一時間用 pkg2ng 工具,把系統上已安裝好的軟體記錄,由舊的 pkg_install
變為新的 pkgng 格式。

官方測試的遠程 repo 庫在 http://pkgbeta.freebsd.org/ (我們會盡力更新 repo 庫的軟件包)

pkg 將會一直存在 ports 的 /usr/ports/ports-mgmt/pkg 中 (FreeBSD 9.x 或 FreeBSD 10.x 的 base 系統會提供引導程式)
Third party tools
-----------------

Tools supporting natively pkgng
- ports-mgmt/portupgrade-devel (soon the main portupgrade will support)
- ports-mgmt/pkg_cutleaves
- ports-mgmt/poudriere
- ports-mgmt/poudriere-devel
- ports-mgmt/portdowngrade
- ports-mgmt/tinderbox-devel (support can be improved)
- ports-mgmt/portbuilder
- sysutils/bsdstats
第三方軟件

以下工具已原生整合 pkgng 支援

[*]ports-mgmt/portupgrade-devel (而 ports-mgmt/portupgrade 穩定版也快將整合 pkgng)
[*]ports-mgmt/pkg_cutleaves
[*]ports-mgmt/poudriere
[*]ports-mgmt/poudriere-devel
[*]ports-mgmt/portdowngrade
[*]ports-mgmt/tinderbox-devel (support can be improved)
[*]ports-mgmt/portbuilder
[*]sysutils/bsdstats

Tools supporting pkgng via a patch (I hope it will be reviewed/integrated soon)
- ports-mgmt/portmaster (https://github.com/pkgng/pkgng/blob/master/ports/patch-portmaster-pkgng)
以下工具,需要加入補丁才能支援 pkgng (我希望他的作者將會修改源碼加入支持)

[*]ports-mgmt/portmaster (補丁請在 https://github.com/pkgng/pkgng/blob/master/ports/patch-portmaster-pkgng下載)

Tools being worked on (or I heard people are interested) :
- salt support (in version 0.10) http://docs.saltstack.org/en/latest/ref/states/all/salt.states.pkgng.html and http://docs.saltstack.org/en/latest/ref/modules/all/salt.modules.pkgng.html
- cfengine support (http://unix-heaven.org/cfengine3-freebsd-pkgng)
- puppet support: (https://github.com/xaque208/puppet-pkgng)
- ruby bindings: (https://github.com/baloo/libpkg-ruby/)
- PackageKit
以下列出一些正在整合 pkg 支援的工具 (或者我聽聞別人有意開發)

[*]salt 於 0.10 (http://docs.saltstack.org/en/latest/ref/states/all/salt.states.pkgng.html and http://docs.saltstack.org/en/latest/ref/modules/all/salt.modules.pkgng.html)
[*]cfengine (http://unix-heaven.org/cfengine3-freebsd-pkgng)
[*]puppet (https://github.com/xaque208/puppet-pkgng)
[*]ruby bindings (https://github.com/baloo/libpkg-ruby/)
[*]PackageKit

Howto:
- Continuous integration and package building: http://unix-heaven.org/continuous-package-building-with-poudriere-and-jenkins
- Maintaining your own pkgng repository with tinderbox: http://www.glenbarber.us/2012/06/11/Maintaining-Your-Own-pkgng-Repository.html
Howto 文章
- 持續整合和編譯 package:http://unix-heaven.org/continuous-package-building-with-poudriere-and-jenkins
- 使用 tinderbox 來維護你個人的 pkgng repo 庫:http://www.glenbarber.us/2012/06/11/Maintaining-Your-Own-pkgng-Repository.html
Links
-----
- http://wiki.freebsd.org/PkgPrimer
- http://wiki.freebsd.org/pkgng
- https://github.com/pkgng/pkgng/blob/master/FAQ.md
有用連結
http://wiki.freebsd.org/PkgPrimer
http://wiki.freebsd.org/pkgng
https://github.com/pkgng/pkgng/blob/master/FAQ.md
Please report bugs in the github issue tracker:
- http://github.com/pkgng/pkgng
請到以下網址報錯
http://github.com/pkgng/pkgng
Please note the http://pkgbeta.freebsd.org is updated on best effort, there is still a lot of work needed, to be able to automatically and update on regular basis the package sets.
請注意 http://pkgbeta.freebsd.org盡最大努力保持更新,這網站仍然有大量工作要去處理,才可以把她變成有能力自動進行定期更新 packages。
regards,
Bapt
Bapt 敬上

譯者注: pkgng 團隊領導為 Baptiste Daroussin (bapt@FreeBSD.org)

gvim 发表于 2012-08-30 23:50

算社区的一件大事,值得置顶讨论下,下面继续,我学习:mrgreen:

axlrose 发表于 2012-08-30 23:50

本帖最后由 axlrose 于 2012-08-30 23:58 编辑

第一时间顶上:mrgreen:
1.0 release了,真是个大好消息
几年前用fb做桌面的时候多么渴望有这个工具呀
感谢楼主这么及时的更新信息
晚上早些时候还git pull了没发现 1.0
看到帖子后再pull 就出来了:)

zeissoctopus 发表于 2012-08-31 00:46

抱歉小弟只懂打繁體字

ulovko 发表于 2012-08-31 07:40

zeissoctopus 发表于 2012-08-31 00:46 static/image/common/back.gif
抱歉小弟只懂打繁體字

都是汉字 没关系 能看懂 ^_^ :emn31:

angelwait 发表于 2012-08-31 10:07

支持阿,这个东西搞好了,会有越来越多的人用FB的。

pkg 將會一直存在 ports 的 /usr/ports/ports-mgmt/pkg 中 (FreeBSD 9.x 或 FreeBSD 10.x 的 base 系統會提供引導程式)
另外这个是说9.X和10.X pkgng会加入base系统了?

ulovko 发表于 2012-08-31 10:16

angelwait 发表于 2012-08-31 10:07 static/image/common/back.gif
支持阿,这个东西搞好了,会有越来越多的人用FB的。




是啊 ^_^ :emn31:

zeissoctopus 发表于 2012-08-31 10:17

angelwait 发表于 2012-08-31 10:07 static/image/common/back.gif
另外这个是说9.X和10.X pkgng会加入base系统了?


FreeBSD 10.x 和 FreeBSD 9.x (包括即將發布的 9.1-RELEASE) 的 base 包含一個同名的 /usr/sbin/pkg
它實際上是:
1) 發現未安裝 ports 的 ports-mgmt/pkg 的話,直接安裝 pkg ports
2) 如果系統已安裝ports 的 ports-mgmt/pkg,呼叫 /usr/local/sbin/pkg 執行,並把參數交給她。

FreeBSD 8.x , 7.x 的 base 沒有 /usr/sbin/pkg 引導器,用 pkgng 要直接用 ports 並改 $PATH

時間表: pkg 在 FreeBSD 11.x 時正式取代 pkg_*

Hongqiyaodao 发表于 2012-08-31 11:01

继续等待

axlrose 发表于 2012-08-31 11:28

http://blog.etoilebsd.net/post/Home_made_pkgng_repoHome made pkgng repositories
有哪位仁兄知道除了这个外还有其他的制作pkgng仓库的方法吗?
poudriere only depends on zfs and sh, so you won't need much, just a zfs pool available.
要求有点高,看到 pkgng支持多仓库同步,关于制作仓库的方法目前看到 archlinux 下的pacman倒是挺简单的
比如自己ports自定义的包放到自己本地的仓库里,通过http共享出来,然后pkgng里添加这个仓库地址


目前使用archlinux桌面的时候,一台台式机将包从远程仓库下载到本地仓库后,后过通过http共享出来,另一台笔记本指向这台台式机
然后升级更新的时候向从台式机里下载已有的包,局域网下载一般10MB/s, 发现台式机没有的包时,通过多仓库列表里,查找下一个仓库地址继续下载
另一种方式,本地自己makepkg生成的包,然后通过repo-add 添加到本地的仓库里,通过http共享出来, 然后pacman -S foo就行了
页: [1] 2 3
查看完整版本: pkg(ng) 1.0 正式發布