teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

syuusei

2020/03/18 08:14

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -115,6 +115,10 @@
115
115
 
116
116
  ##### 分からないこと
117
117
  * BUILDROOTの意味(バカすぎて調べてもよくわからず...): 具体的には、buildrootに仮想的にインストールされるという説明があったのですが、どういうことなのかわかっていません。
118
+ * BUILDROOTの書き方がなぜ以下のような書き方なのかがわからない
119
+ ```
120
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
121
+ ```
118
122
  * _tmppath
119
123
  * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい
120
124
 

6

補足説明追加

2020/03/18 08:14

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -114,7 +114,7 @@
114
114
  %setupまでにSOURCES以下のアーカイブを一度BUILD内で展開してビルド(今回は無し)していること
115
115
 
116
116
  ##### 分からないこと
117
- * BUILDROOTの意味(バカすぎて調べてもよくわからず...)
117
+ * BUILDROOTの意味(バカすぎて調べてもよくわからず...): 具体的には、buildrootに仮想的にインストールされるという説明があったのですが、どういうことなのかわかっていません。
118
118
  * _tmppath
119
119
  * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい
120
120
 

5

内容修正

2020/03/18 02:57

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -37,7 +37,7 @@
37
37
  [rpmbuild実行前]
38
38
  ~/rpmbuild 
39
39
  |_SOUSES
40
- |  |_hello-.1.0.tar.gz (hello Makefile)
40
+ |  |_hello-.1.0.tar.gz (hello, Makefile)
41
41
 
42
42
  |_SPEC
43
43
  |  |__sample.spec

4

内容修正

2020/03/18 02:44

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -7,15 +7,6 @@
7
7
 
8
8
  ##### やりたいこと
9
9
  テスト用に以下のCのソースを~/test配下にインストールしたい。
10
- i.e.
11
-
12
- ```
13
- $ rpm -ihv xxx.rpm
14
-
15
- $~/test/hello
16
- Hello, world!
17
- ```
18
-
19
10
  hello.c
20
11
  ```C
21
12
  #include <stdio.h>
@@ -26,7 +17,16 @@
26
17
  return 0;
27
18
  }
28
19
  ```
20
+ すなわち以下のようなことをしたい。(あくまでrpm作成練習用なので意味はほとんどないですが...)
29
21
 
22
+ ```
23
+ $ rpm -ihv xxx.rpm
24
+
25
+ $~/test/hello
26
+ Hello, world!
27
+ ```
28
+
29
+
30
30
  どなたか、rpmパッケージを作ったことのないド素人にわかりやすく教えてくださいませんか。
31
31
 
32
32
  ### 仮想CentOS環境下にrpmbuildを入れてやってみた

3

修正

2020/03/18 02:43

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,16 @@
7
7
 
8
8
  ##### やりたいこと
9
9
  テスト用に以下のCのソースを~/test配下にインストールしたい。
10
+ i.e.
10
11
 
12
+ ```
13
+ $ rpm -ihv xxx.rpm
14
+
15
+ $~/test/hello
16
+ Hello, world!
17
+ ```
18
+
19
+ hello.c
11
20
  ```C
12
21
  #include <stdio.h>
13
22
 

2

微修正

2020/03/18 02:41

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -109,4 +109,4 @@
109
109
  * _tmppath
110
110
  * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい
111
111
 
112
- 一応rpm作成はエラーなくきているのですが、やりたいことが出来ていないspecファイルなので指摘修正をお願いできないでしょうか?
112
+ 一応rpm作成はエラーなくきているのですが、やりたいことが出来ていないspecファイルなのでrpm -ivh hello-1.0-1.x86_64.rpmで何も起きない状態です。指摘修正をお願いできないでしょうか?

1

修正

2020/03/18 02:36

投稿

yay
yay

スコア17

title CHANGED
File without changes
body CHANGED
@@ -18,4 +18,95 @@
18
18
  }
19
19
  ```
20
20
 
21
- どなたか、rpmパッケージを作ったことのないド素人にわかりやすく教えてくださいませんか。
21
+ どなたか、rpmパッケージを作ったことのないド素人にわかりやすく教えてくださいませんか。
22
+
23
+ ### 仮想CentOS環境下にrpmbuildを入れてやってみた
24
+ 指摘されたように、yumが使える環境でrpmを自作してみたのですが、rpmパッケージは作成できたものの、インストールの設定がわからず何も起きなかったのでどうしたら良いかアドバイスください。
25
+
26
+ ##### ディレクトリ構成
27
+ ユーザ:rpmbuilder
28
+ [rpmbuild実行前]
29
+ ~/rpmbuild 
30
+ |_SOUSES
31
+ |  |_hello-.1.0.tar.gz (hello Makefile)
32
+
33
+ |_SPEC
34
+ |  |__sample.spec
35
+
36
+ 以下設定ファイル等です。
37
+ ```
38
+ # Makefile (hello-1.0.tar.gz内)
39
+ install:
40
+ @[ -d $(DESTDIR) ] || mkdir -p $(DESTDIR)
41
+ @tar cf - -C dest . | tar xfp - -C $(DESTDIR)
42
+
43
+ # ~/.rpmmacros
44
+ %_topdir %{getenv:HOME}/rpmbuild
45
+ %_tmppath %{getenv:HOME}/tmp
46
+
47
+ # ~/rpmbuild/SPEC/sample.spec
48
+
49
+ ### basic info
50
+ Name: hello
51
+ Version: 1.0
52
+ Release: 1
53
+ Summary: sample hello world program
54
+ License: GPL2
55
+
56
+ ### build info
57
+ Source0: %{name}-%{version}.tar.gz
58
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
59
+
60
+ ### description
61
+ %description
62
+ sample code
63
+
64
+ ### script
65
+ %prep
66
+ rm -rf %{buildroot}
67
+
68
+ %setup -q
69
+
70
+ %build
71
+
72
+ %install
73
+ make DESTDIR=%{buildroot} install
74
+
75
+ %files
76
+ ```
77
+
78
+ [rpmbuild -bb sample.spec実行後]
79
+ ~/rpmbuild 
80
+ |_SOUSES
81
+ |  |_hello-.1.0.tar.gz
82
+
83
+ |_SPEC
84
+ |  |__sample.spec
85
+
86
+ |_BUILD
87
+ |  |_hello-.1.0
88
+ |      |_debugfiles.list
89
+ |      |_debuglinks.list
90
+ |      |_debugsources.list
91
+ |      |_dest
92
+ |      |_elfbins.list
93
+ |      |_hello
94
+ |      |_Makefile
95
+ |_BUILDROOT
96
+ |_RPMS
97
+ |  |_x86_64
98
+ |     |_hello-1.0-1.x86_64.rpm
99
+ |     |_hello-debuginfo-1.0-1.x86_64.rpm
100
+ |_SRPMS
101
+
102
+ ~/tmp/rpm-tmp.0MSvL3
103
+
104
+ ##### 分かっていること
105
+ %setupまでにSOURCES以下のアーカイブを一度BUILD内で展開してビルド(今回は無し)していること
106
+
107
+ ##### 分からないこと
108
+ * BUILDROOTの意味(バカすぎて調べてもよくわからず...)
109
+ * _tmppath
110
+ * install の箇所(一番大事なとこ)の設定方法: 今回はtar.gzを展開して~/test配下にhello(実行可能ファイル)を置きたい
111
+
112
+ 一応rpm作成はエラーなく起きているのですが、やりたいことが出来ていないspecファイルなので、指摘修正をお願いできないでしょうか?