Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [pull request v2] Pull request for branch yem-new-packages
@ 2012-12-16 16:56 Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 01/19] package/vde2: new package Yann E. MORIN
                   ` (18 more replies)
  0 siblings, 19 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Hello All!

Here is a re-post of the new packages required to later add QEMU on the
target.

Changes since v1:
  - vde2: do not require C++ (Peter)
  - usbredir: select libusb (Peter)
  - ceph: use 'select' instead of 'depends on'
  - cegui06: add comment

The following changes since commit 3ceffe9659ae4a98a4127812126379a263ab991e:

  dnsmasq: bump to version 2.65 (2012-12-16 14:30:40 +0100)

are available in the git repository at:
  git://gitorious.org/buildroot/buildroot.git yem-new-packages

Yann E. MORIN (19):
      package/vde2: new package
      package/usbredir: new package
      package/celt051: new package
      package/python-pyparsing: new package
      package/cegui06: new package
      package/slirp: new package
      package/spice-protocol: new package
      package/spice: new package
      package/spice: enable client
      package/spice: enable GUI
      package/spice: enable slirp support
      package/libseccomp: new package
      package/keyutils: new package
      package/pmake: add host pmake
      package/libbsd: new package
      package/libedit2: new package
      package/ceph: new package
      package/dtc: new package
      package/dtc: add option to install programs

 package/Config.in                                  |   13 +
 package/cegui06/Config.in                          |   18 +
 package/cegui06/cegui06-stddef.h.patch             |   26 +
 package/cegui06/cegui06.mk                         |   36 +
 package/ceph/Config.in                             |   21 +
 package/ceph/ceph-no-envz.patch                    |   63 +
 package/ceph/ceph-no-getloadavg.patch              |   61 +
 package/ceph/ceph-no-posix_fallocate.patch         |   50 +
 package/ceph/ceph.mk                               |   53 +
 package/dtc/Config.in                              |   29 +
 package/dtc/dtc-extra_cflags.patch                 |   27 +
 package/dtc/dtc-separate-lib-install.patch         |   28 +
 package/dtc/dtc.mk                                 |   51 +
 package/keyutils/Config.in                         |    7 +
 .../keyutils-01-memleak-from-realloc.patch         |   51 +
 package/keyutils/keyutils-02-another-memleak.patch |   32 +
 package/keyutils/keyutils-03-cifs.patch            |   15 +
 .../keyutils-04-Makefile-for-buildroot.patch       |   65 +
 .../keyutils/keyutils-05-fix-install-rule.patch    |   19 +
 package/keyutils/keyutils.mk                       |   32 +
 package/libbsd/Config.in                           |   10 +
 package/libbsd/libbsd.mk                           |   21 +
 package/libedit2/Config.in                         |    9 +
 package/libedit2/libedit2-01-Makefile.patch        |   25 +
 package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 +
 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +
 .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +
 .../libedit2/libedit2-08-readline-history.h.patch  |   20 +
 .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +
 .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 +
 package/libedit2/libedit2-20-fortify.patch         |   23 +
 package/libedit2/libedit2.mk                       |   75 +
 package/libedit2/libedit2.pc                       |   13 +
 package/libseccomp/Config.in                       |   13 +
 ...ibseccomp-use-system-headers-from-sysroot.patch |   17 +
 package/libseccomp/libseccomp.mk                   |   22 +
 package/multimedia/Config.in                       |    1 +
 package/multimedia/celt051/Config.in               |   15 +
 package/multimedia/celt051/celt.mk                 |   30 +
 package/pmake/pmake-100_mk.patch                   | 2624 ++++++++++++++++++++
 package/pmake/pmake-110_mkdep.patch                |  230 ++
 package/pmake/pmake-120_fixes.patch                |  266 ++
 package/pmake/pmake-130_maxpathlen.patch           |   39 +
 package/pmake/pmake-140_multiarch.patch            |  354 +++
 package/pmake/pmake-150_mktemp.patch               |   31 +
 package/pmake/pmake.mk                             |   46 +
 package/python-pyparsing/Config.in                 |   11 +
 package/python-pyparsing/python-pyparsing.mk       |   38 +
 package/slirp/Config.in                            |   25 +
 package/slirp/slirp.mk                             |   21 +
 package/spice-protocol/Config.in                   |   12 +
 package/spice-protocol/spice-protocol.mk           |   14 +
 package/spice/Config.in                            |   51 +
 package/spice/spice.mk                             |   80 +
 package/usbredir/Config.in                         |   29 +
 package/usbredir/usbredir.mk                       |   29 +
 package/vde2/Config.in                             |    8 +
 package/vde2/vde2-no-cxx.patch                     |   22 +
 package/vde2/vde2.mk                               |   39 +
 59 files changed, 5113 insertions(+), 0 deletions(-)
 create mode 100644 package/cegui06/Config.in
 create mode 100644 package/cegui06/cegui06-stddef.h.patch
 create mode 100644 package/cegui06/cegui06.mk
 create mode 100644 package/ceph/Config.in
 create mode 100644 package/ceph/ceph-no-envz.patch
 create mode 100644 package/ceph/ceph-no-getloadavg.patch
 create mode 100644 package/ceph/ceph-no-posix_fallocate.patch
 create mode 100644 package/ceph/ceph.mk
 create mode 100644 package/dtc/Config.in
 create mode 100644 package/dtc/dtc-extra_cflags.patch
 create mode 100644 package/dtc/dtc-separate-lib-install.patch
 create mode 100644 package/dtc/dtc.mk
 create mode 100644 package/keyutils/Config.in
 create mode 100644 package/keyutils/keyutils-01-memleak-from-realloc.patch
 create mode 100644 package/keyutils/keyutils-02-another-memleak.patch
 create mode 100644 package/keyutils/keyutils-03-cifs.patch
 create mode 100644 package/keyutils/keyutils-04-Makefile-for-buildroot.patch
 create mode 100644 package/keyutils/keyutils-05-fix-install-rule.patch
 create mode 100644 package/keyutils/keyutils.mk
 create mode 100644 package/libbsd/Config.in
 create mode 100644 package/libbsd/libbsd.mk
 create mode 100644 package/libedit2/Config.in
 create mode 100644 package/libedit2/libedit2-01-Makefile.patch
 create mode 100644 package/libedit2/libedit2-02-el.c-issetugid.patch
 create mode 100644 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
 create mode 100644 package/libedit2/libedit2-04-readline.h-stdio.patch
 create mode 100644 package/libedit2/libedit2-08-readline-history.h.patch
 create mode 100644 package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
 create mode 100644 package/libedit2/libedit2-12-libedit-Makefile.patch
 create mode 100644 package/libedit2/libedit2-20-fortify.patch
 create mode 100644 package/libedit2/libedit2.mk
 create mode 100644 package/libedit2/libedit2.pc
 create mode 100644 package/libseccomp/Config.in
 create mode 100644 package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch
 create mode 100644 package/libseccomp/libseccomp.mk
 create mode 100644 package/multimedia/celt051/Config.in
 create mode 100644 package/multimedia/celt051/celt.mk
 create mode 100644 package/pmake/pmake-100_mk.patch
 create mode 100644 package/pmake/pmake-110_mkdep.patch
 create mode 100644 package/pmake/pmake-120_fixes.patch
 create mode 100644 package/pmake/pmake-130_maxpathlen.patch
 create mode 100644 package/pmake/pmake-140_multiarch.patch
 create mode 100644 package/pmake/pmake-150_mktemp.patch
 create mode 100644 package/pmake/pmake.mk
 create mode 100644 package/python-pyparsing/Config.in
 create mode 100644 package/python-pyparsing/python-pyparsing.mk
 create mode 100644 package/slirp/Config.in
 create mode 100644 package/slirp/slirp.mk
 create mode 100644 package/spice-protocol/Config.in
 create mode 100644 package/spice-protocol/spice-protocol.mk
 create mode 100644 package/spice/Config.in
 create mode 100644 package/spice/spice.mk
 create mode 100644 package/usbredir/Config.in
 create mode 100644 package/usbredir/usbredir.mk
 create mode 100644 package/vde2/Config.in
 create mode 100644 package/vde2/vde2-no-cxx.patch
 create mode 100644 package/vde2/vde2.mk

Regards,
Yann E. MORIN

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 01/19] package/vde2: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 19:31   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 02/19] package/usbredir: " Yann E. MORIN
                   ` (17 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

VDE is an ethernet compliant virtual network that can be
spawned over a set of physical computer over the Internet.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
 package/Config.in              |    1 +
 package/vde2/Config.in         |    8 ++++++++
 package/vde2/vde2-no-cxx.patch |   22 ++++++++++++++++++++++
 package/vde2/vde2.mk           |   39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 70 insertions(+), 0 deletions(-)
 create mode 100644 package/vde2/Config.in
 create mode 100644 package/vde2/vde2-no-cxx.patch
 create mode 100644 package/vde2/vde2.mk

diff --git a/package/Config.in b/package/Config.in
index c605e6f..70a572b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -675,6 +675,7 @@ source "package/ttcp/Config.in"
 source "package/udpcast/Config.in"
 source "package/ulogd/Config.in"
 source "package/ushare/Config.in"
+source "package/vde2/Config.in"
 source "package/vpnc/Config.in"
 source "package/vsftpd/Config.in"
 source "package/vtun/Config.in"
diff --git a/package/vde2/Config.in b/package/vde2/Config.in
new file mode 100644
index 0000000..f069a79
--- /dev/null
+++ b/package/vde2/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_VDE2
+	bool "vde2"
+	help
+	  VDE is an ethernet compliant virtual network that can be
+	  spawned over a set of physical computers over the Internet.
+	  VDE is part of the virtualsquare project.
+	  
+	  http://vde.sourceforge.net/
diff --git a/package/vde2/vde2-no-cxx.patch b/package/vde2/vde2-no-cxx.patch
new file mode 100644
index 0000000..67cefa2
--- /dev/null
+++ b/package/vde2/vde2-no-cxx.patch
@@ -0,0 +1,22 @@
+configure: do not test for CXX, it's not needed
+
+There is no C++ source file, so no reason to require a C++ compiler.
+
+Reported-by: Peter Korsgaard <jacmet@uclibc.org>
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch sent upstream
+( not yet in archives, awaits moderator approval... :-/ )
+
+diff -durN vde2-2.3.2.orig/configure.ac vde2-2.3.2/configure.ac
+--- vde2-2.3.2.orig/configure.ac	2011-11-23 17:41:19.000000000 +0100
++++ vde2-2.3.2/configure.ac	2012-12-14 21:56:47.146319686 +0100
+@@ -11,7 +11,6 @@
+ AC_CONFIG_LIBOBJ_DIR(src/common)
+ 
+ # Checks for programs.
+-AC_PROG_CXX
+ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_LN_S
diff --git a/package/vde2/vde2.mk b/package/vde2/vde2.mk
new file mode 100644
index 0000000..cb85f57
--- /dev/null
+++ b/package/vde2/vde2.mk
@@ -0,0 +1,39 @@
+#############################################################
+#
+# vde2
+#
+#############################################################
+
+VDE2_VERSION         = 2.3.2
+VDE2_SOURCE          = vde2-$(VDE2_VERSION).tar.bz2
+VDE2_SITE            = http://downloads.sourceforge.net/project/vde/vde2/$(VDE2_VERSION)
+VDE2_LICENSE         = GPLv2+ LGPLv2.1+ BSD-3c
+VDE2_LICENSE_FILES   = COPYING COPYING.libvdeplug COPYING.slirpvde
+VDE2_INSTALL_STAGING = YES
+
+# We touch configure.ac, so we need to autoreconf
+VDE2_AUTORECONF      = YES
+
+# Reasons for enabling/disabling stuff:
+#?- tuntap is enabled in the hope we're using a recent-enough toolchain
+#   that does have if_tun.h (virtually everything these days)
+# - kvde_switch is disabled because it requires a patched kernel
+# - cryptcab is disabled to not depend on openSSL
+# - python is disabled to not depend on Python
+# - pcap is disabled to not depend on libpcap
+# - profiling is disabled because we do not want to debug/profile
+#
+# Note: disabled features can be added with corresponding dependencies
+#       in future commits.
+VDE2_CONF_OPT = --disable-experimental  \
+                --disable-cryptcab      \
+                --disable-pcap          \
+                --disable-python        \
+                --disable-profile       \
+                --disable-kernel-switch \
+                --enable-tuntap         \
+
+#?Package does not build in parallel due to improper make rules
+VDE2_MAKE = $(MAKE1)
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 02/19] package/usbredir: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 01/19] package/vde2: new package Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 19:31   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 03/19] package/celt051: " Yann E. MORIN
                   ` (16 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
 package/Config.in            |    1 +
 package/usbredir/Config.in   |   29 +++++++++++++++++++++++++++++
 package/usbredir/usbredir.mk |   29 +++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+), 0 deletions(-)
 create mode 100644 package/usbredir/Config.in
 create mode 100644 package/usbredir/usbredir.mk

diff --git a/package/Config.in b/package/Config.in
index 70a572b..1ed77e0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -494,6 +494,7 @@ source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
 source "package/nss-mdns/Config.in"
 source "package/ortp/Config.in"
+source "package/usbredir/Config.in"
 source "package/zeromq/Config.in"
 endmenu
 
diff --git a/package/usbredir/Config.in b/package/usbredir/Config.in
new file mode 100644
index 0000000..e2a7184
--- /dev/null
+++ b/package/usbredir/Config.in
@@ -0,0 +1,29 @@
+comment "usbredir needs a toolchain with threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_USBREDIR
+	bool "usbredir"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	select BR2_PACKAGE_LIBUSB
+	help
+	  usbredir is the name of a network protocol for sending usb device
+	  traffic over a network connection. It is also the name of the
+	  software package offering a parsing library, a usbredirhost library
+	  and several utilities implementing this protocol.
+	  
+	  Note: only the library is installed, not the utilities. Say 'y'
+	  below if you want the server too.
+	  
+	  http://www.spice-space.org/page/UsbRedir
+
+if BR2_PACKAGE_USBREDIR
+
+config BR2_PACKAGE_USBREDIR_SERVER
+	bool "usbredirserver on target"
+	help
+	  If you want to serve usbredir requests on your target, say 'y'
+	  here to have the usbredir server on the target.
+	  
+	  Note: the server is not required to use the library.
+
+endif
diff --git a/package/usbredir/usbredir.mk b/package/usbredir/usbredir.mk
new file mode 100644
index 0000000..ac98472
--- /dev/null
+++ b/package/usbredir/usbredir.mk
@@ -0,0 +1,29 @@
+#############################################################
+#
+# usbredir
+#
+#############################################################
+
+USBREDIR_VERSION         = 0.4.3
+USBREDIR_SOURCE          = usbredir-$(USBREDIR_VERSION).tar.bz2
+USBREDIR_SITE            = http://spice-space.org/download/usbredir
+USBREDIR_LICENSE         = LGPLv2.1+
+USBREDIR_LICENSE_FILES   = COPYING.LIB
+USBREDIR_INSTALL_STAGING = YES
+USBREDIR_DEPENDENCIES    = host-pkgconf libusb
+
+ifeq ($(BR2_PACKAGE_USBREDIR_SERVER),y)
+
+USBREDIR_LICENSE         += (for the library), GPLv2+ (for the server)
+USBREDIR_LICENSE_FILES   += COPYING
+
+else # BR2_PACKAGE_USBREDIR_SERVER != y
+
+define USBREDIR_POST_INSTALL_TARGET_RM_SERVER
+	rm -f $(TARGET_DIR)/usr/sbin/usbredirserver
+endef
+USBREDIR_POST_INSTALL_TARGET_HOOKS += USBREDIR_POST_INSTALL_TARGET_RM_SERVER
+
+endif # BR2_PACKAGE_USBREDIR_SERVER
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 03/19] package/celt051: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 01/19] package/vde2: new package Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 02/19] package/usbredir: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 19:36   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 04/19] package/python-pyparsing: " Yann E. MORIN
                   ` (15 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/multimedia/Config.in         |    1 +
 package/multimedia/celt051/Config.in |   15 +++++++++++++++
 package/multimedia/celt051/celt.mk   |   30 ++++++++++++++++++++++++++++++
 3 files changed, 46 insertions(+), 0 deletions(-)
 create mode 100644 package/multimedia/celt051/Config.in
 create mode 100644 package/multimedia/celt051/celt.mk

diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
index 273d9bc..5e8d60c 100644
--- a/package/multimedia/Config.in
+++ b/package/multimedia/Config.in
@@ -2,6 +2,7 @@ menu "Audio and video applications"
 source "package/multimedia/alsa-utils/Config.in"
 source "package/multimedia/aumix/Config.in"
 source "package/multimedia/bellagio/Config.in"
+source "package/multimedia/celt051/Config.in"
 source "package/multimedia/faad2/Config.in"
 source "package/multimedia/flac/Config.in"
 source "package/multimedia/ffmpeg/Config.in"
diff --git a/package/multimedia/celt051/Config.in b/package/multimedia/celt051/Config.in
new file mode 100644
index 0000000..50ed069
--- /dev/null
+++ b/package/multimedia/celt051/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_CELT051
+	bool "celt051"
+	select BR2_PACKAGE_LIBOGG
+	help
+	  The CELT ultra-low delay audio codec
+	  
+	  The CELT codec is a compression algorithm for audio. Like MP3,
+	  Vorbis, and AAC it is suitable for transmitting music with high
+	  quality. Unlike these formats CELT imposes very little delay on
+	  the signal, even less than is typical for speech centric formats
+	  like Speex, GSM, or G.729.
+	  
+	  Note: this is version 0.5.1.3 of celt.
+	  
+	  http://www.celt-codec.org/
diff --git a/package/multimedia/celt051/celt.mk b/package/multimedia/celt051/celt.mk
new file mode 100644
index 0000000..9baaa82
--- /dev/null
+++ b/package/multimedia/celt051/celt.mk
@@ -0,0 +1,30 @@
+#############################################################
+#
+# celt051
+#
+#############################################################
+
+# Although version newer than 0.5.1.3 exists, we're
+# stuck with 0.5.1.3 for use by Spice (coming later)
+CELT051_VERSION         = 0.5.1.3
+CELT051_SOURCE          = celt-$(CELT051_VERSION).tar.gz
+CELT051_SITE            = http://downloads.xiph.org/releases/celt
+CELT051_LICENSE         = BSD-2c
+CELT051_LICENSE_FILES   = COPYING
+CELT051_INSTALL_STAGING = YES
+CELT051_DEPENDENCIES    = libogg
+
+# Need to specify --with-ogg, otherwise /usr/lib may be searched for
+# if target is the same kind as host (ie. same arch, same bitness,
+# same endianness, so that /usr/lib contains libraries linkable by
+# our cross-compiler)
+CELT051_CONF_OPT =                  \
+  --enable-fixed-point              \
+  --disable-fixed-point-debug       \
+  --disable-experimental-postfilter \
+  --disable-static-modes            \
+  --disable-assertions              \
+  --disable-oggtest                 \
+  --with-ogg=$(STAGING_DIR)/usr     \
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 04/19] package/python-pyparsing: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (2 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 03/19] package/celt051: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 19:52   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 05/19] package/cegui06: " Yann E. MORIN
                   ` (14 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                            |    1 +
 package/python-pyparsing/Config.in           |   11 +++++++
 package/python-pyparsing/python-pyparsing.mk |   38 ++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 0 deletions(-)
 create mode 100644 package/python-pyparsing/Config.in
 create mode 100644 package/python-pyparsing/python-pyparsing.mk

diff --git a/package/Config.in b/package/Config.in
index 1ed77e0..f8395e9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -309,6 +309,7 @@ source "package/python-netifaces/Config.in"
 source "package/python-nfc/Config.in"
 source "package/python-protobuf/Config.in"
 source "package/python-pygame/Config.in"
+source "package/python-pyparsing/Config.in"
 source "package/python-serial/Config.in"
 source "package/python-setuptools/Config.in"
 endmenu
diff --git a/package/python-pyparsing/Config.in b/package/python-pyparsing/Config.in
new file mode 100644
index 0000000..126dd0e
--- /dev/null
+++ b/package/python-pyparsing/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PYTHON_PYPARSING
+	bool "pyparsing"
+	depends on BR2_PACKAGE_PYTHON
+	help
+	  The pyparsing module is an alternative approach to creating and
+	  executing simple grammars, vs. the traditional lex/yacc approach,
+	  or the use of regular expressions. The pyparsing module provides
+	  a library of classes that client code uses to construct the grammar
+	  directly in Python code.
+	  
+	  http://pyparsing.wikispaces.com/
diff --git a/package/python-pyparsing/python-pyparsing.mk b/package/python-pyparsing/python-pyparsing.mk
new file mode 100644
index 0000000..246df4d
--- /dev/null
+++ b/package/python-pyparsing/python-pyparsing.mk
@@ -0,0 +1,38 @@
+#############################################################
+#
+# python-pyparsing
+#
+#############################################################
+
+PYTHON_PYPARSING_VERSION         = 1.5.6
+PYTHON_PYPARSING_SOURCE          = pyparsing-$(PYTHON_PYPARSING_VERSION).tar.gz
+PYTHON_PYPARSING_SITE            = http://downloads.sourceforge.net/project/pyparsing/pyparsing/pyparsing-$(PYTHON_PYPARSING_VERSION)
+PYTHON_PYPARSING_LICENSE         = MIT
+PYTHON_PYPARSING_LICENSE_FILES   = LICENSE
+PYTHON_PYPARSING_INSTALL_STAGING = YES
+PYTHON_PYPARSING_DEPENDENCIES    = python
+
+# Shamelessly vampirised from python-pygame ;-)
+define PYTHON_PYPARSING_BUILD_CMDS
+	(cd $(@D);                                              \
+	 CC="$(TARGET_CC)"                                      \
+	 CFLAGS="$(TARGET_CFLAGS)"                              \
+	 LDSHARED="$(TARGET_CROSS)gcc -shared"                  \
+	 CROSS_COMPILING=yes                                    \
+	 _python_sysroot=$(STAGING_DIR)                         \
+	 _python_srcdir=$(BUILD_DIR)/python$(PYTHON_VERSION)    \
+	 _python_prefix=/usr                                    \
+	 _python_exec_prefix=/usr                               \
+	 $(HOST_DIR)/usr/bin/python setup.py build              \
+	)
+endef
+
+# Shamelessly vampirised from python-pygame ;-)
+define PYTHON_PYPARSING_INSTALL_TARGET_CMDS
+	(cd $(@D);                                              \
+	 $(HOST_DIR)/usr/bin/python setup.py install            \
+	                            --prefix=$(TARGET_DIR)/usr  \
+	)
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 05/19] package/cegui06: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (3 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 04/19] package/python-pyparsing: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:00   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 06/19] package/slirp: " Yann E. MORIN
                   ` (13 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Although there are more recent versions of CEGUI, we are stuck
with 0.6.2b for use by spice.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
---
 package/Config.in                      |    1 +
 package/cegui06/Config.in              |   18 ++++++++++++++++
 package/cegui06/cegui06-stddef.h.patch |   26 +++++++++++++++++++++++
 package/cegui06/cegui06.mk             |   36 ++++++++++++++++++++++++++++++++
 4 files changed, 81 insertions(+), 0 deletions(-)
 create mode 100644 package/cegui06/Config.in
 create mode 100644 package/cegui06/cegui06-stddef.h.patch
 create mode 100644 package/cegui06/cegui06.mk

diff --git a/package/Config.in b/package/Config.in
index f8395e9..06ae57c 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -109,6 +109,7 @@ comment "Graphic applications"
 source "package/rrdtool/Config.in"
 
 comment "graphic libraries"
+source "package/cegui06/Config.in"
 source "package/directfb/Config.in"
 source "package/directfb-examples/Config.in"
 source "package/divine/Config.in"
diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in
new file mode 100644
index 0000000..7648922
--- /dev/null
+++ b/package/cegui06/Config.in
@@ -0,0 +1,18 @@
+comment "cegui06 needs a toolchain with threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_CEGUI06
+	bool "cegui06"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_FREETYPE
+	select BR2_PACKAGE_PCRE
+	help
+	  Crazy Eddie's GUI System is a free library providing windowing and
+	  widgets for graphics APIs / engines where such functionality is not
+	  natively available, or severely lacking. The library is object
+	  orientated, written in C++, and targeted at games developers who
+	  should be spending their time creating great games, not building
+	  GUI sub-systems!
+	  
+	  http://www.cegui.org.uk/
diff --git a/package/cegui06/cegui06-stddef.h.patch b/package/cegui06/cegui06-stddef.h.patch
new file mode 100644
index 0000000..cc16eff
--- /dev/null
+++ b/package/cegui06/cegui06-stddef.h.patch
@@ -0,0 +1,26 @@
+includes: ptrdiff_t is defined in stddef.h
+
+ptrdiff_t is defined in the stddef.h header, so this
+header must be included.
+
+Do the #include in a common header to avoid doing it
+all over the place.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch not sent upstream, it's a no-longer-maintained branch.
+To be noted, however, is that the current devel branch is
+still missing that include.
+
+diff -durN cegui06-0.6.2.orig/include/CEGUIBase.h cegui06-0.6.2/include/CEGUIBase.h
+--- cegui06-0.6.2.orig//include/CEGUIBase.h	2008-02-11 15:38:27.000000000 +0100
++++ cegui06-0.6.2/include/CEGUIBase.h	2012-08-19 22:51:50.260385978 +0200
+@@ -34,6 +34,7 @@
+ #define _CEGUIBase_h_
+ 
+ #include <cassert>
++#include <stddef.h>
+ 
+ // bring in configuration options
+ #include "CEGUIConfig.h"
diff --git a/package/cegui06/cegui06.mk b/package/cegui06/cegui06.mk
new file mode 100644
index 0000000..817254f
--- /dev/null
+++ b/package/cegui06/cegui06.mk
@@ -0,0 +1,36 @@
+#############################################################
+#
+# libcegui
+#
+#############################################################
+
+# Do not update the version, we need exactly that one for Spice.
+CEGUI06_VERSION_MAJOR   = 0.6.2
+CEGUI06_VERSION         = $(CEGUI06_VERSION_MAJOR)b
+CEGUI06_SOURCE          = CEGUI-$(CEGUI06_VERSION).tar.gz
+CEGUI06_SITE            = http://downloads.sourceforge.net/project/crayzedsgui/CEGUI%20Mk-2/$(CEGUI06_VERSION_MAJOR)
+CEGUI06_LICENSE         = MIT
+CEGUI06_LICENSE_FILES   = COPYING
+CEGUI06_INSTALL_STAGING = YES
+
+CEGUI06_DEPENDENCIES    =       \
+    expat                       \
+    freetype                    \
+    pcre                        \
+
+CEGUI06_CONF_OPT =              \
+    --enable-expat              \
+    --disable-external-tinyxml  \
+    --disable-xerces-c          \
+    --disable-libxml            \
+    --disable-tinyxml           \
+    --disable-opengl-renderer   \
+    --disable-external-glew     \
+    --disable-irrlicht-renderer \
+    --disable-directfb-renderer \
+    --disable-samples           \
+    --disable-lua-module        \
+    --disable-toluacegui        \
+    --disable-external-toluapp  \
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 06/19] package/slirp: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (4 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 05/19] package/cegui06: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:30   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 07/19] package/spice-protocol: " Yann E. MORIN
                   ` (12 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in       |    1 +
 package/slirp/Config.in |   25 +++++++++++++++++++++++++
 package/slirp/slirp.mk  |   21 +++++++++++++++++++++
 3 files changed, 47 insertions(+), 0 deletions(-)
 create mode 100644 package/slirp/Config.in
 create mode 100644 package/slirp/slirp.mk

diff --git a/package/Config.in b/package/Config.in
index 06ae57c..fc408c8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -496,6 +496,7 @@ source "package/libupnp/Config.in"
 source "package/libvncserver/Config.in"
 source "package/nss-mdns/Config.in"
 source "package/ortp/Config.in"
+source "package/slirp/Config.in"
 source "package/usbredir/Config.in"
 source "package/zeromq/Config.in"
 endmenu
diff --git a/package/slirp/Config.in b/package/slirp/Config.in
new file mode 100644
index 0000000..dedded3
--- /dev/null
+++ b/package/slirp/Config.in
@@ -0,0 +1,25 @@
+config BR2_PACKAGE_SLIRP
+	bool "slirp"
+	help
+	  The Spice project aims to provide a complete open source
+	  solution for interaction with virtualized desktop devices.
+	  The Spice project deals with both the virtualized devices
+	  and the front-end. Interaction between front-end and
+	  back-end is done using VD-Interfaces.
+	  
+	  This package implements the slirp-part for Spice.
+	  Slirp emulates a PPP or SLIP connection over a normal terminal.
+	  
+	  http://www.spice-space.org/
+	  
+	  NOTE:
+	  This package has some history of a unique kind:
+	    - originally developped as 'slirp' by Danny Gasparovski, and
+	      seemingly abandonned (developper /disapeared/)
+	    - then re-maintained at sourceforge by "Kelly", up to some
+	      time around 2009: http://slirp.sourceforge.net/
+	    - during that period, QEMU (Fabrice BELLARD) forked the code
+	      and included it in QEMU
+	    - and it was imported from this breed by the Spice project
+	      around May 2009
+	    - which is what we use here
diff --git a/package/slirp/slirp.mk b/package/slirp/slirp.mk
new file mode 100644
index 0000000..b3f4bcd
--- /dev/null
+++ b/package/slirp/slirp.mk
@@ -0,0 +1,21 @@
+#############################################################
+#
+# Spice-slirp
+#
+#############################################################
+
+# There's no tarball releases of slirp, so we use the git repo
+# Also, there's no tag, so we use a random SHA1 (master's HEAD
+# of today)
+SLIRP_VERSION         = 8c2da74c1385242f20799fec8c04f8378edc6550
+SLIRP_SITE            = git://anongit.freedesktop.org/spice/slirp
+SLIRP_LICENSE         = BSD-4c BSD-2c
+# Note: The license file 'COPYRIGHT' is missing from the sources,
+# although some files refer to it.
+SLIRP_INSTALL_STAGING = YES
+
+# As we're using the git tree, there's no ./configure,
+# so we need to autoreconf.
+SLIRP_AUTORECONF      = YES
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 07/19] package/spice-protocol: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (5 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 06/19] package/slirp: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:31   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 08/19] package/spice: " Yann E. MORIN
                   ` (11 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
 package/Config.in                        |    1 +
 package/spice-protocol/Config.in         |   12 ++++++++++++
 package/spice-protocol/spice-protocol.mk |   14 ++++++++++++++
 3 files changed, 27 insertions(+), 0 deletions(-)
 create mode 100644 package/spice-protocol/Config.in
 create mode 100644 package/spice-protocol/spice-protocol.mk

diff --git a/package/Config.in b/package/Config.in
index fc408c8..3817568 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -664,6 +664,7 @@ source "package/ser2net/Config.in"
 source "package/socat/Config.in"
 source "package/socketcand/Config.in"
 source "package/spawn-fcgi/Config.in"
+source "package/spice-protocol/Config.in"
 source "package/squid/Config.in"
 source "package/stunnel/Config.in"
 source "package/tcpdump/Config.in"
diff --git a/package/spice-protocol/Config.in b/package/spice-protocol/Config.in
new file mode 100644
index 0000000..b354361
--- /dev/null
+++ b/package/spice-protocol/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_SPICE_PROTOCOL
+	bool "spice protocol"
+	help
+	  The Spice project aims to provide a complete open source
+	  solution for interaction with virtualized desktop devices.
+	  The Spice project deals with both the virtualized devices
+	  and the front-end. Interaction between front-end and
+	  back-end is done using VD-Interfaces.
+	  
+	  This package implements the protocol-part of Spice.
+	  
+	  http://www.spice-space.org/
diff --git a/package/spice-protocol/spice-protocol.mk b/package/spice-protocol/spice-protocol.mk
new file mode 100644
index 0000000..dcfe50d
--- /dev/null
+++ b/package/spice-protocol/spice-protocol.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# Spice-protocol
+#
+#############################################################
+
+SPICE_PROTOCOL_VERSION         = 0.12.2
+SPICE_PROTOCOL_SOURCE          = spice-protocol-$(SPICE_PROTOCOL_VERSION).tar.bz2
+SPICE_PROTOCOL_SITE            = http://www.spice-space.org/download/releases/
+SPICE_PROTOCOL_LICENSE         = BSD-3c
+SPICE_PROTOCOL_LICENSE_FILES   = COPYING
+SPICE_PROTOCOL_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 08/19] package/spice: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (6 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 07/19] package/spice-protocol: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:33   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 09/19] package/spice: enable client Yann E. MORIN
                   ` (10 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in       |    1 +
 package/spice/Config.in |   23 +++++++++++++++++
 package/spice/spice.mk  |   62 +++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 0 deletions(-)
 create mode 100644 package/spice/Config.in
 create mode 100644 package/spice/spice.mk

diff --git a/package/Config.in b/package/Config.in
index 3817568..eff2887 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -665,6 +665,7 @@ source "package/socat/Config.in"
 source "package/socketcand/Config.in"
 source "package/spawn-fcgi/Config.in"
 source "package/spice-protocol/Config.in"
+source "package/spice/Config.in"
 source "package/squid/Config.in"
 source "package/stunnel/Config.in"
 source "package/tcpdump/Config.in"
diff --git a/package/spice/Config.in b/package/spice/Config.in
new file mode 100644
index 0000000..086b1bc
--- /dev/null
+++ b/package/spice/Config.in
@@ -0,0 +1,23 @@
+comment "spice server depends on python (for pyparsing)"
+	depends on !BR2_PACKAGE_PYTHON
+
+config BR2_PACKAGE_SPICE
+	bool "spice server"
+	depends on BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_ALSA_LIB
+	select BR2_PACKAGE_CELT051
+	select BR2_PACKAGE_JPEG
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_PIXMAN
+	select BR2_PACKAGE_PYTHON_PYPARSING
+	select BR2_PACKAGE_SPICE_PROTOCOL
+	help
+	  The Spice project aims to provide a complete open source
+	  solution for interaction with virtualized desktop devices.
+	  The Spice project deals with both the virtualized devices
+	  and the front-end. Interaction between front-end and
+	  back-end is done using VD-Interfaces.
+	  
+	  This package implements the server-part of Spice.
+	  
+	  http://www.spice-space.org/
diff --git a/package/spice/spice.mk b/package/spice/spice.mk
new file mode 100644
index 0000000..2752b8a
--- /dev/null
+++ b/package/spice/spice.mk
@@ -0,0 +1,62 @@
+#############################################################
+#
+# Spice
+#
+#############################################################
+
+SPICE_VERSION         = 0.12.0
+SPICE_SOURCE          = spice-$(SPICE_VERSION).tar.bz2
+SPICE_SITE            = http://www.spice-space.org/download/releases/
+SPICE_LICENSE         = LGPLv2.1+
+SPICE_LICENSE_FILES   = COPYING
+SPICE_INSTALL_STAGING = YES
+SPICE_DEPENDENCIES    = \
+    alsa-lib            \
+    celt051             \
+    jpeg                \
+    openssl             \
+    pixman              \
+    python-pyparsing    \
+    spice-protocol      \
+
+# We disable everything for now, because the dependency tree can become
+# quite deep if we try to enable some features, and I have not tested that.
+SPICE_CONF_OPT =            \
+  --disable-tunnel          \
+  --disable-gui             \
+  --disable-opengl          \
+  --disable-smartcard       \
+  --disable-client          \
+  --disable-automated-tests \
+  --without-sasl            \
+
+SPICE_DEPENDENCIES += host-pkgconf
+
+SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
+
+# We need to tweak spice.pc because it /forgets/ (for static linking) that
+# it should link against libz and libjpeg. libz is pkg-config-aware, while
+# libjpeg isn't, hence the two-line tweak
+define SPICE_POST_INSTALL_STAGING_FIX_PC
+	$(SED) 's/^\(Requires.private:.*\)$$/\1 zlib/; s/^\(Libs.private:.*\)$$/\1 -ljpeg/;'    \
+	       "$(STAGING_DIR)/usr/lib/pkgconfig/spice-server.pc"
+endef
+SPICE_POST_INSTALL_STAGING_HOOKS += SPICE_POST_INSTALL_STAGING_FIX_PC
+
+# It is currently not possible to detect if stack-protection is available
+# or not, because it requires support from both the compiler *and* the
+# C library, but the C library (eg. uClibc) can be compiled without that
+# support, even if gcc accepts the -fstack-protector-all option.
+# spice's ./configure only checks for gcc's -fstack-protector-all option,
+# so it misses the case where the C library doe not provide the requires
+# support.
+# A correct fix would be to fix spice's ./configure to also check the C
+# library, but it might be much more involved.
+# So, we simply disable it for now. After all, as uClibc's help puts it:
+#     Note that NOEXECSTACK on a kernel with address space randomization
+#     is generally sufficient to prevent most buffer overflow exploits
+#     without increasing code size.
+SPICE_CONF_OPT += gl_cv_warn__fstack_protector_all=no
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 09/19] package/spice: enable client
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (7 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 08/19] package/spice: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:34   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 10/19] package/spice: enable GUI Yann E. MORIN
                   ` (9 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/spice/Config.in |   13 +++++++++++++
 package/spice/spice.mk  |    8 +++++++-
 2 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/package/spice/Config.in b/package/spice/Config.in
index 086b1bc..aacc779 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -21,3 +21,16 @@ config BR2_PACKAGE_SPICE
 	  This package implements the server-part of Spice.
 	  
 	  http://www.spice-space.org/
+
+if BR2_PACKAGE_SPICE
+
+comment "client depends on X.org"
+	depends on !BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_SPICE_CLIENT
+	bool "Enable client"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXFIXES
+	select BR2_PACKAGE_XLIB_LIBXRANDR
+
+endif # BR2_PACKAGE_SPICE
diff --git a/package/spice/spice.mk b/package/spice/spice.mk
index 2752b8a..2f7fc20 100644
--- a/package/spice/spice.mk
+++ b/package/spice/spice.mk
@@ -26,12 +26,18 @@ SPICE_CONF_OPT =            \
   --disable-gui             \
   --disable-opengl          \
   --disable-smartcard       \
-  --disable-client          \
   --disable-automated-tests \
   --without-sasl            \
 
 SPICE_DEPENDENCIES += host-pkgconf
 
+ifeq ($(BR2_PACKAGE_SPICE_CLIENT),y)
+SPICE_CONF_OPT += --enable-client
+SPICE_DEPENDENCIES += xlib_libXfixes xlib_libXrandr
+else
+SPICE_CONF_OPT += --disable-client
+endif
+
 SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 10/19] package/spice: enable GUI
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (8 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 09/19] package/spice: enable client Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:35   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 11/19] package/spice: enable slirp support Yann E. MORIN
                   ` (8 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/spice/Config.in |    8 ++++++++
 package/spice/spice.mk  |    8 +++++++-
 2 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/package/spice/Config.in b/package/spice/Config.in
index aacc779..08c3893 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -33,4 +33,12 @@ config BR2_PACKAGE_SPICE_CLIENT
 	select BR2_PACKAGE_XLIB_LIBXFIXES
 	select BR2_PACKAGE_XLIB_LIBXRANDR
 
+config BR2_PACKAGE_SPICE_GUI
+	bool "Enable GUI"
+	depends on BR2_PACKAGE_SPICE_CLIENT
+	select BR2_PACKAGE_CEGUI06
+	help
+	  Say 'y' here to enable the Graphical User Interface (GUI)
+	  start dialog.
+
 endif # BR2_PACKAGE_SPICE
diff --git a/package/spice/spice.mk b/package/spice/spice.mk
index 2f7fc20..0a5c58e 100644
--- a/package/spice/spice.mk
+++ b/package/spice/spice.mk
@@ -23,7 +23,6 @@ SPICE_DEPENDENCIES    = \
 # quite deep if we try to enable some features, and I have not tested that.
 SPICE_CONF_OPT =            \
   --disable-tunnel          \
-  --disable-gui             \
   --disable-opengl          \
   --disable-smartcard       \
   --disable-automated-tests \
@@ -38,6 +37,13 @@ else
 SPICE_CONF_OPT += --disable-client
 endif
 
+ifeq ($(BR2_PACKAGE_SPICE_GUI),y)
+SPICE_CONF_OPT += --enable-gui
+SPICE_DEPENDENCIES += cegui06
+else
+SPICE_CONF_OPT += --disable-gui
+endif
+
 SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 11/19] package/spice: enable slirp support
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (9 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 10/19] package/spice: enable GUI Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:35   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 12/19] package/libseccomp: new package Yann E. MORIN
                   ` (7 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/spice/Config.in |    7 +++++++
 package/spice/spice.mk  |    8 +++++++-
 2 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/package/spice/Config.in b/package/spice/Config.in
index 08c3893..b1e187a 100644
--- a/package/spice/Config.in
+++ b/package/spice/Config.in
@@ -41,4 +41,11 @@ config BR2_PACKAGE_SPICE_GUI
 	  Say 'y' here to enable the Graphical User Interface (GUI)
 	  start dialog.
 
+config BR2_PACKAGE_SPICE_TUNNEL
+	bool "Enable network redirection"
+	select BR2_PACKAGE_SLIRP
+	help
+	  Say 'y' here to enable network redirection, aka tunnelling
+	  through a SLIP/SLIRP session.
+
 endif # BR2_PACKAGE_SPICE
diff --git a/package/spice/spice.mk b/package/spice/spice.mk
index 0a5c58e..78ca202 100644
--- a/package/spice/spice.mk
+++ b/package/spice/spice.mk
@@ -22,7 +22,6 @@ SPICE_DEPENDENCIES    = \
 # We disable everything for now, because the dependency tree can become
 # quite deep if we try to enable some features, and I have not tested that.
 SPICE_CONF_OPT =            \
-  --disable-tunnel          \
   --disable-opengl          \
   --disable-smartcard       \
   --disable-automated-tests \
@@ -44,6 +43,13 @@ else
 SPICE_CONF_OPT += --disable-gui
 endif
 
+ifeq ($(BR2_PACKAGE_SPICE_TUNNEL),y)
+SPICE_CONF_OPT += --enable-tunnel
+SPICE_DEPENDENCIES += slirp
+else
+SPICE_CONF_OPT += --disable-tunnel
+endif
+
 SPICE_CONF_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 SPICE_MAKE_ENV = PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 12/19] package/libseccomp: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (10 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 11/19] package/spice: enable slirp support Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:38   ` Peter Korsgaard
  2012-12-16 22:19   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN
                   ` (6 subsequent siblings)
  18 siblings, 2 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |    1 +
 package/libseccomp/Config.in                       |   13 +++++++++++
 ...ibseccomp-use-system-headers-from-sysroot.patch |   17 +++++++++++++++
 package/libseccomp/libseccomp.mk                   |   22 ++++++++++++++++++++
 4 files changed, 53 insertions(+), 0 deletions(-)
 create mode 100644 package/libseccomp/Config.in
 create mode 100644 package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch
 create mode 100644 package/libseccomp/libseccomp.mk

