CONTEXT
With a local package repository, I'm able to provide my APT instances with a set of software packages and configurations from a server which I control, allowing any client to install this software using just the normal apt install
command (providing the repository is added to their /etc/apt/sources.list{,.d/}
).
For my attempt at creating a local package repository, I followed this tutorial on bipmedia.com, which roughly consists of:
- Generate the .deb
- Store the .deb on an Apache2 web server
- Generate a Package.gz file
My Attempt
Generating the binary package file
To generate the .deb, the software files are required, a DEBIAN folder with metadata is generated and the following command compiles the code and assembles the package:
dpkg-deb --build [
source code tree with DEBIAN directory
]
Serve repository files with Apache2 server
I'm skipping this part as it's unrelated to the problem I'm seeking to solve with this question.
Generating a Packages.gz file (repository metadata)
With the an open shell instance whose working directory is the Apache server root folder containing the .deb
file from above, I called:
dpkg-scanpackages debian /dev/null | gzip -9c >debian/Packages.gz
PROBLEM
Calling apt update
on the client machine, it complains with:
W: The repository 'http://example.com packages/ Release' does not have a Release file.
This necessary file is missing in my local repository. It seems to be a register of package checksums, but after searching on the Internet, my very limited understanding of the topic kept me from being able to find out how to generate it.
Note: My /etc/apt/sources.list
file does have the following line:
deb http://example.com packages/
QUESTION
How do I generate the Release
file for a local APT package repository?