6

Problem Summary:

reprepro list stretch doesn't list any packages in my apt repository and reprepro remove stretch <package> doesn't delete any packages from my repository. How can I:

  1. Add packages so that reprepro list stretch finds them, or
  2. Use reprepro to delete packages from my repo

The Environment:

I have a build machine with an apt repository on it. When I finish building, I install my package:

sudo reprepro -Vb /var/www/html/apt/debian \
              includedeb stretch \
              ${build_dir}/a320-latest-0.0.${SVN_REVISION}-Linux.deb

Everything seems to work really well. I can apt-get install a320-latest from any client which has added my repository to their /etc/apt/sources.list.d/.

When I inspect further, I can confirm that I have several packages installed:

bob@apollo:/var/www/html/apt/debian$ tree pool
pool
└── main
    ├── a
    │   ├── a320
    │   │   └── a320_0.0.571_amd64.deb
    │   └── a320-latest
    │       └── a320-latest_0.0.575_amd64.deb
    ├── h
    │   └── helloworld
    │       └── helloworld_0.2_amd64.deb
    └── s
        ├── sim-dev
        │   └── sim-dev_1.0_amd64.deb
        ├── sim-devenv
        │   └── sim-devenv_1.0_amd64.deb
        ├── sim-runtime
        │   └── sim-runtime_1.1_amd64.deb
        └── sim-workstation
            └── sim-workstation_1.0_amd64.deb

11 directories, 7 files

These also seem to be present in the repository registry:

bob@apollo:/var/www/html/apt/debian$ cat dists/stretch/main/binary-amd64/Packages | grep Package:
Package: a320
Package: a320-latest
Package: helloworld
Package: sim-dev
Package: sim-devenv
Package: sim-runtime
Package: sim-workstation

Expected workflow:

I would like to delete pool/main/a/a320 and pool/main/h/helloworld.

I've tried:

bob@apollo:/var/www/html/apt/debian$ sudo reprepro list stretch
bob@apollo:/var/www/html/apt/debian$ sudo reprepro remove stretch a320
Not removed as not found: a320
Exporting indices...

I expected reprepro list stretch would list my packages, and reprepro remove stretch a320 would remove the a320 package. But that doesn't seem to do anything.

I was tempted to just delete the *.deb files, and the entries in ./dists/.../Packages manually, but I suspect that this will destroy some checksums and destroy the repository. It would probably also put ./dists out of sync with ./db which contains some binary objects (SQLite?).

I also tried reprepro export stretch and reprepro update stretch but they didn't seem to do anything.


At least something is working

Everything is great for the client right now.

Also, I can confrm that reprepro finds the stretch repository, otherwise it would give one of these errors:

bob@apollo:/var/www/html/apt$ sudo reprepro list stretch
Error opening config file './conf/distributions': No such file or directory(2)
There have been errors!

bob@apollo:/var/www/html/apt/debian$ sudo reprepro list wheezy
Cannot find definition of distribution 'wheezy'!
There have been errors!
Stewart
  • 374

1 Answers1

7

You have part of your solution right there in your question:
you have to tell reprepo where to look!

sudo reprepro -Vb /var/www/html/apt/debian list stretch

and

sudo reprepro -Vb /var/www/html/apt/debian remove stretch a320

should do the trick.

Stewart
  • 374
Robert Riedl
  • 4,401