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

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

CVSweb <webmaster@jp.NetBSD.org>