1 |
On Fri, 22 Apr 2011 13:56:50 +0400 |
2 |
Peter Volkov <pva@g.o> wrote: |
3 |
|
4 |
PV> В Чтв, 21/04/2011 в 20:49 +0400, Dmitry Dzhus пишет: |
5 |
PV> > Зачем EAPI=3? |
6 |
PV> |
7 |
PV> Точно, лучше сразу везде использовать EAPI=4, как наиболее |
8 |
PV> продвинутый и компактный синтаксис. |
9 |
PV> |
10 |
|
11 |
|
12 |
Не пойму немного с EAPI. |
13 |
Судя по pms 17,01,2011 |
14 |
|
15 |
source_compile синтаксис |
16 |
|
17 |
src_compile() { |
18 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; |
19 |
then |
20 |
emake || die "emake failed" |
21 |
fi |
22 |
} |
23 |
|
24 |
для eapi 2,3,4. |
25 |
|
26 |
Тогда делаю |
27 |
|
28 |
EAPI=4 |
29 |
DESCRIPTION="Create system snapshots(i.e. backups) and use them later |
30 |
to restore data." |
31 |
HOMEPAGE="http://sourceforge.net/projects/sysshot/" |
32 |
SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz" |
33 |
LICENSE="GPL-2" |
34 |
SLOT="0" |
35 |
KEYWORDS="~amd64 ~x86" |
36 |
IUSE="" |
37 |
DEPEND="sys-libs/ncurses" |
38 |
RDEPEND="${DEPEND}" |
39 |
src_compile() { |
40 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; |
41 |
then emake || die "emake failed" |
42 |
fi |
43 |
} |
44 |
src_install() { |
45 |
cd ${WORKDIR}/${P} || die |
46 |
dobin sysshot || die |
47 |
dodoc README NEWS AUTHORS COPYING || die |
48 |
} |
49 |
|
50 |
|
51 |
С одной стороны все работает. С другой стороны я прогрепал портаж на |
52 |
предмет этого синтаксиса , и ничего похожего как-то не нагрепал. Во |
53 |
вторых подсветка vim этот синтаксис не воспринимает. |
54 |
Например, тот же vim намекает на что, что нельзя делать именно |
55 |
S=${WORKDIR}/${P} |
56 |
ровно так, как написано, и действительно, в портаже я не нашел ничего |
57 |
подобного. |
58 |
|
59 |
Возникает вопрос, правильно ли применять eapi 4 в gentoo |
60 |
arch? |
61 |
|
62 |
|
63 |
Далее, эта часть к eapi 4 я так понимаю не относится? |
64 |
|
65 |
src_install() { |
66 |
cd ${WORKDIR}/${P} || die |
67 |
dobin sysshot || die |
68 |
dodoc README NEWS AUTHORS COPYING || die |
69 |
} |
70 |
|
71 |
|
72 |
|
73 |
и ее в моем простом случае можно заменить на |
74 |
|
75 |
|
76 |
src_install() { |
77 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; |
78 |
then emake DESTDIR="${D}" install |
79 |
fi |
80 |
|
81 |
if ! declare -p DOCS >/dev/null 2>&1 ; then |
82 |
local d |
83 |
for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \ |
84 |
THANKS BUGS FAQ CREDITS CHANGELOG ; do |
85 |
[[ -s "${d}" ]] && dodoc "${d}" |
86 |
done |
87 |
elif declare -p DOCS | grep -q ’^declare -a ’ ; then |
88 |
dodoc "${DOCS[@]}" |
89 |
else |
90 |
dodoc ${DOCS} |
91 |
fi |
92 |
} |
93 |
|
94 |
|
95 |
|
96 |
Так? Вот тут спрашиваю потому, что здесь уже возникают проблемы при |
97 |
установке |
98 |
|
99 |
make -j5 -s install |
100 |
ACCESS DENIED open_wr: /usr/bin/sysshot |
101 |
cp: cannot create regular file `/usr/bin/sysshot': Permission denied |
102 |
make: *** [install] Error 1 |
103 |
* ERROR: app-backup/sysshot-0.1 failed (install phase): |
104 |
* emake failed |
105 |
* |
106 |
* If you need support, post the output of 'emerge --info |
107 |
=app-backup/sysshot-0.1', |
108 |
* the complete build log and the output of 'emerge -pqv |
109 |
=app-backup/sysshot-0.1'. |
110 |
* This ebuild is from an overlay named 'over': '/usr/local/portage1/' |
111 |
* The complete build log is located at |
112 |
'/var/log/portage/app-backup:sysshot-0.1:20110507-224914.log'. |
113 |
* The ebuild environment file is located at |
114 |
'/var/memdisk/portage/app-backup/sysshot-0.1/temp/environment'. |
115 |
* S: '/var/memdisk/portage/app-backup/sysshot-0.1/work/sysshot-0.1' |
116 |
--------------------------- ACCESS VIOLATION SUMMARY |
117 |
--------------------------- LOG FILE |
118 |
"/var/log/sandbox/sandbox-19349.log" |
119 |
|
120 |
VERSION 1.0 |
121 |
FORMAT: F - Function called |
122 |
FORMAT: S - Access Status |
123 |
FORMAT: P - Path as passed to function |
124 |
FORMAT: A - Absolute Path (not canonical) |
125 |
FORMAT: R - Canonical Path |
126 |
FORMAT: C - Command Line |
127 |
|
128 |
F: open_wr |
129 |
S: deny |
130 |
P: /usr/bin/sysshot |
131 |
A: /usr/bin/sysshot |
132 |
R: /usr/bin/sysshot |
133 |
C: cp sysshot /usr/bin |
134 |
|
135 |
|
136 |
Опять же возникает вопрос, а правильно ли в arch юзать eapi 4? |