Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1552979 - Review Request: sthttpd - Tiny http server
Summary: Review Request: sthttpd - Tiny http server
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: FE-NEEDSPONSOR
TreeView+ depends on / blocked
 
Reported: 2018-03-08 01:20 UTC by Matt Tyson 🤬
Modified: 2018-07-03 03:21 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-07-03 03:21:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Matt Tyson 🤬 2018-03-08 01:20:08 UTC
Spec URL: https://mtyson.fedorapeople.org/sthttpd.spec
SRPM URL: https://mtyson.fedorapeople.org/sthttpd-2.27.0-1.fc27.src.rpm
Description: 

First Package. Seeking sponsor.

sthttpd is a fork and drop in replacement of the thttpd web server with bugfixes.  thttpd was dropped from fedora in 2016: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/OFFCAD66IWXQ2PCCFFLN6SQN4RFKIV2Q/

Note that upstream calls the project 'sthttpd', All binaries/services/logs are still called 'thttpd'.  Please advise if this is an issue.

Upstream repo: https://github.com/blueness/sthttpd


Fedora Account System Username: mtyson

Comment 1 Itamar Reis Peixoto 2018-03-08 04:04:48 UTC
rawhide will stop having gcc in default buildroot.

I think you probably should learn about systemd %sysusers* macro.

fix that and send a patch to upstream -> 


for man in docs/*.8 docs/*.1; do
    iconv -f iso8859-1 -t utf-8 -o tmp ${man}
    mv -f tmp ${man}
done

Comment 2 Matt Tyson 🤬 2018-03-08 05:13:12 UTC
> I think you probably should learn about systemd %sysusers* macro.

Do you have a link to any documentation on this macro?  I can't find much info about it and other packages in fedora that create users and groups don't seem to use it either.  (httpd/njinx)

I've added gcc to the BuildRequires

I've sent patches upstream for the utf8 issue and my warnings patch.  I'll update the specfile and srpm accordingly if/when upstream accepts my patches.

https://github.com/blueness/sthttpd/pull/8
https://github.com/blueness/sthttpd/pull/7

Comment 3 Jason Tibbitts 2018-03-08 05:40:18 UTC
That macro is extremely new and not yet even permitted by the packaging guidelines.  Not to mention the means by which the user is added bypasses the audit system completely.  It's also, as far I understand things, not compatible with any released version of Fedora.

It certainly shouldn't be suggested that anyone start using it at this point.

Comment 4 Itamar Reis Peixoto 2018-03-08 06:48:38 UTC
https://fedoraproject.org/wiki/Changes/SystemdSysusers
https://pagure.io/packaging-committee/issue/442

the counterpart thttpd has been removed from Fedora because no one cared about it, I think this package will have the same future.

https://src.fedoraproject.org/rpms/thttpd/blob/master/f/dead.package

if the intention is only to get in @fedora-packager fas group, I think filling a ticket here should be better, 

https://pagure.io/packager-sponsors like I did in this one ->

https://pagure.io/packager-sponsors/issue/337

Comment 5 Zbigniew Jędrzejewski-Szmek 2018-03-08 07:30:42 UTC
Yeah, the sysusers macro shouldn't be used just yet.

Assuming that you actually want sthttpd in Fedora, here's my review:

Source0 should be a full URL.

Requires: systemd → %?systemd_requires [https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd]

%setup -q + %patch0 -p1 → %autosetup -p1

%{__perl} → perl [https://fedoraproject.org/wiki/Packaging:Guidelines#Macros only suggests macros for directories, there is no reason to obfuscate executable names like that]

/var/run → /run [https://fedoraproject.org/wiki/Packaging:Guidelines#.2Frun]

make %{?_smp_mflags} → %make_build

You shouldn't use %{SOURCE1} in the scriptlets definitions, because it might be a full path. Use just the name of the service.
%systemd_post %{SOURCE1} → %systemd_post thttpd.service

Comment 6 Matt Tyson 🤬 2018-03-08 23:20:22 UTC
(In reply to Itamar Reis Peixoto from comment #4)
>
> the counterpart thttpd has been removed from Fedora because no one cared
> about it, I think this package will have the same future.

I'm a developer on Beaker ( https://beaker-project.org/ ) and thttpd is used as part of our automated test suite on the Fedora build machines.  thttpd was dropped from Fedora before I joined Beaker and it's now a bit of a pain point in our automated provisioning system.

If there's any issues in this package I will be happy to address them.

> 
> if the intention is only to get in @fedora-packager fas group, I think
> filling a ticket here should be better, 
> 

That was not my intention.


(In reply to Zbigniew Jędrzejewski-Szmek from comment #5)
> Yeah, the sysusers macro shouldn't be used just yet.
> 
> Source0 should be a full URL.

Where should I point this to? I'm only aware of the github page.  I have not been able to find an official tarball release.  Only a git repo tag.

> 
> Requires: systemd → %?systemd_requires
> [https://fedoraproject.org/wiki/Packaging:Scriptlets#Systemd]

Done

> 
> %setup -q + %patch0 -p1 → %autosetup -p1

Done

> 
> %{__perl} → perl [https://fedoraproject.org/wiki/Packaging:Guidelines#Macros
> only suggests macros for directories, there is no reason to obfuscate
> executable names like that]

Changed to /usr/bin/perl

> 
> /var/run → /run [https://fedoraproject.org/wiki/Packaging:Guidelines#.2Frun]

Done

> 
> make %{?_smp_mflags} → %make_build
> 

Done

> You shouldn't use %{SOURCE1} in the scriptlets definitions, because it might
> be a full path. Use just the name of the service.
> %systemd_post %{SOURCE1} → %systemd_post thttpd.service

Done.

Thank you for the review.

Comment 7 Dan Callaghan 2018-03-08 23:32:35 UTC
(In reply to Matt Tyson from comment #6)
> Where should I point this to? I'm only aware of the github page.  I have not
> been able to find an official tarball release.  Only a git repo tag.

There are some special guidelines for the case where upstream only publishes git tags and no tarballs.

https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Hosting_Services

Comment 8 Matt Tyson 🤬 2018-03-09 00:00:17 UTC
(In reply to Dan Callaghan from comment #7)
> (In reply to Matt Tyson from comment #6)
> > Where should I point this to? I'm only aware of the github page.  I have not
> > been able to find an official tarball release.  Only a git repo tag.
> 
> There are some special guidelines for the case where upstream only publishes
> git tags and no tarballs.
> 
> https://fedoraproject.org/wiki/Packaging:SourceURL#Git_Hosting_Services

Ah, perfect.  Thanks!

Spec file has been updated.

https://github.com/blueness/sthttpd/archive/2845bf5bff2b820d2336c8c8061cbfc5f271e720/sthttpd-2845bf5.tar.gz

or

https://mtyson.fedorapeople.org/sthttpd-2845bf5.tar.gz


Note You need to log in before you can comment on or make changes to this bug.