1. Standardize the package format (say, a directory containing this-and-that).
2. Standardize where the packages go for personal and root installation.
3. Have an emacs package manager, that deliberately does not use its own metadata, but always uses the implied metadata of the packages in their locations.
4. Therefore, it doesn't matter what tool put the packages in place, so long as they are in place.
5. So use the built in package manager, or apt, or rpm, or whatever you prefer.
But how would that solve the problem of automatic cross-platform installation of a tool required by the emacs package? As I see it, the problem is in automating step 5. I guess you can find out the installed package manager in linux somehow and then call it, but how are you going to do that in windows?
I think you misread what I was getting at. In this scenario Emacs doesn't call the package manager - if emacs manages packages it does it for itself in elisp. But it doesn't matter to emacs whether the package was installed from an elisp program or from a .deb file, because the end result (predefined format in predefined place) is the same regardless. So you're free to use, or not use, the package manager of your choice. Or mix them.
1. Standardize the package format (say, a directory containing this-and-that).
2. Standardize where the packages go for personal and root installation.
3. Have an emacs package manager, that deliberately does not use its own metadata, but always uses the implied metadata of the packages in their locations.
4. Therefore, it doesn't matter what tool put the packages in place, so long as they are in place.
5. So use the built in package manager, or apt, or rpm, or whatever you prefer.