pkgngのアップデート

DragonFly BSD 3.6でpkg upgradeしたら、pkgコマンド自体がアップデートされました。

# pkg upgrade
Updating repository catalogue
digests.txz                         100%  983KB 327.8KB/s 723.4KB/s   00:03
New version of pkg detected; it needs to be installed first.
After this upgrade it is recommended that you do a full upgrade using: 'pkg upgrade'

Upgrades have been requested for the following 1 packages:

        Upgrading pkg: 1.1.4_8 -> 1.2.4_1

The upgrade will require 2 MB more space

2 MB to be downloaded

Proceed with upgrading packages [y/N]: y
pkg-1.2.4_1.txz                     100% 1902KB 475.4KB/s 971.7KB/s   00:04
Checking integrity... done
[1/1] Upgrading pkg from 1.1.4_8 to 1.2.4_1... done

pkgが1.1系から1.2系なるにあたって設定ファイルの書式が変更された様で、警告が出ます。

たとえば、

# pkg search bash
pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
pkg: re-creating repo to upgrade schema version from 2005 to 2006

pkgのバージョンによっては

# pkg upgrade
pkg: Your pkg.conf file is in deprecated format you should convert it to the following format:
====== BEGIN pkg.conf ======
"PACKAGESITE": "http://mirror-master.dragonflybsd.org/dports/${ABI}/LATEST"

====== END pkg.conf ======

pkg: PACKAGESITE in pkg.conf is deprecated. Please create a repository configuration file
Updating repository catalogue
pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://
digests.txz                         100%  982KB 245.4KB/s 751.8KB/s   00:04
pkg: Warning: use of http:// URL scheme with SRV records is deprecated: switch to pkg+http://

と表示されます。

設定ファイルの修正

まずはpkg.confを修正します。といっても、ファイルコピーだけです。

# cd /usr/local/etc
# ls pkg.conf*
pkg.conf        pkg.conf.sample
# mv pkg.conf pkg.conf.bak
# cp pkg.conf.sample pkg.conf

上記の例では、一応バックアップをpkg.conf.bakにとっています。

次はリポジトリファイルを用意します。

# cd /usr/local/etc/pkg/repos/
# ls
df-latest.conf.sample   df-releases.conf.sample
# cp df-releases.conf.sample df-releases.conf

さらに、df-releases.confを修正します。df-releases.confの最初の方にある、 Avalon-Releaseブロック内の、enabled: noenabled: yesに変更します。

次のようになります。このファイルはread onlyなので、編集する前に変更するなどしてください。

Avalon-Release: {
        url             : http://mirror-master.dragonflybsd.org/dports/${ABI}/RELEASE,
        mirror_type     : NONE,
        signature_type  : NONE,
        pubkey          : NONE,
        fingerprints    : /usr/share/fingerprints,
        enabled         : yes
}

リポジトリカタログの更新

新しいリポジトリ情報でカタログを更新しましょう。

# pkg update
Updating repository catalogue
digests.txz                         100%  913KB 304.3KB/s 462.9KB/s   00:03
packagesite.txz                     100% 4889KB 611.1KB/s   1.7MB/s   00:08
Incremental update completed, 20646 packages processed:
0 packages updated, 0 removed and 20646 added.

試しにbashをインストールしてみます。

# pkg install bash
Updating repository catalogue
The following 1 packages will be installed:

        Installing bash: 4.2.45 [Avalon-Release]

The installation will require 4 MB more space

863 KB to be downloaded

Proceed with installing packages [y/N]: y
bash-4.2.45.txz                     100%  863KB 215.6KB/s 302.6KB/s   00:04
Checking integrity... done
[1/1] Installing bash-4.2.45... done

ちゃんと動いてますね。

最後ですが、環境について。

# uname -v
DragonFly v3.6.0-RELEASE #8: Fri Nov 22 13:22:00 PST 2013     root@pkgbox64.dragonflybsd.org:/usr/obj/build/home/justin/src/sys/X86_64_GENERIC