常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

pkgsrc 编译某些软件停止于因为没有 root 组

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Wed 2016-08-24 16:20:56    发表主题: pkgsrc 编译某些软件停止于因为没有 root 组 引用并回复

编译错误显示:group is invalid: root

于是手工往 /etc/group 写入 了一行:
root:*:12:root
这样就好了

操作系统是 bitrig, 选择 12 是因为 11 有,13 有,12 刚好没有,确实发现没有 root 组,FreeBSD 也没有 root 组

选择 pkgsrc 是因为它哪都能用,因为 netbsd 是支持硬件最多的系统,它的 pkgsrc 也是支持系统最多的包编译管理,理念是一致的。
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 851

文章发表于: Thu 2016-08-25 15:43:17    发表主题: Re: pkgsrc 编译某些软件停止于因为没有 root 组 引用并回复

c++-bmake 写到:
编译错误显示:group is invalid: root

于是手工往 /etc/group 写入 了一行:
root:*:12:root
这样就好了

操作系统是 bitrig, 选择 12 是因为 11 有,13 有,12 刚好没有,确实发现没有 root 组,FreeBSD 也没有 root 组

选择 pkgsrc 是因为它哪都能用,因为 netbsd 是支持硬件最多的系统,它的 pkgsrc 也是支持系统最多的包编译管理,理念是一致的。


哪个 port?

_________________
root@anonymous744wjcx.onion
GPG: C41B 3768 32EA 2B56 B3D7 17BA DCAB 3053 D560 6038
STARTTLS SHA1: D9:BB:93:37:C5:04:4A:A6:6F:9F:1F:E0:B9:5E:A3:B7:1B:5B:18:DC
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Fri 2016-08-26 05:56:44    发表主题: Re: pkgsrc 编译某些软件停止于因为没有 root 组 引用并回复

anonymouscoward 写到:
c++-bmake 写到:
编译错误显示:group is invalid: root

于是手工往 /etc/group 写入 了一行:
root:*:12:root
这样就好了

操作系统是 bitrig, 选择 12 是因为 11 有,13 有,12 刚好没有,确实发现没有 root 组,FreeBSD 也没有 root 组

选择 pkgsrc 是因为它哪都能用,因为 netbsd 是支持硬件最多的系统,它的 pkgsrc 也是支持系统最多的包编译管理,理念是一致的。


哪个 port?


不记得了
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 851

文章发表于: Fri 2016-08-26 10:47:40    发表主题: 引用并回复

pkgsrc 支持最好的平台 NetBSD 也没有 root 组,一般情况不是
应该 patch 那个 port 或者在 Makefile 里使用 REAL_ROOT_GROUP,
比如 security/sudo 这样
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/security/sudo/Makefile.diff?r1=1.110&r2=1.111

我手边这块 BBB 上的 Bitrig 能看到的 REAL_ROOT_GROUP
代码:
# uname -msr
Bitrig 1.0 armv7

# bmake -C /usr/pkgsrc/net/socat/ -V REAL_ROOT_GROUP
wheel

# bmake -C /usr/pkgsrc/net/socat/ -V REAL_ROOT_GROUP -dd 2>&1 |  grep platform
Searching for /usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk ...
   Looking for "/usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk" ...
   Caching 16:58:19 Mar 10, 2016 for /usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk


或者像 net/openvpn 那样 PKG_USERS/PKG_GROUPS 添加新的用户,
还有类似 devel/cvsync 自带一堆其他系统 BINGRP
https://github.com/cvsync/cvsync/blob/master/mk/base.mk

_________________
root@anonymous744wjcx.onion
GPG: C41B 3768 32EA 2B56 B3D7 17BA DCAB 3053 D560 6038
STARTTLS SHA1: D9:BB:93:37:C5:04:4A:A6:6F:9F:1F:E0:B9:5E:A3:B7:1B:5B:18:DC
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Fri 2016-08-26 12:55:30    发表主题: 引用并回复

