Discussion:
Problem with the limited size of the RPM buffer containing the macro parsing results
p***@sofrecom.com
2008-03-12 09:59:38 UTC
Permalink
rpm : 4.4.7
platforms : HPUX 11.23 / ia64, aix 5.3



Hi,

I'm trying to build dynamically %pre and %post scriptlets for
sub-packages listed in a macro %{sd_packages} :

.rpmmacros:

...
%sd_SpecMakePatchPre() %(
[ -z "%{?patch_version}" ] || {
__packs="%{?*}"
for __pack in ${__packs:-%{sd_packages}}; do
__pack="${__pack%%%%:*}"
__name_pack="%{sd_name_pack}"

__name_pack="${__name_pack:+${__name_pack}-}p%{patch_type}%{version}"
echo
echo "%pre ${__name_pack}";
if [ -n "%{expand:%%{?%{sd_script_pre__ptv_name}:1}}" ]; then
echo '%{expand:%%{?%{sd_script_pre__ptv_name}}}'
else
echo '%%{sd_script_pre__common}'
fi
echo '%{expand:%%sd_FileSaveDelivered '${__name_pack}'}'
done
}
)



and :

spec file:

%define sd_packages %{sd_app_name}::.
%{sd_app_name}-src:01:services_communs:%{src_paths}

%sd_SpecMakePatchPre
...

My problem is that the buffer RPM uses to contain the
%sd_SpecMakePatchPre macro parsing result seems to have a limited size;
and the parsing result is truncated involving the following shell error
:

sh[2]: Syntax error at line 28 : `for' is not matched.

Is there a way to pass over or surround this limitation ?

Regards,



mailto: ***@sofrecom.com <mailto:***@sofrecom.com>

phone: +33 1 43985883
p***@sofrecom.com
2008-03-13 09:06:05 UTC
Permalink
No answer ?



-----Message d'origine-----
De : ELASRI Patrice SOFRECOM
Envoyé : mercredi 12 mars 2008 11:00
À : 'RPM Package Manager'
Objet : Problem with the limited size of the RPM buffer containing the macro parsing results



rpm : 4.4.7
platforms : HPUX 11.23 / ia64, aix 5.3



Hi,

I'm trying to build dynamically %pre and %post scriptlets for sub-packages listed in a macro %{sd_packages} :

.rpmmacros:

...
%sd_SpecMakePatchPre() %(
[ -z "%{?patch_version}" ] || {
__packs="%{?*}"
for __pack in ${__packs:-%{sd_packages}}; do
__pack="${__pack%%%%:*}"
__name_pack="%{sd_name_pack}"
__name_pack="${__name_pack:+${__name_pack}-}p%{patch_type}%{version}"
echo
echo "%pre ${__name_pack}";
if [ -n "%{expand:%%{?%{sd_script_pre__ptv_name}:1}}" ]; then
echo '%{expand:%%{?%{sd_script_pre__ptv_name}}}'
else
echo '%%{sd_script_pre__common}'
fi
echo '%{expand:%%sd_FileSaveDelivered '${__name_pack}'}'
done
}
)

and :

spec file:

%define sd_packages %{sd_app_name}::. %{sd_app_name}-src:01:services_communs:%{src_paths}

%sd_SpecMakePatchPre
...

My problem is that the buffer RPM uses to contain the %sd_SpecMakePatchPre macro parsing result seems to have a limited size; and the parsing result is truncated involving the following shell error :

sh[2]: Syntax error at line 28 : `for' is not matched.

Is there a way to pass over or surround this limitation ?

Regards,



mailto: ***@sofrecom.com <mailto:***@sofrecom.com>
phone: +33 1 43985883

Loading...