aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt/pkg/Makefile
blob: 1f019e6211d8df51e4072616c95febb3f4bee43f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# $FreeBSD$

PORTNAME=   pkg
DISTVERSION=    1.0.6
CATEGORIES= ports-mgmt
MASTER_SITES=   LOCAL/portmgr \
        http://files.etoilebsd.net/pkg/

MAINTAINER= portmgr@FreeBSD.org
COMMENT=    New generation package manager

LICENSE=    BSD

USE_XZ=     yes

MAKE_JOBS_SAFE= yes
# Disable CCACHE support because of the chicken/egg problem pkg should always
# With no dependency at all
NO_CCACHE=  yes
USE_LDCONFIG=   yes
MANCOMPRESSED=  yes

MAKE_ENV+=  WITHOUT_PROFILE=yes
USE_STAGE=  yes

MAN8=   pkg.8 \
    pkg-add.8 \
    pkg-autoremove.8 \
    pkg-audit.8 \
    pkg-backup.8 \
    pkg-check.8 \
    pkg-clean.8 \
    pkg-create.8 \
    pkg-delete.8 \
    pkg-fetch.8 \
    pkg-info.8 \
    pkg-install.8 \
    pkg-query.8 \
    pkg-register.8 \
    pkg-repo.8 \
    pkg-rquery.8 \
    pkg-search.8 \
    pkg-set.8 \
    pkg-shell.8 \
    pkg-shlib.8 \
    pkg-stats.8 \
    pkg-update.8 \
    pkg-updating.8 \
    pkg-upgrade.8 \
    pkg-version.8 \
    pkg-which.8
MAN5=   pkg.conf.5
MLINKS= pkg-delete.8 pkg-remove.8 \
    pkg.8 pkg-static.8

.include <bsd.port.pre.mk>

.if defined(WITH_PKGNG)
.if exists(${LOCALBASE}/sbin/pkg_info) || exists(/usr/sbin/pkg_info)
NB_OLDPKGS!=    pkg_info 2>/dev/null | wc -l
.if exists(${PKG_BIN})
NB_NEWPKGS!=    ${PKG_INFO} -aq | wc -l
.else
NB_NEWPKGS= 0
.endif
# Only show the pre-everything notice if they have not already
# converted any packages
.if ${NB_OLDPKGS} > 0 && ${NB_NEWPKGS} == 0

pre-everything::
    @${ECHO_CMD} "You are about to convert your system to pkgng while you have ports/packages"; \
     ${ECHO_CMD} "installed with the old pkg_install tools."; \
     ${ECHO_CMD} ""; \
     ${ECHO_CMD} "You can choose to: "; \
     ${ECHO_CMD} "- keep pkg_install as the package management system by adding this line to /etc/make.conf:"; \
     ${ECHO_CMD} ""; \
     ${ECHO_CMD} "    WITHOUT_PKGNG=yes" ; \
     ${ECHO_CMD} ""; \
     ${ECHO_CMD} "- switch to pkgng:"; \
     ${ECHO_CMD} "    1) Add WITHOUT_PKGNG to /etc/make.conf"; \
     ${ECHO_CMD} "    2) Install ports-mgmt/pkg"; \
     ${ECHO_CMD} "    3) Convert your package database by running pkg2ng"; \
     ${ECHO_CMD} "    4) Remove WITHOUT_PKGNG from /etc/make.conf"; \
     ${ECHO_CMD} ""; \
    exit 1

.endif
.endif
.endif

#define PKG_DEPENDS to nothing to avoid infinite loop looking for pkg :)
.if defined(WITH_PKGNG)
PKG_DEPENDS=
.undef INSTALLS_DEPENDS
.if !exists(${LOCALBASE}/sbin/pkg)
PKG_BIN=    ${WRKSRC}/pkg-static/pkg-static
.endif
.endif

.if ${OSVERSION} < 800505
IGNORE=     not supported on 7.x or early 8.0
.endif

post-install:
    @${REINPLACE_CMD} -e 's|/usr/local|${PREFIX}|g' ${WRKSRC}/scripts/periodic/410.pkg-audit
    @${MKDIR} ${PREFIX}/etc/periodic/security
    @${MKDIR} ${PREFIX}/etc/periodic/daily
    @${INSTALL_SCRIPT} ${WRKSRC}/scripts/periodic/410.pkg-audit ${PREFIX}/etc/periodic/security
    @${INSTALL_SCRIPT} ${WRKSRC}/scripts/periodic/411.pkg-backup ${PREFIX}/etc/periodic/daily
    @${INSTALL_SCRIPT} ${WRKSRC}/ports/pkg2ng ${PREFIX}/sbin
    @${INSTALL_DATA} ${WRKSRC}/pkg/pkg.conf.sample ${PREFIX}/etc
    @${INSTALL_DATA} ${WRKSRC}/libpkg/pkg.pc ${PREFIX}/libdata/pkgconfig/
    @${MKDIR} ${PREFIX}/share/zsh/site-functions
    @${INSTALL_DATA} ${WRKSRC}/scripts/zsh/_pkg ${PREFIX}/share/zsh/site-functions/
    @${CAT} ${PKGMESSAGE}

.include <bsd.port.post.mk>