]> git.pld-linux.org Git - packages/mksh.git/blob - mksh.spec
- drop extra space from version
[packages/mksh.git] / mksh.spec
1 %bcond_without  static
2 %bcond_without  tests
3 #
4 Summary:        MirBSD Korn Shell
5 Summary(pl.UTF-8):      Powłoka Korna z MirBSD
6 Name:           mksh
7 Version:        40
8 Release:        5
9 License:        BSD
10 Group:          Applications/Shells
11 Source0:        http://www.mirbsd.org/MirOS/dist/mir/mksh/%{name}-R%{version}.cpio.gz
12 # Source0-md5:  395a6c5f39c7e2afd8f6504d90ca90bd
13 Source1:        %{name}-mkshrc
14 Patch0:         %{name}-mkshrc_support.patch
15 Patch1:         %{name}-circumflex.patch
16 Patch2:         %{name}-no_stop_alias.patch
17 Patch3:         %{name}-tty.patch
18 Patch4:         %{name}-test.patch
19 Patch5:         %{name}-distro.patch
20 URL:            https://www.mirbsd.org/mksh.htm
21 %if %{with tests}
22 BuildRequires:  ed
23 BuildRequires:  perl-base
24 %endif
25 %{?with_static:BuildRequires:   glibc-static}
26 BuildRequires:  rpmbuild(macros) >= 1.462
27 # is needed for /etc directory existence
28 Requires(pre):  FHS
29 Requires:       setup >= 2.4.6-2
30 Obsoletes:      pdksh
31 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
32
33 %define         _bindir                 /bin
34
35 %description
36 mksh is the MirBSD enhanced version of the Public Domain Korn shell
37 (pdksh), a Bourne-compatible shell which is largely similar to the
38 original AT&T Korn shell. It includes bug fixes and feature
39 improvements in order to produce a modern, robust shell good for
40 interactive and especially script use. It has UTF-8 support in the
41 emacs command line editing mode; corresponds to OpenBSD 4.2-current
42 ksh sans GNU bash-like $PS1; the build environment requirements are
43 autoconfigured; throughout code simplification/bugfix/enhancement has
44 been done, and the shell has extended compatibility to other modern
45 shells.
46
47 %description -l pl.UTF-8
48 mksh to pochodząca z MirBSD rozszerzona wersja powłoki Public Domain
49 Korn Shell (pdksh) - kompatybilnej z powłoką Bourne'a, w większości
50 zbliżonej do oryginalnej powłoki Korna z AT&T. Zawiera poprawki błędów
51 i rozszerzenia mające na celu stworzenie współczesnej powłoki o
52 bogatych możliwościach do użytku interaktywnego i (zwłaszcza) w
53 skryptach. Ma obsługę UTF-8 w trybie edycji linii poleceń w stylu
54 emacsa; $PS1 odpowiada temu z ksh obecnym w OpenBSD 4.2-current;
55 środowisko budowania jest automatycznie konfigurowane; dzięki
56 wykonanym uproszczeniom kodu, poprawkom i rozszerzeniom powłoka ma
57 rozszerzoną kompatybilność z innymi współczesnymi powłokami.
58
59 %package static
60 Summary:        Statically linked the MirBSD enhanced version of pdksh
61 Summary(pl.UTF-8):      Skonsolidowana statycznie powłoka mksh
62 Group:          Applications/Shells
63 # requires base for /etc/mkshrc?
64 Requires:       %{name} = %{version}-%{release}
65
66 %description static
67 mksh is the MirBSD enhanced version of the Public Domain Korn shell
68 (pdksh), a Bourne-compatible shell which is largely similar to the
69 original AT&T Korn shell.
70
71 This packege contains statically linked version of mksh.
72
73 %description static -l pl.UTF-8
74 mksh to pochodząca z MirBSD rozszerzona wersja powłoki Public Domain
75 Korn Shell (pdksh) - kompatybilnej z powłoką Bourne'a, w większości
76 zbliżonej do oryginalnej powłoki Korna z AT&T.
77
78 W tym pakiecie jest mksh skonsolidowany statycznie.
79
80 %prep
81 %setup -qcT
82 gzip -dc %{SOURCE0} | cpio -mid
83 mv mksh/* .; rmdir mksh
84
85 %patch0 -p0
86 %patch1 -p1
87 %patch2 -p1
88 %patch3 -p1
89 %patch4 -p1
90 %patch5 -p1
91
92 sed -i -e 's#@DISTRO@#PLD/Linux 3.0#g' check.t sh.h
93
94 %build
95 install -d out
96
97 CC="%{__cc}" \
98 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
99 LDFLAGS="%{rpmldflags}" \
100 sh ./Build.sh -Q -r -j
101
102 # skip some tests if not on terminal
103 if ! tty -s; then
104         skip_tests="-C regress:no-ctty"
105 fi
106
107 %{?with_tests:./test.sh -v $skip_tests}
108 mv mksh out/mksh.dynamic
109
110 %if %{with static}
111 CC="%{__cc}" \
112 CFLAGS="%{rpmcppflags} %{rpmcflags}" \
113 LDFLAGS="%{rpmldflags} -static" \
114 sh ./Build.sh -Q -r -j
115
116 %{?with_tests:./test.sh -v $skip_tests}
117 mv mksh out/mksh.static
118 %endif
119
120 %install
121 rm -rf $RPM_BUILD_ROOT
122 install -d $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1}
123 install -p out/mksh.dynamic $RPM_BUILD_ROOT%{_bindir}/mksh
124 %{?with_static:install -p out/mksh.static $RPM_BUILD_ROOT%{_bindir}/mksh.static}
125
126 cp -a mksh.1 $RPM_BUILD_ROOT%{_mandir}/man1/mksh.1
127 echo ".so mksh.1" > $RPM_BUILD_ROOT%{_mandir}/man1/sh.1
128
129 install -D %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/mkshrc
130 ln -sf mksh $RPM_BUILD_ROOT%{_bindir}/sh
131
132 # some pdksh scripts used that
133 ln -sf mksh $RPM_BUILD_ROOT%{_bindir}/ksh
134
135 %clean
136 rm -rf $RPM_BUILD_ROOT
137
138 %post   -p %add_etc_shells -p /bin/sh /bin/ksh /bin/mksh
139 %preun  -p %remove_etc_shells -p /bin/sh /bin/ksh /bin/mksh
140
141 %posttrans -p %add_etc_shells -p /bin/sh /bin/ksh
142
143
144 %post static -p %add_etc_shells -p /bin/mksh.static
145 %preun static -p %remove_etc_shells -p /bin/mksh.static
146
147 %files
148 %defattr(644,root,root,755)
149 %doc dot.mkshrc
150 %config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/mkshrc
151 %attr(755,root,root) %{_bindir}/mksh
152 %attr(755,root,root) %{_bindir}/ksh
153 %attr(755,root,root) %{_bindir}/sh
154 %{_mandir}/man1/mksh.1*
155 %{_mandir}/man1/sh.1*
156
157 %if %{with static}
158 %files static
159 %defattr(644,root,root,755)
160 %attr(755,root,root) %{_bindir}/mksh.static
161 %endif
This page took 0.041854 seconds and 4 git commands to generate.