$RPM_SOURCE_DIR ou %{_sourcedir}
Pacotes que usam arquivos discriminados como arquivos Source#, devem referir-se a esses arquivos pelo nome da macro Source# e não devem usar $RPM_SOURCE_DIR ou %{sourcedir} para se referir a esses arquivos.
Isso é feito para garantir que os SRPMS do Fedora sejam gerados corretamente. Se um item Source# for renomeado, uma especificação que se refere ao seu nome antigo pode ter sucesso localmente (porque o arquivo ainda está em %{_sourcedir} junto com o novo arquivo), mas o arquivo apropriado não será incluído no SRPM.
Uso incorreto:
Source: php.conf Source: php.ini Source: macros.php ... install -m 644 $RPM_SOURCE_DIR/php.conf $RPM_BUILD_ROOT/etc/httpd/conf.d sed -e "s/@PHP_APIVER@/%{apiver}/;s/@PHP_ZENDVER@/%{zendver}/;s/@PHP_PDOVER@/%{pdover}/" \ < $RPM_SOURCE_DIR/macros.php > macros.php
Uso correto:
Source1: php.conf Source2: php.ini Source3: macros.php ... install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/httpd/conf.d sed -e "s/@PHP_APIVER@/%{apiver}/;s/@PHP_ZENDVER@/%{zendver}/;s/@PHP_PDOVER@/%{pdover}/" \ < %{SOURCE3} > macros.php
Exceções
Quando houver uma lista disponível de arquivos fonte suplementares, é permitido usar esta lista em conjunto com %{sourcedir} para simplificar as operações nesses arquivos fonte suplementares.
Um exemplo disso do pacote kde-l10n:
for i in $(cat %{SOURCE1000}) ; do echo $i | grep -v '^#' && \ bzip2 -dc %{_sourcedir}/%{name}-$i-%{version}.tar.bz2 | tar -xf - done
sendo Source1000:subdirs-kde-l10n uma lista fornecida pelo upstream de todos os idiomas suportados, e há cerca de 50 SourceN:tags, que podem variar de versão para versão, mas correspondem aos idiomas listados em Source1000, para os tarballs fornecidos pelo upstream.
Want to help? Learn how to contribute to Fedora Docs ›