pkgng 如箭在弦
轉載一則 2012年7月12日 freebsd-ports-announce 公告。由 pkgng 領軍 Baptiste Daroussin 發表。當中透露會在 7 月 25 日把 ports tree CURRENT 正式轉為 pkgng repositoriesHi,
On behalf of the pkgng team I'm really pleased to announce pkg 1.0 RC1 (aka pkgng)
Only bug fixes will be accepted in the RC phase.
What is pkg
-----------
pkg is a new package manager for FreeBSD. It is designed as a replacement for
the pkg_* tools, and as a full featured binary package manager.
It provides a library that does all the work, and a frontend to be used by users
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)
Why pkg?
--------
pkg_* tools have become hardly maintainable over the time, it lacks lots of
features most of people are expecting from a package manager:
- binary upgrade
- ability to search information about remote packages
- real reverse dependency tracking
- tracking leaves
- many more.
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/portdowngrade
- ports-mgmt/tinderbox-devel (support can be improved)
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)
Tools being worked on (or I heard people are interested) :
- salt support (in version 0.10) http://salt.readthedocs.org/en/v0.10.0/ref/modules/all/salt.modules.freebsdpkg.html
- cfengine support
- puppet support: (https://github.com/xaque208/puppet-pkgng)
- ruby bindings: (https://github.com/baloo/libpkg-ruby/)
- PackageKit
Links
-----
- http://wiki.freebsd.org/PkgPrimer
- http://wiki.freebsd.org/pkgng
Please report bugs in the github issue tracker:
- http://github.com/pkgng/pkgng
Schedule
--------
The plan is to switch the ports tree to pkgng on CURRENT by default on July 25th
No dates are planned yet for other branches.
Note that there will be a NO_PKGNG knob for some time (undefined yet) for people
not will to switch on July 25th
Please also note that some ports won't work with pkgng right now, because pkgng
is more strict than pkg_install on purpose.
The major one is: nvidia drivers, because pkgng does not allow to overwrite a file
owned by another package, and we will not accept any hacks for that in pkgng.
Road to next version
--------------------
The road to the next version is already open and lots of work will happen, list
of ideas:
- remote repositories will be able to display update messages
- optionnal remote files repository to be able to search which packages to
install if you want a known binary
- real solver,
- better support for multi repository
- provides/requires support
- stabilisation of the library API
- reduce as much as possible scripting in packages to allow cross installation
- many more :D
regards,
Bapt
:mrgreen: 感谢分享 ^_^ :emn31: 看不懂:wink: 对于python2,python3共存,pkgng是如何处理的?# pkg search python32| awk '{print $1}' | xargs pkg install -y
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing python32: 3.2.3_1
The installation will require 68 MB more space
0 B to be downloaded
Checking integrity...pkg: WARNING: locally installed python27-2.7.3_3 conflicts on /usr/local/bin/2to3 with:
- python32-3.2.3_1
pkg: WARNING: locally installed python27-2.7.3_3 conflicts on /usr/local/bin/python with:
- python32-3.2.3_1
pkg: WARNING: locally installed python27-2.7.3_3 conflicts on /usr/local/bin/python-config with:
- python32-3.2.3_1
pkg: WARNING: locally installed python27-2.7.3_3 conflicts on /usr/local/bin/python-shared with:
- python32-3.2.3_1
pkg: WARNING: locally installed python27-2.7.3_3 conflicts on /usr/local/bin/python-shared-config with:
- python32-3.2.3_1
还发现一个bug
# pkg search python32| awk '{print $1}' | xargs pkg install
Updating repository catalogue
Repository catalogue is up-to-date, no need to fetch fresh copy
The following packages will be installed:
Installing python32: 3.2.3_1
The installation will require 68 MB more space
0 B to be downloaded
Proceed with installing packages : #
本帖最后由 zeissoctopus 于 2012-10-01 10:58 编辑
wolf_london 发表于 2012-10-01 09:58 static/image/common/back.gif
还发现一个bug
不是 bug,因為 pkg 是一個互動介面(它打開 tty 問你 yes or no) 有以下二個方法化解:
方法一,使用 xargs 時加上 -o 參數,變成:
pkg search python32| awk '{print $1}' | xargs -o pkg install
方法二,更改 /usr/local/etc/pkg.conf,加入一句 ASSUME_ALWAYS_YES: YES,強制 pkg 不再詢問你 yes 或 no
ASSUME_ALWAYS_YES: YES
更動完 pkg.conf ,你便可以使用 xargs 時不需要再加 -o 參數了
pkg search python32| awk '{print $1}' | xargs pkg install
wolf_london 发表于 2012-10-01 09:56 static/image/common/back.gif
对于python2,python3共存,pkgng是如何处理的?
你在 /etc/make.conf 設定好 PYTHON_DEFAULT_VERSION 環境變數未?請參考 /usr/ports/Mk/bsd.python.mk 內的說明 回复 7# zeissoctopus
明白了!
回复 8# zeissoctopus
我这边也设置了,还是同样的问题.
页:
[1]