Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/bsd/dhcpcd/dist Import dhcpcd-7.0.0-beta. Changes f...



details:   https://anonhg.NetBSD.org/src/rev/f76f4a132120
branches:  trunk
changeset: 352432:f76f4a132120
user:      roy <roy%NetBSD.org@localhost>
date:      Fri Mar 31 20:51:14 2017 +0000

description:
Import dhcpcd-7.0.0-beta. Changes from prior version include:

  *  source file locations reworked:
       dhcpcd source is in src
       dhcpcd hooks are in hooks
       compat is in compat
  *  README split into README.md and BUILDING.md
  *  internal routing is now protocol agnostic
  *  avoid using __packed and use compile time asserts instead
  *  addresses some alignment issues
  *  disable some ARP code on kernels which support RFC5227
  *  BSD IPv6 kernel settings are now updated to reflect dhcpcd config
  *  custom logger has been removed, syslog handles everything
     as such, the --logfile option has been removed as well.
     If you need better/earlier logging, get a better syslogger!
  *  distinfo and signed distinfo files are now available alongside
     release taraballs from this point onwards
  *  default DBDIR has changed from /var/db to /var/db/dhcpcd
  *  /etc/dhcpcd.duid moves to DBDIR/duid
  *  /etc/dhcpcd.secret moves to DBDIR/secret
  *  lease file names have dhcpcd removed from them as they are now
     inside a directory of the same name
  *  fixed issues with reject routes not working on some platforms
  *  improved nl80211 support on Linux for working out the SSID
  *  no longer request NTP by default in dhcpcd.conf
  *  BPF filtering vastly improved so dhcpcd only wake up on
     ARP or DHCP packets destined for it
  *  support for MUD URL (draft-ietf-opsawg-mud-05)
  *  if the kernel isn't doing DAD, don't insist on waiting for it
     to actually do it
  *  fix a potential crash where the DHCP or ARP states could be
     freed before the packet processing loop naturally breaks
  *  removed gateway and nogateway options
     (these can be controlled by the nooption directive which
     works for more than just gateways)
  *  removed ipv6ra_own and ipv6ra_own_default options
     (these can be controled by the ipv6rs/noipv6rs directive)
  *  fix a crash receiving SIGUSR1

