в общем разобрался.
1. Пустая строка после MD5 роли не играет
2. Проблема была действительно с путями. Пытался сделать по аналогии с официальным репозитарием. Т.е. в списке источников писал deb
http://www.internal/deb hardy main. Ну и начиналось скакание по подкаталогам. В логах веб-сервера посмотрел на свистопляску, плюнул и поставил в списке источников вместо hardy main слэш (/). Соответственно переправил Packages и Release. Всё сразу и заработало. Позже разберусь досконально с их структурой каталогов, может и сделаю по другому. Но скорее всего начну потихоньку закачивать копию их репозитария.
P.S. В скрипте в printf " "$md5sum" %16d Packages.gz" $sizeinbytes >> Release не мешало-бы добавить
\n, т.е. printf " "$md5sum" %16d Packages.gz\n" $sizeinbytes >> Release . Скорее всего у всех и без него работает (иначе давно-бы кто-то да поправил), но Release с ним смотрится красивее, если в нём указывается более одного файла.