diff --git a/package/Config.in b/package/Config.in
index eff2887..2f67d10 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -523,6 +523,7 @@ source "package/libical/Config.in"
 source "package/libnspr/Config.in"
 source "package/libsigc/Config.in"
 source "package/libtpl/Config.in"
+source "package/libseccomp/Config.in"
 source "package/liburcu/Config.in"
 source "package/linux-pam/Config.in"
 source "package/lttng-libust/Config.in"
diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in
new file mode 100644
index 0000000..183cf4e
--- /dev/null
+++ b/package/libseccomp/Config.in
@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LIBSECCOMP
+	bool "libseccomp"
+	help
+	  High level interface to the Linux Kernel's seccomp filter 
+	  
+	  The libseccomp library provides and easy to use, platform independent,
+	  interface to the Linux Kernel's syscall filtering mechanism: seccomp.
+	  The libseccomp API is designed to abstract away the underlying BPF
+	  based syscall filter language and present a more conventional
+	  function-call based filtering interface that should be familiar to,
+	  and easily adopted by application developers.
+	  
+	  http://sourceforge.net/projects/libseccomp/
diff --git a/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch b/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch
new file mode 100644
index 0000000..0997edd
--- /dev/null
+++ b/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch
@@ -0,0 +1,17 @@
+configure: check headers in sysroot, not in host's system headers
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN libseccomp-1.0.0.orig/configure libseccomp-1.0.0/configure
+--- libseccomp-1.0.0.orig/configure	2012-07-27 22:35:05.000000000 +0200
++++ libseccomp-1.0.0/configure	2012-10-27 00:12:50.739196219 +0200
+@@ -205,7 +205,8 @@
+ #
+ 
+ # system seccomp includes
+-if [[ -r "/usr/include/linux/seccomp.h" ]]; then
++# ${SYSROOT} added by buildroot for cross-compilation
++if [[ -r "${SYSROOT}/usr/include/linux/seccomp.h" ]]; then
+ 	opt_sysinc_seccomp="yes"
+ else
+ 	opt_sysinc_seccomp="no"
diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk
new file mode 100644
index 0000000..73fe632
--- /dev/null
+++ b/package/libseccomp/libseccomp.mk
@@ -0,0 +1,22 @@
+#############################################################
+#
+# libseccomp
+#
+#############################################################
+
+LIBSECCOMP_VERSION         = 1.0.0
+LIBSECCOMP_SOURCE          = libseccomp-$(LIBSECCOMP_VERSION).tar.gz
+LIBSECCOMP_SITE            = http://downloads.sourceforge.net/project/libseccomp
+LIBSECCOMP_LICENSE         = LGPLv2.1
+LIBSECCOMP_LICENSE_FILES   = LICENSE
+LIBSECCOMP_INSTALL_STAGING = YES
+
+# Needed for configure to find our system headers:
+LIBSECCOMP_CONF_ENV            = SYSROOT=$(STAGING_DIR)
+LIBSECCOMP_MAKE_ENV            = $(TARGET_CONFIGURE_OPTS)
+LIBSECCOMP_MAKE_OPT            = SUBDIRS_BUILD=src
+LIBSECCOMP_INSTALL_STAGING_OPT = SUBDIRS_BUILD=src SUBDIRS_INSTALL="src include" DESTDIR=$(STAGING_DIR) install
+LIBSECCOMP_INSTALL_TARGET_OPT  = SUBDIRS_BUILD=src SUBDIRS_INSTALL="src include" DESTDIR=$(TARGET_DIR) install
+
+# Not a real autotools package, but works quite OK nonetheless
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 13/19] package/keyutils: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (11 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 12/19] package/libseccomp: new package Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 20:39   ` Peter Korsgaard
  2012-12-16 16:56 ` [Buildroot] [PATCH 14/19] package/pmake: add host pmake Yann E. MORIN
                   ` (5 subsequent siblings)
  18 siblings, 1 reply; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Jarkko Sakkinen <jarkko.sakkinen@iki.fi>
---
 package/Config.in                                  |    1 +
 package/keyutils/Config.in                         |    7 ++
 .../keyutils-01-memleak-from-realloc.patch         |   51 +++++++++++++++
 package/keyutils/keyutils-02-another-memleak.patch |   32 ++++++++++
 package/keyutils/keyutils-03-cifs.patch            |   15 +++++
 .../keyutils-04-Makefile-for-buildroot.patch       |   65 ++++++++++++++++++++
 .../keyutils/keyutils-05-fix-install-rule.patch    |   19 ++++++
 package/keyutils/keyutils.mk                       |   32 ++++++++++
 8 files changed, 222 insertions(+), 0 deletions(-)
 create mode 100644 package/keyutils/Config.in
 create mode 100644 package/keyutils/keyutils-01-memleak-from-realloc.patch
 create mode 100644 package/keyutils/keyutils-02-another-memleak.patch
 create mode 100644 package/keyutils/keyutils-03-cifs.patch
 create mode 100644 package/keyutils/keyutils-04-Makefile-for-buildroot.patch
 create mode 100644 package/keyutils/keyutils-05-fix-install-rule.patch
 create mode 100644 package/keyutils/keyutils.mk

diff --git a/package/Config.in b/package/Config.in
index 2f67d10..6c16be2 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -740,6 +740,7 @@ endif
 source "package/bwm-ng/Config.in"
 source "package/cpuload/Config.in"
 source "package/htop/Config.in"
+source "package/keyutils/Config.in"
 source "package/kmod/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 source "package/module-init-tools/Config.in"
diff --git a/package/keyutils/Config.in b/package/keyutils/Config.in
new file mode 100644
index 0000000..9b5a24b
--- /dev/null
+++ b/package/keyutils/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_KEYUTILS
+	bool "keyutils"
+	help
+	  These tools are used to control the key management system
+	  built into the Linux kernel.
+	  
+	  http://people.redhat.com/~dhowells/keyutils/
diff --git a/package/keyutils/keyutils-01-memleak-from-realloc.patch b/package/keyutils/keyutils-01-memleak-from-realloc.patch
new file mode 100644
index 0000000..0faa9d8
--- /dev/null
+++ b/package/keyutils/keyutils-01-memleak-from-realloc.patch
@@ -0,0 +1,51 @@
+Patch vampirised from Debian's packaging of keyutils-1.4
+
+Author: Michael Gebetsroither <gebi@grml.org>
+Description: Fixed memleak from realloc (Closes: #496466).
+
+diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
+--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
++++ keyutils/keyutils.c	2008-08-25 13:38:07.000000000 +0200
+@@ -165,6 +165,24 @@ long keyctl_assume_authority(key_serial_
+ 	return keyctl(KEYCTL_ASSUME_AUTHORITY, id);
+ }
+ 
++
++/*****************************************************************************/
++/*
++ * plain realloc is just crazy
++ */
++static void* __xrealloc(void* ptr, size_t size)
++{
++    void* ret;
++
++    ret = realloc(ptr, size);
++    if(!ret) {
++        free(ptr);
++        return 0;
++    }
++    return ret;
++}
++
++
+ /*****************************************************************************/
+ /*
+  * fetch key description into an allocated buffer
+@@ -194,7 +212,7 @@ int keyctl_describe_alloc(key_serial_t i
+ 			break;
+ 
+ 		buflen = ret;
+-		buf = realloc(buf, buflen);
++		buf = __xrealloc(buf, buflen);
+ 		if (!buf)
+ 			return -1;
+ 	}
+@@ -233,7 +251,7 @@ int keyctl_read_alloc(key_serial_t id, v
+ 			break;
+ 
+ 		buflen = ret;
+-		buf = realloc(buf, buflen + 1);
++		buf = __xrealloc(buf, buflen + 1);
+ 		if (!buf)
+ 			return -1;
+ 	}
diff --git a/package/keyutils/keyutils-02-another-memleak.patch b/package/keyutils/keyutils-02-another-memleak.patch
new file mode 100644
index 0000000..f74fd79
--- /dev/null
+++ b/package/keyutils/keyutils-02-another-memleak.patch
@@ -0,0 +1,32 @@
+Patch vampirised from Debian's packaging of keyutils-1.4
+
+Author: Michael Gebetsroither <gebi@grml.org>
+Description: Fixed another memleak (Closes: #496466).
+
+diff -Naurp keyutils.orig/keyutils.c keyutils/keyutils.c
+--- keyutils.orig/keyutils.c	2008-08-09 21:46:52.000000000 +0200
++++ keyutils/keyutils.c	2008-08-25 13:38:25.000000000 +0200
+@@ -187,8 +187,10 @@ int keyctl_describe_alloc(key_serial_t i
+ 
+ 	for (;;) {
+ 		ret = keyctl_describe(id, buf, buflen);
+-		if (ret < 0)
++		if (ret < 0) {
++            free(buf);
+ 			return -1;
++        }
+ 
+ 		if (buflen >= ret)
+ 			break;
+@@ -226,8 +228,10 @@ int keyctl_read_alloc(key_serial_t id, v
+ 
+ 	for (;;) {
+ 		ret = keyctl_read(id, buf, buflen);
+-		if (ret < 0)
++		if (ret < 0) {
++            free(buf);
+ 			return -1;
++        }
+ 
+ 		if (buflen >= ret)
+ 			break;
diff --git a/package/keyutils/keyutils-03-cifs.patch b/package/keyutils/keyutils-03-cifs.patch
new file mode 100644
index 0000000..b2903f9
--- /dev/null
+++ b/package/keyutils/keyutils-03-cifs.patch
@@ -0,0 +1,15 @@
+Patch vampirised from Debian's packaging of keyutils-1.4
+
+Author: Marcus Meissner <meissner@suse.de>
+Description: Added 2 cifs helpers to request-key.conf (for CIFS DFS support)
+
+diff -Naurp keyutils.orig/request-key.conf keyutils/request-key.conf
+--- keyutils.orig/request-key.conf	2008-09-07 23:53:10.000000000 +0000
++++ keyutils/request-key.conf	2009-02-05 00:53:00.000000000 +0000
+@@ -34,4 +34,6 @@
+ create	user	debug:*		negate		/bin/keyctl negate %k 30 %S
+ create	user	debug:loop:*	*		|/bin/cat
+ create	user	debug:*		*		/usr/share/keyutils/request-key-debug.sh %k %d %c %S
++create	cifs.spnego	*	*		/usr/sbin/cifs.upcall -c %k
++create	dns_resolver	*	*		/usr/sbin/cifs.upcall %k
+ negate	*	*		*		/bin/keyctl negate %k 30 %S
diff --git a/package/keyutils/keyutils-04-Makefile-for-buildroot.patch b/package/keyutils/keyutils-04-Makefile-for-buildroot.patch
new file mode 100644
index 0000000..e10abd5
--- /dev/null
+++ b/package/keyutils/keyutils-04-Makefile-for-buildroot.patch
@@ -0,0 +1,65 @@
+diff -durN keyutils-1.5.5.orig/Makefile keyutils-1.5.5/Makefile
+--- keyutils-1.5.5.orig/Makefile	2011-11-30 16:27:43.000000000 +0100
++++ keyutils-1.5.5/Makefile	2012-08-14 17:06:07.064412101 +0200
+@@ -1,7 +1,5 @@
+-CPPFLAGS	:= -I.
+-CFLAGS		:= -g -Wall -Werror
+-INSTALL		:= install
+-DESTDIR		:=
++CPPFLAGS	+= -I.
++CFLAGS		+= -g -Wall -Werror
+ SPECFILE	:= keyutils.spec
+ NO_GLIBC_KEYERR	:= 0
+ NO_ARLIB	:= 0
+@@ -14,7 +12,7 @@
+ MAN5		:= /usr/share/man/man5
+ MAN8		:= /usr/share/man/man8
+ INCLUDEDIR	:= /usr/include
+-LNS		:= ln -sf
++LNS		:= $(LN) -sf
+ 
+ ###############################################################################
+ #
+@@ -48,29 +46,6 @@
+ 
+ ###############################################################################
+ #
+-# Guess at the appropriate lib directory and word size
+-#
+-###############################################################################
+-LIBDIR		:= $(shell ldd /usr/bin/make | grep '\(/libc\)' | sed -e 's!.*\(/.*\)/libc[.].*!\1!')
+-USRLIBDIR	:= $(patsubst /lib/%,/usr/lib/%,$(LIBDIR))
+-BUILDFOR	:= $(shell file /usr/bin/make | sed -e 's!.*ELF \(32\|64\)-bit.*!\1!')-bit
+-
+-LNS		:= ln -sf
+-
+-ifeq ($(BUILDFOR),32-bit)
+-CFLAGS		+= -m32
+-LIBDIR		:= /lib
+-USRLIBDIR	:= /usr/lib
+-else
+-ifeq ($(BUILDFOR),64-bit)
+-CFLAGS		+= -m64
+-LIBDIR		:= /lib64
+-USRLIBDIR	:= /usr/lib64
+-endif
+-endif
+-
+-###############################################################################
+-#
+ # This is necessary if glibc doesn't know about the key management error codes
+ #
+ ###############################################################################
+@@ -110,10 +85,10 @@
+ 
+ 
+ $(DEVELLIB): $(SONAME)
+-	ln -sf $< $@
++	$(LNS) $< $@
+ 
+ $(SONAME): $(LIBNAME)
+-	ln -sf $< $@
++	$(LNS) $< $@
+ 
+ LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds
+ 
diff --git a/package/keyutils/keyutils-05-fix-install-rule.patch b/package/keyutils/keyutils-05-fix-install-rule.patch
new file mode 100644
index 0000000..74e5670
--- /dev/null
+++ b/package/keyutils/keyutils-05-fix-install-rule.patch
@@ -0,0 +1,19 @@
+Makefile: fix install rule
+
+Do not link the .so with an absolute path, otherwise it may point to
+the host library.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN keyutils-1.5.5.orig/Makefile keyutils-1.5.5/Makefile
+--- keyutils-1.5.5.orig/Makefile	2012-10-22 20:11:57.188548033 +0200
++++ keyutils-1.5.5/Makefile	2012-10-22 20:14:40.868236838 +0200
+@@ -127,7 +127,7 @@
+ 	$(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
+ 	$(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
+ 	mkdir -p $(DESTDIR)$(USRLIBDIR)
+-	$(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
++	$(LNS) $(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
+ 	$(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
+ 	$(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
+ 	$(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk
new file mode 100644
index 0000000..184b58d
--- /dev/null
+++ b/package/keyutils/keyutils.mk
@@ -0,0 +1,32 @@
+#############################################################
+#
+# keyutils
+#
+##############################################################
+
+KEYUTILS_VERSION         = 1.5.5
+KEYUTILS_SOURCE          = keyutils-$(KEYUTILS_VERSION).tar.bz2
+KEYUTILS_SITE            = http://people.redhat.com/~dhowells/keyutils
+KEYUTILS_LICENSE         = GPLv2+ LGPLv2.1+
+KEYUTILS_LICENSE_FILES   = LICENCE.GPL LICENCE.LGPL
+KEYUTILS_INSTALL_STAGING = YES
+
+KEYUTILS_MAKE_ENV =     \
+    INSTALL=$(INSTALL)  \
+    LIBDIR=/usr/lib     \
+    USRLIBDIR=/usr/lib  \
+    LN=$(HOSTLN)        \
+
+define KEYUTILS_BUILD_CMDS
+	$(KEYUTILS_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+endef
+
+define KEYUTILS_INSTALL_STAGING_CMDS
+	$(KEYUTILS_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
+endef
+
+define KEYUTILS_INSTALL_TARGET_CMDS
+	$(KEYUTILS_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 14/19] package/pmake: add host pmake
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (12 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 15/19] package/libbsd: new package Yann E. MORIN
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

pmake is the make command used by the BSD.
It will used to build BSD-related packages, coming later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/pmake/pmake-100_mk.patch         | 2624 ++++++++++++++++++++++++++++++
 package/pmake/pmake-110_mkdep.patch      |  230 +++
 package/pmake/pmake-120_fixes.patch      |  266 +++
 package/pmake/pmake-130_maxpathlen.patch |   39 +
 package/pmake/pmake-140_multiarch.patch  |  354 ++++
 package/pmake/pmake-150_mktemp.patch     |   31 +
 package/pmake/pmake.mk                   |   46 +
 7 files changed, 3590 insertions(+), 0 deletions(-)
 create mode 100644 package/pmake/pmake-100_mk.patch
 create mode 100644 package/pmake/pmake-110_mkdep.patch
 create mode 100644 package/pmake/pmake-120_fixes.patch
 create mode 100644 package/pmake/pmake-130_maxpathlen.patch
 create mode 100644 package/pmake/pmake-140_multiarch.patch
 create mode 100644 package/pmake/pmake-150_mktemp.patch
 create mode 100644 package/pmake/pmake.mk

diff --git a/package/pmake/pmake-100_mk.patch b/package/pmake/pmake-100_mk.patch
new file mode 100644
index 0000000..1786690
--- /dev/null
+++ b/package/pmake/pmake-100_mk.patch
@@ -0,0 +1,2624 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- pmake-1.111.orig/mk/Makefile
++++ pmake-1.111/mk/Makefile
+@@ -0,0 +1,16 @@
++#	$NetBSD: Makefile,v 1.24 1999/02/13 02:54:36 lukem Exp $
++#	@(#)Makefile	8.1 (Berkeley) 6/8/93
++
++.include <bsd.own.mk>
++
++.if ${MKSHARE} != "no"
++FILES=	bsd.README bsd.doc.mk bsd.dep.mk bsd.files.mk bsd.inc.mk bsd.info.mk \
++	bsd.kinc.mk bsd.kmod.mk bsd.lib.mk bsd.links.mk bsd.man.mk bsd.nls.mk \
++	bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.subdir.mk bsd.sys.mk sys.mk
++FILESDIR=/usr/share/mk
++.endif
++MKOBJ=	no
++
++FILESMODE=444
++
++.include <bsd.prog.mk>
+--- pmake-1.111.orig/mk/bsd.README
++++ pmake-1.111/mk/bsd.README
+@@ -0,0 +1,536 @@
++#	$NetBSD: bsd.README,v 1.48 1999/02/13 03:04:09 lukem Exp $
++#	@(#)bsd.README	8.2 (Berkeley) 4/2/94
++
++This is the README file for the new make "include" files for the BSD
++source tree.  The files are installed in /usr/share/mk, and are, by
++convention, named with the suffix ".mk".
++
++Note, this file is not intended to replace reading through the .mk
++files for anything tricky.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++RANDOM THINGS WORTH KNOWING:
++
++The files are simply C-style #include files, and pretty much behave like
++you'd expect.  The syntax is slightly different in that a single '.' is
++used instead of the hash mark, i.e. ".include <bsd.prog.mk>".
++
++One difference that will save you lots of debugging time is that inclusion
++of the file is normally done at the *end* of the Makefile.  The reason for
++this is because .mk files often modify variables and behavior based on the
++values of variables set in the Makefile.  To make this work, remember that
++the FIRST target found is the target that is used, i.e. if the Makefile has:
++
++	a:
++		echo a
++	a:
++		echo a number two
++
++the command "make a" will echo "a".  To make things confusing, the SECOND
++variable assignment is the overriding one, i.e. if the Makefile has:
++
++	a=	foo
++	a=	bar
++
++	b:
++		echo ${a}
++
++the command "make b" will echo "bar".  This is for compatibility with the
++way the V7 make behaved.
++
++It's fairly difficult to make the BSD .mk files work when you're building
++multiple programs in a single directory.  It's a lot easier split up the
++programs than to deal with the problem.  Most of the agony comes from making
++the "obj" directory stuff work right, not because we switched to a new version
++of make.  So, don't get mad at us, figure out a better way to handle multiple
++architectures so we can quit using the symbolic link stuff.  (Imake doesn't
++count.)
++
++The file .depend in the source directory is expected to contain dependencies
++for the source files.  This file is read automatically by make after reading
++the Makefile.
++
++The variable DESTDIR works as before.  It's not set anywhere but will change
++the tree where the file gets installed.
++
++The profiled libraries are no longer built in a different directory than
++the regular libraries.  A new suffix, ".po", is used to denote a profiled
++object, and ".so" denotes a shared (position-independent) object.
++
++The following variables that control how things are made/installed that
++are not set by default. These should not be set by Makefiles; they're for
++the user to define in MAKECONF (see bsd.own.mk, below) or on the make(1)
++command line:
++
++BUILD 		If defined, 'make install' checks that the targets in the
++		source directories are up-to-date and remakes them if they
++                are out of date, instead of blindly trying to install
++                out of date or non-existant targets.
++
++UPDATE 		If defined, 'make install' only installs targets that are
++		more recently modified in the source directories that their
++		installed counterparts.
++
++MKCATPAGES	If "no", don't build or install the catman pages.
++
++MKDOC		If "no", don't build or install the documentation.
++
++MKINFO		If "no", don't build or install Info documentation from
++		Texinfo source files.
++
++MKLINT		If "no", don't build or install the lint libraries.
++
++MKMAN		If "no", don't build or install the man or catman pages.
++		Also acts as "MKCATPAGES=no"
++
++MKNLS		If "no", don't build or install the NLS files.
++
++MKOBJ		If "no", don't create objdirs.
++
++MKPIC		If "no", don't build or install shared libraries.
++
++MKPICINSTALL	If "no", don't install the *_pic.a libraries.
++
++MKPROFILE	If "no", don't build or install the profiling libraries.
++
++MKSHARE		If "no", act as "MKCATPAGES=no MKDOC=no MKINFO=no MKMAN=no
++		MKNLS=no".  I.e, don't build catman pages, documentation,
++		Info documentation, man pages, NLS files, ...
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <sys.mk> has the default rules for all makes, in the BSD
++environment or otherwise.  You probably don't want to touch this file.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.man.mk> handles installing manual pages and their
++links.
++
++It has a two targets:
++
++	maninstall:
++		Install the manual page sources and their links.
++	catinstall:
++		Install the preformatted manual pages and their links.
++
++It sets/uses the following variables:
++
++MANDIR		Base path for manual installation.
++
++MANGRP		Manual group.
++
++MANOWN		Manual owner.
++
++MANMODE		Manual mode.
++
++MANSUBDIR	Subdirectory under the manual page section, i.e. "/vax"
++		or "/tahoe" for machine specific manual pages.
++
++MAN		The manual pages to be installed (use a .1 - .9 suffix).
++
++MLINKS		List of manual page links (using a .1 - .9 suffix).  The
++		linked-to file must come first, the linked file second,
++		and there may be multiple pairs.  The files are soft-linked.
++
++The include file <bsd.man.mk> includes a file named "../Makefile.inc" if
++it exists.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.own.mk> contains source tree configuration parameters,
++such as the owners, groups, etc. for both manual pages and binaries, and
++a few global "feature configuration" parameters.
++
++It has no targets.
++
++To get system-specific configuration parameters, bsd.own.mk will try to
++include the file specified by the "MAKECONF" variable.  If MAKECONF is not
++set, or no such file exists, the system make configuration file, /etc/mk.conf
++is included.  These files may define any of the variables described below.
++
++bsd.own.mk sets the following variables, if they are not already defined
++(defaults are in brackets):
++
++BSDSRCDIR	The real path to the system sources, so that 'make obj'
++		will work correctly. [/usr/src]
++
++BSDOBJDIR	The real path to the system 'obj' tree, so that 'make obj'
++		will work correctly. [/usr/obj]
++
++BINGRP		Binary group. [wheel]
++
++BINOWN		Binary owner. [root]
++
++BINMODE		Binary mode. [555]
++
++NONBINMODE	Mode for non-executable files. [444]
++
++MANDIR		Base path for manual installation. [/usr/share/man/cat]
++
++MANGRP		Manual group. [wheel]
++
++MANOWN		Manual owner. [root]
++
++MANMODE		Manual mode. [${NONBINMODE}]
++
++MANINSTALL	Manual installation type: maninstall, catinstall, or both
++
++LIBDIR		Base path for library installation. [/usr/lib]
++
++LINTLIBDIR	Base path for lint(1) library installation. [/usr/libdata/lint]
++
++LIBGRP		Library group. [${BINGRP}]
++
++LIBOWN		Library owner. [${BINOWN}]
++
++LIBMODE		Library mode. [${NONBINMODE}]
++
++DOCDIR		Base path for system documentation (e.g. PSD, USD, etc.)
++	        installation. [/usr/share/doc]
++
++DOCGRP		Documentation group. [wheel]
++
++DOCOWN		Documentation owner. [root]
++
++DOCMODE		Documentation mode. [${NONBINMODE}]
++
++NLSDIR		Base path for National Language Support files installation.
++		[/usr/share/nls]
++
++NLSGRP		National Language Support files group. [wheel]
++
++NLSOWN		National Language Support files owner. [root]
++
++NLSMODE		National Language Support files mode. [${NONBINMODE}]
++
++STRIPFLAG	The flag passed to the install program to cause the binary
++		to be stripped.  This is to be used when building your
++		own install script so that the entire system can be made
++		stripped/not-stripped using a single knob. [-s]
++
++COPY		The flag passed to the install program to cause the binary
++		to be copied rather than moved.  This is to be used when
++		building our own install script so that the entire system
++		can either be installed with copies, or with moves using
++		a single knob. [-c]
++
++Additionally, the following variables may be set by bsd.own.mk or in a
++make configuration file to modify the behaviour of the system build
++process (default values are in brackets along with comments, if set by
++bsd.own.mk):
++
++EXPORTABLE_SYSTEM
++		Do not build /usr/src/domestic, even if it is present.
++
++SKEY		Compile in support for S/key authentication. [yes, set
++		unconditionally]
++
++KERBEROS	Compile in support for Kerberos 4 authentication.
++
++KERBEROS5	Compile in support for Kerberos 5 authentication.
++
++MANZ		Compress manual pages at installation time.
++
++SYS_INCLUDE	Copy or symlink kernel include files into /usr/include.
++		Possible values are "symlinks" or "copies" (which is
++		the same as the variable being unset).
++
++NOPROFILE	Do not build profiled versions of system libraries
++
++NOPIC		Do not build PIC versions of system libraries, and
++		do not build shared libraries.
++
++NOLINT		Do not build lint libraries.
++
++OBJECT_FMT	Object file format. [set to "ELF" on  ports that use
++		ELF -- currently if ${MACHINE_ARCH} is "alpha", "mips"
++		or "powerpc" or  set to "a.out" on other ports].
++
++
++bsd.own.mk is generally useful when building your own Makefiles so that
++they use the same default owners etc. as the rest of the tree.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.prog.mk> handles building programs from one or
++more source files, along with their manual pages.  It has a limited number
++of suffixes, consistent with the current needs of the BSD tree.
++
++It has eight targets:
++
++	all:
++		build the program and its manual page
++	clean:
++		remove the program, any object files and the files a.out,
++		Errs, errs, mklog, and ${PROG}.core.
++	cleandir:
++		remove all of the files removed by the target clean, as
++		well as .depend, tags, and any manual pages.
++		`distclean' is a synonym for `cleandir'.
++	depend:
++		make the dependencies for the source files, and store
++		them in the file .depend.
++	includes:
++		install any header files.
++	install:
++		install the program and its manual pages; if the Makefile
++		does not itself define the target install, the targets
++		beforeinstall and afterinstall may also be used to cause
++		actions immediately before and after the install target
++		is executed.
++	lint:
++		run lint on the source files
++	tags:
++		create a tags file for the source files.
++
++It sets/uses the following variables:
++
++BINGRP		Binary group.
++
++BINOWN		Binary owner.
++
++BINMODE		Binary mode.
++
++CLEANFILES	Additional files to remove for the clean and cleandir targets.
++
++COPTS		Additional flags to the compiler when creating C objects.
++
++CPPFLAGS	Additional flags to the C pre-processor
++
++LDADD		Additional loader objects.  Usually used for libraries.
++		For example, to load with the compatibility and utility
++		libraries, use:
++
++			LDADD+=-lutil -lcompat
++
++LDFLAGS		Additional loader flags.
++
++LINKS		The list of binary links; should be full pathnames, the
++		linked-to file coming first, followed by the linked
++		file.  The files are hard-linked.  For example, to link
++		/bin/test and /bin/[, use:
++
++			LINKS=	${DESTDIR}/bin/test ${DESTDIR}/bin/[
++
++SYMLINKS	The list of symbolic links; should be full pathnames.
++                Syntax is identical to LINKS. Note that DESTDIR is not
++		automatically included in the link.
++
++MAN		Manual pages (should end in .1 - .9).  If no MAN variable is
++		defined, "MAN=${PROG}.1" is assumed.
++
++PROG		The name of the program to build.  If not supplied, nothing
++		is built.
++
++PROGNAME	The name that the above program will be installed as, if
++		different from ${PROG}.
++
++SRCS		List of source files to build the program.  If SRCS is not
++		defined, it's assumed to be ${PROG}.c.
++
++DPADD		Additional dependencies for the program.  Usually used for
++		libraries.  For example, to depend on the compatibility and
++		utility libraries use:
++
++			DPADD+=${LIBCOMPAT} ${LIBUTIL}
++
++		The following libraries are predefined for DPADD:
++
++		LIBC?=		${DESTDIR}/usr/lib/libc.a
++		LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
++		LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
++		LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
++		LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
++		LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
++		LIBDES?=	${DESTDIR}/usr/lib/libdes.a
++		LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
++		LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
++		LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
++		LIBKDB?=	${DESTDIR}/usr/lib/libkdb.a
++		LIBKRB?=	${DESTDIR}/usr/lib/libkrb.a
++		LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
++		LIBL?=		${DESTDIR}/usr/lib/libl.a
++		LIBM?=		${DESTDIR}/usr/lib/libm.a
++		LIBMP?=		${DESTDIR}/usr/lib/libmp.a
++		LIBNTP?=	${DESTDIR}/usr/lib/libntp.a
++		LIBPC?=		${DESTDIR}/usr/lib/libpc.a
++		LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
++		LIBPLOT?=	${DESTDIR}/usr/lib/libplot.a
++		LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
++		LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
++		LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
++		LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
++		LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
++		LIBTELNET?=	${DESTDIR}/usr/lib/libtelnet.a
++		LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
++		LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
++		LIBY?=		${DESTDIR}/usr/lib/liby.a
++		LIBZ?=		${DESTDIR}/usr/lib/libz.a
++
++
++SHAREDSTRINGS	If defined, a new .c.o rule is used that results in shared
++		strings, using xstr(1). Note that this will not work with
++		parallel makes.
++
++STRIP		The flag passed to the install program to cause the binary
++		to be stripped.
++
++SUBDIR		A list of subdirectories that should be built as well.
++		Each of the targets will execute the same target in the
++		subdirectories.
++
++SCRIPTS		A list of interpreter scripts [file.{sh,csh,pl,awk,...}].
++		These are installed exactly like programs.
++
++SCRIPTSNAME	The name that the above program will be installed as, if
++		different from ${SCRIPTS}. These can be further specialized
++		by setting SCRIPTSNAME_<script>.
++
++FILES		A list of files to install. The installation is controlled
++		by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR
++		variables that can be further specialized by FILES<VAR>_<file>
++
++The include file <bsd.prog.mk> includes the file named "../Makefile.inc"
++if it exists, as well as the include file <bsd.man.mk>.
++
++Some simple examples:
++
++To build foo from foo.c with a manual page foo.1, use:
++
++	PROG=	foo
++
++	.include <bsd.prog.mk>
++
++To build foo from foo.c with a manual page foo.2, add the line:
++
++	MAN=	foo.2
++
++If foo does not have a manual page at all, add the line:
++
++	NOMAN=	noman
++
++If foo has multiple source files, add the line:
++
++	SRCS=	a.c b.c c.c d.c
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.subdir.mk> contains the default targets for building
++subdirectories.  It has the same eight targets as <bsd.prog.mk>: all, 
++clean, cleandir, depend, includes, install, lint, and tags.  For all of
++the directories listed in the variable SUBDIRS, the specified directory 
++will be visited and the target made.  There is also a default target which
++allows the command "make subdir" where subdir is any directory listed in
++the variable SUBDIRS.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables
++and is included from from bsd.lib.mk and bsd.prog.mk.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.files.mk> handles the FILES variables and is included
++from bsd.lib.mk and bsd.prog.mk.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.inc.mk> defines the includes target and uses two
++variables:
++
++INCS	The list of include files
++
++INCSDIR	The location to install the include files.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.kinc.mk> defines the many targets (includes,
++subdirectories, etc.), and is used by kernel makefiles to handle
++include file installation.  It is intended to be included alone, by
++kernel Makefiles.  Please see bsd.kinc.mk for more details, and keep
++the documentation in that file up to date.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.info.mk> is used to generate and install GNU Info
++documentation from respective Texinfo source files.  It defines three
++implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the
++following variables:
++
++TEXINFO		List of Texinfo source files.  Info documentation will
++		consist of single files with the extension replaced by
++		.info.
++
++INFOFLAGS	Flags to pass to makeinfo.  []
++
++INSTALL_INFO	Name of install-info program.  [install-info]
++
++MAKEINFO	Name of makeinfo program.  [makeinfo]
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.sys.mk> is used by <bsd.prog.mk> and
++<bsd.lib.mk>.  It contains overrides that are used when building
++the NetBSD source tree.  For instance, if "PARALLEL" is defined by
++the program/library Makefile, it includes a set of rules for lex and
++yacc that allow multiple lex and yacc targets to be built in parallel.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
++
++The include file <bsd.lib.mk> has support for building libraries.  It has
++the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend,
++includes, install, lint, and tags.  Additionally, it has a checkver target
++which checks for installed shared object libraries whose version is greater
++that the version of the source. It has a limited number of suffixes,
++consistent with the current needs of the BSD tree.
++
++It sets/uses the following variables:
++
++LIB		The name of the library to build.
++
++LIBDIR		Target directory for libraries.
++
++LINTLIBDIR	Target directory for lint libraries.
++
++LIBGRP		Library group.
++
++LIBOWN		Library owner.
++
++LIBMODE		Library mode.
++
++LDADD		Additional loader objects.
++
++MAN		The manual pages to be installed (use a .1 - .9 suffix).
++
++MKLINKLIB	If "no", act as "MKPICINSTALL=no MKPROFILE=no".
++		Also:
++			- don't install the .a libraries
++			- don't install _pic.a libraries on PIC systems
++			- don't build .a libraries on PIC systems
++			- don't install the .so symlink on ELF systems
++		I.e, only install the shared library (and the .so.major
++		symlink on ELF).
++
++NOCHECKVER_<library>
++NOCHECKVER	If set, disables checking for installed shared object
++		libraries with versions greater than the source.  A
++		particular library name, without the "lib" prefix, may
++		be appended to the variable name to disable the check for
++		only that library.
++
++SRCS		List of source files to build the library.  Suffix types
++		.s, .c, and .f are supported.  Note, .s files are preferred
++		to .c files of the same name.  (This is not the default for
++		versions of make.)
++
++The include file <bsd.lib.mk> includes the file named "../Makefile.inc"
++if it exists, as well as the include file <bsd.man.mk>.
++
++It has rules for building profiled objects; profiled libraries are
++built by default.
++
++Libraries are ranlib'd when made.
++
++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+--- pmake-1.111.orig/mk/bsd.dep.mk
++++ pmake-1.111/mk/bsd.dep.mk
+@@ -0,0 +1,62 @@
++#	$NetBSD: bsd.dep.mk,v 1.26 1999/02/24 22:04:15 simonb Exp $
++
++.PHONY:		cleandepend
++cleandir distclean: cleandepend
++
++MKDEP?=		mkdep
++
++# some of the rules involve .h sources, so remove them from mkdep line
++depend: beforedepend
++.if defined(SRCS)
++depend: .depend
++	@true # hack to prevent "make depend" from using implicit rules
++.NOPATH: .depend
++.depend: ${SRCS} ${DPSRCS}
++	@rm -f .depend
++	@files="${.ALLSRC:M*.s} ${.ALLSRC:M*.S}"; \
++	if [ "$$files" != " " ]; then \
++	  echo ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${AFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} ${AINC:Q} $$files; \
++	  ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${AFLAGS:M-[ID]*} ${CPPFLAGS} ${AINC} $$files; \
++	fi
++	@files="${.ALLSRC:M*.c}"; \
++	if [ "$$files" != "" ]; then \
++	  echo ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${CFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
++	  ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${CFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
++	fi
++	@files="${.ALLSRC:M*.m}"; \
++	if [ "$$files" != "" ]; then \
++	  echo ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${OBJCFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
++	  ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${OBJCFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
++	fi
++	@files="${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}"; \
++	if [ "$$files" != "  " ]; then \
++	  echo ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${CXXFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \
++	  ${MKDEP} -a ${MKDEPFLAGS} \
++	    ${CXXFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \
++	fi
++cleandepend:
++	rm -f .depend ${.CURDIR}/tags
++.else
++cleandepend:
++.endif
++depend: afterdepend
++
++beforedepend:
++afterdepend:
++
++.if !target(tags)
++.if defined(SRCS)
++tags: ${SRCS}
++	-cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \
++	    sed "s;\${.CURDIR}/;;" > tags
++.else
++tags:
++.endif
++.endif
+--- pmake-1.111.orig/mk/bsd.doc.mk
++++ pmake-1.111/mk/bsd.doc.mk
+@@ -0,0 +1,78 @@
++#	$NetBSD: bsd.doc.mk,v 1.41 1999/02/12 01:10:06 lukem Exp $
++#	@(#)bsd.doc.mk	8.1 (Berkeley) 8/14/93
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.MAIN:		all
++.endif
++
++.PHONY:		cleandoc docinstall print spell
++.if ${MKSHARE} != "no"
++realinstall:	docinstall
++.endif
++clean cleandir distclean: cleandoc
++
++BIB?=		bib
++EQN?=		eqn
++GREMLIN?=	grn
++GRIND?=		vgrind -f
++INDXBIB?=	indxbib
++PIC?=		pic
++REFER?=		refer
++ROFF?=         groff ${MACROS} ${PAGES}
++SOELIM?=	soelim
++TBL?=		tbl
++
++.if !target(all)
++.if ${MKSHARE} != "no"
++all: paper.ps
++.else
++all:
++.endif
++.endif
++
++.if !target(paper.ps)
++paper.ps: ${SRCS}
++	${ROFF} ${.ALLSRC} > ${.TARGET}
++.endif
++
++.if !target(print)
++print: paper.ps
++	lpr -P${PRINTER} ${.ALLSRC}
++.endif
++
++cleandoc:
++	rm -f paper.* [eE]rrs mklog ${CLEANFILES}
++
++.if ${MKDOC} != "no"
++FILES?=	${SRCS}
++.for F in ${FILES} ${EXTRA} Makefile
++docinstall:: ${DESTDIR}${DOCDIR}/${DIR}/${F}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${DOCDIR}/${DIR}/${F}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${DOCDIR}/${DIR}/${F}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${DOCDIR}/${DIR}/${F}
++${DESTDIR}${DOCDIR}/${DIR}/${F}: ${F}
++	${INSTALL} ${RENAME} ${PRESERVE} -c -o ${DOCOWN} -g ${DOCGRP} \
++		-m ${DOCMODE} ${.ALLSRC} ${.TARGET}
++.endfor
++.endif
++
++.if !target(docinstall)
++docinstall::
++.endif
++
++spell: ${SRCS}
++	spell ${.ALLSRC} | sort | comm -23 - spell.ok > paper.spell
++
++depend includes lint obj tags:
++
++.include <bsd.obj.mk>
+--- pmake-1.111.orig/mk/bsd.files.mk
++++ pmake-1.111/mk/bsd.files.mk
+@@ -0,0 +1,43 @@
++#	$NetBSD: bsd.files.mk,v 1.8 1999/02/11 13:25:42 tv Exp $
++
++# This file can be included multiple times.  It clears the definition of
++# FILES at the end so that this is possible.
++
++.PHONY:		filesinstall
++realinstall:	filesinstall
++
++.if defined(FILES) && !empty(FILES)
++FILESDIR?=${BINDIR}
++FILESOWN?=${BINOWN}
++FILESGRP?=${BINGRP}
++FILESMODE?=${NONBINMODE}
++.for F in ${FILES}
++FILESDIR_${F}?=${FILESDIR}
++FILESOWN_${F}?=${FILESOWN}
++FILESGRP_${F}?=${FILESGRP}
++FILESMODE_${F}?=${FILESMODE}
++.if defined(FILESNAME)
++FILESNAME_${F} ?= ${FILESNAME}
++.else
++FILESNAME_${F} ?= ${F:T}
++.endif
++filesinstall:: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}
++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: ${F}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${FILESOWN_${F}} \
++		-g ${FILESGRP_${F}} -m ${FILESMODE_${F}} ${.ALLSRC} ${.TARGET}
++.endfor
++.endif
++
++.if !target(filesinstall)
++filesinstall::
++.endif
++
++FILES:=
+--- pmake-1.111.orig/mk/bsd.inc.mk
++++ pmake-1.111/mk/bsd.inc.mk
+@@ -0,0 +1,25 @@
++#	$NetBSD: bsd.inc.mk,v 1.12 1999/02/04 11:58:30 christos Exp $
++
++.PHONY:		incinstall
++includes:	${INCS} incinstall
++
++.if defined(INCS)
++.for I in ${INCS}
++incinstall:: ${DESTDIR}${INCSDIR}/$I
++
++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${INCSDIR}/$I
++.endif
++${DESTDIR}${INCSDIR}/$I: $I
++	@cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \
++	    (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \
++		-g ${BINGRP} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}" && \
++	     ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \
++		-m ${NONBINMODE} ${.ALLSRC} ${.TARGET})
++.endfor
++.endif
++
++.if !target(incinstall)
++incinstall::
++.endif
+--- pmake-1.111.orig/mk/bsd.info.mk
++++ pmake-1.111/mk/bsd.info.mk
+@@ -0,0 +1,60 @@
++#	$NetBSD: bsd.info.mk,v 1.7.2.1 1999/04/22 14:46:13 perry Exp $
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.include <bsd.obj.mk>
++.MAIN:		all
++.endif
++
++MAKEINFO?=	makeinfo
++INFOFLAGS?=	
++INSTALL_INFO?=	install-info
++
++.SUFFIXES: .txi .texi .texinfo .info
++
++.txi.info .texi.info .texinfo.info:
++	@${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $<
++
++.if defined(TEXINFO) && !empty(TEXINFO) && ${MKINFO} != "no"
++INFOFILES=	${TEXINFO:C/\.te?xi(nfo)?$/.info/}
++FILES+=		${INFOFILES}
++
++infoinstall:
++.for F in ${INFOFILES}
++	@${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F}
++	${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F}
++.endfor
++
++.for F in ${INFOFILES}
++FILESDIR_${F}=	${INFODIR}
++FILESOWN_${F}=	${INFOOWN}
++FILESGRP_${F}=	${INFOGRP}
++FILESMODE_${F}=	${INFOMODE}
++FILESNAME_${F}=	${F:T}
++.endfor
++
++all: ${INFOFILES}
++.else
++all:
++.endif
++
++.if ${MKINFO} != "no"
++cleaninfo:
++	rm -f ${INFOFILES}
++.else
++cleaninfo infoinstall:
++.endif
++
++.include <bsd.files.mk>
++
++# These need to happen *after* filesinstall.
++.PHONY: infoinstall cleaninfo
++realinstall: infoinstall
++cleandir distclean: cleaninfo
++
++# Make sure all of the standard targets are defined, even if they do nothing.
++clean depend includes lint regress tags:
+--- pmake-1.111.orig/mk/bsd.kinc.mk
++++ pmake-1.111/mk/bsd.kinc.mk
+@@ -0,0 +1,136 @@
++#	$NetBSD: bsd.kinc.mk,v 1.5 1999/02/04 11:58:30 christos Exp $
++
++# System configuration variables:
++#
++# SYS_INCLUDE	"symlinks": symlinks to include directories are created.
++#		This may not work 100% properly for all headers.
++#
++#		"copies": directories are made, if necessary, and headers
++#		are installed into them.
++#
++# Variables:
++#
++# INCSDIR	Directory to install includes into (and/or make, and/or
++#		symlink, depending on what's going on).
++#
++# KDIR		Kernel directory to symlink to, if SYS_INCLUDE is symlinks.
++#		If unspecified, no action will be taken when making include
++#		for the directory if SYS_INCLUDE is symlinks.
++#
++# INCS		Headers to install, if SYS_INCLUDE is copies.
++#
++# DEPINCS	Headers to install which are built dynamically.
++#
++# SUBDIR	Subdirectories to enter
++#
++# SYMLINKS	Symlinks to make (unconditionally), a la bsd.links.mk.
++#		Note that the original bits will be 'rm -rf'd rather than
++#		just 'rm -f'd, to make the right thing happen with include
++#		directories.
++#
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.MAIN:		all
++.endif
++
++# Change SYS_INCLUDE in bsd.own.mk or /etc/mk.conf to "symlinks" if you
++# don't want copies
++SYS_INCLUDE?=   copies
++
++# If DESTDIR is set, we're probably building a release, so force "copies".
++.if defined(DESTDIR) && (${DESTDIR} != "/" && !empty(DESTDIR))
++SYS_INCLUDE=    copies
++.endif
++
++
++.PHONY:		incinstall
++includes:	${INCS} incinstall
++
++
++.if ${SYS_INCLUDE} == "symlinks"
++
++# don't install includes, just make symlinks.
++
++.if defined(KDIR)
++SYMLINKS+=	${KDIR} ${INCSDIR}
++.endif
++
++.else # not symlinks
++
++# make sure the directory is OK, and install includes.
++
++.PRECIOUS: ${DESTDIR}${INCSDIR}
++.PHONY: ${DESTDIR}${INCSDIR}
++${DESTDIR}${INCSDIR}:
++	@if [ ! -d ${.TARGET} ] || [ -L ${.TARGET} ] ; then \
++		echo creating ${.TARGET}; \
++		/bin/rm -rf ${.TARGET}; \
++		${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 ${.TARGET}; \
++	fi
++
++incinstall:: ${DESTDIR}${INCSDIR}
++
++.if defined(INCS)
++.for I in ${INCS}
++incinstall:: ${DESTDIR}${INCSDIR}/$I
++
++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${INCSDIR}/$I
++.endif
++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I 
++	@cmp -s ${.CURDIR}/$I ${.TARGET} > /dev/null 2>&1 || \
++	    (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \
++		-g ${BINGRP} -m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET}" && \
++	     ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \
++		-m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET})
++.endfor
++.endif
++
++.if defined(DEPINCS)
++.for I in ${DEPINCS}
++incinstall:: ${DESTDIR}${INCSDIR}/$I
++
++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${INCSDIR}/$I
++.endif
++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I 
++	@cmp -s $I ${.TARGET} > /dev/null 2>&1 || \
++	    (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \
++		-g ${BINGRP} -m ${NONBINMODE} $I ${.TARGET}" && \
++	     ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \
++		-m ${NONBINMODE} $I ${.TARGET})
++.endfor
++.endif
++
++.endif # not symlinks
++
++.if defined(SYMLINKS) && !empty(SYMLINKS)
++incinstall::
++	@set ${SYMLINKS}; \
++	 while test $$# -ge 2; do \
++		l=$$1; \
++		shift; \
++		t=${DESTDIR}$$1; \
++		shift; \
++		echo ".include <bsd.own.mk>"; \
++		echo "all:: $$t"; \
++		echo ".PHONY: $$t"; \
++		echo "$$t:"; \
++		echo "	@echo \"$$t -> $$l\""; \
++		echo "	@rm -rf $$t"; \
++		echo "	@ln -s $$l $$t"; \
++	done | ${MAKE} -f-
++.endif
++
++.if !target(incinstall)
++incinstall::
++.endif
++
++.include <bsd.subdir.mk>
+--- pmake-1.111.orig/mk/bsd.kmod.mk
++++ pmake-1.111/mk/bsd.kmod.mk
+@@ -0,0 +1,95 @@
++#	$NetBSD: bsd.kmod.mk,v 1.30 1999/03/10 06:34:19 ross Exp $
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.include <bsd.obj.mk>
++.MAIN:		all
++.endif
++
++.PHONY:		cleankmod kmodinstall load unload
++realinstall:	kmodinstall
++clean cleandir distclean: cleankmod
++
++S?=		/sys
++KERN=		$S/kern
++
++CFLAGS+=	${COPTS} -D_KERNEL -D_LKM -I. -I${.CURDIR} -I$S -I$S/arch
++
++DPSRCS+=	${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
++CLEANFILES+=	${DPSRCS}
++.if defined(YHEADER)
++CLEANFILES+=	${SRCS:M*.y:.y=.h}
++.endif
++
++OBJS+=		${SRCS:N*.h:N*.sh:R:S/$/.o/g}
++
++.if !defined(PROG)
++PROG=	${KMOD}.o
++.endif
++
++${PROG}: ${DPSRCS} ${OBJS} ${DPADD}
++	${LD} -r ${LDFLAGS} -o tmp.o ${OBJS}
++	mv tmp.o ${.TARGET}
++
++.if	!defined(MAN)
++MAN=	${KMOD}.4
++.endif
++
++all: machine-links ${PROG}
++
++.PHONY:	machine-links
++beforedepend: machine-links
++machine-links:
++	-rm -f machine && \
++	    ln -s $S/arch/${MACHINE}/include machine
++	-rm -f ${MACHINE_ARCH} && \
++	    ln -s $S/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH}
++CLEANFILES+=machine ${MACHINE_ARCH}
++
++cleankmod:
++	rm -f a.out [Ee]rrs mklog core *.core \
++		${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
++
++#
++# define various install targets
++#
++.if !target(kmodinstall)
++kmodinstall:: ${DESTDIR}${KMODDIR}/${PROG}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${KMODDIR}/${PROG}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${KMODDIR}/${PROG}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${KMODDIR}/${PROG}
++${DESTDIR}${KMODDIR}/${PROG}: ${PROG}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${KMODOWN} -g ${KMODGRP} \
++		-m ${KMODMODE} ${.ALLSRC} ${.TARGET}
++.endif
++
++lint: ${LOBJS}
++.if defined(LOBJS) && !empty(LOBJS)
++	${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
++.endif
++
++.if !target(load)
++load:	${PROG}
++	/sbin/modload -o ${KMOD} -e${KMOD}_lkmentry ${PROG}
++.endif
++
++.if !target(unload)
++unload: ${PROG}
++	/sbin/modunload -n ${KMOD}
++.endif
++
++.include <bsd.man.mk>
++.include <bsd.links.mk>
++.include <bsd.dep.mk>
++.include <bsd.sys.mk>
++
++.-include "machine/Makefile.inc"
+--- pmake-1.111.orig/mk/bsd.lib.mk
++++ pmake-1.111/mk/bsd.lib.mk
+@@ -0,0 +1,396 @@
++#	$NetBSD: bsd.lib.mk,v 1.152 1999/03/30 09:30:43 fair Exp $
++#	@(#)bsd.lib.mk	8.3 (Berkeley) 4/22/94
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.include <bsd.obj.mk>
++.MAIN:		all
++.endif
++
++.PHONY:		checkver cleanlib libinstall
++realinstall:	checkver libinstall
++clean cleandir distclean: cleanlib
++
++.if exists(${.CURDIR}/shlib_version)
++SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major
++SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor
++
++# Check for higher installed library versions.
++.if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \
++	exists(${BSDSRCDIR}/lib/checkver)
++checkver:
++	@(cd ${.CURDIR} && \
++		${BSDSRCDIR}/lib/checkver -d ${DESTDIR}${LIBDIR} ${LIB})
++.else
++checkver:
++.endif
++.else
++checkver:
++.endif
++
++# add additional suffixes not exported.
++# .po is used for profiling object files.
++# .so is used for PIC object files.
++.SUFFIXES: .out .a .ln .so .po .o .s .S .c .cc .C .m .F .f .r .y .l .cl .p .h
++.SUFFIXES: .sh .m4 .m
++
++
++# Set PICFLAGS to cc flags for producing position-independent code,
++# if not already set.  Includes -DPIC, if required.
++
++# Data-driven table using make variables to control  how shared libraries
++# are built for different platforms and object formats.
++# OBJECT_FMT:		currently either "ELF" or "a.out", from <bsd.own.mk>
++# SHLIB_SOVERSION:  	version number to be compiled into a shared library
++#                    	via -soname. Usualy ${SHLIB_MAJOR} on ELF.
++#   			NetBSD/pmax used to use ${SHLIB_MAJOR}.{SHLIB-MINOR}.
++# SHLIB_SHFLAGS:	Flags to tell ${LD} to emit  shared library.
++#			with ELF, also set shared-lib version for ld.so.
++# SHLIB_LDSTARTFILE:	support .o file, call C++ file-level constructors
++# SHLIB_LDENDFILE:	support .o file, call C++ file-level destructors
++# CPPICFLAGS:	flags for ${CPP} to preprocess  .[sS]  files for ${AS}
++# CPICFLAGS:	flags for ${CC} to compile  .[cC] files to .so objects.
++# CAPICFLAGS	flags for {$CC} to compiling .[Ss] files
++#		 	(usually just ${CPPPICFLAGS} ${CPICFLAGS})
++# APICFLAGS:	flags for ${AS} to assemble .[sS]  to .so objects.
++
++.if ${MACHINE_ARCH} == "alpha"
++		# Alpha-specific shared library flags
++CPICFLAGS ?= -fpic -DPIC
++CPPPICFLAGS?= -DPIC 
++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
++APICFLAGS ?=
++.elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb"
++		# mips-specific shared library flags
++
++# On mips, all libs need to be compiled with ABIcalls, not just sharedlibs.
++CPICFLAGS?=
++APICFLAGS?=
++#CPICFLAGS?= -fpic -DPIC
++#APICFLAGS?= -DPIC
++
++# so turn shlib PIC flags on for ${CPP}, ${CC}, and ${AS} as follows:
++AINC+=-DPIC -DABICALLS
++COPTS+=	-fPIC ${AINC}
++AFLAGS+= -fPIC
++AS+=	-KPIC
++
++.elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF"
++
++CPICFLAGS ?= -fpic -DPIC
++CPPPICFLAGS?= -DPIC 
++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
++APICFLAGS ?= -KPIC
++
++.elif (${MACHINE} == "debian")
++
++SHLIB_TYPE=ELF
++SHLIB_LDSTARTFILE=
++SHLIB_LDENDFILE=
++SHLIB_SOVERSION=${SHLIB_MAJOR}
++CPICFLAGS ?= -fPIC -DPIC
++CPPPICFLAGS?= -DPIC
++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
++APICFLAGS ?=
++
++.else
++
++# Platform-independent flags for NetBSD a.out shared libraries (and PowerPC)
++SHLIB_LDSTARTFILE=
++SHLIB_LDENDFILE=
++SHLIB_SHFLAGS=
++SHLIB_SOVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR}
++CPICFLAGS?= -fpic -DPIC
++CPPPICFLAGS?= -DPIC 
++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS}
++APICFLAGS?= -k
++
++.endif
++
++# Platform-independent linker flags for ELF shared libraries
++.if ${OBJECT_FMT} == "ELF"
++SHLIB_SOVERSION=${SHLIB_MAJOR}
++SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}
++SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o
++SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o
++.endif
++
++CFLAGS+=	${COPTS}
++
++.c.o:
++	@echo ${COMPILE.c:Q} ${.IMPSRC}
++	@${COMPILE.c} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.c.po:
++	@echo ${COMPILE.c:Q} -pg ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.c.so:
++	@echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.c.ln:
++	${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
++
++.cc.o .C.o:
++	@echo ${COMPILE.cc:Q} ${.IMPSRC}
++	@${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.cc.po .C.po:
++	@echo ${COMPILE.cc:Q} -pg ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.cc.so .C.so:
++	@echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.m.o:
++	@echo ${COMPILE.m:Q} ${.IMPSRC}
++	@${COMPILE.m} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.m.po:
++	@echo ${COMPILE.m:Q} -pg ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.m.so:
++	@echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.S.o .s.o:
++	@echo ${COMPILE.S:Q} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC}
++	@${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.S.po .s.po:
++	@echo ${COMPILE.S:Q} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.S} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -X -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.S.so .s.so:
++	@echo ${COMPILE.S:Q} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}
++	@${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o
++	@${LD} -x -r ${.TARGET}.o -o ${.TARGET}
++	@rm -f ${.TARGET}.o
++
++.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \
++	|| ${MKLINKLIB} != "no"
++_LIBS=lib${LIB}.a
++.else
++_LIBS=
++.endif
++
++.if ${MKPROFILE} != "no"
++_LIBS+=lib${LIB}_p.a
++.endif
++
++.if ${MKPIC} != "no"
++_LIBS+=lib${LIB}_pic.a
++.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
++_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++.endif
++.endif
++
++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
++_LIBS+=llib-l${LIB}.ln
++.endif
++
++all: ${SRCS} ${_LIBS}
++
++__archivebuild: .USE
++	@rm -f ${.TARGET}
++	@${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}`
++	${RANLIB} ${.TARGET}
++
++__archiveinstall: .USE
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
++		-m 600 ${.ALLSRC} ${.TARGET}
++	${RANLIB} -t ${.TARGET}
++	chmod ${LIBMODE} ${.TARGET}
++
++DPSRCS+=	${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
++CLEANFILES+=	${DPSRCS}
++.if defined(YHEADER)
++CLEANFILES+=	${SRCS:M*.y:.y=.h}
++.endif
++
++OBJS+=		${SRCS:N*.h:N*.sh:R:S/$/.o/g}
++lib${LIB}.a:: ${OBJS} __archivebuild
++	@echo building standard ${LIB} library
++
++POBJS+=		${OBJS:.o=.po}
++lib${LIB}_p.a:: ${POBJS} __archivebuild
++	@echo building profiled ${LIB} library
++
++SOBJS+=		${OBJS:.o=.so}
++lib${LIB}_pic.a:: ${SOBJS} __archivebuild
++	@echo building shared object ${LIB} library
++
++lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}_pic.a ${DPADD} \
++    ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE}
++	@echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\)
++	@rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++.if defined(DESTDIR)
++	$(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
++	    ${SHLIB_LDSTARTFILE} \
++	    -Wl,--whole-archive lib${LIB}_pic.a \
++	    -nostdlib -L${DESTDIR}${LIBDIR} -R${LIBDIR} \
++	    -Wl,--no-whole-archive ${LDADD} \
++	    ${SHLIB_LDENDFILE}
++.else
++	$(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \
++	    ${SHLIB_LDSTARTFILE} \
++	    -Wl,--whole-archive lib${LIB}_pic.a -Wl,--no-whole-archive ${LDADD} \
++	    ${SHLIB_LDENDFILE}
++.endif
++.if ${OBJECT_FMT} == "ELF"
++	rm -f lib${LIB}.so.${SHLIB_MAJOR}
++	ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
++	    lib${LIB}.so.${SHLIB_MAJOR}
++	rm -f lib${LIB}.so
++	ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
++	    lib${LIB}.so
++.endif
++
++LOBJS+=		${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
++LLIBS?=		-lc
++llib-l${LIB}.ln: ${LOBJS}
++	@echo building llib-l${LIB}.ln
++	@rm -f llib-l${LIB}.ln
++	@${LINT} -C${LIB} ${.ALLSRC} ${LLIBS}
++
++cleanlib:
++	rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES}
++	rm -f lib${LIB}.a ${OBJS}
++	rm -f lib${LIB}_p.a ${POBJS}
++	rm -f lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${SOBJS}
++	rm -f llib-l${LIB}.ln ${LOBJS}
++
++.if defined(SRCS)
++afterdepend: .depend
++	@(TMP=/tmp/_depend$$$$; \
++	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \
++	      < .depend > $$TMP; \
++	    mv $$TMP .depend)
++.endif
++
++.if !target(libinstall)
++# Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no
++libinstall::
++
++.if ${MKLINKLIB} != "no"
++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a
++.endif
++.if !defined(BUILD)
++${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a
++${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall
++.endif
++
++.if ${MKPROFILE} != "no"
++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
++.endif
++.if !defined(BUILD)
++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a
++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall
++.endif
++
++.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no"
++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
++.endif
++.if !defined(BUILD)
++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a
++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall
++.endif
++
++.if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR)
++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
++		-m ${LIBMODE} ${.ALLSRC} ${.TARGET}
++.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR)
++	/sbin/ldconfig -m ${LIBDIR}
++.endif
++.if ${OBJECT_FMT} == "ELF"
++	rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
++	ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
++	    ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}
++	rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so
++.if ${MKLINKLIB} != "no"
++	ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
++	    ${DESTDIR}${LIBDIR}/lib${LIB}.so
++.endif
++.endif
++.endif
++
++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no"
++libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
++.endif
++.if !defined(BUILD)
++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln
++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \
++		-m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR}
++.endif
++.endif
++
++.include <bsd.man.mk>
++.include <bsd.nls.mk>
++.include <bsd.files.mk>
++.include <bsd.inc.mk>
++.include <bsd.links.mk>
++.include <bsd.dep.mk>
++.include <bsd.sys.mk>
++
++# Make sure all of the standard targets are defined, even if they do nothing.
++lint regress:
+--- pmake-1.111.orig/mk/bsd.links.mk
++++ pmake-1.111/mk/bsd.links.mk
+@@ -0,0 +1,43 @@
++#	$NetBSD: bsd.links.mk,v 1.8 1998/12/31 15:28:52 castor Exp $
++
++.PHONY:		linksinstall
++realinstall:	linksinstall
++
++.if defined(SYMLINKS) && !empty(SYMLINKS)
++linksinstall::
++	@set ${SYMLINKS}; \
++	 while test $$# -ge 2; do \
++		l=$$1; \
++		shift; \
++		t=${DESTDIR}$$1; \
++		shift; \
++		echo ".include <bsd.own.mk>"; \
++		echo "all:: $$t"; \
++		echo ".PHONY: $$t"; \
++		echo "$$t:"; \
++		echo "	@echo \"$$t -> $$l\""; \
++		echo "	@rm -f $$t"; \
++		echo "	@ln -s $$l $$t"; \
++	done | ${MAKE} -f-
++.endif
++.if defined(LINKS) && !empty(LINKS)
++linksinstall::
++	@set ${LINKS}; \
++	 while test $$# -ge 2; do \
++		l=${DESTDIR}$$1; \
++		shift; \
++		t=${DESTDIR}$$1; \
++		shift; \
++		echo ".include <bsd.own.mk>"; \
++		echo "all:: $$t"; \
++		echo ".PHONY: $$t"; \
++		echo "$$t:"; \
++		echo "	@echo \"$$t -> $$l\""; \
++		echo "	@rm -f $$t"; \
++		echo "	@ln $$l $$t"; \
++	done | ${MAKE} -f-
++.endif
++
++.if !target(linksinstall)
++linksinstall:
++.endif
+--- pmake-1.111.orig/mk/bsd.man.mk
++++ pmake-1.111/mk/bsd.man.mk
+@@ -0,0 +1,156 @@
++#	$NetBSD: bsd.man.mk,v 1.45 1999/02/13 16:34:39 christos Exp $
++#	@(#)bsd.man.mk	8.1 (Berkeley) 6/8/93
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.include <bsd.obj.mk>
++.MAIN:		all
++.endif
++
++.PHONY:		catinstall maninstall catpages manpages catlinks manlinks cleanman
++.if ${MKMAN} != "no"
++realinstall:	${MANINSTALL}
++.endif
++cleandir distclean: cleanman
++
++MANTARGET?=	cat
++NROFF?=		nroff
++TBL?=		tbl
++
++.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \
++	   .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9
++
++.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1:
++.if !defined(USETBL)
++	@echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}"
++	@${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \
++	 (rm -f ${.TARGET}; false)
++.else
++	@echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}"
++	@${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \
++	 (rm -f ${.TARGET}; false)
++.endif
++
++.if defined(MAN) && !empty(MAN)
++MANPAGES=	${MAN}
++CATPAGES=	${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
++.endif
++
++MINSTALL=	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${MANOWN} \
++			-g ${MANGRP} -m ${MANMODE}
++
++.if defined(MANZ)
++# chown and chmod are done afterward automatically
++MCOMPRESS=	gzip -9cf
++MCOMPRESSSUFFIX= .gz
++.endif
++
++catinstall: catlinks
++maninstall: manlinks
++
++__installpage: .USE
++.if defined(MCOMPRESS) && !empty(MCOMPRESS)
++	@rm -f ${.TARGET}
++	${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
++	@chown ${MANOWN}:${MANGRP} ${.TARGET}
++	@chmod ${MANMODE} ${.TARGET}
++.else
++	${MINSTALL} ${.ALLSRC} ${.TARGET}
++.endif
++
++
++# Rules for cat'ed man page installation
++.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no"
++.   for P in ${CATPAGES}
++catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
++
++.	if !defined(UPDATE)
++.PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
++.	endif
++.	if !defined(BUILD)
++${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE
++.	endif
++
++.PRECIOUS: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
++${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage
++.   endfor
++.else
++catpages::
++.endif
++
++# Rules for source page installation
++.if defined(MANPAGES) && !empty(MANPAGES)
++.   for P in ${MANPAGES}
++manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
++.	if !defined(UPDATE)
++.PHONY: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
++.	endif
++
++.PRECIOUS: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
++${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage
++.   endfor
++.else
++manpages::
++.endif
++
++.if ${MKCATPAGES} != "no"
++catlinks: catpages
++.if defined(MLINKS) && !empty(MLINKS)
++	@set ${MLINKS}; \
++	while test $$# -ge 2; do \
++		name=$$1; \
++		shift; \
++		dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
++		l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
++		name=$$1; \
++		shift; \
++		dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
++		t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
++		if [ -z "${UPDATE}" -o ! -f $$t ]; then \
++		    echo $$t -\> $$l; \
++		    ln -sf $$l $$t; \
++		fi; \
++	done
++.endif
++.else
++catlinks:
++.endif
++
++manlinks: manpages
++.if defined(MLINKS) && !empty(MLINKS)
++	@set ${MLINKS}; \
++	while test $$# -ge 2; do \
++		name=$$1; \
++		shift; \
++		dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
++		l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
++		name=$$1; \
++		shift; \
++		dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
++		t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
++		if [ -z "${UPDATE}" -o ! -f $$t ]; then \
++		    echo $$t -\> $$l; \
++		    ln -sf $$l $$t; \
++		fi; \
++	done
++.endif
++
++.if defined(CATPAGES)
++.if ${MKCATPAGES} != "no" && ${MKMAN} != "no"
++all: ${CATPAGES}
++.else
++all:
++.endif
++
++cleanman:
++	rm -f ${CATPAGES}
++.else
++cleanman:
++.endif
++
++# Make sure all of the standard targets are defined, even if they do nothing.
++clean depend includes lint regress tags:
+--- pmake-1.111.orig/mk/bsd.nls.mk
++++ pmake-1.111/mk/bsd.nls.mk
+@@ -0,0 +1,64 @@
++#	$NetBSD: bsd.nls.mk,v 1.17 1999/02/12 12:38:45 lukem Exp $
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++
++.MAIN:		all
++.endif
++.PHONY:		cleannls nlsinstall
++.if ${MKNLS} != "no"
++realinstall:	nlsinstall
++.endif
++cleandir distclean: cleannls
++
++.SUFFIXES: .cat .msg
++
++.msg.cat:
++	@rm -f ${.TARGET}
++	gencat ${.TARGET} ${.IMPSRC}
++
++.if defined(NLS) && !empty(NLS)
++NLSALL= ${NLS:.msg=.cat}
++.endif
++
++.if !defined(NLSNAME)
++.if defined(PROG)
++NLSNAME=${PROG}
++.else
++NLSNAME=lib${LIB}
++.endif
++.endif
++
++.if defined(NLSALL)
++.if ${MKNLS} != "no"
++all: ${NLSALL}
++.endif
++
++cleannls:
++	rm -f ${NLSALL}
++
++.for F in ${NLSALL}
++nlsinstall:: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat
++.endif
++.if !defined(BUILD)
++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat
++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: ${F}
++	${INSTALL} -d ${.TARGET:H}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${NLSOWN} -g ${NLSGRP} \
++		-m ${NLSMODE} ${.ALLSRC} ${.TARGET}
++.endfor
++.else
++cleannls:
++.endif
++
++.if !target(nlsinstall)
++nlsinstall::
++.endif
+--- pmake-1.111.orig/mk/bsd.obj.mk
++++ pmake-1.111/mk/bsd.obj.mk
+@@ -0,0 +1,54 @@
++#	$NetBSD: bsd.obj.mk,v 1.17 1999/02/12 04:13:26 lukem Exp $
++
++.if !target(__initialized_obj__)
++__initialized_obj__:
++.include <bsd.own.mk>
++.endif
++
++.if ${MKOBJ} == "no"
++obj:
++.else
++
++.if defined(OBJMACHINE)
++__objdir=	obj.${MACHINE}
++.else
++__objdir=	obj
++.endif
++
++.if defined(USR_OBJMACHINE)
++__usrobjdir=	${BSDOBJDIR}.${MACHINE}
++__usrobjdirpf=	
++.else
++__usrobjdir=	${BSDOBJDIR}
++.if defined(OBJMACHINE)
++__usrobjdirpf=	.${MACHINE}
++.else
++__usrobjdirpf=
++.endif
++.endif
++
++obj:
++	@cd ${.CURDIR}; rm -f ${__objdir} > /dev/null 2>&1 || true; \
++	here=`/bin/pwd`; subdir=$${here#${BSDSRCDIR}/}; \
++	if test $$here != $$subdir ; then \
++		dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \
++		echo "$$here/${__objdir} -> $$dest"; \
++		rm -rf ${__objdir}; \
++		ln -s $$dest ${__objdir}; \
++		if test -d ${__usrobjdir} -a ! -d $$dest; then \
++			mkdir -p $$dest; \
++		else \
++			true; \
++		fi; \
++	else \
++		true ; \
++		dest=$$here/${__objdir} ; \
++		if test ! -d ${__objdir} ; then \
++			echo "making $$dest" ; \
++			mkdir $$dest; \
++		fi ; \
++	fi;
++.endif
++
++print-objdir:
++	@echo ${.OBJDIR}
+--- pmake-1.111.orig/mk/bsd.own.mk
++++ pmake-1.111/mk/bsd.own.mk
+@@ -0,0 +1,245 @@
++#	$NetBSD: bsd.own.mk,v 1.120 1999/02/24 14:42:36 drochner Exp $
++
++.if !defined(_BSD_OWN_MK_)
++_BSD_OWN_MK_=1
++
++.if defined(MAKECONF) && exists(${MAKECONF})
++.include "${MAKECONF}"
++.elif exists(/etc/mk.conf)
++.include "/etc/mk.conf"
++.endif
++
++# Defining `SKEY' causes support for S/key authentication to be compiled in.
++SKEY=		yes
++# Defining `KERBEROS' causes support for Kerberos authentication to be
++# compiled in.
++#KERBEROS=	yes
++# Defining 'KERBEROS5' causes support for Kerberos5 authentication to be
++# compiled in.
++#KERBEROS5=	yes
++
++# where the system object and source trees are kept; can be configurable
++# by the user in case they want them in ~/foosrc and ~/fooobj, for example
++BSDSRCDIR?=	/usr/src
++BSDOBJDIR?=	/usr/obj
++
++BINGRP?=	root
++BINOWN?=	root
++BINMODE?=	755
++NONBINMODE?=	644
++
++# Define MANZ to have the man pages compressed (gzip)
++MANZ=		1
++
++MANDIR?=	/usr/share/man
++MANGRP?=	root
++MANOWN?=	root
++MANMODE?=	${NONBINMODE}
++MANINSTALL?=	maninstall catinstall
++
++INFODIR?=	/usr/share/info
++INFOGRP?=	root
++INFOOWN?=	root
++INFOMODE?=	${NONBINMODE}
++
++LIBDIR?=	/usr/lib
++LINTLIBDIR?=	/usr/libdata/lint
++LIBGRP?=	${BINGRP}
++LIBOWN?=	${BINOWN}
++LIBMODE?=	${NONBINMODE}
++
++DOCDIR?=        /usr/share/doc
++DOCGRP?=	root
++DOCOWN?=	root
++DOCMODE?=       ${NONBINMODE}
++
++NLSDIR?=	/usr/share/nls
++NLSGRP?=	root
++NLSOWN?=	root
++NLSMODE?=	${NONBINMODE}
++
++KMODDIR?=	/usr/lkm
++KMODGRP?=	root
++KMODOWN?=	root
++KMODMODE?=	${NONBINMODE}
++
++COPY?=		-c
++.if defined(UPDATE)
++PRESERVE?=	-p
++.else
++PRESERVE?=
++.endif
++RENAME?=
++STRIPFLAG?=	-s
++
++# Define SYS_INCLUDE to indicate whether you want symbolic links to the system
++# source (``symlinks''), or a separate copy (``copies''); (latter useful
++# in environments where it's not possible to keep /sys publicly readable)
++#SYS_INCLUDE= 	symlinks
++
++# XXX The next two are temporary until the transition to UVM is complete.
++
++# Systems on which UVM is the standard VM system.
++.if ${MACHINE} != "pica"
++UVM?=		yes
++.endif
++
++# Systems that use UVM's new pmap interface.
++.if ${MACHINE} == "alpha" || \
++    ${MACHINE} == "i386" || \
++    ${MACHINE} == "pc532" || \
++    ${MACHINE} == "vax"
++PMAP_NEW?=	yes
++.endif
++
++# Data-driven table using make variables to control how 
++# toolchain-dependent targets and shared libraries are built
++# for different platforms and object formats.
++# OBJECT_FMT:		currently either "ELF" or "a.out".
++# SHLIB_TYPE:		"ELF" or "a.out" or "" to force static libraries.
++#
++#.if ${MACHINE_ARCH} == "alpha" || \
++#    ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
++#    ${MACHINE_ARCH} == "powerpc" || \
++#    ${MACHINE_ARCH} == "sparc64"
++#OBJECT_FMT?=ELF
++#.else
++
++# On Debian GNU/Linux, Everything is ELF.
++OBJECT_FMT?=a.out
++#.endif
++
++# GNU sources and packages sometimes see architecture names differently.
++# This table maps an architecture name to its GNU counterpart.
++# Use as so:  ${GNU_ARCH.${TARGET_ARCH}} or ${MACHINE_GNU_ARCH}
++GNU_ARCH.alpha=alpha
++GNU_ARCH.arm32=arm
++GNU_ARCH.i386=i386
++GNU_ARCH.m68k=m68k
++GNU_ARCH.mipseb=mipseb
++GNU_ARCH.mipsel=mipsel
++GNU_ARCH.ns32k=ns32k
++GNU_ARCH.powerpc=powerpc
++GNU_ARCH.sparc=sparc
++GNU_ARCH.sparc64=sparc
++GNU_ARCH.vax=vax
++.if ${MACHINE_ARCH} == "mips"
++.INIT:
++	@echo Must set MACHINE_ARCH to one of mipseb or mipsel
++	@false
++.endif
++
++.if ${MACHINE_ARCH} == "sparc64"
++MACHINE_GNU_ARCH=${MACHINE_ARCH}
++.else
++MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}}
++.endif
++
++TARGETS+=	all clean cleandir depend distclean includes install lint obj \
++		regress tags
++.PHONY:		all clean cleandir depend distclean includes install lint obj \
++		regress tags beforedepend afterdepend beforeinstall \
++		afterinstall realinstall
++
++# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes
++# this is used by bsd.pkg.mk to stop "install" being defined
++NEED_OWN_INSTALL_TARGET?=	yes
++
++.if ${NEED_OWN_INSTALL_TARGET} == "yes"
++.if !target(install)
++install:	.NOTMAIN beforeinstall subdir-install realinstall afterinstall
++beforeinstall:	.NOTMAIN
++subdir-install:	.NOTMAIN beforeinstall
++realinstall:	.NOTMAIN beforeinstall
++afterinstall:	.NOTMAIN subdir-install realinstall
++.endif
++.endif
++
++# Define MKxxx variables (which are either yes or no) for users
++# to set in /etc/mk.conf and override on the make commandline.
++# These should be tested with `== "no"' or `!= "no"'.
++# The NOxxx variables should only be used by Makefiles.
++#
++
++MKCATPAGES?=no
++
++.if defined(NODOC)
++MKDOC=no
++#.elif !defined(MKDOC)
++#MKDOC=yes
++.else
++MKDOC?=yes
++.endif
++
++MKINFO?=yes
++
++.if defined(NOLINKLIB)
++MKLINKLIB=no
++.else
++MKLINKLIB?=yes
++.endif
++.if ${MKLINKLIB} == "no"
++MKPICINSTALL=no
++MKPROFILE=no
++.endif
++
++.if defined(NOLINT)
++MKLINT=no
++.else
++MKLINT?=yes
++.endif
++
++.if defined(NOMAN)
++MKMAN=no
++.else
++MKMAN?=yes
++.endif
++.if ${MKMAN} == "no"
++MKCATPAGES=no
++.endif
++
++.if defined(NONLS)
++MKNLS=no
++.else
++MKNLS?=yes
++.endif
++
++.if defined(NOOBJ)
++MKOBJ=no
++.else
++MKOBJ?=yes
++.endif
++
++.if defined(NOPIC)
++MKPIC=no
++.else
++MKPIC?=yes
++.endif
++
++.if defined(NOPICINSTALL)
++MKPICINSTALL=no
++.else
++MKPICINSTALL?=yes
++.endif
++
++.if defined(NOPROFILE)
++MKPROFILE=no
++.else
++MKPROFILE?=yes
++.endif
++
++.if defined(NOSHARE)
++MKSHARE=no
++.else
++MKSHARE?=yes
++.endif
++.if ${MKSHARE} == "no"
++MKCATPAGES=no
++MKDOC=no
++MKINFO=no
++MKMAN=no
++MKNLS=no
++.endif
++
++
++.endif		# _BSD_OWN_MK_
+--- pmake-1.111.orig/mk/bsd.prog.mk
++++ pmake-1.111/mk/bsd.prog.mk
+@@ -0,0 +1,202 @@
++#	$NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $
++#	@(#)bsd.prog.mk	8.2 (Berkeley) 4/2/94
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.include <bsd.obj.mk>
++.MAIN:		all
++.endif
++
++.PHONY:		cleanprog proginstall scriptsinstall
++realinstall:	proginstall scriptsinstall
++clean cleandir distclean: cleanprog
++
++CFLAGS+=	${COPTS}
++
++# ELF platforms depend on crtbegin.o and crtend.o
++.if ${OBJECT_FMT} == "ELF"
++LIBCRTBEGIN?=	${DESTDIR}/usr/lib/crtbegin.o
++LIBCRTEND?=	${DESTDIR}/usr/lib/crtend.o
++.else
++LIBCRTBEGIN?=
++LIBCRTEND?=
++.endif
++
++LIBCRT0?=	
++
++LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
++LIBC?=		${DESTDIR}/usr/lib/libc.a
++LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
++LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
++LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
++LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
++LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
++LIBDES?=	${DESTDIR}/usr/lib/libdes.a
++LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
++LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
++LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
++LIBKDB?=	${DESTDIR}/usr/lib/libkdb.a
++LIBKRB?=	${DESTDIR}/usr/lib/libkrb.a
++LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
++LIBL?=		${DESTDIR}/usr/lib/libl.a
++LIBM?=		${DESTDIR}/usr/lib/libm.a
++LIBMP?=		${DESTDIR}/usr/lib/libmp.a
++LIBNTP?=	${DESTDIR}/usr/lib/libntp.a
++LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
++LIBPC?=		${DESTDIR}/usr/lib/libpc.a
++LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
++LIBPLOT?=	${DESTDIR}/usr/lib/libplot.a
++LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
++LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
++LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
++LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
++LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
++LIBTELNET?=	${DESTDIR}/usr/lib/libtelnet.a
++LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
++LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
++LIBY?=		${DESTDIR}/usr/lib/liby.a
++LIBZ?=		${DESTDIR}/usr/lib/libz.a
++
++.if defined(SHAREDSTRINGS)
++CLEANFILES+=strings
++.c.o:
++	${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c -
++	@${CC} ${CFLAGS} -c x.c -o ${.TARGET}
++	@rm -f x.c
++
++.cc.o:
++	${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
++	@mv -f x.c x.cc
++	@${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET}
++	@rm -f x.cc
++
++.C.o:
++	${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c -
++	@mv -f x.c x.C
++	@${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET}
++	@rm -f x.C
++.endif
++
++
++.if defined(PROG)
++SRCS?=		${PROG}.c
++
++DPSRCS+=	${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
++CLEANFILES+=	${DPSRCS}
++.if defined(YHEADER)
++CLEANFILES+=	${SRCS:M*.y:.y=.h}
++.endif
++
++.if !empty(SRCS:N*.h:N*.sh)
++OBJS+=		${SRCS:N*.h:N*.sh:R:S/$/.o/g}
++LOBJS+=		${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln}
++.endif
++
++.if defined(OBJS) && !empty(OBJS)
++.NOPATH: ${OBJS}
++.if defined(DESTDIR)
++
++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
++	${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${LIBCRTEND}
++
++.else
++
++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD}
++	${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD}
++
++.endif	# defined(DESTDIR)
++.endif	# defined(OBJS) && !empty(OBJS)
++
++.if !defined(MAN)
++MAN=	${PROG}.1
++.endif	# !defined(MAN)
++.endif	# defined(PROG)
++
++all: ${PROG}
++
++cleanprog:
++	rm -f a.out [Ee]rrs mklog core *.core \
++	    ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES}
++
++.if defined(SRCS)
++afterdepend: .depend
++	@(TMP=/tmp/_depend$$$$; \
++	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \
++	      < .depend > $$TMP; \
++	    mv $$TMP .depend)
++.endif
++
++.if defined(PROG) && !target(proginstall)
++PROGNAME?= ${PROG}
++proginstall:: ${DESTDIR}${BINDIR}/${PROGNAME}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${BINDIR}/${PROGNAME}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${BINDIR}/${PROGNAME}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${BINDIR}/${PROGNAME}
++${DESTDIR}${BINDIR}/${PROGNAME}: ${PROG}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} \
++	    -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET}
++.endif
++
++.if !target(proginstall)
++proginstall::
++.endif
++
++.if defined(SCRIPTS) && !target(scriptsinstall)
++SCRIPTSDIR?=${BINDIR}
++SCRIPTSOWN?=${BINOWN}
++SCRIPTSGRP?=${BINGRP}
++SCRIPTSMODE?=${BINMODE}
++.for S in ${SCRIPTS}
++SCRIPTSDIR_${S}?=${SCRIPTSDIR}
++SCRIPTSOWN_${S}?=${SCRIPTSOWN}
++SCRIPTSGRP_${S}?=${SCRIPTSGRP}
++SCRIPTSMODE_${S}?=${SCRIPTSMODE}
++.if defined(SCRIPTSNAME)
++SCRIPTSNAME_${S} ?= ${SCRIPTSNAME}
++.else
++SCRIPTSNAME_${S} ?= ${S:T:R}
++.endif
++SCRIPTSDIR_${S} ?= ${SCRIPTSDIR}
++scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
++.if !defined(UPDATE)
++.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
++.endif
++.if !defined(BUILD)
++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE
++.endif
++
++.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}
++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S}
++	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \
++	    ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET}
++.endfor
++.endif
++
++.if !target(scriptsinstall)
++scriptsinstall::
++.endif
++
++lint: ${LOBJS}
++.if defined(LOBJS) && !empty(LOBJS)
++	${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD}
++.endif
++
++.include <bsd.man.mk>
++.include <bsd.nls.mk>
++.include <bsd.files.mk>
++.include <bsd.inc.mk>
++.include <bsd.links.mk>
++.include <bsd.dep.mk>
++.include <bsd.sys.mk>
++
++# Make sure all of the standard targets are defined, even if they do nothing.
++regress:
+--- pmake-1.111.orig/mk/bsd.subdir.mk
++++ pmake-1.111/mk/bsd.subdir.mk
+@@ -0,0 +1,34 @@
++#	$NetBSD: bsd.subdir.mk,v 1.31 1999/02/11 05:01:39 tv Exp $
++#	@(#)bsd.subdir.mk	8.1 (Berkeley) 6/8/93
++
++.if !target(__initialized__)
++__initialized__:
++.if exists(${.CURDIR}/../Makefile.inc)
++.include "${.CURDIR}/../Makefile.inc"
++.endif
++.include <bsd.own.mk>
++.MAIN:		all
++.endif
++
++.for dir in ${SUBDIR}
++.if exists(${dir}.${MACHINE})
++__REALSUBDIR+=${dir}.${MACHINE}
++.else
++__REALSUBDIR+=${dir}
++.endif
++.endfor
++
++.for dir in ${__REALSUBDIR}
++.for targ in ${TARGETS}
++.PHONY: ${targ}-${dir}
++${targ}-${dir}: .MAKE
++	@echo "${targ} ===> ${_THISDIR_}${dir}"
++	@cd ${.CURDIR}/${dir}; \
++	${MAKE} "_THISDIR_=${_THISDIR_}${dir}/" ${targ}
++subdir-${targ}: ${targ}-${dir}
++${targ}: subdir-${targ}
++.endfor
++.endfor
++
++# Make sure all of the standard targets are defined, even if they do nothing.
++${TARGETS}:
+--- pmake-1.111.orig/mk/bsd.sys.mk
++++ pmake-1.111/mk/bsd.sys.mk
+@@ -0,0 +1,110 @@
++#	$NetBSD: bsd.sys.mk,v 1.34 1999/01/31 09:17:20 mrg Exp $
++#
++# Overrides used for NetBSD source tree builds.
++
++.if defined(WARNS) && ${WARNS} == 1
++CFLAGS+= -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
++.endif
++.if !defined(NOGCCERROR)
++CFLAGS+= -Werror
++.endif
++CFLAGS+= ${CWARNFLAGS}
++
++.if defined(DESTDIR)
++CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include
++LINTFLAGS+= -d ${DESTDIR}/usr/include
++.endif
++
++.if defined(AUDIT)
++CPPFLAGS+= -D__AUDIT__
++.endif
++
++# Helpers for cross-compiling
++HOST_CC?=	cc
++HOST_CFLAGS?=	-O
++HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c
++HOST_LINK.c?=	${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS}
++
++HOST_CPP?=	cpp
++HOST_CPPFLAGS?=
++
++HOST_LD?=	ld
++HOST_LDFLAGS?=
++
++STRIPPROG?=	strip
++
++
++.SUFFIXES:	.m .o .ln .lo
++
++# Objective C
++# (Defined here rather than in <sys.mk> because `.m' is not just
++#  used for Objective C source)
++.m:
++	${LINK.m} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.m.o:
++	${COMPILE.m} ${.IMPSRC}
++
++# Host-compiled C objects
++.c.lo:
++	${HOST_COMPILE.c} -o ${.TARGET} ${.IMPSRC}
++
++
++.if defined(PARALLEL) || defined(LPREFIX)
++LPREFIX?=yy
++LFLAGS+=-P${LPREFIX}
++# Lex
++.l:
++	${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC}
++	${LINK.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ${LDLIBS} -ll
++	rm -f ${.TARGET:R}.${LPREFIX}.c
++.l.c:
++	${LEX.l} -o${.TARGET} ${.IMPSRC}
++.l.o:
++	${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC}
++	${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c 
++	rm -f ${.TARGET:R}.${LPREFIX}.c
++.l.lo:
++	${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC}
++	${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c 
++	rm -f ${.TARGET:R}.${LPREFIX}.c
++.endif
++
++# Yacc
++.if defined(YHEADER) || defined(YPREFIX)
++.if defined(YPREFIX)
++YFLAGS+=-p${YPREFIX}
++.endif
++.if defined(YHEADER)
++YFLAGS+=-d
++.endif
++.y:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS}
++	rm -f ${.TARGET:R}.tab.c ${.TARGET:R}.tab.h
++.y.h: ${.TARGET:R}.c
++.y.c:
++	${YACC.y} -o ${.TARGET} ${.IMPSRC}
++.y.o:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c
++	rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h
++.y.lo:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c
++	rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h
++.elif defined(PARALLEL)
++.y:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS}
++	rm -f ${.TARGET:R}.tab.c
++.y.c:
++	${YACC.y} -o ${.TARGET} ${.IMPSRC}
++.y.o:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c
++	rm -f ${.TARGET:R}.tab.c
++.y.lo:
++	${YACC.y} -b ${.TARGET:R} ${.IMPSRC}
++	${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c
++	rm -f ${.TARGET:R}.tab.c
++.endif
+--- pmake-1.111.orig/mk/sys.mk
++++ pmake-1.111/mk/sys.mk
+@@ -0,0 +1,207 @@
++#	$NetBSD: sys.mk,v 1.54 1999/03/10 14:06:14 mycroft Exp $
++#	@(#)sys.mk	8.2 (Berkeley) 3/21/94
++
++unix?=		We run Debian GNU.
++
++.SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .cl .p .h .sh .m4
++
++.LIBS:		.a
++
++AR?=		ar
++ARFLAGS?=	rl
++RANLIB?=	ranlib
++
++AS?=		as
++AFLAGS?=
++COMPILE.s?=	${CC} ${AFLAGS} -c
++LINK.s?=	${CC} ${AFLAGS} ${LDFLAGS}
++COMPILE.S?=	${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
++LINK.S?=	${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
++
++CC?=		cc
++.if ${MACHINE_ARCH} == "alpha" || \
++    ${MACHINE_ARCH} == "arm32" || \
++    ${MACHINE_ARCH} == "i386" || \
++    ${MACHINE_ARCH} == "m68k" || \
++    ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \
++    ${MACHINE_ARCH} == "sparc"
++CFLAGS?=	-O2
++.else
++CFLAGS?=	-O
++.endif
++COMPILE.c?=	${CC} ${CFLAGS} ${CPPFLAGS} -c
++LINK.c?=	${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
++
++CXX?=		c++
++CXXFLAGS?=	${CFLAGS}
++COMPILE.cc?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
++LINK.cc?=	${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
++
++OBJC?=		${CC}
++OBJCFLAGS?=	${CFLAGS}
++COMPILE.m?=	${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
++LINK.m?=	${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
++
++CPP?=		cpp
++CPPFLAGS?=	
++
++FC?=		f77
++FFLAGS?=	-O
++RFLAGS?=
++COMPILE.f?=	${FC} ${FFLAGS} -c
++LINK.f?=	${FC} ${FFLAGS} ${LDFLAGS}
++COMPILE.F?=	${FC} ${FFLAGS} ${CPPFLAGS} -c
++LINK.F?=	${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
++COMPILE.r?=	${FC} ${FFLAGS} ${RFLAGS} -c
++LINK.r?=	${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
++
++INSTALL?=	install
++
++LEX?=		lex
++LFLAGS?=
++LEX.l?=		${LEX} ${LFLAGS}
++
++LD?=		ld
++LDFLAGS?=
++
++LINT?=		lint
++LINTFLAGS?=	-chapbxzF
++
++LORDER?=	lorder
++
++MAKE?=		pmake
++
++NM?=		nm
++
++PC?=		pc
++PFLAGS?=
++COMPILE.p?=	${PC} ${PFLAGS} ${CPPFLAGS} -c
++LINK.p?=	${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
++
++SHELL?=		sh
++
++SIZE?=		size
++
++TSORT?= 	tsort
++
++YACC?=		yacc
++YFLAGS?=
++YACC.y?=	${YACC} ${YFLAGS}
++
++# C
++.c:
++	${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.c.o:
++	${COMPILE.c} ${.IMPSRC}
++.c.a:
++	${COMPILE.c} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++.c.ln:
++	${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
++
++# C++
++.cc:
++	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.cc.o:
++	${COMPILE.cc} ${.IMPSRC}
++.cc.a:
++	${COMPILE.cc} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++.C:
++	${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.C.o:
++	${COMPILE.cc} ${.IMPSRC}
++.C.a:
++	${COMPILE.cc} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++# Fortran/Ratfor
++.f:
++	${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.f.o:
++	${COMPILE.f} ${.IMPSRC}
++.f.a:
++	${COMPILE.f} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++.F:
++	${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.F.o:
++	${COMPILE.F} ${.IMPSRC}
++.F.a:
++	${COMPILE.F} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++.r:
++	${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.r.o:
++	${COMPILE.r} ${.IMPSRC}
++.r.a:
++	${COMPILE.r} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++# Pascal
++.p:
++	${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.p.o:
++	${COMPILE.p} ${.IMPSRC}
++.p.a:
++	${COMPILE.p} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++# Assembly
++.s:
++	${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.s.o:
++	${COMPILE.s} ${.IMPSRC}
++.s.a:
++	${COMPILE.s} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++.S:
++	${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS}
++.S.o:
++	${COMPILE.S} ${.IMPSRC}
++.S.a:
++	${COMPILE.S} ${.IMPSRC}
++	${AR} ${ARFLAGS} $@ $*.o
++	rm -f $*.o
++
++# Lex
++.l:
++	${LEX.l} ${.IMPSRC}
++	${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll
++	rm -f lex.yy.c
++.l.c:
++	${LEX.l} ${.IMPSRC}
++	mv lex.yy.c ${.TARGET}
++.l.o:
++	${LEX.l} ${.IMPSRC}
++	${COMPILE.c} -o ${.TARGET} lex.yy.c 
++	rm -f lex.yy.c
++
++# Yacc
++.y:
++	${YACC.y} ${.IMPSRC}
++	${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS}
++	rm -f y.tab.c
++.y.c:
++	${YACC.y} ${.IMPSRC}
++	mv y.tab.c ${.TARGET}
++.y.o:
++	${YACC.y} ${.IMPSRC}
++	${COMPILE.c} -o ${.TARGET} y.tab.c
++	rm -f y.tab.c
++
++# Shell
++.sh:
++	rm -f ${.TARGET}
++	cp ${.IMPSRC} ${.TARGET}
diff --git a/package/pmake/pmake-110_mkdep.patch b/package/pmake/pmake-110_mkdep.patch
new file mode 100644
index 0000000..70435cc
--- /dev/null
+++ b/package/pmake/pmake-110_mkdep.patch
@@ -0,0 +1,230 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- pmake-1.111.orig/mkdep
++++ pmake-1.111/mkdep
+@@ -0,0 +1,113 @@
++#!/bin/sh -
++#
++#	$OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $
++#	$NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $
++#
++# Copyright (c) 1991, 1993
++#	The Regents of the University of California.  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.
++# 3. All advertising materials mentioning features or use of this software
++#    must display the following acknowledgement:
++#	This product includes software developed by the University of
++#	California, Berkeley and its contributors.
++# 4. Neither the name of the University nor the names of its contributors
++#    may be used to endorse or promote products derived from this software
++#    without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
++#
++#	@(#)mkdep.gcc.sh	8.1 (Berkeley) 6/6/93
++#
++
++D=.depend			# default dependency file is .depend
++append=0
++pflag=
++
++while :
++	do case "$1" in
++		# -a appends to the depend file
++		-a)
++			append=1
++			shift ;;
++
++		# -f allows you to select a makefile name
++		-f)
++			D=$2
++			shift; shift ;;
++
++		# the -p flag produces "program: program.c" style dependencies
++		# so .o's don't get produced
++		-p)
++			pflag=p
++			shift ;;
++		*)
++			break ;;
++	esac
++done
++
++if [ $# = 0 ] ; then
++	echo 'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...'
++	exit 1
++fi
++
++DTMP=/tmp/mkdep$$
++TMP=$DTMP/mkdep
++
++um=`umask`
++umask 022
++if ! mkdir $DTMP ; then
++	echo failed to create tmp dir $DTMP
++	exit 1
++fi
++
++umask $um
++trap 'rm -rf $DTMP ; trap 2 ; kill -2 $$' 1 2 3 13 15
++
++if [ x$pflag = x ]; then
++	${CC:-cc} -M "$@" | sed -e 's; \./; ;g' > $TMP
++else
++	${CC:-cc} -M "$@" | sed -e 's;\.o :; :;' -e 's; \./; ;g' > $TMP
++fi
++
++if [ $? != 0 ]; then
++	echo 'mkdep: compile failed.'
++	rm -rf $DTMP
++	exit 1
++fi
++
++if [ $append = 1 ]; then
++	cat $TMP >> $D
++	if [ $? != 0 ]; then
++		echo 'mkdep: append failed.'
++		rm -rf $DTMP
++		exit 1
++	fi
++else
++	mv $TMP $D
++	if [ $? != 0 ]; then
++		echo 'mkdep: rename failed.'
++		rm -rf $DTMP
++		exit 1
++	fi
++fi
++
++rm -rf $DTMP
++exit 0
+--- pmake-1.111.orig/mkdep.1
++++ pmake-1.111/mkdep.1
+@@ -0,0 +1,106 @@
++.\"	$OpenBSD: mkdep.1,v 1.3 1998/09/26 19:55:08 aaron Exp $
++.\"	$NetBSD: mkdep.1,v 1.3 1994/12/23 07:34:56 jtc Exp $
++.\"
++.\" Copyright (c) 1987, 1990, 1993
++.\"	The Regents of the University of California.  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.
++.\" 3. All advertising materials mentioning features or use of this software
++.\"    must display the following acknowledgement:
++.\"	This product includes software developed by the University of
++.\"	California, Berkeley and its contributors.
++.\" 4. Neither the name of the University nor the names of its contributors
++.\"    may be used to endorse or promote products derived from this software
++.\"    without specific prior written permission.
++.\"
++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
++.\"
++.\"     @(#)mkdep.1	8.1 (Berkeley) 6/6/93
++.\"
++.Dd June 6, 1993
++.Dt MKDEP 1
++.Os BSD 4.2
++.Sh NAME
++.Nm mkdep
++.Nd construct Makefile dependency list
++.Sh SYNOPSIS
++.Nm mkdep
++.Op Fl ap
++.Op Fl f Ar file
++.Op Ar flags
++.Ar file Op Ar ...
++.Sh DESCRIPTION
++.Nm mkdep
++takes a set of flags for the C compiler and a list
++of C source files as arguments and constructs a set of include
++file dependencies which are written into the file ``.depend''.
++An example of its use in a Makefile might be:
++.Bd -literal -offset indent
++CFLAGS= -O -I../include
++SRCS= file1.c file2.c
++
++depend:
++	mkdep ${CFLAGS} ${SRCS}
++.Ed
++.Pp
++where the macro SRCS is the list of C source files and the macro
++CFLAGS is the list of flags for the C compiler.
++.Pp
++The options are as follows:
++.Bl -tag -width Ds
++.It Fl a
++Append to the output file,
++so that multiple
++.Nm mkdep Ns 's
++may be run from a single Makefile.
++.It Fl f Ar file
++Write the include file dependencies to 
++.Ar file ,
++instead of the default ``.depend''.
++.It Fl p
++Cause
++.Nm mkdep
++to produce dependencies of the form:
++.Bd -literal -offset indent
++program: program.c
++.Ed
++.Pp
++so that subsequent makes will produce
++.Ar program
++directly from its C module rather than using an intermediate
++.Pa \&.o
++module.
++This is useful for programs whose source is contained in a single
++module.
++.El
++.Sh SEE ALSO
++.Xr cc 1 ,
++.Xr cpp 1 ,
++.Xr make 1
++.Sh FILES
++.Bl -tag -width .depend -compact
++.It Pa .depend
++file containing list of dependencies
++.El
++.Sh HISTORY
++The
++.Nm mkdep
++command appeared in
++.Bx 4.3 Tahoe .
diff --git a/package/pmake/pmake-120_fixes.patch b/package/pmake/pmake-120_fixes.patch
new file mode 100644
index 0000000..5a57e4e
--- /dev/null
+++ b/package/pmake/pmake-120_fixes.patch
@@ -0,0 +1,266 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- pmake-1.111.orig/arch.c
++++ pmake-1.111/arch.c
+@@ -173,7 +173,7 @@
+ static FILE *ArchFindMember(char *, char *, struct ar_hdr *, const char *);
+ #if defined(__svr4__) || defined(__SVR4) || defined(__ELF__)
+ #define SVR4ARCHIVES
+-static int ArchSVR4Entry(Arch *, char *, size_t, FILE *);
++static int ArchSVR4Entry(Arch *, char **, size_t, FILE *);
+ #endif
+ 
+ #ifdef CLEANUP
+@@ -535,7 +535,7 @@
+     Arch	  *ar;	      /* Archive descriptor */
+     Hash_Entry	  *he;	      /* Entry containing member's description */
+     struct ar_hdr arh;        /* archive-member header for reading archive */
+-    char	  memName[MAXPATHLEN+1];
++    char	  *memName = NULL; 
+     	    	    	    /* Current member name while hashing. */
+ 
+     /*
+@@ -617,7 +617,6 @@
+     ar->fnametab = NULL;
+     ar->fnamesize = 0;
+     Hash_InitTable(&ar->members, -1);
+-    memName[AR_MAX_NAME_LEN] = '\0';
+ 
+     while (fread ((char *)&arh, sizeof (struct ar_hdr), 1, arch) == 1) {
+ 	if (strncmp ( arh.ar_fmag, ARFMAG, sizeof (arh.ar_fmag)) != 0) {
+@@ -636,10 +635,9 @@
+ 	    arh.ar_size[sizeof(arh.ar_size)-1] = '\0';
+ 	    size = (int) strtol(arh.ar_size, NULL, 10);
+ 
+-	    (void) strncpy (memName, arh.ar_name, sizeof(arh.ar_name));
+-	    for (cp = &memName[AR_MAX_NAME_LEN]; *cp == ' '; cp--) {
+-		continue;
+-	    }
++	    memName = estrdup(arh.ar_name);
++
++	    for(cp = strchr(memName, 0)-1; *cp == ' '; cp--);
+ 	    cp[1] = '\0';
+ 
+ #ifdef SVR4ARCHIVES
+@@ -650,7 +648,7 @@
+ 		/*
+ 		 * svr4 magic mode; handle it
+ 		 */
+-		switch (ArchSVR4Entry(ar, memName, size, arch)) {
++		switch (ArchSVR4Entry(ar, &memName, size, arch)) {
+ 		case -1:  /* Invalid data */
+ 		    goto badarch;
+ 		case 0:	  /* List of files entry */
+@@ -675,8 +673,8 @@
+ 
+ 		unsigned int elen = atoi(&memName[sizeof(AR_EFMT1)-1]);
+ 
+-		if (elen > MAXPATHLEN)
+-			goto badarch;
++		memName = erealloc(memName, elen+1);
++		
+ 		if (fread (memName, elen, 1, arch) != 1)
+ 			goto badarch;
+ 		memName[elen] = '\0';
+@@ -692,6 +690,9 @@
+ 	    memcpy ((Address)Hash_GetValue (he), (Address)&arh,
+ 		sizeof (struct ar_hdr));
+ 	}
++	/* time to free memName */
++	free(memName);
++
+ 	fseek (arch, (size + 1) & ~1, SEEK_CUR);
+     }
+ 
+@@ -742,15 +743,15 @@
+  *-----------------------------------------------------------------------
+  */
+ static int
+-ArchSVR4Entry(Arch *ar, char *name, size_t size, FILE *arch)
++ArchSVR4Entry(Arch *ar, char **name, size_t size, FILE *arch)
+ {
+ #define ARLONGNAMES1 "//"
+ #define ARLONGNAMES2 "/ARFILENAMES"
+     size_t entry;
+     char *ptr, *eptr;
+ 
+-    if (strncmp(name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 ||
+-	strncmp(name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) {
++    if (strncmp(*name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 ||
++	strncmp(*name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) {
+ 
+ 	if (ar->fnametab != NULL) {
+ 	    if (DEBUG(ARCH)) {
+@@ -793,30 +794,30 @@
+ 	return 0;
+     }
+ 
+-    if (name[1] == ' ' || name[1] == '\0')
++    if ((*name)[1] == ' ' || (*name)[1] == '\0')
+ 	return 2;
+ 
+-    entry = (size_t) strtol(&name[1], &eptr, 0);
+-    if ((*eptr != ' ' && *eptr != '\0') || eptr == &name[1]) {
++    entry = (size_t) strtol(&(*name)[1], &eptr, 0);
++    if ((*eptr != ' ' && *eptr != '\0') || eptr == &(*name)[1]) {
+ 	if (DEBUG(ARCH)) {
+-	    printf("Could not parse SVR4 name %s\n", name);
++	    printf("Could not parse SVR4 name %s\n", *name);
+ 	}
+ 	return 2;
+     }
+     if (entry >= ar->fnamesize) {
+ 	if (DEBUG(ARCH)) {
+ 	    printf("SVR4 entry offset %s is greater than %lu\n",
+-		   name, (u_long)ar->fnamesize);
++		   *name, (u_long)ar->fnamesize);
+ 	}
+ 	return 2;
+     }
+ 
+     if (DEBUG(ARCH)) {
+-	printf("Replaced %s with %s\n", name, &ar->fnametab[entry]);
++	printf("Replaced %s with %s\n", *name, &ar->fnametab[entry]);
+     }
+ 
+-    (void) strncpy(name, &ar->fnametab[entry], MAXPATHLEN);
+-    name[MAXPATHLEN] = '\0';
++		free(*name);
++		*name = estrdup(&ar->fnametab[entry]);
+     return 1;
+ }
+ #endif
+@@ -926,12 +927,9 @@
+ 		isdigit((unsigned char)arhPtr->ar_name[sizeof(AR_EFMT1) - 1])) {
+ 
+ 		unsigned int elen = atoi(&arhPtr->ar_name[sizeof(AR_EFMT1)-1]);
+-		char ename[MAXPATHLEN];
++		char *ename = NULL;
+ 
+-		if (elen > MAXPATHLEN) {
+-			fclose (arch);
+-			return NULL;
+-		}
++		ename = emalloc(elen+1);
+ 		if (fread (ename, elen, 1, arch) != 1) {
+ 			fclose (arch);
+ 			return NULL;
+@@ -945,6 +943,8 @@
+ 			fseek (arch, -sizeof(struct ar_hdr) - elen, SEEK_CUR);
+ 			return (arch);
+ 		}
++		/* time to free ename */
++		free(ename);
+ 		fseek (arch, -elen, SEEK_CUR);
+ 		goto skip;
+ 	} else
+--- pmake-1.111.orig/buf.c
++++ pmake-1.111/buf.c
+@@ -192,7 +192,8 @@
+ {
+ 
+     if (numBytesPtr != (int *)NULL) {
+-	*numBytesPtr = bp->inPtr - bp->outPtr;
++	intptr_t num = bp->inPtr - bp->outPtr;
++	*numBytesPtr = num;
+     }
+ 
+     return (bp->outPtr);
+--- pmake-1.111.orig/compat.c
++++ pmake-1.111/compat.c
+@@ -130,7 +130,7 @@
+ 
+     Shell_Init();		/* setup default shell */
+     
+-    for (cp = "#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) {
++    for (cp = "~#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) {
+ 	meta[(unsigned char) *cp] = 1;
+     }
+     /*
+@@ -498,7 +498,7 @@
+ 	    }
+ 	    goto cohorts;
+ 	} else if (DEBUG(MAKE)) {
+-	    printf("out-of-date.\n");
++	    printf("out-of-date\n");
+ 	}
+ 
+ 	/*
+--- pmake-1.111.orig/job.c
++++ pmake-1.111/job.c
+@@ -2162,7 +2162,8 @@
+ 	    (void) fprintf(stdout, "Remaking `%s'\n", gn->name);
+   	    (void) fflush(stdout);
+ 	    (void) strcpy(job->outFile, TMPPAT);
+-	    job->outFd = mkstemp(job->outFile);
++	    if ((job->outFd = mkstemp(job->outFile)) == -1)
++	       Punt("Cannot create temp file: %s", strerror(errno));
+ 	    (void) fcntl(job->outFd, F_SETFD, 1);
+ 	}
+     }
+--- pmake-1.111.orig/main.c
++++ pmake-1.111/main.c
+@@ -825,7 +825,10 @@
+ 	 * in a different format).
+ 	 */
+ #ifdef POSIX
+-	Main_ParseArgLine(getenv("MAKEFLAGS"));
++	/*
++	 * If we are called by GNU make, do not read MAKEFLAGS.
++	 */
++	Main_ParseArgLine(getenv(getenv("MAKELEVEL") ? "MAKE" : "MAKEFLAGS"));
+ #else
+ 	Main_ParseArgLine(getenv("MAKE"));
+ #endif
+@@ -1149,6 +1152,9 @@
+ 	}
+ 	free(path);
+ 	return(TRUE);
++	/* `path' is not freed before return because its
++	 * pointer is stored somewhere else
++	 */
+ }
+ 
+ 
+--- pmake-1.111.orig/make.1
++++ pmake-1.111/make.1
+@@ -33,7 +33,7 @@
+ .Dt MAKE 1
+ .Os
+ .Sh NAME
+-.Nm make
++.Nm pmake
+ .Nd maintain program dependencies
+ .Sh SYNOPSIS
+ .Nm
+@@ -1233,7 +1233,7 @@
+ .It Ic defined
+ Takes a variable name as an argument and evaluates to true if the variable
+ has been defined.
+-.It Ic make
++.It Ic pmake
+ Takes a target name as an argument and evaluates to true if the target
+ was specified as part of
+ .Nm Ns 's
+@@ -1602,7 +1602,6 @@
+ .Sh SEE ALSO
+ .Xr mkdep 1
+ .Sh HISTORY
+-A
+-.Nm
++A make
+ command appeared in
+ .At v7 .
+--- pmake-1.111.orig/var.c
++++ pmake-1.111/var.c
+@@ -124,6 +124,7 @@
+  */
+ 
+ #ifndef NO_REGEX
++#include    <stdio.h>
+ #include    <sys/types.h>
+ #include    <regex.h>
+ #endif
diff --git a/package/pmake/pmake-130_maxpathlen.patch b/package/pmake/pmake-130_maxpathlen.patch
new file mode 100644
index 0000000..fa8fd5f
--- /dev/null
+++ b/package/pmake/pmake-130_maxpathlen.patch
@@ -0,0 +1,39 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -u pmake-1.111/main.c pmake-1.111/main.c
+--- pmake-1.111/main.c
++++ pmake-1.111/main.c
+@@ -636,6 +636,17 @@
+ 	char found_path[MAXPATHLEN + 1];	/* for searching for sys.mk */
+ 	struct timeval rightnow;		/* to initialize random seed */
+ 
++#ifdef MAXPATHLEN_UNDEFINED
++	if (sysconf(_PC_PATH_MAX) > MAXPATHLEN) {
++		fprintf(stderr, "This operating system runs with "
++		    "sysconf(_PC_PATH_MAX) > MAXPATHLEN\n(%ld > %ld). "
++		    "Please change the guesstimated value at the bottom\n"
++		    "of 'make.h' and recompile, or reduce the actual "
++		    "value.\n", sysconf(_PC_PATH_MAX), (long)MAXPATHLEN);
++		return (255);
++	}
++#endif
++
+ 	/*
+ 	 * Set the seed to produce a different random sequences
+ 	 * on each program execution.
+--- pmake-1.111.orig/make.h
++++ pmake-1.111/make.h
+@@ -476,4 +476,10 @@
+ #define MAX(a, b) ((a > b) ? a : b)
+ #endif
+ 
++/* maybe Debian GNU/HURD */
++#ifndef MAXPATHLEN
++#define MAXPATHLEN	4096	/* some sensible value */
++#define MAXPATHLEN_UNDEFINED	/* triggers check in main.c */
++#endif
++
+ #endif /* _MAKE_H_ */
diff --git a/package/pmake/pmake-140_multiarch.patch b/package/pmake/pmake-140_multiarch.patch
new file mode 100644
index 0000000..aef8fd3
--- /dev/null
+++ b/package/pmake/pmake-140_multiarch.patch
@@ -0,0 +1,354 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+ Makefile.boot  |    5 +-
+ arch.c         |    9 ---
+ main.c         |   31 ++++++++++++
+ make.1         |    1 
+ mk/bsd.lib.mk  |    8 +++
+ mk/bsd.own.mk  |    2 
+ mk/bsd.prog.mk |  136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 7 files changed, 179 insertions(+), 13 deletions(-)
+
+--- a/arch.c
++++ b/arch.c
+@@ -146,15 +146,6 @@ __RCSID("$NetBSD: arch.c,v 1.44 2005/02/
+ #include    "dir.h"
+ #include    "config.h"
+ 
+-#ifdef TARGET_MACHINE
+-#undef MAKE_MACHINE
+-#define MAKE_MACHINE TARGET_MACHINE
+-#endif
+-#ifdef TARGET_MACHINE_ARCH
+-#undef MAKE_MACHINE_ARCH
+-#define MAKE_MACHINE_ARCH TARGET_MACHINE_ARCH
+-#endif
+-
+ static Lst	  archives;   /* Lst of archives we've already examined */
+ 
+ typedef struct Arch {
+--- a/main.c
++++ b/main.c
+@@ -146,6 +146,19 @@ __RCSID("$NetBSD: main.c,v 1.111 2005/06
+ #define	DEFMAXLOCAL DEFMAXJOBS
+ #endif	/* DEFMAXLOCAL */
+ 
++#ifdef TARGET_MACHINE
++#undef MAKE_MACHINE
++#define MAKE_MACHINE TARGET_MACHINE
++#endif
++#ifdef TARGET_MACHINE_ARCH
++#undef MAKE_MACHINE_ARCH
++#define MAKE_MACHINE_ARCH TARGET_MACHINE_ARCH
++#endif
++#ifdef TARGET_MACHINE_MULTIARCH
++#undef MAKE_MACHINE_MULTIARCH
++#define MAKE_MACHINE_MULTIARCH TARGET_MACHINE_MULTIARCH
++#endif
++
+ Lst			create;		/* Targets to be made */
+ time_t			now;		/* Time at start of make */
+ GNode			*DEFAULT;	/* .DEFAULT node */
+@@ -628,6 +641,7 @@ main(int argc, char **argv)
+ 	char mdpath[MAXPATHLEN];
+     	char *machine = getenv("MACHINE");
+ 	const char *machine_arch = getenv("MACHINE_ARCH");
++	const char *machine_multiarch = getenv("MACHINE_MULTIARCH");
+ 	char *syspath = getenv("MAKESYSPATH");
+ 	Lst sysMkPath;			/* Path of sys.mk */
+ 	char *cp = NULL, *start;
+@@ -711,8 +725,8 @@ main(int argc, char **argv)
+ 	 * so we can share an executable for similar machines.
+ 	 * (i.e. m68k: amiga hp300, mac68k, sun3, ...)
+ 	 *
+-	 * Note that both MACHINE and MACHINE_ARCH are decided at
+-	 * run-time.
++	 * Note that all of MACHINE, MACHINE_ARCH and MACHINE_MULTIARCH
++	 * are decided at run-time.
+ 	 */
+ 	if (!machine) {
+ #ifdef MAKE_NATIVE
+@@ -745,6 +759,18 @@ main(int argc, char **argv)
+ #endif
+ 	}
+ 
++	if (!machine_multiarch) {
++#ifndef MACHINE_MULTIARCH
++#ifdef MAKE_MACHINE_MULTIARCH
++	    machine_multiarch = MAKE_MACHINE_MULTIARCH;
++#else
++	    machine_multiarch = "unknown-unknown-unknown";
++#endif
++#else
++	    machine_multiarch = MACHINE_MULTIARCH;
++#endif
++	}
++
+ 	/*
+ 	 * Just in case MAKEOBJDIR wants us to do something tricky.
+ 	 */
+@@ -753,6 +779,7 @@ main(int argc, char **argv)
+ 	Var_Set(".CURDIR", curdir, VAR_GLOBAL, 0);
+ 	Var_Set("MACHINE", machine, VAR_GLOBAL, 0);
+ 	Var_Set("MACHINE_ARCH", machine_arch, VAR_GLOBAL, 0);
++	Var_Set("MACHINE_MULTIARCH", machine_multiarch, VAR_GLOBAL, 0);
+ #ifdef MAKE_VERSION
+ 	Var_Set("MAKE_VERSION", MAKE_VERSION, VAR_GLOBAL, 0);
+ #endif
+--- a/make.1
++++ b/make.1
+@@ -1569,6 +1569,7 @@ If no sources are specified, any previou
+ uses the following environment variables, if they exist:
+ .Ev MACHINE ,
+ .Ev MACHINE_ARCH ,
++.Ev MACHINE_MULTIARCH ,
+ .Ev MAKE ,
+ .Ev MAKEFLAGS ,
+ .Ev MAKEOBJDIR ,
+--- a/Makefile.boot
++++ b/Makefile.boot
+@@ -4,7 +4,8 @@
+ #
+ # You only want to use this if you aren't running NetBSD.
+ #
+-# modify MACHINE and MACHINE_ARCH as appropriate for your target architecture
++# modify MACHINE, MACHINE_ARCH and MACHINE_MULTIARCH as appropriate for
++# your target architecture
+ #
+ CC=gcc -O -g
+ 
+@@ -13,11 +14,13 @@ CC=gcc -O -g
+ 
+ MACHINE=i386
+ MACHINE_ARCH=i386
++MACHINE_MULTIARCH=i386-linux-gnu
+ # tested on HP-UX 10.20
+ #MAKE_MACHINE=hp700
+ #MAKE_MACHINE_ARCH=hppa
+ CFLAGS= -DTARGET_MACHINE=\"${MACHINE}\" \
+ 	-DTARGET_MACHINE_ARCH=\"${MACHINE_ARCH}\" \
++	-DTARGET_MACHINE_MULTIARCH=\"${MACHINE_MULTIARCH}\" \
+ 	-DMAKE_MACHINE=\"${MACHINE}\"
+ LIBS=
+ 
+--- a/mk/bsd.prog.mk
++++ b/mk/bsd.prog.mk
+@@ -19,8 +19,16 @@ CFLAGS+=	${COPTS}
+ 
+ # ELF platforms depend on crtbegin.o and crtend.o
+ .if ${OBJECT_FMT} == "ELF"
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbegin.o)
++LIBCRTBEGIN?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbegin.o
++.else
+ LIBCRTBEGIN?=	${DESTDIR}/usr/lib/crtbegin.o
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtend.o)
++LIBCRTEND?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtend.o
++.else
+ LIBCRTEND?=	${DESTDIR}/usr/lib/crtend.o
++.endif
+ .else
+ LIBCRTBEGIN?=
+ LIBCRTEND?=
+@@ -28,38 +36,166 @@ LIBCRTEND?=
+ 
+ LIBCRT0?=	
+ 
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libbz2.a)
++LIBBZ2?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libbz2.a
++.else
+ LIBBZ2?=	${DESTDIR}/usr/lib/libbz2.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc.a)
++LIBC?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc.a
++.else
+ LIBC?=		${DESTDIR}/usr/lib/libc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc_pic.a)
++LIBC_PIC?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc_pic.a
++.else
+ LIBC_PIC?=	${DESTDIR}/usr/lib/libc_pic.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcompat.a)
++LIBCOMPAT?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcompat.a
++.else
+ LIBCOMPAT?=	${DESTDIR}/usr/lib/libcompat.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcrypt.a)
++LIBCRYPT?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcrypt.a
++.else
+ LIBCRYPT?=	${DESTDIR}/usr/lib/libcrypt.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcurses.a)
++LIBCURSES?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcurses.a
++.else
+ LIBCURSES?=	${DESTDIR}/usr/lib/libcurses.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdbm.a)
++LIBDBM?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdbm.a
++.else
+ LIBDBM?=	${DESTDIR}/usr/lib/libdbm.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdes.a)
++LIBDES?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdes.a
++.else
+ LIBDES?=	${DESTDIR}/usr/lib/libdes.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libedit.a)
++LIBEDIT?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libedit.a
++.else
+ LIBEDIT?=	${DESTDIR}/usr/lib/libedit.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgcc.a)
++LIBGCC?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgcc.a
++.else
+ LIBGCC?=	${DESTDIR}/usr/lib/libgcc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgnumalloc.a)
++LIBGNUMALLOC?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgnumalloc.a
++.else
+ LIBGNUMALLOC?=	${DESTDIR}/usr/lib/libgnumalloc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkdb.a)
++LIBKDB?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkdb.a
++.else
+ LIBKDB?=	${DESTDIR}/usr/lib/libkdb.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkrb.a)
++LIBKRB?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkrb.a
++.else
+ LIBKRB?=	${DESTDIR}/usr/lib/libkrb.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkvm.a)
++LIBKVM?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkvm.a
++.else
+ LIBKVM?=	${DESTDIR}/usr/lib/libkvm.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libl.a)
++LIBL?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libl.a
++.else
+ LIBL?=		${DESTDIR}/usr/lib/libl.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libm.a)
++LIBM?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libm.a
++.else
+ LIBM?=		${DESTDIR}/usr/lib/libm.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libmp.a)
++LIBMP?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libmp.a
++.else
+ LIBMP?=		${DESTDIR}/usr/lib/libmp.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libntp.a)
++LIBNTP?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libntp.a
++.else
+ LIBNTP?=	${DESTDIR}/usr/lib/libntp.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libobjc.a)
++LIBOBJC?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libobjc.a
++.else
+ LIBOBJC?=	${DESTDIR}/usr/lib/libobjc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpc.a)
++LIBPC?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpc.a
++.else
+ LIBPC?=		${DESTDIR}/usr/lib/libpc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpcap.a)
++LIBPCAP?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpcap.a
++.else
+ LIBPCAP?=	${DESTDIR}/usr/lib/libpcap.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libplot.a)
++LIBPLOT?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libplot.a
++.else
+ LIBPLOT?=	${DESTDIR}/usr/lib/libplot.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libposix.a)
++LIBPOSIX?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libposix.a
++.else
+ LIBPOSIX?=	${DESTDIR}/usr/lib/libposix.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libresolv.a)
++LIBRESOLV?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libresolv.a
++.else
+ LIBRESOLV?=	${DESTDIR}/usr/lib/libresolv.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/librpcsvc.a)
++LIBRPCSVC?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/librpcsvc.a
++.else
+ LIBRPCSVC?=	${DESTDIR}/usr/lib/librpcsvc.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libskey.a)
++LIBSKEY?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libskey.a
++.else
+ LIBSKEY?=	${DESTDIR}/usr/lib/libskey.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtermcap.a)
++LIBTERMCAP?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtermcap.a
++.else
+ LIBTERMCAP?=	${DESTDIR}/usr/lib/libtermcap.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtelnet.a)
++LIBTELNET?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtelnet.a
++.else
+ LIBTELNET?=	${DESTDIR}/usr/lib/libtelnet.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libutil.a)
++LIBUTIL?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libutil.a
++.else
+ LIBUTIL?=	${DESTDIR}/usr/lib/libutil.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libwrap.a)
++LIBWRAP?=	${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libwrap.a
++.else
+ LIBWRAP?=	${DESTDIR}/usr/lib/libwrap.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/liby.a)
++LIBY?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/liby.a
++.else
+ LIBY?=		${DESTDIR}/usr/lib/liby.a
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libz.a)
++LIBZ?=		${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libz.a
++.else
+ LIBZ?=		${DESTDIR}/usr/lib/libz.a
++.endif
+ 
+ .if defined(SHAREDSTRINGS)
+ CLEANFILES+=strings
+--- a/mk/bsd.lib.mk
++++ b/mk/bsd.lib.mk
+@@ -115,9 +115,17 @@ APICFLAGS?= -k
+ .if ${OBJECT_FMT} == "ELF"
+ SHLIB_SOVERSION=${SHLIB_MAJOR}
+ SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION}
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbeginS.o)
++SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbeginS.o
++.else
+ SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o
++.endif
++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtendS.o)
++SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtendS.o
++.else
+ SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o
+ .endif
++.endif
+ 
+ CFLAGS+=	${COPTS}
+ 
+--- a/mk/bsd.own.mk
++++ b/mk/bsd.own.mk
+@@ -42,7 +42,7 @@ INFOGRP?=	root
+ INFOOWN?=	root
+ INFOMODE?=	${NONBINMODE}
+ 
+-LIBDIR?=	/usr/lib
++LIBDIR?=	/usr/lib/${MACHINE_MULTIARCH}
+ LINTLIBDIR?=	/usr/libdata/lint
+ LIBGRP?=	${BINGRP}
+ LIBOWN?=	${BINOWN}
diff --git a/package/pmake/pmake-150_mktemp.patch b/package/pmake/pmake-150_mktemp.patch
new file mode 100644
index 0000000..5ccb2a8
--- /dev/null
+++ b/package/pmake/pmake-150_mktemp.patch
@@ -0,0 +1,31 @@
+Patch vampirised from Debian's package pmake_1.111-3.2:
+    http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+Index: pmake-1.111/mk/bsd.lib.mk
+===================================================================
+--- pmake-1.111.orig/mk/bsd.lib.mk	2011-05-29 15:38:35.843998781 +0200
++++ pmake-1.111/mk/bsd.lib.mk	2011-05-29 15:39:16.091998780 +0200
+@@ -299,7 +299,7 @@
+ 
+ .if defined(SRCS)
+ afterdepend: .depend
+-	@(TMP=/tmp/_depend$$$$; \
++	@(TMP=`mktemp -t _dependXXXXXXXXXX` || exit $$?; \
+ 	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \
+ 	      < .depend > $$TMP; \
+ 	    mv $$TMP .depend)
+Index: pmake-1.111/mk/bsd.prog.mk
+===================================================================
+--- pmake-1.111.orig/mk/bsd.prog.mk	2011-05-29 15:39:21.999998780 +0200
++++ pmake-1.111/mk/bsd.prog.mk	2011-05-29 15:39:30.923998779 +0200
+@@ -260,7 +260,7 @@
+ 
+ .if defined(SRCS)
+ afterdepend: .depend
+-	@(TMP=/tmp/_depend$$$$; \
++	@(TMP=`mktemp -t _dependXXXXXXXXXX` || exit $$?; \
+ 	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \
+ 	      < .depend > $$TMP; \
+ 	    mv $$TMP .depend)
diff --git a/package/pmake/pmake.mk b/package/pmake/pmake.mk
new file mode 100644
index 0000000..efd36f5
--- /dev/null
+++ b/package/pmake/pmake.mk
@@ -0,0 +1,46 @@
+#############################################################
+#
+# pmake
+#
+##############################################################
+
+PMAKE_VERSION       = 1.111
+PMAKE_SOURCE        = pmake_$(PMAKE_VERSION).orig.tar.gz
+PMAKE_SITE          = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake
+PMAKE_LICENSE       = BSD-3c BSD-4c
+# No license file. License texts are spread in the boilerplates
+# of each individual source files; some are BSD-3c, some BSD-4c.
+
+# CFLAGS vampirised from Debian's rules, adapted to buildroot variables
+HOST_PMAKE_CFLAGS = -O2 -g -Wall -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= -I.        \
+                -DMACHINE=\\\"buildroot\\\"                                 \
+                -DMACHINE_ARCH=\\\"$(ARCH)\\\" -DMACHINE_MULTIARCH=\\\"\\\" \
+                -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME \
+                -DHAVE_VSNPRINTF -D_GNU_SOURCE -Wno-unused
+
+define HOST_PMAKE_BUILD_CMDS
+	$(MAKE) -C $(@D) -f Makefile.boot CFLAGS="$(HOST_PMAKE_CFLAGS)"
+endef
+
+# The generated file is named bmake, but we want pmake; but:
+#  - pmake uses support files (in  mk/)
+#  - it's not possible to tell pmake, at build-time, where to expect
+#    these support files, and pmake expects them in /usr/share/mk/
+#  - but pmake has an option to override that search path at runtime
+#  - so we install bmake as bmake
+#  - and we install a wraper named pmake that calls pmake with the
+#    appropriate search path
+define HOST_PMAKE_INSTALL_CMDS
+	$(INSTALL) -m 0755 $(@D)/bmake $(HOST_DIR)/usr/bin/bmake
+	$(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/pmake/mk
+	for mk in $(@D)/mk/*; do                                        \
+	    $(INSTALL) -m 0644 $${mk} $(HOST_DIR)/usr/share/pmake/mk;   \
+	done
+	printf '#!/bin/sh\nexec %s -m %s $$@\n' \
+	       $(HOST_DIR)/usr/bin/bmake        \
+	       $(HOST_DIR)/usr/share/pmake/mk   \
+	       >$(HOST_DIR)/usr/bin/pmake
+	chmod 0755 $(HOST_DIR)/usr/bin/pmake
+endef
+
+$(eval $(host-generic-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 15/19] package/libbsd: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (13 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 14/19] package/pmake: add host pmake Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 16/19] package/libedit2: " Yann E. MORIN
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in        |    1 +
 package/libbsd/Config.in |   10 ++++++++++
 package/libbsd/libbsd.mk |   21 +++++++++++++++++++++
 3 files changed, 32 insertions(+), 0 deletions(-)
 create mode 100644 package/libbsd/Config.in
 create mode 100644 package/libbsd/libbsd.mk

diff --git a/package/Config.in b/package/Config.in
index 6c16be2..84036fc 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -510,6 +510,7 @@ source "package/libargtable2/Config.in"
 source "package/argp-standalone/Config.in"
 source "package/boost/Config.in"
 source "package/libatomic_ops/Config.in"
+source "package/libbsd/Config.in"
 source "package/libcap/Config.in"
 source "package/libcap-ng/Config.in"
 source "package/libdaemon/Config.in"
diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in
new file mode 100644
index 0000000..7f2b55a
--- /dev/null
+++ b/package/libbsd/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBBSD
+	bool "libbsd"
+	help
+	  This library provides useful functions commonly found on BSD
+	  systems, and lacking on others like GNU systems, thus making
+	  it easier to port projects with strong BSD origins, without
+	  needing to embed the same code over and over again on each
+	  project.
+	  
+	  http://libbsd.freedesktop.org/
diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk
new file mode 100644
index 0000000..3af1002
--- /dev/null
+++ b/package/libbsd/libbsd.mk
@@ -0,0 +1,21 @@
+#############################################################
+#
+# libbsd
+#
+#############################################################
+
+LIBBSD_VERSION         = 0.4.2
+LIBBSD_SOURCE          = libbsd-$(LIBBSD_VERSION).tar.gz
+LIBBSD_SITE            = http://libbsd.freedesktop.org/releases
+LIBBSD_LICENSE         = BSD-3c MIT
+LIBBSD_LICENSE_FILES   = LICENSE
+
+# man-pages are BSD-4c, so that license only matters
+# if doc is kept in the target rootfs
+ifeq ($(BR2_HAVE_DOCUMENTATION),y)
+LIBBSD_LICENSE        += (libraries), BSD-4c (documentation)
+endif
+
+LIBBSD_INSTALL_STAGING = YES
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 16/19] package/libedit2: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (14 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 15/19] package/libbsd: new package Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 17/19] package/ceph: " Yann E. MORIN
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
 package/Config.in                                  |    1 +
 package/libedit2/Config.in                         |    9 +++
 package/libedit2/libedit2-01-Makefile.patch        |   25 +++++++
 package/libedit2/libedit2-02-el.c-issetugid.patch  |   24 ++++++
 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch |   40 +++++++++++
 .../libedit2/libedit2-04-readline.h-stdio.patch    |   17 +++++
 .../libedit2/libedit2-08-readline-history.h.patch  |   20 +++++
 .../libedit2/libedit2-10-define_SIZE_T_MAX.patch   |   18 +++++
 .../libedit2/libedit2-12-libedit-Makefile.patch    |   54 ++++++++++++++
 package/libedit2/libedit2-20-fortify.patch         |   23 ++++++
 package/libedit2/libedit2.mk                       |   75 ++++++++++++++++++++
 package/libedit2/libedit2.pc                       |   13 ++++
 12 files changed, 319 insertions(+), 0 deletions(-)
 create mode 100644 package/libedit2/Config.in
 create mode 100644 package/libedit2/libedit2-01-Makefile.patch
 create mode 100644 package/libedit2/libedit2-02-el.c-issetugid.patch
 create mode 100644 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
 create mode 100644 package/libedit2/libedit2-04-readline.h-stdio.patch
 create mode 100644 package/libedit2/libedit2-08-readline-history.h.patch
 create mode 100644 package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
 create mode 100644 package/libedit2/libedit2-12-libedit-Makefile.patch
 create mode 100644 package/libedit2/libedit2-20-fortify.patch
 create mode 100644 package/libedit2/libedit2.mk
 create mode 100644 package/libedit2/libedit2.pc

diff --git a/package/Config.in b/package/Config.in
index 84036fc..04aef11 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -540,6 +540,7 @@ endmenu
 menu "Text and terminal handling"
 source "package/enchant/Config.in"
 source "package/icu/Config.in"
+source "package/libedit2/Config.in"
 source "package/libiconv/Config.in"
 source "package/linenoise/Config.in"
 source "package/ncurses/Config.in"
diff --git a/package/libedit2/Config.in b/package/libedit2/Config.in
new file mode 100644
index 0000000..1e7b95d
--- /dev/null
+++ b/package/libedit2/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBEDIT2
+	bool "libedit2"
+	select BR2_PACKAGE_LIBBSD
+	select BR2_PACKAGE_NCURSES
+	help
+	  The editline library (from BSD) provides generic line editing
+	  and history functions. It slightly resembles GNU readline.
+	  
+	  http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/
diff --git a/package/libedit2/libedit2-01-Makefile.patch b/package/libedit2/libedit2-01-Makefile.patch
new file mode 100644
index 0000000..91645e4
--- /dev/null
+++ b/package/libedit2/libedit2-01-Makefile.patch
@@ -0,0 +1,25 @@
+ 01-Makefile.diff by Neal H Walfield <neal@cs.uml.edu> and
+ Gergely Nagy <algernon@debian.org>
+
+ Add the necessary includes and other things to the libedit
+ Makefile, so it will compile on GNU systems, with our supplied
+ glue code
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/Makefile
++++ b/libedit/Makefile
+@@ -1,6 +1,13 @@
+ #	$NetBSD: Makefile,v 1.36 2007/05/28 12:06:18 tls Exp $
+ #	@(#)Makefile	8.1 (Berkeley) 6/4/93
+ 
++OS!=	sh -c "case `uname -s` in GNU|GNU/*) echo GNU ;; *) uname -s ;; esac"
++
++.if ${OS} == GNU || ${OS} == Linux
++CFLAGS += -include bsd/bsd.h
++MKLINT=no
++.endif
++
+ USE_SHLIBDIR=	yes
+ 
+ WARNS=	3
diff --git a/package/libedit2/libedit2-02-el.c-issetugid.patch b/package/libedit2/libedit2-02-el.c-issetugid.patch
new file mode 100644
index 0000000..b060fa4
--- /dev/null
+++ b/package/libedit2/libedit2-02-el.c-issetugid.patch
@@ -0,0 +1,24 @@
+ 02-el.c-issetugid.diff by Gergely Nagy <algernon@debian.org>
+
+ issetugid(2) is not implemented on GNU systems, so #ifdef it out
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/el.c	2008-04-06 02:53:28.000000000 +1100
++++ b/libedit/el.c	2009-06-23 08:51:48.000000000 +1000
+@@ -479,12 +479,14 @@ el_source(EditLine *el, const char *fnam
+ 
+ 	fp = NULL;
+ 	if (fname == NULL) {
+-#ifdef HAVE_ISSETUGID
++#if 1
+ 		static const char elpath[] = "/.editrc";
+ 		char path[MAXPATHLEN];
+ 
++#ifndef __GLIBC__
+ 		if (issetugid())
+ 			return (-1);
++#endif
+ 		if ((ptr = getenv("HOME")) == NULL)
+ 			return (-1);
+ 		if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path))
diff --git a/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
new file mode 100644
index 0000000..aadd36a
--- /dev/null
+++ b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch
@@ -0,0 +1,40 @@
+ 03-el.c-MAXPATHLEN.diff by Gergely Nagy <algernon@debian.org>
+
+ on systems without MAXPATHLEN, allocate memory dynamically
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/el.c	2009-06-23 08:57:04.000000000 +1000
++++ b/libedit/el.c	2009-06-23 08:57:30.000000000 +1000
+@@ -481,7 +481,11 @@ el_source(EditLine *el, const char *fnam
+ 	if (fname == NULL) {
+ #if 1
+ 		static const char elpath[] = "/.editrc";
++#ifdef MAXPATHLEN
+ 		char path[MAXPATHLEN];
++#else
++		char *path;
++#endif
+ 
+ #ifndef __GLIBC__
+ 		if (issetugid())
+@@ -489,10 +493,19 @@ el_source(EditLine *el, const char *fnam
+ #endif
+ 		if ((ptr = getenv("HOME")) == NULL)
+ 			return (-1);
++#ifndef MAXPATHLEN
++                path = (char *)malloc(strlen(ptr) + strlen(elpath) + 10);
++		if (path == NULL)
++			return (-1);
++		/* Always succeeds, since we have enough memory */
++		strcpy(path, ptr);
++		strcat(path, elpath);
++#else
+ 		if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path))
+ 			return (-1);
+ 		if (strlcat(path, elpath, sizeof(path)) >= sizeof(path))
+ 			return (-1);
++#endif
+ 		fname = path;
+ #else
+ 		/*
diff --git a/package/libedit2/libedit2-04-readline.h-stdio.patch b/package/libedit2/libedit2-04-readline.h-stdio.patch
new file mode 100644
index 0000000..84257b9
--- /dev/null
+++ b/package/libedit2/libedit2-04-readline.h-stdio.patch
@@ -0,0 +1,17 @@
+ 04-readline.h-stdio.diff by Gergely Nagy <algernon@debian.org>
+
+ since readline.h uses types defined in stdio.h, that header should
+ be included
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline/readline.h	2008-04-29 16:53:01.000000000 +1000
++++ b/libedit/readline/readline.h	2009-06-23 08:35:58.000000000 +1000
+@@ -31,6 +31,7 @@
+ #ifndef _READLINE_H_
+ #define _READLINE_H_
+ 
++#include <stdio.h>
+ #include <sys/types.h>
+ 
+ /* list of readline stuff supported by editline library's readline wrapper */
diff --git a/package/libedit2/libedit2-08-readline-history.h.patch b/package/libedit2/libedit2-08-readline-history.h.patch
new file mode 100644
index 0000000..f30093f
--- /dev/null
+++ b/package/libedit2/libedit2-08-readline-history.h.patch
@@ -0,0 +1,20 @@
+ 08-readline-history.h.diff by Pawel Wiecek <coven@debian.org>
+ (compatibility with older versions)
+
+ Setting the global variable rl_inhibit_completion to 1 did indeed
+ disable completion, but the invoking key (e.g., <TAB>) was not
+ inserted directly into the input line as it should be.
+ This patch fixes this problem, and also declares rl_inhibit_completion
+ in readline.h for better readline compatibility.
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline/Makefile	2003-08-03 19:23:15.000000000 +1000
++++ b/libedit/readline/Makefile	2009-06-23 08:35:58.000000000 +1000
+@@ -10,4 +10,6 @@ INCS=		readline.h
+ INCSDIR=	/usr/include/readline
+ INCSYMLINKS=	readline.h ${INCSDIR}/history.h
+ 
++incinstall:: linksinstall
++
+ .include <bsd.prog.mk>
diff --git a/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
new file mode 100644
index 0000000..c8ce262
--- /dev/null
+++ b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch
@@ -0,0 +1,18 @@
+ 10-define_SIZE_T_MAX.diff by Anibal Monsalve Salazar
+ define SIZE_T_MAX as UINT_MAX in limits.h
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/readline.c	2008-04-29 16:53:01.000000000 +1000
++++ a/libedit/readline.c	2008-06-14 23:54:16.000000000 +1000
+@@ -61,6 +61,10 @@ __RCSID("$NetBSD: readline.c,v 1.75 2008
+ #include "readline/readline.h"
+ #include "filecomplete.h"
+ 
++#ifndef SIZE_T_MAX
++#define SIZE_T_MAX UINT_MAX
++#endif
++
+ void rl_prep_terminal(int);
+ void rl_deprep_terminal(void);
+ 
diff --git a/package/libedit2/libedit2-12-libedit-Makefile.patch b/package/libedit2/libedit2-12-libedit-Makefile.patch
new file mode 100644
index 0000000..3234f33
--- /dev/null
+++ b/package/libedit2/libedit2-12-libedit-Makefile.patch
@@ -0,0 +1,54 @@
+ 12-libedit-Makefile.diff by Anibal Monsalve Salazar
+ without this patch I get the following message:
+ make: ${_MKTARGET_CREATE} expands to empty string
+
+ Yann E. MORIN: patch from debian.
+
+--- a/libedit/Makefile	2007-05-28 22:06:18.000000000 +1000
++++ a/libedit/Makefile	2008-06-15 13:53:50.000000000 +1000
+@@ -59,45 +59,37 @@ CLEANFILES+=	${AHDR} fcns.h help.h fcns.
+ SUBDIR=	readline
+ 
+ vi.h: vi.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ emacs.h: emacs.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ common.h: common.c makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \
+ 	    > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ fcns.h: ${AHDR} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ fcns.c: ${AHDR} fcns.h help.h makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ help.c: ${ASRC} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -bc ${ASRC} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ help.h: ${ASRC} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
+ editline.c: ${OSRCS} makelist Makefile
+-	${_MKTARGET_CREATE}
+ 	${HOST_SH} ${LIBEDITDIR}/makelist -e ${OSRCS:T} > ${.TARGET}.tmp && \
+ 	    mv ${.TARGET}.tmp ${.TARGET}
+ 
diff --git a/package/libedit2/libedit2-20-fortify.patch b/package/libedit2/libedit2-20-fortify.patch
new file mode 100644
index 0000000..0a41ce3
--- /dev/null
+++ b/package/libedit2/libedit2-20-fortify.patch
@@ -0,0 +1,23 @@
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488456
+
+Patch by Kees Cook <kees@outflux.net>
+
+Yann E. MORIN: patch from debian.
+
+--- a/libedit/vi.c	2006-10-22 17:48:13.000000000 +1000
++++ b/libedit/vi.c	2009-06-23 08:35:58.000000000 +1000
+@@ -1012,8 +1012,12 @@ vi_histedit(EditLine *el, int c)
+ 	if (fd < 0)
+ 		return CC_ERROR;
+ 	cp = el->el_line.buffer;
+-	write(fd, cp, el->el_line.lastchar - cp +0u);
+-	write(fd, "\n", 1);
++	if (write(fd, cp, el->el_line.lastchar - cp +0u)<0 ||
++	    write(fd, "\n", 1)<0) {
++		close(fd);
++		unlink(tempfile);
++		return CC_ERROR;
++	}
+ 	pid = fork();
+ 	switch (pid) {
+ 	case -1:
diff --git a/package/libedit2/libedit2.mk b/package/libedit2/libedit2.mk
new file mode 100644
index 0000000..b9ca41e
--- /dev/null
+++ b/package/libedit2/libedit2.mk
@@ -0,0 +1,75 @@
+#############################################################
+#
+# libedit2
+#
+#############################################################
+
+# Note: libedit2 does not have a regular homepage, and it seems
+# there is no place where to download a tarball from. That's
+# why we use the Debian way-back machine.
+LIBEDIT2_VERSION_MAJOR   = 2
+LIBEDIT2_VERSION_MINOR   = 11-20080614
+LIBEDIT2_VERSION         = $(LIBEDIT2_VERSION_MAJOR).$(LIBEDIT2_VERSION_MINOR)
+LIBEDIT2_SOURCE          = libedit_$(LIBEDIT2_VERSION).orig.tar.bz2
+LIBEDIT2_SITE            = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit
+LIBEDIT2_SUBDIR          = libedit
+LIBEDIT2_INSTALL_STAGING = YES
+LIBEDIT2_DEPENDENCIES    = host-pmake libbsd ncurses
+
+define POST_PATCH_PERMISSIONS
+	chmod +x $(@D)/libedit/makelist
+endef
+
+LIBEDIT2_POST_PATCH_HOOKS += POST_PATCH_PERMISSIONS
+
+define LIBEDIT2_FIX_VIS_H_INCLUDE
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/history.c
+	$(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/readline.c
+endef
+LIBEDIT2_POST_PATCH_HOOKS += LIBEDIT2_FIX_VIS_H_INCLUDE
+
+LIBEDIT2_PMAKE_ARGS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1         \
+                      SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT2_VERSION_MAJOR}"  \
+
+define LIBEDIT2_BUILD_CMDS
+	cd $(@D)/$(LIBEDIT2_SUBDIR); \
+	$(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT2_PMAKE_ARGS)
+endef
+
+LIBEDIT2_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse   \
+                     el_set el_get el_source el_resize el_line el_insertstr     \
+                     el_deletestr history_init history_end history
+
+# $1: DESTDIR to install into
+# Can't use pmake to install, it wants to be root. sigh... :-(
+define LIBEDIT2_INSTALL_CMDS
+	$(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc
+	ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a
+	$(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11
+	$(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h
+	ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR)
+	ln -sf libedit.so.$(LIBEDIT2_VERSION_MAJOR) $(1)/usr/lib/libedit.so
+	$(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h
+	if [ "$(BR2_HAVE_DOCUMENTATION)" = "y" ]; then                                              \
+	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el; \
+	    $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.3 $(1)/usr/share/man/man5/editrc.5el;     \
+	    for lnk in $(LIBEDIT2_MAN_LINKS); do                                                    \
+	        ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el;                           \
+	    done;                                                                                   \
+	fi
+endef
+#	cd $(@D)/libedit; pmake install incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
+#	cd $(@D)/libedit/readline; pmake incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS)
+
+define LIBEDIT2_INSTALL_STAGING_CMDS
+	$(call LIBEDIT2_INSTALL_CMDS,$(STAGING_DIR))
+endef
+
+define LIBEDIT2_INSTALL_TARGET_CMDS
+	$(call LIBEDIT2_INSTALL_CMDS,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))
diff --git a/package/libedit2/libedit2.pc b/package/libedit2/libedit2.pc
new file mode 100644
index 0000000..47ac871
--- /dev/null
+++ b/package/libedit2/libedit2.pc
@@ -0,0 +1,13 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libedit
+Description: Not just a replacement library for libreadline and libhistory.
+Version: 2.11
+Requires: libbsd ncurses
+Requires.private:
+Libs: -L${libdir} -ledit
+Libs.private:
+Cflags: -I${includedir}
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 17/19] package/ceph: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (15 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 16/19] package/libedit2: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 18/19] package/dtc: " Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 19/19] package/dtc: add option to install programs Yann E. MORIN
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
---
 package/Config.in                          |    1 +
 package/ceph/Config.in                     |   21 +++++++++
 package/ceph/ceph-no-envz.patch            |   63 ++++++++++++++++++++++++++++
 package/ceph/ceph-no-getloadavg.patch      |   61 +++++++++++++++++++++++++++
 package/ceph/ceph-no-posix_fallocate.patch |   50 ++++++++++++++++++++++
 package/ceph/ceph.mk                       |   53 +++++++++++++++++++++++
 6 files changed, 249 insertions(+), 0 deletions(-)
 create mode 100644 package/ceph/Config.in
 create mode 100644 package/ceph/ceph-no-envz.patch
 create mode 100644 package/ceph/ceph-no-getloadavg.patch
 create mode 100644 package/ceph/ceph-no-posix_fallocate.patch
 create mode 100644 package/ceph/ceph.mk

diff --git a/package/Config.in b/package/Config.in
index 04aef11..657f568 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -590,6 +590,7 @@ source "package/bind/Config.in"
 source "package/bmon/Config.in"
 source "package/bridge-utils/Config.in"
 source "package/can-utils/Config.in"
+source "package/ceph/Config.in"
 source "package/connman/Config.in"
 source "package/ctorrent/Config.in"
 source "package/conntrack-tools/Config.in"
diff --git a/package/ceph/Config.in b/package/ceph/Config.in
new file mode 100644
index 0000000..61f1947
--- /dev/null
+++ b/package/ceph/Config.in
@@ -0,0 +1,21 @@
+comment "ceph requires C++, largefiles, threads, wide chars"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
+
+config BR2_PACKAGE_CEPH
+	bool "ceph"
+	depends on BR2_INSTALL_LIBSTDCPP        # boost
+	depends on BR2_LARGEFILE                # boost, libnss, util-linux
+	depends on BR2_TOOLCHAIN_HAS_THREADS    # libnss
+	depends on BR2_USE_WCHAR                # util-linux
+	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_EXPAT
+	select BR2_PACKAGE_KEYUTILS
+	select BR2_PACKAGE_LIBEDIT2
+	select BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_UTIL_LINUX
+	select BR2_PACKAGE_UTIL_LINUX_LIBUUID
+	help
+	  Ceph is a distributed object store and file system designed to
+	  provide excellent performance, reliability and scalability.
+	  
+	  http://ceph.com/
diff --git a/package/ceph/ceph-no-envz.patch b/package/ceph/ceph-no-envz.patch
new file mode 100644
index 0000000..c0369ba
--- /dev/null
+++ b/package/ceph/ceph-no-envz.patch
@@ -0,0 +1,63 @@
+tools+base: do not include envz.h on uClibc
+
+uClibc does not have envz, and no envz function is in fact used.
+So, simply do not include it under uClibc.
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+--- ceph-0.51.orig/src/tools/common.cc	2012-09-09 00:13:32.128838177 +0200
++++ ceph-0.51/src/tools/common.cc	2012-09-09 00:13:59.432064556 +0200
+@@ -17,9 +17,9 @@
+ #include <string>
+ using namespace std;
+ 
+-#if !defined(DARWIN) && !defined(__FreeBSD__)
++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <memory>
+ #include <sys/types.h>
+--- ceph-0.51.orig/src/ceph_syn.cc	2012-09-09 00:25:23.302722032 +0200
++++ ceph-0.51/src/ceph_syn.cc	2012-09-09 00:24:39.702892463 +0200
+@@ -31,9 +31,9 @@
+ #include "common/ceph_argparse.h"
+ #include "common/pick_address.h"
+ 
+-#if !defined(DARWIN) && !defined(__FreeBSD__)
++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN || __FreeBSD__
++#endif // DARWIN || __FreeBSD__ || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- ceph-0.51.orig/src/ceph_fuse.cc	2012-09-09 00:43:46.875065556 +0200
++++ ceph-0.51/src/ceph_fuse.cc	2012-09-09 00:44:21.161597834 +0200
+@@ -32,9 +32,9 @@
+ #include "global/global_init.h"
+ #include "common/safe_io.h"
+        
+-#ifndef DARWIN
++#if !defined(DARWIN) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
+--- ceph-0.51.orig/src/testmsgr.cc	2012-09-09 00:44:48.108158886 +0200
++++ ceph-0.51/src/testmsgr.cc	2012-09-09 00:45:18.218040882 +0200
+@@ -28,9 +28,9 @@
+ #include "global/global_init.h"
+ #include "common/ceph_argparse.h"
+ 
+-#ifndef DARWIN
++#if !defined(DARWIN) && !defined(__UCLIBC__)
+ #include <envz.h>
+-#endif // DARWIN
++#endif // DARWIN || __UCLIBC__
+ 
+ #include <sys/types.h>
+ #include <sys/stat.h>
diff --git a/package/ceph/ceph-no-getloadavg.patch b/package/ceph/ceph-no-getloadavg.patch
new file mode 100644
index 0000000..7e887df
--- /dev/null
+++ b/package/ceph/ceph-no-getloadavg.patch
@@ -0,0 +1,61 @@
+OSD: do not use getloadavg(3) on uClibc
+
+getloadavg(3) is not available on uClibc, so do not use it.
+
+getloadavg is used in two places:
+  - once to log the loadavg in the heartbeat logs: we simply remove this;
+  - once to decide whether to schedule scrub (whatever it is) or not: we
+    simply use the existing coin-flip random choice in this case.
+
+The second change will probably have an impact on performances... :-(
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN ceph-0.51.orig/src/osd/OSD.cc ceph-0.51/src/osd/OSD.cc
+--- ceph-0.51.orig/src/osd/OSD.cc	2012-08-26 00:58:06.000000000 +0200
++++ ceph-0.51/src/osd/OSD.cc	2012-09-08 23:56:31.396177885 +0200
+@@ -15,6 +15,7 @@
+ #include <fstream>
+ #include <iostream>
+ #include <errno.h>
++#include <features.h> /* For __ULIBC__ */
+ #include <sys/stat.h>
+ #include <signal.h>
+ #include <boost/scoped_ptr.hpp>
+@@ -1942,10 +1943,12 @@
+ {
+   dout(30) << "heartbeat" << dendl;
+ 
++#ifndef __UCLIBC__
+   // get CPU load avg
+   double loadavgs[1];
+   if (getloadavg(loadavgs, 1) == 1)
+     logger->fset(l_osd_loadavg, loadavgs[0]);
++#endif
+ 
+   dout(30) << "heartbeat checking stats" << dendl;
+ 
+@@ -3216,6 +3219,7 @@
+ 
+ bool OSDService::scrub_should_schedule()
+ {
++#ifndef __UCLIBC__
+   double loadavgs[1];
+ 
+   // TODOSAM: is_active should be conveyed to OSDService
+@@ -3249,6 +3253,15 @@
+ 	   << " < max " << g_conf->osd_scrub_load_threshold
+ 	   << " = yes" << dendl;
+   return loadavgs[0] < g_conf->osd_scrub_load_threshold;
++#else // ! defined  __UCLIBC__
++  bool coin_flip = (rand() % 3) == whoami % 3;
++  if (coin_flip) {
++    dout(20) << "scrub_should_schedule randomly yes" << dendl;
++  } else {
++    dout(20) << "scrub_should_schedule randomly backing off" << dendl;
++  }
++  return coin_flip;
++#endif // ! defined  __UCLIBC__
+ }
+ 
+ void OSD::sched_scrub()
diff --git a/package/ceph/ceph-no-posix_fallocate.patch b/package/ceph/ceph-no-posix_fallocate.patch
new file mode 100644
index 0000000..479705d
--- /dev/null
+++ b/package/ceph/ceph-no-posix_fallocate.patch
@@ -0,0 +1,50 @@
+Do not call posix_fallocate() on uClibc
+
+Based on a patch by Thomas, for lttng-babeltrace, in which he states:
+
+    uClibc does not implement posix_fallocate(), and posix_fallocate() is
+    mostly only an hint to the kernel that we will need such or such
+    amount of space inside a file. So we just don't call posix_fallocate()
+    when building against uClibc.
+
+Just do the same here.
+
+NOTE! IMHO, this patch is not correct, because overcommit (eg. for sparse
+files) on the underlying filesystem may cause allocation failures later on,
+which is exactly the situation that posix_fallocate is supposed to avoid.
+But, as uClibc still lacks posix_fallocate, we have no choice.
+
+If you really are concerned about this issue, there exists a posix_fallocate
+patch that is not upstream, but is used by the AlpineLinux distribution:
+    http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d
+    http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate-fix.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+diff -durN ceph-0.50.orig/src/os/FileJournal.cc ceph-0.50/src/os/FileJournal.cc
+--- ceph-0.50.orig/src/os/FileJournal.cc	2012-08-13 18:43:14.000000000 +0200
++++ ceph-0.50/src/os/FileJournal.cc	2012-09-08 23:07:12.597910027 +0200
+@@ -23,6 +23,7 @@
+ #include "include/compat.h"
+ 
+ #include <fcntl.h>
++#include <features.h>
+ #include <sstream>
+ #include <stdio.h>
+ #include <sys/types.h>
+@@ -303,6 +304,7 @@
+ 	   << newsize << " bytes: " << cpp_strerror(err) << dendl;
+       return -err;
+     }
++#ifndef __UCLIBC__
+     ret = ::posix_fallocate(fd, 0, newsize);
+     if (ret < 0) {
+       int err = errno;
+@@ -310,6 +312,7 @@
+ 	   << newsize << " bytes: " << cpp_strerror(err) << dendl;
+       return -err;
+     }
++#endif
+     max_size = newsize;
+   }
+   else {
diff --git a/package/ceph/ceph.mk b/package/ceph/ceph.mk
new file mode 100644
index 0000000..0849837
--- /dev/null
+++ b/package/ceph/ceph.mk
@@ -0,0 +1,53 @@
+#############################################################
+#
+# ceph
+#
+#############################################################
+
+CEPH_VERSION         = 0.51
+CEPH_SOURCE          = ceph-$(CEPH_VERSION).tar.bz2
+CEPH_SITE            = http://ceph.com/download/
+CEPH_LICENSE         = LGPLv2.1 CC-BY-SA Apache-2.0 GPLv2 LGPLv2+ BSD-3c MIT PD
+CEPH_LICENSE_FILES   = COPYING
+CEPH_INSTALL_STAGING = YES
+
+CEPH_DEPENDENCIES    = \
+    boost              \
+    expat              \
+    keyutils           \
+    libedit2           \
+    libnss             \
+    util-linux         \
+
+# We disable everything for now, because the dependency tree can become
+# quite deep if we try to enable some features, and I have not tested that.
+# We need@least one crypto lib, and the currently only one available in
+# BR, that ceph can use, is libnss
+CEPH_CONF_OPT =                     \
+    --with-nss                      \
+    --without-profiler              \
+    --without-debug                 \
+    --without-tcmalloc              \
+    --without-hadoop                \
+    --without-libatomic-ops         \
+    --without-system-leveldb        \
+    --without-system-libs3          \
+    --without-rest-bench            \
+    --without-cryptopp              \
+    --with-ocf                      \
+
+ifeq ($(BR2_PACKAGE_LIBFUSE),y)
+CEPH_DEPENDENCIES += libfuse
+CEPH_CONF_OPT     += --with-fuse
+else
+CEPH_CONF_OPT     += --without-fuse
+endif
+
+ifeq ($(BR2_PACKAGE_LIBAIO),y)
+CEPH_DEPENDENCIES += libaio
+CEPH_CONF_OPT     += --with-libaio
+else
+CEPH_CONF_OPT     += --without-libaio
+endif
+
+$(eval $(autotools-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 18/19] package/dtc: new package
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (16 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 17/19] package/ceph: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  2012-12-16 16:56 ` [Buildroot] [PATCH 19/19] package/dtc: add option to install programs Yann E. MORIN
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

dtc is the Device Tree Compiler, and manipulates device trees.

Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
Although Arnout suggested to move it out of the libraries sub-menu,
I kept it there, as by default, only the library is installed, like
it is done for, eg., libcurl.
---
 package/Config.in                          |    1 +
 package/dtc/Config.in                      |    9 +++++++
 package/dtc/dtc-extra_cflags.patch         |   27 ++++++++++++++++++++++
 package/dtc/dtc-separate-lib-install.patch |   28 +++++++++++++++++++++++
 package/dtc/dtc.mk                         |   34 ++++++++++++++++++++++++++++
 5 files changed, 99 insertions(+), 0 deletions(-)
 create mode 100644 package/dtc/Config.in
 create mode 100644 package/dtc/dtc-extra_cflags.patch
 create mode 100644 package/dtc/dtc-separate-lib-install.patch
 create mode 100644 package/dtc/dtc.mk

diff --git a/package/Config.in b/package/Config.in
index 657f568..8612c7d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -419,6 +419,7 @@ endmenu
 
 menu "Hardware handling"
 source "package/ccid/Config.in"
+source "package/dtc/Config.in"
 source "package/lcdapi/Config.in"
 source "package/libaio/Config.in"
 source "package/libraw1394/Config.in"
diff --git a/package/dtc/Config.in b/package/dtc/Config.in
new file mode 100644
index 0000000..96225e3
--- /dev/null
+++ b/package/dtc/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_DTC
+	bool "dtc"
+	help
+	  The Device Tree Compiler, dtc, takes as input a device-tree in
+	  a given format and outputs a device-tree in another format.
+	  
+	  Note that only the library is installed for now.
+	  
+	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
diff --git a/package/dtc/dtc-extra_cflags.patch b/package/dtc/dtc-extra_cflags.patch
new file mode 100644
index 0000000..9d1882b
--- /dev/null
+++ b/package/dtc/dtc-extra_cflags.patch
@@ -0,0 +1,27 @@
+Makefile: append the CFLAGS to existing ones
+
+Allow the user to pass custom CFLAGS (eg. optimisation flags).
+
+Do not use EXTRA_CFLAGS, append to existing CFLAGS with +=  (Arnout)
+
+Cc: Arnout Vandecappelle <arnout@mind.be>
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch not sent upstream.
+
+Although not specific to buildroot, I am not sure this is the best
+way to handle user-supplied CFLAGS.
+
+diff -durN dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile
+--- dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile	2012-10-22 22:02:47.541240846 +0200
++++ dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile	2012-10-22 22:03:21.151047833 +0200
+@@ -18,7 +18,7 @@
+ CPPFLAGS = -I libfdt -I .
+ WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ 	-Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls
+-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS)
++CFLAGS += -g -Os -fPIC -Werror $(WARNINGS)
+ 
+ BISON = bison
+ LEX = flex
diff --git a/package/dtc/dtc-separate-lib-install.patch b/package/dtc/dtc-separate-lib-install.patch
new file mode 100644
index 0000000..c86d587
--- /dev/null
+++ b/package/dtc/dtc-separate-lib-install.patch
@@ -0,0 +1,28 @@
+Makefile: add a rule to only install libfdt
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+
+---
+Patch not sent upstream.
+
+It's really specific to buildroot, and is probably not
+good (aka generic) enough to be pushed upstream.
+
+diff --git a/Makefile b/Makefile
+index 1169e6c..39e7190 100644
+--- a/Makefile
++++ b/Makefile
+@@ -160,10 +160,12 @@ endif
+ # intermediate target and building them again "for real"
+ .SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS)
+ 
+-install: all $(SCRIPTS)
++install: all $(SCRIPTS) libfdt_install
+ 	@$(VECHO) INSTALL
+ 	$(INSTALL) -d $(DESTDIR)$(BINDIR)
+ 	$(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR)
++
++libfdt_install: libfdt
+ 	$(INSTALL) -d $(DESTDIR)$(LIBDIR)
+ 	$(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR)
+ 	ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname)
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
new file mode 100644
index 0000000..a0e1e35
--- /dev/null
+++ b/package/dtc/dtc.mk
@@ -0,0 +1,34 @@
+#############################################################
+#
+# dtc
+#
+#############################################################
+
+DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
+DTC_SITE            = git://git.jdl.com/software/dtc.git
+DTC_LICENSE         = GPLv2+/BSD-2c
+DTC_LICENSE_FILES   = README.license GPL
+# Note: the dual-license only applies to the library.
+#       The DT compiler (dtc) is GPLv2+, but we do not install it.
+DTC_INSTALL_STAGING = YES
+
+define DTC_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS)    \
+	CFLAGS="$(TARGET_CFLAGS)"   \
+	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+endef
+
+#?libfdt_install is our own install rule added by our patch
+define DTC_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
+endef
+
+define DTC_INSTALL_TARGET_CMDS
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+endef
+
+define DTC_CLEAN_CMDS
+	$(MAKE) -C $(@D) libfdt_clean
+endef
+
+$(eval $(generic-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 19/19] package/dtc: add option to install programs
  2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
                   ` (17 preceding siblings ...)
  2012-12-16 16:56 ` [Buildroot] [PATCH 18/19] package/dtc: " Yann E. MORIN
@ 2012-12-16 16:56 ` Yann E. MORIN
  18 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw)
  To: buildroot

By default, we only install the libfdt library.

As suggested by Arnout, add an option that also
installs the few dtc programs.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

---
dtdiff, a diff for device trees, requires bash.

I did not add a 'depends on bash' (or a 'select' either), because
requiring bash just for that is a bit far-fetched.

Instead, at dtc install time, if bash is selected, dtdiff is installed
as usual to the target rootfs; if bash is not selected, dtdiff is
removed from the target rootfs.
---
 package/dtc/Config.in |   24 ++++++++++++++++++++++--
 package/dtc/dtc.mk    |   29 +++++++++++++++++++++++------
 2 files changed, 45 insertions(+), 8 deletions(-)

diff --git a/package/dtc/Config.in b/package/dtc/Config.in
index 96225e3..1c65a10 100644
--- a/package/dtc/Config.in
+++ b/package/dtc/Config.in
@@ -1,9 +1,29 @@
 config BR2_PACKAGE_DTC
-	bool "dtc"
+	bool "dtc (libfdt)"
 	help
 	  The Device Tree Compiler, dtc, takes as input a device-tree in
 	  a given format and outputs a device-tree in another format.
 	  
-	  Note that only the library is installed for now.
+	  Note that only the library is installed.
+	  If you want the programs, say 'y' here, and to "dtc programs", below.
 	  
 	  http://git.jdl.com/gitweb/?p=dtc.git  (no home page)
+
+if BR2_PACKAGE_DTC
+
+config BR2_PACKAGE_DTC_PROGRAMS
+	bool "dtc programs"
+	help
+	  Say 'y' here if you also want the programs on the target:
+	    - convert-dtsv0     convert from version 0 to version 1
+	    - dtc               the device tree compiler
+	    - dtdiff            compare two device trees (needs bash)
+	    - fdtdump           print a readable version of a flat device tree
+	    - fdtget            read values from device tree
+	    - fdtput            write a property value to a device tree
+	  
+	  Note: dtdiff requires bash, so if bash is not selected, dtdiff will
+	        be removed from the target file system. Enable bash if you
+	        need dtdiff on the target.
+
+endif
diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
index a0e1e35..42843d5 100644
--- a/package/dtc/dtc.mk
+++ b/package/dtc/dtc.mk
@@ -8,27 +8,44 @@ DTC_VERSION         = e4b497f367a3b2ae99cc52089a14a221b13a76ef
 DTC_SITE            = git://git.jdl.com/software/dtc.git
 DTC_LICENSE         = GPLv2+/BSD-2c
 DTC_LICENSE_FILES   = README.license GPL
-# Note: the dual-license only applies to the library.
-#       The DT compiler (dtc) is GPLv2+, but we do not install it.
 DTC_INSTALL_STAGING = YES
 
+ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
+DTC_LICENSE        += (for the library), GPLv2+ (for the executables)
+# Use default goal to build everything
+DTC_BUILD_GOAL      =
+DTC_INSTALL_GOAL    = install
+DTC_CLEAN_GOAL      = clean
+else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+DTC_BUILD_GOAL      = libfdt
+#?libfdt_install is our own install rule added by our patch
+DTC_INSTALL_GOAL    = libfdt_install
+DTC_CLEAN_GOAL      = libfdt_clean
+ifeq ($(BR2_PACKAGE_BASH),)
+DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
+endif
+endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
+
 define DTC_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS)    \
 	CFLAGS="$(TARGET_CFLAGS)"   \
-	$(MAKE) -C $(@D) PREFIX=/usr libfdt
+	$(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL)
 endef
 
-#?libfdt_install is our own install rule added by our patch
+# For staging, only the library is needed
 define DTC_INSTALL_STAGING_CMDS
 	$(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install
 endef
 
 define DTC_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install
+	$(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL)
+endef
+define DTC_POST_INSTALL_TARGET_RM_DTDIFF
+	rm -f $(TARGET_DIR)/usr/bin/dtdiff
 endef
 
 define DTC_CLEAN_CMDS
-	$(MAKE) -C $(@D) libfdt_clean
+	$(MAKE) -C $(@D) $(DTC_CLEAN_GOAL)
 endef
 
 $(eval $(generic-package))
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 01/19] package/vde2: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 01/19] package/vde2: new package Yann E. MORIN
@ 2012-12-16 19:31   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 19:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> VDE is an ethernet compliant virtual network that can be
 Yann> spawned over a set of physical computer over the Internet.

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 02/19] package/usbredir: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 02/19] package/usbredir: " Yann E. MORIN
@ 2012-12-16 19:31   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 19:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Yann> Cc: Arnout Vandecappelle <arnout@mind.be>
 Yann> Cc: Peter Korsgaard <jacmet@uclibc.org>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 03/19] package/celt051: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 03/19] package/celt051: " Yann E. MORIN
