[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.199

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

CVSweb <webmaster@jp.NetBSD.org>