Hi Zen,
We have done this migration recently, taking a standalone subject-based EPrints repository and importing it into our DSpace instance, where it now lives as one community in a campus-wide IR.
We have some scripts on Github [1], but these were not created with the intention that they would be anything more than a one-off solution to our particular problem, so I'm not sure how much help they would be to you. I suppose it depends on the requirements of your migration project. Our approach was to do what Tim described, essentially following the Extract-Transform-Load pattern.
(1) For extraction, for the most part we just pulled data from the Dublin Core representation of the metadata that was exposed by the existing EPrints instance. If I remember correctly there was just one thing we needed to pull from the database directly, and that was easy to integrate by matching on the EPrints ID.
(2) Next, we wrote some scripts that performed a custom crosswalk of this Dublin Core metadata to the metadata format required by our DSpace. This was pretty straightforward because DSpace also uses DC metadata, though there were things that needed to be mapped over (specifically the type vocabulary did not match up exactly between the two versions of DC). We also used this opportunity to bring the data into closer alignment with the standards and practices of our IR. One of the challenges for us was that the existing EPrints repository had included many external links (without the original files), and a large number of those links were broken. We ended up updating the links that were permanent redirects but excluding broken links from our import package unless the object also had a copy of the binary.
(3) Finally, we had scripts to assemble a package in Simple Archive Format for import to DSpace.
If any of this is of interest I'm happy to answer specific questions.
Best,
Josh Westgard
University of Maryland Libraries