スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Cygwinパッケージの追加方法(試行錯誤中)

本日,cyg-aptをバンドルした gnupack 4.06aをリリースしました.詳細はgnupack Users Guideをご覧ください.

ここからが本題です.gnupackの Cygwinには私の考える必要最低限のパッケージを含めていますが,人にとっては必要最低限を満たせていない可能性があります.しかし,万人向けに対応しようとすると,パッケージがどんどん増えて,ファイルサイズが大変なことになります.

そこで,不足のパッケージがあれば,利用者自身で追加する仕組みを組み込むことにしました.Webで調べたところ,cyg-aptというコマンドラインからパッケージが管理できるツールがあるようなので,今回はこれを利用します.ちなみに,導入したばかりでなんですが,xinitのインストールを試してみたところ,うまくインストールできていませんでした.また,rubyのインストールを試したところ,コマンド実行はうまく言っていたようですが,cygcheck -c rubyの結果が「Incomplete」となっていました.まだ見直しが必要そうなので,今後の検討課題にしようと思います.

実行イメージはこんな感じです.

  • 引数なし,あるいは「help」指定で起動するとヘルプを表示します.
    [Path: /tmp]# /app/script/cyg-apt.py help
    cyg-apt [OPTION]... COMMAND [PACKAGE]...
    Commands:
        available -  show packages available to be installed
        ball - print tarball name
        build - build package from source in CWD
        download - download package
        find - package containing file
        help - help COMMAND
        install - download and install packages, including dependencies
        list - installed packages
        md5 - check md5 sum
        missing - print missing dependencies
        new - list available upgrades to currently installed packages
        remove - uninstall packages
        requires - print requires: for package
        search - search package list
        setup - cygwin environment
        source - download, build and install
        update - setup.ini
        upgrade - all installed packages
        url - print tarball url
        version - print installed version
    
    Options: -d,--download download only -i,--ini=FILE use setup.ini [%(setup_ini)s] -m,--mirror=URL use mirror [%(mirror)s] -r,--root=DIR set cygwin root [%(root)s] -t,--t=NAME set dist name (*curr*, test, prev) -x,--no-deps ignore dependencies
  • 初回実行時は setup.iniを取得するために,cyg-apt setupを実行します.setup.iniを再取得する場合には,cyg-apt updateを実行します.
    [Path: /tmp]# /app/script/cyg-apt.py setup
    getting C:/gnupack_devel-4.06a/app/cygwin/cygwin/etc/setup/setup.ini
    ...100%
    
    [Path: /tmp]# /app/script/cyg-apt.py update ...100%
  • パッケージを検索する場合,cyg-apt searchを実行します.例えば,「ruby」文字列が含まれるパッケージを表示するには,cyg-apt search rubyを実行します.
    [Path: /tmp]# /app/script/cyg-apt.py search ruby
    ruby - Interpreted object-oriented scripting language
    subversion-ruby - A version control system (ruby bindings)
    
  • パッケージをインストールする場合,cyg-apt installを実行します.例えば,「ruby」をインストールするには,cyg-apt install rubyを実行します.
    [Path: /tmp]# which ruby
    which: no ruby in (/app/emacs/emacs/bin:GVIM_DIR%/bin:/app/mingw/tdm/bin:/usr/local/bin:/usr/bin:/c/WINDOWS/system32:/c/WINDOWS:/c/WINDOWS/system32/Wbem:/app/gdi++)
    
    [Path: /tmp]# /app/script/cyg-apt.py install ruby Fetching http://ftp.jaist.ac.jp/pub/cygwin/release/ruby/ruby-1.8.7-p72-2.tar.bz2 ...100% C:/gnupack_devel-4.06a/app/cygwin/cygwin/var/cache/setup/http%3a%2f%2fftp.jaist.ac.jp%2fpub%2fcygwin/release/ruby/ruby-1.8.7-p72-2.tar.bz2
    bc133aeeb536c68f2fa815ffff1473f5 ruby-1.8.7-p72-2.tar.bz2 - remote bc133aeeb536c68f2fa815ffff1473f5 ruby-1.8.7-p72-2.tar.bz2 - local installing ruby 1.8.7.p.72-2

    [Path: /tmp]# which ruby /usr/bin/ruby
スポンサーサイト

コメントの投稿

非公開コメント

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます
リンク
最新コメント
カテゴリー
最近の記事
月別アーカイブ
ブログ内検索
最新トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。