anonymouscoward 写到:
pkgsrc 支持最好的平台 NetBSD 也没有 root 组,一般情况不是
应该 patch 那个 port 或者在 Makefile 里使用 REAL_ROOT_GROUP,
比如 security/sudo 这样
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/security/sudo/Makefile.diff?r1=1.110&r2=1.111

我手边这块 BBB 上的 Bitrig 能看到的 REAL_ROOT_GROUP
代码:
# uname -msr
Bitrig 1.0 armv7

# bmake -C /usr/pkgsrc/net/socat/ -V REAL_ROOT_GROUP
wheel

# bmake -C /usr/pkgsrc/net/socat/ -V REAL_ROOT_GROUP -dd 2>&1 |  grep platform
Searching for /usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk ...
   Looking for "/usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk" ...
   Caching 16:58:19 Mar 10, 2016 for /usr/pkgsrc/net/socat/../../mk/platform/Bitrig.mk


或者像 net/openvpn 那样 PKG_USERS/PKG_GROUPS 添加新的用户,
还有类似 devel/cvsync 自带一堆其他系统 BINGRP
https://github.com/cvsync/cvsync/blob/master/mk/base.mk


不幸的是,前天装的 bitrig 删除了,我是在 virtualbox 里装的,以后留心下了,装某个port之前先查查 REAL_ROOT_GROUP 了。还有遇到别的问题也要找原因

这是随便选的 port
代码:
# bmake -V REAL_ROOT_GROUP
wheel
# bmake -V BINGRP
${UNPRIVILEGED_GROUP}
# bmake -V UNPRIVILEGED_GROUP
wheel
#


bitrig, openbsd 这些默认只显 #、$ 也好,免得粘贴的时候暴露了用户名主机名。

另外无意看到了 http://bsd.lv/,然后了解到了 bchs: BSD, C, httpd, slowcgi
https://learnbchs.org/
bchs 说它是 OpenBSD 的,不过 bitrig 继承了 openbsd,顺便继承了 httpd, slowcgi, 所以顺便 bitrig 也有 bchs 了,这也是 lamp 的很好的替代种

不过 pkgsrc 的 clean 也太不友好了, bmake clean 只会 clean 这个 port, bmake clean-depends 会 clean 依赖的,也不管它们需不需要 clean,如果编译出问题,异或有残留,cleandir, distclean 都用上了
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 851

文章发表于: Sat 2016-08-27 14:21:41    发表主题: 引用并回复

c++-bmake 写到:
不过 pkgsrc 的 clean 也太不友好了, bmake clean 只会 clean 这个 port, bmake clean-depends 会 clean 依赖的,也不管它们需不需要 clean,如果编译出问题,异或有残留,cleandir, distclean 都用上了


呃,说到这个我想起来去年 FreeBSD ports 的那个补丁其实一直没修好
而且也貌似没人发现问题,我还是先去发个补丁再说……

_________________
root@anonymous744wjcx.onion
GPG: C41B 3768 32EA 2B56 B3D7 17BA DCAB 3053 D560 6038
STARTTLS SHA1: D9:BB:93:37:C5:04:4A:A6:6F:9F:1F:E0:B9:5E:A3:B7:1B:5B:18:DC
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 851

文章发表于: Mon 2016-08-29 23:29:05    发表主题: 引用并回复

c++-bmake 写到:
不过 pkgsrc 的 clean 也太不友好了, bmake clean 只会 clean 这个 port, bmake clean-depends 会 clean 依赖的,也不管它们需不需要 clean,如果编译出问题,异或有残留,cleandir, distclean 都用上了


其实我第一次看到这句话的反应是「咦,这说的不就是这一年以来 FreeBSD 上坏掉的 make clean 么」XD
问题最先开始的地方是一年前的这一贴 https://www.freebsdchina.org/forum/topic_70665.html
其实当时并没有修好,相比之下 pkgsrc 的 make clean 逻辑就简单多了。
发了个补丁还在等 portmgr review 中,等通过了再说……
对了, 这一年你们都没察觉 make clean 不正常么?

