[Bug 1853888] Review Request: libLTK - Ladspa v3 ToolKit

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=1853888

Lyes Saadi <fedora@xxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fedora@xxxxxxx
             Blocks|                            |177841 (FE-NEEDSPONSOR)
           Doc Type|---                         |If docs needed, set a value



--- Comment #1 from Lyes Saadi <fedora@xxxxxxx> ---
Hello :)!

You seem to be new here! You should consider reading thoroughly this page:
https://fedoraproject.org/wiki/Join_the_package_collection_maintainers

I am not a sponsor, so I won't do a proper review of your package. But, I've
got some advices :P.

---
1. Store your project online, on a permanent place, preferably on a forge.

Mainly because the Source tag have to be a URL (except if you have to clean the
package before of some prohibited content or you use revision control, but you
at least need to provide the URL from where you got the code in a comment), see
https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/.

A forge is an ideal choice for that, I would recommend GitHub, GitLab, Pagure,
SourceHut, Bitbucket... etc.

Also, fix your url. For me at least, `codecolla.com:10734` is unreachable.

---
2. Please fix your indentation and separate different sections.

Your indentation is huge and inconsistent. Maybe you use 2-tab indentation? Use
spaces instead, it will render more nicely and will be more readable.

Also, we tend to separate these sections with 1 or more blank lines: Package
Information (Name-Version-Release-Summary), Upstream Information
(License-URL-Source[-Architecture]), BuildRequires, Requires, Description,
Prep, Build, Install, Files, Changelog.

Example:
```
Name:           LTK
Version:        1.5.3
Release:        11%{?dist}
Summary:        Ladspa v3 ToolKit

License:        GPLv3
URL:            codecolla.com:10734
Source:         %{name}-%{version}.tar.gz

BuildRequires:  gcc
BuildRequires:  glibc-devel
BuildRequires:  make
BuildRequires:  libunwind-devel

Requires:       libunwind

%description
Ladspa V3 ToolKit is a general purpose toolkit
enabling object oriented programming in c.


%prep
%setup -q -c


%build
make NAME=%{name} VERSION=%{version}


%install
[...]
```

See how much nicer and cleaner it looks ;)?

---
3. Use `%make_build NAME=%{name} VERSION=%{version}`.
This will allow for parallel build and is recommended for more consistency
between packages ;).

Even better, you could just add NAME := libLTK and VERSION := 1.5.3 to the
Makefile, so you'd only have to call `%make_build`.

---
4. Add the installation process to the Makefile.
In an `install` target, and replace all that with `%make_install`. This will
make it way more readable and easier to maintain.

---
5. Add the compiler flags!
By adding `%set_build_flags` in a separate line before `%make_build` or, by
adding `%{optflags}` after `%make_build` like that: `%make_build %{optflags}`.
See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags.

---
6. Add a license to the package by including it in the tarball.
And add in the `%files` section `%license LICENSE`. GPLv3 requires that the
license be distributed with the program.

---
7. Remove the photos from the tarball.
You don't install them, and they add an unnecessary weight. And if they are not
Licensed in GPLv3, it could be a Licensing violation.

---
8. Remove the `%postun`.
```
%postun
rm -f %{_libdir}/lib%{name}.so
rm -f %{_includedir}/%{name}
```
It is done automatically.

---
9. Add a devel subpackage for the includes and unversioned.so.
If you don't know how to do this, look at packages like libhandy for example:
https://src.fedoraproject.org/rpms/libhandy/blob/master/f/libhandy.spec

But generally, just add this after the `%description` section:
```
%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    devel   
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
```

And this after the `%files` section:
```
%files          devel
%{_libdir}/lib%{name}.so
%{_includedir}/%{name}.%{version}
%{_includedir}/%{name}
%{_includedir}/%{name}.%{version}/instance.h
%{_includedir}/%{name}.%{version}/utils.h
```

And remove those lines from the other files section.

----
10. Version your changelogs.
You don't need to do that for older changelogs, but, at least, the last one:
```
* Sat Jul 04 2020 Lewis ANESA <lan@xxxxxxxxxxxxx> - 1.5.3-11
- Merge branch 'logs'
```

----
11. Rename the spec or the package.
The package and the spec should have the exact same name. I would recommend
renaming the package `libLTK` -> `ltk`, unless you really want your package to
be uppercase (RPM is case-sensitive, it will be harder to install), also the
lib suffix isn't necessary in Fedora.


I hope I've covered them all :P.



Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=177841
[Bug 177841] Tracker: Review requests from new Fedora packagers who need a
sponsor
-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux