* [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [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 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] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (10 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 11/19] package/spice: enable slirp support Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 20:38 ` Peter Korsgaard 2012-12-16 22:19 ` Peter Korsgaard 2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN ` (6 subsequent siblings) 18 siblings, 2 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/Config.in | 1 + package/libseccomp/Config.in | 13 +++++++++++ ...ibseccomp-use-system-headers-from-sysroot.patch | 17 +++++++++++++++ package/libseccomp/libseccomp.mk | 22 ++++++++++++++++++++ 4 files changed, 53 insertions(+), 0 deletions(-) create mode 100644 package/libseccomp/Config.in create mode 100644 package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch create mode 100644 package/libseccomp/libseccomp.mk diff --git a/package/Config.in b/package/Config.in index eff2887..2f67d10 100644 --- a/package/Config.in +++ b/package/Config.in @@ -523,6 +523,7 @@ source "package/libical/Config.in" source "package/libnspr/Config.in" source "package/libsigc/Config.in" source "package/libtpl/Config.in" +source "package/libseccomp/Config.in" source "package/liburcu/Config.in" source "package/linux-pam/Config.in" source "package/lttng-libust/Config.in" diff --git a/package/libseccomp/Config.in b/package/libseccomp/Config.in new file mode 100644 index 0000000..183cf4e --- /dev/null +++ b/package/libseccomp/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBSECCOMP + bool "libseccomp" + help + High level interface to the Linux Kernel's seccomp filter + + The libseccomp library provides and easy to use, platform independent, + interface to the Linux Kernel's syscall filtering mechanism: seccomp. + The libseccomp API is designed to abstract away the underlying BPF + based syscall filter language and present a more conventional + function-call based filtering interface that should be familiar to, + and easily adopted by application developers. + + http://sourceforge.net/projects/libseccomp/ diff --git a/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch b/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch new file mode 100644 index 0000000..0997edd --- /dev/null +++ b/package/libseccomp/libseccomp-use-system-headers-from-sysroot.patch @@ -0,0 +1,17 @@ +configure: check headers in sysroot, not in host's system headers + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN libseccomp-1.0.0.orig/configure libseccomp-1.0.0/configure +--- libseccomp-1.0.0.orig/configure 2012-07-27 22:35:05.000000000 +0200 ++++ libseccomp-1.0.0/configure 2012-10-27 00:12:50.739196219 +0200 +@@ -205,7 +205,8 @@ + # + + # system seccomp includes +-if [[ -r "/usr/include/linux/seccomp.h" ]]; then ++# ${SYSROOT} added by buildroot for cross-compilation ++if [[ -r "${SYSROOT}/usr/include/linux/seccomp.h" ]]; then + opt_sysinc_seccomp="yes" + else + opt_sysinc_seccomp="no" diff --git a/package/libseccomp/libseccomp.mk b/package/libseccomp/libseccomp.mk new file mode 100644 index 0000000..73fe632 --- /dev/null +++ b/package/libseccomp/libseccomp.mk @@ -0,0 +1,22 @@ +############################################################# +# +# libseccomp +# +############################################################# + +LIBSECCOMP_VERSION = 1.0.0 +LIBSECCOMP_SOURCE = libseccomp-$(LIBSECCOMP_VERSION).tar.gz +LIBSECCOMP_SITE = http://downloads.sourceforge.net/project/libseccomp +LIBSECCOMP_LICENSE = LGPLv2.1 +LIBSECCOMP_LICENSE_FILES = LICENSE +LIBSECCOMP_INSTALL_STAGING = YES + +# Needed for configure to find our system headers: +LIBSECCOMP_CONF_ENV = SYSROOT=$(STAGING_DIR) +LIBSECCOMP_MAKE_ENV = $(TARGET_CONFIGURE_OPTS) +LIBSECCOMP_MAKE_OPT = SUBDIRS_BUILD=src +LIBSECCOMP_INSTALL_STAGING_OPT = SUBDIRS_BUILD=src SUBDIRS_INSTALL="src include" DESTDIR=$(STAGING_DIR) install +LIBSECCOMP_INSTALL_TARGET_OPT = SUBDIRS_BUILD=src SUBDIRS_INSTALL="src include" DESTDIR=$(TARGET_DIR) install + +# Not a real autotools package, but works quite OK nonetheless +$(eval $(autotools-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 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 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
* [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 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 14/19] package/pmake: add host pmake 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (12 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 13/19] package/keyutils: " Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 15/19] package/libbsd: new package Yann E. MORIN ` (4 subsequent siblings) 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot pmake is the make command used by the BSD. It will used to build BSD-related packages, coming later. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/pmake/pmake-100_mk.patch | 2624 ++++++++++++++++++++++++++++++ package/pmake/pmake-110_mkdep.patch | 230 +++ package/pmake/pmake-120_fixes.patch | 266 +++ package/pmake/pmake-130_maxpathlen.patch | 39 + package/pmake/pmake-140_multiarch.patch | 354 ++++ package/pmake/pmake-150_mktemp.patch | 31 + package/pmake/pmake.mk | 46 + 7 files changed, 3590 insertions(+), 0 deletions(-) create mode 100644 package/pmake/pmake-100_mk.patch create mode 100644 package/pmake/pmake-110_mkdep.patch create mode 100644 package/pmake/pmake-120_fixes.patch create mode 100644 package/pmake/pmake-130_maxpathlen.patch create mode 100644 package/pmake/pmake-140_multiarch.patch create mode 100644 package/pmake/pmake-150_mktemp.patch create mode 100644 package/pmake/pmake.mk diff --git a/package/pmake/pmake-100_mk.patch b/package/pmake/pmake-100_mk.patch new file mode 100644 index 0000000..1786690 --- /dev/null +++ b/package/pmake/pmake-100_mk.patch @@ -0,0 +1,2624 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- pmake-1.111.orig/mk/Makefile ++++ pmake-1.111/mk/Makefile +@@ -0,0 +1,16 @@ ++# $NetBSD: Makefile,v 1.24 1999/02/13 02:54:36 lukem Exp $ ++# @(#)Makefile 8.1 (Berkeley) 6/8/93 ++ ++.include <bsd.own.mk> ++ ++.if ${MKSHARE} != "no" ++FILES= bsd.README bsd.doc.mk bsd.dep.mk bsd.files.mk bsd.inc.mk bsd.info.mk \ ++ bsd.kinc.mk bsd.kmod.mk bsd.lib.mk bsd.links.mk bsd.man.mk bsd.nls.mk \ ++ bsd.obj.mk bsd.own.mk bsd.prog.mk bsd.subdir.mk bsd.sys.mk sys.mk ++FILESDIR=/usr/share/mk ++.endif ++MKOBJ= no ++ ++FILESMODE=444 ++ ++.include <bsd.prog.mk> +--- pmake-1.111.orig/mk/bsd.README ++++ pmake-1.111/mk/bsd.README +@@ -0,0 +1,536 @@ ++# $NetBSD: bsd.README,v 1.48 1999/02/13 03:04:09 lukem Exp $ ++# @(#)bsd.README 8.2 (Berkeley) 4/2/94 ++ ++This is the README file for the new make "include" files for the BSD ++source tree. The files are installed in /usr/share/mk, and are, by ++convention, named with the suffix ".mk". ++ ++Note, this file is not intended to replace reading through the .mk ++files for anything tricky. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++RANDOM THINGS WORTH KNOWING: ++ ++The files are simply C-style #include files, and pretty much behave like ++you'd expect. The syntax is slightly different in that a single '.' is ++used instead of the hash mark, i.e. ".include <bsd.prog.mk>". ++ ++One difference that will save you lots of debugging time is that inclusion ++of the file is normally done at the *end* of the Makefile. The reason for ++this is because .mk files often modify variables and behavior based on the ++values of variables set in the Makefile. To make this work, remember that ++the FIRST target found is the target that is used, i.e. if the Makefile has: ++ ++ a: ++ echo a ++ a: ++ echo a number two ++ ++the command "make a" will echo "a". To make things confusing, the SECOND ++variable assignment is the overriding one, i.e. if the Makefile has: ++ ++ a= foo ++ a= bar ++ ++ b: ++ echo ${a} ++ ++the command "make b" will echo "bar". This is for compatibility with the ++way the V7 make behaved. ++ ++It's fairly difficult to make the BSD .mk files work when you're building ++multiple programs in a single directory. It's a lot easier split up the ++programs than to deal with the problem. Most of the agony comes from making ++the "obj" directory stuff work right, not because we switched to a new version ++of make. So, don't get mad at us, figure out a better way to handle multiple ++architectures so we can quit using the symbolic link stuff. (Imake doesn't ++count.) ++ ++The file .depend in the source directory is expected to contain dependencies ++for the source files. This file is read automatically by make after reading ++the Makefile. ++ ++The variable DESTDIR works as before. It's not set anywhere but will change ++the tree where the file gets installed. ++ ++The profiled libraries are no longer built in a different directory than ++the regular libraries. A new suffix, ".po", is used to denote a profiled ++object, and ".so" denotes a shared (position-independent) object. ++ ++The following variables that control how things are made/installed that ++are not set by default. These should not be set by Makefiles; they're for ++the user to define in MAKECONF (see bsd.own.mk, below) or on the make(1) ++command line: ++ ++BUILD If defined, 'make install' checks that the targets in the ++ source directories are up-to-date and remakes them if they ++ are out of date, instead of blindly trying to install ++ out of date or non-existant targets. ++ ++UPDATE If defined, 'make install' only installs targets that are ++ more recently modified in the source directories that their ++ installed counterparts. ++ ++MKCATPAGES If "no", don't build or install the catman pages. ++ ++MKDOC If "no", don't build or install the documentation. ++ ++MKINFO If "no", don't build or install Info documentation from ++ Texinfo source files. ++ ++MKLINT If "no", don't build or install the lint libraries. ++ ++MKMAN If "no", don't build or install the man or catman pages. ++ Also acts as "MKCATPAGES=no" ++ ++MKNLS If "no", don't build or install the NLS files. ++ ++MKOBJ If "no", don't create objdirs. ++ ++MKPIC If "no", don't build or install shared libraries. ++ ++MKPICINSTALL If "no", don't install the *_pic.a libraries. ++ ++MKPROFILE If "no", don't build or install the profiling libraries. ++ ++MKSHARE If "no", act as "MKCATPAGES=no MKDOC=no MKINFO=no MKMAN=no ++ MKNLS=no". I.e, don't build catman pages, documentation, ++ Info documentation, man pages, NLS files, ... ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <sys.mk> has the default rules for all makes, in the BSD ++environment or otherwise. You probably don't want to touch this file. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.man.mk> handles installing manual pages and their ++links. ++ ++It has a two targets: ++ ++ maninstall: ++ Install the manual page sources and their links. ++ catinstall: ++ Install the preformatted manual pages and their links. ++ ++It sets/uses the following variables: ++ ++MANDIR Base path for manual installation. ++ ++MANGRP Manual group. ++ ++MANOWN Manual owner. ++ ++MANMODE Manual mode. ++ ++MANSUBDIR Subdirectory under the manual page section, i.e. "/vax" ++ or "/tahoe" for machine specific manual pages. ++ ++MAN The manual pages to be installed (use a .1 - .9 suffix). ++ ++MLINKS List of manual page links (using a .1 - .9 suffix). The ++ linked-to file must come first, the linked file second, ++ and there may be multiple pairs. The files are soft-linked. ++ ++The include file <bsd.man.mk> includes a file named "../Makefile.inc" if ++it exists. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.own.mk> contains source tree configuration parameters, ++such as the owners, groups, etc. for both manual pages and binaries, and ++a few global "feature configuration" parameters. ++ ++It has no targets. ++ ++To get system-specific configuration parameters, bsd.own.mk will try to ++include the file specified by the "MAKECONF" variable. If MAKECONF is not ++set, or no such file exists, the system make configuration file, /etc/mk.conf ++is included. These files may define any of the variables described below. ++ ++bsd.own.mk sets the following variables, if they are not already defined ++(defaults are in brackets): ++ ++BSDSRCDIR The real path to the system sources, so that 'make obj' ++ will work correctly. [/usr/src] ++ ++BSDOBJDIR The real path to the system 'obj' tree, so that 'make obj' ++ will work correctly. [/usr/obj] ++ ++BINGRP Binary group. [wheel] ++ ++BINOWN Binary owner. [root] ++ ++BINMODE Binary mode. [555] ++ ++NONBINMODE Mode for non-executable files. [444] ++ ++MANDIR Base path for manual installation. [/usr/share/man/cat] ++ ++MANGRP Manual group. [wheel] ++ ++MANOWN Manual owner. [root] ++ ++MANMODE Manual mode. [${NONBINMODE}] ++ ++MANINSTALL Manual installation type: maninstall, catinstall, or both ++ ++LIBDIR Base path for library installation. [/usr/lib] ++ ++LINTLIBDIR Base path for lint(1) library installation. [/usr/libdata/lint] ++ ++LIBGRP Library group. [${BINGRP}] ++ ++LIBOWN Library owner. [${BINOWN}] ++ ++LIBMODE Library mode. [${NONBINMODE}] ++ ++DOCDIR Base path for system documentation (e.g. PSD, USD, etc.) ++ installation. [/usr/share/doc] ++ ++DOCGRP Documentation group. [wheel] ++ ++DOCOWN Documentation owner. [root] ++ ++DOCMODE Documentation mode. [${NONBINMODE}] ++ ++NLSDIR Base path for National Language Support files installation. ++ [/usr/share/nls] ++ ++NLSGRP National Language Support files group. [wheel] ++ ++NLSOWN National Language Support files owner. [root] ++ ++NLSMODE National Language Support files mode. [${NONBINMODE}] ++ ++STRIPFLAG The flag passed to the install program to cause the binary ++ to be stripped. This is to be used when building your ++ own install script so that the entire system can be made ++ stripped/not-stripped using a single knob. [-s] ++ ++COPY The flag passed to the install program to cause the binary ++ to be copied rather than moved. This is to be used when ++ building our own install script so that the entire system ++ can either be installed with copies, or with moves using ++ a single knob. [-c] ++ ++Additionally, the following variables may be set by bsd.own.mk or in a ++make configuration file to modify the behaviour of the system build ++process (default values are in brackets along with comments, if set by ++bsd.own.mk): ++ ++EXPORTABLE_SYSTEM ++ Do not build /usr/src/domestic, even if it is present. ++ ++SKEY Compile in support for S/key authentication. [yes, set ++ unconditionally] ++ ++KERBEROS Compile in support for Kerberos 4 authentication. ++ ++KERBEROS5 Compile in support for Kerberos 5 authentication. ++ ++MANZ Compress manual pages at installation time. ++ ++SYS_INCLUDE Copy or symlink kernel include files into /usr/include. ++ Possible values are "symlinks" or "copies" (which is ++ the same as the variable being unset). ++ ++NOPROFILE Do not build profiled versions of system libraries ++ ++NOPIC Do not build PIC versions of system libraries, and ++ do not build shared libraries. ++ ++NOLINT Do not build lint libraries. ++ ++OBJECT_FMT Object file format. [set to "ELF" on ports that use ++ ELF -- currently if ${MACHINE_ARCH} is "alpha", "mips" ++ or "powerpc" or set to "a.out" on other ports]. ++ ++ ++bsd.own.mk is generally useful when building your own Makefiles so that ++they use the same default owners etc. as the rest of the tree. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.prog.mk> handles building programs from one or ++more source files, along with their manual pages. It has a limited number ++of suffixes, consistent with the current needs of the BSD tree. ++ ++It has eight targets: ++ ++ all: ++ build the program and its manual page ++ clean: ++ remove the program, any object files and the files a.out, ++ Errs, errs, mklog, and ${PROG}.core. ++ cleandir: ++ remove all of the files removed by the target clean, as ++ well as .depend, tags, and any manual pages. ++ `distclean' is a synonym for `cleandir'. ++ depend: ++ make the dependencies for the source files, and store ++ them in the file .depend. ++ includes: ++ install any header files. ++ install: ++ install the program and its manual pages; if the Makefile ++ does not itself define the target install, the targets ++ beforeinstall and afterinstall may also be used to cause ++ actions immediately before and after the install target ++ is executed. ++ lint: ++ run lint on the source files ++ tags: ++ create a tags file for the source files. ++ ++It sets/uses the following variables: ++ ++BINGRP Binary group. ++ ++BINOWN Binary owner. ++ ++BINMODE Binary mode. ++ ++CLEANFILES Additional files to remove for the clean and cleandir targets. ++ ++COPTS Additional flags to the compiler when creating C objects. ++ ++CPPFLAGS Additional flags to the C pre-processor ++ ++LDADD Additional loader objects. Usually used for libraries. ++ For example, to load with the compatibility and utility ++ libraries, use: ++ ++ LDADD+=-lutil -lcompat ++ ++LDFLAGS Additional loader flags. ++ ++LINKS The list of binary links; should be full pathnames, the ++ linked-to file coming first, followed by the linked ++ file. The files are hard-linked. For example, to link ++ /bin/test and /bin/[, use: ++ ++ LINKS= ${DESTDIR}/bin/test ${DESTDIR}/bin/[ ++ ++SYMLINKS The list of symbolic links; should be full pathnames. ++ Syntax is identical to LINKS. Note that DESTDIR is not ++ automatically included in the link. ++ ++MAN Manual pages (should end in .1 - .9). If no MAN variable is ++ defined, "MAN=${PROG}.1" is assumed. ++ ++PROG The name of the program to build. If not supplied, nothing ++ is built. ++ ++PROGNAME The name that the above program will be installed as, if ++ different from ${PROG}. ++ ++SRCS List of source files to build the program. If SRCS is not ++ defined, it's assumed to be ${PROG}.c. ++ ++DPADD Additional dependencies for the program. Usually used for ++ libraries. For example, to depend on the compatibility and ++ utility libraries use: ++ ++ DPADD+=${LIBCOMPAT} ${LIBUTIL} ++ ++ The following libraries are predefined for DPADD: ++ ++ LIBC?= ${DESTDIR}/usr/lib/libc.a ++ LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a ++ LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a ++ LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a ++ LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a ++ LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a ++ LIBDES?= ${DESTDIR}/usr/lib/libdes.a ++ LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a ++ LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a ++ LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a ++ LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a ++ LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a ++ LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a ++ LIBL?= ${DESTDIR}/usr/lib/libl.a ++ LIBM?= ${DESTDIR}/usr/lib/libm.a ++ LIBMP?= ${DESTDIR}/usr/lib/libmp.a ++ LIBNTP?= ${DESTDIR}/usr/lib/libntp.a ++ LIBPC?= ${DESTDIR}/usr/lib/libpc.a ++ LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a ++ LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a ++ LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a ++ LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a ++ LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a ++ LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a ++ LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a ++ LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a ++ LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a ++ LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a ++ LIBY?= ${DESTDIR}/usr/lib/liby.a ++ LIBZ?= ${DESTDIR}/usr/lib/libz.a ++ ++ ++SHAREDSTRINGS If defined, a new .c.o rule is used that results in shared ++ strings, using xstr(1). Note that this will not work with ++ parallel makes. ++ ++STRIP The flag passed to the install program to cause the binary ++ to be stripped. ++ ++SUBDIR A list of subdirectories that should be built as well. ++ Each of the targets will execute the same target in the ++ subdirectories. ++ ++SCRIPTS A list of interpreter scripts [file.{sh,csh,pl,awk,...}]. ++ These are installed exactly like programs. ++ ++SCRIPTSNAME The name that the above program will be installed as, if ++ different from ${SCRIPTS}. These can be further specialized ++ by setting SCRIPTSNAME_<script>. ++ ++FILES A list of files to install. The installation is controlled ++ by the FILESNAME, FILESOWN, FILESGRP, FILESMODE, FILESDIR ++ variables that can be further specialized by FILES<VAR>_<file> ++ ++The include file <bsd.prog.mk> includes the file named "../Makefile.inc" ++if it exists, as well as the include file <bsd.man.mk>. ++ ++Some simple examples: ++ ++To build foo from foo.c with a manual page foo.1, use: ++ ++ PROG= foo ++ ++ .include <bsd.prog.mk> ++ ++To build foo from foo.c with a manual page foo.2, add the line: ++ ++ MAN= foo.2 ++ ++If foo does not have a manual page at all, add the line: ++ ++ NOMAN= noman ++ ++If foo has multiple source files, add the line: ++ ++ SRCS= a.c b.c c.c d.c ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.subdir.mk> contains the default targets for building ++subdirectories. It has the same eight targets as <bsd.prog.mk>: all, ++clean, cleandir, depend, includes, install, lint, and tags. For all of ++the directories listed in the variable SUBDIRS, the specified directory ++will be visited and the target made. There is also a default target which ++allows the command "make subdir" where subdir is any directory listed in ++the variable SUBDIRS. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.links.mk> handles the LINKS and SYMLINKS variables ++and is included from from bsd.lib.mk and bsd.prog.mk. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.files.mk> handles the FILES variables and is included ++from bsd.lib.mk and bsd.prog.mk. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.inc.mk> defines the includes target and uses two ++variables: ++ ++INCS The list of include files ++ ++INCSDIR The location to install the include files. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.kinc.mk> defines the many targets (includes, ++subdirectories, etc.), and is used by kernel makefiles to handle ++include file installation. It is intended to be included alone, by ++kernel Makefiles. Please see bsd.kinc.mk for more details, and keep ++the documentation in that file up to date. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.info.mk> is used to generate and install GNU Info ++documentation from respective Texinfo source files. It defines three ++implicit targets (.txi.info, .texi.info, and .texinfo.info), and uses the ++following variables: ++ ++TEXINFO List of Texinfo source files. Info documentation will ++ consist of single files with the extension replaced by ++ .info. ++ ++INFOFLAGS Flags to pass to makeinfo. [] ++ ++INSTALL_INFO Name of install-info program. [install-info] ++ ++MAKEINFO Name of makeinfo program. [makeinfo] ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.sys.mk> is used by <bsd.prog.mk> and ++<bsd.lib.mk>. It contains overrides that are used when building ++the NetBSD source tree. For instance, if "PARALLEL" is defined by ++the program/library Makefile, it includes a set of rules for lex and ++yacc that allow multiple lex and yacc targets to be built in parallel. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ++ ++The include file <bsd.lib.mk> has support for building libraries. It has ++the same eight targets as <bsd.prog.mk>: all, clean, cleandir, depend, ++includes, install, lint, and tags. Additionally, it has a checkver target ++which checks for installed shared object libraries whose version is greater ++that the version of the source. It has a limited number of suffixes, ++consistent with the current needs of the BSD tree. ++ ++It sets/uses the following variables: ++ ++LIB The name of the library to build. ++ ++LIBDIR Target directory for libraries. ++ ++LINTLIBDIR Target directory for lint libraries. ++ ++LIBGRP Library group. ++ ++LIBOWN Library owner. ++ ++LIBMODE Library mode. ++ ++LDADD Additional loader objects. ++ ++MAN The manual pages to be installed (use a .1 - .9 suffix). ++ ++MKLINKLIB If "no", act as "MKPICINSTALL=no MKPROFILE=no". ++ Also: ++ - don't install the .a libraries ++ - don't install _pic.a libraries on PIC systems ++ - don't build .a libraries on PIC systems ++ - don't install the .so symlink on ELF systems ++ I.e, only install the shared library (and the .so.major ++ symlink on ELF). ++ ++NOCHECKVER_<library> ++NOCHECKVER If set, disables checking for installed shared object ++ libraries with versions greater than the source. A ++ particular library name, without the "lib" prefix, may ++ be appended to the variable name to disable the check for ++ only that library. ++ ++SRCS List of source files to build the library. Suffix types ++ .s, .c, and .f are supported. Note, .s files are preferred ++ to .c files of the same name. (This is not the default for ++ versions of make.) ++ ++The include file <bsd.lib.mk> includes the file named "../Makefile.inc" ++if it exists, as well as the include file <bsd.man.mk>. ++ ++It has rules for building profiled objects; profiled libraries are ++built by default. ++ ++Libraries are ranlib'd when made. ++ ++=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +--- pmake-1.111.orig/mk/bsd.dep.mk ++++ pmake-1.111/mk/bsd.dep.mk +@@ -0,0 +1,62 @@ ++# $NetBSD: bsd.dep.mk,v 1.26 1999/02/24 22:04:15 simonb Exp $ ++ ++.PHONY: cleandepend ++cleandir distclean: cleandepend ++ ++MKDEP?= mkdep ++ ++# some of the rules involve .h sources, so remove them from mkdep line ++depend: beforedepend ++.if defined(SRCS) ++depend: .depend ++ @true # hack to prevent "make depend" from using implicit rules ++.NOPATH: .depend ++.depend: ${SRCS} ${DPSRCS} ++ @rm -f .depend ++ @files="${.ALLSRC:M*.s} ${.ALLSRC:M*.S}"; \ ++ if [ "$$files" != " " ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${AFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} ${AINC:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${AFLAGS:M-[ID]*} ${CPPFLAGS} ${AINC} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.c}"; \ ++ if [ "$$files" != "" ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.m}"; \ ++ if [ "$$files" != "" ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${OBJCFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${OBJCFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++ @files="${.ALLSRC:M*.cc} ${.ALLSRC:M*.C} ${.ALLSRC:M*.cxx}"; \ ++ if [ "$$files" != " " ]; then \ ++ echo ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CXXFLAGS:M-[ID]*:Q} ${CPPFLAGS:Q} $$files; \ ++ ${MKDEP} -a ${MKDEPFLAGS} \ ++ ${CXXFLAGS:M-[ID]*} ${CPPFLAGS} $$files; \ ++ fi ++cleandepend: ++ rm -f .depend ${.CURDIR}/tags ++.else ++cleandepend: ++.endif ++depend: afterdepend ++ ++beforedepend: ++afterdepend: ++ ++.if !target(tags) ++.if defined(SRCS) ++tags: ${SRCS} ++ -cd ${.CURDIR}; ctags -f /dev/stdout ${.ALLSRC:N*.h} | \ ++ sed "s;\${.CURDIR}/;;" > tags ++.else ++tags: ++.endif ++.endif +--- pmake-1.111.orig/mk/bsd.doc.mk ++++ pmake-1.111/mk/bsd.doc.mk +@@ -0,0 +1,78 @@ ++# $NetBSD: bsd.doc.mk,v 1.41 1999/02/12 01:10:06 lukem Exp $ ++# @(#)bsd.doc.mk 8.1 (Berkeley) 8/14/93 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleandoc docinstall print spell ++.if ${MKSHARE} != "no" ++realinstall: docinstall ++.endif ++clean cleandir distclean: cleandoc ++ ++BIB?= bib ++EQN?= eqn ++GREMLIN?= grn ++GRIND?= vgrind -f ++INDXBIB?= indxbib ++PIC?= pic ++REFER?= refer ++ROFF?= groff ${MACROS} ${PAGES} ++SOELIM?= soelim ++TBL?= tbl ++ ++.if !target(all) ++.if ${MKSHARE} != "no" ++all: paper.ps ++.else ++all: ++.endif ++.endif ++ ++.if !target(paper.ps) ++paper.ps: ${SRCS} ++ ${ROFF} ${.ALLSRC} > ${.TARGET} ++.endif ++ ++.if !target(print) ++print: paper.ps ++ lpr -P${PRINTER} ${.ALLSRC} ++.endif ++ ++cleandoc: ++ rm -f paper.* [eE]rrs mklog ${CLEANFILES} ++ ++.if ${MKDOC} != "no" ++FILES?= ${SRCS} ++.for F in ${FILES} ${EXTRA} Makefile ++docinstall:: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${DOCDIR}/${DIR}/${F}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${DOCDIR}/${DIR}/${F} ++${DESTDIR}${DOCDIR}/${DIR}/${F}: ${F} ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${DOCOWN} -g ${DOCGRP} \ ++ -m ${DOCMODE} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(docinstall) ++docinstall:: ++.endif ++ ++spell: ${SRCS} ++ spell ${.ALLSRC} | sort | comm -23 - spell.ok > paper.spell ++ ++depend includes lint obj tags: ++ ++.include <bsd.obj.mk> +--- pmake-1.111.orig/mk/bsd.files.mk ++++ pmake-1.111/mk/bsd.files.mk +@@ -0,0 +1,43 @@ ++# $NetBSD: bsd.files.mk,v 1.8 1999/02/11 13:25:42 tv Exp $ ++ ++# This file can be included multiple times. It clears the definition of ++# FILES at the end so that this is possible. ++ ++.PHONY: filesinstall ++realinstall: filesinstall ++ ++.if defined(FILES) && !empty(FILES) ++FILESDIR?=${BINDIR} ++FILESOWN?=${BINOWN} ++FILESGRP?=${BINGRP} ++FILESMODE?=${NONBINMODE} ++.for F in ${FILES} ++FILESDIR_${F}?=${FILESDIR} ++FILESOWN_${F}?=${FILESOWN} ++FILESGRP_${F}?=${FILESGRP} ++FILESMODE_${F}?=${FILESMODE} ++.if defined(FILESNAME) ++FILESNAME_${F} ?= ${FILESNAME} ++.else ++FILESNAME_${F} ?= ${F:T} ++.endif ++filesinstall:: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}} ++${DESTDIR}${FILESDIR_${F}}/${FILESNAME_${F}}: ${F} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${FILESOWN_${F}} \ ++ -g ${FILESGRP_${F}} -m ${FILESMODE_${F}} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(filesinstall) ++filesinstall:: ++.endif ++ ++FILES:= +--- pmake-1.111.orig/mk/bsd.inc.mk ++++ pmake-1.111/mk/bsd.inc.mk +@@ -0,0 +1,25 @@ ++# $NetBSD: bsd.inc.mk,v 1.12 1999/02/04 11:58:30 christos Exp $ ++ ++.PHONY: incinstall ++includes: ${INCS} incinstall ++ ++.if defined(INCS) ++.for I in ${INCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: $I ++ @cmp -s ${.ALLSRC} ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}) ++.endfor ++.endif ++ ++.if !target(incinstall) ++incinstall:: ++.endif +--- pmake-1.111.orig/mk/bsd.info.mk ++++ pmake-1.111/mk/bsd.info.mk +@@ -0,0 +1,60 @@ ++# $NetBSD: bsd.info.mk,v 1.7.2.1 1999/04/22 14:46:13 perry Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++MAKEINFO?= makeinfo ++INFOFLAGS?= ++INSTALL_INFO?= install-info ++ ++.SUFFIXES: .txi .texi .texinfo .info ++ ++.txi.info .texi.info .texinfo.info: ++ @${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $< ++ ++.if defined(TEXINFO) && !empty(TEXINFO) && ${MKINFO} != "no" ++INFOFILES= ${TEXINFO:C/\.te?xi(nfo)?$/.info/} ++FILES+= ${INFOFILES} ++ ++infoinstall: ++.for F in ${INFOFILES} ++ @${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F} ++ ${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F} ++.endfor ++ ++.for F in ${INFOFILES} ++FILESDIR_${F}= ${INFODIR} ++FILESOWN_${F}= ${INFOOWN} ++FILESGRP_${F}= ${INFOGRP} ++FILESMODE_${F}= ${INFOMODE} ++FILESNAME_${F}= ${F:T} ++.endfor ++ ++all: ${INFOFILES} ++.else ++all: ++.endif ++ ++.if ${MKINFO} != "no" ++cleaninfo: ++ rm -f ${INFOFILES} ++.else ++cleaninfo infoinstall: ++.endif ++ ++.include <bsd.files.mk> ++ ++# These need to happen *after* filesinstall. ++.PHONY: infoinstall cleaninfo ++realinstall: infoinstall ++cleandir distclean: cleaninfo ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++clean depend includes lint regress tags: +--- pmake-1.111.orig/mk/bsd.kinc.mk ++++ pmake-1.111/mk/bsd.kinc.mk +@@ -0,0 +1,136 @@ ++# $NetBSD: bsd.kinc.mk,v 1.5 1999/02/04 11:58:30 christos Exp $ ++ ++# System configuration variables: ++# ++# SYS_INCLUDE "symlinks": symlinks to include directories are created. ++# This may not work 100% properly for all headers. ++# ++# "copies": directories are made, if necessary, and headers ++# are installed into them. ++# ++# Variables: ++# ++# INCSDIR Directory to install includes into (and/or make, and/or ++# symlink, depending on what's going on). ++# ++# KDIR Kernel directory to symlink to, if SYS_INCLUDE is symlinks. ++# If unspecified, no action will be taken when making include ++# for the directory if SYS_INCLUDE is symlinks. ++# ++# INCS Headers to install, if SYS_INCLUDE is copies. ++# ++# DEPINCS Headers to install which are built dynamically. ++# ++# SUBDIR Subdirectories to enter ++# ++# SYMLINKS Symlinks to make (unconditionally), a la bsd.links.mk. ++# Note that the original bits will be 'rm -rf'd rather than ++# just 'rm -f'd, to make the right thing happen with include ++# directories. ++# ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.MAIN: all ++.endif ++ ++# Change SYS_INCLUDE in bsd.own.mk or /etc/mk.conf to "symlinks" if you ++# don't want copies ++SYS_INCLUDE?= copies ++ ++# If DESTDIR is set, we're probably building a release, so force "copies". ++.if defined(DESTDIR) && (${DESTDIR} != "/" && !empty(DESTDIR)) ++SYS_INCLUDE= copies ++.endif ++ ++ ++.PHONY: incinstall ++includes: ${INCS} incinstall ++ ++ ++.if ${SYS_INCLUDE} == "symlinks" ++ ++# don't install includes, just make symlinks. ++ ++.if defined(KDIR) ++SYMLINKS+= ${KDIR} ${INCSDIR} ++.endif ++ ++.else # not symlinks ++ ++# make sure the directory is OK, and install includes. ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR} ++.PHONY: ${DESTDIR}${INCSDIR} ++${DESTDIR}${INCSDIR}: ++ @if [ ! -d ${.TARGET} ] || [ -L ${.TARGET} ] ; then \ ++ echo creating ${.TARGET}; \ ++ /bin/rm -rf ${.TARGET}; \ ++ ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 ${.TARGET}; \ ++ fi ++ ++incinstall:: ${DESTDIR}${INCSDIR} ++ ++.if defined(INCS) ++.for I in ${INCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I ++ @cmp -s ${.CURDIR}/$I ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} ${.CURDIR}/$I ${.TARGET}) ++.endfor ++.endif ++ ++.if defined(DEPINCS) ++.for I in ${DEPINCS} ++incinstall:: ${DESTDIR}${INCSDIR}/$I ++ ++.PRECIOUS: ${DESTDIR}${INCSDIR}/$I ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${INCSDIR}/$I ++.endif ++${DESTDIR}${INCSDIR}/$I: ${DESTDIR}${INCSDIR} $I ++ @cmp -s $I ${.TARGET} > /dev/null 2>&1 || \ ++ (echo "${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} \ ++ -g ${BINGRP} -m ${NONBINMODE} $I ${.TARGET}" && \ ++ ${INSTALL} ${RENAME} ${PRESERVE} -c -o ${BINOWN} -g ${BINGRP} \ ++ -m ${NONBINMODE} $I ${.TARGET}) ++.endfor ++.endif ++ ++.endif # not symlinks ++ ++.if defined(SYMLINKS) && !empty(SYMLINKS) ++incinstall:: ++ @set ${SYMLINKS}; \ ++ while test $$# -ge 2; do \ ++ l=$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -rf $$t"; \ ++ echo " @ln -s $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++ ++.if !target(incinstall) ++incinstall:: ++.endif ++ ++.include <bsd.subdir.mk> +--- pmake-1.111.orig/mk/bsd.kmod.mk ++++ pmake-1.111/mk/bsd.kmod.mk +@@ -0,0 +1,95 @@ ++# $NetBSD: bsd.kmod.mk,v 1.30 1999/03/10 06:34:19 ross Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleankmod kmodinstall load unload ++realinstall: kmodinstall ++clean cleandir distclean: cleankmod ++ ++S?= /sys ++KERN= $S/kern ++ ++CFLAGS+= ${COPTS} -D_KERNEL -D_LKM -I. -I${.CURDIR} -I$S -I$S/arch ++ ++DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} ++CLEANFILES+= ${DPSRCS} ++.if defined(YHEADER) ++CLEANFILES+= ${SRCS:M*.y:.y=.h} ++.endif ++ ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++ ++.if !defined(PROG) ++PROG= ${KMOD}.o ++.endif ++ ++${PROG}: ${DPSRCS} ${OBJS} ${DPADD} ++ ${LD} -r ${LDFLAGS} -o tmp.o ${OBJS} ++ mv tmp.o ${.TARGET} ++ ++.if !defined(MAN) ++MAN= ${KMOD}.4 ++.endif ++ ++all: machine-links ${PROG} ++ ++.PHONY: machine-links ++beforedepend: machine-links ++machine-links: ++ -rm -f machine && \ ++ ln -s $S/arch/${MACHINE}/include machine ++ -rm -f ${MACHINE_ARCH} && \ ++ ln -s $S/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH} ++CLEANFILES+=machine ${MACHINE_ARCH} ++ ++cleankmod: ++ rm -f a.out [Ee]rrs mklog core *.core \ ++ ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES} ++ ++# ++# define various install targets ++# ++.if !target(kmodinstall) ++kmodinstall:: ${DESTDIR}${KMODDIR}/${PROG} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${KMODDIR}/${PROG} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${KMODDIR}/${PROG}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${KMODDIR}/${PROG} ++${DESTDIR}${KMODDIR}/${PROG}: ${PROG} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${KMODOWN} -g ${KMODGRP} \ ++ -m ${KMODMODE} ${.ALLSRC} ${.TARGET} ++.endif ++ ++lint: ${LOBJS} ++.if defined(LOBJS) && !empty(LOBJS) ++ ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD} ++.endif ++ ++.if !target(load) ++load: ${PROG} ++ /sbin/modload -o ${KMOD} -e${KMOD}_lkmentry ${PROG} ++.endif ++ ++.if !target(unload) ++unload: ${PROG} ++ /sbin/modunload -n ${KMOD} ++.endif ++ ++.include <bsd.man.mk> ++.include <bsd.links.mk> ++.include <bsd.dep.mk> ++.include <bsd.sys.mk> ++ ++.-include "machine/Makefile.inc" +--- pmake-1.111.orig/mk/bsd.lib.mk ++++ pmake-1.111/mk/bsd.lib.mk +@@ -0,0 +1,396 @@ ++# $NetBSD: bsd.lib.mk,v 1.152 1999/03/30 09:30:43 fair Exp $ ++# @(#)bsd.lib.mk 8.3 (Berkeley) 4/22/94 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: checkver cleanlib libinstall ++realinstall: checkver libinstall ++clean cleandir distclean: cleanlib ++ ++.if exists(${.CURDIR}/shlib_version) ++SHLIB_MAJOR != . ${.CURDIR}/shlib_version ; echo $$major ++SHLIB_MINOR != . ${.CURDIR}/shlib_version ; echo $$minor ++ ++# Check for higher installed library versions. ++.if !defined(NOCHECKVER) && !defined(NOCHECKVER_${LIB}) && \ ++ exists(${BSDSRCDIR}/lib/checkver) ++checkver: ++ @(cd ${.CURDIR} && \ ++ ${BSDSRCDIR}/lib/checkver -d ${DESTDIR}${LIBDIR} ${LIB}) ++.else ++checkver: ++.endif ++.else ++checkver: ++.endif ++ ++# add additional suffixes not exported. ++# .po is used for profiling object files. ++# .so is used for PIC object files. ++.SUFFIXES: .out .a .ln .so .po .o .s .S .c .cc .C .m .F .f .r .y .l .cl .p .h ++.SUFFIXES: .sh .m4 .m ++ ++ ++# Set PICFLAGS to cc flags for producing position-independent code, ++# if not already set. Includes -DPIC, if required. ++ ++# Data-driven table using make variables to control how shared libraries ++# are built for different platforms and object formats. ++# OBJECT_FMT: currently either "ELF" or "a.out", from <bsd.own.mk> ++# SHLIB_SOVERSION: version number to be compiled into a shared library ++# via -soname. Usualy ${SHLIB_MAJOR} on ELF. ++# NetBSD/pmax used to use ${SHLIB_MAJOR}.{SHLIB-MINOR}. ++# SHLIB_SHFLAGS: Flags to tell ${LD} to emit shared library. ++# with ELF, also set shared-lib version for ld.so. ++# SHLIB_LDSTARTFILE: support .o file, call C++ file-level constructors ++# SHLIB_LDENDFILE: support .o file, call C++ file-level destructors ++# CPPICFLAGS: flags for ${CPP} to preprocess .[sS] files for ${AS} ++# CPICFLAGS: flags for ${CC} to compile .[cC] files to .so objects. ++# CAPICFLAGS flags for {$CC} to compiling .[Ss] files ++# (usually just ${CPPPICFLAGS} ${CPICFLAGS}) ++# APICFLAGS: flags for ${AS} to assemble .[sS] to .so objects. ++ ++.if ${MACHINE_ARCH} == "alpha" ++ # Alpha-specific shared library flags ++CPICFLAGS ?= -fpic -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS ?= ++.elif ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" ++ # mips-specific shared library flags ++ ++# On mips, all libs need to be compiled with ABIcalls, not just sharedlibs. ++CPICFLAGS?= ++APICFLAGS?= ++#CPICFLAGS?= -fpic -DPIC ++#APICFLAGS?= -DPIC ++ ++# so turn shlib PIC flags on for ${CPP}, ${CC}, and ${AS} as follows: ++AINC+=-DPIC -DABICALLS ++COPTS+= -fPIC ${AINC} ++AFLAGS+= -fPIC ++AS+= -KPIC ++ ++.elif ${MACHINE_ARCH} == "sparc" && ${OBJECT_FMT} == "ELF" ++ ++CPICFLAGS ?= -fpic -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS ?= -KPIC ++ ++.elif (${MACHINE} == "debian") ++ ++SHLIB_TYPE=ELF ++SHLIB_LDSTARTFILE= ++SHLIB_LDENDFILE= ++SHLIB_SOVERSION=${SHLIB_MAJOR} ++CPICFLAGS ?= -fPIC -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS ?= ++ ++.else ++ ++# Platform-independent flags for NetBSD a.out shared libraries (and PowerPC) ++SHLIB_LDSTARTFILE= ++SHLIB_LDENDFILE= ++SHLIB_SHFLAGS= ++SHLIB_SOVERSION=${SHLIB_MAJOR}.${SHLIB_MINOR} ++CPICFLAGS?= -fpic -DPIC ++CPPPICFLAGS?= -DPIC ++CAPICFLAGS?= ${CPPPICFLAGS} ${CPICFLAGS} ++APICFLAGS?= -k ++ ++.endif ++ ++# Platform-independent linker flags for ELF shared libraries ++.if ${OBJECT_FMT} == "ELF" ++SHLIB_SOVERSION=${SHLIB_MAJOR} ++SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION} ++SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o ++SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o ++.endif ++ ++CFLAGS+= ${COPTS} ++ ++.c.o: ++ @echo ${COMPILE.c:Q} ${.IMPSRC} ++ @${COMPILE.c} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.po: ++ @echo ${COMPILE.c:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.c} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.so: ++ @echo ${COMPILE.c:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.c} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.c.ln: ++ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} ++ ++.cc.o .C.o: ++ @echo ${COMPILE.cc:Q} ${.IMPSRC} ++ @${COMPILE.cc} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.cc.po .C.po: ++ @echo ${COMPILE.cc:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.cc} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.cc.so .C.so: ++ @echo ${COMPILE.cc:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.cc} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.o: ++ @echo ${COMPILE.m:Q} ${.IMPSRC} ++ @${COMPILE.m} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.po: ++ @echo ${COMPILE.m:Q} -pg ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.m} -pg ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.m.so: ++ @echo ${COMPILE.m:Q} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.m} ${CPICFLAGS} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.S.o .s.o: ++ @echo ${COMPILE.S:Q} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} ++ @${COMPILE.S} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.S.po .s.po: ++ @echo ${COMPILE.S:Q} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.S} -DGPROF -DPROF ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -X -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.S.so .s.so: ++ @echo ${COMPILE.S:Q} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET} ++ @${COMPILE.S} ${CAPICFLAGS} ${CFLAGS:M-[ID]*} ${AINC} ${.IMPSRC} -o ${.TARGET}.o ++ @${LD} -x -r ${.TARGET}.o -o ${.TARGET} ++ @rm -f ${.TARGET}.o ++ ++.if ${MKPIC} == "no" || (defined(LDSTATIC) && ${LDSTATIC} != "") \ ++ || ${MKLINKLIB} != "no" ++_LIBS=lib${LIB}.a ++.else ++_LIBS= ++.endif ++ ++.if ${MKPROFILE} != "no" ++_LIBS+=lib${LIB}_p.a ++.endif ++ ++.if ${MKPIC} != "no" ++_LIBS+=lib${LIB}_pic.a ++.if defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) ++_LIBS+=lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.endif ++.endif ++ ++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" ++_LIBS+=llib-l${LIB}.ln ++.endif ++ ++all: ${SRCS} ${_LIBS} ++ ++__archivebuild: .USE ++ @rm -f ${.TARGET} ++ @${AR} cq ${.TARGET} `NM=${NM} ${LORDER} ${.ALLSRC:M*o} | ${TSORT}` ++ ${RANLIB} ${.TARGET} ++ ++__archiveinstall: .USE ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \ ++ -m 600 ${.ALLSRC} ${.TARGET} ++ ${RANLIB} -t ${.TARGET} ++ chmod ${LIBMODE} ${.TARGET} ++ ++DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} ++CLEANFILES+= ${DPSRCS} ++.if defined(YHEADER) ++CLEANFILES+= ${SRCS:M*.y:.y=.h} ++.endif ++ ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++lib${LIB}.a:: ${OBJS} __archivebuild ++ @echo building standard ${LIB} library ++ ++POBJS+= ${OBJS:.o=.po} ++lib${LIB}_p.a:: ${POBJS} __archivebuild ++ @echo building profiled ${LIB} library ++ ++SOBJS+= ${OBJS:.o=.so} ++lib${LIB}_pic.a:: ${SOBJS} __archivebuild ++ @echo building shared object ${LIB} library ++ ++lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}_pic.a ${DPADD} \ ++ ${SHLIB_LDSTARTFILE} ${SHLIB_LDENDFILE} ++ @echo building shared ${LIB} library \(version ${SHLIB_MAJOR}.${SHLIB_MINOR}\) ++ @rm -f lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.if defined(DESTDIR) ++ $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ++ ${SHLIB_LDSTARTFILE} \ ++ -Wl,--whole-archive lib${LIB}_pic.a \ ++ -nostdlib -L${DESTDIR}${LIBDIR} -R${LIBDIR} \ ++ -Wl,--no-whole-archive ${LDADD} \ ++ ${SHLIB_LDENDFILE} ++.else ++ $(CC) -shared ${SHLIB_SHFLAGS} -o ${.TARGET} \ ++ ${SHLIB_LDSTARTFILE} \ ++ -Wl,--whole-archive lib${LIB}_pic.a -Wl,--no-whole-archive ${LDADD} \ ++ ${SHLIB_LDENDFILE} ++.endif ++.if ${OBJECT_FMT} == "ELF" ++ rm -f lib${LIB}.so.${SHLIB_MAJOR} ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ lib${LIB}.so.${SHLIB_MAJOR} ++ rm -f lib${LIB}.so ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ lib${LIB}.so ++.endif ++ ++LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} ++LLIBS?= -lc ++llib-l${LIB}.ln: ${LOBJS} ++ @echo building llib-l${LIB}.ln ++ @rm -f llib-l${LIB}.ln ++ @${LINT} -C${LIB} ${.ALLSRC} ${LLIBS} ++ ++cleanlib: ++ rm -f a.out [Ee]rrs mklog core *.core ${CLEANFILES} ++ rm -f lib${LIB}.a ${OBJS} ++ rm -f lib${LIB}_p.a ${POBJS} ++ rm -f lib${LIB}_pic.a lib${LIB}.so.* lib${LIB}.so ${SOBJS} ++ rm -f llib-l${LIB}.ln ${LOBJS} ++ ++.if defined(SRCS) ++afterdepend: .depend ++ @(TMP=/tmp/_depend$$$$; \ ++ sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \ ++ < .depend > $$TMP; \ ++ mv $$TMP .depend) ++.endif ++ ++.if !target(libinstall) ++# Make sure it gets defined, in case MKPIC==no && MKLINKLIB==no ++libinstall:: ++ ++.if ${MKLINKLIB} != "no" ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.a ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.a ++${DESTDIR}${LIBDIR}/lib${LIB}.a: lib${LIB}.a __archiveinstall ++.endif ++ ++.if ${MKPROFILE} != "no" ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_p.a ++${DESTDIR}${LIBDIR}/lib${LIB}_p.a: lib${LIB}_p.a __archiveinstall ++.endif ++ ++.if ${MKPIC} != "no" && ${MKPICINSTALL} != "no" ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}_pic.a ++${DESTDIR}${LIBDIR}/lib${LIB}_pic.a: lib${LIB}_pic.a __archiveinstall ++.endif ++ ++.if ${MKPIC} != "no" && defined(SHLIB_MAJOR) && defined(SHLIB_MINOR) ++libinstall:: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR}: lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \ ++ -m ${LIBMODE} ${.ALLSRC} ${.TARGET} ++.if ${OBJECT_FMT} == "a.out" && !defined(DESTDIR) ++ /sbin/ldconfig -m ${LIBDIR} ++.endif ++.if ${OBJECT_FMT} == "ELF" ++ rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR} ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ ${DESTDIR}${LIBDIR}/lib${LIB}.so.${SHLIB_MAJOR} ++ rm -f ${DESTDIR}${LIBDIR}/lib${LIB}.so ++.if ${MKLINKLIB} != "no" ++ ln -s lib${LIB}.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ ++ ${DESTDIR}${LIBDIR}/lib${LIB}.so ++.endif ++.endif ++.endif ++ ++.if ${MKLINT} != "no" && ${MKLINKLIB} != "no" ++libinstall:: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++.endif ++.if !defined(BUILD) ++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln ++${DESTDIR}${LINTLIBDIR}/llib-l${LIB}.ln: llib-l${LIB}.ln ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${LIBOWN} -g ${LIBGRP} \ ++ -m ${LIBMODE} ${.ALLSRC} ${DESTDIR}${LINTLIBDIR} ++.endif ++.endif ++ ++.include <bsd.man.mk> ++.include <bsd.nls.mk> ++.include <bsd.files.mk> ++.include <bsd.inc.mk> ++.include <bsd.links.mk> ++.include <bsd.dep.mk> ++.include <bsd.sys.mk> ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++lint regress: +--- pmake-1.111.orig/mk/bsd.links.mk ++++ pmake-1.111/mk/bsd.links.mk +@@ -0,0 +1,43 @@ ++# $NetBSD: bsd.links.mk,v 1.8 1998/12/31 15:28:52 castor Exp $ ++ ++.PHONY: linksinstall ++realinstall: linksinstall ++ ++.if defined(SYMLINKS) && !empty(SYMLINKS) ++linksinstall:: ++ @set ${SYMLINKS}; \ ++ while test $$# -ge 2; do \ ++ l=$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -f $$t"; \ ++ echo " @ln -s $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++.if defined(LINKS) && !empty(LINKS) ++linksinstall:: ++ @set ${LINKS}; \ ++ while test $$# -ge 2; do \ ++ l=${DESTDIR}$$1; \ ++ shift; \ ++ t=${DESTDIR}$$1; \ ++ shift; \ ++ echo ".include <bsd.own.mk>"; \ ++ echo "all:: $$t"; \ ++ echo ".PHONY: $$t"; \ ++ echo "$$t:"; \ ++ echo " @echo \"$$t -> $$l\""; \ ++ echo " @rm -f $$t"; \ ++ echo " @ln $$l $$t"; \ ++ done | ${MAKE} -f- ++.endif ++ ++.if !target(linksinstall) ++linksinstall: ++.endif +--- pmake-1.111.orig/mk/bsd.man.mk ++++ pmake-1.111/mk/bsd.man.mk +@@ -0,0 +1,156 @@ ++# $NetBSD: bsd.man.mk,v 1.45 1999/02/13 16:34:39 christos Exp $ ++# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman ++.if ${MKMAN} != "no" ++realinstall: ${MANINSTALL} ++.endif ++cleandir distclean: cleanman ++ ++MANTARGET?= cat ++NROFF?= nroff ++TBL?= tbl ++ ++.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \ ++ .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9 ++ ++.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1: ++.if !defined(USETBL) ++ @echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}" ++ @${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \ ++ (rm -f ${.TARGET}; false) ++.else ++ @echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}" ++ @${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \ ++ (rm -f ${.TARGET}; false) ++.endif ++ ++.if defined(MAN) && !empty(MAN) ++MANPAGES= ${MAN} ++CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/} ++.endif ++ ++MINSTALL= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${MANOWN} \ ++ -g ${MANGRP} -m ${MANMODE} ++ ++.if defined(MANZ) ++# chown and chmod are done afterward automatically ++MCOMPRESS= gzip -9cf ++MCOMPRESSSUFFIX= .gz ++.endif ++ ++catinstall: catlinks ++maninstall: manlinks ++ ++__installpage: .USE ++.if defined(MCOMPRESS) && !empty(MCOMPRESS) ++ @rm -f ${.TARGET} ++ ${MCOMPRESS} ${.ALLSRC} > ${.TARGET} ++ @chown ${MANOWN}:${MANGRP} ${.TARGET} ++ @chmod ${MANMODE} ${.TARGET} ++.else ++ ${MINSTALL} ${.ALLSRC} ${.TARGET} ++.endif ++ ++ ++# Rules for cat'ed man page installation ++.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no" ++. for P in ${CATPAGES} ++catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++ ++. if !defined(UPDATE) ++.PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++. endif ++. if !defined(BUILD) ++${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE ++. endif ++ ++.PRECIOUS: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} ++${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage ++. endfor ++.else ++catpages:: ++.endif ++ ++# Rules for source page installation ++.if defined(MANPAGES) && !empty(MANPAGES) ++. for P in ${MANPAGES} ++manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++. if !defined(UPDATE) ++.PHONY: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++. endif ++ ++.PRECIOUS: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} ++${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage ++. endfor ++.else ++manpages:: ++.endif ++ ++.if ${MKCATPAGES} != "no" ++catlinks: catpages ++.if defined(MLINKS) && !empty(MLINKS) ++ @set ${MLINKS}; \ ++ while test $$# -ge 2; do \ ++ name=$$1; \ ++ shift; \ ++ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \ ++ l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \ ++ name=$$1; \ ++ shift; \ ++ dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \ ++ t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \ ++ if [ -z "${UPDATE}" -o ! -f $$t ]; then \ ++ echo $$t -\> $$l; \ ++ ln -sf $$l $$t; \ ++ fi; \ ++ done ++.endif ++.else ++catlinks: ++.endif ++ ++manlinks: manpages ++.if defined(MLINKS) && !empty(MLINKS) ++ @set ${MLINKS}; \ ++ while test $$# -ge 2; do \ ++ name=$$1; \ ++ shift; \ ++ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \ ++ l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \ ++ name=$$1; \ ++ shift; \ ++ dir=${DESTDIR}${MANDIR}/man$${name##*.}; \ ++ t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \ ++ if [ -z "${UPDATE}" -o ! -f $$t ]; then \ ++ echo $$t -\> $$l; \ ++ ln -sf $$l $$t; \ ++ fi; \ ++ done ++.endif ++ ++.if defined(CATPAGES) ++.if ${MKCATPAGES} != "no" && ${MKMAN} != "no" ++all: ${CATPAGES} ++.else ++all: ++.endif ++ ++cleanman: ++ rm -f ${CATPAGES} ++.else ++cleanman: ++.endif ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++clean depend includes lint regress tags: +--- pmake-1.111.orig/mk/bsd.nls.mk ++++ pmake-1.111/mk/bsd.nls.mk +@@ -0,0 +1,64 @@ ++# $NetBSD: bsd.nls.mk,v 1.17 1999/02/12 12:38:45 lukem Exp $ ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++ ++.MAIN: all ++.endif ++.PHONY: cleannls nlsinstall ++.if ${MKNLS} != "no" ++realinstall: nlsinstall ++.endif ++cleandir distclean: cleannls ++ ++.SUFFIXES: .cat .msg ++ ++.msg.cat: ++ @rm -f ${.TARGET} ++ gencat ${.TARGET} ${.IMPSRC} ++ ++.if defined(NLS) && !empty(NLS) ++NLSALL= ${NLS:.msg=.cat} ++.endif ++ ++.if !defined(NLSNAME) ++.if defined(PROG) ++NLSNAME=${PROG} ++.else ++NLSNAME=lib${LIB} ++.endif ++.endif ++ ++.if defined(NLSALL) ++.if ${MKNLS} != "no" ++all: ${NLSALL} ++.endif ++ ++cleannls: ++ rm -f ${NLSALL} ++ ++.for F in ${NLSALL} ++nlsinstall:: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++.endif ++.if !defined(BUILD) ++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat ++${DESTDIR}${NLSDIR}/${F:T:R}/${NLSNAME}.cat: ${F} ++ ${INSTALL} -d ${.TARGET:H} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${NLSOWN} -g ${NLSGRP} \ ++ -m ${NLSMODE} ${.ALLSRC} ${.TARGET} ++.endfor ++.else ++cleannls: ++.endif ++ ++.if !target(nlsinstall) ++nlsinstall:: ++.endif +--- pmake-1.111.orig/mk/bsd.obj.mk ++++ pmake-1.111/mk/bsd.obj.mk +@@ -0,0 +1,54 @@ ++# $NetBSD: bsd.obj.mk,v 1.17 1999/02/12 04:13:26 lukem Exp $ ++ ++.if !target(__initialized_obj__) ++__initialized_obj__: ++.include <bsd.own.mk> ++.endif ++ ++.if ${MKOBJ} == "no" ++obj: ++.else ++ ++.if defined(OBJMACHINE) ++__objdir= obj.${MACHINE} ++.else ++__objdir= obj ++.endif ++ ++.if defined(USR_OBJMACHINE) ++__usrobjdir= ${BSDOBJDIR}.${MACHINE} ++__usrobjdirpf= ++.else ++__usrobjdir= ${BSDOBJDIR} ++.if defined(OBJMACHINE) ++__usrobjdirpf= .${MACHINE} ++.else ++__usrobjdirpf= ++.endif ++.endif ++ ++obj: ++ @cd ${.CURDIR}; rm -f ${__objdir} > /dev/null 2>&1 || true; \ ++ here=`/bin/pwd`; subdir=$${here#${BSDSRCDIR}/}; \ ++ if test $$here != $$subdir ; then \ ++ dest=${__usrobjdir}/$$subdir${__usrobjdirpf} ; \ ++ echo "$$here/${__objdir} -> $$dest"; \ ++ rm -rf ${__objdir}; \ ++ ln -s $$dest ${__objdir}; \ ++ if test -d ${__usrobjdir} -a ! -d $$dest; then \ ++ mkdir -p $$dest; \ ++ else \ ++ true; \ ++ fi; \ ++ else \ ++ true ; \ ++ dest=$$here/${__objdir} ; \ ++ if test ! -d ${__objdir} ; then \ ++ echo "making $$dest" ; \ ++ mkdir $$dest; \ ++ fi ; \ ++ fi; ++.endif ++ ++print-objdir: ++ @echo ${.OBJDIR} +--- pmake-1.111.orig/mk/bsd.own.mk ++++ pmake-1.111/mk/bsd.own.mk +@@ -0,0 +1,245 @@ ++# $NetBSD: bsd.own.mk,v 1.120 1999/02/24 14:42:36 drochner Exp $ ++ ++.if !defined(_BSD_OWN_MK_) ++_BSD_OWN_MK_=1 ++ ++.if defined(MAKECONF) && exists(${MAKECONF}) ++.include "${MAKECONF}" ++.elif exists(/etc/mk.conf) ++.include "/etc/mk.conf" ++.endif ++ ++# Defining `SKEY' causes support for S/key authentication to be compiled in. ++SKEY= yes ++# Defining `KERBEROS' causes support for Kerberos authentication to be ++# compiled in. ++#KERBEROS= yes ++# Defining 'KERBEROS5' causes support for Kerberos5 authentication to be ++# compiled in. ++#KERBEROS5= yes ++ ++# where the system object and source trees are kept; can be configurable ++# by the user in case they want them in ~/foosrc and ~/fooobj, for example ++BSDSRCDIR?= /usr/src ++BSDOBJDIR?= /usr/obj ++ ++BINGRP?= root ++BINOWN?= root ++BINMODE?= 755 ++NONBINMODE?= 644 ++ ++# Define MANZ to have the man pages compressed (gzip) ++MANZ= 1 ++ ++MANDIR?= /usr/share/man ++MANGRP?= root ++MANOWN?= root ++MANMODE?= ${NONBINMODE} ++MANINSTALL?= maninstall catinstall ++ ++INFODIR?= /usr/share/info ++INFOGRP?= root ++INFOOWN?= root ++INFOMODE?= ${NONBINMODE} ++ ++LIBDIR?= /usr/lib ++LINTLIBDIR?= /usr/libdata/lint ++LIBGRP?= ${BINGRP} ++LIBOWN?= ${BINOWN} ++LIBMODE?= ${NONBINMODE} ++ ++DOCDIR?= /usr/share/doc ++DOCGRP?= root ++DOCOWN?= root ++DOCMODE?= ${NONBINMODE} ++ ++NLSDIR?= /usr/share/nls ++NLSGRP?= root ++NLSOWN?= root ++NLSMODE?= ${NONBINMODE} ++ ++KMODDIR?= /usr/lkm ++KMODGRP?= root ++KMODOWN?= root ++KMODMODE?= ${NONBINMODE} ++ ++COPY?= -c ++.if defined(UPDATE) ++PRESERVE?= -p ++.else ++PRESERVE?= ++.endif ++RENAME?= ++STRIPFLAG?= -s ++ ++# Define SYS_INCLUDE to indicate whether you want symbolic links to the system ++# source (``symlinks''), or a separate copy (``copies''); (latter useful ++# in environments where it's not possible to keep /sys publicly readable) ++#SYS_INCLUDE= symlinks ++ ++# XXX The next two are temporary until the transition to UVM is complete. ++ ++# Systems on which UVM is the standard VM system. ++.if ${MACHINE} != "pica" ++UVM?= yes ++.endif ++ ++# Systems that use UVM's new pmap interface. ++.if ${MACHINE} == "alpha" || \ ++ ${MACHINE} == "i386" || \ ++ ${MACHINE} == "pc532" || \ ++ ${MACHINE} == "vax" ++PMAP_NEW?= yes ++.endif ++ ++# Data-driven table using make variables to control how ++# toolchain-dependent targets and shared libraries are built ++# for different platforms and object formats. ++# OBJECT_FMT: currently either "ELF" or "a.out". ++# SHLIB_TYPE: "ELF" or "a.out" or "" to force static libraries. ++# ++#.if ${MACHINE_ARCH} == "alpha" || \ ++# ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ ++# ${MACHINE_ARCH} == "powerpc" || \ ++# ${MACHINE_ARCH} == "sparc64" ++#OBJECT_FMT?=ELF ++#.else ++ ++# On Debian GNU/Linux, Everything is ELF. ++OBJECT_FMT?=a.out ++#.endif ++ ++# GNU sources and packages sometimes see architecture names differently. ++# This table maps an architecture name to its GNU counterpart. ++# Use as so: ${GNU_ARCH.${TARGET_ARCH}} or ${MACHINE_GNU_ARCH} ++GNU_ARCH.alpha=alpha ++GNU_ARCH.arm32=arm ++GNU_ARCH.i386=i386 ++GNU_ARCH.m68k=m68k ++GNU_ARCH.mipseb=mipseb ++GNU_ARCH.mipsel=mipsel ++GNU_ARCH.ns32k=ns32k ++GNU_ARCH.powerpc=powerpc ++GNU_ARCH.sparc=sparc ++GNU_ARCH.sparc64=sparc ++GNU_ARCH.vax=vax ++.if ${MACHINE_ARCH} == "mips" ++.INIT: ++ @echo Must set MACHINE_ARCH to one of mipseb or mipsel ++ @false ++.endif ++ ++.if ${MACHINE_ARCH} == "sparc64" ++MACHINE_GNU_ARCH=${MACHINE_ARCH} ++.else ++MACHINE_GNU_ARCH=${GNU_ARCH.${MACHINE_ARCH}} ++.endif ++ ++TARGETS+= all clean cleandir depend distclean includes install lint obj \ ++ regress tags ++.PHONY: all clean cleandir depend distclean includes install lint obj \ ++ regress tags beforedepend afterdepend beforeinstall \ ++ afterinstall realinstall ++ ++# set NEED_OWN_INSTALL_TARGET, if it's not already set, to yes ++# this is used by bsd.pkg.mk to stop "install" being defined ++NEED_OWN_INSTALL_TARGET?= yes ++ ++.if ${NEED_OWN_INSTALL_TARGET} == "yes" ++.if !target(install) ++install: .NOTMAIN beforeinstall subdir-install realinstall afterinstall ++beforeinstall: .NOTMAIN ++subdir-install: .NOTMAIN beforeinstall ++realinstall: .NOTMAIN beforeinstall ++afterinstall: .NOTMAIN subdir-install realinstall ++.endif ++.endif ++ ++# Define MKxxx variables (which are either yes or no) for users ++# to set in /etc/mk.conf and override on the make commandline. ++# These should be tested with `== "no"' or `!= "no"'. ++# The NOxxx variables should only be used by Makefiles. ++# ++ ++MKCATPAGES?=no ++ ++.if defined(NODOC) ++MKDOC=no ++#.elif !defined(MKDOC) ++#MKDOC=yes ++.else ++MKDOC?=yes ++.endif ++ ++MKINFO?=yes ++ ++.if defined(NOLINKLIB) ++MKLINKLIB=no ++.else ++MKLINKLIB?=yes ++.endif ++.if ${MKLINKLIB} == "no" ++MKPICINSTALL=no ++MKPROFILE=no ++.endif ++ ++.if defined(NOLINT) ++MKLINT=no ++.else ++MKLINT?=yes ++.endif ++ ++.if defined(NOMAN) ++MKMAN=no ++.else ++MKMAN?=yes ++.endif ++.if ${MKMAN} == "no" ++MKCATPAGES=no ++.endif ++ ++.if defined(NONLS) ++MKNLS=no ++.else ++MKNLS?=yes ++.endif ++ ++.if defined(NOOBJ) ++MKOBJ=no ++.else ++MKOBJ?=yes ++.endif ++ ++.if defined(NOPIC) ++MKPIC=no ++.else ++MKPIC?=yes ++.endif ++ ++.if defined(NOPICINSTALL) ++MKPICINSTALL=no ++.else ++MKPICINSTALL?=yes ++.endif ++ ++.if defined(NOPROFILE) ++MKPROFILE=no ++.else ++MKPROFILE?=yes ++.endif ++ ++.if defined(NOSHARE) ++MKSHARE=no ++.else ++MKSHARE?=yes ++.endif ++.if ${MKSHARE} == "no" ++MKCATPAGES=no ++MKDOC=no ++MKINFO=no ++MKMAN=no ++MKNLS=no ++.endif ++ ++ ++.endif # _BSD_OWN_MK_ +--- pmake-1.111.orig/mk/bsd.prog.mk ++++ pmake-1.111/mk/bsd.prog.mk +@@ -0,0 +1,202 @@ ++# $NetBSD: bsd.prog.mk,v 1.100 1999/02/12 01:10:08 lukem Exp $ ++# @(#)bsd.prog.mk 8.2 (Berkeley) 4/2/94 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.include <bsd.obj.mk> ++.MAIN: all ++.endif ++ ++.PHONY: cleanprog proginstall scriptsinstall ++realinstall: proginstall scriptsinstall ++clean cleandir distclean: cleanprog ++ ++CFLAGS+= ${COPTS} ++ ++# ELF platforms depend on crtbegin.o and crtend.o ++.if ${OBJECT_FMT} == "ELF" ++LIBCRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o ++LIBCRTEND?= ${DESTDIR}/usr/lib/crtend.o ++.else ++LIBCRTBEGIN?= ++LIBCRTEND?= ++.endif ++ ++LIBCRT0?= ++ ++LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a ++LIBC?= ${DESTDIR}/usr/lib/libc.a ++LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a ++LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a ++LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a ++LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a ++LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a ++LIBDES?= ${DESTDIR}/usr/lib/libdes.a ++LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a ++LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a ++LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a ++LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a ++LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a ++LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a ++LIBL?= ${DESTDIR}/usr/lib/libl.a ++LIBM?= ${DESTDIR}/usr/lib/libm.a ++LIBMP?= ${DESTDIR}/usr/lib/libmp.a ++LIBNTP?= ${DESTDIR}/usr/lib/libntp.a ++LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a ++LIBPC?= ${DESTDIR}/usr/lib/libpc.a ++LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a ++LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a ++LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a ++LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a ++LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a ++LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a ++LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a ++LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a ++LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a ++LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a ++LIBY?= ${DESTDIR}/usr/lib/liby.a ++LIBZ?= ${DESTDIR}/usr/lib/libz.a ++ ++.if defined(SHAREDSTRINGS) ++CLEANFILES+=strings ++.c.o: ++ ${CC} -E ${CFLAGS} ${.IMPSRC} | xstr -c - ++ @${CC} ${CFLAGS} -c x.c -o ${.TARGET} ++ @rm -f x.c ++ ++.cc.o: ++ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - ++ @mv -f x.c x.cc ++ @${CXX} ${CXXFLAGS} -c x.cc -o ${.TARGET} ++ @rm -f x.cc ++ ++.C.o: ++ ${CXX} -E ${CXXFLAGS} ${.IMPSRC} | xstr -c - ++ @mv -f x.c x.C ++ @${CXX} ${CXXFLAGS} -c x.C -o ${.TARGET} ++ @rm -f x.C ++.endif ++ ++ ++.if defined(PROG) ++SRCS?= ${PROG}.c ++ ++DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} ++CLEANFILES+= ${DPSRCS} ++.if defined(YHEADER) ++CLEANFILES+= ${SRCS:M*.y:.y=.h} ++.endif ++ ++.if !empty(SRCS:N*.h:N*.sh) ++OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.o/g} ++LOBJS+= ${LSRCS:.c=.ln} ${SRCS:M*.c:.c=.ln} ++.endif ++ ++.if defined(OBJS) && !empty(OBJS) ++.NOPATH: ${OBJS} ++.if defined(DESTDIR) ++ ++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} ++ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} -nostdlib -L${DESTDIR}/usr/lib ${LIBCRT0} ${LIBCRTBEGIN} ${OBJS} ${LDADD} -lgcc -lc -lgcc ${LIBCRTEND} ++ ++.else ++ ++${PROG}: ${LIBCRT0} ${DPSRCS} ${OBJS} ${LIBC} ${LIBCRTBEGIN} ${LIBCRTEND} ${DPADD} ++ ${CC} ${LDFLAGS} ${LDSTATIC} -o ${.TARGET} ${OBJS} ${LDADD} ++ ++.endif # defined(DESTDIR) ++.endif # defined(OBJS) && !empty(OBJS) ++ ++.if !defined(MAN) ++MAN= ${PROG}.1 ++.endif # !defined(MAN) ++.endif # defined(PROG) ++ ++all: ${PROG} ++ ++cleanprog: ++ rm -f a.out [Ee]rrs mklog core *.core \ ++ ${PROG} ${OBJS} ${LOBJS} ${CLEANFILES} ++ ++.if defined(SRCS) ++afterdepend: .depend ++ @(TMP=/tmp/_depend$$$$; \ ++ sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \ ++ < .depend > $$TMP; \ ++ mv $$TMP .depend) ++.endif ++ ++.if defined(PROG) && !target(proginstall) ++PROGNAME?= ${PROG} ++proginstall:: ${DESTDIR}${BINDIR}/${PROGNAME} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${BINDIR}/${PROGNAME} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${BINDIR}/${PROGNAME}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${BINDIR}/${PROGNAME} ++${DESTDIR}${BINDIR}/${PROGNAME}: ${PROG} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${STRIPFLAG} -o ${BINOWN} \ ++ -g ${BINGRP} -m ${BINMODE} ${.ALLSRC} ${.TARGET} ++.endif ++ ++.if !target(proginstall) ++proginstall:: ++.endif ++ ++.if defined(SCRIPTS) && !target(scriptsinstall) ++SCRIPTSDIR?=${BINDIR} ++SCRIPTSOWN?=${BINOWN} ++SCRIPTSGRP?=${BINGRP} ++SCRIPTSMODE?=${BINMODE} ++.for S in ${SCRIPTS} ++SCRIPTSDIR_${S}?=${SCRIPTSDIR} ++SCRIPTSOWN_${S}?=${SCRIPTSOWN} ++SCRIPTSGRP_${S}?=${SCRIPTSGRP} ++SCRIPTSMODE_${S}?=${SCRIPTSMODE} ++.if defined(SCRIPTSNAME) ++SCRIPTSNAME_${S} ?= ${SCRIPTSNAME} ++.else ++SCRIPTSNAME_${S} ?= ${S:T:R} ++.endif ++SCRIPTSDIR_${S} ?= ${SCRIPTSDIR} ++scriptsinstall:: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++.if !defined(UPDATE) ++.PHONY: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++.endif ++.if !defined(BUILD) ++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: .MADE ++.endif ++ ++.PRECIOUS: ${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}} ++${DESTDIR}${SCRIPTSDIR_${S}}/${SCRIPTSNAME_${S}}: ${S} ++ ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${SCRIPTSOWN_${S}} -g \ ++ ${SCRIPTSGRP_${S}} -m ${SCRIPTSMODE_${S}} ${.ALLSRC} ${.TARGET} ++.endfor ++.endif ++ ++.if !target(scriptsinstall) ++scriptsinstall:: ++.endif ++ ++lint: ${LOBJS} ++.if defined(LOBJS) && !empty(LOBJS) ++ ${LINT} ${LINTFLAGS} ${LDFLAGS:M-L*} ${LOBJS} ${LDADD} ++.endif ++ ++.include <bsd.man.mk> ++.include <bsd.nls.mk> ++.include <bsd.files.mk> ++.include <bsd.inc.mk> ++.include <bsd.links.mk> ++.include <bsd.dep.mk> ++.include <bsd.sys.mk> ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++regress: +--- pmake-1.111.orig/mk/bsd.subdir.mk ++++ pmake-1.111/mk/bsd.subdir.mk +@@ -0,0 +1,34 @@ ++# $NetBSD: bsd.subdir.mk,v 1.31 1999/02/11 05:01:39 tv Exp $ ++# @(#)bsd.subdir.mk 8.1 (Berkeley) 6/8/93 ++ ++.if !target(__initialized__) ++__initialized__: ++.if exists(${.CURDIR}/../Makefile.inc) ++.include "${.CURDIR}/../Makefile.inc" ++.endif ++.include <bsd.own.mk> ++.MAIN: all ++.endif ++ ++.for dir in ${SUBDIR} ++.if exists(${dir}.${MACHINE}) ++__REALSUBDIR+=${dir}.${MACHINE} ++.else ++__REALSUBDIR+=${dir} ++.endif ++.endfor ++ ++.for dir in ${__REALSUBDIR} ++.for targ in ${TARGETS} ++.PHONY: ${targ}-${dir} ++${targ}-${dir}: .MAKE ++ @echo "${targ} ===> ${_THISDIR_}${dir}" ++ @cd ${.CURDIR}/${dir}; \ ++ ${MAKE} "_THISDIR_=${_THISDIR_}${dir}/" ${targ} ++subdir-${targ}: ${targ}-${dir} ++${targ}: subdir-${targ} ++.endfor ++.endfor ++ ++# Make sure all of the standard targets are defined, even if they do nothing. ++${TARGETS}: +--- pmake-1.111.orig/mk/bsd.sys.mk ++++ pmake-1.111/mk/bsd.sys.mk +@@ -0,0 +1,110 @@ ++# $NetBSD: bsd.sys.mk,v 1.34 1999/01/31 09:17:20 mrg Exp $ ++# ++# Overrides used for NetBSD source tree builds. ++ ++.if defined(WARNS) && ${WARNS} == 1 ++CFLAGS+= -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith ++.endif ++.if !defined(NOGCCERROR) ++CFLAGS+= -Werror ++.endif ++CFLAGS+= ${CWARNFLAGS} ++ ++.if defined(DESTDIR) ++CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include ++LINTFLAGS+= -d ${DESTDIR}/usr/include ++.endif ++ ++.if defined(AUDIT) ++CPPFLAGS+= -D__AUDIT__ ++.endif ++ ++# Helpers for cross-compiling ++HOST_CC?= cc ++HOST_CFLAGS?= -O ++HOST_COMPILE.c?=${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} -c ++HOST_LINK.c?= ${HOST_CC} ${HOST_CFLAGS} ${HOST_CPPFLAGS} ${HOST_LDFLAGS} ++ ++HOST_CPP?= cpp ++HOST_CPPFLAGS?= ++ ++HOST_LD?= ld ++HOST_LDFLAGS?= ++ ++STRIPPROG?= strip ++ ++ ++.SUFFIXES: .m .o .ln .lo ++ ++# Objective C ++# (Defined here rather than in <sys.mk> because `.m' is not just ++# used for Objective C source) ++.m: ++ ${LINK.m} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.m.o: ++ ${COMPILE.m} ${.IMPSRC} ++ ++# Host-compiled C objects ++.c.lo: ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.IMPSRC} ++ ++ ++.if defined(PARALLEL) || defined(LPREFIX) ++LPREFIX?=yy ++LFLAGS+=-P${LPREFIX} ++# Lex ++.l: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ${LDLIBS} -ll ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.l.c: ++ ${LEX.l} -o${.TARGET} ${.IMPSRC} ++.l.o: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.l.lo: ++ ${LEX.l} -o${.TARGET:R}.${LPREFIX}.c ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.${LPREFIX}.c ++ rm -f ${.TARGET:R}.${LPREFIX}.c ++.endif ++ ++# Yacc ++.if defined(YHEADER) || defined(YPREFIX) ++.if defined(YPREFIX) ++YFLAGS+=-p${YPREFIX} ++.endif ++.if defined(YHEADER) ++YFLAGS+=-d ++.endif ++.y: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS} ++ rm -f ${.TARGET:R}.tab.c ${.TARGET:R}.tab.h ++.y.h: ${.TARGET:R}.c ++.y.c: ++ ${YACC.y} -o ${.TARGET} ${.IMPSRC} ++.y.o: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h ++.y.lo: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ${TARGET:R}.tab.h ++.elif defined(PARALLEL) ++.y: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} ${.TARGET:R}.tab.c ${LDLIBS} ++ rm -f ${.TARGET:R}.tab.c ++.y.c: ++ ${YACC.y} -o ${.TARGET} ${.IMPSRC} ++.y.o: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ++.y.lo: ++ ${YACC.y} -b ${.TARGET:R} ${.IMPSRC} ++ ${HOST_COMPILE.c} -o ${.TARGET} ${.TARGET:R}.tab.c ++ rm -f ${.TARGET:R}.tab.c ++.endif +--- pmake-1.111.orig/mk/sys.mk ++++ pmake-1.111/mk/sys.mk +@@ -0,0 +1,207 @@ ++# $NetBSD: sys.mk,v 1.54 1999/03/10 14:06:14 mycroft Exp $ ++# @(#)sys.mk 8.2 (Berkeley) 3/21/94 ++ ++unix?= We run Debian GNU. ++ ++.SUFFIXES: .out .a .ln .o .s .S .c .cc .C .F .f .r .y .l .cl .p .h .sh .m4 ++ ++.LIBS: .a ++ ++AR?= ar ++ARFLAGS?= rl ++RANLIB?= ranlib ++ ++AS?= as ++AFLAGS?= ++COMPILE.s?= ${CC} ${AFLAGS} -c ++LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS} ++COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp ++LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++CC?= cc ++.if ${MACHINE_ARCH} == "alpha" || \ ++ ${MACHINE_ARCH} == "arm32" || \ ++ ${MACHINE_ARCH} == "i386" || \ ++ ${MACHINE_ARCH} == "m68k" || \ ++ ${MACHINE_ARCH} == "mipsel" || ${MACHINE_ARCH} == "mipseb" || \ ++ ${MACHINE_ARCH} == "sparc" ++CFLAGS?= -O2 ++.else ++CFLAGS?= -O ++.endif ++COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c ++LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++CXX?= c++ ++CXXFLAGS?= ${CFLAGS} ++COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c ++LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++OBJC?= ${CC} ++OBJCFLAGS?= ${CFLAGS} ++COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c ++LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++CPP?= cpp ++CPPFLAGS?= ++ ++FC?= f77 ++FFLAGS?= -O ++RFLAGS?= ++COMPILE.f?= ${FC} ${FFLAGS} -c ++LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS} ++COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c ++LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS} ++COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c ++LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS} ++ ++INSTALL?= install ++ ++LEX?= lex ++LFLAGS?= ++LEX.l?= ${LEX} ${LFLAGS} ++ ++LD?= ld ++LDFLAGS?= ++ ++LINT?= lint ++LINTFLAGS?= -chapbxzF ++ ++LORDER?= lorder ++ ++MAKE?= pmake ++ ++NM?= nm ++ ++PC?= pc ++PFLAGS?= ++COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c ++LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS} ++ ++SHELL?= sh ++ ++SIZE?= size ++ ++TSORT?= tsort ++ ++YACC?= yacc ++YFLAGS?= ++YACC.y?= ${YACC} ${YFLAGS} ++ ++# C ++.c: ++ ${LINK.c} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.c.o: ++ ${COMPILE.c} ${.IMPSRC} ++.c.a: ++ ${COMPILE.c} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++.c.ln: ++ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC} ++ ++# C++ ++.cc: ++ ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.cc.o: ++ ${COMPILE.cc} ${.IMPSRC} ++.cc.a: ++ ${COMPILE.cc} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++.C: ++ ${LINK.cc} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.C.o: ++ ${COMPILE.cc} ${.IMPSRC} ++.C.a: ++ ${COMPILE.cc} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++# Fortran/Ratfor ++.f: ++ ${LINK.f} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.f.o: ++ ${COMPILE.f} ${.IMPSRC} ++.f.a: ++ ${COMPILE.f} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++.F: ++ ${LINK.F} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.F.o: ++ ${COMPILE.F} ${.IMPSRC} ++.F.a: ++ ${COMPILE.F} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++.r: ++ ${LINK.r} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.r.o: ++ ${COMPILE.r} ${.IMPSRC} ++.r.a: ++ ${COMPILE.r} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++# Pascal ++.p: ++ ${LINK.p} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.p.o: ++ ${COMPILE.p} ${.IMPSRC} ++.p.a: ++ ${COMPILE.p} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++# Assembly ++.s: ++ ${LINK.s} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.s.o: ++ ${COMPILE.s} ${.IMPSRC} ++.s.a: ++ ${COMPILE.s} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++.S: ++ ${LINK.S} -o ${.TARGET} ${.IMPSRC} ${LDLIBS} ++.S.o: ++ ${COMPILE.S} ${.IMPSRC} ++.S.a: ++ ${COMPILE.S} ${.IMPSRC} ++ ${AR} ${ARFLAGS} $@ $*.o ++ rm -f $*.o ++ ++# Lex ++.l: ++ ${LEX.l} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} lex.yy.c ${LDLIBS} -ll ++ rm -f lex.yy.c ++.l.c: ++ ${LEX.l} ${.IMPSRC} ++ mv lex.yy.c ${.TARGET} ++.l.o: ++ ${LEX.l} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} lex.yy.c ++ rm -f lex.yy.c ++ ++# Yacc ++.y: ++ ${YACC.y} ${.IMPSRC} ++ ${LINK.c} -o ${.TARGET} y.tab.c ${LDLIBS} ++ rm -f y.tab.c ++.y.c: ++ ${YACC.y} ${.IMPSRC} ++ mv y.tab.c ${.TARGET} ++.y.o: ++ ${YACC.y} ${.IMPSRC} ++ ${COMPILE.c} -o ${.TARGET} y.tab.c ++ rm -f y.tab.c ++ ++# Shell ++.sh: ++ rm -f ${.TARGET} ++ cp ${.IMPSRC} ${.TARGET} diff --git a/package/pmake/pmake-110_mkdep.patch b/package/pmake/pmake-110_mkdep.patch new file mode 100644 index 0000000..70435cc --- /dev/null +++ b/package/pmake/pmake-110_mkdep.patch @@ -0,0 +1,230 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- pmake-1.111.orig/mkdep ++++ pmake-1.111/mkdep +@@ -0,0 +1,113 @@ ++#!/bin/sh - ++# ++# $OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $ ++# $NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $ ++# ++# Copyright (c) 1991, 1993 ++# The Regents of the University of California. All rights reserved. ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions ++# are met: ++# 1. Redistributions of source code must retain the above copyright ++# notice, this list of conditions and the following disclaimer. ++# 2. Redistributions in binary form must reproduce the above copyright ++# notice, this list of conditions and the following disclaimer in the ++# documentation and/or other materials provided with the distribution. ++# 3. All advertising materials mentioning features or use of this software ++# must display the following acknowledgement: ++# This product includes software developed by the University of ++# California, Berkeley and its contributors. ++# 4. Neither the name of the University nor the names of its contributors ++# may be used to endorse or promote products derived from this software ++# without specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++# SUCH DAMAGE. ++# ++# @(#)mkdep.gcc.sh 8.1 (Berkeley) 6/6/93 ++# ++ ++D=.depend # default dependency file is .depend ++append=0 ++pflag= ++ ++while : ++ do case "$1" in ++ # -a appends to the depend file ++ -a) ++ append=1 ++ shift ;; ++ ++ # -f allows you to select a makefile name ++ -f) ++ D=$2 ++ shift; shift ;; ++ ++ # the -p flag produces "program: program.c" style dependencies ++ # so .o's don't get produced ++ -p) ++ pflag=p ++ shift ;; ++ *) ++ break ;; ++ esac ++done ++ ++if [ $# = 0 ] ; then ++ echo 'usage: mkdep [-p] [-f depend_file] [cc_flags] file ...' ++ exit 1 ++fi ++ ++DTMP=/tmp/mkdep$$ ++TMP=$DTMP/mkdep ++ ++um=`umask` ++umask 022 ++if ! mkdir $DTMP ; then ++ echo failed to create tmp dir $DTMP ++ exit 1 ++fi ++ ++umask $um ++trap 'rm -rf $DTMP ; trap 2 ; kill -2 $$' 1 2 3 13 15 ++ ++if [ x$pflag = x ]; then ++ ${CC:-cc} -M "$@" | sed -e 's; \./; ;g' > $TMP ++else ++ ${CC:-cc} -M "$@" | sed -e 's;\.o :; :;' -e 's; \./; ;g' > $TMP ++fi ++ ++if [ $? != 0 ]; then ++ echo 'mkdep: compile failed.' ++ rm -rf $DTMP ++ exit 1 ++fi ++ ++if [ $append = 1 ]; then ++ cat $TMP >> $D ++ if [ $? != 0 ]; then ++ echo 'mkdep: append failed.' ++ rm -rf $DTMP ++ exit 1 ++ fi ++else ++ mv $TMP $D ++ if [ $? != 0 ]; then ++ echo 'mkdep: rename failed.' ++ rm -rf $DTMP ++ exit 1 ++ fi ++fi ++ ++rm -rf $DTMP ++exit 0 +--- pmake-1.111.orig/mkdep.1 ++++ pmake-1.111/mkdep.1 +@@ -0,0 +1,106 @@ ++.\" $OpenBSD: mkdep.1,v 1.3 1998/09/26 19:55:08 aaron Exp $ ++.\" $NetBSD: mkdep.1,v 1.3 1994/12/23 07:34:56 jtc Exp $ ++.\" ++.\" Copyright (c) 1987, 1990, 1993 ++.\" The Regents of the University of California. All rights reserved. ++.\" ++.\" Redistribution and use in source and binary forms, with or without ++.\" modification, are permitted provided that the following conditions ++.\" are met: ++.\" 1. Redistributions of source code must retain the above copyright ++.\" notice, this list of conditions and the following disclaimer. ++.\" 2. Redistributions in binary form must reproduce the above copyright ++.\" notice, this list of conditions and the following disclaimer in the ++.\" documentation and/or other materials provided with the distribution. ++.\" 3. All advertising materials mentioning features or use of this software ++.\" must display the following acknowledgement: ++.\" This product includes software developed by the University of ++.\" California, Berkeley and its contributors. ++.\" 4. Neither the name of the University nor the names of its contributors ++.\" may be used to endorse or promote products derived from this software ++.\" without specific prior written permission. ++.\" ++.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ++.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE ++.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ++.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ++.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT ++.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY ++.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ++.\" SUCH DAMAGE. ++.\" ++.\" @(#)mkdep.1 8.1 (Berkeley) 6/6/93 ++.\" ++.Dd June 6, 1993 ++.Dt MKDEP 1 ++.Os BSD 4.2 ++.Sh NAME ++.Nm mkdep ++.Nd construct Makefile dependency list ++.Sh SYNOPSIS ++.Nm mkdep ++.Op Fl ap ++.Op Fl f Ar file ++.Op Ar flags ++.Ar file Op Ar ... ++.Sh DESCRIPTION ++.Nm mkdep ++takes a set of flags for the C compiler and a list ++of C source files as arguments and constructs a set of include ++file dependencies which are written into the file ``.depend''. ++An example of its use in a Makefile might be: ++.Bd -literal -offset indent ++CFLAGS= -O -I../include ++SRCS= file1.c file2.c ++ ++depend: ++ mkdep ${CFLAGS} ${SRCS} ++.Ed ++.Pp ++where the macro SRCS is the list of C source files and the macro ++CFLAGS is the list of flags for the C compiler. ++.Pp ++The options are as follows: ++.Bl -tag -width Ds ++.It Fl a ++Append to the output file, ++so that multiple ++.Nm mkdep Ns 's ++may be run from a single Makefile. ++.It Fl f Ar file ++Write the include file dependencies to ++.Ar file , ++instead of the default ``.depend''. ++.It Fl p ++Cause ++.Nm mkdep ++to produce dependencies of the form: ++.Bd -literal -offset indent ++program: program.c ++.Ed ++.Pp ++so that subsequent makes will produce ++.Ar program ++directly from its C module rather than using an intermediate ++.Pa \&.o ++module. ++This is useful for programs whose source is contained in a single ++module. ++.El ++.Sh SEE ALSO ++.Xr cc 1 , ++.Xr cpp 1 , ++.Xr make 1 ++.Sh FILES ++.Bl -tag -width .depend -compact ++.It Pa .depend ++file containing list of dependencies ++.El ++.Sh HISTORY ++The ++.Nm mkdep ++command appeared in ++.Bx 4.3 Tahoe . diff --git a/package/pmake/pmake-120_fixes.patch b/package/pmake/pmake-120_fixes.patch new file mode 100644 index 0000000..5a57e4e --- /dev/null +++ b/package/pmake/pmake-120_fixes.patch @@ -0,0 +1,266 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- pmake-1.111.orig/arch.c ++++ pmake-1.111/arch.c +@@ -173,7 +173,7 @@ + static FILE *ArchFindMember(char *, char *, struct ar_hdr *, const char *); + #if defined(__svr4__) || defined(__SVR4) || defined(__ELF__) + #define SVR4ARCHIVES +-static int ArchSVR4Entry(Arch *, char *, size_t, FILE *); ++static int ArchSVR4Entry(Arch *, char **, size_t, FILE *); + #endif + + #ifdef CLEANUP +@@ -535,7 +535,7 @@ + Arch *ar; /* Archive descriptor */ + Hash_Entry *he; /* Entry containing member's description */ + struct ar_hdr arh; /* archive-member header for reading archive */ +- char memName[MAXPATHLEN+1]; ++ char *memName = NULL; + /* Current member name while hashing. */ + + /* +@@ -617,7 +617,6 @@ + ar->fnametab = NULL; + ar->fnamesize = 0; + Hash_InitTable(&ar->members, -1); +- memName[AR_MAX_NAME_LEN] = '\0'; + + while (fread ((char *)&arh, sizeof (struct ar_hdr), 1, arch) == 1) { + if (strncmp ( arh.ar_fmag, ARFMAG, sizeof (arh.ar_fmag)) != 0) { +@@ -636,10 +635,9 @@ + arh.ar_size[sizeof(arh.ar_size)-1] = '\0'; + size = (int) strtol(arh.ar_size, NULL, 10); + +- (void) strncpy (memName, arh.ar_name, sizeof(arh.ar_name)); +- for (cp = &memName[AR_MAX_NAME_LEN]; *cp == ' '; cp--) { +- continue; +- } ++ memName = estrdup(arh.ar_name); ++ ++ for(cp = strchr(memName, 0)-1; *cp == ' '; cp--); + cp[1] = '\0'; + + #ifdef SVR4ARCHIVES +@@ -650,7 +648,7 @@ + /* + * svr4 magic mode; handle it + */ +- switch (ArchSVR4Entry(ar, memName, size, arch)) { ++ switch (ArchSVR4Entry(ar, &memName, size, arch)) { + case -1: /* Invalid data */ + goto badarch; + case 0: /* List of files entry */ +@@ -675,8 +673,8 @@ + + unsigned int elen = atoi(&memName[sizeof(AR_EFMT1)-1]); + +- if (elen > MAXPATHLEN) +- goto badarch; ++ memName = erealloc(memName, elen+1); ++ + if (fread (memName, elen, 1, arch) != 1) + goto badarch; + memName[elen] = '\0'; +@@ -692,6 +690,9 @@ + memcpy ((Address)Hash_GetValue (he), (Address)&arh, + sizeof (struct ar_hdr)); + } ++ /* time to free memName */ ++ free(memName); ++ + fseek (arch, (size + 1) & ~1, SEEK_CUR); + } + +@@ -742,15 +743,15 @@ + *----------------------------------------------------------------------- + */ + static int +-ArchSVR4Entry(Arch *ar, char *name, size_t size, FILE *arch) ++ArchSVR4Entry(Arch *ar, char **name, size_t size, FILE *arch) + { + #define ARLONGNAMES1 "//" + #define ARLONGNAMES2 "/ARFILENAMES" + size_t entry; + char *ptr, *eptr; + +- if (strncmp(name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 || +- strncmp(name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) { ++ if (strncmp(*name, ARLONGNAMES1, sizeof(ARLONGNAMES1) - 1) == 0 || ++ strncmp(*name, ARLONGNAMES2, sizeof(ARLONGNAMES2) - 1) == 0) { + + if (ar->fnametab != NULL) { + if (DEBUG(ARCH)) { +@@ -793,30 +794,30 @@ + return 0; + } + +- if (name[1] == ' ' || name[1] == '\0') ++ if ((*name)[1] == ' ' || (*name)[1] == '\0') + return 2; + +- entry = (size_t) strtol(&name[1], &eptr, 0); +- if ((*eptr != ' ' && *eptr != '\0') || eptr == &name[1]) { ++ entry = (size_t) strtol(&(*name)[1], &eptr, 0); ++ if ((*eptr != ' ' && *eptr != '\0') || eptr == &(*name)[1]) { + if (DEBUG(ARCH)) { +- printf("Could not parse SVR4 name %s\n", name); ++ printf("Could not parse SVR4 name %s\n", *name); + } + return 2; + } + if (entry >= ar->fnamesize) { + if (DEBUG(ARCH)) { + printf("SVR4 entry offset %s is greater than %lu\n", +- name, (u_long)ar->fnamesize); ++ *name, (u_long)ar->fnamesize); + } + return 2; + } + + if (DEBUG(ARCH)) { +- printf("Replaced %s with %s\n", name, &ar->fnametab[entry]); ++ printf("Replaced %s with %s\n", *name, &ar->fnametab[entry]); + } + +- (void) strncpy(name, &ar->fnametab[entry], MAXPATHLEN); +- name[MAXPATHLEN] = '\0'; ++ free(*name); ++ *name = estrdup(&ar->fnametab[entry]); + return 1; + } + #endif +@@ -926,12 +927,9 @@ + isdigit((unsigned char)arhPtr->ar_name[sizeof(AR_EFMT1) - 1])) { + + unsigned int elen = atoi(&arhPtr->ar_name[sizeof(AR_EFMT1)-1]); +- char ename[MAXPATHLEN]; ++ char *ename = NULL; + +- if (elen > MAXPATHLEN) { +- fclose (arch); +- return NULL; +- } ++ ename = emalloc(elen+1); + if (fread (ename, elen, 1, arch) != 1) { + fclose (arch); + return NULL; +@@ -945,6 +943,8 @@ + fseek (arch, -sizeof(struct ar_hdr) - elen, SEEK_CUR); + return (arch); + } ++ /* time to free ename */ ++ free(ename); + fseek (arch, -elen, SEEK_CUR); + goto skip; + } else +--- pmake-1.111.orig/buf.c ++++ pmake-1.111/buf.c +@@ -192,7 +192,8 @@ + { + + if (numBytesPtr != (int *)NULL) { +- *numBytesPtr = bp->inPtr - bp->outPtr; ++ intptr_t num = bp->inPtr - bp->outPtr; ++ *numBytesPtr = num; + } + + return (bp->outPtr); +--- pmake-1.111.orig/compat.c ++++ pmake-1.111/compat.c +@@ -130,7 +130,7 @@ + + Shell_Init(); /* setup default shell */ + +- for (cp = "#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { ++ for (cp = "~#=|^(){};&<>*?[]:$`\\\n"; *cp != '\0'; cp++) { + meta[(unsigned char) *cp] = 1; + } + /* +@@ -498,7 +498,7 @@ + } + goto cohorts; + } else if (DEBUG(MAKE)) { +- printf("out-of-date.\n"); ++ printf("out-of-date\n"); + } + + /* +--- pmake-1.111.orig/job.c ++++ pmake-1.111/job.c +@@ -2162,7 +2162,8 @@ + (void) fprintf(stdout, "Remaking `%s'\n", gn->name); + (void) fflush(stdout); + (void) strcpy(job->outFile, TMPPAT); +- job->outFd = mkstemp(job->outFile); ++ if ((job->outFd = mkstemp(job->outFile)) == -1) ++ Punt("Cannot create temp file: %s", strerror(errno)); + (void) fcntl(job->outFd, F_SETFD, 1); + } + } +--- pmake-1.111.orig/main.c ++++ pmake-1.111/main.c +@@ -825,7 +825,10 @@ + * in a different format). + */ + #ifdef POSIX +- Main_ParseArgLine(getenv("MAKEFLAGS")); ++ /* ++ * If we are called by GNU make, do not read MAKEFLAGS. ++ */ ++ Main_ParseArgLine(getenv(getenv("MAKELEVEL") ? "MAKE" : "MAKEFLAGS")); + #else + Main_ParseArgLine(getenv("MAKE")); + #endif +@@ -1149,6 +1152,9 @@ + } + free(path); + return(TRUE); ++ /* `path' is not freed before return because its ++ * pointer is stored somewhere else ++ */ + } + + +--- pmake-1.111.orig/make.1 ++++ pmake-1.111/make.1 +@@ -33,7 +33,7 @@ + .Dt MAKE 1 + .Os + .Sh NAME +-.Nm make ++.Nm pmake + .Nd maintain program dependencies + .Sh SYNOPSIS + .Nm +@@ -1233,7 +1233,7 @@ + .It Ic defined + Takes a variable name as an argument and evaluates to true if the variable + has been defined. +-.It Ic make ++.It Ic pmake + Takes a target name as an argument and evaluates to true if the target + was specified as part of + .Nm Ns 's +@@ -1602,7 +1602,6 @@ + .Sh SEE ALSO + .Xr mkdep 1 + .Sh HISTORY +-A +-.Nm ++A make + command appeared in + .At v7 . +--- pmake-1.111.orig/var.c ++++ pmake-1.111/var.c +@@ -124,6 +124,7 @@ + */ + + #ifndef NO_REGEX ++#include <stdio.h> + #include <sys/types.h> + #include <regex.h> + #endif diff --git a/package/pmake/pmake-130_maxpathlen.patch b/package/pmake/pmake-130_maxpathlen.patch new file mode 100644 index 0000000..fa8fd5f --- /dev/null +++ b/package/pmake/pmake-130_maxpathlen.patch @@ -0,0 +1,39 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -u pmake-1.111/main.c pmake-1.111/main.c +--- pmake-1.111/main.c ++++ pmake-1.111/main.c +@@ -636,6 +636,17 @@ + char found_path[MAXPATHLEN + 1]; /* for searching for sys.mk */ + struct timeval rightnow; /* to initialize random seed */ + ++#ifdef MAXPATHLEN_UNDEFINED ++ if (sysconf(_PC_PATH_MAX) > MAXPATHLEN) { ++ fprintf(stderr, "This operating system runs with " ++ "sysconf(_PC_PATH_MAX) > MAXPATHLEN\n(%ld > %ld). " ++ "Please change the guesstimated value at the bottom\n" ++ "of 'make.h' and recompile, or reduce the actual " ++ "value.\n", sysconf(_PC_PATH_MAX), (long)MAXPATHLEN); ++ return (255); ++ } ++#endif ++ + /* + * Set the seed to produce a different random sequences + * on each program execution. +--- pmake-1.111.orig/make.h ++++ pmake-1.111/make.h +@@ -476,4 +476,10 @@ + #define MAX(a, b) ((a > b) ? a : b) + #endif + ++/* maybe Debian GNU/HURD */ ++#ifndef MAXPATHLEN ++#define MAXPATHLEN 4096 /* some sensible value */ ++#define MAXPATHLEN_UNDEFINED /* triggers check in main.c */ ++#endif ++ + #endif /* _MAKE_H_ */ diff --git a/package/pmake/pmake-140_multiarch.patch b/package/pmake/pmake-140_multiarch.patch new file mode 100644 index 0000000..aef8fd3 --- /dev/null +++ b/package/pmake/pmake-140_multiarch.patch @@ -0,0 +1,354 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- + Makefile.boot | 5 +- + arch.c | 9 --- + main.c | 31 ++++++++++++ + make.1 | 1 + mk/bsd.lib.mk | 8 +++ + mk/bsd.own.mk | 2 + mk/bsd.prog.mk | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 7 files changed, 179 insertions(+), 13 deletions(-) + +--- a/arch.c ++++ b/arch.c +@@ -146,15 +146,6 @@ __RCSID("$NetBSD: arch.c,v 1.44 2005/02/ + #include "dir.h" + #include "config.h" + +-#ifdef TARGET_MACHINE +-#undef MAKE_MACHINE +-#define MAKE_MACHINE TARGET_MACHINE +-#endif +-#ifdef TARGET_MACHINE_ARCH +-#undef MAKE_MACHINE_ARCH +-#define MAKE_MACHINE_ARCH TARGET_MACHINE_ARCH +-#endif +- + static Lst archives; /* Lst of archives we've already examined */ + + typedef struct Arch { +--- a/main.c ++++ b/main.c +@@ -146,6 +146,19 @@ __RCSID("$NetBSD: main.c,v 1.111 2005/06 + #define DEFMAXLOCAL DEFMAXJOBS + #endif /* DEFMAXLOCAL */ + ++#ifdef TARGET_MACHINE ++#undef MAKE_MACHINE ++#define MAKE_MACHINE TARGET_MACHINE ++#endif ++#ifdef TARGET_MACHINE_ARCH ++#undef MAKE_MACHINE_ARCH ++#define MAKE_MACHINE_ARCH TARGET_MACHINE_ARCH ++#endif ++#ifdef TARGET_MACHINE_MULTIARCH ++#undef MAKE_MACHINE_MULTIARCH ++#define MAKE_MACHINE_MULTIARCH TARGET_MACHINE_MULTIARCH ++#endif ++ + Lst create; /* Targets to be made */ + time_t now; /* Time at start of make */ + GNode *DEFAULT; /* .DEFAULT node */ +@@ -628,6 +641,7 @@ main(int argc, char **argv) + char mdpath[MAXPATHLEN]; + char *machine = getenv("MACHINE"); + const char *machine_arch = getenv("MACHINE_ARCH"); ++ const char *machine_multiarch = getenv("MACHINE_MULTIARCH"); + char *syspath = getenv("MAKESYSPATH"); + Lst sysMkPath; /* Path of sys.mk */ + char *cp = NULL, *start; +@@ -711,8 +725,8 @@ main(int argc, char **argv) + * so we can share an executable for similar machines. + * (i.e. m68k: amiga hp300, mac68k, sun3, ...) + * +- * Note that both MACHINE and MACHINE_ARCH are decided at +- * run-time. ++ * Note that all of MACHINE, MACHINE_ARCH and MACHINE_MULTIARCH ++ * are decided at run-time. + */ + if (!machine) { + #ifdef MAKE_NATIVE +@@ -745,6 +759,18 @@ main(int argc, char **argv) + #endif + } + ++ if (!machine_multiarch) { ++#ifndef MACHINE_MULTIARCH ++#ifdef MAKE_MACHINE_MULTIARCH ++ machine_multiarch = MAKE_MACHINE_MULTIARCH; ++#else ++ machine_multiarch = "unknown-unknown-unknown"; ++#endif ++#else ++ machine_multiarch = MACHINE_MULTIARCH; ++#endif ++ } ++ + /* + * Just in case MAKEOBJDIR wants us to do something tricky. + */ +@@ -753,6 +779,7 @@ main(int argc, char **argv) + Var_Set(".CURDIR", curdir, VAR_GLOBAL, 0); + Var_Set("MACHINE", machine, VAR_GLOBAL, 0); + Var_Set("MACHINE_ARCH", machine_arch, VAR_GLOBAL, 0); ++ Var_Set("MACHINE_MULTIARCH", machine_multiarch, VAR_GLOBAL, 0); + #ifdef MAKE_VERSION + Var_Set("MAKE_VERSION", MAKE_VERSION, VAR_GLOBAL, 0); + #endif +--- a/make.1 ++++ b/make.1 +@@ -1569,6 +1569,7 @@ If no sources are specified, any previou + uses the following environment variables, if they exist: + .Ev MACHINE , + .Ev MACHINE_ARCH , ++.Ev MACHINE_MULTIARCH , + .Ev MAKE , + .Ev MAKEFLAGS , + .Ev MAKEOBJDIR , +--- a/Makefile.boot ++++ b/Makefile.boot +@@ -4,7 +4,8 @@ + # + # You only want to use this if you aren't running NetBSD. + # +-# modify MACHINE and MACHINE_ARCH as appropriate for your target architecture ++# modify MACHINE, MACHINE_ARCH and MACHINE_MULTIARCH as appropriate for ++# your target architecture + # + CC=gcc -O -g + +@@ -13,11 +14,13 @@ CC=gcc -O -g + + MACHINE=i386 + MACHINE_ARCH=i386 ++MACHINE_MULTIARCH=i386-linux-gnu + # tested on HP-UX 10.20 + #MAKE_MACHINE=hp700 + #MAKE_MACHINE_ARCH=hppa + CFLAGS= -DTARGET_MACHINE=\"${MACHINE}\" \ + -DTARGET_MACHINE_ARCH=\"${MACHINE_ARCH}\" \ ++ -DTARGET_MACHINE_MULTIARCH=\"${MACHINE_MULTIARCH}\" \ + -DMAKE_MACHINE=\"${MACHINE}\" + LIBS= + +--- a/mk/bsd.prog.mk ++++ b/mk/bsd.prog.mk +@@ -19,8 +19,16 @@ CFLAGS+= ${COPTS} + + # ELF platforms depend on crtbegin.o and crtend.o + .if ${OBJECT_FMT} == "ELF" ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbegin.o) ++LIBCRTBEGIN?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbegin.o ++.else + LIBCRTBEGIN?= ${DESTDIR}/usr/lib/crtbegin.o ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtend.o) ++LIBCRTEND?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtend.o ++.else + LIBCRTEND?= ${DESTDIR}/usr/lib/crtend.o ++.endif + .else + LIBCRTBEGIN?= + LIBCRTEND?= +@@ -28,38 +36,166 @@ LIBCRTEND?= + + LIBCRT0?= + ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libbz2.a) ++LIBBZ2?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libbz2.a ++.else + LIBBZ2?= ${DESTDIR}/usr/lib/libbz2.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc.a) ++LIBC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc.a ++.else + LIBC?= ${DESTDIR}/usr/lib/libc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc_pic.a) ++LIBC_PIC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libc_pic.a ++.else + LIBC_PIC?= ${DESTDIR}/usr/lib/libc_pic.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcompat.a) ++LIBCOMPAT?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcompat.a ++.else + LIBCOMPAT?= ${DESTDIR}/usr/lib/libcompat.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcrypt.a) ++LIBCRYPT?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcrypt.a ++.else + LIBCRYPT?= ${DESTDIR}/usr/lib/libcrypt.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcurses.a) ++LIBCURSES?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libcurses.a ++.else + LIBCURSES?= ${DESTDIR}/usr/lib/libcurses.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdbm.a) ++LIBDBM?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdbm.a ++.else + LIBDBM?= ${DESTDIR}/usr/lib/libdbm.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdes.a) ++LIBDES?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libdes.a ++.else + LIBDES?= ${DESTDIR}/usr/lib/libdes.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libedit.a) ++LIBEDIT?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libedit.a ++.else + LIBEDIT?= ${DESTDIR}/usr/lib/libedit.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgcc.a) ++LIBGCC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgcc.a ++.else + LIBGCC?= ${DESTDIR}/usr/lib/libgcc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgnumalloc.a) ++LIBGNUMALLOC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libgnumalloc.a ++.else + LIBGNUMALLOC?= ${DESTDIR}/usr/lib/libgnumalloc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkdb.a) ++LIBKDB?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkdb.a ++.else + LIBKDB?= ${DESTDIR}/usr/lib/libkdb.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkrb.a) ++LIBKRB?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkrb.a ++.else + LIBKRB?= ${DESTDIR}/usr/lib/libkrb.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkvm.a) ++LIBKVM?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libkvm.a ++.else + LIBKVM?= ${DESTDIR}/usr/lib/libkvm.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libl.a) ++LIBL?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libl.a ++.else + LIBL?= ${DESTDIR}/usr/lib/libl.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libm.a) ++LIBM?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libm.a ++.else + LIBM?= ${DESTDIR}/usr/lib/libm.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libmp.a) ++LIBMP?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libmp.a ++.else + LIBMP?= ${DESTDIR}/usr/lib/libmp.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libntp.a) ++LIBNTP?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libntp.a ++.else + LIBNTP?= ${DESTDIR}/usr/lib/libntp.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libobjc.a) ++LIBOBJC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libobjc.a ++.else + LIBOBJC?= ${DESTDIR}/usr/lib/libobjc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpc.a) ++LIBPC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpc.a ++.else + LIBPC?= ${DESTDIR}/usr/lib/libpc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpcap.a) ++LIBPCAP?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libpcap.a ++.else + LIBPCAP?= ${DESTDIR}/usr/lib/libpcap.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libplot.a) ++LIBPLOT?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libplot.a ++.else + LIBPLOT?= ${DESTDIR}/usr/lib/libplot.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libposix.a) ++LIBPOSIX?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libposix.a ++.else + LIBPOSIX?= ${DESTDIR}/usr/lib/libposix.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libresolv.a) ++LIBRESOLV?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libresolv.a ++.else + LIBRESOLV?= ${DESTDIR}/usr/lib/libresolv.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/librpcsvc.a) ++LIBRPCSVC?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/librpcsvc.a ++.else + LIBRPCSVC?= ${DESTDIR}/usr/lib/librpcsvc.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libskey.a) ++LIBSKEY?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libskey.a ++.else + LIBSKEY?= ${DESTDIR}/usr/lib/libskey.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtermcap.a) ++LIBTERMCAP?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtermcap.a ++.else + LIBTERMCAP?= ${DESTDIR}/usr/lib/libtermcap.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtelnet.a) ++LIBTELNET?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libtelnet.a ++.else + LIBTELNET?= ${DESTDIR}/usr/lib/libtelnet.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libutil.a) ++LIBUTIL?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libutil.a ++.else + LIBUTIL?= ${DESTDIR}/usr/lib/libutil.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libwrap.a) ++LIBWRAP?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libwrap.a ++.else + LIBWRAP?= ${DESTDIR}/usr/lib/libwrap.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/liby.a) ++LIBY?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/liby.a ++.else + LIBY?= ${DESTDIR}/usr/lib/liby.a ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libz.a) ++LIBZ?= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/libz.a ++.else + LIBZ?= ${DESTDIR}/usr/lib/libz.a ++.endif + + .if defined(SHAREDSTRINGS) + CLEANFILES+=strings +--- a/mk/bsd.lib.mk ++++ b/mk/bsd.lib.mk +@@ -115,9 +115,17 @@ APICFLAGS?= -k + .if ${OBJECT_FMT} == "ELF" + SHLIB_SOVERSION=${SHLIB_MAJOR} + SHLIB_SHFLAGS=-soname lib${LIB}.so.${SHLIB_SOVERSION} ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbeginS.o) ++SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtbeginS.o ++.else + SHLIB_LDSTARTFILE= ${DESTDIR}/usr/lib/crtbeginS.o ++.endif ++.if exists(${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtendS.o) ++SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/${MACHINE_MULTIARCH}/crtendS.o ++.else + SHLIB_LDENDFILE= ${DESTDIR}/usr/lib/crtendS.o + .endif ++.endif + + CFLAGS+= ${COPTS} + +--- a/mk/bsd.own.mk ++++ b/mk/bsd.own.mk +@@ -42,7 +42,7 @@ INFOGRP?= root + INFOOWN?= root + INFOMODE?= ${NONBINMODE} + +-LIBDIR?= /usr/lib ++LIBDIR?= /usr/lib/${MACHINE_MULTIARCH} + LINTLIBDIR?= /usr/libdata/lint + LIBGRP?= ${BINGRP} + LIBOWN?= ${BINOWN} diff --git a/package/pmake/pmake-150_mktemp.patch b/package/pmake/pmake-150_mktemp.patch new file mode 100644 index 0000000..5ccb2a8 --- /dev/null +++ b/package/pmake/pmake-150_mktemp.patch @@ -0,0 +1,31 @@ +Patch vampirised from Debian's package pmake_1.111-3.2: + http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake/ + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +Index: pmake-1.111/mk/bsd.lib.mk +=================================================================== +--- pmake-1.111.orig/mk/bsd.lib.mk 2011-05-29 15:38:35.843998781 +0200 ++++ pmake-1.111/mk/bsd.lib.mk 2011-05-29 15:39:16.091998780 +0200 +@@ -299,7 +299,7 @@ + + .if defined(SRCS) + afterdepend: .depend +- @(TMP=/tmp/_depend$$$$; \ ++ @(TMP=`mktemp -t _dependXXXXXXXXXX` || exit $$?; \ + sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.po \1.so \1.ln:/' \ + < .depend > $$TMP; \ + mv $$TMP .depend) +Index: pmake-1.111/mk/bsd.prog.mk +=================================================================== +--- pmake-1.111.orig/mk/bsd.prog.mk 2011-05-29 15:39:21.999998780 +0200 ++++ pmake-1.111/mk/bsd.prog.mk 2011-05-29 15:39:30.923998779 +0200 +@@ -260,7 +260,7 @@ + + .if defined(SRCS) + afterdepend: .depend +- @(TMP=/tmp/_depend$$$$; \ ++ @(TMP=`mktemp -t _dependXXXXXXXXXX` || exit $$?; \ + sed -e 's/^\([^\.]*\).o[ ]*:/\1.o \1.ln:/' \ + < .depend > $$TMP; \ + mv $$TMP .depend) diff --git a/package/pmake/pmake.mk b/package/pmake/pmake.mk new file mode 100644 index 0000000..efd36f5 --- /dev/null +++ b/package/pmake/pmake.mk @@ -0,0 +1,46 @@ +############################################################# +# +# pmake +# +############################################################## + +PMAKE_VERSION = 1.111 +PMAKE_SOURCE = pmake_$(PMAKE_VERSION).orig.tar.gz +PMAKE_SITE = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/p/pmake +PMAKE_LICENSE = BSD-3c BSD-4c +# No license file. License texts are spread in the boilerplates +# of each individual source files; some are BSD-3c, some BSD-4c. + +# CFLAGS vampirised from Debian's rules, adapted to buildroot variables +HOST_PMAKE_CFLAGS = -O2 -g -Wall -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= -I. \ + -DMACHINE=\\\"buildroot\\\" \ + -DMACHINE_ARCH=\\\"$(ARCH)\\\" -DMACHINE_MULTIARCH=\\\"\\\" \ + -DHAVE_SETENV -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_STRFTIME \ + -DHAVE_VSNPRINTF -D_GNU_SOURCE -Wno-unused + +define HOST_PMAKE_BUILD_CMDS + $(MAKE) -C $(@D) -f Makefile.boot CFLAGS="$(HOST_PMAKE_CFLAGS)" +endef + +# The generated file is named bmake, but we want pmake; but: +# - pmake uses support files (in mk/) +# - it's not possible to tell pmake, at build-time, where to expect +# these support files, and pmake expects them in /usr/share/mk/ +# - but pmake has an option to override that search path at runtime +# - so we install bmake as bmake +# - and we install a wraper named pmake that calls pmake with the +# appropriate search path +define HOST_PMAKE_INSTALL_CMDS + $(INSTALL) -m 0755 $(@D)/bmake $(HOST_DIR)/usr/bin/bmake + $(INSTALL) -d -m 0755 $(HOST_DIR)/usr/share/pmake/mk + for mk in $(@D)/mk/*; do \ + $(INSTALL) -m 0644 $${mk} $(HOST_DIR)/usr/share/pmake/mk; \ + done + printf '#!/bin/sh\nexec %s -m %s $$@\n' \ + $(HOST_DIR)/usr/bin/bmake \ + $(HOST_DIR)/usr/share/pmake/mk \ + >$(HOST_DIR)/usr/bin/pmake + chmod 0755 $(HOST_DIR)/usr/bin/pmake +endef + +$(eval $(host-generic-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 15/19] package/libbsd: new package 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (13 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 14/19] package/pmake: add host pmake Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 16/19] package/libedit2: " Yann E. MORIN ` (3 subsequent siblings) 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- package/Config.in | 1 + package/libbsd/Config.in | 10 ++++++++++ package/libbsd/libbsd.mk | 21 +++++++++++++++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) create mode 100644 package/libbsd/Config.in create mode 100644 package/libbsd/libbsd.mk diff --git a/package/Config.in b/package/Config.in index 6c16be2..84036fc 100644 --- a/package/Config.in +++ b/package/Config.in @@ -510,6 +510,7 @@ source "package/libargtable2/Config.in" source "package/argp-standalone/Config.in" source "package/boost/Config.in" source "package/libatomic_ops/Config.in" +source "package/libbsd/Config.in" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" source "package/libdaemon/Config.in" diff --git a/package/libbsd/Config.in b/package/libbsd/Config.in new file mode 100644 index 0000000..7f2b55a --- /dev/null +++ b/package/libbsd/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBBSD + bool "libbsd" + help + This library provides useful functions commonly found on BSD + systems, and lacking on others like GNU systems, thus making + it easier to port projects with strong BSD origins, without + needing to embed the same code over and over again on each + project. + + http://libbsd.freedesktop.org/ diff --git a/package/libbsd/libbsd.mk b/package/libbsd/libbsd.mk new file mode 100644 index 0000000..3af1002 --- /dev/null +++ b/package/libbsd/libbsd.mk @@ -0,0 +1,21 @@ +############################################################# +# +# libbsd +# +############################################################# + +LIBBSD_VERSION = 0.4.2 +LIBBSD_SOURCE = libbsd-$(LIBBSD_VERSION).tar.gz +LIBBSD_SITE = http://libbsd.freedesktop.org/releases +LIBBSD_LICENSE = BSD-3c MIT +LIBBSD_LICENSE_FILES = LICENSE + +# man-pages are BSD-4c, so that license only matters +# if doc is kept in the target rootfs +ifeq ($(BR2_HAVE_DOCUMENTATION),y) +LIBBSD_LICENSE += (libraries), BSD-4c (documentation) +endif + +LIBBSD_INSTALL_STAGING = YES + +$(eval $(autotools-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 16/19] package/libedit2: new package 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (14 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 15/19] package/libbsd: new package Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 17/19] package/ceph: " Yann E. MORIN ` (2 subsequent siblings) 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- package/Config.in | 1 + package/libedit2/Config.in | 9 +++ package/libedit2/libedit2-01-Makefile.patch | 25 +++++++ package/libedit2/libedit2-02-el.c-issetugid.patch | 24 ++++++ package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch | 40 +++++++++++ .../libedit2/libedit2-04-readline.h-stdio.patch | 17 +++++ .../libedit2/libedit2-08-readline-history.h.patch | 20 +++++ .../libedit2/libedit2-10-define_SIZE_T_MAX.patch | 18 +++++ .../libedit2/libedit2-12-libedit-Makefile.patch | 54 ++++++++++++++ package/libedit2/libedit2-20-fortify.patch | 23 ++++++ package/libedit2/libedit2.mk | 75 ++++++++++++++++++++ package/libedit2/libedit2.pc | 13 ++++ 12 files changed, 319 insertions(+), 0 deletions(-) create mode 100644 package/libedit2/Config.in create mode 100644 package/libedit2/libedit2-01-Makefile.patch create mode 100644 package/libedit2/libedit2-02-el.c-issetugid.patch create mode 100644 package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch create mode 100644 package/libedit2/libedit2-04-readline.h-stdio.patch create mode 100644 package/libedit2/libedit2-08-readline-history.h.patch create mode 100644 package/libedit2/libedit2-10-define_SIZE_T_MAX.patch create mode 100644 package/libedit2/libedit2-12-libedit-Makefile.patch create mode 100644 package/libedit2/libedit2-20-fortify.patch create mode 100644 package/libedit2/libedit2.mk create mode 100644 package/libedit2/libedit2.pc diff --git a/package/Config.in b/package/Config.in index 84036fc..04aef11 100644 --- a/package/Config.in +++ b/package/Config.in @@ -540,6 +540,7 @@ endmenu menu "Text and terminal handling" source "package/enchant/Config.in" source "package/icu/Config.in" +source "package/libedit2/Config.in" source "package/libiconv/Config.in" source "package/linenoise/Config.in" source "package/ncurses/Config.in" diff --git a/package/libedit2/Config.in b/package/libedit2/Config.in new file mode 100644 index 0000000..1e7b95d --- /dev/null +++ b/package/libedit2/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_LIBEDIT2 + bool "libedit2" + select BR2_PACKAGE_LIBBSD + select BR2_PACKAGE_NCURSES + help + The editline library (from BSD) provides generic line editing + and history functions. It slightly resembles GNU readline. + + http://ftp.netbsd.org/pub/NetBSD/NetBSD-release-5-0/src/lib/libedit/ diff --git a/package/libedit2/libedit2-01-Makefile.patch b/package/libedit2/libedit2-01-Makefile.patch new file mode 100644 index 0000000..91645e4 --- /dev/null +++ b/package/libedit2/libedit2-01-Makefile.patch @@ -0,0 +1,25 @@ + 01-Makefile.diff by Neal H Walfield <neal@cs.uml.edu> and + Gergely Nagy <algernon@debian.org> + + Add the necessary includes and other things to the libedit + Makefile, so it will compile on GNU systems, with our supplied + glue code + + Yann E. MORIN: patch from debian. + +--- a/libedit/Makefile ++++ b/libedit/Makefile +@@ -1,6 +1,13 @@ + # $NetBSD: Makefile,v 1.36 2007/05/28 12:06:18 tls Exp $ + # @(#)Makefile 8.1 (Berkeley) 6/4/93 + ++OS!= sh -c "case `uname -s` in GNU|GNU/*) echo GNU ;; *) uname -s ;; esac" ++ ++.if ${OS} == GNU || ${OS} == Linux ++CFLAGS += -include bsd/bsd.h ++MKLINT=no ++.endif ++ + USE_SHLIBDIR= yes + + WARNS= 3 diff --git a/package/libedit2/libedit2-02-el.c-issetugid.patch b/package/libedit2/libedit2-02-el.c-issetugid.patch new file mode 100644 index 0000000..b060fa4 --- /dev/null +++ b/package/libedit2/libedit2-02-el.c-issetugid.patch @@ -0,0 +1,24 @@ + 02-el.c-issetugid.diff by Gergely Nagy <algernon@debian.org> + + issetugid(2) is not implemented on GNU systems, so #ifdef it out + + Yann E. MORIN: patch from debian. + +--- a/libedit/el.c 2008-04-06 02:53:28.000000000 +1100 ++++ b/libedit/el.c 2009-06-23 08:51:48.000000000 +1000 +@@ -479,12 +479,14 @@ el_source(EditLine *el, const char *fnam + + fp = NULL; + if (fname == NULL) { +-#ifdef HAVE_ISSETUGID ++#if 1 + static const char elpath[] = "/.editrc"; + char path[MAXPATHLEN]; + ++#ifndef __GLIBC__ + if (issetugid()) + return (-1); ++#endif + if ((ptr = getenv("HOME")) == NULL) + return (-1); + if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path)) diff --git a/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch new file mode 100644 index 0000000..aadd36a --- /dev/null +++ b/package/libedit2/libedit2-03-el.c-MAXPATHLEN.patch @@ -0,0 +1,40 @@ + 03-el.c-MAXPATHLEN.diff by Gergely Nagy <algernon@debian.org> + + on systems without MAXPATHLEN, allocate memory dynamically + + Yann E. MORIN: patch from debian. + +--- a/libedit/el.c 2009-06-23 08:57:04.000000000 +1000 ++++ b/libedit/el.c 2009-06-23 08:57:30.000000000 +1000 +@@ -481,7 +481,11 @@ el_source(EditLine *el, const char *fnam + if (fname == NULL) { + #if 1 + static const char elpath[] = "/.editrc"; ++#ifdef MAXPATHLEN + char path[MAXPATHLEN]; ++#else ++ char *path; ++#endif + + #ifndef __GLIBC__ + if (issetugid()) +@@ -489,10 +493,19 @@ el_source(EditLine *el, const char *fnam + #endif + if ((ptr = getenv("HOME")) == NULL) + return (-1); ++#ifndef MAXPATHLEN ++ path = (char *)malloc(strlen(ptr) + strlen(elpath) + 10); ++ if (path == NULL) ++ return (-1); ++ /* Always succeeds, since we have enough memory */ ++ strcpy(path, ptr); ++ strcat(path, elpath); ++#else + if (strlcpy(path, ptr, sizeof(path)) >= sizeof(path)) + return (-1); + if (strlcat(path, elpath, sizeof(path)) >= sizeof(path)) + return (-1); ++#endif + fname = path; + #else + /* diff --git a/package/libedit2/libedit2-04-readline.h-stdio.patch b/package/libedit2/libedit2-04-readline.h-stdio.patch new file mode 100644 index 0000000..84257b9 --- /dev/null +++ b/package/libedit2/libedit2-04-readline.h-stdio.patch @@ -0,0 +1,17 @@ + 04-readline.h-stdio.diff by Gergely Nagy <algernon@debian.org> + + since readline.h uses types defined in stdio.h, that header should + be included + + Yann E. MORIN: patch from debian. + +--- a/libedit/readline/readline.h 2008-04-29 16:53:01.000000000 +1000 ++++ b/libedit/readline/readline.h 2009-06-23 08:35:58.000000000 +1000 +@@ -31,6 +31,7 @@ + #ifndef _READLINE_H_ + #define _READLINE_H_ + ++#include <stdio.h> + #include <sys/types.h> + + /* list of readline stuff supported by editline library's readline wrapper */ diff --git a/package/libedit2/libedit2-08-readline-history.h.patch b/package/libedit2/libedit2-08-readline-history.h.patch new file mode 100644 index 0000000..f30093f --- /dev/null +++ b/package/libedit2/libedit2-08-readline-history.h.patch @@ -0,0 +1,20 @@ + 08-readline-history.h.diff by Pawel Wiecek <coven@debian.org> + (compatibility with older versions) + + Setting the global variable rl_inhibit_completion to 1 did indeed + disable completion, but the invoking key (e.g., <TAB>) was not + inserted directly into the input line as it should be. + This patch fixes this problem, and also declares rl_inhibit_completion + in readline.h for better readline compatibility. + + Yann E. MORIN: patch from debian. + +--- a/libedit/readline/Makefile 2003-08-03 19:23:15.000000000 +1000 ++++ b/libedit/readline/Makefile 2009-06-23 08:35:58.000000000 +1000 +@@ -10,4 +10,6 @@ INCS= readline.h + INCSDIR= /usr/include/readline + INCSYMLINKS= readline.h ${INCSDIR}/history.h + ++incinstall:: linksinstall ++ + .include <bsd.prog.mk> diff --git a/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch new file mode 100644 index 0000000..c8ce262 --- /dev/null +++ b/package/libedit2/libedit2-10-define_SIZE_T_MAX.patch @@ -0,0 +1,18 @@ + 10-define_SIZE_T_MAX.diff by Anibal Monsalve Salazar + define SIZE_T_MAX as UINT_MAX in limits.h + + Yann E. MORIN: patch from debian. + +--- a/libedit/readline.c 2008-04-29 16:53:01.000000000 +1000 ++++ a/libedit/readline.c 2008-06-14 23:54:16.000000000 +1000 +@@ -61,6 +61,10 @@ __RCSID("$NetBSD: readline.c,v 1.75 2008 + #include "readline/readline.h" + #include "filecomplete.h" + ++#ifndef SIZE_T_MAX ++#define SIZE_T_MAX UINT_MAX ++#endif ++ + void rl_prep_terminal(int); + void rl_deprep_terminal(void); + diff --git a/package/libedit2/libedit2-12-libedit-Makefile.patch b/package/libedit2/libedit2-12-libedit-Makefile.patch new file mode 100644 index 0000000..3234f33 --- /dev/null +++ b/package/libedit2/libedit2-12-libedit-Makefile.patch @@ -0,0 +1,54 @@ + 12-libedit-Makefile.diff by Anibal Monsalve Salazar + without this patch I get the following message: + make: ${_MKTARGET_CREATE} expands to empty string + + Yann E. MORIN: patch from debian. + +--- a/libedit/Makefile 2007-05-28 22:06:18.000000000 +1000 ++++ a/libedit/Makefile 2008-06-15 13:53:50.000000000 +1000 +@@ -59,45 +59,37 @@ CLEANFILES+= ${AHDR} fcns.h help.h fcns. + SUBDIR= readline + + vi.h: vi.c makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/vi.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + emacs.h: emacs.c makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/emacs.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + common.h: common.c makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -h ${LIBEDITDIR}/common.c \ + > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + fcns.h: ${AHDR} makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -fh ${AHDR} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + fcns.c: ${AHDR} fcns.h help.h makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -fc ${AHDR} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + help.c: ${ASRC} makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -bc ${ASRC} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + help.h: ${ASRC} makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -bh ${ASRC} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + + editline.c: ${OSRCS} makelist Makefile +- ${_MKTARGET_CREATE} + ${HOST_SH} ${LIBEDITDIR}/makelist -e ${OSRCS:T} > ${.TARGET}.tmp && \ + mv ${.TARGET}.tmp ${.TARGET} + diff --git a/package/libedit2/libedit2-20-fortify.patch b/package/libedit2/libedit2-20-fortify.patch new file mode 100644 index 0000000..0a41ce3 --- /dev/null +++ b/package/libedit2/libedit2-20-fortify.patch @@ -0,0 +1,23 @@ +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=488456 + +Patch by Kees Cook <kees@outflux.net> + +Yann E. MORIN: patch from debian. + +--- a/libedit/vi.c 2006-10-22 17:48:13.000000000 +1000 ++++ b/libedit/vi.c 2009-06-23 08:35:58.000000000 +1000 +@@ -1012,8 +1012,12 @@ vi_histedit(EditLine *el, int c) + if (fd < 0) + return CC_ERROR; + cp = el->el_line.buffer; +- write(fd, cp, el->el_line.lastchar - cp +0u); +- write(fd, "\n", 1); ++ if (write(fd, cp, el->el_line.lastchar - cp +0u)<0 || ++ write(fd, "\n", 1)<0) { ++ close(fd); ++ unlink(tempfile); ++ return CC_ERROR; ++ } + pid = fork(); + switch (pid) { + case -1: diff --git a/package/libedit2/libedit2.mk b/package/libedit2/libedit2.mk new file mode 100644 index 0000000..b9ca41e --- /dev/null +++ b/package/libedit2/libedit2.mk @@ -0,0 +1,75 @@ +############################################################# +# +# libedit2 +# +############################################################# + +# Note: libedit2 does not have a regular homepage, and it seems +# there is no place where to download a tarball from. That's +# why we use the Debian way-back machine. +LIBEDIT2_VERSION_MAJOR = 2 +LIBEDIT2_VERSION_MINOR = 11-20080614 +LIBEDIT2_VERSION = $(LIBEDIT2_VERSION_MAJOR).$(LIBEDIT2_VERSION_MINOR) +LIBEDIT2_SOURCE = libedit_$(LIBEDIT2_VERSION).orig.tar.bz2 +LIBEDIT2_SITE = http://snapshot.debian.org/archive/debian/20120601T033558Z/pool/main/libe/libedit +LIBEDIT2_SUBDIR = libedit +LIBEDIT2_INSTALL_STAGING = YES +LIBEDIT2_DEPENDENCIES = host-pmake libbsd ncurses + +define POST_PATCH_PERMISSIONS + chmod +x $(@D)/libedit/makelist +endef + +LIBEDIT2_POST_PATCH_HOOKS += POST_PATCH_PERMISSIONS + +define LIBEDIT2_FIX_VIS_H_INCLUDE + $(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/filecomplete.c + $(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/history.c + $(SED) 's/^#include <vis.h>$$/#include <bsd\/vis.h>/;' $(@D)/libedit/readline.c +endef +LIBEDIT2_POST_PATCH_HOOKS += LIBEDIT2_FIX_VIS_H_INCLUDE + +LIBEDIT2_PMAKE_ARGS = MKPROFILE=no MKCATPAGES=no MLINKS= MANPAGES= NOGCCERROR=1 \ + SHLIB_SHFLAGS="-Wl,-soname,libedit.so.${LIBEDIT2_VERSION_MAJOR}" \ + +define LIBEDIT2_BUILD_CMDS + cd $(@D)/$(LIBEDIT2_SUBDIR); \ + $(TARGET_CONFIGURE_OPTS) LDADD="-lbsd -lcurses" pmake $(LIBEDIT2_PMAKE_ARGS) +endef + +LIBEDIT2_MAN_LINKS = el_init el_end el_reset el_gets el_getc el_push el_parse \ + el_set el_get el_source el_resize el_line el_insertstr \ + el_deletestr history_init history_end history + +# $1: DESTDIR to install into +# Can't use pmake to install, it wants to be root. sigh... :-( +define LIBEDIT2_INSTALL_CMDS + $(INSTALL) -D -m 0644 package/libedit2/libedit2.pc $(1)/usr/lib/pkgconfig/libedit2.pc + ln -sf libedit2.pc $(1)/usr/lib/pkgconfig/libedit.pc + $(INSTALL) -D -m 0644 $(@D)/libedit/libedit.a $(1)/usr/lib/libedit.a + $(INSTALL) -D -m 0644 $(@D)/libedit/libedit_pic.a $(1)/usr/lib/libedit_pic.a + $(INSTALL) -D -m 0644 $(@D)/libedit/libedit.so.2.11 $(1)/usr/lib/libedit.so.2.11 + $(INSTALL) -D -m 0644 $(@D)/libedit/histedit.h $(1)/usr/include/histedit.h + ln -sf libedit.so.$(LIBEDIT2_VERSION) $(1)/usr/lib/libedit.so.$(LIBEDIT2_VERSION_MAJOR) + ln -sf libedit.so.$(LIBEDIT2_VERSION_MAJOR) $(1)/usr/lib/libedit.so + $(INSTALL) -D -m 0644 $(@D)/libedit/readline/readline.h $(1)/usr/include/editline/readline.h + if [ "$(BR2_HAVE_DOCUMENTATION)" = "y" ]; then \ + $(INSTALL) -v -D -m 0644 $(@D)/libedit/editline.3 $(1)/usr/share/man/man3/editline.3el; \ + $(INSTALL) -v -D -m 0644 $(@D)/libedit/editrc.3 $(1)/usr/share/man/man5/editrc.5el; \ + for lnk in $(LIBEDIT2_MAN_LINKS); do \ + ln -sfv editline.3el $(1)/usr/share/man/man3/$${lnk}.3el; \ + done; \ + fi +endef +# cd $(@D)/libedit; pmake install incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS) +# cd $(@D)/libedit/readline; pmake incinstall DESTDIR=$(1) $(LIBEDIT2_PMAKE_ARGS) + +define LIBEDIT2_INSTALL_STAGING_CMDS + $(call LIBEDIT2_INSTALL_CMDS,$(STAGING_DIR)) +endef + +define LIBEDIT2_INSTALL_TARGET_CMDS + $(call LIBEDIT2_INSTALL_CMDS,$(TARGET_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/libedit2/libedit2.pc b/package/libedit2/libedit2.pc new file mode 100644 index 0000000..47ac871 --- /dev/null +++ b/package/libedit2/libedit2.pc @@ -0,0 +1,13 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: libedit +Description: Not just a replacement library for libreadline and libhistory. +Version: 2.11 +Requires: libbsd ncurses +Requires.private: +Libs: -L${libdir} -ledit +Libs.private: +Cflags: -I${includedir} -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 17/19] package/ceph: new package 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (15 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 16/19] package/libedit2: " Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 18/19] package/dtc: " Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 19/19] package/dtc: add option to install programs Yann E. MORIN 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> --- package/Config.in | 1 + package/ceph/Config.in | 21 +++++++++ package/ceph/ceph-no-envz.patch | 63 ++++++++++++++++++++++++++++ package/ceph/ceph-no-getloadavg.patch | 61 +++++++++++++++++++++++++++ package/ceph/ceph-no-posix_fallocate.patch | 50 ++++++++++++++++++++++ package/ceph/ceph.mk | 53 +++++++++++++++++++++++ 6 files changed, 249 insertions(+), 0 deletions(-) create mode 100644 package/ceph/Config.in create mode 100644 package/ceph/ceph-no-envz.patch create mode 100644 package/ceph/ceph-no-getloadavg.patch create mode 100644 package/ceph/ceph-no-posix_fallocate.patch create mode 100644 package/ceph/ceph.mk diff --git a/package/Config.in b/package/Config.in index 04aef11..657f568 100644 --- a/package/Config.in +++ b/package/Config.in @@ -590,6 +590,7 @@ source "package/bind/Config.in" source "package/bmon/Config.in" source "package/bridge-utils/Config.in" source "package/can-utils/Config.in" +source "package/ceph/Config.in" source "package/connman/Config.in" source "package/ctorrent/Config.in" source "package/conntrack-tools/Config.in" diff --git a/package/ceph/Config.in b/package/ceph/Config.in new file mode 100644 index 0000000..61f1947 --- /dev/null +++ b/package/ceph/Config.in @@ -0,0 +1,21 @@ +comment "ceph requires C++, largefiles, threads, wide chars" + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR + +config BR2_PACKAGE_CEPH + bool "ceph" + depends on BR2_INSTALL_LIBSTDCPP # boost + depends on BR2_LARGEFILE # boost, libnss, util-linux + depends on BR2_TOOLCHAIN_HAS_THREADS # libnss + depends on BR2_USE_WCHAR # util-linux + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_KEYUTILS + select BR2_PACKAGE_LIBEDIT2 + select BR2_PACKAGE_LIBNSS + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + Ceph is a distributed object store and file system designed to + provide excellent performance, reliability and scalability. + + http://ceph.com/ diff --git a/package/ceph/ceph-no-envz.patch b/package/ceph/ceph-no-envz.patch new file mode 100644 index 0000000..c0369ba --- /dev/null +++ b/package/ceph/ceph-no-envz.patch @@ -0,0 +1,63 @@ +tools+base: do not include envz.h on uClibc + +uClibc does not have envz, and no envz function is in fact used. +So, simply do not include it under uClibc. + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- ceph-0.51.orig/src/tools/common.cc 2012-09-09 00:13:32.128838177 +0200 ++++ ceph-0.51/src/tools/common.cc 2012-09-09 00:13:59.432064556 +0200 +@@ -17,9 +17,9 @@ + #include <string> + using namespace std; + +-#if !defined(DARWIN) && !defined(__FreeBSD__) ++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__) + #include <envz.h> +-#endif // DARWIN ++#endif // DARWIN || __UCLIBC__ + + #include <memory> + #include <sys/types.h> +--- ceph-0.51.orig/src/ceph_syn.cc 2012-09-09 00:25:23.302722032 +0200 ++++ ceph-0.51/src/ceph_syn.cc 2012-09-09 00:24:39.702892463 +0200 +@@ -31,9 +31,9 @@ + #include "common/ceph_argparse.h" + #include "common/pick_address.h" + +-#if !defined(DARWIN) && !defined(__FreeBSD__) ++#if !defined(DARWIN) && !defined(__FreeBSD__) && !defined(__UCLIBC__) + #include <envz.h> +-#endif // DARWIN || __FreeBSD__ ++#endif // DARWIN || __FreeBSD__ || __UCLIBC__ + + #include <sys/types.h> + #include <sys/stat.h> +--- ceph-0.51.orig/src/ceph_fuse.cc 2012-09-09 00:43:46.875065556 +0200 ++++ ceph-0.51/src/ceph_fuse.cc 2012-09-09 00:44:21.161597834 +0200 +@@ -32,9 +32,9 @@ + #include "global/global_init.h" + #include "common/safe_io.h" + +-#ifndef DARWIN ++#if !defined(DARWIN) && !defined(__UCLIBC__) + #include <envz.h> +-#endif // DARWIN ++#endif // DARWIN || __UCLIBC__ + + #include <sys/types.h> + #include <sys/stat.h> +--- ceph-0.51.orig/src/testmsgr.cc 2012-09-09 00:44:48.108158886 +0200 ++++ ceph-0.51/src/testmsgr.cc 2012-09-09 00:45:18.218040882 +0200 +@@ -28,9 +28,9 @@ + #include "global/global_init.h" + #include "common/ceph_argparse.h" + +-#ifndef DARWIN ++#if !defined(DARWIN) && !defined(__UCLIBC__) + #include <envz.h> +-#endif // DARWIN ++#endif // DARWIN || __UCLIBC__ + + #include <sys/types.h> + #include <sys/stat.h> diff --git a/package/ceph/ceph-no-getloadavg.patch b/package/ceph/ceph-no-getloadavg.patch new file mode 100644 index 0000000..7e887df --- /dev/null +++ b/package/ceph/ceph-no-getloadavg.patch @@ -0,0 +1,61 @@ +OSD: do not use getloadavg(3) on uClibc + +getloadavg(3) is not available on uClibc, so do not use it. + +getloadavg is used in two places: + - once to log the loadavg in the heartbeat logs: we simply remove this; + - once to decide whether to schedule scrub (whatever it is) or not: we + simply use the existing coin-flip random choice in this case. + +The second change will probably have an impact on performances... :-( + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN ceph-0.51.orig/src/osd/OSD.cc ceph-0.51/src/osd/OSD.cc +--- ceph-0.51.orig/src/osd/OSD.cc 2012-08-26 00:58:06.000000000 +0200 ++++ ceph-0.51/src/osd/OSD.cc 2012-09-08 23:56:31.396177885 +0200 +@@ -15,6 +15,7 @@ + #include <fstream> + #include <iostream> + #include <errno.h> ++#include <features.h> /* For __ULIBC__ */ + #include <sys/stat.h> + #include <signal.h> + #include <boost/scoped_ptr.hpp> +@@ -1942,10 +1943,12 @@ + { + dout(30) << "heartbeat" << dendl; + ++#ifndef __UCLIBC__ + // get CPU load avg + double loadavgs[1]; + if (getloadavg(loadavgs, 1) == 1) + logger->fset(l_osd_loadavg, loadavgs[0]); ++#endif + + dout(30) << "heartbeat checking stats" << dendl; + +@@ -3216,6 +3219,7 @@ + + bool OSDService::scrub_should_schedule() + { ++#ifndef __UCLIBC__ + double loadavgs[1]; + + // TODOSAM: is_active should be conveyed to OSDService +@@ -3249,6 +3253,15 @@ + << " < max " << g_conf->osd_scrub_load_threshold + << " = yes" << dendl; + return loadavgs[0] < g_conf->osd_scrub_load_threshold; ++#else // ! defined __UCLIBC__ ++ bool coin_flip = (rand() % 3) == whoami % 3; ++ if (coin_flip) { ++ dout(20) << "scrub_should_schedule randomly yes" << dendl; ++ } else { ++ dout(20) << "scrub_should_schedule randomly backing off" << dendl; ++ } ++ return coin_flip; ++#endif // ! defined __UCLIBC__ + } + + void OSD::sched_scrub() diff --git a/package/ceph/ceph-no-posix_fallocate.patch b/package/ceph/ceph-no-posix_fallocate.patch new file mode 100644 index 0000000..479705d --- /dev/null +++ b/package/ceph/ceph-no-posix_fallocate.patch @@ -0,0 +1,50 @@ +Do not call posix_fallocate() on uClibc + +Based on a patch by Thomas, for lttng-babeltrace, in which he states: + + uClibc does not implement posix_fallocate(), and posix_fallocate() is + mostly only an hint to the kernel that we will need such or such + amount of space inside a file. So we just don't call posix_fallocate() + when building against uClibc. + +Just do the same here. + +NOTE! IMHO, this patch is not correct, because overcommit (eg. for sparse +files) on the underlying filesystem may cause allocation failures later on, +which is exactly the situation that posix_fallocate is supposed to avoid. +But, as uClibc still lacks posix_fallocate, we have no choice. + +If you really are concerned about this issue, there exists a posix_fallocate +patch that is not upstream, but is used by the AlpineLinux distribution: + http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d + http://git.alpinelinux.org/cgit/aports/tree/main/libc0.9.32/posix_fallocate-fix.patch?id=98a000b8e92b3aa1e0b7a5f94a74910bb0993c4d + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +diff -durN ceph-0.50.orig/src/os/FileJournal.cc ceph-0.50/src/os/FileJournal.cc +--- ceph-0.50.orig/src/os/FileJournal.cc 2012-08-13 18:43:14.000000000 +0200 ++++ ceph-0.50/src/os/FileJournal.cc 2012-09-08 23:07:12.597910027 +0200 +@@ -23,6 +23,7 @@ + #include "include/compat.h" + + #include <fcntl.h> ++#include <features.h> + #include <sstream> + #include <stdio.h> + #include <sys/types.h> +@@ -303,6 +304,7 @@ + << newsize << " bytes: " << cpp_strerror(err) << dendl; + return -err; + } ++#ifndef __UCLIBC__ + ret = ::posix_fallocate(fd, 0, newsize); + if (ret < 0) { + int err = errno; +@@ -310,6 +312,7 @@ + << newsize << " bytes: " << cpp_strerror(err) << dendl; + return -err; + } ++#endif + max_size = newsize; + } + else { diff --git a/package/ceph/ceph.mk b/package/ceph/ceph.mk new file mode 100644 index 0000000..0849837 --- /dev/null +++ b/package/ceph/ceph.mk @@ -0,0 +1,53 @@ +############################################################# +# +# ceph +# +############################################################# + +CEPH_VERSION = 0.51 +CEPH_SOURCE = ceph-$(CEPH_VERSION).tar.bz2 +CEPH_SITE = http://ceph.com/download/ +CEPH_LICENSE = LGPLv2.1 CC-BY-SA Apache-2.0 GPLv2 LGPLv2+ BSD-3c MIT PD +CEPH_LICENSE_FILES = COPYING +CEPH_INSTALL_STAGING = YES + +CEPH_DEPENDENCIES = \ + boost \ + expat \ + keyutils \ + libedit2 \ + libnss \ + util-linux \ + +# We disable everything for now, because the dependency tree can become +# quite deep if we try to enable some features, and I have not tested that. +# We need@least one crypto lib, and the currently only one available in +# BR, that ceph can use, is libnss +CEPH_CONF_OPT = \ + --with-nss \ + --without-profiler \ + --without-debug \ + --without-tcmalloc \ + --without-hadoop \ + --without-libatomic-ops \ + --without-system-leveldb \ + --without-system-libs3 \ + --without-rest-bench \ + --without-cryptopp \ + --with-ocf \ + +ifeq ($(BR2_PACKAGE_LIBFUSE),y) +CEPH_DEPENDENCIES += libfuse +CEPH_CONF_OPT += --with-fuse +else +CEPH_CONF_OPT += --without-fuse +endif + +ifeq ($(BR2_PACKAGE_LIBAIO),y) +CEPH_DEPENDENCIES += libaio +CEPH_CONF_OPT += --with-libaio +else +CEPH_CONF_OPT += --without-libaio +endif + +$(eval $(autotools-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 18/19] package/dtc: new package 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (16 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 17/19] package/ceph: " Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 2012-12-16 16:56 ` [Buildroot] [PATCH 19/19] package/dtc: add option to install programs Yann E. MORIN 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot dtc is the Device Tree Compiler, and manipulates device trees. Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- Although Arnout suggested to move it out of the libraries sub-menu, I kept it there, as by default, only the library is installed, like it is done for, eg., libcurl. --- package/Config.in | 1 + package/dtc/Config.in | 9 +++++++ package/dtc/dtc-extra_cflags.patch | 27 ++++++++++++++++++++++ package/dtc/dtc-separate-lib-install.patch | 28 +++++++++++++++++++++++ package/dtc/dtc.mk | 34 ++++++++++++++++++++++++++++ 5 files changed, 99 insertions(+), 0 deletions(-) create mode 100644 package/dtc/Config.in create mode 100644 package/dtc/dtc-extra_cflags.patch create mode 100644 package/dtc/dtc-separate-lib-install.patch create mode 100644 package/dtc/dtc.mk diff --git a/package/Config.in b/package/Config.in index 657f568..8612c7d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -419,6 +419,7 @@ endmenu menu "Hardware handling" source "package/ccid/Config.in" +source "package/dtc/Config.in" source "package/lcdapi/Config.in" source "package/libaio/Config.in" source "package/libraw1394/Config.in" diff --git a/package/dtc/Config.in b/package/dtc/Config.in new file mode 100644 index 0000000..96225e3 --- /dev/null +++ b/package/dtc/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_DTC + bool "dtc" + help + The Device Tree Compiler, dtc, takes as input a device-tree in + a given format and outputs a device-tree in another format. + + Note that only the library is installed for now. + + http://git.jdl.com/gitweb/?p=dtc.git (no home page) diff --git a/package/dtc/dtc-extra_cflags.patch b/package/dtc/dtc-extra_cflags.patch new file mode 100644 index 0000000..9d1882b --- /dev/null +++ b/package/dtc/dtc-extra_cflags.patch @@ -0,0 +1,27 @@ +Makefile: append the CFLAGS to existing ones + +Allow the user to pass custom CFLAGS (eg. optimisation flags). + +Do not use EXTRA_CFLAGS, append to existing CFLAGS with += (Arnout) + +Cc: Arnout Vandecappelle <arnout@mind.be> +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- +Patch not sent upstream. + +Although not specific to buildroot, I am not sure this is the best +way to handle user-supplied CFLAGS. + +diff -durN dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile +--- dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef.orig/Makefile 2012-10-22 22:02:47.541240846 +0200 ++++ dtc-e4b497f367a3b2ae99cc52089a14a221b13a76ef/Makefile 2012-10-22 22:03:21.151047833 +0200 +@@ -18,7 +18,7 @@ + CPPFLAGS = -I libfdt -I . + WARNINGS = -Werror -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \ + -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls +-CFLAGS = -g -Os -fPIC -Werror $(WARNINGS) ++CFLAGS += -g -Os -fPIC -Werror $(WARNINGS) + + BISON = bison + LEX = flex diff --git a/package/dtc/dtc-separate-lib-install.patch b/package/dtc/dtc-separate-lib-install.patch new file mode 100644 index 0000000..c86d587 --- /dev/null +++ b/package/dtc/dtc-separate-lib-install.patch @@ -0,0 +1,28 @@ +Makefile: add a rule to only install libfdt + +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> + +--- +Patch not sent upstream. + +It's really specific to buildroot, and is probably not +good (aka generic) enough to be pushed upstream. + +diff --git a/Makefile b/Makefile +index 1169e6c..39e7190 100644 +--- a/Makefile ++++ b/Makefile +@@ -160,10 +160,12 @@ endif + # intermediate target and building them again "for real" + .SECONDARY: $(DTC_GEN_SRCS) $(CONVERT_GEN_SRCS) + +-install: all $(SCRIPTS) ++install: all $(SCRIPTS) libfdt_install + @$(VECHO) INSTALL + $(INSTALL) -d $(DESTDIR)$(BINDIR) + $(INSTALL) $(BIN) $(SCRIPTS) $(DESTDIR)$(BINDIR) ++ ++libfdt_install: libfdt + $(INSTALL) -d $(DESTDIR)$(LIBDIR) + $(INSTALL) $(LIBFDT_lib) $(DESTDIR)$(LIBDIR) + ln -sf $(notdir $(LIBFDT_lib)) $(DESTDIR)$(LIBDIR)/$(LIBFDT_soname) diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk new file mode 100644 index 0000000..a0e1e35 --- /dev/null +++ b/package/dtc/dtc.mk @@ -0,0 +1,34 @@ +############################################################# +# +# dtc +# +############################################################# + +DTC_VERSION = e4b497f367a3b2ae99cc52089a14a221b13a76ef +DTC_SITE = git://git.jdl.com/software/dtc.git +DTC_LICENSE = GPLv2+/BSD-2c +DTC_LICENSE_FILES = README.license GPL +# Note: the dual-license only applies to the library. +# The DT compiler (dtc) is GPLv2+, but we do not install it. +DTC_INSTALL_STAGING = YES + +define DTC_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + CFLAGS="$(TARGET_CFLAGS)" \ + $(MAKE) -C $(@D) PREFIX=/usr libfdt +endef + +#?libfdt_install is our own install rule added by our patch +define DTC_INSTALL_STAGING_CMDS + $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install +endef + +define DTC_INSTALL_TARGET_CMDS + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install +endef + +define DTC_CLEAN_CMDS + $(MAKE) -C $(@D) libfdt_clean +endef + +$(eval $(generic-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
* [Buildroot] [PATCH 19/19] package/dtc: add option to install programs 2012-12-16 16:56 [Buildroot] [pull request v2] Pull request for branch yem-new-packages Yann E. MORIN ` (17 preceding siblings ...) 2012-12-16 16:56 ` [Buildroot] [PATCH 18/19] package/dtc: " Yann E. MORIN @ 2012-12-16 16:56 ` Yann E. MORIN 18 siblings, 0 replies; 35+ messages in thread From: Yann E. MORIN @ 2012-12-16 16:56 UTC (permalink / raw) To: buildroot By default, we only install the libfdt library. As suggested by Arnout, add an option that also installs the few dtc programs. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> --- dtdiff, a diff for device trees, requires bash. I did not add a 'depends on bash' (or a 'select' either), because requiring bash just for that is a bit far-fetched. Instead, at dtc install time, if bash is selected, dtdiff is installed as usual to the target rootfs; if bash is not selected, dtdiff is removed from the target rootfs. --- package/dtc/Config.in | 24 ++++++++++++++++++++++-- package/dtc/dtc.mk | 29 +++++++++++++++++++++++------ 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/package/dtc/Config.in b/package/dtc/Config.in index 96225e3..1c65a10 100644 --- a/package/dtc/Config.in +++ b/package/dtc/Config.in @@ -1,9 +1,29 @@ config BR2_PACKAGE_DTC - bool "dtc" + bool "dtc (libfdt)" help The Device Tree Compiler, dtc, takes as input a device-tree in a given format and outputs a device-tree in another format. - Note that only the library is installed for now. + Note that only the library is installed. + If you want the programs, say 'y' here, and to "dtc programs", below. http://git.jdl.com/gitweb/?p=dtc.git (no home page) + +if BR2_PACKAGE_DTC + +config BR2_PACKAGE_DTC_PROGRAMS + bool "dtc programs" + help + Say 'y' here if you also want the programs on the target: + - convert-dtsv0 convert from version 0 to version 1 + - dtc the device tree compiler + - dtdiff compare two device trees (needs bash) + - fdtdump print a readable version of a flat device tree + - fdtget read values from device tree + - fdtput write a property value to a device tree + + Note: dtdiff requires bash, so if bash is not selected, dtdiff will + be removed from the target file system. Enable bash if you + need dtdiff on the target. + +endif diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk index a0e1e35..42843d5 100644 --- a/package/dtc/dtc.mk +++ b/package/dtc/dtc.mk @@ -8,27 +8,44 @@ DTC_VERSION = e4b497f367a3b2ae99cc52089a14a221b13a76ef DTC_SITE = git://git.jdl.com/software/dtc.git DTC_LICENSE = GPLv2+/BSD-2c DTC_LICENSE_FILES = README.license GPL -# Note: the dual-license only applies to the library. -# The DT compiler (dtc) is GPLv2+, but we do not install it. DTC_INSTALL_STAGING = YES +ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y) +DTC_LICENSE += (for the library), GPLv2+ (for the executables) +# Use default goal to build everything +DTC_BUILD_GOAL = +DTC_INSTALL_GOAL = install +DTC_CLEAN_GOAL = clean +else # $(BR2_PACKAGE_DTC_PROGRAMS) != y +DTC_BUILD_GOAL = libfdt +#?libfdt_install is our own install rule added by our patch +DTC_INSTALL_GOAL = libfdt_install +DTC_CLEAN_GOAL = libfdt_clean +ifeq ($(BR2_PACKAGE_BASH),) +DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF +endif +endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y + define DTC_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ - $(MAKE) -C $(@D) PREFIX=/usr libfdt + $(MAKE) -C $(@D) PREFIX=/usr $(DTC_BUILD_GOAL) endef -#?libfdt_install is our own install rule added by our patch +# For staging, only the library is needed define DTC_INSTALL_STAGING_CMDS $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) PREFIX=/usr libfdt_install endef define DTC_INSTALL_TARGET_CMDS - $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr libfdt_install + $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) PREFIX=/usr $(DTC_INSTALL_GOAL) +endef +define DTC_POST_INSTALL_TARGET_RM_DTDIFF + rm -f $(TARGET_DIR)/usr/bin/dtdiff endef define DTC_CLEAN_CMDS - $(MAKE) -C $(@D) libfdt_clean + $(MAKE) -C $(@D) $(DTC_CLEAN_GOAL) endef $(eval $(generic-package)) -- 1.7.2.5 ^ permalink raw reply related [flat|nested] 35+ messages in thread
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