質問編集履歴

7

syuusei

2020/03/18 08:14

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -232,6 +232,14 @@
232
232
 
233
233
  * BUILDROOTの意味(バカすぎて調べてもよくわからず...): 具体的には、buildrootに仮想的にインストールされるという説明があったのですが、どういうことなのかわかっていません。
234
234
 
235
+ * BUILDROOTの書き方がなぜ以下のような書き方なのかがわからない
236
+
237
+ ```
238
+
239
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
240
+
241
+ ```
242
+
235
243
  * _tmppath
236
244
 
237
245
  * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい

6

補足説明追加

2020/03/18 08:14

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -230,7 +230,7 @@
230
230
 
231
231
  ##### 分からないこと
232
232
 
233
- * BUILDROOTの意味(バカすぎて調べてもよくわからず...)
233
+ * BUILDROOTの意味(バカすぎて調べてもよくわからず...): 具体的には、buildrootに仮想的にインストールされるという説明があったのですが、どういうことなのかわかっていません。
234
234
 
235
235
  * _tmppath
236
236
 

5

内容修正

2020/03/18 02:57

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  |_SOUSES
78
78
 
79
- |  |_hello-.1.0.tar.gz (hello Makefile)
79
+ |  |_hello-.1.0.tar.gz (hello, Makefile)
80
80
 
81
81
 
82
82
 

4

内容修正

2020/03/18 02:44

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,27 @@
16
16
 
17
17
  テスト用に以下のCのソースを~/test配下にインストールしたい。
18
18
 
19
+ hello.c
20
+
19
- i.e.
21
+ ```C
22
+
23
+ #include <stdio.h>
24
+
25
+
26
+
27
+ int main(int argc, char *args[])
28
+
29
+ {
30
+
31
+ printf("Hello, world!\n");
32
+
33
+ return 0;
34
+
35
+ }
36
+
37
+ ```
38
+
39
+ すなわち以下のようなことをしたい。(あくまでrpm作成練習用なので意味はほとんどないですが...)
20
40
 
21
41
 
22
42
 
@@ -34,26 +54,6 @@
34
54
 
35
55
 
36
56
 
37
- hello.c
38
-
39
- ```C
40
-
41
- #include <stdio.h>
42
-
43
-
44
-
45
- int main(int argc, char *args[])
46
-
47
- {
48
-
49
- printf("Hello, world!\n");
50
-
51
- return 0;
52
-
53
- }
54
-
55
- ```
56
-
57
57
 
58
58
 
59
59
  どなたか、rpmパッケージを作ったことのないド素人にわかりやすく教えてくださいませんか。

3

修正

2020/03/18 02:43

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,25 @@
16
16
 
17
17
  テスト用に以下のCのソースを~/test配下にインストールしたい。
18
18
 
19
-
19
+ i.e.
20
+
21
+
22
+
23
+ ```
24
+
25
+ $ rpm -ihv xxx.rpm
26
+
27
+
28
+
29
+ $~/test/hello
30
+
31
+ Hello, world!
32
+
33
+ ```
34
+
35
+
36
+
37
+ hello.c
20
38
 
