I've been looking through the documentation and have found many similar examples but not exactly right. I want to publish the same package to multiple distributions using local repos.
ERROR: unable to publish: unable to process packages: error linking file to public/pool/main/m/my-pkg/my-pkg_30xyz0_amd64.deb: file already exists and is different
The two packages are the same name, but different binaries since they are built with different distributions.
Hi,
I've been looking through the documentation and have found many similar examples but not exactly right. I want to publish the same package to multiple distributions using local repos.
Here's what I'm doing
$ aptly repo create -distribution=trusty -component=main -architectures=amd64 my-trusty
$ aptly repo create -distribution=wily -component=main -architectures=amd64 my-wily
$ aptly publish repo -architectures=amd64 my-trusty
$ aptly publish repo -architectures=amd64 my-wily
$ aptly repo add my-trusty trusty/my-pkg_30xyz0_amd64.deb
$ aptly repo add my-wily wily/my-pkg_30xyz0_amd64.deb
$ aptly publish update trusty
$ aptly publish update wily
ERROR: unable to publish: unable to process packages: error linking file to public/pool/main/m/my-pkg/my-pkg_30xyz0_amd64.deb: file already exists and is different
The two packages are the same name, but different binaries since they are built with different distributions.
Hello,
I was hoping for a solution with the aptly package, rather than having to hack something in the debian build.
I think my use case would be fairly common, and changing the debian name is not possible if you are not building the packages.
I noticed that when you create the local repo the pool directory has a two level "hash" of some sort for the deb package,
I assume this is based on the binary contents of the file.
Does anyone know why the local/public pool directories are structured differently?
Is there some overall aptly configuration that I can set to change the way the public pool directories are generated?
Hello,
I was hoping for a solution with the aptly package, rather than having to hack something in the debian build.
I think my use case would be fairly common, and changing the debian name is not possible if you are not building the packages.
I noticed that when you create the local repo the pool directory has a two level "hash" of some sort for the deb package,
I assume this is based on the binary contents of the file.
Local repo
pool
├── 00
│ └── bf
│ └── dbus-api_36bay0_amd64.deb
However the public pool has directories based on the package name
public/pool/
└── main
├── d
│ ├── dbus-api
│ │ └── dbus-api_36bay0_amd64.deb
If the public pool used the "hash" approach it would also solve the problem.
Does anyone know why the local/public pool directories are structured differently?
Is there some overall aptly configuration that I can set to change the way the public pool directories are generated?
Thanks