2013-01-16 :-(
_ ,
昨日登山靴を履いて通勤したら足が筋肉痛になった。
_ [NetBSD][翻訳]hubertf's NetBSD blog - Presentation about NetBSD as base for an mobile environment: Touch you NetBSD モバイル環境のベースとしての NetBSD についてのプレゼンテーション: NetBSD に触ろう
{ touch you NetBSD ではなく touch your NetBSD が正しい }
Pierre Pronchery has posted to the netbsd-advocacy@ list about the presentation "Touch you NetBSD" that he gave at the EHSM conference in December 2012 in Berlin.
Pierre Pronchery は 2012 年12 月のベルリン EHSM カンファレンスでの "Touch you NetBSD" プレゼンテーション (PDF) について netbsd-advocacy@ メーリングリストへ 投稿しました 。
The conference was about hardware hacking, and the talk shows how to use NetBSD as base for a handheld environment, including hardware platforms as well as drivers for touchscreens, GPS and GSM.
カンファレンスはハードウェアハックについてのものです。ハードウェアプラットフォームとしてだけでなく、タッチスクリーン、GPS、そしてGSM のドライバを含ハンドヘルド環境として NetBSD を使用する方法についての話題があります。
An excellent ressource for people interested in NetBSD as base for a mobile platform
モバイルプラットフォームとしての NetBSD に興味があるひとにとって素晴らしい情報源です。
_ [BSD make][Makefile][サーバーセットアップ]サーバーセットアップ
BSD make の Makefile で書いてみた。
PREFIX= test
#PREFIX=
# system
NETBSD_SRC_DIR= ${PREFIX}/usr
NETBSD_TAG= netbsd-6-0-RELEASE
# config file
MAKECONF=${PREFIX}/etc/mk.conf
RCCONF=${PREFIX}/etc/rc.conf
IFCONF=${PREFIX}/etc/ifconfig.wm0
RESOLVCONF=${PREFIX}/etc/resolv.conf
# network
HOSTNAME= madoka
DOMAIN= area51.gr.jp
NAMESERVER= 192.168.0.1
IP_ADDR= 192.168.0.50
#EXT_IF= wm0
# user
USER= rin
# pkgsrc
PKGSRC_DIR= ${PREFIX}/usr/pkgsrc
PKGSRC_TAG= 2012Q4
_PACKAGES= converters/nkf devel/bmake devel/mercurial devel/subversion devel/scmgit
_PACKAGES+= editors/vim
_PACKAGES+= lang/ruby193-base lang/python33 lang/perl5
_PACKAGES+= misc/lv misc/rubygems misc/screen
_PACKAGES+= mail/quickml mail/postfix
_PACKAGES+= net/wget net/rsync net/djbdns
_PACKAGES+= pkgtools/url2pkg pkgtools/pkglint pkgtools/port2pkg pkgtools/pkg_chk
_PACKAGES+= shells/zsh security/sudo
_PACKAGES+= www/apache24 www/w3m
# ruby gems
_RUBY_GEMS= activesupport domain_name i18n
_RUBY_GEMS+= mail mechanize mime-types minitest multi_json
_RUBY_GEMS+= net-http-digest_auth net-http-persistent nokogiri ntlm-http
_RUBY_GEMS+= polyglot rake rdoc redcarpet
_RUBY_GEMS+= treetop twitter-text unf unf_ext webrobots yajl-ruby
# build targets
TARGETS=
TARGETS+= user_add
TARGETS+= rc_conf rc_mkconf rc_ifconfig rc_resolvconf
TARGETS+= src_get
TARGETS+= pkg_get pkg_install
#TARGETS+= rubygems_install
all: ${TARGETS}
user_add:
useradd -m ${USER}
rc_conf:
@echo wscons=yes >> ${RCCONF}
@echo defaultroute=192.168.0.1 >> ${RCCONF}
@echo hostname=${hostname}.${domain} >> ${RCCONF}
@echo sshd=yes >> ${RCCONF}
@echo apache=yes >> ${RCCONF}
@echo apache_start=start >> ${RCCONF}
@echo postfix=no >> ${RCCONF}
@echo quickml=no >> ${RCCONF}
@echo ntpd=no >> ${RCCONF}
@echo ntpdate=yes >> ${RCCONF}
@echo tinydns=no >> ${RCCONF}
@echo tinydns_ip=${ip_addr} >> ${RCCONF}
@echo axfrdns=no >> ${RCCONF}
@echo dnscache=no >> ${RCCONF}
@echo rbldns=no >> ${RCCONF}
@echo pf=no >> ${RCCONF}
@echo pflogd=no >> ${RCCONF}
@echo smbd=no >> ${RCCONF}
@echo nmbd=no >> ${RCCONF}
@echo winbindd=no >> ${RCCONF}
@echo samba=no >> ${RCCONF}
@echo munin_node=no >> ${RCCONF}
@echo denyhosts=no >> ${RCCONF}
rc_ifconfig:
@echo up > ${IFCONF}
@echo ${IP_ADDR} netmask 255.255.255.0 media autoselect >> ${IFCONF}
rc_resolvconf:
@echo ameserver ${NAMESERVER} > ${RESOLVCONF}
rc_mkconf:
@echo # Japan > ${MAKECONF}
@echo # >> ${MAKECONF}
@echo MASTER_SITE_CYGWIN= ftp://ftp.dnsbalance.ring.gr.jp/archives/pc/gnu-win32/ >> ${MAKECONF}
@echo MASTER_SITE_GNOME= ftp://ftp.dnsbalance.ring.gr.jp/pub/X/gnome/ >> ${MAKECONF}
@echo MASTER_SITE_GNU= ftp://ftp.dnsbalance.ring.gr.jp/pub/GNU/ >> ${MAKECONF}
@echo MASTER_SITE_MOZILLA= ftp://ftp.dnsbalance.ring.gr.jp/pub/net/www/mozilla/ >> ${MAKECONF}
@echo MASTER_SITE_PERL_CPAN= ftp://ftp.dnsbalance.ring.gr.jp/pub/lang/perl/CPAN/modules/by-module/ >> ${MAKECONF}
@echo MASTER_SITE_OPENOFFICE=ftp://ftp.kddlabs.co.jp/office/openoffice/ \ >> ${MAKECONF}
@echo ftp://ftp.dnsbalance.ring.gr.jp/pub/misc/openoffice/ >> ${MAKECONF}
@echo MASTER_SITE_TEX_CTAN= ftp://ftp.dnsbalance.ring.gr.jp/pub/text/CTAN/ >> ${MAKECONF}
@echo MASTER_SITE_SUSE= \ >> ${MAKECONF}
@echo ftp://ftp.kddlabs.co.jp/Linux/packages/SuSE/suse/${MACHINE_ARCH}/${SUSE_VERSION}/suse/ >> ${MAKECONF}
@echo MASTER_SITE_SUNSITE= ftp://sunsite.sut.ac.jp/pub/archives/linux/sunsite-unc/ >> ${MAKECONF}
@echo MASTER_SITE_XCONTRIB= ftp://ftp.dnsbalance.ring.gr.jp/pub/X/opengroup/contrib/ >> ${MAKECONF}
@echo MASTER_SITE_XEMACS= ftp://ftp.jp.xemacs.org/pub/GNU/xemacs/ >> ${MAKECONF}
@echo MASTER_SITE_BACKUP= \ >> ${MAKECONF}
@echo ftp://ftp.dnsbalance.ring.gr.jp/pub/NetBSD/packages/distfiles/ \ >> ${MAKECONF}
@echo ftp://ftp.jp.NetBSD.org/pub/NetBSD/packages/distfiles/ >> ${MAKECONF}
@echo >> ${MAKECONF}
@echo >> ${MAKECONF}
@echo >> ${MAKECONF}
@echo ACCEPTABLE_LICENSES= postfix-license >> ${MAKECONF}
@echo ACCEPTABLE_LICENSES= vim-license >> ${MAKECONF}
@echo ACCEPTABLE_LICENSES+= ruby-license >> ${MAKECONF}
@echo #USE_X11=no >> ${MAKECONF}
@echo PKG_OPTIONS.ImageMagick= -x11 -jasper >> ${MAKECONF}
@echo ALLOW_VULNERABLE_PACKAGES= 1 >> ${MAKECONF}
@echo PKG_DEVELOPER= yes >> ${MAKECONF}
@echo #PKG_OPTIONS.quickml= limit analog >> ${MAKECONF}
@echo >> ${MAKECONF}
@echo X11_TYPE=modular >> ${MAKECONF}
src_get:
cd ${SRC_DIR} && \
cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r ${NETBSD_TAG} -P src
# cvs checkout -r ${NETBSD_TAG} -P src
# cvs checkout -P src
pkg_get:
cd ${SRC_DIR} && \
cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-${PKGSRC_TAG} -P pkgsrc
# cvs checkout -P pkgsrc
pkg_install: pkg_get
.for p in ${_PACKAGES}
cd ${PKGSRC_DIR}/${p} && \
make update clean clean-depends
.endfor
rubygems_install: pkg_install
.for g in ${_RUBY_GEMS}
gem193 install $g
.endfor
Makefile 内でヒアドキュメントを使おうとして以下のように書いてみたんだが
rc_ifconfig:
cat << EOT > ${IFCONF}
up
${IP_ADDR} netmask 255.255.255.0 media autoselect
EOT
0 バイトのファイルが出来てしまった。
/usr/src/gnu/dist/autoconf/tests/Makefile.in を眺めたら以下のように書いてあった。
# The hairy heredoc is more robust than using echo.
expr:
echo '#! $(SHELL)' >expr
echo 'result=`@EXPR@ "$$@"`' >>expr
echo 'estatus=$$?' >>expr
echo 'cat <<EOF' >>expr
echo '$${result:-0}' >>expr
echo 'EOF' >>expr
echo 'exit $$estatus' >>expr
chmod +x expr
とりあえず echo を使おう。
ref.



