2018-02-07 :-)
_ [pkgsrc][NetBSD]pkgsrc Makefile の PKG_USERS
Makefile に PKG_USERS を書いておいたんだけど
PKG_USERS= hoge:hoge
make install したら最後に怒られた。
=========================================================================== The following users need to be created for hoge-package-0.1: hoge: hoge, /nonexistent, /sbin/nologin ===========================================================================
このメッセージは pkginstall/usergroup の CHECK-ADD で印字している。usergroup はシェルスクリプトであり、CHECK-ADD は
./usergroup CHECK-ADD
として呼び出されたときに通る処理である。
./usergroup CHECK-ADD を呼び出してるのは pkginstall/bsd.pkginstall.mk のここ。
.PHONY: su-create-usergroup su-create-usergroup: ${_INSTALL_USERGROUP_UNPACKER} ${RUN} \ cd ${_PKGINSTALL_DIR} && \ ${SH} ${_INSTALL_USERGROUP_UNPACKER}; \ exitcode=1; \ if ${TEST} -f ./+USERGROUP && \ ./+USERGROUP ADD ${_PKG_DBDIR}/${PKGNAME} && \ ./+USERGROUP CHECK-ADD ${_PKG_DBDIR}/${PKGNAME}; then \ ここを通過していないので exitcode が 0 とならない exitcode=0; \ fi; \ ${RM} -f ${_INSTALL_USERGROUP_FILE:Q} \ ${_INSTALL_USERGROUP_DATAFILE:Q} \ ${_INSTALL_USERGROUP_UNPACKER:Q} \ ./+USERGROUP; \ exit $$exitcode
CHECK-ADD で失敗しているということはその 1 行前の ADD が失敗しているということだろう。
ADD の処理を眺めると冒頭で GROUP を探している。
ADD) ${SED} -n "/^\# GROUP: /{s/^\# GROUP: //;p;}" ${SELF} | ${SORT} -u | { while read line; do
んだけど、Makefile に GROUP を書いてないのでたぶんこの while read line の line はカラッポだからすぐに while を抜ける。たぶん
その次の USER の処理。Makefile に USER は書いてあるのでこの while には入るんだろう。
${SED} -n "/^\# USER: /{s/^\# USER: //;p;}" ${SELF} | ${SORT} -u | { while read line; do
実際にユーザーを追加する処理がここか。
case ${_PKG_CREATE_USERGROUP} in yes) group_exists $group || continue user_exists $user $userid case $? in 0) ;; 1) adduser "$user" "$group" "$userid" \ "$descr" "$home" "$shell" ;; esac ;; esac
でも group に追加してないので group_exists $group || continue により、次の行の user_exists $user $userid を飛ばされる。と思う。
というわけで Makefile に GROUP を追加した。
PKG_GROUPS= hoge PKG_USERS= hoge:hoge
make install したら user も group も追加された。おk
% grep hoge /etc/passwd /etc/group /etc/passwd:hoge:*:1002:1001:hoge-package hoge user:/nonexistent:/sbin/nologin /etc/group:hoge:*:1001:
_ [艦これ][三越]「艦これ」×「三越」コラボ ─「艦これ」5周年祭─【前段作戦】 第四次作戦|三越オンラインストア
チョコレート全種類と酒種類を買いました。ジャケットも欲しいと思ったんだけどサイズを S か M (肩幅 45cm か 46cm か)で迷っているうちに完売してしまった。
ジャケットは手元に肩幅 45cm のと 46cm のがあって
- 45cm: ちょうどよい
- 46cm: 大きい
なので S サイズが最適だと思うんだが、えいやっと買うには値段がなかなか高い。
ところで「前段作戦」ということは後段もあるんですよね。