[BACK]Return to Makefile CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / pkgtools / pkg_install

Annotation of pkgsrc/pkgtools/pkg_install/Makefile, Revision 1.213

1.213   ! joerg       1: # $NetBSD: Makefile,v 1.212 2015/10/20 08:18:12 jperkin Exp $
1.4       hubertf     2:
1.58      schmonz     3: # Notes to package maintainers:
1.57      hubertf     4: #
1.58      schmonz     5: # Updating this package does not automatically necessitate bumping
                      6: # PKGTOOLS_REQD in bsd.pkg.mk. Do so if and only if there is a critical
                      7: # change in the pkg_* tools that pkgsrc relies on for proper operation.
1.57      hubertf     8:
1.202     obache      9: PKGNAME=               pkg_install-${VERSION}
1.1       agc        10: CATEGORIES=            pkgtools
                     11:
1.182     agc        12: MAINTAINER=            agc@NetBSD.org
1.82      reed       13: HOMEPAGE=              http://www.pkgsrc.org/
1.90      grant      14: COMMENT=               Package management and administration tools for pkgsrc
1.163     wiz        15: LICENSE=               modified-bsd
1.60      schmonz    16:
1.155     joerg      17: BOOTSTRAP_PKG= yes
1.164     joerg      18: SKIP_LICENSE_CHECK=    yes
1.133     joerg      19:
1.132     adrianp    20: CONFLICTS+=            audit-packages-[0-9]*
                     21:
1.115     rillig     22: GNU_CONFIGURE=         yes
1.205     adam       23: CONFIGURE_ARGS+=       --sysconfdir=${PKG_SYSCONFDIR}
                     24: CONFIGURE_ARGS+=       --with-pkgdbdir=${PKG_DBDIR}
1.113     jlam       25:
1.142     jlam       26: USE_FEATURES=          nbcompat
                     27:
1.159     joerg      28: NBCOMPAT_CONFIGURE_ARGS+=      --enable-bsd-getopt --enable-db
1.148     joerg      29:
1.121     erh        30: SKIP_AUDIT_PACKAGES=   yes
1.122     rillig     31: NO_PKGTOOLS_REQD_CHECK=        yes
                     32: PKG_PRESERVE=          yes
1.144     joerg      33: CHECK_PERMS=           no
1.1       agc        34:
1.97      jlam       35: # These are needed to solve a chicken-and-egg problem where pkgsrc uses
1.96      jlam       36: # newer features of pkg_install, but older NetBSD installations won't
                     37: # support them.  In this case, we explicitly use the native GCC
                     38: # compiler to avoid problems with depending on pkgsrc GCC for building
1.128     jlam       39: # pkg_install.
1.117     jlam       40: #
1.147     joerg      41: # We also use the newly built pkg_{add,create,delete} since upgrading
1.195     riastrad   42: # from an older pkg_install might required features of the new
                     43: # program, provided that we are not cross-compiling.  (XXX If we are
                     44: # cross-compiling, we should maybe have a host build dependency on
                     45: # ourselves...)
1.159     joerg      46: #
1.156     joerg      47: # Note that the definitions are only overriden for the phases that are
                     48: # supposed to use them.  pkg_admin pmatch might be used when looking for
                     49: # dependencies. If that is ever changed in a incompatible way, this has to
                     50: # be rethought.
1.96      jlam       51: USE_NATIVE_GCC=                yes
1.156     joerg      52:
1.196     obache     53: .include "../../mk/bsd.prefs.mk"
                     54:
1.203     ryoon      55: .if ${OS_VARIANT} == "SCOOSR5"
                     56: # SCO OpenServer 5.0.7/3.2's strings.h defines strcasecmp with
                     57: # "unsigned size_t". We cannot use -Werror for net/libfetch.
                     58: MAKE_FLAGS+=   NOGCCERROR=yes
                     59: .endif
                     60:
1.195     riastrad   61: .if defined(_PKGSRC_BARRIER) && empty(USE_CROSS_COMPILE:M[yY][eE][sS])
1.147     joerg      62: PKG_ADD_CMD=           ${WRKSRC}/add/pkg_add
                     63: PKG_CREATE_CMD=                ${WRKSRC}/create/pkg_create
                     64: PKG_DELETE_CMD=                ${WRKSRC}/delete/pkg_delete
