blob: 51058ed8813ffae6e2536e967913b6b5ec8b3b2d (
plain)
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
DESCRIPTION="Portage synchronization tool for managing group of gentoo servers."
HOMEPAGE="http://dev.gentoo.org/~radek/portki/"
SRC_URI="${HOMEPAGE}/files/${P}.tar.gz"
LICENSE="GPL2"
SLOT="0"
IUSE=""
KEYWORDS="x86"
DEPEND=">=app-shells/bash-3.0
>=sys-apps/tmpreaper-1"
RDEPEND="
>=sys-apps/portage-2.0.51
>=app-shells/bash-3.0
>=sys-apps/tmpreaper-1
>=app-portage/genlop-0.30
>=app-portage/gentoolkit"
S=${WORKDIR}
src_install() {
# this directories are installed with normal perms
dodir /etc/conf.d
dodir /etc/config-archive
dodir /usr/bin
dodir /usr/lib/${PN}
insinto /usr/lib/${PN}
exeinto /usr/lib/${PN}
doins ${PN}.conf
doexe ${PN}.cron
doins ${PN}.stage.*
doins TODO.txt
doins dispatch-conf-digest.patch
doins dispatch-conf.conf.recommended
doins make.conf.recommended
cp /usr/lib/portage/bin/dispatch-conf .
patch dispatch-conf dispatch-conf-digest.patch
newexe dispatch-conf ${PN}.dispatch-conf
doexe ${PN}.sh
dosym ${D}/usr/lib/${PN}/${PN}.sh /usr/bin/${PN}
# now restricted perms perms
diropts -m2751
dodir /var/state/${PN}
exeopts -m750
insopts -m640
dodir /var/state/${PN}/last
keepdir /var/state/${PN}/last
diropts -m2750
dodir /var/state/${PN}/put
keepdir /var/state/${PN}/put
dodir /var/state/${PN}/tmp
keepdir /var/state/${PN}/tmp
dodir /var/state/${PN}/update
keepdir /var/state/${PN}/update
insinto /var/state/${PN}
doins cmd.local.example
newins cmd.remote.example cmd.remote
dodir /var/log/${PN}
# configuration inject
grep -B4000 '#################################################################' ${D}/usr/lib/${PN}/${PN}.conf >> ${D}/etc/conf.d/${PN}
}
pkg_postinst() {
# chown to portage group have to be in postinst
chown root:portage -R ${ROOT}/usr/lib/${PN}
chown root:portage -R ${ROOT}/var/state/${PN}
chown root:portage -R ${ROOT}/var/log/${PN}
# ugly hack to overcome permissions of already existing dir
chmod 2751 /usr/lib/${PN} /var/state/${PN} /var/state/${PN}/last
# now we erase only files not modified in last 30 days
tmpreaper --mtime 30d /var/state/${PN}/last /var/state/${PN}/tmp >/dev/null 2>/dev/null
# also this is removed, to allow execution on next run
rm -f /var/state/${PN}/last/portki.last.cmdr 2> /dev/null
# patches glsa-check, this can be safely ignored
patch /usr/bin/glsa-check ${S}/glsa-check_errlevel.patch >/dev/null
einfo ""
einfo "Dont forget to copy /usr/lib/${PN}/${PN}.cron to /etc/cron.hourly/"
einfo "Main configuration file is located: /usr/lib/${PN}/${PN}.conf"
einfo "But please modify ONLY your local version at: /etc/conf.d/${PN}"
einfo "You can use ebuild config command (show below at ++) to: "
einfo ".. create /var/log/portage dir"
einfo ".. append portki defaults to /etc/make.conf and /etc/dispatch-conf.conf"
einfo ".. create cron runner at /etc/cron.hourly/portki.cron"
einfo ""
einfo "++ ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config"
einfo ""
}
pkg_config() {
rm -fr /etc/portage/portki.* /etc/portage/update
rm -f /var/log/portki_*
rm -f /etc/cron.daily/eupdatedb.cron
rm -f /etc/cron.hourly/portki.cron.hourly
einfo "Removed old portki files from /etc/portage/portki and /var/log/portki_"
mkdir /var/log/portage 2>/dev/null
chmod 750 /var/log/portage
chown root:portage /var/log/portage
einfo "Created /var/log/portage (used inf /etc/make.conf as portage logdir)"
cp -f /usr/lib/${PN}/${PN}.cron /etc/cron.hourly/
einfo "Installed cron runner at: /etc/cron.hourly/${PN}.cron"
cat /usr/lib/${PN}/dispatch-conf.conf.recommended >> /etc/dispatch-conf.conf
ewarn "Modified dispatch config file: /etc/dispatch-conf.conf -> INSPECT IT!"
echo "~app-portage/gentoolkit-0.2.0_pre10 " >> /etc/portage/package.keywords
echo "~app-portage/genlop-0.30.2" >> /etc/portage/package.keywords
einfo "Added gentoolkit and genlop needed versions to /etc/portage/package.keywords"
cat /usr/lib/${PN}/make.conf.recommended >> /etc/make.conf
ewarn "Modified make.conf file at /etc/make.conf -> INSPECT IT!"
ewarn "Please also create appropiate /usr/local/XXX-portage/ directories."
ewarn "Please also remove (or at least inspect) old content of /usr/local/portage/"
}
|