[devel] Когда появится новая libquicktime?
Igor Vlasenko
=?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Ср Июн 11 19:31:47 MSD 2008
On Wed, Jun 11, 2008 at 11:40:44PM +0400, Alexey I. Froloff wrote:
> * Igor Vlasenko <vlasenko@> [080611 23:22]:
> > Я вот в апреле nmu получал.
> > Запомнилось...
> Ну согласись, что повод (%update_menus/%update_descktopdb) был
> так себе. И решалась проблема другими способами.
(%update_menus/%update_descktopdb) был выбран, поскольку
на чем-то безвредном хотелось попробовать.
На собаках, так сказать...
Дальше веселее пошло бы. Машинизация по Винтику и Шпунтику.
Например, программа, которая при наличии в пакете
хоть какой-то пиктограммы добавляет команды,
которые ее смасштабируют и разложат в правильные места;
или устаревшие макросы поправят; или статическую библиотеку
выделят в -devel-static подпакет; или ...
Там можно весьма нетривиальные изменения в спеках программировать,
вот например правки к спекам tomcat5:
------------------
#!/usr/bin/perl -w
require 'set_fix_homedir_macro.pl';
push @SPECHOOKS, sub {
my ($jpp, $alt) = @_;
# BUG to report (5.5.25 1-fc9) too
$jpp->get_section('build')->subst(qr'%{java.home}','%{java_home}');
# fedora specific (5.5.25 1-fc9)
$jpp->get_section('package','')->push_body('BuildRequires: zip'."\n");
# break build with java 1.5.0
#Patch19: %{name}-%{majversion}-connectors-util-build.patch
$jpp->get_section('prep')->subst(qr'%patch19 -b .p19','#%patch19 -b .p19');
#$jpp->get_section('prep')->subst(qr'%patch20 -b .p20','#%patch20 -b .p20');
#Patch21: %{name}-%{majversion}-acceptlangheader.patch
$jpp->get_section('prep')->subst(qr'%patch21 -b .p21','#%patch21 -b .p21');
# to make them 1.4, not 1.5
$jpp->get_section('build')->subst(qr'ant\s+-Dservletapi.build="build"','ant -Dant.build.javac.source=1.4 -Dant.build.javac.target=1.4 -Dservletapi.build="build"');
# end fedora specific
$jpp->get_section('package','server-lib')->push_body('Requires: jaf javamail'."\n");
$jpp->get_section('package','')->push_body('Provides: %{name}-server = %{version}-%{release}'."\n");
$jpp->get_section('package','')->push_body('Obsoletes: %{name}-server <= 5.5.16-alt1.1'."\n");
$jpp->get_section('package','admin-webapps')->push_body('Provides: %{name}-admin-webapps = %{version}-%{release}'."\n");
$jpp->raw_rename_section('admin-webapps','webapps-admin');
# #14415
$jpp->get_section('description','')->subst(qr'We invite you to participate in this open development project. To','');
$jpp->get_section('description','')->subst(qr'learn more about getting involved, click here.','');
$jpp->get_section('pre')->subst(qr'-[gu] %\{tcuid\}','');
# a part of #%post_service %name that is not implemented there:
# condrestart on upgrade
$jpp->get_section('post')->push_body('/sbin/service %name condrestart'."\n");
# merge from old alt tomcat5:
# do we really need all of this?
$jpp->get_section('post','webapps')->push_body(q'/sbin/service %name condrestart
');
$jpp->get_section('post','webapps-admin')->push_body(q'/sbin/service %name condrestart
');
$jpp->get_section('preun','webapps')->push_body(q'[ $1 != 0 ] || /sbin/service %name condrestart
');
$jpp->get_section('preun','webapps-admin')->push_body(q'[ $1 != 0 ] || /sbin/service %name condrestart
');
# todo: make an extension?
$jpp->get_section('install')->push_body('mkdir -p $RPM_BUILD_ROOT/%_altdir/
cat >>$RPM_BUILD_ROOT/%_altdir/servletapi_%{name}<<EOF
%{_javadir}/servletapi.jar %{_javadir}/%{name}-servlet-2.4-api-%{version}.jar 20400
EOF
');
$jpp->get_section('files','servlet-2.4-api')->push_body('%_altdir/servletapi_*'."\n");
$jpp->get_section('post','servlet-2.4-api')->push_body('%register_alternatives servletapi_%{name}'."\n");
$jpp->get_section('postun','servlet-2.4-api')->push_body('%unregister_alternatives servletapi_%{name}'."\n");
$jpp->get_section('install')->push_body(
q'
%triggerpostun -- tomcat5-server <= 5.5.16-alt1.1
for i in common/classes common/endorsed common/lib shared/classes shared/lib webapps; do
if [ -d /usr/lib/tomcat5/$i ]; then
echo "upgrade: moving old /usr/lib/tomcat5/$i to /var/lib/tomcat5/$i"
mv -f /usr/lib/tomcat5/$i/* /var/lib/tomcat5/$i/
fi
done || :
');
}
__DATA__
todo: verify logrotate
--
Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine
Подробная информация о списке рассылки Devel