===================================================================
RCS file: /cvsrepo/anoncvs/cvs/www/Attic/checklist.html,v
retrieving revision 1.21
retrieving revision 1.22
diff -c -r1.21 -r1.22
*** www/Attic/checklist.html 2000/03/11 07:43:53 1.21
--- www/Attic/checklist.html 2000/03/11 18:49:19 1.22
***************
*** 6,17 ****
!
OpenBSD Porting Checklist
!
OpenBSD Porting Checklist
--- 6,17 ----
!
OpenBSD Porting Checklist
!
OpenBSD Porting Checklist
***************
*** 24,30 ****
! -
If you want to be a maintainer, subscribe to
ports@openbsd.org.
-
--- 24,30 ----
! -
If you want to be a maintainer, subscribe to
ports@openbsd.org.
-
***************
*** 36,48 ****
good advice or test ports for you.
! -
Check out a copy of the ports tree from cvs.
You can find instructions to do this at
http://www.openbsd.org/anoncvs.html.
!
-
Pick a place to put your port and create the basic
infrastructure there. Use the template Makefile at
/usr/ports/infrastructure/templates/Makefile.template
.
--- 36,48 ----
good advice or test ports for you.
!
-
Check out a copy of the ports tree from cvs.
You can find instructions to do this at
http://www.openbsd.org/anoncvs.html.
!
-
Pick a place to put your port and create the basic
infrastructure there. Use the template Makefile at
/usr/ports/infrastructure/templates/Makefile.template
.
***************
*** 52,58 ****
Create these empty files pkg/COMMENT, pkg/DESCR, pkg/PLIST
! -
Add the fetch portions of the Makefile.
-
Fill in EXTRACT_SUFFIX if its anything besides .tar.gz. Other examples are
--- 52,58 ----
Create these empty files
pkg/COMMENT, pkg/DESCR, pkg/PLIST
!
-
Add the fetch portions of the Makefile.
-
Fill in EXTRACT_SUFFIX if its anything besides .tar.gz. Other examples are
***************
*** 61,68 ****
Fill in DISTNAME which is the name of the file minus the extract suffix. E.g. if you have foo-1.0.tar.gz, DISTNAME is foo-1.0.
-
Fill in MASTER_SITES which is a URL to the directory where the distfile
! is kept. E.g. ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/ Don't forget
! the trailing slash. Try to have at least three distinct sites as well.
Place the most easily accessible first as they are traversed in order.
-
Keep in mind that fetch references the file as
--- 61,68 ----
Fill in DISTNAME which is the name of the file minus the extract suffix. E.g. if you have foo-1.0.tar.gz, DISTNAME is foo-1.0.
-
Fill in MASTER_SITES which is a URL to the directory where the distfile
! is kept. E.g. ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/ . Don't forget
! the trailing slash. Try to have at least three distinct sites as well.
Place the most easily accessible first as they are traversed in order.
-
Keep in mind that fetch references the file as
***************
*** 76,82 ****
For more complex ports, you have more options and tools available to you:
-
You also have the variable PATCHFILES available. This is a list of vendor
! (not openbsd) patches to the port. Common uses are things like security
or reliability fixes.
-
If your ports are available over large public mirrors such as GNU, SunSite, or
--- 76,82 ----
For more complex ports, you have more options and tools available to you:
-
You also have the variable PATCHFILES available. This is a list of vendor
! (not OpenBSD) patches to the port. Common uses are things like security
or reliability fixes.
-
If your ports are available over large public mirrors such as GNU, SunSite, or
***************
*** 107,113 ****
mirror-distfiles will fetch those supplementary files that the casual user doesn't need.
! -
Create a checksum in files/md5 by typing make makesum.
Then verify the checksum is correct by typing make checksum
-
--- 107,113 ----
mirror-distfiles will fetch those supplementary files that the casual user doesn't need.
!
-
Create a checksum in files/md5 by typing make makesum.
Then verify the checksum is correct by typing make checksum
-
***************
*** 125,139 ****
Patches that need specific treatment should be mentioned in DISTFILES, and removed from EXTRACT_ONLY, for historic reasons.
! -
Extract the port with make extract. Pay attention to where the base
of the sources are. Usually, its work/DISTNAME You may need to modify
the Makefile's WRKDIST variable if it is different.
!
-
Read the installation documentation and note what you have to do to build
the port and any special options that might be needed.
!
-
Now is also a good time to figure out what kind of licensing restrictions
apply to your port. Many are freely redistribution but then again, quite
a few are not. We need four questions answered to distribute ports
--- 125,140 ----
Patches that need specific treatment should be mentioned in DISTFILES, and removed from EXTRACT_ONLY, for historic reasons.
!
-
Extract the port with make extract. Pay attention to where the base
of the sources are. Usually, its work/DISTNAME You may need to modify
the Makefile's WRKDIST variable if it is different.
!
-
Read the installation documentation and note what you have to do to build
the port and any special options that might be needed.
!
!
-
Now is also a good time to figure out what kind of licensing restrictions
apply to your port. Many are freely redistribution but then again, quite
a few are not. We need four questions answered to distribute ports
***************
*** 152,158 ****
later on. E.g. some ports require to install a copy of the license. We
recommend you place the license in
/usr/local/share/DISTNAME/
.
! -
Add configuration options to Makefile and/or create the configuration script.
-
You can add a port configuration script named `configure' to a directory
--- 153,159 ----
later on. E.g. some ports require to install a copy of the license. We
recommend you place the license in
/usr/local/share/DISTNAME/
.
!
-
Add configuration options to Makefile and/or create the configuration script.
-
You can add a port configuration script named `configure' to a directory
***************
*** 169,175 ****
overwrite it.
! -
Try building the port with make build.
-
If you're lucky, the port will go all the way through without errors.
--- 170,176 ----
overwrite it.
!
-
Try building the port with make build.
-
If you're lucky, the port will go all the way through without errors.
***************
*** 183,189 ****
and patch your port.
! -
Begin and cycle of make build, generate a patch, and
make clean patch.
-
--- 184,190 ----
and patch your port.
!
-
Begin and cycle of make build, generate a patch, and
make clean patch.
-
***************
*** 211,217 ****
Please feed your patches back to the author of that piece of software.
! -
Try setting
SEPARATE_BUILD
-
If the port can build with object files outside its source tree,
--- 212,218 ----
Please feed your patches back to the author of that piece of software.
!
-
Try setting
SEPARATE_BUILD
-
If the port can build with object files outside its source tree,
***************
*** 222,233 ****
restart the cycle at
configure
most of the time.
! -
Peruse the output (if any) and tweak any options in the Makefile.
To repeat issue the command `make clean configure'.
Note: make sure host dependent files go in /etc or
! /etc/<name>, but NEVER REPLACE OR MODIFY existing files
in /etc. Best to have install place
in /usr/local/share/<name> and then copy to
/etc or /etc/<name> only if the files do not exist.
--- 223,234 ----
restart the cycle at configure
most of the time.
!
-
Peruse the output (if any) and tweak any options in the Makefile.
To repeat issue the command `make clean configure'.
Note: make sure host dependent files go in /etc or
! /etc/<name>, but NEVER REPLACE OR MODIFY existing files
in /etc. Best to have install place
in /usr/local/share/<name> and then copy to
/etc or /etc/<name> only if the files do not exist.
***************
*** 253,263 ****
misc documentation: /usr/local/share/doc/<name>
!
-
Begin a cycle of makes until the port is ready. Patch (see above)
clean, and make until the port is generated. Get rid of all warnings
if possible, especially security related warnings.
!
-
Control SEPARATE_BUILD semantics.
You have to do this only if the port builds with
SEPARATE_BUILD defined.
--- 254,265 ----
misc documentation: /usr/local/share/doc/<name>
!
-
Begin a cycle of makes until the port is ready. Patch (see above)
clean, and make until the port is generated. Get rid of all warnings
if possible, especially security related warnings.
!
!
-
Control SEPARATE_BUILD semantics.
You have to do this only if the port builds with
SEPARATE_BUILD defined.
***************
*** 271,277 ****
distinct arches simultaneously may meet with problems, as some
source files may be regenerated at awkward moments.
!
-
Edit pkg/DESCR, pkg/COMMENT, pkg/PLIST.
-
--- 273,279 ----
distinct arches simultaneously may meet with problems, as some
source files may be regenerated at awkward moments.
!
-
Edit pkg/DESCR, pkg/COMMENT, pkg/PLIST.
-
***************
*** 286,299 ****
PLIST is kept empty at this point.
! -
Install the application with make install
If the port installs dynamic libraries, check their symbol tables
with nm
, as some mistaken software strips dynamic libraries,
which may lead to weird failures later.
!
-
Check port for security holes again. This is
especially important for network and setuid programs. See
our security recommendations
--- 288,301 ----
PLIST is kept empty at this point.
!
-
Install the application with make install
If the port installs dynamic libraries, check their symbol tables
with nm
, as some mistaken software strips dynamic libraries,
which may lead to weird failures later.
!
-
Check port for security holes again. This is
especially important for network and setuid programs. See
our security recommendations
***************
*** 311,317 ****
The server makes extensive use of strlcpy/strlcat/snprintf.
!
-
Create pkg/PLIST. After the install is complete use the developer's command,
make plist which makes the file PLIST-auto in the pkg directory.
This file is a candidate packing list.
--- 313,319 ----
The server makes extensive use of strlcpy/strlcat/snprintf.
!
-
Create pkg/PLIST. After the install is complete use the developer's command,
make plist which makes the file PLIST-auto in the pkg directory.
This file is a candidate packing list.
***************
*** 351,357 ****
shared libraries.
! -
Keep repeating uninstall and reinstall until perfect.
Perfect is when everything installs and uninstalls
in its proper location. `pkg_delete <pkg_name>' is
--- 353,359 ----
shared libraries.
!
-
Keep repeating uninstall and reinstall until perfect.
Perfect is when everything installs and uninstalls
in its proper location. `pkg_delete <pkg_name>' is
***************
*** 361,367 ****
find /usr/local -newer work/.install_started -print
should only list standard directory names.
!
-
Test the packaging:
After the port installs correctly issue the command
make package
to create a package. To test the
--- 363,369 ----
find /usr/local -newer work/.install_started -print
should only list standard directory names.
!
-
Test the packaging:
After the port installs correctly issue the command
make package
to create a package. To test the
***************
*** 369,375 ****
pkg_add
The results after an add should EXACTLY
match the results after a `make install'.
! -
Mail ports@openbsd.org with a short
note asking for comments and testing. Attach the port to this email and
sent it out. If you don't get any comments, send email to
--- 371,377 ----
pkg_add
The results after an add should EXACTLY
match the results after a `make install'.
!
-
Mail ports@openbsd.org with a short
note asking for comments and testing. Attach the port to this email and
sent it out. If you don't get any comments, send email to
***************
*** 378,396 ****
Try to get others to test it on a variety of platforms for you.
-
The DEC Alpha is good because it has only static libraries and because
! sizeof(int) != sizeof(long)
-
Sun SPARC is good because it is very common and because its byte order is
the reverse of i386; if you developed on SPARC, of course, you'd want it
tested on i386).
-
! -
Incorporate any feedback you get. Test it again on your platform.
Get those who gave you feedback to test it again from your new port.
!
-
Finally, include it in the "ports" tree.
If you do not have CVS access, ask someone on
--- 380,397 ----
Try to get others to test it on a variety of platforms for you.
-
The DEC Alpha is good because it has only static libraries and because
!
sizeof(int) != sizeof(long)
-
Sun SPARC is good because it is very common and because its byte order is
the reverse of i386; if you developed on SPARC, of course, you'd want it
tested on i386).
!
-
Incorporate any feedback you get. Test it again on your platform.
Get those who gave you feedback to test it again from your new port.
!
-
Finally, include it in the "ports" tree.
If you do not have CVS access, ask someone on
***************
*** 398,404 ****
about me, turan@openbsd.org if no one
picks it up.
!
-
If you are a developer with CVS access, check it in.
We normally use "import" for a new port,
rather than adding a zillion (or a dozen) files individually.
--- 399,405 ----
about me, turan@openbsd.org if no one
picks it up.
!
-
If you are a developer with CVS access, check it in.
We normally use "import" for a new port,
rather than adding a zillion (or a dozen) files individually.
***************
*** 452,473 ****
$
!
-
Last but not least, add a one-line entry for the new port
in its parent directory's makefile, i.e., for ports/lang/kaffe1,
add it to ports/lang/Makefile.
!
-
Maintain the port! As time goes by, problems may arise, or new versions
of the software may be released. You should strive to keep your port up
! to date. In other words - iterate, test, test, iterate, ...
!
Thank you for supporting the OpenBSD "ports" process!
www@openbsd.org
!
$OpenBSD: checklist.html,v 1.21 2000/03/11 07:43:53 form Exp $