0

Freebsd 9.1 RC3

首先澄清一下:顶层位于 /usr/ports,类别级别位于 /usr/ports/devel

我正在研究定制的端口树。基本上,只需将原始的整个端口树修剪为我们需要的即可。而且,在大多数情况下,它是相同的,例如 GID、UID、Mk/、Tools/、模板,就 Makefile 而言,我只是将 SUBDIR 更改为我们需要的。

一般问题:对于每个单独的端口,例如在 /usr/ports/devel/protobuf 运行“make install clean”,一切正常。但是,问题是在类别级别运行“make install clean”,它会中断。

实际问题:在 usr/ports/devel 运行“make install clean -DBATCH”

  ....
  Usage: ./help2man.h2m.PL [--quiet] [--stdout|--output=FILE] [--locale=STRING]    [--message-     
 dir=DIR]
 gmake[1]: *** [help2man.el.h2m] Error 255
 gmake[1]: Leaving directory `/usr/ports/misc/help2man/work/help2man-1.40.12'
 Option include requires an argument
 `help2man' generates a man page out of `--help' and `--version' output.

 Usage: help2man [OPTION]... EXECUTABLE

 -n, --name=STRING       description for the NAME paragraph
 -s, --section=SECTION   section number for manual page (1, 6, 8)
 -m, --manual=TEXT       name of manual (User Commands, ...)
 -S, --source=TEXT       source of program (FSF, Debian, ...)
 -L, --locale=STRING     select locale (default "C")
 -i, --include=FILE      include material from `FILE'
 -I, --opt-include=FILE  include material from `FILE' if it exists
 -o, --output=FILE       send output to `FILE'
 -p, --info-page=TEXT    name of Texinfo manual
 -N, --no-info           suppress pointer to Texinfo manual
 -l, --libtool           exclude the `lt-' from the program name
     --help              print this help, then exit
     --version           print version number, then exit

  EXECUTABLE should accept `--help' and `--version' options and produce output on
  stdout although alternatives may be specified using:

   -h, --help-option=STRING     help option string
   -v, --version-option=STRING  version option string
   --version-string=STRING      version string
   --no-discard-stderr          include stderr when parsing option output

  Report bugs to <bug-help2man@gnu.org>.
  gmake: *** [help2man.el.1] Error 255
  *** [do-build] Error code 1

  Stop in /usr/ports/misc/help2man.
  *** [/usr/ports/misc/help2man/work/.build_done.help2man._usr_local] Error code 1

  Stop in /usr/ports/misc/help2man.
  *** [build-depends] Error code 1

  Stop in /usr/ports/devel/autoconf.
  *** [/usr/ports/devel/autoconf/work/.configure_done.autoconf._usr_local] Error code 1

  Stop in /usr/ports/devel/autoconf.
  *** [build-depends] Error code 1

  Stop in /usr/ports/devel/automake.
  *** [/usr/ports/devel/automake/work/.configure_done.automake._usr_local] Error code 1

  Stop in /usr/ports/devel/automake.
  *** [build-depends] Error code 1

  Stop in /usr/ports/devel/apr1.
  *** [/usr/ports/devel/apr1/work/.configure_done.apr._usr_local] Error code 1

  Stop in /usr/ports/devel/apr1.
  *** [_apr1.realinstall] Error code 1

  Stop in /usr/ports/devel.

自定义端口树的结构

# ls
GIDs  Tools distfiles  net  xxxxxxxxxx  x11-fonts KNOBS  UIDs  doc   net-mgmt print  Makefile   bin   graphics   xxxxxxx security Makefile.inc converters   xxxx.sh  xxxxxxxxx  textproc Mk databases    lang        xxxxxxxxx   www Templates  devel    misc   xxxxxxxxxxxx    x11

 # ls devel
 autoconf-wrapper libevent   makedepend  py-asn1  py-setuptools automake  libltdl  p5-Locale-gettext py-asn1-modules swig13 Makefile  automake-wrapper libpthread-stubs pcre py-dateutil  zmq apr1  gettext libtool pkgconf py-protobuf autoconf    gmake  m4  protobuf py-pyzmq

通过参考http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html

Note: You can build all the ports in a category or as a whole by running make in the top level directory, just like the aforementioned make fetch method. This is dangerous, however, as some ports cannot co-exist. In other cases, some ports can install two different files with the same filename.

希望有人能帮帮我,谢谢!

4

2 回答 2

0

我希望你现在已经解决了这个问题。如果没有,freebsd-ports@freebsd.orghackers@freebsd.org将是回答这些问题的最佳地点。

于 2012-12-25T06:21:44.240 回答
0

看起来当时 help2man 端口已过时/损坏。此外,在端口中添加或删除类别和目录时,您需要编辑 Mk/bsd.port.mk 以更新相关列表。

某些端口也可能依赖于已删除的端口。您可以尝试运行 make index 并查看它是否可以干净地构建索引。这是关于端口中至少默认选项稳定性的一个很好的线索。(条件依赖不会得到测试)运行 portlint 还可以帮助验证端口,它的依赖看起来不错。

于 2017-07-26T20:26:45.033 回答