Hi Derek,
dspgh(a)needcaffeine.net writes:
Hello fellow developers.
I've joined this list quite a while ago, mostly to keep a pulse on the Fedora
development community, but also to look to become a package contributor. But before
getting to that, a few words about myself.
I've been "into computers" since mid-80's, started off with a 4.77 Mhz
8088 (IBM PCjr). I learned Unix in the early 90's on an IBM AIX system, where I
picked up C programming and sysadmin experience. Which eventually took me into the world
of Linux (I think it was kernel version 0.12, came on a boot disk and root disk pair I
grabbed off a BBS, long before there was easy general public Internet access).
Anyway I've been focused on Red Hat based distros for the past 15 years, and at my
current employer I oversee about 700 systems installed at customer locations (where I was
the resource responsible for packaging our applications and creating system build
images).
Any way, what I'd like to give back to the community is a really nice backup system
called Snebu (Simple Network Encrypting Backup Utility). I initially developed this more
than 8 years ago since there wasn't anything else that fit my needs -- I used it to
back up my personal systems, and also in some lab environments. I've read plenty of
rants that have been posted about how backups are either too difficult to set up, or
don't support multiple clients, or require a repository encryption password to be
placed in plain text on clients, and other issues people have. With that in mind, I
believe that Snebu can be just what people want.
I have not really looked into the source code, so forgive me if that is
obvious, but why is the snebu executable setuid?
Before going through and submitting the package for formal review,
I'd appreciate some feedback on what I have packaged up so far. The current release
is at
https://github.com/derekp7/snebu/releases/download/v1.1.0/snebu-1.1.0-1.f..., and
the project web site is at
https://www.snebu.com.
The spec file is mostly good, I'd suggest a few changes though:
- use macros instead of hardcoded paths, e.g. %_bindir instead of
/usr/bin/
- don't disable the debug package generation, Fedora packages must
include debuginfo versions
- replace make %{?_smp_mflags} with:
%set_build_flags
%make_build
- mark LICENSE.txt as %license and not as %doc
- there is no need to install the documentation under
/usr/share/doc/snebu manually, you can just add the following into
%files and rpmbuild will copy the files into the right place:
%doc readme.md
%doc snebu.adoc
- I'd recommend to replace the %pre check for the snebu user with a
systemd-sysusers config:
https://fedoraproject.org/wiki/Changes/SystemdSysusers
And one general issue not directly related to rpmbuild itself: does your
Makefile honor the CFLAGS & LDFLAGS environment variables? Because if it
does not, then all the compiler hardening flags that %set_build_flags
inject will be just ignored.
Cheers,
Dan