Bug 983784 - Review Request: myrtle - A simple programmable spreadsheet designed for learning statistics
Review Request: myrtle - A simple programmable spreadsheet designed for learn...
Status: CLOSED DUPLICATE of bug 999330
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
unspecified Severity medium
: ---
: ---
Assigned To: Nobody's working on this, feel free to take it
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-11 20:44 EDT by mray271
Modified: 2013-08-21 03:52 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-08-21 03:52:33 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description mray271 2013-07-11 20:44:46 EDT
Spec URL: <http://www.mockturtlesolutions.com/RPMS/myrtle.spec>
SRPM URL: <http://www.mockturtlesolutions.com/RPMS/myrtle-1.8-fc18.src.rpm>
Description: <Myrtle is a simple programmable spreadsheet and statistical analysis software specifically designed for learning statistics. It provides
the standard spreadsheet functionality one would expect like multiple
tabbed sheets, relative and absolute row and column referencing in
formulas, and a large catalog of built-in functions. Functions specific
to logic, computer science, mathematics, probability, and statistics are
available. Student's can easily create, customize, and update plots and
graphical summaries of their analyses.

Myrtle offers a unique bookmarking facility which allows students to
create and reuse named references to their favorite cell ranges. This
can help students focus attention on the important relationships among
particular rows or columns of data. Myrtle's graphics and reporting
features allow students to report back to their instructors their
mastery of course content.
Spec URL:http://www.mockturtlesolutions.com/RPMS/myrtle.spec
SRPM URL:http://www.mockturtlesolutions.com/RPMS/myrtle-1.8-fc18.src.rpm
>
Fedora Account System Username: mray271
Comment 1 mray271 2013-07-11 20:46:49 EDT
Here is a link to a successful Koji build as requested:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5596858
Comment 2 mray271 2013-07-11 20:49:16 EDT
Oops, forgot to add this:

This is my first package, and am seeking a sponsor.
Comment 3 Christopher Meng 2013-07-12 01:53:36 EDT
Initial view:

Hey guy, I'm wondering why you write a spec like a makefile.in?

Can you provide a "easy-to-read" spec?

That means ,drop all %define macros OK? And your spec doesn't match our guideline.

