goreleaser / nfpm

nFPM is Not FPM - a simple deb, rpm, apk, ipk, and arch linux packager written in Go
https://nfpm.goreleaser.com/
MIT License
2.15k stars 157 forks source link

Generate .changes files for debian packages #488

Open SasSwart opened 2 years ago

SasSwart commented 2 years ago

Is your feature request related to a problem? Please describe.

I need to upload debian packages to reprepo for distribution to internal package mirrors. Reprepo needs a .changes file. I'm able to generate a debian compatible changelog using chglog, but I'm unable to create the .changes file.

I found this issue, which refers to an earlier one, but both only mention generating the changelog itself. I'm unable to find any documentation that speaks to generating the .changes control file.

Describe the solution you'd like

I'm happy to provide the PR that generates the .changes file as documented here.

Since this would be my first contribution to this project, I would like to engage the maintainers and community for advice first.

Describe alternatives you've considered

An alternative is for me to use dpkg-genchanges to generate the file, but nfpm is already signing my .deb file, so I would like it to sign the .changes file as well.

Search

Code of Conduct

Additional context

No response

caarlos0 commented 2 years ago

hmmm... probably nfpm/chglog

it might be possible to do it by using chglog and providing it as an extra file to the nfpm config though... maybe worth trying that first...

if it works, we can document it it :)

ArtemTrofimushkin commented 1 year ago

Hello @caarlos0 ! I tried to implement such functionality for generating .changes files for deb packages, according to docs: https://www.debian.org/doc/debian-policy/ch-controlfields.html#debian-changes-files-changes https://man7.org/linux/man-pages/man5/deb-changes.5.html

Can you look this PR, please?

bersace commented 6 days ago

hmmm... probably nfpm/chglog

it might be possible to do it by using chglog and providing it as an extra file to the nfpm config though... maybe worth trying that first...

Debian .changes are not related to changelog. .changes is a transmission file indicating a change to apply to a repository. It's an abstraction to attach metadata to an upload, including signing. This allows an uploader to sign an upload of a package signed by another source.

This is one of the reasons for the f in nfpm.