[arch-commits] Commit in lib32-libldap/repos/multilib-x86_64 (4 files)
Antonio Rojas
arojas at archlinux.org
Mon Mar 9 14:00:53 UTC 2020
Date: Monday, March 9, 2020 @ 14:00:52
Author: arojas
Revision: 593105
archrelease: copy trunk to multilib-x86_64
Added:
lib32-libldap/repos/multilib-x86_64/PKGBUILD
(from rev 593104, lib32-libldap/trunk/PKGBUILD)
lib32-libldap/repos/multilib-x86_64/ntlm.patch
(from rev 593104, lib32-libldap/trunk/ntlm.patch)
Deleted:
lib32-libldap/repos/multilib-x86_64/PKGBUILD
lib32-libldap/repos/multilib-x86_64/ntlm.patch
------------+
PKGBUILD | 121 +++++++--------
ntlm.patch | 460 +++++++++++++++++++++++++++++------------------------------
2 files changed, 292 insertions(+), 289 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2020-03-09 14:00:19 UTC (rev 593104)
+++ PKGBUILD 2020-03-09 14:00:52 UTC (rev 593105)
@@ -1,59 +0,0 @@
-# Maintainer:
-# Contributor: Judd Vinet <jvinet at zeroflux.org>
-
-_pkgbasename=libldap
-pkgname=lib32-$_pkgbasename
-pkgver=2.4.48
-pkgrel=1
-pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries (32-bit)"
-arch=('x86_64')
-license=('custom')
-url="https://www.openldap.org/"
-depends=('lib32-openssl' $_pkgbasename)
-makedepends=(gcc-multilib)
-source=("ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz"
- 'ntlm.patch')
-sha256sums=('d9523ffcab5cd14b709fcf3cb4d04e8bc76bb8970113255f372bc74954c6074d'
- '099eb217bf989da9c10e0df375f2c4dacf745db55cd1e89be07a09e502552f42')
-
-build() {
- export CC="gcc -m32"
- export CXX="g++ -m32"
- export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
-
- cd ${srcdir}/openldap-${pkgver}
-
- patch -Np1 -i ${srcdir}/ntlm.patch
-
- ./configure --prefix=/usr \
- --libexecdir=/usr/sbin \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var/lib/openldap \
- --enable-crypt --enable-dynamic \
- --with-threads --disable-wrappers \
- --disable-spasswd --without-cyrus-sasl \
- --disable-bdb --disable-hdb --libdir=/usr/lib32
-
- cd include
- make
-
- cd ../libraries
- make depend
- make
-
-}
-
-package() {
- cd ${srcdir}/openldap-${pkgver}
-
- cd include
- make DESTDIR=${pkgdir} install
-
- cd ../libraries
- make DESTDIR=${pkgdir} install
-
- rm -rf "${pkgdir}"/usr/{include,share,bin} "$pkgdir/etc"
- mkdir -p "$pkgdir/usr/share/licenses"
- ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
-}
Copied: lib32-libldap/repos/multilib-x86_64/PKGBUILD (from rev 593104, lib32-libldap/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2020-03-09 14:00:52 UTC (rev 593105)
@@ -0,0 +1,62 @@
+# Maintainer:
+# Contributor: Judd Vinet <jvinet at zeroflux.org>
+
+_pkgbasename=libldap
+pkgname=lib32-$_pkgbasename
+pkgver=2.4.49
+pkgrel=1
+pkgdesc="Lightweight Directory Access Protocol (LDAP) client libraries (32-bit)"
+arch=('x86_64')
+license=('custom')
+url="https://www.openldap.org/"
+depends=('lib32-openssl' $_pkgbasename)
+makedepends=(gcc-multilib)
+source=("ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-${pkgver}.tgz"
+ 'ntlm.patch')
+sha256sums=('e3b117944b4180f23befe87d0dcf47f29de775befbc469dcf4ac3dab3311e56e'
+ '099eb217bf989da9c10e0df375f2c4dacf745db55cd1e89be07a09e502552f42')
+
+prepare() {
+ cd openldap-${pkgver}
+ patch -Np1 -i ../ntlm.patch
+}
+
+build() {
+ export CC="gcc -m32"
+ export CXX="g++ -m32"
+ export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
+
+ cd openldap-${pkgver}
+
+ ./configure --prefix=/usr \
+ --libexecdir=/usr/sbin \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var/lib/openldap \
+ --enable-crypt --enable-dynamic \
+ --with-threads --disable-wrappers \
+ --disable-spasswd --without-cyrus-sasl \
+ --disable-bdb --disable-hdb --libdir=/usr/lib32
+
+ cd include
+ make
+
+ cd ../libraries
+ make depend
+ make
+
+}
+
+package() {
+ cd openldap-${pkgver}
+
+ cd include
+ make DESTDIR="${pkgdir}" install
+
+ cd ../libraries
+ make DESTDIR="${pkgdir}" install
+
+ rm -rf "${pkgdir}"/usr/{include,share,bin} "$pkgdir/etc"
+ mkdir -p "$pkgdir/usr/share/licenses"
+ ln -s $_pkgbasename "$pkgdir/usr/share/licenses/$pkgname"
+}
Deleted: ntlm.patch
===================================================================
--- ntlm.patch 2020-03-09 14:00:19 UTC (rev 593104)
+++ ntlm.patch 2020-03-09 14:00:52 UTC (rev 593105)
@@ -1,230 +0,0 @@
-Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is
-actually called by evolution-data-server, checked at version 1.12.2.
-Without this patch, the Exchange addressbook integration uses simple binds
-with cleartext passwords.
-
-Russ checked with openldap-software for upstream's opinion on this patch
-on 2007-12-21. Upstream had never received it as a patch submission and
-given that it's apparently only for older Exchange servers that can't do
-SASL and DIGEST-MD5, it's not very appealing.
-
-Bug#457374 filed against evolution-data-server asking if this support is
-still required on 2007-12-21.
-
-Index: trunk/include/ldap.h
-===================================================================
---- trunk.orig/include/ldap.h
-+++ trunk/include/ldap.h
-@@ -2461,5 +2461,25 @@
- LDAPControl **ctrls,
- LDAPDerefRes **drp ));
-
-+/*
-+ * hacks for NTLM
-+ */
-+#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
-+#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
-+LDAP_F( int )
-+ldap_ntlm_bind LDAP_P((
-+ LDAP *ld,
-+ LDAP_CONST char *dn,
-+ ber_tag_t tag,
-+ struct berval *cred,
-+ LDAPControl **sctrls,
-+ LDAPControl **cctrls,
-+ int *msgidp ));
-+LDAP_F( int )
-+ldap_parse_ntlm_bind_result LDAP_P((
-+ LDAP *ld,
-+ LDAPMessage *res,
-+ struct berval *challenge));
-+
- LDAP_END_DECL
- #endif /* _LDAP_H */
-Index: trunk/libraries/libldap/ntlm.c
-===================================================================
---- /dev/null
-+++ trunk/libraries/libldap/ntlm.c
-@@ -0,0 +1,138 @@
-+/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */
-+/*
-+ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
-+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
-+ */
-+
-+/* Mostly copied from sasl.c */
-+
-+#include "portable.h"
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+
-+#include <ac/socket.h>
-+#include <ac/string.h>
-+#include <ac/time.h>
-+#include <ac/errno.h>
-+
-+#include "ldap-int.h"
-+
-+int
-+ldap_ntlm_bind(
-+ LDAP *ld,
-+ LDAP_CONST char *dn,
-+ ber_tag_t tag,
-+ struct berval *cred,
-+ LDAPControl **sctrls,
-+ LDAPControl **cctrls,
-+ int *msgidp )
-+{
-+ BerElement *ber;
-+ int rc;
-+ ber_int_t id;
-+
-+ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 );
-+
-+ assert( ld != NULL );
-+ assert( LDAP_VALID( ld ) );
-+ assert( msgidp != NULL );
-+
-+ if( msgidp == NULL ) {
-+ ld->ld_errno = LDAP_PARAM_ERROR;
-+ return ld->ld_errno;
-+ }
-+
-+ /* create a message to send */
-+ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
-+ ld->ld_errno = LDAP_NO_MEMORY;
-+ return ld->ld_errno;
-+ }
-+
-+ assert( LBER_VALID( ber ) );
-+
-+ LDAP_NEXT_MSGID( ld, id );
-+ rc = ber_printf( ber, "{it{istON}" /*}*/,
-+ id, LDAP_REQ_BIND,
-+ ld->ld_version, dn, tag,
-+ cred );
-+
-+ /* Put Server Controls */
-+ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) {
-+ ber_free( ber, 1 );
-+ return ld->ld_errno;
-+ }
-+
-+ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) {
-+ ld->ld_errno = LDAP_ENCODING_ERROR;
-+ ber_free( ber, 1 );
-+ return ld->ld_errno;
-+ }
-+
-+ /* send the message */
-+ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id );
-+
-+ if(*msgidp < 0)
-+ return ld->ld_errno;
-+
-+ return LDAP_SUCCESS;
-+}
-+
-+int
-+ldap_parse_ntlm_bind_result(
-+ LDAP *ld,
-+ LDAPMessage *res,
-+ struct berval *challenge)
-+{
-+ ber_int_t errcode;
-+ ber_tag_t tag;
-+ BerElement *ber;
-+ ber_len_t len;
-+
-+ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 );
-+
-+ assert( ld != NULL );
-+ assert( LDAP_VALID( ld ) );
-+ assert( res != NULL );
-+
-+ if ( ld == NULL || res == NULL ) {
-+ return LDAP_PARAM_ERROR;
-+ }
-+
-+ if( res->lm_msgtype != LDAP_RES_BIND ) {
-+ ld->ld_errno = LDAP_PARAM_ERROR;
-+ return ld->ld_errno;
-+ }
-+
-+ if ( ld->ld_error ) {
-+ LDAP_FREE( ld->ld_error );
-+ ld->ld_error = NULL;
-+ }
-+ if ( ld->ld_matched ) {
-+ LDAP_FREE( ld->ld_matched );
-+ ld->ld_matched = NULL;
-+ }
-+
-+ /* parse results */
-+
-+ ber = ber_dup( res->lm_ber );
-+
-+ if( ber == NULL ) {
-+ ld->ld_errno = LDAP_NO_MEMORY;
-+ return ld->ld_errno;
-+ }
-+
-+ tag = ber_scanf( ber, "{ioa" /*}*/,
-+ &errcode, challenge, &ld->ld_error );
-+ ber_free( ber, 0 );
-+
-+ if( tag == LBER_ERROR ) {
-+ ld->ld_errno = LDAP_DECODING_ERROR;
-+ return ld->ld_errno;
-+ }
-+
-+ ld->ld_errno = errcode;
-+
-+ return( ld->ld_errno );
-+}
-+
-Index: trunk/libraries/libldap/Makefile.in
-===================================================================
---- trunk.orig/libraries/libldap/Makefile.in
-+++ trunk/libraries/libldap/Makefile.in
-@@ -27,7 +27,7 @@
- init.c options.c print.c string.c util-int.c schema.c \
- charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
- tls2.c tls_o.c tls_g.c tls_m.c \
-- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
-+ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
- assertion.c deref.c ldif.c fetch.c
-
- OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
-@@ -40,7 +40,7 @@
- init.lo options.lo print.lo string.lo util-int.lo schema.lo \
- charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
- tls2.lo tls_o.lo tls_g.lo tls_m.lo \
-- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
-+ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
- assertion.lo deref.lo ldif.lo fetch.lo
-
- LDAP_INCDIR= ../../include
-Index: trunk/libraries/libldap_r/Makefile.in
-===================================================================
---- trunk.orig/libraries/libldap_r/Makefile.in
-+++ trunk/libraries/libldap_r/Makefile.in
-@@ -29,7 +29,7 @@
- init.c options.c print.c string.c util-int.c schema.c \
- charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
- tls2.c tls_o.c tls_g.c tls_m.c \
-- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
-+ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
- assertion.c deref.c ldif.c fetch.c
- SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \
- thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \
-@@ -47,7 +47,7 @@
- init.lo options.lo print.lo string.lo util-int.lo schema.lo \
- charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
- tls2.lo tls_o.lo tls_g.lo tls_m.lo \
-- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
-+ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
- assertion.lo deref.lo ldif.lo fetch.lo
-
- LDAP_INCDIR= ../../include
Copied: lib32-libldap/repos/multilib-x86_64/ntlm.patch (from rev 593104, lib32-libldap/trunk/ntlm.patch)
===================================================================
--- ntlm.patch (rev 0)
+++ ntlm.patch 2020-03-09 14:00:52 UTC (rev 593105)
@@ -0,0 +1,230 @@
+Patch from evolution-exchange (2.10.3). The ldap_ntlm_bind function is
+actually called by evolution-data-server, checked at version 1.12.2.
+Without this patch, the Exchange addressbook integration uses simple binds
+with cleartext passwords.
+
+Russ checked with openldap-software for upstream's opinion on this patch
+on 2007-12-21. Upstream had never received it as a patch submission and
+given that it's apparently only for older Exchange servers that can't do
+SASL and DIGEST-MD5, it's not very appealing.
+
+Bug#457374 filed against evolution-data-server asking if this support is
+still required on 2007-12-21.
+
+Index: trunk/include/ldap.h
+===================================================================
+--- trunk.orig/include/ldap.h
++++ trunk/include/ldap.h
+@@ -2461,5 +2461,25 @@
+ LDAPControl **ctrls,
+ LDAPDerefRes **drp ));
+
++/*
++ * hacks for NTLM
++ */
++#define LDAP_AUTH_NTLM_REQUEST ((ber_tag_t) 0x8aU)
++#define LDAP_AUTH_NTLM_RESPONSE ((ber_tag_t) 0x8bU)
++LDAP_F( int )
++ldap_ntlm_bind LDAP_P((
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp ));
++LDAP_F( int )
++ldap_parse_ntlm_bind_result LDAP_P((
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge));
++
+ LDAP_END_DECL
+ #endif /* _LDAP_H */
+Index: trunk/libraries/libldap/ntlm.c
+===================================================================
+--- /dev/null
++++ trunk/libraries/libldap/ntlm.c
+@@ -0,0 +1,138 @@
++/* $OpenLDAP: pkg/ldap/libraries/libldap/ntlm.c,v 1.1.4.10 2002/01/04 20:38:21 kurt Exp $ */
++/*
++ * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
++ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
++ */
++
++/* Mostly copied from sasl.c */
++
++#include "portable.h"
++
++#include <stdlib.h>
++#include <stdio.h>
++
++#include <ac/socket.h>
++#include <ac/string.h>
++#include <ac/time.h>
++#include <ac/errno.h>
++
++#include "ldap-int.h"
++
++int
++ldap_ntlm_bind(
++ LDAP *ld,
++ LDAP_CONST char *dn,
++ ber_tag_t tag,
++ struct berval *cred,
++ LDAPControl **sctrls,
++ LDAPControl **cctrls,
++ int *msgidp )
++{
++ BerElement *ber;
++ int rc;
++ ber_int_t id;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_ntlm_bind\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( msgidp != NULL );
++
++ if( msgidp == NULL ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ /* create a message to send */
++ if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ assert( LBER_VALID( ber ) );
++
++ LDAP_NEXT_MSGID( ld, id );
++ rc = ber_printf( ber, "{it{istON}" /*}*/,
++ id, LDAP_REQ_BIND,
++ ld->ld_version, dn, tag,
++ cred );
++
++ /* Put Server Controls */
++ if( ldap_int_put_controls( ld, sctrls, ber ) != LDAP_SUCCESS ) {
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ if ( ber_printf( ber, /*{*/ "N}" ) == -1 ) {
++ ld->ld_errno = LDAP_ENCODING_ERROR;
++ ber_free( ber, 1 );
++ return ld->ld_errno;
++ }
++
++ /* send the message */
++ *msgidp = ldap_send_initial_request( ld, LDAP_REQ_BIND, dn, ber, id );
++
++ if(*msgidp < 0)
++ return ld->ld_errno;
++
++ return LDAP_SUCCESS;
++}
++
++int
++ldap_parse_ntlm_bind_result(
++ LDAP *ld,
++ LDAPMessage *res,
++ struct berval *challenge)
++{
++ ber_int_t errcode;
++ ber_tag_t tag;
++ BerElement *ber;
++ ber_len_t len;
++
++ Debug( LDAP_DEBUG_TRACE, "ldap_parse_ntlm_bind_result\n", 0, 0, 0 );
++
++ assert( ld != NULL );
++ assert( LDAP_VALID( ld ) );
++ assert( res != NULL );
++
++ if ( ld == NULL || res == NULL ) {
++ return LDAP_PARAM_ERROR;
++ }
++
++ if( res->lm_msgtype != LDAP_RES_BIND ) {
++ ld->ld_errno = LDAP_PARAM_ERROR;
++ return ld->ld_errno;
++ }
++
++ if ( ld->ld_error ) {
++ LDAP_FREE( ld->ld_error );
++ ld->ld_error = NULL;
++ }
++ if ( ld->ld_matched ) {
++ LDAP_FREE( ld->ld_matched );
++ ld->ld_matched = NULL;
++ }
++
++ /* parse results */
++
++ ber = ber_dup( res->lm_ber );
++
++ if( ber == NULL ) {
++ ld->ld_errno = LDAP_NO_MEMORY;
++ return ld->ld_errno;
++ }
++
++ tag = ber_scanf( ber, "{ioa" /*}*/,
++ &errcode, challenge, &ld->ld_error );
++ ber_free( ber, 0 );
++
++ if( tag == LBER_ERROR ) {
++ ld->ld_errno = LDAP_DECODING_ERROR;
++ return ld->ld_errno;
++ }
++
++ ld->ld_errno = errcode;
++
++ return( ld->ld_errno );
++}
++
+Index: trunk/libraries/libldap/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap/Makefile.in
++++ trunk/libraries/libldap/Makefile.in
+@@ -27,7 +27,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c ldif.c fetch.c
+
+ OBJS = bind.lo open.lo result.lo error.lo compare.lo search.lo \
+@@ -40,7 +40,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo ldif.lo fetch.lo
+
+ LDAP_INCDIR= ../../include
+Index: trunk/libraries/libldap_r/Makefile.in
+===================================================================
+--- trunk.orig/libraries/libldap_r/Makefile.in
++++ trunk/libraries/libldap_r/Makefile.in
+@@ -29,7 +29,7 @@
+ init.c options.c print.c string.c util-int.c schema.c \
+ charray.c os-local.c dnssrv.c utf-8.c utf-8-conv.c \
+ tls2.c tls_o.c tls_g.c tls_m.c \
+- turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c \
++ turn.c ppolicy.c dds.c txn.c ldap_sync.c stctrl.c ntlm.c \
+ assertion.c deref.c ldif.c fetch.c
+ SRCS = threads.c rdwr.c rmutex.c tpool.c rq.c \
+ thr_posix.c thr_cthreads.c thr_thr.c thr_lwp.c thr_nt.c \
+@@ -47,7 +47,7 @@
+ init.lo options.lo print.lo string.lo util-int.lo schema.lo \
+ charray.lo os-local.lo dnssrv.lo utf-8.lo utf-8-conv.lo \
+ tls2.lo tls_o.lo tls_g.lo tls_m.lo \
+- turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo \
++ turn.lo ppolicy.lo dds.lo txn.lo ldap_sync.lo stctrl.lo ntlm.lo \
+ assertion.lo deref.lo ldif.lo fetch.lo
+
+ LDAP_INCDIR= ../../include
More information about the arch-commits
mailing list