_________________
root@anonymous744wjcx.onion
GPG: C41B 3768 32EA 2B56 B3D7 17BA DCAB 3053 D560 6038
STARTTLS SHA1: D9:BB:93:37:C5:04:4A:A6:6F:9F:1F:E0:B9:5E:A3:B7:1B:5B:18:DC
返回页首
阅览会员资料 发送站内信件
anonymouscoward
道士


注册时间: 2013-08-08
文章: 851

文章发表于: Mon 2016-08-29 23:33:23    发表主题: 引用并回复

c++-bmake 写到:
另外无意看到了 http://bsd.lv/,然后了解到了 bchs: BSD, C, httpd, slowcgi
https://learnbchs.org/
bchs 说它是 OpenBSD 的,不过 bitrig 继承了 openbsd,顺便继承了 httpd, slowcgi, 所以顺便 bitrig 也有 bchs 了,这也是 lamp 的很好的替代种


先来灌点 OpenBSD ...

如果说他们的目标是只用 base 里提供的东西的话,但是写这类 web 应用竟然不是直接用 Perl 么
不过感觉要是直接用 SQLite 的 C API 写或者自己从头撸个类似 DBD::SQLite 的 XS 出来貌似这
工作量好像也没相差多少么…… -_-

其实我喜欢 OpenBSD 的其中一个理由就是人家的 base 自带了 Perl,比如 /usr/sbin/pkg_*
之类的包管理工具,并且 ports/infrastructure/ 下的好多东西也都是 Perl 做的,
还有像 pledge(2) 什么的也提供了 OpenBSD::Pledge ...

因为包管理是 Perl 做的,虽然也是类似 FreeBSD 前 pkg_install 工具那样的把
已安装包的信息存在一堆 +CONTENTS/+DESC/+REQUIRED_BY/+REQUIRING/+DISPLAY/+UNDISPLAY 文件里
但是完全不用自己去 parse 这些文件或者哪个工具的输出,直接用人家现成提供的模块就好了

随便拿之前这贴来举个例子 https://www.freebsdchina.org/forum/viewtopic.php?t=75299
比如察看一下匹配 libi 名字的包都被哪些包依赖了:

代码:
% uname -msr
OpenBSD 6.0 armv7

% perl -MOpenBSD::RequiredBy -MOpenBSD::PackingList -MJSON::PP -E 'say JSON::PP->new->utf8->pretty->encode({map {$p = $_; $p => {map {$d = $_; OpenBSD::PackingList->from_installation($d, \&OpenBSD::PackingList::ExtraInfoOnly)->{extrainfo}->{subdir}, $d} OpenBSD::RequiredBy->new($p)->list}} grep {/$ARGV[0]/} OpenBSD::PackageInfo::installed_packages()})' libi

{
   "libiconv-1.14p3" : {
      "security/gnutls" : "gnutls-3.4.14",
      "security/p11-kit" : "p11-kit-0.23.2p0",
      "devel/gettext" : "gettext-0.19.7",
      "devel/gmake" : "gmake-4.2.1",
      "devel/libidn" : "libidn-1.33"
   },
   "libidn-1.33" : {
      "security/gnutls" : "gnutls-3.4.14"
   }
}

_________________
root@anonymous744wjcx.onion
GPG: C41B 3768 32EA 2B56 B3D7 17BA DCAB 3053 D560 6038
STARTTLS SHA1: D9:BB:93:37:C5:04:4A:A6:6F:9F:1F:E0:B9:5E:A3:B7:1B:5B:18:DC
返回页首
阅览会员资料 发送站内信件
c++-bmake
半仙


注册时间: 2015-09-06
文章: 124

文章发表于: Thu 2016-09-01 10:13:56    发表主题: 引用并回复

不管是哪个 BSD 都很了不起,只是目前欠发展而已。不管是 openbsd ports, pkgsrc, bitrig-ports 都有很多软件欠缺,有些就算导入了也编译不过,应用也是很重要的,现在有些应用没有,以后肯定会有的,断断续续的关注吧
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标