@ 2012-12-16 19:36   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 19:36 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Cc: Arnout Vandecappelle <arnout@mind.be>
 Yann> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Yann> ---
 Yann>  package/multimedia/Config.in         |    1 +
 Yann>  package/multimedia/celt051/Config.in |   15 +++++++++++++++
 Yann>  package/multimedia/celt051/celt.mk   |   30 ++++++++++++++++++++++++++++++
 Yann>  3 files changed, 46 insertions(+), 0 deletions(-)
 Yann>  create mode 100644 package/multimedia/celt051/Config.in
 Yann>  create mode 100644 package/multimedia/celt051/celt.mk

 Yann> diff --git a/package/multimedia/Config.in b/package/multimedia/Config.in
 Yann> index 273d9bc..5e8d60c 100644
 Yann> --- a/package/multimedia/Config.in
 Yann> +++ b/package/multimedia/Config.in
 Yann> @@ -2,6 +2,7 @@ menu "Audio and video applications"
 Yann>  source "package/multimedia/alsa-utils/Config.in"
 Yann>  source "package/multimedia/aumix/Config.in"
 Yann>  source "package/multimedia/bellagio/Config.in"
 Yann> +source "package/multimedia/celt051/Config.in"

CELT is primarily a library, so I've moved this to Libraries ->
Audio/Sound similar to E.G. opus - Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 04/19] package/python-pyparsing: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 04/19] package/python-pyparsing: " Yann E. MORIN
@ 2012-12-16 19:52   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 19:52 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 05/19] package/cegui06: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 05/19] package/cegui06: " Yann E. MORIN
@ 2012-12-16 20:00   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:00 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Although there are more recent versions of CEGUI, we are stuck
 Yann> with 0.6.2b for use by spice.

 Yann> +source "package/cegui06/Config.in"
 Yann>  source "package/directfb/Config.in"
 Yann>  source "package/directfb-examples/Config.in"
 Yann>  source "package/divine/Config.in"
 Yann> diff --git a/package/cegui06/Config.in b/package/cegui06/Config.in
 Yann> new file mode 100644
 Yann> index 0000000..7648922
 Yann> --- /dev/null
 Yann> +++ b/package/cegui06/Config.in
 Yann> @@ -0,0 +1,18 @@
 Yann> +comment "cegui06 needs a toolchain with threads"
 Yann> +	depends on !BR2_TOOLCHAIN_HAS_THREADS
 Yann> +
 Yann> +config BR2_PACKAGE_CEGUI06
 Yann> +	bool "cegui06"
 Yann> +	depends on BR2_TOOLCHAIN_HAS_THREADS
 Yann> +	select BR2_PACKAGE_EXPAT
 Yann> +	select BR2_PACKAGE_FREETYPE
 Yann> +	select BR2_PACKAGE_PCRE
 Yann> +	help
 Yann> +	  Crazy Eddie's GUI System is a free library providing windowing and
 Yann> +	  widgets for graphics APIs / engines where such functionality is not
 Yann> +	  natively available, or severely lacking. The library is object
 Yann> +	  orientated, written in C++, and targeted at games developers who

