* [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 +++++++++++
| 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/
--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 +++++++
| 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)
--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