esell / deb-simple

A lightweight, bare-bones apt repository server
MIT License
237 stars 17 forks source link

no Package: header / Problem with MergeList #28

Open MartinVerges opened 5 years ago

MartinVerges commented 5 years ago

Hi,

I currently looking into deb-simple as it looks promising. Unfortunately I encounter a problem that I can't circumvent.

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/localhost:9090_dists_stable_main_binary-amd64_Packages
E: The package lists or status file could not be parsed or opened.

my conf.json looks like the default one

{
    "listenPort" : "9090",
    "rootRepoPath" : "/opt/mirror",
    "supportedArch" : ["amd64"],
    "distroNames" : ["stable"],
    "sections" : ["main"],
    "enableSSL" : true,
    "SSLcert" : "server.crt",
    "SSLkey" : "server.key",
    "enableAPIKeys" : false,
    "enableSigning" : true,
    "privateKey" : "./private.key"
}

I generated the private/public key with -k -ke -kn option. The SSLcert is just a snakeoil from my ubuntu.

After initial start I upload some test files from my current deb mirror via for file in $(find . -name *_amd64.deb); do curl -k -X POST 'https://localhost:9090/upload?arch=amd64&distro=stable&section=main' -F "file=@$file"; done. I don't get an error message on upload from curl, nor from the server output (started with -v flag).

My /etc/apt/sources.list contains deb [arch=amd64] https://localhost:9090/ stable main.

How to prevent the error from happening? I already tried sudo rm /var/lib/apt/lists/* -vf without success.

esell commented 5 years ago

Hmm, I've not run into this before but I don't really use deb-simple anymore so I can't say I test it much :). I haven't tested using the arch option so maybe it is something there? I will spin up a VM and take a look...

dig412 commented 5 years ago

I think this issue and #30 are the same problem - deb-simple should be copying the contents of the control file into the Packages file, which will contain the Package: options etc.

I'm also getting this (and #30) on Ubuntu 16.04, using a .deb I created using NFPM (https://github.com/goreleaser/nfpm).

deb-simple prints:

error creating package: failed to inspect package: unexpected EOF

I'll investigate further.

dig412 commented 5 years ago

@MartinVerges I think this error is only with 1.4.0 - a version I built from master works fine. The fix from #31 is the key.

julianah commented 5 years ago

I am getting this issue with 1.4.1

alexanderturner commented 3 years ago

@MartinVerges this may be due to deb that you're uploading having a LZMA compressed control file. Can you extract the dpkg tar -zxvf and see if the control file has a .tar.xz extension. If so, https://github.com/esell/deb-simple/pull/38 should fix that