Score:0

How can I enable publish of multiple package versions in Reprepro?

tr flag

We currently use Reprepro to provide in-house publishing of various proprietary packages (eg Security agents) which vendors only provide .deb download for rather than upstream repositories for direct consumption.

We are able to publish packages just fine, but only the latest version is retrievable via apt-cache madison somepackage

We'd like to essentially do what GitLab for example is able to do and make multiple versions available, like in this example:

apt-cache madison gitlab-ce | head
 gitlab-ce | 14.4.2-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
 gitlab-ce | 14.4.1-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
 gitlab-ce | 14.4.0-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages
 gitlab-ce | 14.3.4-ce.0 | https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu bionic/main amd64 Packages

I've read and re-read the reprepro manpage but it's not very easy to understand. All I know from reading the reprepro/apt mail lists about multiple-versioning is that in the last 3 or so years, they added the capability to reprepro, and that's all I've been able to find.

Thanks!

ao flag
This question and its answer may give you some help: https://serverfault.com/q/556206
Score:2
kr flag

This was fixed in a recent version of reprepro to add the functionality for multiple versions. It is now in the Debian repo and will make its way to the Ubuntu repositories eventually. You can use that package today (reprepro (5.4.1-1)) or compile the software to use multiple versions with the Limit and Archive arguments:

Limit

Limit the number of versions of a package per distribution, architecture, component, and type. The limit must be a number. If the number is positive, all old package version that exceed these limit will be removed or archived (see Archive option), when a new package version is added. If the number is zero or negative, all package version will be kept. By default only one package version will be kept.

Archive

Specify a codename which must be declared before (to avoid loops). When packages exceed the version count limit (specified in Limit), these packages will be moved to the specified distribution instead of being removed.

KODIAK FIRESMITH avatar
tr flag
Thanks very much! Looks like this resolves the old RFE from 2014, very exciting!
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.