diffstat:

 external/bsd/dhcpcd/dist/.arcconfig                        |     3 +
 external/bsd/dhcpcd/dist/BUILDING.md                       |   171 +
 external/bsd/dhcpcd/dist/LICENSE                           |    23 +
 external/bsd/dhcpcd/dist/Makefile                          |   120 +
 external/bsd/dhcpcd/dist/Makefile.inc                      |    32 +
 external/bsd/dhcpcd/dist/README.md                         |    91 +
 external/bsd/dhcpcd/dist/compat/_strtoi.h                  |    93 +
 external/bsd/dhcpcd/dist/compat/arc4random.c               |   158 +
 external/bsd/dhcpcd/dist/compat/arc4random.h               |    16 +
 external/bsd/dhcpcd/dist/compat/arc4random_uniform.c       |    56 +
 external/bsd/dhcpcd/dist/compat/arc4random_uniform.h       |    23 +
 external/bsd/dhcpcd/dist/compat/bitops.h                   |   188 +
 external/bsd/dhcpcd/dist/compat/crypt/md5.c                |   242 +
 external/bsd/dhcpcd/dist/compat/crypt/md5.h                |    33 +
 external/bsd/dhcpcd/dist/compat/crypt/sha256.c             |   303 +
 external/bsd/dhcpcd/dist/compat/crypt/sha256.h             |    46 +
 external/bsd/dhcpcd/dist/compat/dprintf.c                  |    65 +
 external/bsd/dhcpcd/dist/compat/dprintf.h                  |    43 +
 external/bsd/dhcpcd/dist/compat/endian.h                   |    71 +
 external/bsd/dhcpcd/dist/compat/pidfile.c                  |   269 +
 external/bsd/dhcpcd/dist/compat/pidfile.h                  |    39 +
 external/bsd/dhcpcd/dist/compat/queue.h                    |   175 +
 external/bsd/dhcpcd/dist/compat/reallocarray.c             |    60 +
 external/bsd/dhcpcd/dist/compat/reallocarray.h             |    37 +
 external/bsd/dhcpcd/dist/compat/strtoi.c                   |    68 +
 external/bsd/dhcpcd/dist/compat/strtoi.h                   |    45 +
 external/bsd/dhcpcd/dist/compat/strtou.c                   |    68 +
 external/bsd/dhcpcd/dist/config-null.mk                    |     3 +
 external/bsd/dhcpcd/dist/configure                         |  1467 ++++
 external/bsd/dhcpcd/dist/hooks/01-test                     |     8 +
 external/bsd/dhcpcd/dist/hooks/02-dump                     |     8 +
 external/bsd/dhcpcd/dist/hooks/10-wpa_supplicant           |   119 +
 external/bsd/dhcpcd/dist/hooks/15-timezone                 |    48 +
 external/bsd/dhcpcd/dist/hooks/20-resolv.conf              |   204 +
 external/bsd/dhcpcd/dist/hooks/29-lookup-hostname          |    40 +
 external/bsd/dhcpcd/dist/hooks/30-hostname                 |   165 +
 external/bsd/dhcpcd/dist/hooks/50-dhcpcd-compat            |    41 +
 external/bsd/dhcpcd/dist/hooks/50-ntp.conf                 |   141 +
 external/bsd/dhcpcd/dist/hooks/50-yp.conf                  |    56 +
 external/bsd/dhcpcd/dist/hooks/50-ypbind.in                |    86 +
 external/bsd/dhcpcd/dist/hooks/Makefile                    |    64 +
 external/bsd/dhcpcd/dist/hooks/dhcpcd-run-hooks.8.in       |   217 +
 external/bsd/dhcpcd/dist/hooks/dhcpcd-run-hooks.in         |   387 +
 external/bsd/dhcpcd/dist/iconfig.mk                        |     7 +
 external/bsd/dhcpcd/dist/src/GNUmakefile                   |    12 +
 external/bsd/dhcpcd/dist/src/Makefile                      |   132 +
 external/bsd/dhcpcd/dist/src/arp.c                         |   507 +
 external/bsd/dhcpcd/dist/src/arp.h                         |   109 +
 external/bsd/dhcpcd/dist/src/auth.c                        |   669 ++
 external/bsd/dhcpcd/dist/src/auth.h                        |    93 +
 external/bsd/dhcpcd/dist/src/bpf.c                         |   662 ++
 external/bsd/dhcpcd/dist/src/bpf.h                         |    45 +
 external/bsd/dhcpcd/dist/src/common.c                      |   256 +
 external/bsd/dhcpcd/dist/src/common.h                      |   187 +
 external/bsd/dhcpcd/dist/src/control.c                     |   423 +
 external/bsd/dhcpcd/dist/src/control.h                     |    64 +
 external/bsd/dhcpcd/dist/src/crypt/crypt.h                 |    33 +
 external/bsd/dhcpcd/dist/src/crypt/hmac_md5.c              |    89 +
 external/bsd/dhcpcd/dist/src/defs.h                        |    76 +
 external/bsd/dhcpcd/dist/src/dev.c                         |   191 +
 external/bsd/dhcpcd/dist/src/dev.h                         |    60 +
 external/bsd/dhcpcd/dist/src/dev/Makefile                  |    45 +
 external/bsd/dhcpcd/dist/src/dev/udev.c                    |   179 +
 external/bsd/dhcpcd/dist/src/dhcp-common.c                 |  1094 +++
 external/bsd/dhcpcd/dist/src/dhcp-common.h                 |   123 +
 external/bsd/dhcpcd/dist/src/dhcp.c                        |  3800 ++++++++++++
 external/bsd/dhcpcd/dist/src/dhcp.h                        |   279 +
 external/bsd/dhcpcd/dist/src/dhcp6.c                       |  3762 +++++++++++
 external/bsd/dhcpcd/dist/src/dhcp6.h                       |   241 +
 external/bsd/dhcpcd/dist/src/dhcpcd-definitions-small.conf |   125 +
 external/bsd/dhcpcd/dist/src/dhcpcd-definitions.conf       |   595 +
 external/bsd/dhcpcd/dist/src/dhcpcd-embedded.c.in          |    36 +
 external/bsd/dhcpcd/dist/src/dhcpcd-embedded.h.in          |    32 +
 external/bsd/dhcpcd/dist/src/dhcpcd.8.in                   |   797 ++
 external/bsd/dhcpcd/dist/src/dhcpcd.c                      |  1983 ++++++
 external/bsd/dhcpcd/dist/src/dhcpcd.conf                   |    39 +
 external/bsd/dhcpcd/dist/src/dhcpcd.conf.5.in              |   900 ++
 external/bsd/dhcpcd/dist/src/dhcpcd.h                      |   243 +
 external/bsd/dhcpcd/dist/src/duid.c                        |   161 +
 external/bsd/dhcpcd/dist/src/duid.h                        |    35 +
 external/bsd/dhcpcd/dist/src/eloop.c                       |   979 +++
 external/bsd/dhcpcd/dist/src/eloop.h                       |   111 +
 external/bsd/dhcpcd/dist/src/genembedc                     |    18 +
 external/bsd/dhcpcd/dist/src/genembedh                     |    17 +
 external/bsd/dhcpcd/dist/src/if-bsd.c                      |  1431 ++++
 external/bsd/dhcpcd/dist/src/if-linux-wext.c               |    89 +
 external/bsd/dhcpcd/dist/src/if-linux.c                    |  1726 +++++
 external/bsd/dhcpcd/dist/src/if-options.c                  |  2617 ++++++++
 external/bsd/dhcpcd/dist/src/if-options.h                  |   232 +
 external/bsd/dhcpcd/dist/src/if-sun.c                      |  1417 ++++
 external/bsd/dhcpcd/dist/src/if.c                          |   775 ++
 external/bsd/dhcpcd/dist/src/if.h                          |   204 +
 external/bsd/dhcpcd/dist/src/ipv4.c                        |   936 ++
 external/bsd/dhcpcd/dist/src/ipv4.h                        |   146 +
 external/bsd/dhcpcd/dist/src/ipv4ll.c                      |   511 +
 external/bsd/dhcpcd/dist/src/ipv4ll.h                      |    81 +
 external/bsd/dhcpcd/dist/src/ipv6.c                        |  2292 +++++++
 external/bsd/dhcpcd/dist/src/ipv6.h                        |   298 +
 external/bsd/dhcpcd/dist/src/ipv6nd.c                      |  1683 +++++
 external/bsd/dhcpcd/dist/src/ipv6nd.h                      |   115 +
 external/bsd/dhcpcd/dist/src/route.c                       |   529 +
 external/bsd/dhcpcd/dist/src/route.h                       |    92 +
 external/bsd/dhcpcd/dist/src/sa.c                          |   458 +
 external/bsd/dhcpcd/dist/src/sa.h                          |    68 +
 external/bsd/dhcpcd/dist/src/script.c                      |   793 ++
 external/bsd/dhcpcd/dist/src/script.h                      |    37 +
 external/bsd/dhcpcd/dist/test/GNUmakefile                  |     7 +
 external/bsd/dhcpcd/dist/test/Makefile                     |    35 +
 external/bsd/dhcpcd/dist/test/test.c                       |    38 +
 external/bsd/dhcpcd/dist/test/test.h                       |    32 +
 external/bsd/dhcpcd/dist/test/test_hmac_md5.c              |   173 +
 111 files changed, 41616 insertions(+), 0 deletions(-)