So it presumably needs to depend on BR2_INSTALL_LIBSTDCPP as well. I've
corrected that and committed, thanks.
 Yann> +
 Yann> +---
 Yann> +Patch not sent upstream, it's a no-longer-maintained branch.
 Yann> +To be noted, however, is that the current devel branch is
 Yann> +still missing that include.

Could be good to get it fixed in the devel branch then for when/if spice
gets updated.

 Yann> +CEGUI06_CONF_OPT =              \
 Yann> +    --enable-expat              \
 Yann> +    --disable-external-tinyxml  \
 Yann> +    --disable-xerces-c          \
 Yann> +    --disable-libxml            \
 Yann> +    --disable-tinyxml           \
 Yann> +    --disable-opengl-renderer   \
 Yann> +    --disable-external-glew     \
 Yann> +    --disable-irrlicht-renderer \
 Yann> +    --disable-directfb-renderer \
 Yann> +    --disable-samples           \
 Yann> +    --disable-lua-module        \
 Yann> +    --disable-toluacegui        \
 Yann> +    --disable-external-toluapp  \

It would be good to have optional support for the stuff we have in BR
(xerces, libxml, directfb, lua, ..)

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 06/19] package/slirp: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 06/19] package/slirp: " Yann E. MORIN
@ 2012-12-16 20:30   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:30 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 07/19] package/spice-protocol: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 07/19] package/spice-protocol: " Yann E. MORIN
@ 2012-12-16 20:31   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:31 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
 Yann> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
 Yann> Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 08/19] package/spice: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 08/19] package/spice: " Yann E. MORIN
