Bug#977643: equivs: Can't specify spoofed package version

2020-12-18 Thread 5990
Woops, I forgot to answer a couple questions :p

> Kali should have much newer version of equivs than 2.2.0. It should
have 2.3.1.

I don't know what to tell you, I did an `apt update` before installing `equivs`
This are the contents of my `/etc/apt/sources.list`:
```
# Debian packages for stable
deb http://debian.unnoba.edu.ar/debian/ stable main contrib
# Uncomment the deb-src line if you want 'apt-get source'
# to work with most packages.
# deb-src http://debian.unnoba.edu.ar/debian/ stable main contrib

# Security updates for stable
deb http://security.debian.org/ stable/updates main contrib
```

> [..] But maybe that was just a mail client or editor issue.
Yeah, I think so too. Somewhere along the way, the trailing space must've been 
removed.



Bug#977643: equivs: Can't specify spoofed package version

2020-12-18 Thread 5990
Thanks for the blazing fast response!


> These are all the wrong syntax. Please try to use the syntax for
> dependencies (and provides) in Debian packages:

> Provides: python (= 2.7.16-1)

> (The blank after the equal sign is optional.)

> The format and syntax are documented in the Debian Policy, e.g. here:
> https://www.debian.org/doc/debian-policy/ch-relationships.html

That worked! ty


> [..] there is a proper reference to the Debian policy for the format
of some fields missing.
> Do you have any suggestion where to add such a reference? Where in the equivs 
> documentation did you look for such information?

Firstly I looked into the github repo. The README.md is pretty much empty, so 
that wasn't usefull.

I then found the Debian Package Tracker webpage for this package.[1] I may have 
missed it, but afaik, there's no documentation there, so I followed the link to 
the git repository.[2] This repo didn't have a README, so it was another dead 
end.

I then decided to look for the online manpages of equivs-control (bc, on my 
experience, online manpages are more frequently updated than CLI manpages), and 
found it's testing release.[3] However, this release didn't really have much 
details on formatting. Appart from the template path 
(/usr/share/equivs/template.ctl), it doesn't tell much.

Finally, I decided to check this template file, but there wasn't any extra-info 
compared to that of a brand-new control file.

My recommendations would be to add a README.md on the git repo, and to add a 
comment with that link to the template file.

[1]: https://tracker.debian.org/pkg/equivs
[2]: https://salsa.debian.org/perl-team/modules/packages/equivs
[3]: https://manpages.debian.org/testing/equivs/equivs-control.1.en.html



Bug#977643: equivs: Can't specify spoofed package version

2020-12-17 Thread 5990
Package: equivs

Version: 2.2.0

I can't manage to specify a package version on the template. In my particular 
case, I'm trying to fake a python version (I've already installed it through 
pyenv, so it's not recognized as an actual package), so I can install 
`python-dev (stable 2.7.16-1 amd64)` and get the damn `Python.h` to compile and 
install `pybluez`.

Anyway, I've tried with:
```
Provides: python 2.7.16-1
Provides: python: 2.7.16-1
Provides: python=2.7.16-1
Provides: python="2.7.16-1"
```

But when runing `equivs-build fakePython2.7.16` it's always rejected with some 
variant of:
`dpkg-gencontrol: warning: can't parse dependency python="2.7.16-1"`

Where the full contents of `fakePython2.7.16` are:
```
### Commented entries have reasonable defaults.
### Uncomment to edit them.
Source: fake.python
Section: misc
Priority: optional
# Homepage: 
Standards-Version: 3.9.2

Package: fake-python
Version: 1.1
# Maintainer: Your Name 
# Pre-Depends: 
# Depends: 
# Recommends: 
# Suggests: 
Provides: python="2.7.16-1", libpython-dev, python2.7-dev, python2-dev
# Replaces: 
# Architecture: all
# Multi-Arch: 
# Copyright: 
# Changelog: 
# Readme: 
# Extra-Files: 
# Links: 
# Files: 
# 
Description: 
long description and info
.
second paragraph
```

I've tried reading the source code of dpkg-gencontrol, but I just can't wrap my 
head around pearl (╯°□°)╯︵ ┻━┻
Any help would be greatly apreciated q.q

-- System Information:
Linux kali 5.8.0-kali3-amd64 #1 SMP Debian 5.8.14-1kali1 (2020-10-13) x86_64 
GNU/Linux

Sent with [ProtonMail](https://protonmail.com) Secure Email.

Bug#977643: equivs: Can't specify spoofed package version

2020-12-17 Thread Axel Beckert
Hi,

5990 wrote:
> Anyway, I've tried with:
> ```
> Provides: python 2.7.16-1
> Provides: python: 2.7.16-1
> Provides: python=2.7.16-1
> Provides: python="2.7.16-1"

These are all the wrong syntax. Please try to use the syntax for
dependencies (and provides) in Debian packages:

Provides: python (= 2.7.16-1)

(The blank after the equal sign is optional.)

The format and syntax are documented in the Debian Policy, e.g. here:
https://www.debian.org/doc/debian-policy/ch-relationships.html

So from my point of view this is not really a bug. It though suggests
that there is a proper reference to the Debian policy for the format
of some fields missing.

Do you have any suggestion where to add such a reference? Where in the
equivs documentation did you look for such information?

> Where the full contents of `fakePython2.7.16` are:
> ```
[…]
> Description: 
> long description and info
> .
> second paragraph
> ```

For me equivs-build bails out earlier with that control file:

  syntax error in control file: long description and info

In the last three lines (i.e. those after the line starting with
"Description:"), there must be at least one white space before every
line of the description. E.g. it should look like this:

Description: 
 long description and info
 .
 second paragraph

But maybe that was just a mail client or editor issue.

> Linux kali 5.8.0-kali3-amd64 #1 SMP Debian 5.8.14-1kali1
> (2020-10-13) x86_64 GNU/Linux

Kali should have much newer version of equivs than 2.2.0. It should
have 2.3.1.

Regards, Axel
-- 
 ,''`.  |  Axel Beckert , https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-|  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE
>