diffs (truncated from 42060 to 300 lines):

diff -r cec13bec1423 -r f76f4a132120 external/bsd/dhcpcd/dist/.arcconfig
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/dhcpcd/dist/.arcconfig       Fri Mar 31 20:51:14 2017 +0000
@@ -0,0 +1,3 @@
+{
+       "phabricator.uri" : "https://dev.marples.name/";
+}
diff -r cec13bec1423 -r f76f4a132120 external/bsd/dhcpcd/dist/BUILDING.md
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/dhcpcd/dist/BUILDING.md      Fri Mar 31 20:51:14 2017 +0000
@@ -0,0 +1,171 @@
+# Building dhcpcd
+
+This attempts to document various ways of building dhcpcd for your
+platform.
+
+Building for distribution (ie making a dhcpcd source tarball) now requires
+gmake-4 or any BSD make.
+
+## Size is an issue
+To compile small dhcpcd, maybe to be used for installation media where
+size is a concern, you can use the `--small` configure option to enable
+a reduced feature set within dhcpcd.
+Currently this just removes non important options out of
+`dhcpcd-definitions.conf`, the custom logger and
+support for DHCPv6 Prefix Delegation.
+Other features maybe dropped as and when required.
+dhcpcd can also be made smaller by removing the IPv4 or IPv6 stack:
+  *  `--disable-inet`
+  *  `--disable-inet6`
+
+Or by removing the following features:
+  *  `--disable-auth`
+  *  `--disable-arp`
+  *  `--disable-arping`
+  *  `--disable-ipv4ll`
+  *  `--disable-dhcp6`
+
+You can also move the embedded extended configuration from the dhcpcd binary
+to an external file (LIBEXECDIR/dhcpcd-definitions.conf)
+  *  `--disable-embedded`
+If dhcpcd cannot load this file at runtime, dhcpcd will work but will not be
+able to decode any DHCP/DHCPv6 options that are not defined by the user
+in /etc/dhcpcd.conf. This does not really change the total on disk size.
+
+## Cross compiling
+If you're cross compiling you may need set the platform if OS is different
+from the host.  
+`--target=sparc-sun-netbsd5.0`
+
+If you're building for an MMU-less system where fork() does not work, you
+should `./configure --disable-fork`.
+This also puts the `--no-background` flag on and stops the `--background` flag
+from working.
+
+## Default directories
+You can change the default dirs with these knobs.
+For example, to satisfy FHS compliance you would do this:
+`./configure --libexecdir=/lib/dhcpcd dbdir=/var/lib/dhcpcd`
+
+## Compile Issues
+We now default to using `-std=c99`. For 64-bit linux, this always works, but
+for 32-bit linux it requires either gnu99 or a patch to `asm/types.h`.
+Most distros patch linux headers so this should work fine.
+linux-2.6.24 finally ships with a working 32-bit header.
+If your linux headers are older, or your distro hasn't patched them you can
+set `CSTD=gnu99` to work around this.
+
+ArchLinux presently sanitises all kernel headers to the latest version
+regardless of the version for your CPU. As such, Arch presently ships a
+3.12 kernel with 3.17 headers which claim that it supports temporary address
+management and no automatic prefix route generation, both of which are
+obviously false. You will have to patch support either in the kernel or
+out of the headers (or dhcpcd itself) to have correct operation.
+
+## OS specific issues
+Some BSD systems do not allow the manipulation of automatically added subnet
+routes. You can find discussion here:
+    http://mail-index.netbsd.org/tech-net/2008/12/03/msg000896.html
+BSD systems where this has been fixed or is known to work are:
+    NetBSD-5.0
+    FreeBSD-10.0
+
+Some BSD systems protect against IPv6 NS/NA messages by ensuring that the
+source address matches a prefix on the recieved by a RA message.
+This is an error as the correct check is for on-link prefixes as the
+kernel may not be handling RA itself.
+BSD systems where this has been fixed or is known to work are:
+    NetBSD-7.0
+    OpenBSD-5.0
+    patch submitted against FreeBSD-10.0
+
+Some BSD systems do not announce IPv6 address flag changes, such as
+`IN6_IFF_TENTATIVE`, `IN6_IFF_DUPLICATED`, etc. On these systems,
+dhcpcd will poll a freshly added address until either `IN6_IFF_TENTATIVE` is
+cleared or `IN6_IFF_DUPLICATED` is set and take action accordingly.
+BSD systems where this has been fixed or is known to work are:
+    NetBSD-7.0
+
+OpenBSD will always add it's own link-local address if no link-local address
+exists, because it doesn't check if the address we are adding is a link-local
+address or not.
+
+Some BSD systems do not announce cached neighbour route changes based
+on reachability to userland. For such systems, IPv6 routers will always
+be assumed to be reachable until they either stop being a router or expire.
+BSD systems where this has been fixed or is known to work are:
+    NetBSD-7.99.3
+
+Linux prior to 3.17 won't allow userland to manage IPv6 temporary addresses.
+Either upgrade or don't allow dhcpcd to manage the RA,
+so don't set either `ipv6ra_own` or `slaac private` in `dhcpcd.conf` if you
+want to have working IPv6 temporary addresses.
+SLAAC private addresses are just as private, just stable.
+
+## Init systems
+We try and detect how dhcpcd should interact with system services at runtime.
+If we cannot auto-detect how do to this, or it is wrong then
+you can change this by passing shell commands to `--serviceexists`,
+`--servicecmd` and optionally `--servicestatus` to `./configure` or overriding
+the service variables in a hook.
+
+
+## /dev management
+Some systems have `/dev` management systems and some of these like to rename
+interfaces. As this system would listen in the same way as dhcpcd to new
+interface arrivals, dhcpcd needs to listen to the `/dev` management sytem
+instead of the kernel. However, if the `/dev` management system breaks, stops
+working, or changes to a new one, dhcpcd should still try and continue to work.
+To facilitate this, dhcpcd allows a plugin to load to instruct dhcpcd when it
+can use an interface. As of the time of writing only udev support is included.
+You can disable this with `--without-dev`, or `without-udev`.
+NOTE: in Gentoo at least, `sys-fs/udev` as provided by systemd leaks memory
+`sys-fs/eudev`, the fork of udev does not and as such is recommended.
+
+## select
+dhcpcd uses eloop.c, which is a portable main event loop with timeouts and
+signal handling. Unlike libevent and similar, it can be transplanted directly
+within the application - the only caveat outside of POSIX calls is that
+you provide queue.h based on a recent BSD (glibc sys/queue.h is not enough).
+eloop supports the following polling mechanisms, listed in order of preference:
+       kqueue, epoll, pollts, ppoll and pselect.
+If signal handling is disabled (ie in RTEMS or other single process
+OS's) then eloop can use poll.
+You can decide which polling mechanism dhcpcd will select in eloop like so
+`./configure --with-poll=[kqueue|epoll|pselect|pollts|ppoll]`
+
+
+## Importing into another source control system
+To prepare dhcpcd for import into a platform source tree (like NetBSD)
+you can use the make import target to create /tmp/dhcpcd-$version and
+populate it with all the source files and hooks needed.
+In this instance, you may wish to disable some configured tests when
+the binary has to run on older versions which lack support, such as getline.
+`./configure --without-getline`
+
+
+## Hooks
+Not all the hooks in dhcpcd-hooks are installed by default.
+By default we install `01-test`, `02-dump`, `10-mtu`, `20-resolv.conf`
+and `30-hostname`.
+The other hooks, `10-wpa_supplicant`, `15-timezone` and `29-lookup-hostname`
+are installed to `$(datadir)/dhcpcd/hooks` by default and need to be
+copied to `$(libexecdir)/dhcpcd-hooks` for use.
+The configure program attempts to find hooks for systems you have installed.
+To add more simply
+`./configure -with-hook=ntp.conf`
+
+Some system services expose the name of the service we are in,
+by default dhcpcd will pick `RC_SVCNAME` from the environment.
+You can override this in `CPPFLAGS+= -DRC_SVCNAME="YOUR_SVCNAME"`.
+This is important because dhcpcd will scrub the environment aside from `$PATH`
+before running hooks.
+This variable could be used to facilitate service re-entry so this chain could
+happen in a custom OS hook:
+  dhcpcd service marked inactive && dhcpcd service starts
+  dependant services are not started because dhcpcd is inactive (not stopped)
+  dhcpcd hook tests if `$if_up = true` and `$af_waiting` is empty or unset.
+  if true, mark the dhcpcd service as started and then start dependencies
+  if false and the dhcpcd service was previously started, mark as inactive and
+     stop any dependant services.
+
diff -r cec13bec1423 -r f76f4a132120 external/bsd/dhcpcd/dist/LICENSE
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/dhcpcd/dist/LICENSE  Fri Mar 31 20:51:14 2017 +0000
@@ -0,0 +1,23 @@
+Copyright (c) 2006-2017 Roy Marples <roy%marples.name@localhost>
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff -r cec13bec1423 -r f76f4a132120 external/bsd/dhcpcd/dist/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/bsd/dhcpcd/dist/Makefile Fri Mar 31 20:51:14 2017 +0000
@@ -0,0 +1,120 @@
+SUBDIRS=       src hooks
+
+VERSION!=      sed -n 's/\#define VERSION[[:space:]]*"\(.*\)".*/\1/p' src/defs.h
+
+DIST!=         if test -f .fslckout; then echo "dist-fossil"; \
+               elif test -d .git; then echo "dist-git"; \
+               else echo "dist-inst"; fi
+FOSSILID?=     current
+GITREF?=       HEAD
+
+DISTPREFIX?=   dhcpcd-${VERSION}
+DISTFILEGZ?=   ${DISTPREFIX}.tar.gz
+DISTFILE?=     ${DISTPREFIX}.tar.xz
+DISTINFO=      ${DISTFILE}.distinfo
+DISTINFOSIGN=  ${DISTINFO}.asc
+
+CLEANFILES+=   *.tar.xz
+
+.PHONY:                hooks import import-bsd test
+
+.SUFFIXES:     .in
+
+all: config.h
+       for x in ${SUBDIRS}; do cd $$x; ${MAKE} $@; cd ..; done
+
+depend: config.h
+       for x in ${SUBDIRS}; do cd $$x; ${MAKE} $@; cd ..; done
+
+test:
+       cd $@; ${MAKE} $@; ./$@
+
+hooks:
+       cd $@; ${MAKE}
+
+eginstall:
+       for x in ${SUBDIRS}; do cd $$x; ${MAKE} $@; cd ..; done
+
+install:
+       for x in ${SUBDIRS}; do cd $$x; ${MAKE} $@; cd ..; done
+
+proginstall:
+       for x in ${SUBDIRS}; do cd $$x; ${MAKE} $@; cd ..; done
+
+clean:
+       rm -rf cov-int
+       for x in ${SUBDIRS} test; do cd $$x; ${MAKE} $@; cd ..; done
+
+distclean: clean
+       rm -f config.h config.mk config.log \
+               ${DISTFILE} ${DISTFILEGZ} ${DISTINFO} ${DISTINFOSIGN}
+
+
+dist-fossil:
+       fossil tarball --name ${DISTPREFIX} ${FOSSILID} ${DISTFILEGZ}
+       gunzip -c ${DISTFILEGZ} | xz >${DISTFILE}
+       rm ${DISTFILEGZ}
+
+dist-git:
+       git archive --prefix=${DISTPREFIX}/ ${GITREF} | xz >${DISTFILE}
+
+dist-inst:
+       mkdir /tmp/${DISTPREFIX}
+       cp -RPp * /tmp/${DISTPREFIX}
+       (cd /tmp/${DISTPREFIX}; make clean)
+       tar -cvjpf ${DISTFILE} -C /tmp ${DISTPREFIX}
+       rm -rf /tmp/${DISTPREFIX}
+
+dist: ${DIST}
+
+distinfo: dist
+       rm -f ${DISTINFO} ${DISTINFOSIGN}
+       ${CKSUM} ${DISTFILE} >${DISTINFO}
+       #printf "SIZE (${DISTFILE}) = %s\n" $$(wc -c <${DISTFILE}) >>${DISTINFO}
+       ${PGP} --clearsign --output=${DISTINFOSIGN} ${DISTINFO}
+       chmod 644 ${DISTINFOSIGN}
+       ls -l ${DISTFILE} ${DISTINFO} ${DISTINFOSIGN}
+
+snapshot:
+       rm -rf /tmp/${DISTPREFIX}
+       ${INSTALL} -d /tmp/${DISTPREFIX}
+       cp -RPp * /tmp/${DISTPREFIX}
+       ${MAKE} -C /tmp/${DISTPREFIX} distclean
+       tar cf - -C /tmp ${DISTPREFIX} | xz >${DISTFILE}
+       ls -l ${DISTFILE}
+
+import: ${SRCS} hooks
+       rm -rf /tmp/${DISTPREFIX}



Home | Main Index | Thread Index | Old Index