@ 2012-12-16 20:33   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:33 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 09/19] package/spice: enable client
  2012-12-16 16:56 ` [Buildroot] [PATCH 09/19] package/spice: enable client Yann E. MORIN
@ 2012-12-16 20:34   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:34 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 10/19] package/spice: enable GUI
  2012-12-16 16:56 ` [Buildroot] [PATCH 10/19] package/spice: enable GUI Yann E. MORIN
@ 2012-12-16 20:35   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:35 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 11/19] package/spice: enable slirp support
  2012-12-16 16:56 ` [Buildroot] [PATCH 11/19] package/spice: enable slirp support Yann E. MORIN
@ 2012-12-16 20:35   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:35 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 12/19] package/libseccomp: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 12/19] package/libseccomp: new package Yann E. MORIN
@ 2012-12-16 20:38   ` Peter Korsgaard
  2012-12-16 20:42     ` Yann E. MORIN
  2012-12-16 22:19   ` Peter Korsgaard
  1 sibling, 1 reply; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:38 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> ---
 Yann>  package/Config.in                                  |    1 +
 Yann>  package/libseccomp/Config.in                       |   13 +++++++++++
 Yann>  ...ibseccomp-use-system-headers-from-sysroot.patch |   17 +++++++++++++++
 Yann>  package/libseccomp/libseccomp.mk                   |   22 ++++++++++++++++++++
 Yann>  4 files changed, 53 insertions(+), 0 deletions(-)
 Yann>  create mode 100644 package/libseccomp/Config.in
 Yann>  create mode 100644 package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch
 Yann>  create mode 100644 package/libseccomp/libseccomp.mk

 Yann> diff --git a/package/Config.in b/package/Config.in
 Yann> index eff2887..2f67d10 100644
 Yann> --- a/package/Config.in
 Yann> +++ b/package/Config.in
 Yann> @@ -523,6 +523,7 @@ source "package/libical/Config.in"
 Yann>  source "package/libnspr/Config.in"
 Yann>  source "package/libsigc/Config.in"
 Yann>  source "package/libtpl/Config.in"
 Yann> +source "package/libseccomp/Config.in"
 Yann>  source "package/liburcu/Config.in"
 Yann>  source "package/linux-pam/Config.in"
 Yann>  source "package/lttng-libust/Config.in"
 Yann> diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in
 Yann> new file mode 100644
 Yann> index 0000000..183cf4e
 Yann> --- /dev/null
 Yann> +++ b/package/libseccomp/Config.in
 Yann> @@ -0,0 +1,13 @@
 Yann> +config BR2_PACKAGE_LIBSECCOMP
 Yann> +	bool "libseccomp"
 Yann> +	help
 Yann> +	  High level interface to the Linux Kernel's seccomp filter 
 Yann> +	  
 Yann> +	  The libseccomp library provides and easy to use, platform independent,

