2015-11 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

2015-11-10 Tue

[別の年の同じ日: 2002 2004 2005 2006 2007 2008 2009 2010

Ruby で RAD を叩く はてぶ

RAD (Remote Administration Daemon) を REST API 経由で使ってみた ([2015-11-09-1]) ので
次はスクリプトから REST API を叩くということで、Ruby でざっと書いてみた

[ Read More... ]

2015-11-09 Mon

[別の年の同じ日: 2003 2004 2005 2006 2007 2008 2009 2010

RAD (Remote Administration Daemon) を REST API 経由で使ってみる はてぶ

ちょっと RAD (Remote Administration Daemon) を触っておこうということで、
Oracle Solaris 11.3 で触ってみたメモ。

[ Read More... ]

Referrer (Inside):
[2015-11-10-1] Ruby で RAD を叩く

2015-11-06 Fri

[別の年の同じ日: 2002 2003 2004 2006 2007 2008 2009

Fedora 23 にアップデート はてぶ

https://fedoraproject.org/wiki/Upgrading_Fedora_using_package_manager

の 'Fedora 22 -> Fedora 23'

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-23-$(uname -i)
# dnf upgrade
# dnf clean all
# dnf --releasever=23 --setopt=deltarpm=false distro-sync


に従ってアップグレード。

pkgbuild による依存関係のチェックを止める はてぶ

pkgbuild はパッケージに含まれるファイルを調べて、
依存するものを見つけてくれるが問題がある。

パッケージに含まれるファイルに '#!/usr/bin/env perl' などとあると、
perl を含むパッケージを

dependency discovered: depend fmri=pkg://solaris/runtime/[email protected],5.11-0.175.3.0.0.30.0 fmri=pkg://solaris/runtime/[email protected],5.11-0.175.3.0.0.30.0 type=require-any


のように見つけて 依存関係を追加する。

この時生成される'~/packages/PKGMAPS/manifests/${IPS_PACKAGE_NAME}.manifest' で、
上記の依存関係部分の書き方がおかしく、publish に失敗する(1.3.105固有の問題?)。

ふと、RPM は依存関係を調べることをやめさせられるし、
pkgbuild でもできるんじゃないかと思って grep かけてたら以下が見つかった。

$ ag %_use_internal_dependency_generator /usr/lib/pkgbuild-1.3.105
/usr/lib/pkgbuild-1.3.105/macros
125:%_use_internal_dependency_generator     1

/usr/lib/pkgbuild-1.3.105/pkgbuild.pl
2057:    if ($package->eval ('%_use_internal_dependency_generator') eq "1") {


とりあえず、'%_use_internal_dependency_generator' を '1' 以外にすればよさそう。

もう少し grep していたら

$ ag _read_macros /usr/lib/pkgbuild-1.3.105
/usr/lib/pkgbuild-1.3.105/rpm_spec.pm
132:    _read_macros ('/usr/lib/pkgbuild-1.3.105/macros');
134: _read_macros ("${_homedir}/.pkgbuildmacros");
215: # fill with values read from the macros file in _read_macros()
251:sub _read_macros ($) {


というのが見つかったので、"${_homedir}/.pkgbuildmacros" に書けばよさそう。

man pkgbuild を見ると

       ~/.pkgbuildmacros
              user defined macros. The format of this file  is  on  definition
              per line in the following format:
              %macro_name value


とあったので間違いなさそう。

~/.pkgbuildmacros に

%_use_internal_dependency_generator 0


と書いてビルドしたところ、internal_dependency_generator が動作せず、
問題なくビルドが終了した。

ちなみに、依存関係の生成は以下のように ips-dependency-generator というコマンドを使っている。

my @autodeps = `/usr/lib/pkgbuild-1.3.105/ips-dependency-generator -R '$buildroot' -f $tmpfile`;