]> diplodocus.org Git - nmh/blob - SPECS/nmh.spec
vector.c: Move interface to own file.
[nmh] / SPECS / nmh.spec
1 # This spec supports two methods of RPM creation:
2 #
3 # 1) Start from an nmh workspace, run configure as desired and then "make rpm".
4 # For example, from a tarball:
5 # $ tar xpf nmh-1.6.tar.gz
6 # $ cd nmh-1.6
7 # $ ./configure --with-cyrus-sasl --with-tls && make rpm
8 #
9 # Another example, starting from the source code repository:
10 # $ git clone git://git.savannah.nongnu.org/nmh.git
11 # $ cd nmh
12 # $ ./autogen.sh
13 # $ ./configure --with-cyrus-sasl --with-tls && make rpm
14 #
15 # 2) Start with a source RPM and use rpmbuild. Configure options are hard
16 # coded below, but they can be overridden on the rpmbuild command line
17 # with --define 'configure_opts --opt=value [...]'.
18 # For example:
19 # $ rpm -i nmh-1.4-0.fc16.src.rpm
20 # $ rpmbuild --rmsource --rmspec \
21 # --define '_sysconfdir /usr/local/nmh/etc' \
22 # --define 'configure_opts --with-cyrus-sasl --with-tls' \
23 # --bb ~/lib/rpmbuild/SPECS/nmh.spec
24 #
25 # If configure has previously been run successfully in the workspace,
26 # it will not be invoked again, even if configure_opts is defined.
27 #
28 # Note that "make rpm" sets _sysconfdir. If configuring to install
29 # anyplace other than the default _sysconfdir, typically /etc, and
30 # you're not using this through "make rpm", be sure to set _sysconfdir.
31 #
32 # With kernel (fcntl, flock, or lockf) locking, or with dot locking
33 # and a lockdir that's writable by the user, bin/inc does not need to
34 # be setgid. This spec assumes that. But if needed, add something
35 # like this to the %files section to make bin/inc setgid:
36 # %attr(2755,-,mail) /usr/local/nmh/bin/inc
37 #
38 # Note that Version cannot contain any dashes.
39 #
40 # The description, summary, and a few other tags were taken from the
41 # nmh.spec used to build the Fedora 15 nmh rpm.
42
43 Name: nmh
44 Version: %(sed "s/-/_/g" VERSION)
45 %define rawversion %(cat VERSION)
46 Release: 1%{?dist}
47 Summary: A capable MIME-email-handling system with a command-line interface
48 Group: Applications/Internet
49 License: BSD
50 URL: http://savannah.nongnu.org/projects/nmh
51 BuildRequires: flex ncurses-devel
52 %define tarfile nmh-%rawversion.tar.gz
53 Source0: %tarfile
54 Source1: VERSION
55 %define srcdir %(pwd)
56
57
58 %description
59 nmh is a collection of single-purpose programs that send, receive,
60 show, search, and otherwise manipulate emails, including MIME.
61 They combine well with other Unix programs, easing the development
62 of custom shorthand commands as shell scripts.
63 Optional GUI interfaces are provided by the external xmh and exmh
64 projects. nmh is a descendant of the RAND MH, Mail Handler, project.
65
66
67 %prep
68 if [ ! -f $RPM_SOURCE_DIR/%tarfile ]; then
69 #### The tarfile wasn't already installed and we started with a
70 #### workspace (using make rpm), so get it from there.
71 [ -f %srcdir/%tarfile ] || (cd %srcdir && make dist)
72 cp -p %srcdir/%tarfile $RPM_SOURCE_DIR/%tarfile
73 fi
74 [ -f $RPM_SOURCE_DIR/VERSION ] || cp -p %srcdir/VERSION $RPM_SOURCE_DIR
75 %setup -q -n %name-%rawversion
76
77
78 %build
79 if [ -f %srcdir/config.status ]; then
80 echo reusing existing configuration
81 cp -pf %srcdir/config.status .
82 ./config.status
83 else
84 %if %{undefined configure_opts}
85 %define configure_opts --with-cyrus-sasl
86 %endif
87 %configure %configure_opts
88 fi
89 make all dist
90
91
92 %install
93 rm -rf $RPM_BUILD_ROOT
94 make install DESTDIR=$RPM_BUILD_ROOT
95
96 gz_manpages='-e '
97
98 if find $RPM_BUILD_ROOT -name 'inc.1*' | \
99 egrep -q '/usr(/lib|/share)?/man/([^/]+/)?man'; then
100 #### brp-compress will gzip the man pages, so account for that.
101 gz_manpages='-e s#\(/man/man./.*\)#\1.gz#'
102 fi
103
104 #### etc is brought into files using %config{noreplace}
105 find $RPM_BUILD_ROOT -name etc -prune -o ! -type d -print | \
106 sed -e "s#^$RPM_BUILD_ROOT##" "$gz_manpages" > nmh_files
107
108
109 %clean
110 rm -rf $RPM_BUILD_ROOT $RPM_BUILD_DIR/%buildsubdir
111
112
113 %files -f nmh_files
114 %defattr(-,root,root,-)
115 %config(noreplace) %_sysconfdir/*