s/and/an/. I know this is just cut'n'pasted from the sf.net website, but
I've fixed it anyway and committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 13/19] package/keyutils: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN
@ 2012-12-16 20:39   ` Peter Korsgaard
  0 siblings, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 20:39 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> Cc: Jarkko Sakkinen <jarkko.sakkinen@iki.fi>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 12/19] package/libseccomp: new package
  2012-12-16 20:38   ` Peter Korsgaard
@ 2012-12-16 20:42     ` Yann E. MORIN
  0 siblings, 0 replies; 35+ messages in thread
From: Yann E. MORIN @ 2012-12-16 20:42 UTC (permalink / raw)
  To: buildroot

Peter, All,

On Sunday 16 December 2012 Peter Korsgaard wrote:
> >>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:
[--SNIP--]
>  Yann> diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in
>  Yann> new file mode 100644
>  Yann> index 0000000..183cf4e
>  Yann> --- /dev/null
>  Yann> +++ b/package/libseccomp/Config.in
>  Yann> @@ -0,0 +1,13 @@
>  Yann> +config BR2_PACKAGE_LIBSECCOMP
>  Yann> +	bool "libseccomp"
>  Yann> +	help
>  Yann> +	  High level interface to the Linux Kernel's seccomp filter 
>  Yann> +	  
>  Yann> +	  The libseccomp library provides and easy to use, platform independent,
> 
> s/and/an/. I know this is just cut'n'pasted from the sf.net website, but
> I've fixed it anyway and committed, thanks.

Thank you!

Regards,
Yamnn E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 35+ messages in thread

* [Buildroot] [PATCH 12/19] package/libseccomp: new package
  2012-12-16 16:56 ` [Buildroot] [PATCH 12/19] package/libseccomp: new package Yann E. MORIN
  2012-12-16 20:38   ` Peter Korsgaard
@ 2012-12-16 22:19   ` Peter Korsgaard
  1 sibling, 0 replies; 35+ messages in thread
