How to Create an OpenBSD Port and Package

2009-05-13 12:36:13来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

Clint Pachl writes in with this walk through on how to assemble your own
[url=javascript:;]port[/url]
...
I've attempted to create a port several times in the past, but it looked like too much work, so I gave up. Today, I finally decided to bite the bullet. It was actually fairly simple. Below I show how to create an extremely minimal port. This could be used to
[url=javascript:;]package[/url]
some common scripts you would like to effortlessly deploy on all of your machines. I assume the line "
[url=javascript:;]SUDO[/url]
=/usr/bin/sudo" is in /etc/mk.conf and /usr/ports is writable by the regular user.
A great example of a simple port that consists of a
[url=javascript:;]shell[/url]
script (and a man page) is sysutils/mergemaster.
First, create the actual data structure (i.e. distribution files) for the package. Then tar and compress the distribution into the distfiles directory, which will bypass the remote fetch during port make.
  $ mkdir -p ~/myscripts/myscripts-1.0
  $ cd ~/myscripts/myscripts-1.0
  $ mkdir -p bin share/myscripts
  $ echo 'Docs for myscripts.' > share/myscripts/README
  $ cat  bin/myscript1
  > #!/bin/sh
  > echo 'this is myscript1'
  > EOF
  $ cat  bin/myscript2
  > #!/bin/sh
  > echo 'this is myscript2'
  > EOF
  $ cd ..
  $ tar czf /usr/ports/distfiles/myscripts-1.0.tar.gz myscripts-1.0
Make a directory under which you can maintain your local ports.
  $ mkdir -p /usr/ports/mystuff/misc
  $ cd /usr/ports/mystuff/misc
Make a package directory that will resemble your package name.
  $ mkdir myscripts
  $ cd myscripts
Create the port's Makefile using the port system template. When finished, it should look similar to the following:
  $ cp /usr/ports/infrastructure/templates/Makefile.template Makefile
  $ vi Makefile
  $ cat Makefile
  # port/package comment, name, category, and maintainer.
  COMMENT=                extremely minimal porting example
  DISTNAME=               myscripts-1.0
  CATEGORIES=             misc
  MAINTAINER=             Clint Pachl
  # Mandatory licensing variables.
  PERMIT_PACKAGE_CDROM=   NO
  PERMIT_PACKAGE_FTP=     NO

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:添加硬盘后启动提示:mountroot>的解决办法

下一篇:OpenBSD4.2中的expat 库依赖问题