1.201     richard    65: #
                     66: #  Special case for dependency checking in 'non-bootstrap' builds:
                     67: #  don't redefine 'pkg_info' if it already exists.
                     68: #
                     69: .  if defined(PKG_INFO_CMD) && !exists(${PKG_INFO_CMD})
1.149     jlam       70: PKG_INFO_CMD=          ${WRKSRC}/info/pkg_info
1.201     richard    71: .  endif
1.154     he         72: .endif
1.89      grant      73:
1.139     joerg      74: CPPFLAGS+=             -D_LARGEFILE_SOURCE -D_LARGE_FILES
                     75: CPPFLAGS+=             -D_FILE_OFFSET_BITS=64
                     76:
1.100     tv         77: CPPFLAGS+=             -DDEF_UMASK=${DEF_UMASK}
                     78:
1.212     jperkin    79: MAKE_ENV+=             PKGSRC_MACHINE_ARCH=${MACHINE_ARCH}
1.205     adam       80: MAKE_ENV+=             OPSYS=${OPSYS}
1.199     jperkin    81: MAKE_ENV+=             CATMAN_SECTION_SUFFIX=${CATMAN_SECTION_SUFFIX:Q}
1.185     joerg      82: MAKE_ENV+=             MANINSTALL=${MANINSTALL:Q}
1.91      grant      83:
1.92      jlam       84: PKG_DBDIR?=            /var/db/pkg
1.132     adrianp    85: EGDIR=                 ${PREFIX}/share/examples/pkg_install
1.92      jlam       86:
1.205     adam       87: PLIST_SUBST+=          PKG_DBDIR=${PKG_DBDIR}
1.117     jlam       88:
1.125     jlam       89: DEINSTALL_SRC=         # empty
1.124     jlam       90: INSTALL_SRC=           ${PKGDIR}/INSTALL
1.205     adam       91: FILES_SUBST+=          PKG_DBDIR=${PKG_DBDIR}                  \
                     92:                        PKG_TOOLS_BIN=${PKG_TOOLS_BIN:Q}        \
1.124     jlam       93:                        MKDIR=${MKDIR:Q}
1.205     adam       94: MESSAGE_SUBST+=                PKGVULNDIR=${PKG_DBDIR}                 \
                     95:                        EGDIR=${EGDIR}
1.124     jlam       96:
1.193     wiz        97: .include "../../mk/compiler.mk"
                     98:
                     99: .if !empty(CC_VERSION:Mclang*)
                    100: MAKE_FLAGS+=           ACTIVE_CC=clang
                    101: .endif
                    102:
1.172     joerg     103: VERSION!=              ${AWK} '/PKGTOOLS_VERSION/ {print $$3}' \
1.58      schmonz   104:                        ${FILESDIR}/lib/version.h
1.78      jlam      105:
1.177     joerg     106: # raw format appeared in libarchive 2.8.
                    107: BUILDLINK_API_DEPENDS.libarchive+=     libarchive>=2.8.0
1.152     joerg     108:
1.137     joerg     109: .include "../../archivers/bzip2/builtin.mk"
                    110: .include "../../archivers/libarchive/builtin.mk"
                    111: .include "../../devel/zlib/builtin.mk"
1.159     joerg     112: .include "../../security/openssl/builtin.mk"
                    113:
1.171     joerg     114: .include "options.mk"
                    115:
1.159     joerg     116: .if !empty(USE_BUILTIN.openssl:M[yY][eE][sS])
                    117: CONFIGURE_ARGS+=       --with-ssl
                    118:
                    119: .include "../../security/openssl/buildlink3.mk"
                    120: .endif
1.137     joerg     121:
                    122: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS]) || \
                    123:     empty(USE_BUILTIN.zlib:M[yY][eE][sS])
                    124: USE_BUILTIN.libarchive=        no
                    125: .endif
                    126:
                    127: FILESDIR.bzip2?=       ${.CURDIR}/../../archivers/bzip2/files
                    128: FILESDIR.libarchive?=  ${.CURDIR}/../../archivers/libarchive/files
                    129: FILESDIR.zlib?=                ${.CURDIR}/../../devel/zlib/files
1.150     joerg     130: FILESDIR.libfetch?=    ${.CURDIR}/../../net/libfetch/files
1.209     jperkin   131: FILESDIR.netpgpverify?=        ${.CURDIR}/../../security/netpgpverify/files
1.137     joerg     132:
                    133: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
                    134: CPPFLAGS+=     -I${WRKDIR}/bzip2
                    135: LDFLAGS+=      -L${WRKDIR}/bzip2
                    136: .endif
                    137: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
                    138: CPPFLAGS+=     -I${WRKDIR}/zlib
                    139: LDFLAGS+=      -L${WRKDIR}/zlib
                    140: .endif
                    141: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
                    142: CPPFLAGS+=     -I${WRKDIR}/libarchive/libarchive
                    143: LDFLAGS+=      -L${WRKDIR}/libarchive/.libs
1.174     joerg     144:
1.186     jperkin   145: # Until we support pkgsrc openssl at bootstrap time, disable it completely
                    146: # if asked to avoid the builtin.
1.205     adam      147: .  if empty(USE_BUILTIN.openssl:M[Yy][Ee][Ss])
1.213   ! joerg     148: LIBARCHIVE_CONFIGURE_ARGS+=    --without-openssl
1.205     adam      149: .  endif
1.186     jperkin   150:
1.205     adam      151: LIBARCHIVE_LIBS=       ${SED} -n -e 's/^Libs.private://p' \
1.179     joerg     152:     ${WRKDIR}/libarchive/build/pkgconfig/libarchive.pc 2>/dev/null || echo
                    153: LIBS+=         ${LIBARCHIVE_LIBS:sh}
                    154:
1.208     joerg     155: CONFIG_GUESS_OVERRIDE+=        ${WRKDIR}/libarchive/build/autoconf/config.guess \
                    156:                        ${WRKSRC}/config.guess
                    157: CONFIG_SUB_OVERRIDE+=  ${WRKDIR}/libarchive/build/autoconf/config.sub \
                    158:                        ${WRKSRC}/config.sub
1.174     joerg     159:
1.192     obache    160: .  if ${OPSYS} == "Cygwin"
1.191     obache    161: CPPFLAGS+=     -DLIBARCHIVE_STATIC
                    162: .  endif
                    163:
1.178     tron      164: .  if ${OPSYS} == "Darwin"
                    165: # Make sure that the linker used our static library instead of the
                    166: # (outdated) dynamic library "/usr/lib/libarchive.dylib".
                    167: LDFLAGS+=      -Wl,-search_paths_first
                    168: .  endif
                    169:
1.205     adam      170: .  if ${OPSYS} == "SunOS"
1.184     cheusov   171: # workaround for pkg/45491
                    172: CONFIGURE_ENV+=        ac_cv_header_ext2fs_ext2_fs_h=no
1.205     adam      173: .  endif
1.184     cheusov   174:
1.174     joerg     175: # Hack to make sure that the libarchive version is replaced
1.175     obache    176: pre-configure: config-guess-override config-sub-override
1.137     joerg     177: .endif
1.150     joerg     178: CPPFLAGS+=     -I${WRKDIR}/libfetch
                    179: LDFLAGS+=      -L${WRKDIR}/libfetch
1.209     jperkin   180: # Avoid duplicate and conflicting headers, pull in any we need
                    181: # directly with <netpgpgverify/*.h>
                    182: CPPFLAGS+=     -I${WRKDIR}
                    183: LDFLAGS+=      -L${WRKDIR}/netpgpverify
1.137     joerg     184:
1.179     joerg     185: CONFIGURE_ENV+=        LIBS=${LIBS:Q}
                    186:
1.58      schmonz   187: do-extract:
1.107     tv        188:        @${CP} -R ${FILESDIR} ${WRKSRC}
1.137     joerg     189: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
                    190:        @${CP} -R ${FILESDIR.bzip2} ${WRKDIR}/bzip2
                    191: .endif
                    192: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
                    193:        @${CP} -R ${FILESDIR.zlib} ${WRKDIR}/zlib
                    194: .endif
                    195: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
                    196:        @${CP} -R ${FILESDIR.libarchive} ${WRKDIR}/libarchive
                    197: .endif
1.150     joerg     198:        @${CP} -R ${FILESDIR.libfetch} ${WRKDIR}/libfetch
1.209     jperkin   199:        @${CP} -R ${FILESDIR.netpgpverify} ${WRKDIR}/netpgpverify
1.137     joerg     200:
                    201: pre-configure:
                    202: .if empty(USE_BUILTIN.bzip2:M[yY][eE][sS])
                    203:        cd ${WRKDIR}/bzip2 && ${BUILD_MAKE_CMD} libbz2.a
                    204: .endif
                    205: .if empty(USE_BUILTIN.zlib:M[yY][eE][sS])
                    206:        cd ${WRKDIR}/zlib && ${BUILD_MAKE_CMD} libz.a
                    207: .endif
                    208: .if empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
1.205     adam      209:        cd ${WRKDIR}/libarchive && ${SETENV} ${_CONFIGURE_SCRIPT_ENV}   \
                    210:                ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} ./configure       \
                    211:                --disable-bsdcpio --disable-bsdtar --disable-shared     \
                    212:                --disable-dependency-tracking --without-expat           \
                    213:                --without-iconv --without-lzo2 --without-nettle         \
                    214:                --without-xml2  \
1.186     jperkin   215:                ${LIBARCHIVE_CONFIGURE_ARGS}
1.137     joerg     216:        cd ${WRKDIR}/libarchive && ${BUILD_MAKE_CMD}
                    217: .endif
1.207     jperkin   218:        cd ${WRKDIR}/libfetch && ${TOUCH} fetch.cat3 &&                 \
                    219:                ${SETENV} ${MAKE_ENV} ${BSD_MAKE_ENV}                   \
1.151     joerg     220:                ${MAKE_PROGRAM} ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS}       \
                    221:                        -f ${MAKE_FILE} depend all
1.209     jperkin   222:        cd ${WRKDIR}/netpgpverify &&                                    \
                    223:        ${SED} -e '/zlib/d' Makefile.lib.in >Makefile.in &&             \
1.211     jperkin   224:        ${RM} -f bzlib.h zlib.h &&                                      \
1.210     jperkin   225:        ${CONFIG_SHELL} ${CONFIG_SHELL_FLAGS} ./configure &&            \
                    226:        ${SETENV} ${MAKE_ENV} ${BSD_MAKE_ENV} ${MAKE_PROGRAM}           \
                    227:                ${MAKE_FLAGS} ${BUILD_MAKE_FLAGS} -f ${MAKE_FILE} all
1.12      hubertf   228:
1.106     erh       229: # XXX Reverse the order that update does things since
                    230: # XXX we need pkg_delete built before we can deinstall.
                    231: # XXX This should probably be the default order for all packages.
                    232: update:
                    233:        ${MAKE}
1.127     jlam      234:        ${MAKE} deinstall _UPDATE_RUNNING=YES
1.118     jlam      235:        ${MAKE} ${UPDATE_TARGET}
1.108     jklos     236:        ${MAKE} clean
1.106     erh       237:
1.170     joerg     238: update-catpages:
                    239:        for f in lib/pkgsrc.7 add/pkg_add.1 admin/pkg_admin.1 \
                    240:            create/pkg_create.1 delete/pkg_delete.1 info/pkg_info.1 \
                    241:            lib/pkg_summary.5 lib/pkgsrc.7; do \
                    242:                nroff -mdoc ${FILESDIR}/$$f > \
                    243:                    ${FILESDIR}/$${f%%.[157]}.cat; \
                    244:        done
                    245:        nroff -mdoc ${FILESDIR}/lib/pkg_install.conf.5.in > \
                    246:            ${FILESDIR}/lib/pkg_install.conf.cat.in
                    247:
1.1       agc       248: .include "../../mk/bsd.pkg.mk"

CVSweb <webmaster@jp.NetBSD.org>