Eu pessoalmente faria apenas um arquivo por distribuição.
Isso resolveria seu problema e teria o benefício de cada arquivo ser menor. (mais rápido para baixar e analisar por clientes)
Para um software proprietário, gostaria de criar e publicar várias versões de software para várias distribuições. Por exemplo. 1.0, 1.1 e ambas as versões para squeeze, wheezy e preciso.
As compilações são executadas automaticamente em máquinas diferentes e produzem arquivos .deb
específicos da distribuição. Específico da distribuição de forma que eles estejam vinculados a versões de bibliotecas específicas da distribuição. Por exemplo. OpenSSL 0.9.8 para squeeze, 1.0.1 para wheezy. No entanto, esses pacotes são criados usando o mesmo número de versão e nome do pacote. É isso que provavelmente é a causa do problema a seguir.
Atualmente estou usando o reprepro com o comando includedeb
para adicionar os binários ao repositório. Isso funciona bem, até eu adicionar a mesma versão de pacote criada para uma segunda distribuição.
Publicar para o Squeeze é bom
# reprepro -b ./repo --outdir ./wwwpub/repo includedeb squeeze /path/to/sqeezepackages/packagename-1.0.deb
Mas, em seguida, publicando a mesma versão do software criado no wheezy, a publicação de wheezy falha:
# reprepro -b ./repo --outdir ./wwwpub/repo includedeb wheezy /path/to/wheezypackages/packagename-1.0.deb
/path/to/wheezypackages/packagename-1.0.deb: component guessed as 'main'
ERROR: '/path/to/wheezypackages/packagename-1.0.deb' cannot be included as 'pool/main/p/packagename/packagename_1.0_all.deb'.
Already existing files can only be included again, if they are the same, but:
md5 expected: e7df7cd2ca07f4f1ab415d457a6e1c13, got: 0fa924209085a5713f79e6a30649455f
sha1 expected: 947b41827bbac414baddf0648b9abecaad8de4fe, got: 1be168ff837f043bde17c0314341c84271047b31
sha256 expected: a883dafc480d466ee04e0d6da986bd78eb1fdd2178d04693723da3a8f95d42f4, got: a93dbf1e95ddc4cfa84e9cd3cfa6c9e0e14affd79812abde4bca688224430a65
size expected: 1234, got: 1235
There have been errors!
Assumo que minha compilação precisa de um número de versão exclusivo para cada distribuição.
1.1~wheezy
, 1.1+wheezy
, 1.1-1
(incrementando), 1.1+deb6
etc.? Como o jessie
está chegando e gostaria que o sistema reconhecesse isso durante dist-upgrades, acho que usar o nome da distribuição não funcionará, pois j
vem antes do w
e será reconhecido como mais antigo por APT. debian/control
para ter o número da versão específico para a distribuição na qual ele é construído. E para o changelog eu terei que invocar dch
para cumprir com esse número de versão também. Eu pessoalmente faria apenas um arquivo por distribuição.
Isso resolveria seu problema e teria o benefício de cada arquivo ser menor. (mais rápido para baixar e analisar por clientes)