browsh icon indicating copy to clipboard operation
browsh copied to clipboard

SRPM request

Open kees-closed opened this issue 2 years ago • 7 comments

Hi,

browsh is not packaged for Fedora. I would like to maintain it. I see there are already RPMs on your download site. Could you please share the SRPM? Then I can inspect the spec file, update it to the latest standards if needed and go through the review process and finally submit it as a package in Fedora. What do you think about that?

kees-closed avatar Jun 22 '22 03:06 kees-closed

hi. i would gladly be comaintainer and rpm-package-reviewer.

cheese1 avatar Jun 22 '22 15:06 cheese1

The RPMs are built with Goreleaser: https://github.com/browsh-org/browsh/blob/540882ec8c9e40414de54d6c43f72f861c4e89d9/interfacer/src/.goreleaser.yml But it's been so long since I've made a release I'm not sure how relevant it is anymore

tombh avatar Jun 23 '22 20:06 tombh

The RPMs are built with Goreleaser: https://github.com/browsh-org/browsh/blob/540882ec8c9e40414de54d6c43f72f861c4e89d9/interfacer/src/.goreleaser.yml But it's been so long since I've made a release I'm not sure how relevant it is anymore

How would this SRPM be generated? Sorry, been a bit busy. If you could be so kind to show how this SRPM is generated, then I can use that as a template and review it and submit it. @cheese1 thanks for volunteering! I'll keep you in the loop.

kees-closed avatar Jul 21 '22 09:07 kees-closed

Oh, it appears Goreleaser doesn't support SRPMs https://github.com/goreleaser/goreleaser/issues/3136

Can rpmbuild convert RPMs to SRPMs?

tombh avatar Jul 26 '22 02:07 tombh

Can rpmbuild convert RPMs to SRPMs?

As far as I know it's a one way street. SRPMs also have to be downloaded as a separate file. If you extract an RPM you just get the built software and some scripts that run before and/or after the install. An SRPM can be extracted with rpmdev-extract or more complex tools.

So the short answer is no.

What can you tell me about Goreleaser? Is that how you package this software at the moment? An RPM is build based on a so called "spec" file. Which contains some metadata about the package and how to prepare, compile, install and configure the software on a system. So to give a blunt example, you do a configure, make, make install and then move the installed files into a tree which is then extracted by the RPM installer. Basically anything can be packaged. But indeed, there are instances it becomes a challenge. Just trying to understand if this is one of those instances.

kees-closed avatar Aug 05 '22 11:08 kees-closed

Thanks for the explanation. So Goreleaser is way too magical for me to give any advice here. All I have to do to build the RPM is add this one little line to Goreleaser's config file. Unfortunately it doesn't seem like there is a similar line for SRPMs, so I don't know what advice to give here. Of course, there must be a way to automate it independently of Goreleaser, but that will take both a familiarity with Browsh's build process and SRPM's build process. Which it sounds like between us we have? I still don't have huge amounts of time to work on Browsh, but if you could have a cursory glance at Browsh's build process, eg in the Github Workflow, then it could make it easier for me to include the SRPM in the automated releases.

tombh avatar Aug 15 '22 12:08 tombh

The best way to approach this is by following a manual build and then integrate that into a spec file. I'll be too busy for the coming months for this. But I can have a look what Goreleaser does under the hood and then translate that into this.

kees-closed avatar Aug 15 '22 12:08 kees-closed