hns - 日記自動生成システム - Version 2.19.9

先月 2013年05月 来月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2013年05月10日(金) 旧暦 [n年日記] [更新:"2013/05/11 10:01:31"]

#1 [pkgsrc] pbulk で変更前と変更後を確認する

例えば、ささいな変更をあちこちにして、 PKGREVISION を上げる必要はないとして、 pbulk で変更前と変更後を確認しようとすると、

一度出来たものは全部消してからでないと意味がない

という話で、そうでないと、 PKGREVISION が同じなら作り直さない からである。
(多分)
今やろうとしているものを全て limited-list に書いておいて pbulk すると、

[187/223] Starting build of  ruby18-hashery-2.1.0
223 package くらいを作り直すことになり結構長い。 本当は、全てを作り直す必要はなくて、 今回変更しようとしているものだけで良いので、 手作業で選べば良いのかも知れないけれど。
今は変更前のものを一応全部作って見ている。 もし既にこわれているものがあったら、雑音となるから。
そんなことをする必要はない、というような気もするが、 多分やった方が良いと思う。


2013年05月09日(木) 旧暦 [n年日記] [更新:"2013/05/10 21:22:25"]

#1 [pkgsrc] cmake and RPATH

最近は、あちこちに、手を出して、収拾がつかなくなって来ていて、 と言いながら、いつものことではある訳だけれど。
todo の一覧がちっとも消化されなくて、大きくなる一方、とも言える。
それで気になっていることの一つは、 (...wip/trustedQSL)> cat -n ./work/tqsl-114/apps/cmake_install.cmake
  1  # Install script for directory: /usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps
  2
  3  # Set the install prefix
  4  IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
  5    SET(CMAKE_INSTALL_PREFIX "/usr/pkg")
  6  ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
  7  STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
  8
  9  # Set the install configuration name.
 10  IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
 11    IF(BUILD_TYPE)
 12      STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
 13             CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
 14    ELSE(BUILD_TYPE)
 15      SET(CMAKE_INSTALL_CONFIG_NAME "")
 16    ENDIF(BUILD_TYPE)
 17    MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
 18  ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
 19
 20  # Set the component getting installed.
 21  IF(NOT CMAKE_INSTALL_COMPONENT)
 22    IF(COMPONENT)
 23      MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
 24      SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
 25    ELSE(COMPONENT)
 26      SET(CMAKE_INSTALL_COMPONENT)
 27    ENDIF(COMPONENT)
 28  ENDIF(NOT CMAKE_INSTALL_COMPONENT)
 29
 30  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 31    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl" AND
 32       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl")
 33      FILE(RPATH_CHECK
 34           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl"
 35           RPATH "/usr/pkg/lib:/usr/pkg/lib")
 36    ENDIF()
 37    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" 
	  TYPE EXECUTABLE FILES "/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/tqsl")
 38    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl" AND
 39       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl")
 40      FILE(RPATH_CHANGE
 41           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl"
 42           OLD_RPATH "/usr/pkg/lib:/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/src"
 43           NEW_RPATH "/usr/pkg/lib:/usr/pkg/lib")
 44      IF(CMAKE_INSTALL_DO_STRIP)
 45        EXECUTE_PROCESS(COMMAND "/usr/pkgsrc/wip/trustedQSL/work/.tools/bin/strip" 
	"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl")
 46      ENDIF(CMAKE_INSTALL_DO_STRIP)
 47    ENDIF()
 48  ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 49
 50  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 51    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert" AND
 52       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert")
 53      FILE(RPATH_CHECK
 54           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert"
 55           RPATH "/usr/pkg/lib:/usr/pkg/lib")
 56    ENDIF()
 57    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" 
	TYPE EXECUTABLE FILES "/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/tqslcert")
 58    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert" AND
 59       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert")
 60      FILE(RPATH_CHANGE
 61           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert"
 62           OLD_RPATH "/usr/pkg/lib:/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/src"
 63           NEW_RPATH "/usr/pkg/lib:/usr/pkg/lib")
 64      IF(CMAKE_INSTALL_DO_STRIP)
 65        EXECUTE_PROCESS(COMMAND "/usr/pkgsrc/wip/trustedQSL/work/.tools/bin/strip" 
	"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert")
 66      ENDIF(CMAKE_INSTALL_DO_STRIP)
 67    ENDIF()
 68  ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 69
 70  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 71    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/TrustedQSL" 
	TYPE DIRECTORY FILES "/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/help")
 72  ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 73
 74  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 75    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man5" 
	TYPE FILE FILES "/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/trustedqsl.5")
 76  ENDIF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
 77
