propper fix there..
on my old disco, it was time to take it all out,
clean all the pristeen paint on the roof seal areas,
cut a suitable sized galvo sheet steel,
plenty sealent, big blind stainless pop rivits worked from the centerline outwards to prevent distortion, left for an hour or so in the sun,
then a heavy coat of shiney black paint.
the roof lining without any support i just ran round the inside edges with super strength grippy stuff that soaked into the porus roof lining..
keep meaning to paint the inside to match the colour,
or maybe find some coloured carpet tiles to fit the void..
my old landy is far too old to be a perfectionist,
but my bodge has been water tight ever since...thats what really matters eh..