From: Peter Korsgaard @ 2012-12-16 22:19 UTC (permalink / raw)
  To: buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 Yann> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
 Yann> ---
 Yann>  package/Config.in                                  |    1 +
 Yann>  package/libseccomp/Config.in                       |   13 +++++++++++
 Yann>  ...ibseccomp-use-system-headers-from-sysroot.patch |   17 +++++++++++++++
 Yann>  package/libseccomp/libseccomp.mk                   |   22 ++++++++++++++++++++

There seem to be some arch dependent issues on atleast powerpc:

http://autobuild.buildroot.net/results/1742dfc07c27cfa91e1b253a2b16142206413b6b/build-end.log

Care to have a look?

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2012-12-16 22:19 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 01/19] package/vde2: new package Yann E. MORIN
2012-12-16 19:31   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 02/19] package/usbredir: " Yann E. MORIN
2012-12-16 19:31   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 03/19] package/celt051: " Yann E. MORIN
2012-12-16 19:36   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 04/19] package/python-pyparsing: " Yann E. MORIN
2012-12-16 19:52   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 05/19] package/cegui06: " Yann E. MORIN
2012-12-16 20:00   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 06/19] package/slirp: " Yann E. MORIN
2012-12-16 20:30   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 07/19] package/spice-protocol: " Yann E. MORIN
2012-12-16 20:31   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 08/19] package/spice: " Yann E. MORIN
2012-12-16 20:33   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 09/19] package/spice: enable client Yann E. MORIN
2012-12-16 20:34   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 10/19] package/spice: enable GUI Yann E. MORIN
2012-12-16 20:35   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 11/19] package/spice: enable slirp support Yann E. MORIN
2012-12-16 20:35   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 12/19] package/libseccomp: new package Yann E. MORIN
2012-12-16 20:38   ` Peter Korsgaard
2012-12-16 20:42     ` Yann E. MORIN
2012-12-16 22:19   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN
2012-12-16 20:39   ` Peter Korsgaard
2012-12-16 16:56 ` [Buildroot] [PATCH 14/19] package/pmake: add host pmake Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 15/19] package/libbsd: new package Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 16/19] package/libedit2: " Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 17/19] package/ceph: " Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 18/19] package/dtc: " Yann E. MORIN
2012-12-16 16:56 ` [Buildroot] [PATCH 19/19] package/dtc: add option to install programs Yann E. MORIN

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox