summaryrefslogtreecommitdiff
path: root/Packages.txt
diff options
context:
space:
mode:
authorabs <abs>2000-02-10 22:39:34 +0000
committerabs <abs>2000-02-10 22:39:34 +0000
commitf4cb8979b215b51c69fff1549f9f27d32021a03a (patch)
tree756d57c2af570d1adb4e3daca30045462c323432 /Packages.txt
parenta00f3b1c599a2ac8dbeac424f812c7bb1bd9b9a4 (diff)
downloadpkgsrc-f4cb8979b215b51c69fff1549f9f27d32021a03a.tar.gz
A raft of changes from David Maxwell
Diffstat (limited to 'Packages.txt')
-rw-r--r--Packages.txt142
1 files changed, 92 insertions, 50 deletions
diff --git a/Packages.txt b/Packages.txt
index d9d73aa974c..5ee9989b43a 100644
--- a/Packages.txt
+++ b/Packages.txt
@@ -1,4 +1,4 @@
-# $NetBSD: Packages.txt,v 1.81 2000/02/10 02:09:17 abs Exp $
+# $NetBSD: Packages.txt,v 1.82 2000/02/10 22:39:34 abs Exp $
###########################################################################
==========================
@@ -89,7 +89,7 @@ is a description of all the terminology used within this document:
all the files in the Distfile by the actions defined in the
corresponding package.
- * RCS IDs:
+ * NetBSD RCS IDs:
Some files in a package contain RCS IDs to reflect which version of
that file this is (inserted automatically by cvs). These IDs are used
in several examples within this document, but as this document itself
@@ -278,7 +278,7 @@ Part II: Package Constructor's Guide
======================================================
Whenever you're preparing a package from the FreeBSD ports collection or
-doing it from scratch, there is a number of files involved which are
+doing it from scratch, there are a number of files involved which are
described in the following sections. Special directions are given for what
differs from FreeBSD ports for each file.
@@ -321,12 +321,13 @@ MASTER_SITE_SUBDIR will not work.
Currently the following values are available for CATEGORIES. If more than
one is used, they need to be separated by spaces:
- archivers corba games meta-pkgs security
- audio cross graphics misc shells
- benchmarks databases lang net sysutils
- cad devel mail news textproc
- comms editors math plan9 www
- converters emulators mbone print x11
+ archivers corba graphics meta-pkgs print
+ audio cross ham misc security
+ benchmarks databases japanese net shells
+ biology devel lang news sysutils
+ cad editors mail parallel textproc
+ comms emulators math pkgtools www
+ converters games mbone plan9 x11
See the NetBSD packages(7) manual page for a description of all available
options and variables.
@@ -376,24 +377,23 @@ package from the FreeBSD ports collection:
4.2 files/*
===========
-Most important, this directory contains the (mandatory) md5 checksum of all
-the distfiles needed for the package to compile. This file - files/md5 -
-contains an md5 checksum of the distribution file(s) to ensure that the
-distfile retrieved from the Internet has not been altered by a malign force
-to introduce a security hole or was corrupted during transfer. The file
-contains the md5 checksum of the original distribution file used to create
-the NetBSD package, from which any patches were generated etc. It can be
-generated by hand using the md5(1) command or by invoking "make makesum".
-
-The files directory also includes a checksum file for all the official
-patches for the package, found in the patches/ directory (see section
-4.3). This checksum file is called patch-sum, and includes an MD5 checksum
-of all lines in the patch file except the NetBSD RCS Id. This file is
-generated using the "make makepatchsum" command.
+ * files/md5:
+ Most important, the mandatory md5 checksum of all the distfiles needed for
+ the package to compile, confirming they match the original file any patches
+ were generated against. This ensures that the distfile retrieved from the
+ Internet has not been corrupted during transfer or altered by a malign force
+ to introduce a security hole. It can be generated by hand using the md5(1)
+ command or by invoking "make makesum".
+
+ * files/patch-sum:
+ The checksum file for all the official patches for the package, found in the
+ patches/ directory (see section 4.3). This checksum file includes an MD5
+ checksum of all lines in the patch file except the NetBSD RCS Id. This file
+ is generated by invoking "make makepatchsum".
Besides that, if you have any files that you wish to be placed in the
package prior to configuration or building, you could place these files
-here and use a cp command in the pre-configure target to achieve this.
+here and use a ${CP} command in the pre-configure target to achieve this.
Alternatively, you could simply diff the file against /dev/null and use the
patch mechanism to manage the creation of this file.
@@ -407,7 +407,7 @@ will compile and run perfectly on NetBSD. The files are applied
successively in alphabetic order (as returned by a shell "patches/patch-*"
glob expansion), so patch-aa is applied before patch-ab etc.
-The patch-?? files should be in diff -u format. This is because (not only)
+The patch-?? files should be in diff -bu format. This is because (not only)
the FreeBSD ports tsar finds this format easier to read than context diffs,
and so you have more chance of getting your NetBSD package accepted as part
of the FreeBSD ports system if you format your diffs in a unified fashion.
@@ -475,7 +475,7 @@ attention to the following things in pkg/PLIST:
ldconfig ...", delete them. NetBSD works out automatically whether to
call ldconfig, since some NetBSD architectures do not have ldconfig.
- Add any missing @dirrm statements
- - Any MAN definitions in the package Makefile
+ - Remove any MANx= definitions in the package Makefile
You could also investigate the port2pkg package (pkgsrc/pkgtools/port2pkg),
which does a lot of the donkey work for you.
@@ -524,6 +524,12 @@ it will be executed at the appropriate time during the build process:
pre-install post-install
pre-package post-package
+Note that you should NOT define a pre-* or post-* target in the Makefile
+which executes the matching scripts/[pre|post]-* script. bsd.pkg.mk runs
+any existing Makefile target first, then searches for scripts/* and runs
+it using sh(1). Running the script from the Makefile would cause it to
+be run twice.
+
See section 7 for a description of the build process.
@@ -547,7 +553,7 @@ a release tag of "pkgsrc-base", e.g::
cvs import pkgsrc/<category>/frobnitz TNF pkgsrc-base
-Packages derived from a FreeBSD port could be imported with a vendor tag
+Packages derived from a FreeBSD port should be imported with a vendor tag
of "FREEBSD" and a release tag of "FreeBSD-current-YYYY-MM-DD" (YYYY-MM-DD
being the date when the snapshot of the port were taken form the FreeBSD
tree), and then doing the necessary modifications by normal CVS operations.
@@ -559,22 +565,22 @@ E.g:
cvs ci
Please note all package updates/additions in doc/pkg-CHANGES! Its very important
-to keep this file uptodate, cause it will be used from scripts to automatically
-update some pages on www.netbsd.org.
+to keep this file up to date, because it will be used by scripts to
+automatically update some pages on www.netbsd.org.
5 PLIST* issues
===============
-This section addresses some special issues that one needs to take attention
-of when dealing with the PLIST file (or files, see below!).
+This section addresses some special issues that one needs to pay attention
+to when dealing with the PLIST file (or files, see below!).
5.1 Miscellaneous
=================
- * RCS Id:
- Be sure to add a RCS ID line as the first thing in any PLIST file your
+ * NetBSD RCS Id:
+ Be sure to add a RCS ID line as the first thing in any PLIST file you
write:
@comment <$>NetBSD<$>
@@ -791,12 +797,13 @@ Here's how to use libtool in a pkg in seven simple steps:
FOR GNU PKGS THAT ALREADY SUPPORT LIBTOOL:
Add USE_LIBTOOL=yes and LTCONFIG_OVERRIDE=${WRKSRC}/ltconfig to the
-package Makefile for the quick way to bypass the pkg's own libtool.
+package Makefile as the quick way to bypass the pkg's own libtool.
The pkg's own libtool is made by ltconfig script at do-configure target.
-If USE_LIBTOOL and LTCONFIG_OVERRIDE defined, specified ltconfig is
-overrided for using libtool-pkg instead of the pkg's own libtool.
-If pkg has already original "libtool" which we can substitute by libtool-pkg,
-you may possibly have to specify LIBTOOL_OVERRIDE to the package Makefile.
+If USE_LIBTOOL and LTCONFIG_OVERRIDE are defined, the specified ltconfig is
+overridden, using the pkgtools/pkglibtool instead of the pkg's own libtool.
+If the pkg already has an original "libtool" which we can replace with
+pkgtools/pkglibtool you may have to specify LIBTOOL_OVERRIDE to the package
+Makefile.
6.3 Gotchas of FreeBSD ports
@@ -846,11 +853,11 @@ the package Makefile.
==========================
If you have found any bugs in the package you make available, if you had to
-do special steps to make it run under NetBSD or if you enhanced the
-software in various other ways, be sure to report these changes back to the
-original author of that program! Only with that kind of support, the next
-release of the program can incorporate these fixes, and also people not
-using the NetBSD packages system can win from your efforts.
+do special steps to make it run under NetBSD or if you enhanced the software
+in various other ways, be sure to report these changes back to the original
+author of the program! With that kind of support, the next release of the
+program can incorporate these fixes, and people not using the NetBSD packages
+system can win from your efforts.
Support the idea of free software!
@@ -1122,7 +1129,7 @@ perform the equivalent of:
* show-distfiles:
This target shows which distfiles and patchfiles are needed to build
- the package.
+ the package. (DISTFILES and PATCHFILES, but not patches/*)
* show-downlevel:
This target shows nothing if the package is not installed. If a version
@@ -1132,7 +1139,6 @@ perform the equivalent of:
the old versions can be deleted, and the current ones added.
-
8 Debugging
===========
@@ -1175,6 +1181,11 @@ debugging aids.
- pkg_add .../blub.tgz
- Play with it :)
- pkg_delete - still no file should be left (re-run above find)
+ - make clean && touch /tmp/bla && make install && make clean && make deinstall
+ then run the find again. Yes, some software authors write Makefiles that
+ install files during the build target. Sigh. Re-run the find, and fix the
+ PLIST. Repeat until certain the software does not install any files that
+ aren't in PLIST.
- submit (or commit, if you have cvs access); see section 10.
@@ -1182,6 +1193,23 @@ debugging aids.
=======================================
9.1 Packages using GNU autoconfig
+ 9.2 Other distrib methods than .tar.gz
+ 9.3 Packages not creating their own subdirectory
+ 9.4 Custom configuration process
+ 9.5 Packages not building in their DISTNAME directory
+ 9.6 How to fetch all distfiles at once
+ 9.7 How to fetch files from behind a firewall
+ 9.8 If your patch contains an RCS ID
+ 9.9 How to pull in variables from /etc/mk.conf
+ 9.10 Is there a mailing list for pkg-related discussion?
+ 9.11 How do i tell "make fetch" to do passive FTP?
+ 9.12 Dependencies on other packages
+ 9.13 Conflicts with other packages
+ 9.14 Software which has a WWW Home Page
+ 9.15 How to handle modified distfiles with the 'old' name
+
+
+ 9.1 Packages using GNU autoconfig
=================================
If your package uses GNU autoconf, add the following to your package's
@@ -1252,9 +1280,9 @@ resulting list.
9.7 How to fetch files from behind a firewall
=============================================
-If you are sitting behind a firewall, you must specify the relevant proxy
-hosts to enable you to talk to other machines on the Internet which are not
-behind your firewall. This is an environment variable in the form of a URL
+If you are sitting behind a firewall which does not allow direct connections
+to Internet hosts (i.e. non-NAT), you may specify the relevant proxy hosts.
+This is done using an environment variable in the form of a URL
e.g. in Amdahl, the machine orpheus.amdahl.com is one of the firewalls, and
it uses port 80 as the proxy port number. So the proxy environment
variables look like:
@@ -1303,7 +1331,21 @@ issues. To subscribe do:
9.11 How do i tell "make fetch" to do passive FTP?
==================================================
-Add the following to your /etc/mk.conf file: PASSIVE_FETCH=1
+This depends on which utility is used to retrieve distfiles. From
+bsd.pkg.mk, FETCH_CMD is assigned the first available command from the
+following list:
+
+/usr/bin/fetch
+${LOCALBASE}/bsd/bin/ftp
+/usr/bin/ftp
+
+On a default NetBSD install, this will be /usr/bin/ftp, which automatically
+tries passive connections first, and falls back to active connections if the
+server refuses to do passive. For the other tools, add the following to your
+/etc/mk.conf file: PASSIVE_FETCH=1
+
+Having that option present will prevent /usr/bin/ftp from falling back to
+active transfers.
9.12 Dependencies on other packages
@@ -1431,7 +1473,7 @@ increment this to give 'nb2' and so on).
=============
* precompiled binary packages:
- Our policy is that we accept only binaries from NetBSD developers to
+ Our policy is that we accept binaries from only NetBSD developers to
guarantee that the packages don't contain any trojan horses etc.
This is not to piss anyone off but rather to protect our users!
You're still free to put up your home-made binary packages and tell