Acontece que deixar o Source
sem escape e citá-lo no% install faz o seguinte:
Source1: Foo Bar.zip
...
%install
...
unzip "%SOURCE1"
Estou tentando criar um RPM, mas o arquivo de origem do fornecedor tem um espaço no nome do arquivo, e não parece haver nenhuma boa maneira de escapar do nome do arquivo para que ele seja construído.
Eu tentei colocar um \
na frente dos espaços. Eu tentei substituí-los por %20
. Eu tentei +
. Eu tentei colocar "
s em torno dele, eu tentei '
em torno dele.
Por enquanto, estou trabalhando em torno dele renomeando o arquivo de origem do fornecedor para não ter espaços, mas eu realmente prefiro deixar os nomes dos arquivos originais dos fornecedores intactos sempre que possível.
Sem escapes ou citações, recebo:
+ unzip .../Foo Bar.zip
unzip: cannot find or open .../Foo, .../Foo.zip or .../Foo.ZIP.
Com \
, o unzip funciona, mas depois:
error: Bad file: .../Foo\ Bar.zip: No such file or directory
Aqui está um arquivo test.spec totalmente funcional (eu fiz zip "Foo Bar.zip" test.spec
para obter um exemplo de arquivo zip):
Summary: Test
Name: test
Version: 1
Release: 1
License: Whatever
URL: http://www.example.com/
Source1: Foo Bar.zip
%description
Just a test of escaping stuff...
%prep
%build
%install
%{__install} -d -m0755 %{buildroot}/foo
cd %{buildroot}/foo
unzip %SOURCE1
%clean
%{__rm} -rf %{buildroot}
%files
/foo
%changelog
* Wed May 8 2013 Example <[email protected]>
- Whatever
Acontece que deixar o Source
sem escape e citá-lo no% install faz o seguinte:
Source1: Foo Bar.zip
...
%install
...
unzip "%SOURCE1"