When moving packages across repos, if nonfree packages dir support is enabled metadata has to be re-extracted from package file and new 'download' metadatum has to replace the old one. This because a free package can be considered as such in repo A but not in repo B.