I created an APT repository using deb-scanpackages, and it seemed to go well.
When I did a apt-get update
on another server, the Packages.gz file was retrieved, and all seemed well - until I went to search for the packages contained in that repository (all packages are created locally).
Several recommendations suggested reprepro
; I tried that. Same result - except I had to rebuild the packages with the Priority and Section lines in the control file (nothing says this anywhere). The reprepro utility also generates a complicated directory structure which required rewriting the repository entry on the requesting server.
I then found that the arch directory referenced i386 and not amd64 (which was requested by the requesting server).
Is it possible that the AMD64 system isn't seeing packages compiled for i386? Searching the *Packages files in /var/lib/apt/lists show that the only packages for i386 are those I added (the other files are for the server - Ubuntu 10.04.2 LTS).
The server the packages were built on is Ubuntu 10.04.2 LTS i686; the requesting server is x86_64.
I found some discussion at the Debian AMD64FAQ but it claims to be obsolete. It makes mention of an extended syntax for repository listings for APT, and a command dpkg-subarchitecture - neither of which work on the local AMD64 server.
Do I have to build two different sets of packages?
Yes, you do need to build 2 sets of packages - you cannot install i386 packages on an amd64 system without forcing the installation, which generally should not be done.