[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Pinning, Local Repositories



I am working on a project where we need to maintain several deployments of
our code.  I want to set up a repostory so we can:
    - Package our main code up as a .deb
    - Package CPAN modules up that don't already have .deb's
    - Force certain versions of packages /not/ to upgrade until we're
      ready.

On apt.example.net, I have:
    ~apt/htdocs/binary/*.deb

On glumble.example.net, I have:
    /etc/apt/sources.list
        deb http://apt.example.net binary/
        # ... normal repo's
    /etc/apt/preferences
        Package: *
        Pin: release o=Example
        Pin-Priority: 900
    apt-cache policy
        # a bunch of 500's, then:
        900 http://apt.example.net binary/ Packages
        release o=Example
        origin apt.example.net

The setup works for the simple cases of when we put a package up that's
newer than the one in the distro's repository, but the pinning seems to
have no effect.  If I upload libfoo-perl.0.deb, it doesn't take
preference over the distro's libfoo-perl.1.deb.

I've tried a bunch of different options with pinning, but I guess I'm to
the point where I give up and ask the experts.  My figurin' is that the
o=Example part is not the right thing to key on.



And while I'm at it, I might as well ask: is there a standard way of doing
authentication and encryption for the local repositories?  Using "https://";
in my sources.list gives:
    E: The method driver /usr/lib/apt/methods/https could not be found
...and I'm pretty sure I have no idea how to do authentication.  Both of
these things kind of go against the spirit of an open-source repository, I
suppose.  Maybe I should just do my own downloading with scp, and then the
solution is fairly complete - assuming I can get those packages to not be
overridden by the distro's packages.

Thanks for your help!
-rjk



Reply to: