robert7 / nixnote2

Nixnote - Evernote desktop client for Linux
GNU General Public License v3.0
297 stars 32 forks source link

debian packaging - wrong debian changelog package name #213

Open prahal opened 1 year ago

prahal commented 1 year ago

The debian/changelog in the develop branch has NixNote as package name. But Debian only allow lowercase in the package name. Also, the package name in the debian/changelog has to match the one in the debian/control file (which is nixnote2).

LC_ALL=C dpkg-buildpackage -rfakeroot -b -us -uc -j4
dpkg-buildpackage: info: source package NixNote
dpkg-buildpackage: info: source version 2.1.10
dpkg-buildpackage: info: source distribution stable
dpkg-buildpackage: info: source changed by Robert Spiegel <nightingale7@gmail.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-source: error: source package name 'NixNote' is illegal: character 'N' not allowed
dpkg-buildpackage: error: dpkg-source --before-build . subprocess returned exit status 255

once I lowercase to nixnote the package name in the changelog I get:

LC_ALL=C dpkg-buildpackage -rfakeroot -b -us -uc -j4
dpkg-buildpackage: info: source package nixnote
dpkg-buildpackage: info: source version 2.1.10
dpkg-buildpackage: info: source distribution stable
dpkg-buildpackage: info: source changed by Robert Spiegel <nightingale7@gmail.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
dpkg-source: error: source package has two conflicting values - nixnote2 and nixnote
dpkg-buildpackage: error: dpkg-source --before-build . subprocess returned exit status 255

I don't know the policy to migrate a package to a new name. I noticed that it could be via a transitional empty package with the old name that depends on the new name. I believe you also have to add conflicts/replaces to the new package control file to replace the old one properly.

Might be easier in the meantime to keep the name nixnote2. Or do you want to switch to nixnote?

https://www.debian.org/doc/debian-policy/ch-controlfields.html#source Package names (both source and binary, see Package) must consist only of lower case letters (a-z), digits (0-9), plus (+) and minus (-) signs, and periods (.). They must be at least two characters long and must start with an alphanumeric character.