wip/trustedQSL の cmake の処理の 中で RPATH_CHANGE の OLD_RPATH の順が、 変更しようとしている譜に設定されているものと逆になっているのは何故か、というのがある
きょうは cmake を見ていて、この辺が関係あるのかなということになった。
cat -n work/cmake-2.8.10/Source/cmLocalGenerator.cxx | sed -n 1650,1669p
1661  /**
1662   * Output the linking rules on a command line.  For executables,
1663   * targetLibrary should be a NULL pointer.  For libraries, it should point
1664   * to the name of the library.  This will not link a library against itself.
1665   */
1666  void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries,
1667                                             std::string& frameworkPath,
1668                                             std::string& linkPath,
1669                                             cmGeneratorTarget &tgt,
1670                                             bool relink)
1671 {

% cat -n work/cmake-2.8.10/Source/cmLocalGenerator.cxx | sed -n 1740,1789p
1740    fout << linkLibs;
1741
1742    // Get the RPATH entries.
1743    std::vector<std::string> runtimeDirs;
1744    cli.GetRPath(runtimeDirs, relink);
1745
1746    // Check what kind of rpath flags to use.
1747    if(cli.GetRuntimeSep().empty())
1748      {
1749      // Each rpath entry gets its own option ("-R a -R b -R c")
1750      std::string rpath;
1751      for(std::vector<std::string>::iterator ri = runtimeDirs.begin();
1752          ri != runtimeDirs.end(); ++ri)
1753        {
1754        rpath += cli.GetRuntimeFlag();
1755        rpath += this->Convert(ri->c_str(), NONE, SHELL, false);
1756        rpath += " ";
1757        }
1758      fout << rpath;
1759      }
1760    else
1761      {
1762      // All rpath entries are combined ("-Wl,-rpath,a:b:c").
1763     std::string rpath = cli.GetRPathString(relink);
1764
1765      // Store the rpath option in the stream.
1766      if(!rpath.empty())
1767        {
1768        fout << cli.GetRuntimeFlag();
1769        fout << this->EscapeForShell(rpath.c_str(), true);
1770        fout << " ";
1771        }
1772      }
1773
1774    // Add the linker runtime search path if any.
1775    std::string rpath_link = cli.GetRPathLinkString();
1776    if(!cli.GetRPathLinkFlag().empty() && !rpath_link.empty())
1777      {
1778      fout << cli.GetRPathLinkFlag();
1779      fout << this->EscapeForShell(rpath_link.c_str(), true);
1780      fout << " ";
1781      }
1782
1783    // Add standard libraries for this language.
1784    std::string standardLibsVar = "CMAKE_";
1785    standardLibsVar += cli.GetLinkLanguage();
1786    standardLibsVar += "_STANDARD_LIBRARIES";
1787    if(const char* stdLibs =
1788       this->Makefile->GetDefinition(standardLibsVar.c_str()))
1789      {
cat -n ./work/cmake-2.8.10/Source/cmComputeLinkInformation.cxx | sed -n 437,459p
 437  std::string cmComputeLinkInformation::GetRPathLinkString()
 438  {
 439    // If there is no separate linker runtime search flag (-rpath-link)
 440    // there is no reason to compute a string.
 441    if(!this->OrderDependentRPath)
 442      {
 443      return "";
 444      }
 445
 446    // Construct the linker runtime search path.
 447    std::string rpath_link;
 448    const char* sep = "";
 449    std::vector<std::string> const& dirs =
 450      this->OrderDependentRPath->GetOrderedDirectories();
 451    for(std::vector<std::string>::const_iterator di = dirs.begin();
 452        di != dirs.end(); ++di)
 453      {
 454      rpath_link += sep;
 455      sep = ":";
 456      rpath_link += *di;
 457      }
 458    return rpath_link;
 459  }

#2 [pkgsrc] ham/fldigi-3.21.70

Audio -> Devices -> OSS   に /dev/audio1 と書いておくと、
音が出せる
E: void trx_trx_receive_loop(): Sound error: Invalid argument
E: void trx_trx_receive_loop(): Sound error: Invalid argument
こういうのは沢山見えるけれど(受信側かな)。

audioplay を試して見る:

上に関連した話題で、
which audioplay 
/usr/bin/audioplay
となっていて、May 9 22:43:10 modena /netbsd: の後に次のような文字列がある時に、
uaudio0 at uhub1 port 7 configuration 1 interface 0
uaudio0: C-Media Electronics Inc. C-Media USB Headphone Set, rev 1.10/1.00, addr 5
uaudio0: audio rev 1.00
audio1 at uaudio0: full duplex, playback, capture, independent
uhidev3 at uhub1 port 7 configuration 1 interface 3
uhidev3: C-Media Electronics Inc. C-Media USB Headphone Set, rev 1.10/1.00, addr 5, iclass 3/0
uhid0 at uhidev3: input=4, output=4, feature=0
またaudio.wav という譜があって、次のような属性のものだったとして
% file audio.wav 
audio.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz
次のようにすると、音が出る
audioplay -v 3  -d /dev/audio1 audio.wav
ただし、上で -v 3 としている部分は効かない。 似た話は 2005/09/15 に書いていた。(ちなみに上に書いたのは、同じ USB audio の箱である)
(僕には)不思議なことに上では -d としているが 8 年前の日記 (macppc) では -f としていた。 それで今 -f とすると、
modena@makoto 21:13:40/130510(~)%  audioplay -v 3  -f /dev/audio1 audio.wav
audioplay: could not open /dev/audio1: Invalid argument
audioplay: audio device write failed: Input/output error
となる。fldigi の問題表示と似ている。


2013年05月08日(水) 旧暦 [n年日記] [更新:"2013/05/11 10:15:07"]

#1 [gettext] gettext の一番簡単な使い方を復習

  • xgettext: 元原稿(要するにソースファイル)から、(例えば ja.po に) 翻訳対応部分を抜出す
  • 出来た ja.po に日本語を加える(要するに翻訳する)
  • msgfmt: ja.po を実行形式対応に変換
というのが一番簡単な方法
xgettext -d ja -k__ functions.php -o ja.po
emacs ja.po
msgfmt -o ja.mo ja.po
cp ja.mo ja.po languages/
pts/1:makoto@taira 20:13:56/130509(...themes/business-skillup)> grep -3 charset ja.pot
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at example.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: functions.php:99
上記で ' at ' の部分は、実際には @
以前に namazu で作業した時の 2006/11/02 の日記
gettext メモ


2013年05月07日(火) 旧暦 [n年日記] [更新:"2013/05/08 00:23:33"]

#1 [Emacs] EasyPG

きょうは何故か次のような文字を見てしまう。
pgg-decode-armor-region: Search failed: 
2010/11/17 の日記
これと似たようなものかと思うが、情報が古過ぎるかな。
modena@makoto 21:34:05/130507(..share/emacs)% 
cat -n  ./site-lisp/semi/pgg-parse.el |sed -n 476,489p
   476  (defun pgg-decode-armor-region (start end)
   477    (save-restriction
   478      (narrow-to-region start end)
   479      (goto-char (point-min))
   480      (re-search-forward "^-+BEGIN PGP" nil t)
   481      (delete-region (point-min)
   482                     (and (search-forward "\n\n")
   483                          (match-end 0)))
   484      (pgg-decode-packets)
   485      (goto-char (point-min))
   486      (pgg-parse-packets)))
   487
^-+BEGIN PGP
という文字が見つからない、と言っているらしい。設定か操作を間違えているようだ。 シェルで、次のようにすると、
gpg -a --export makoto at ki nu
次のように始まる文字が表示されるから、 この表示が出ていないか、出ていても、拾えていないということらしい。
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.13 (NetBSD)
そう言えば、次のような指定はしてある。
(setq pgg-default-keyserver-address "pgp.mit.edu");
(setq pgg-default-keyserver-address "pgp.nic.ad.jp")
(setq pgg-scheme "gpg")
(setq pgg-messages-coding-system 'utf-8)
次のものを加えて見たが、関係なさそう (既にどこかにあったかも知れないが)。
(add-to-list 'exec-path "/usr/pkg/bin");
どうも、
pgg-default-user-id
の値が makoto となっていて、 gpg --list-keys makoto とすると、一番目に、使っていない自分のキーが出て来るの が問題らしい。

と思ったが、修正しても、まだおかしい。



2013年05月06日(月) 旧暦 [n年日記] [更新:"2013/05/06 12:21:08"]

#1 [pkgsrc] Cyclic dependency for package:

あれ、 だめですね。 既に作ってあるのですけれど。
Resolving...
Building...
Cyclic dependency for package:
gmake-3.82nb5
digest-20121220
gcc47-4.7.3
mpcomplex-1.0.1
mpfr-3.1.2
gmp-5.1.1
autoconf-2.69nb1
help2man-1.41.2
gmake-3.82nb5
sh env-script-bulkbuild  96.45s user 76.60s system 94% cpu 3:02.39 total
ある package を、全て gcc-47 を使って build したい
時に、僕は、今は、次のようにしています。多分もっといい方法があるのでしょう。 どちらにしても chroot で pbulk を使います。
pbulk で、/usr/pkg_bulk 側に gcc47 一式を用意しておきます。 その方法は、
sudo chroot /PATH/CHROOT;
cd /usr/pkgsrc/lang/gcc47;
env PATH=/usr/pkg_bulk/bin:/usr/pkg_bulk/sbin:${PATH} bmake package-install
これで脇の方に gcc47 が入ります ( bmake を使います)。
/etc/mk.conf に、次のように書いておきます。
USE_NATIVE_GCC=yes
GCC_REQD=4.7
GCCBASE=/usr/pkg_bulk/gcc47
本当に使っているかどうかを調べる方法は ?
perl の中に、次のように書いてあります
./lib/perl5/5.16.0/x86_64-netbsd-thread-multi/Config_heavy.pl:gccversion='4.7.3'

Comments related this article

Re: Cyclic dependency for package: by obache    2013/05/07 10:29
You should define USE_GCC_RUNTIME.
Re: Cyclic dependency for package: by Makoto Fujiwara    2013/05/08 00:45
Thank you, I don't really understand when the explanation by make help topic=US...

#2 [MinGW] hello World

2013/02/12 の日記 に MinGW を入れたことを書いた。今日は Hello World をやって見る。
実は NetBSD で cross-mingw をやって見ているが、うまく行かなくて、何が問題かを調べるためだ。
Hello World を用意して、
$ cat hello.c
#include <stdio.h>
main (){
 static char hello[] = "Hello World!";
 printf("%s\n", hello);
}
次のようにすると、cross と全く同じ。
$ gcc -c hello.c
$ ld -o hello.exe hello.o 
hello.o:hello.c:(.text+0xa): undefined reference to `__main'
hello.o:hello.c:(.text+0x16): undefined reference to `puts'
$
libmsvcrt に相当するものはどこにあるのかな。

もっと単純に Hello World:

$ gcc -o hello.exe hello.c
$ ./hello.exe
Hello World!
あれ、大丈夫。 $ ldd ./hello.exe
  ntdll.dll => /cygdrive/c/WINDOWS/system32/ntdll.dll (0x7c940000)
  kernel32.dll => /cygdrive/c/WINDOWS/system32/kernel32.dll (0x7c800000)
  msvcrt.dll => /cygdrive/c/WINDOWS/system32/msvcrt.dll (0x77bc0000)


2013年05月05日() 旧暦 [n年日記] [更新:"2014/01/19 09:09:56"]

#1 [DragonFly] DragonFly BSD 3.4.1 を入れた

今まで DragonFly の 3.2.2 + gcc47 で pkgsrc を試していたが、 wxGTK28 を作る時、何か変なことを言われるので、環境を新しくした。 xen3 の上で動かしている
> uname -a
DragonFly dragon344.i.ki.nu 3.4-RELEASE DragonFly v3.4.1-RELEASE #1: 
Wed Apr 24 19:18:32 PDT 2013     
root@pkgbox32.dragonflybsd.org:/usr/obj/build/home/justin/src/sys/GENERIC  i386
  • iso file を使って login: installer で始まる操作で設置
  • disk は 15GB しかなくて、Hammer FS は 10GB 以下ではだめだよ、 50GB がおすすめ、と言われたが、Hammer にして見た
  • pkgsrc と wip と personal-pkgsrc を /usr/pkgsrc に置く
  • (cd /usr/pkgsrc/pkgtools/bootstrap; 
       ./bootstrap --prefix=/usr/pkg --pkgdbdir=/var/db/pkg )
    
  • su になって sudo と zsh を bmake package-install
  • その後
    (cd /usr/pkgsrc/x11/wxGTK28; bmake package-install)
    
    しているところ

キー配置がこまったことに:

実は僕は変なことをしていて、US 鍵盤で JA 配置にしている。 installer では、ja.106x というのが何かな、と思って試しにそうして見たが、
  • Ctrl が Shift
  • 下線(_) や縦棒(|) (を入力する鍵)が見つかならない
もっとこまかく言うと、NetBSD の X11 で KINESIS を使っていて、 xmodmap で殆んど入替。DragonFly は vncviewer の画面から操作。 でもやっていられないので、今は ssh で入っている。

実はちょっと変なことになっていて、もう一度最初からやり直そうとは思っている:

  • pkg_info とすると、次のものしか出て来ない
    > pkg_info
    bootstrap-mk-files-20120415 *.mk files for the bootstrap bmake utility
    bmake-20110606nb1   Portable (autoconf) version of NetBSD 'make' utility
    pkg_install-20130131nb1 Package management and administration tools for pkgsrc
    > /usr/pkg/sbin/pkg_info
    bootstrap-mk-files-20120415 *.mk files for the bootstrap bmake utility
    bmake-20110606nb1   Portable (autoconf) version of NetBSD 'make' utility
    pkg_install-20130131nb1 Package management and administration tools for pkgsrc
    
  • 次のようにすると、とても沢山表示される
    > env PKG_DBDIR=/var/db/pkg pkg_info -u |wc
          15     120    1024
    > env PKG_DBDIR=/var/db/pkg pkg_info | wc
         118     807    7314
    
  • /usr/pkg/etc/mk.info には、次の行はある
    # Example /usr/pkg/etc/mk.conf file produced by bootstrap-pkgsrc
    # Thu Apr 25 02:26:49 UTC 2013
    
    #.ifdef BSD_PKG_MK      # begin pkgsrc settings
    
    PKG_DBDIR=              /var/db/pkg
    LOCALBASE=              /usr/pkg
    VARBASE=                /var
    PKG_TOOLS_BIN=          /usr/pkg/sbin
    PKGMANDIR=              man
    
    #.endif                 # end pkgsrc settings
    #.ifdef BSD_PKG_MK      # added by nrelease
    PKG_DEFAULT_OPTIONS=dri inet6
    #.endif                 # added by nrelease
    
    # http://www.na.rim.or.jp/~kano/tmp/docs/pkgsrc/faq.html
    #error
    #   You may confirm with following command that SU_CMD is set or not
    #   bmake show-var VARNAME=SU_CMD
    .if exists(/usr/pkg/bin/sudo)
    SU_CMD=        ${LOCALBASE}/bin/sudo /bin/sh -c
    .endif
    
.ifdef を外してあるのは、もしかして有効になっていない不安は外すため。

bootstrap:

あれ、もしかして bootstrap しなくてもいいのかな。
> ls -l /usr/*bin/pkg*
-r-xr-xr-x  1 root  wheel  2032 Apr 25 04:24 /usr/bin/pkg_radd
-r-xr-xr-x  1 root  wheel  5829 Apr 25 04:24 /usr/bin/pkg_search
> ls -l /usr/pkg/*bin/pkg*
-rwxr-xr-x  1 root  wheel  528320 May  4 23:41 /usr/pkg/bin/pkg-config
-r-xr-xr-x  1 root  wheel    2192 Apr 25 04:28 /usr/pkg/bin/pkg_leaves
-r-xr-xr-x  1 root  wheel    6172 Apr 25 04:29 /usr/pkg/bin/pkg_tarup
-r-xr-xr-x  1 root  wheel     224 Apr 25 04:29 /usr/pkg/bin/pkg_tarup_all
-r-xr-xr-x  1 root  wheel  131392 Apr 25 04:31 /usr/pkg/bin/pkgin
-rwxr-xr-x  1 root  wheel  241133 May  4 22:44 /usr/pkg/sbin/pkg_add
-rwxr-xr-x  1 root  wheel  235793 May  4 22:44 /usr/pkg/sbin/pkg_admin
-rwxr-xr-x  1 root  wheel  187268 May  4 22:44 /usr/pkg/sbin/pkg_create
-rwxr-xr-x  1 root  wheel  183222 May  4 22:44 /usr/pkg/sbin/pkg_delete
-rwxr-xr-x  1 root  wheel  219114 May  4 22:44 /usr/pkg/sbin/pkg_info

My first pkgin (初めての pkgin):

I've never been exposed to pkgin.
実は pkgin は使ったことがない(なかった)
> which emacs
emacs: Command not found.
> pkgin add emacs24
pkgin: Can't open database /var/db/pkgin/pkgin.db: unable to open database file: 
   No such file or directory
'pkgin -h' gives more information than 'man pkgin', right ?
man pkgin より pkgin -h の方が情報が多い (?)
> pkgin -h
Usage: pkgin [-cdfFhlnPtvVy] command [package ...]

Commands and shortcuts:
list                (ls  ) -  List installed packages.
avail               (av  ) -  List available packages.
install             (in  ) -  Perform packages installation or upgrade.
update              (up  ) -  Create and populate the initial database.
remove              (rm  ) -  Remove packages and depending packages.
upgrade             (ug  ) -  Upgrade main packages to their newer versions.
full-upgrade        (fug ) -  Upgrade all packages to their newer versions.
show-deps           (sd  ) -  Display direct dependencies.
show-full-deps      (sfd ) -  Display dependencies recursively.
show-rev-deps       (srd ) -  Display reverse dependencies recursively.
show-category       (sc  ) -  Show packages belonging to category.
show-pkg-category   (spc ) -  Show package's category.
show-all-categories (sac ) -  Show all categories.
keep                (ke  ) -  Mark package as "non auto-removable".
unkeep              (uk  ) -  Mark package as "auto-removable".
show-keep           (sk  ) -  Display "non auto-removable" packages.
show-no-keep        (snk ) -  Display "auto-removable" packages.
search              (se  ) -  Search for a package.
clean               (cl  ) -  Clean packages cache.
autoremove          (ar  ) -  Autoremove orphan dependencies.
export              (ex  ) -  Export "non auto-removable" packages to stdout.
import              (im  ) -  Import "non auto-removable" package list from file.
provides            (prov) -  Show what files a package provides.
requires            (req ) -  Show what files a package requires.
pkg-content         (pc  ) -  Show remote package's content.
pkg-descr           (pd  ) -  Show remote package's long-description.
pkg-build-defs      (pbd ) -  Show remote package's build definitions.
> sudo pkgin list
Database needs to be updated.
proceed ? [Y/n] 
reading local summary...
processing local summary...
updating database: 100%
pkgin: Could not fetch
  http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-3.4/stable/All//pkg_summary.gz
Following URL is surely available, instead. これならあるようだ

repositories.conf:

> (cd /usr/pkg/etc/pkgin/; diff -u repositories.conf{.orig,})
--- repositories.conf.orig      2013-04-25 04:31:05.000000000 +0900
+++ repositories.conf   2013-05-05 12:24:54.990719000 +0900
@@ -23,4 +23,4 @@
 # Local repository (must contain a pkg_summary.gz or bz2)
 #
 # file:///usr/pkgsrc/packages/All
-http://mirror-master.dragonflybsd.org/packages/$arch/DragonFly-$osrelease/stable/All/
+http://mirror-master.dragonflybsd.org/packages/$arch/DragonFly-$osrelease/pkgsrc-2013Q1/All/
Above change makes things OK
これで行けた。
> sudo pkgin list
Database needs to be updated.
proceed ? [Y/n] 
reading local summary...
processing local summary...
updating database: 100%
pkg_summary.bz2                              100% 1779KB 444.8KB/s 903.3KB/s   00:04    
processing remote summary 
  (http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-3.4/pkgsrc-2013Q1/All/)...
updating database:  85%
...
updating database: 100%
bmake-20110606nb1    Portable (autoconf) version of NetBSD 'make' utility
bootstrap-mk-files-20120415 *.mk files for the bootstrap bmake utility
pkg_install-20130131nb1 Package management and administration tools for pkgsrc
Probably, 'pkgin update' is the first thing to do.
本当は最初に update を使うのかな。

sudo pkgin install emacs24:

sudo pkgin install xauth
> diff -up /etc/ssh/sshd_config{.orig,}
--- /etc/ssh/sshd_config.orig   2013-05-05 13:27:17.498222000 +0900
+++ /etc/ssh/sshd_config        2013-05-05 13:25:31.816598000 +0900
@@ -120,7 +120,7 @@ UsePrivilegeSeparation sandbox              # Defaul
 #PermitTunnel no
 #ChrootDirectory none
 
-#XAuthLocation /usr/pkg/bin/xauth
+XAuthLocation /usr/pkg/bin/xauth
 
 # no default banner path
 #Banner none
sudo /etc/rc.d/sshd restart
Then I could do 'ssh -Y dragonfly-host' then emacs from outside
and gives me X11 emacs.
これで外から ssh -Y dragonfly-host で入ると、emacs が X11 環境で使える。 ただ、一番上の文字がとうふになっている。とうふというよりは?かな (同じか)。

pkg_radd and pkg_search:

> ls -l /usr/bin/*pkg*
-r-xr-xr-x  1 root  wheel  2032 Apr 25 04:24 /usr/bin/pkg_radd
-r-xr-xr-x  1 root  wheel  5829 Apr 25 04:24 /usr/bin/pkg_search
> pkg_search fldigi
No pkgsrc(7) tree found.
Fetching pkg_summary(5) file.
fetch: 
   http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-3.4/stable/All/pkg_summary.bz2: 
   Not Found
fetch: 
   http://mirror-master.dragonflybsd.org/packages/i386/DragonFly-3.4/stable/All/pkg_summary.bz2: 
   Not Found
/usr/bin/pkg_search: cannot open /usr/pkgsrc/pkg_summary.bz2: No such file or directory
awk: can't open file /usr/pkgsrc/pkg_summary
 source line number 10

fldigi on DragonFly crashes (modular) xorg server:

で、何を調べたかったかと言うと、wip/fldigi や ham/fldigi を DragonFly の上で動くかを確めたい。
実は今は、 NetBSD/amd64 modular xorg server から ssh -Y dragonfly して fldigi と入力すると、何の表示も出る前に、マウスがかたまり、しばらくして、 (当然それしかないが) 手元の側の xorg server が再起動してしまう。 これは DragonFly 3.2.2 + gcc47 の話だったけれど、
DragonFly 3.4.1 でも同じだった。fldigi は 3.21.70 とか何でも。
本当は ssh -Y でなく、 単体で確めても見たいが、ちょっと大変なので、後ほど、ということで、 次に NetBSD/amd64 で gcc47 を使って作って見ようと思う。
USE_PKGSRC_GCC=yes
GCC_REQD=4.7
というようなことを /etc/mk.conf に書いておけば良いようだけれど、このままでは、 pbulk するのに、circular dependency になってしまうので、まずは gcc47 を、これの設定なしに作っておくことにする。
関連全部作り直しということで /etc/mk.conf に、次のように書いて
PACKAGES=/packages-gcc47
これに合せるように /usr/pkg_bulk/etc/pbulk.conf にも、
packages=/packages-gcc47
としておく。


2013年05月04日() 旧暦 [n年日記] [更新:"2013/05/04 22:44:06"]

#1 [pkgsrc] TrustedQSL で RPATH_LINK の順序が逆になるのは何故か

Build の時に、
apps/cmake_install.cmake
という譜が生成される。(以下では SUBST 文は外して、編集されないようにした時の結果) この中の、
modena@makoto 09:14:25/130504(..wip/trustedQSL)% \
cat -n work/tqsl-114/apps/cmake_install.cmake | \
grep -3 RPATH_CH
で表示される次の中の
30  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
31    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl" AND
32       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl")
33      FILE(RPATH_CHECK
34           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl"
35           RPATH "/usr/pkg/lib:/usr/pkg/lib:/usr/X11R7/lib")
36    ENDIF()
37    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" 
         TYPE EXECUTABLE FILES "/export/CHROOT/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/tqsl")
38    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl" AND
39       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl")
40      FILE(RPATH_CHANGE
41           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqsl"
42           OLD_RPATH "/export/CHROOT/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/src
                        :/usr/pkg/lib:/usr/X11R7/lib:"
43           NEW_RPATH "/usr/pkg/lib:/usr/pkg/lib:/usr/X11R7/lib")

50  IF(NOT CMAKE_INSTALL_COMPONENT OR "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Unspecified")
51    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert" AND
52       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert")
53      FILE(RPATH_CHECK
54           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert"
55           RPATH "/usr/pkg/lib:/usr/pkg/lib:/usr/X11R7/lib")
56    ENDIF()
57    FILE(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/bin" 
         TYPE EXECUTABLE FILES "/export/CHROOT/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/apps/tqslcert")
58    IF(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert" AND
59       NOT IS_SYMLINK "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert")
60      FILE(RPATH_CHANGE
61           FILE "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/tqslcert"
62           OLD_RPATH "/export/CHROOT/usr/pkgsrc/wip/trustedQSL/work/tqsl-114/src
                        :/usr/pkg/lib:/usr/X11R7/lib:"
63           NEW_RPATH "/usr/pkg/lib:/usr/pkg/lib:/usr/X11R7/lib")
modena@makoto 09:15:47/130504(..wip/trustedQSL)% 
OLD_PATH の部分が、 実際の(変更前の期待される)順序と逆になっている (のは何故か)

./work/.wrapper/tmp/untransform.sed:

この人が何か一所懸命やっているような気がする
順序を変更するのは後にやってもらうと良い ?
wrapper/bsd.wrapper.mk
の中かな
     96 # Only do the (expensive) reordering step if we have reordering
     97 # transformations.
     98 
     99 WRAPPER_REORDER_CMDS?=  # empty
    100 .if !empty(WRAPPER_REORDER_CMDS)
    101 MAKE_ENV+=      WRAPPER_REORDER=yes
    102 .endif
多分関係ないと思うが、次の部分は誰がどこで指示をしているのだろう
mini-6@makoto 11:36:25/130504(..wip/trustedQSL)% \
  grep -i order /export/CHROOT/bulklog/tqsl-1.14/work.log
==> Reordering libraries:  -lssl -lcrypto -lexpat -lz -ldb5-5
==> Reordering libraries:  
-lwx_gtk2u_core-2.8
-lwx_baseu-2.8
-lwx_gtk2u_adv-2.8
-lwx_gtk2u_html-2.8
-lz
-lcurl
-lssl
-lcrypto
-lexpat
-ldb5-5
-lz


2013年05月03日(金) 旧暦 [n年日記] [更新:"2013/05/04 08:05:47"]

#1 [無線] CQ WW CW 2012 results (Single Band 40M / JA)

Rank Call     Category   Score    QSOs   Zn  Cty   Hours Operator(s)
---  -----   ---------- -------- -----   --  ---   -----
 1   JA6SHL   SO HP 40M  373,107 1,318   29   80    23.4
 2   JA1XMS   SO HP 40M  295,748 1,102   30   77    25.4
 3   JK1OPL   SO HP 40M  205,777   580   33  110    18.5
 4   JA7BME   SO HP 40M  182,649   642   31   76    15.2
 5   JA7MJ    SO HP 40M  111,173   419   28   79    16.5
 6   JH1RFM   SO HP 40M   65,688   339   30   72    19.5
 7   JH1AQN   SA HP 40M   48,974   233   29   65    10.0
 8   JA7SSP   SO LP 40M   17,751   138   22   39     9.0
 9   JA2HYD   SO LP 40M   15,184   119   18   34    20.9
10   JP1LRT   SA LP 40M   12,880    96   22   34     4.1 
また寺尾さんに負けた :-) OPL の 110 Cty はすごいな。Zone も多い。

#2 [pkgsrc] Conflicting PLIST with emacs-24.3.50nb20130503: bin/ctags

pkg_add: Conflicting PLIST with emacs-24.3.50nb20130503: bin/ctags
pkg_add: Can't install dependency emacs24>=24.3
これ何だったかな。24 と 24.3 は 24.3 の方が大きいという話なのかな。 いや、違う気がする。入っているのが emacs なのに emacs24 を必要としているという名前の違いかな。
Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc-wip/wip/emacs-current/Makefile,v
retrieving revision 1.65
diff -u -r1.65 Makefile
--- Makefile	15 Mar 2013 14:09:50 -0000	1.65
+++ Makefile	3 May 2013 16:47:12 -0000
@@ -3,7 +3,7 @@
 
 .include	"version.mk"
 DISTNAME=	emacs-${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}.${_EMACS_VERSION_MICRO}
-#PKGNAME=	emacs-24.0.50
+PKGNAME=	emacs24-${_EMACS_VERSION_MAJOR}.${_EMACS_VERSION_MINOR}.${_EMACS_VERSION_MICRO}
 CATEGORIES=	editors
 MASTER_SITES=	#
 
editor/emacs/Makefile.common を良く読む必要がありそう。


2013年05月02日(木) 旧暦 [n年日記] [更新:"2013/05/02 19:24:34"]

#1 [pkgsrc] TrustedQSL on PowerPC

pbulk で bulklog を実行した結果に meta/report.dot がある。これを
dot report.dot -Tpng > report.png
のように処理すると左に示したような図になる(クリックで拡大)。
osabi-NetBSD-6.1_RC2 が作れなくて、結局 tqsl-1.14 には行けないようだ。
===> Skipping vulnerability checks.
WARNING: No /var/db/pkg/pkg-vulnerabilities file found.
WARNING: To fix run: `/usr/sbin/pkg_admin -K /var/db/pkg fetch-pkg-vulnerabilities'.
===> Building binary package for osabi-NetBSD-6.1_RC2
=> Creating binary package /packages/All/osabi-NetBSD-6.1_RC2.tgz
pkg_add: no pkg found for 'osabi-NetBSD-6.1_RC2', sorry.
pkg_add: 1 package addition failed
何だかささいな原因のようだ。何だっけ。bulkbuild でなければ、入っている。
mini-6@makoto 19:17:46/130502(/export/CHROOT)% pkg_info|grep -i osabi 
osabi-NetBSD-6.1_RC2 Operating System version dummy-package
PKGNAME の問題のようだな。
あるいはもしかすると chroot 側の etc/mk.conf の PACKAGE= が違っているかな。それだった。 だとすると、上の図は内容的には、全く意味がない



最近の日記
2024年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、9 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)