Skip to content

Commit 66fff8f

Browse files
committed
Enable building rpms
Add a .spec file so that rpkg can be used to build rpms. Signed-off-by: Juri Lelli <[email protected]>
1 parent d0e4b30 commit 66fff8f

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed

rt-app.spec.rpkg

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# vim: syntax=spec
2+
3+
Name: {{{ git_dir_name }}}
4+
5+
Version: 1.0
6+
7+
Release: 1%{?dist}
8+
9+
Summary: rt-app: simulate system load.
10+
11+
License: GPLv2
12+
13+
URL: http://github.com/scheduler-tools/rt-app
14+
15+
VCS: {{{ git_dir_vcs }}}
16+
17+
# git_dir_pack macro places the repository content (the source files) into a tarball
18+
# and returns its filename. The tarball will be used to build the rpm.
19+
Source: {{{ git_dir_pack }}}
20+
21+
Buildrequires: autoconf
22+
Buildrequires: automake
23+
Buildrequires: libtool
24+
Buildrequires: json-c-devel
25+
26+
Requires: json-c
27+
28+
# More detailed description of the package
29+
%description
30+
rt-app is a test application that starts multiple periodic threads in order to simulate a real-time periodic load.
31+
32+
# Python permits the !/usr/bin/python shebang for scripts that are cross
33+
# compatible between python2 and python3, but Fedora 28 does not. Fedora
34+
# wants us to choose python3 for cross-compatible scripts. Since we want
35+
# to support python2 and python3 users, exclude our scripts from Fedora 28's
36+
# RPM build check, so that we don't get a bunch of build warnings.
37+
#
38+
# Taken from: https://github.com/zfsonlinux/zfs/issues/7360
39+
#
40+
%global __brp_mangle_shebangs_exclude_from workgen
41+
42+
# The following four sections already describe the rpm build process itself.
43+
# prep will extract the tarball defined as Source above and descend into it.
44+
%prep
45+
{{{ git_dir_setup_macro }}}
46+
47+
# This will invoke `make` command in the directory with the extracted sources.
48+
%build
49+
autoreconf --install --symlink || exit 1
50+
./configure --with-deadline
51+
make
52+
53+
# This will copy the files generated by the `make` command above into
54+
# the installable rpm package.
55+
%install
56+
make install DESTDIR=%{buildroot}
57+
58+
# This lists all the files that are included in the rpm package and that
59+
# are going to be installed into target system where the rpm is installed.
60+
%files
61+
/usr/local/bin/rt-app
62+
/usr/local/bin/workgen
63+
64+
# Finally, changes from the latest release of your application are generated from
65+
# your project's Git history. It will be empty until you make first annotated Git tag.
66+
%changelog
67+
{{{ git_dir_changelog }}}

0 commit comments

Comments
 (0)