I’m not sure what you mean by relocatable/portable in this context. Do you mean a package that can be installed in
/opt or any other location? What are you ultimately trying to achieve?
In any case, for some background, the GitLab installation packages are not built in the traditional way in the sense that they are self-contained and bundle all dependencies in the package itself. The reason for this is to make installation much easier and even less painful upgrades (either of the underlying OS or of the package itself).
Regardless of the platform, these are called GitLab Omnibus packages, and you can find the package sources in the
omnibus-gitlab repository. You can for instance do a text search for
rpm in that repository to learn more about how the rpm packages are being put together.
I hope this helps!