回答編集履歴

3

微修正

2020/03/18 12:08

投稿

yay
yay

スコア17

test CHANGED
@@ -126,7 +126,7 @@
126
126
 
127
127
  (すでに失敗した中身が何もないパッケージを削除してから)
128
128
 
129
- rpm -ivh hello-1.0-1.x86_64.rpm
129
+ RPMS$ rpm -ivh hello-1.0-1.x86_64.rpm
130
130
 
131
131
  とすると無事に
132
132
 
@@ -134,6 +134,8 @@
134
134
 
135
135
  が作られました。
136
136
 
137
+ Hello World!
138
+
137
139
 
138
140
 
139
141
  最初マクロがいっぺんに出てきて混乱したが一つずつ覚えていけばそんなに大したこと言っていなかったという...

2

微修正

2020/03/18 12:08

投稿

yay
yay

スコア17

test CHANGED
@@ -68,7 +68,11 @@
68
68
 
69
69
  Source0: %{name}-%{version}.tar.gz
70
70
 
71
- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # この後ろのrootの意味は何なのかは不明
71
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # この一番後ろの-rootの意味は何なのか。ここをルートにしますよっていう宣言として必要?
72
+
73
+
74
+
75
+
72
76
 
73
77
  %define INSTALLDIR %{buildroot}/home/rpmbuilder/test # 仮のルート(buildroot)+実際のインストール場所(/home/rpmbuilder/test)
74
78
 

1

補足説明追加

2020/03/18 10:41

投稿

yay
yay

スコア17

test CHANGED
@@ -1,6 +1,10 @@
1
+ * _tmppathマクロ:shが実際に処理するときに使う一時的なディレクトリの場所?どっか適当なところに置いといていいのかな。
2
+
1
3
  * BuildRoot
2
4
 
3
- パッケージ作成時仮ルートディレクトリで、実際に
5
+ パッケージ作成時にパッケージにするソース群をインストールしておく仮ルートディレクトリで、このサブディレクトリ以下がまるまるパッケージ化されるみたい。
6
+
7
+ ※ 特に何も指定していなかったのに勝手に後ろにx86_64がつくのは仕様なのかなぁ。
4
8
 
5
9
 
6
10
 
@@ -22,6 +26,112 @@
22
26
 
23
27
 
24
28
 
29
+ 以上を踏まえて、正しい設定ファイルを書くと以下。
30
+
31
+
32
+
33
+
34
+
35
+ ```
36
+
37
+ # Makefile
38
+
39
+ 今回要らなかったのでアーカイブから削除
40
+
41
+
42
+
43
+ # ~/.rpmmacros
44
+
45
+ そのまま
46
+
47
+
48
+
49
+ # ~/rpmbuild/SPEC/sample.spec
50
+
51
+
52
+
53
+ ### basic info
54
+
55
+ Name: hello
56
+
57
+ Version: 1.0
58
+
59
+ Release: 1
60
+
61
+ Summary: sample hello world program
62
+
63
+ License: GPL2
64
+
65
+
66
+
67
+ ### build info
68
+
69
+ Source0: %{name}-%{version}.tar.gz
70
+
71
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # この後ろのrootの意味は何なのかは不明
72
+
73
+ %define INSTALLDIR %{buildroot}/home/rpmbuilder/test # 仮のルート(buildroot)+実際のインストール場所(/home/rpmbuilder/test)
74
+
75
+
76
+
77
+ ### description
78
+
79
+ %description
80
+
81
+ sample code
82
+
83
+
84
+
85
+ ### script
86
+
87
+ %prep
88
+
89
+ rm -rf %{buildroot}
90
+
91
+
92
+
93
+ %setup -q
94
+
95
+
96
+
97
+ %build
98
+
99
+
100
+
101
+ %install
102
+
103
+ rm -rf %{buildroot}
104
+
105
+ mkdir %{buildroot}
106
+
107
+ mkdir -p %{INSTALLDIR}
108
+
109
+ cp -r %{_builddir}/%{name}-%{version}/hello %{INSTALLDIR}/
110
+
111
+
112
+
113
+ %files
114
+
115
+ /home/rpmbuilder/test/hello
116
+
117
+
118
+
119
+ ```
120
+
121
+ これで
122
+
123
+ (すでに失敗した中身が何もないパッケージを削除してから)
124
+
125
+ rpm -ivh hello-1.0-1.x86_64.rpm
126
+
127
+ とすると無事に
128
+
129
+ /home/rpmbuilder/test/hello
130
+
131
+ が作られました。
132
+
133
+
134
+
25
135
  最初マクロがいっぺんに出てきて混乱したが一つずつ覚えていけばそんなに大したこと言っていなかったという...
26
136
 
27
137
  定義とかすんなり頭に入る人になりたかった...。