Bug 1074714

Summary: Review Request: joomla - Joomla! is an award-winning open source CMS for building powerful websites
Product: [Fedora] Fedora Reporter: Dale Macartney <dbmacartney>
Component: Package ReviewAssignee: Christopher Meng <i>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: dbmacartney, i, package-review, pbrobinson
Target Milestone: ---Flags: i: fedora-review?
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-14 20:50:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1074716    
Bug Blocks:    

Description Dale Macartney 2014-03-10 23:52:09 UTC
SPEC: http://dbmacartney.fedorapeople.org/joomla/joomla.spec
SRPM: http://dbmacartney.fedorapeople.org/joomla/joomla-3.2.3-1.fc20.src.rpm

Description
Joomla is an award-winning content management system (CMS), which enables you to
build Web sites and powerful online applications. Many aspects, including its
ease-of-use and extensibility, have made Joomla the most popular Web site
software available. Best of all, Joomla is an open source solution that is
freely available to everyone.

Koji scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6619981

Comment 1 Christopher Meng 2014-03-11 01:35:52 UTC
/var -> %{_localstatedir}

%define -> %global

/etc -> %{_sysconfdir}, also %config(noreplace).

You can take a look at how "wordpress" be packaged into Fedora via cgit, you may need to request some bundling exceptions.

Ref: https://fedoraproject.org/wiki/Changes/Web_Assets

Comment 2 Dale Macartney 2014-03-11 08:44:52 UTC
SPEC: http://dbmacartney.fedorapeople.org/joomla/joomla.spec
SRPM: http://dbmacartney.fedorapeople.org/joomla/joomla-3.2.3-1.fc20.src.rpm
koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6620758

Can you be a little more specific on what you're meaning with the bundling exceptions? I don't quite follow. 

Thanks

Comment 3 Peter Robinson 2014-03-11 09:11:44 UTC
> Can you be a little more specific on what you're meaning with the bundling
> exceptions? I don't quite follow. 

Basically if it's a separate standalone library or similar it should either use the distro version where possible or be packaged separately. It enables easy review for the security team because they don't have to try and work out what has multiple versions of the same things. Same goes for bug fixes, fix it once.

Some details that may be relevant:
https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
https://fedoraproject.org/wiki/Changes/Web_Assets

Comment 4 Dale Macartney 2014-03-11 14:37:53 UTC
Thanks Peter

I've removed the shared libraries and linked to existing php packages, as well as moved web content to /usr/share/joomla

SPEC: http://dbmacartney.fedorapeople.org/joomla/joomla.spec
SRPM: http://dbmacartney.fedorapeople.org/joomla/joomla-3.2.3-1.fc20.src.rpm
koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=6621795

Comment 5 Michael Schwendt 2014-03-12 12:06:06 UTC
Re: comment 1

> /var -> %{_localstatedir}
> 
> /etc -> %{_sysconfdir}, also %config(noreplace).

Please, Christopher,

it has always been macro-madness in a spec file to replace /var with %_localstatedir if nothing in the build process evaluates %_localstatedir.

Even if %configure and a compatible configure script were used, the packager would still need to examine whether the build environment files used %_localstatedir actually.

Where a build env uses paths starting with /var, it has always been better/preferred to either hardcode /var or use %_var, if wanting to use macros for consistency: https://fedoraproject.org/wiki/Packaging:RPMMacros#Other_macros_and_variables_for_paths

And nowadays, the guidelines are more lax anyway, meaning it is not mandatory to use long macro names if there is no benefit:
https://fedoraproject.org/wiki/Packaging:Guidelines#Macros

Comment 6 Dale Macartney 2014-03-13 09:27:27 UTC
The SELinux dependency on this package has now been actioned. 

Is there anything left outstanding stopping this package from moving forward?

Comment 7 Christopher Meng 2014-03-13 10:20:55 UTC
(In reply to Dale Macartney from comment #6)
> The SELinux dependency on this package has now been actioned. 
> 
> Is there anything left outstanding stopping this package from moving forward?

From the koji log in comment 4(Note that joomla upstream compressed some js libraries to save the place, I use "*" to represent them all):

1. administrator/templates/isis/js/jquery.js
   media/jui/js/jquery.ui.js
   media/jui/css/jquery.*.css:

http://jquery.com/

--------------

2. administrator/templates/isis/js/bootstrap.min.js
   media/jui/js/bootstrap.js
   media/jui/js/bootstrap.min.js:

http://getbootstrap.com/

--------------

3. libraries/phpass/:

www.openwall.com/phpass/

--------------

4. libraries/phputf8/:

http://sourceforge.net/projects/phputf8

--------------

5. libraries/simplepie/:

http://simplepie.org/

--------------

6. media/system/js/jquery.Jcrop*.js
   media/system/css/jquery.Jcrop.min.css:

http://deepliquid.com/content/Jcrop.html

--------------

7. media/system/js/caption*.js

http://captionjs.com/

--------------

8. media/system/js/modal.js
   media/system/css/modal.css:

From bootstrap also.

--------------

9. media/system/js/mootools-core*.js:

http://mootools.net/core

--------------

10. media/system/js/mootools-more*.js:

http://mootools.net/more

--------------

11. media/system/js/mootree.js
    media/system/css/mootree.css:dropdowns.less

http://mootools.net/forge/p/mootree

--------------

12. media/system/js/multiselect.js:

http://loudev.com/

--------------

13. media/system/js/punycode*.js:

http://mths.be/punycode

--------------

14. media/jui/js/chosen.jquery*.js:

http://harvesthq.github.io/chosen/

--------------

15. media/jui/js/jquery-migrate*.js:

https://github.com/jquery/jquery-migrate/

--------------

16. media/jui/js/jquery.minicolors*.js:

https://github.com/claviska/jquery-miniColors/

--------------

17. media/editors/tinymce/

"tinymce" package in pkgdb.

--------------

Plus, some less files are from bootstrap.

I'm dead now.

Comment 8 Dale Macartney 2014-03-14 20:50:48 UTC
Now that's quite a long list. 

Based on the current state of jquery alone not making it into fedora, I'm marking this bug as closed, with the hope it can be reopened and moved forward in the future.