Package: dpkg-dev
Version: 1.19.7
Severity: normal
File: /usr/bin/dpkg-source

Dear Maintainer,

It would help greatly if `dpkg-source` reported native or non-native
package type.

    -dpkg-source: info: using source format '1.0'
    +dpkg-source: info: using non-native source format '1.0'

There is no information about native vs non-native format in this wiki page
https://wiki.debian.org/Packaging/SourcePackage

Mentors FAQ explains it in a lot of detail, but still hard to understand.
https://wiki.debian.org/DebianMentorsFaq#What_is_the_difference_between_a_native_Debian_
package_and_a_non-native_package.3F

`dpkg-source` code does explain the logic either. Detection of source format
relies on checking command line flags, and it does not make sense to me.

    my $v = Dpkg::Version->new($self->{fields}->{'Version'});
    if ($sourcestyle =~ m/[kpursKPUR]/) {
        error(g_('non-native package version does not contain a revision'))
            if $v->is_native();
    } else {
        # FIXME: This will become fatal in the near future.
        warning(g_('native package version may not have a revision'))
            unless $v->is_native();
    }

https://salsa.debian.org/dpkg-team/dpkg/-/blob/09c9e02046f18f02bf3c3c2533bc557abfdc828c/scripts/Dpkg/Source/Package/V1.pm#L355

It would be nice to see a reference algorithm that detects different package
types. It would help people like me to troubleshoot issues with Debian
packaging faster.

https://github.com/openSUSE/obs-build/issues/633

I was not aware of the differences between native and non-native
packages before. Wish I could spend less time discovering this.

Reply via email to