21
39
  ```C
22
40
 

2

微修正

2020/03/18 02:41

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -220,4 +220,4 @@
220
220
 
221
221
 
222
222
 
223
- 一応rpm作成はエラーなくきているのですが、やりたいことが出来ていないspecファイルなので指摘修正をお願いできないでしょうか?
223
+ 一応rpm作成はエラーなくきているのですが、やりたいことが出来ていないspecファイルなのでrpm -ivh hello-1.0-1.x86_64.rpmで何も起きない状態です。指摘修正をお願いできないでしょうか?

1

修正

2020/03/18 02:36

投稿

yay
yay

スコア17

test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,185 @@
39
39
 
40
40
 
41
41
  どなたか、rpmパッケージを作ったことのないド素人にわかりやすく教えてくださいませんか。
42
+
43
+
44
+
45
+ ### 仮想CentOS環境下にrpmbuildを入れてやってみた
46
+
47
+ 指摘されたように、yumが使える環境でrpmを自作してみたのですが、rpmパッケージは作成できたものの、インストールの設定がわからず何も起きなかったのでどうしたら良いかアドバイスください。
48
+
49
+
50
+
51
+ ##### ディレクトリ構成
52
+
53
+ ユーザ:rpmbuilder
54
+
55
+ [rpmbuild実行前]
56
+
57
+ ~/rpmbuild 
58
+
59
+ |_SOUSES
60
+
61
+ |  |_hello-.1.0.tar.gz (hello Makefile)
62
+
63
+
64
+
65
+ |_SPEC
66
+
67
+ |  |__sample.spec
68
+
69
+
70
+
71
+ 以下設定ファイル等です。
72
+
73
+ ```
74
+
75
+ # Makefile (hello-1.0.tar.gz内)
76
+
77
+ install:
78
+
79
+ @[ -d $(DESTDIR) ] || mkdir -p $(DESTDIR)
80
+
81
+ @tar cf - -C dest . | tar xfp - -C $(DESTDIR)
82
+
83
+
84
+
85
+ # ~/.rpmmacros
86
+
87
+ %_topdir %{getenv:HOME}/rpmbuild
88
+
89
+ %_tmppath %{getenv:HOME}/tmp
90
+
91
+
92
+
93
+ # ~/rpmbuild/SPEC/sample.spec
94
+
95
+
96
+
97
+ ### basic info
98
+
99
+ Name: hello
100
+
101
+ Version: 1.0
102
+
103
+ Release: 1
104
+
105
+ Summary: sample hello world program
106
+
107
+ License: GPL2
108
+
109
+
110
+
111
+ ### build info
112
+
113
+ Source0: %{name}-%{version}.tar.gz
114
+
115
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
116
+
117
+
118
+
119
+ ### description
120
+
121
+ %description
122
+
123
+ sample code
124
+
125
+
126
+
127
+ ### script
128
+
129
+ %prep
130
+
131
+ rm -rf %{buildroot}
132
+
133
+
134
+
135
+ %setup -q
136
+
137
+
138
+
139
+ %build
140
+
141
+
142
+
143
+ %install
144
+
145
+ make DESTDIR=%{buildroot} install
146
+
147
+
148
+
149
+ %files
150
+
151
+ ```
152
+
153
+
154
+
155
+ [rpmbuild -bb sample.spec実行後]
156
+
157
+ ~/rpmbuild 
158
+
159
+ |_SOUSES
160
+
161
+ |  |_hello-.1.0.tar.gz
162
+
163
+
164
+
165
+ |_SPEC
166
+
167
+ |  |__sample.spec
168
+
169
+
170
+
171
+ |_BUILD
172
+
173
+ |  |_hello-.1.0
174
+
175
+ |      |_debugfiles.list
176
+
177
+ |      |_debuglinks.list
178
+
179
+ |      |_debugsources.list
180
+
181
+ |      |_dest
182
+
183
+ |      |_elfbins.list
184
+
185
+ |      |_hello
186
+
187
+ |      |_Makefile
188
+
189
+ |_BUILDROOT
190
+
191
+ |_RPMS
192
+
193
+ |  |_x86_64
194
+
195
+ |     |_hello-1.0-1.x86_64.rpm
196
+
197
+ |     |_hello-debuginfo-1.0-1.x86_64.rpm
198
+
199
+ |_SRPMS
200
+
201
+
202
+
203
+ ~/tmp/rpm-tmp.0MSvL3
204
+
205
+
206
+
207
+ ##### 分かっていること
208
+
209
+ %setupまでにSOURCES以下のアーカイブを一度BUILD内で展開してビルド(今回は無し)していること
210
+
211
+
212
+
213
+ ##### 分からないこと
214
+
215
+ * BUILDROOTの意味(バカすぎて調べてもよくわからず...)
216
+
217
+ * _tmppath
218
+
219
+ * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい
220
+
221
+
222
+
223
+ 一応rpm作成はエラーなく起きているのですが、やりたいことが出来ていないspecファイルなので、指摘修正をお願いできないでしょうか?