There are a few different ways to do this.
For our club-specific package repositories, we have some scripts wrapping dpkg-scanpackages and dpkg-scansources.
/afs/club.cc.cmu.edu/system/scripts/sh/debupdate-common.sh
/afs/club.cc.cmu.edu/system/scripts/sh/debupdate-codename.sh
The ''codename'' scripts are just simple wrappers over the common script. E.g.,
BASE="dists/codename/contrib" ARCHITECTURES="binary-amd64" KEYID="A259AB31C991B86BD9408D0DA2CD8CFF21DB6391" DIGEST="SHA256" scripts="`dirname "$0"`" . "$scripts/debupdate-common.sh"
If you just want to use an unsigned repository for temporary purposes, you can leave the KEYID out. You also may want to set a DEBIAN variable pointing to the root of the repository.
You then also need to create a Release file in dists/codename. It will look like the following,
Origin: CMU Computer Club Label: cclub Suite: codename Codename: codename Architectures: amd64 Components: contrib Description: Some package repository Date: Wed, 31 Jul 2019 01:59:35 UTC
You will also need to create dists/codename/{binary-amd64,source} directories.