> i suggest:
>
> make a script to un-rpm a src rpm file, cd to theSPECS dir, do the sed -e
> 's|/usr/bin|%{_bindir}|', dump the spec somewhere, then require human
> intervention to add changelog?
I flung together a shell script (I'm a no-no with perl)... it does it's
job OK, but also takes care of stuff in the changelog section (fun!).
#!/bin/sh
for i in *.spec
do
cp ${i} ${i}.orig
cat ${i} | sed -e 's|/usr/bin|%{_bindir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/sbin|%{_sbindir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/libexec|%{_libexecdir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/share|%{_datadir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/etc|%{_sysconfdir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/include|%{_includedir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/info|%{_infodir}|' > ${i}.new
mv -f ${i}.new ${i}
cat ${i} | sed -e 's|/usr/man|%{_mandir}|' > ${i}.new
mv -f ${i}.new ${i}
done
and here is the result (on cvs.spec):
Until line 116 it did an OK job I think...
79,80c79,80
< mkdir -p $RPM_BUILD_ROOT/etc/cvs
< install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/etc/cvs
---
> mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/cvs
> install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/cvs
108c108
< %config(noreplace) /etc/cvs/cvs.conf
---
> %config(noreplace) %{_sysconfdir}/cvs/cvs.conf
116,117c116,117
< - created /usr/sbin/cvspserver to launch cvs pserver according to
< /etc/cvs/cvs.conf.
---
> - created %{_sbindir}/cvspserver to launch cvs pserver according to
> %{_sysconfdir}/cvs/cvs.conf.