@@ -29,6 +29,8 @@ func exampleInfo() *nfpm.Info {
29
29
Priority : "extra" ,
30
30
Maintainer :
"Carlos A Becker <[email protected] >" ,
31
31
Version : "1.0.0" ,
32
+ Release : "1" ,
33
+ Epoch : "0" ,
32
34
Section : "default" ,
33
35
Homepage : "http://carlosbecker.com" ,
34
36
Vendor : "nope" ,
@@ -78,6 +80,7 @@ func exampleInfo() *nfpm.Info {
78
80
PostRemove : "../testdata/scripts/postremove.sh" ,
79
81
},
80
82
RPM : nfpm.RPM {
83
+ Group : "foo" ,
81
84
Prefixes : []string {"/opt" },
82
85
Scripts : nfpm.RPMScripts {
83
86
PreTrans : "../testdata/scripts/pretrans.sh" ,
@@ -134,7 +137,7 @@ func TestRPM(t *testing.T) {
134
137
135
138
group , err := rpm .Header .GetString (rpmutils .GROUP )
136
139
require .NoError (t , err )
137
- require .Equal (t , "" , group )
140
+ require .Equal (t , "foo " , group )
138
141
139
142
summary , err := rpm .Header .GetString (rpmutils .SUMMARY )
140
143
require .NoError (t , err )
@@ -145,6 +148,60 @@ func TestRPM(t *testing.T) {
145
148
require .Equal (t , "Foo does things" , description )
146
149
}
147
150
151
+ func TestRPMMandatoryFieldsOnly (t * testing.T ) {
152
+ f , err := os .CreateTemp (t .TempDir (), "test.rpm" )
153
+ require .NoError (t , err )
154
+ require .NoError (t , Default .Package (& nfpm.Info {
155
+ Name : "foo" ,
156
+ Arch : "amd64" ,
157
+ Version : "1.2" ,
158
+ Release : "1" ,
159
+ Description : "summary\n foo bar\n long description" ,
160
+ License : "MIT" ,
161
+ }, f ))
162
+
163
+ file , err := os .OpenFile (f .Name (), os .O_RDONLY , 0o600 ) //nolint:gosec
164
+ require .NoError (t , err )
165
+ defer func () {
166
+ f .Close ()
167
+ file .Close ()
168
+ err = os .Remove (file .Name ())
169
+ require .NoError (t , err )
170
+ }()
171
+ rpm , err := rpmutils .ReadRpm (file )
172
+ require .NoError (t , err )
173
+
174
+ os , err := rpm .Header .GetString (rpmutils .OS )
175
+ require .NoError (t , err )
176
+ require .Equal (t , "linux" , os )
177
+
178
+ arch , err := rpm .Header .GetString (rpmutils .ARCH )
179
+ require .NoError (t , err )
180
+ require .Equal (t , archToRPM ["amd64" ], arch )
181
+
182
+ version , err := rpm .Header .GetString (rpmutils .VERSION )
183
+ require .NoError (t , err )
184
+ require .Equal (t , "1.2" , version )
185
+
186
+ release , err := rpm .Header .GetString (rpmutils .RELEASE )
187
+ require .NoError (t , err )
188
+ require .Equal (t , "1" , release )
189
+
190
+ _ , err = rpm .Header .Get (rpmutils .EPOCH )
191
+ require .Error (t , err , "epoch should not be set" )
192
+
193
+ _ , err = rpm .Header .GetString (rpmutils .GROUP )
194
+ require .Error (t , err , "group should not be set" )
195
+
196
+ summary , err := rpm .Header .GetString (rpmutils .SUMMARY )
197
+ require .NoError (t , err )
198
+ require .Equal (t , "summary" , summary )
199
+
200
+ description , err := rpm .Header .GetString (rpmutils .DESCRIPTION )
201
+ require .NoError (t , err )
202
+ require .Equal (t , "summary\n foo bar\n long description" , description )
203
+ }
204
+
148
205
func TestRPMPlatform (t * testing.T ) {
149
206
f , err := os .CreateTemp (t .TempDir (), "test*.rpm" )
150
207
require .NoError (t , err )
0 commit comments