Besides, please remove Vendor and Packager tag, we don't need it.
Comment 4 mray271 2013-07-12 11:28:55 EDT
(In reply to Christopher Meng from comment #3)
> Initial view:
> 
> Hey guy, I'm wondering why you write a spec like a makefile.in?
> 
> Can you provide a "easy-to-read" spec?
> 
> That means ,drop all %define macros OK? And your spec doesn't match our
> guideline.
> 
> Besides, please remove Vendor and Packager tag, we don't need it.


Thanks for your response. I agree I did have a lot going on there with %define's.  I'm just working through this now for the first time so please bear with me.  I've gone ahead and updated (hopefully more conforming) SPEC and SRPM are at the same url's as before.

Spec URL:http://www.mockturtlesolutions.com/RPMS/myrtle.spec
SRPM URL:http://www.mockturtlesolutions.com/RPMS/myrtle-1.8-fc18.src.rpm

P.S.
Are their standard Fedora RPM macros (similar to %{_bindir}) that I can/should be using for the icon/hicolor and desktop directories and to do the gtk-update-icon-cache?  Thank you.
Comment 5 mray271 2013-07-12 11:30:08 EDT
Oh, the Koji build for the updated ones is here:

http://koji.fedoraproject.org/koji/taskinfo?taskID=5600023
Comment 6 mray271 2013-07-13 00:14:55 EDT
Thank you Christopher for your help.  Turns out I had simply put my %description before listing my BuildRequires in the .spec so koji was not picking them up.  Switched the order they appear in the .spec and now everything is working OK.

Was able to successfully build package from source on Koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5602959

The updated and working versions of SRPM and SPEC can still be found here:
SRPM: http://www.mockturtlesolutions.com/RPMS/myrtle-1.8-fc18.src.rpm
SPEC: http://www.mockturtlesolutions.com/RPMS/myrtle.spec

Please let me know if there is more I should do to bring these into conformance with Fedora JAVA packaging guidelines.

Best regards,

Dan Dougherty
Comment 7 Christopher Meng 2013-07-13 03:08:33 EDT
Yeah,  still many problems. 

But anyway it's better now. 

Issues:

1. Please remove "BuildRoot" tag,  since RPM 4.4, this is not needed. 

2. Your "Release" tag is incorrect. Please read this page to understand:

https://fedoraproject.org/wiki/Packaging:DistTag

3. Remove this line in %install section:"rm -rf $RPM_BUILD_ROOT"

4. Remove whole %clean section as modern RPM can handle this. 

5. Macros are not perfect. 

In Fedora, /usr/share is %{_datadir}, please don't use %{_prefix}/share. 

6. I found that you created a Directory /usr/local/bin, why? 

http://fedoraproject.org/wiki/Packaging:Guidelines#No_Files_or_Directories_under_.2Fsrv.2C_.2Fopt.2C_or_.2Fusr.2Flocal

7. Desktop file should be installed by desktop-file-utils, you included it in BR(BuildRequires), but you didn't use it to install such file,  that's bad. 

Fix:

desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ mockturtlesolutions-myrtle.desktop

8. Update icon cache script is wrong. 

Please refer to:

http://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Icon_Cache

9. %changelog section is missing, please include it. This is a MUST. You can use rpmdev tools to made a change log,  but I think know you hate need to know the basics. 

Please read this:

http://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs

10. Your "Summary" filed has a dot at the end of itself,  please remove it. This is a MUST.

11. In %files section,  we can see junks of icon locations,  and because these icons just have one same name,  you can replace these 12 lines with

%{_datadir}/icons/hicolor/*x*/apps/%{name}.png

Since you've pulled in java dependencies, %{_datadir}/icons can be replaced by %{_iconsdir}, however if you cannot build on Koji, please undo this. 



Suggestions:

1. I think you didn't follow RPM rules very well in the past, but don't be worried, we can do better! 

2. RPM in Fedora have many macros, although comparing with OpenSUSE, we only have little,  you can still work with macros very well. If you don't know what macro equals to what, just type in the terminal:

rpm -E macroname

which macroname should be replaced by something's like:"%{_datadir}", "%configure","%{_javadir}" and so on.  If you want to know some seldom used macros, just type rpm -E,  then press Tab to show all possibilities. 

3. Please read our guideline carefully:

http://fedoraproject.org/wiki/Packaging:Guidelines

You can find that all your mistakes can be found in this page. 

You still need to find a sponsor, I don't know java, so I cannot help you. But please fix packaging issues I mentioned before you do that. I hope the sponsor won't be annoyed by these packaging issues, so he can just concentrate on this package's code. 

And please learn how to write changelog, because you should bump the release version and write in the change log to introduce what you've done to the spec.
Comment 8 Christopher Meng 2013-07-13 03:10:12 EDT
typo: hate=have

I'm sorry on phone now.
Comment 9 mray271 2013-07-13 12:23:23 EDT
(In reply to Christopher Meng from comment #8)

Thank you again for all your helpful guidance.

I've put in the changes you suggested and mentioned those in the changelog. I was able to successfully build the package (1.8-2) from source on Koji:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5603840

The updated and working versions of SRPM and SPEC can be found here:
SRPM: http://www.mockturtlesolutions.com/RPMS/myrtle-1.8-2.fc18.src.rpm
SPEC: http://www.mockturtlesolutions.com/RPMS/myrtle.spec
Comment 10 Christopher Meng 2013-07-13 21:43:57 EDT
No big problems now.

But don't put

desktop-file-validate %{buildroot}/%{_datadir}/applications/mockturtlesolutions-myrtle.desktop

under %posttrans section, RPM cannot identify when it should be executed.

Please move it under %check section.

Since check section is not mentioned in your spec, you should add a %check section, and then write down this. Like this:

[snip..]

desktop-file-install --dir=%{buildroot}%{_datadir}/applications mockturtlesolutions-myrtle.desktop
install myrtle $RPM_BUILD_ROOT%{_bindir}
#Copy over desktop icons...
cp -R icons/* $RPM_BUILD_ROOT/usr/share/icons 

%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/mockturtlesolutions-myrtle.desktop

%post
#Update the icon cache.
/bin/touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
[snip again...]

Remember putting same things in different locations can cause problem, and you knew this when you put the %description after the %prep days ago. So please sort them out in order.

I think you can search a possible sponsor now.

Please read: http://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

Thanks.
Comment 11 mray271 2013-07-29 17:07:05 EDT
Christopher,

Mikolaj Izdebski (mizdebsk) has offered to maintain package. So expect to resolve this sometime after 2013-08-08 when he returns from a vacation.
Comment 12 Mikolaj Izdebski 2013-08-19 12:32:41 EDT
As agreed with Dan (the reporter) I am going to package myrtle and maintain it.
I have already packaged it in July, but I didn't have time to clean it up and submit for review yet.

I'll try my best to get the package reviewed tomorrow.  Sorry for the delay.
Comment 13 Mikolaj Izdebski 2013-08-21 03:52:33 EDT

*** This bug has been marked as a duplicate of bug 999330 ***

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