I'm working on creating a customized debian installer and there has been an issue with package versions of gcc-8-base (and probably other packages but using this one as my example) this conflict occurs as I'm attempting to install 'ubuntu-gnome-desktop'.
I'm using aptly to create a new mirror from the ubuntu archives in order to collect dependencies for 'ubuntu-gnome-desktop' then extracting an original ubuntu 18.04 server installer and importing the provided packages from the pool directory into aptly as well. I then merge the aptly repositories I've created to generate a new repository to drop into the installer for the ability to install gnome-desktop without need for a connection to the network during install.
Going through an installation, the installer eventually fails to install due to 'gnome-session' and 'ubuntu-desktop' "not going to be installed" error from apt. Poking around in the chroot /target environment after the install failed I can trace to a low dependency 'gcc-8-base' which has the wrong version number for ANOTHER package that requires gcc-8-base version =8-20180414-1ubuntu2 but version 8.2.0-1ubuntu2~18.04 is installed so nothing up the chain will install.
Questions: How am I getting this odd match-up of package versions? Why are there multiple versions of the same package? Is this a .udeb vs .deb issue? Is there a way to better control what packages are going into the install? I haven't had any luck finding a way to create a repo with all the needed .udeb and .deb files. Looking at the .deb/.udeb files provided with the original server installer gcc-8-base is provided with the version 8-20180414-1ubuntu2 so I must be getting the other version from the ubuntu archives, why are there two different versions?