* Stephan Sürken <abs...@debian.org> [141104 14:39]:
> with a Debian native package having a setup like (for example) so
>
> debian -> debian-wheezy
> debian-squeeze/
> debian-wheezy/
>
> , i.e., 'debian/' being a symlink, reprepro fails to find
> 'debian/control', and finally fails with
>
> ---
> No section and no priority for 'PACKAGE', skipping.
> There have been errors!
> ---
>
> This is due to 'sourceextraction.c: parse_tarfile()', which
> iterates through all archive entries, and will never find
> "debian/control" as archive member string. I.e., iterating of
> libarchive entries, you only get
>
> "debian"
> "debian-wheezy/control"
>
> in this case. Maybe some extra code when "debian/" is a symlink
> may help here, in that loop.
>
> Of course this (i.e., using a symlink here) is not a standard or
> desireable setup; however, other Debian tools just work find
> with such a setup, and I don't know of any documented
> restrictions -- so I think this should be fixed in reprepro.

To quote the manpage:

"Note that .dsc files do not contain section or priority, but the
Sources.gz file needs them. reprepro tries to parse .diff and .tar
files for it, but is only able to resolve easy cases. If reprepro
fails to extract those automatically, you have to either specify a
DscOverride or give them via -S and -P"

i.e. extracting the section and priority from the source package is a
"let's try" efford, and there are other cases where I decided reprepro
will just give up (like some cases where debian/control is both in
.orig.tar.gz and .diff.gz).

I'll have a look. I guess the case where the symlink is before the
directory might be easy to add, while the reverse case will likely
fall in the "not easily done with sequential parsing, thus not
supported" category. Sorry.

There are three workarounds:

- As the manpage says, name section or priority with -S and/or -P or
  via a override file.

- Use include with the .changes file. A .changes file usually contains
  section and priority for the source, so reprepro

- for private repositories or packages, there is a non-standard (and
  I guess also undocumented) extension reprepro has: If a .dsc contains
  Section: or Priority: it will use those values instead of looking
  further. (Not sure what the best way is to get them there, in specific
  workflows adding a XS-Section: in addition to the Section: in the
  debian/control might get this. Only suiteable for private packages
  of course).

        Bernhard R. Link
-- 
F8AC 04D5 0B9B 064B 3383  C3DA AFFC 96D1 151D FFDC


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to