Bug 1079436 - Review Request: openstack-tuskar-ui - The UI component for Tuskar
Summary: Review Request: openstack-tuskar-ui - The UI component for Tuskar
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: John Eckersberg
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-03-21 14:50 UTC by Jordan OMara
Modified: 2015-01-19 10:57 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-01-19 10:57:28 UTC
Type: ---
Embargoed:
jeckersb: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Jordan OMara 2014-03-21 14:50:55 UTC
Spec URL: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec
SRPM URL: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-1.fc20.src.rpm
Description: tuskar-ui is a user interface for Tuskar, a management API for OpenStack deployments. It is a plugin for OpenStack Horizon. 
Fedora Account System Username: jomara

Some rpmlint warnings:

0 Rpmlint
    171 -------
    172 Checking: openstack-tuskar-ui-0.1.0-1.fc20.noarch.rpm
    173           openstack-tuskar-ui-0.1.0-1.fc20.src.rpm
    174 openstack-tuskar-ui.noarch: W: non-standard-group Application/System
    175 openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyc
    176 openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyo
    177 openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.py

this python file is the plugin configuration for hrozion

    178 openstack-tuskar-ui.src: W: non-standard-group Application/System
    179 openstack-tuskar-ui.src: W: invalid-url Source0: http://fedorapeople.org/~jomara/tuskar/tuskar-ui-0.1.0.tar.gz HTTP Error 404: Not Found
    180 2 packages and 0 specfiles checked; 0 errors, 6 warnings.

I'll upload a tarball to this location, but this isn't really a good long term spot. i'll see where the team wants to host this long term

Comment 1 James Slagle 2014-03-27 15:43:00 UTC
Hi Jordan, you need to patch the rpm to remove the runtime dependency on pbr.

You'll have to provide a patch to remove the runtime requirement. See our other OpenStack packages for examples of this, (e.g. in glance there is a patch called  0002-Remove-runtime-dep-on-python-pbr.patch)

Otherwise, apache tracebacks with the following:
[Thu Mar 27 15:39:15.092255 2014] [:error] [pid 25293] [remote 192.168.122.1:148] mod_wsgi (pid=25293): Exception occurred processing WSGI script '/usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi'.
[Thu Mar 27 15:39:15.092469 2014] [:error] [pid 25293] [remote 192.168.122.1:148] Traceback (most recent call last):
[Thu Mar 27 15:39:15.092668 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 187, in __call__
[Thu Mar 27 15:39:15.092841 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     self.load_middleware()
[Thu Mar 27 15:39:15.092936 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 49, in load_middleware
[Thu Mar 27 15:39:15.093064 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     mw_instance = mw_class()
[Thu Mar 27 15:39:15.093170 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/middleware/locale.py", line 24, in __init__
[Thu Mar 27 15:39:15.093320 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     for url_pattern in get_resolver(None).url_patterns:
[Thu Mar 27 15:39:15.093423 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 346, in url_patterns
[Thu Mar 27 15:39:15.093533 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[Thu Mar 27 15:39:15.093625 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/core/urlresolvers.py", line 341, in urlconf_module
[Thu Mar 27 15:39:15.093748 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     self._urlconf_module = import_module(self.urlconf_name)
[Thu Mar 27 15:39:15.094078 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
[Thu Mar 27 15:39:15.094178 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     __import__(name)
[Thu Mar 27 15:39:15.094262 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/urls.py", line 38, in <module>
[Thu Mar 27 15:39:15.094359 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     url(r'', include(horizon.urls))
[Thu Mar 27 15:39:15.094443 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/conf/urls/__init__.py", line 27, in include
[Thu Mar 27 15:39:15.094548 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
[Thu Mar 27 15:39:15.094619 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 213, in inner
[Thu Mar 27 15:39:15.094734 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     self._setup()
[Thu Mar 27 15:39:15.094818 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 298, in _setup
[Thu Mar 27 15:39:15.094911 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     self._wrapped = self._setupfunc()
[Thu Mar 27 15:39:15.094994 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/horizon/base.py", line 733, in url_patterns
[Thu Mar 27 15:39:15.095104 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     return self._urls()[0]
[Thu Mar 27 15:39:15.095171 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/horizon/base.py", line 767, in _urls
[Thu Mar 27 15:39:15.095279 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     url(r'^%s/' % dash.slug, include(dash._decorated_urls)))
[Thu Mar 27 15:39:15.095345 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/horizon/base.py", line 464, in _decorated_urls
[Thu Mar 27 15:39:15.095453 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     url(r'^%s/' % url_slug, include(panel._decorated_urls)))
[Thu Mar 27 15:39:15.095518 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/horizon/base.py", line 234, in _decorated_urls
[Thu Mar 27 15:39:15.095623 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     urlpatterns = self._get_default_urlpatterns()
[Thu Mar 27 15:39:15.095711 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/horizon/base.py", line 87, in _get_default_urlpatterns
[Thu Mar 27 15:39:15.095804 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     urls_mod = import_module('.urls', package_string)
[Thu Mar 27 15:39:15.095869 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
[Thu Mar 27 15:39:15.095981 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     __import__(name)
[Thu Mar 27 15:39:15.096072 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/tuskar_ui/infrastructure/nodes/urls.py", line 17, in <module>
[Thu Mar 27 15:39:15.096170 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     from tuskar_ui.infrastructure.nodes import views
[Thu Mar 27 15:39:15.096236 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/tuskar_ui/infrastructure/nodes/views.py", line 23, in <module>
[Thu Mar 27 15:39:15.096344 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     from tuskar_ui import api
[Thu Mar 27 15:39:15.096407 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/tuskar_ui/api.py", line 30, in <module>
[Thu Mar 27 15:39:15.096514 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     from tuskar_ui.test.test_data import tuskar_data
[Thu Mar 27 15:39:15.096579 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/tuskar_ui/test/test_data/tuskar_data.py", line 19, in <module>
[Thu Mar 27 15:39:15.096691 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     from ironicclient.v1 import node
[Thu Mar 27 15:39:15.096757 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/ironicclient/__init__.py", line 19, in <module>
[Thu Mar 27 15:39:15.096865 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     __version__ = pbr.version.VersionInfo('python-ironicclient').version_string()
[Thu Mar 27 15:39:15.096948 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/pbr/version.py", line 72, in version_string
[Thu Mar 27 15:39:15.097057 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     for part in self.release_string().split('.'):
[Thu Mar 27 15:39:15.097127 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/pbr/version.py", line 64, in release_string
[Thu Mar 27 15:39:15.097233 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     self.release = self._get_version_from_pkg_resources()
[Thu Mar 27 15:39:15.097314 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/pbr/version.py", line 57, in _get_version_from_pkg_resources
[Thu Mar 27 15:39:15.097404 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     return packaging.get_version(self.package)
[Thu Mar 27 15:39:15.097469 2014] [:error] [pid 25293] [remote 192.168.122.1:148]   File "/usr/lib/python2.7/site-packages/pbr/packaging.py", line 822, in get_version
[Thu Mar 27 15:39:15.097572 2014] [:error] [pid 25293] [remote 192.168.122.1:148]     raise Exception("Versioning for this project requires either an sdist"
[Thu Mar 27 15:39:15.097675 2014] [:error] [pid 25293] [remote 192.168.122.1:148] Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure that git is installed?

Comment 2 Jordan OMara 2014-04-01 22:02:05 UTC
@james - i didn't experience any of those issues with PBR, but that doesn't mean they're not valid. How should I proceed?

Also, a new version of the RPM that supports adding the infrastructure files into the horizon install:

srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-2.fc20.src.rpm
spec: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec

Comment 3 Pádraig Brady 2014-04-02 14:16:35 UTC
BTW I see that horizon itself still has Requires: python-pbr
which would be good to remove if possible too.
For reference here's what I did a few days ago for neutron:
http://pkgs.fedoraproject.org/cgit/openstack-neutron.git/commit/?id=f6328558
Anyway this is a nice to have but not blocking

Comment 4 John Eckersberg 2014-04-07 20:54:38 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- The upstream source tarball does not match the source tarball in the srpm
- Extra unneeded Requires?
- No provided egg info
- Use of deprecated %{__python} macro
- No %check section for tests
- Use of 'mv' does not preserve timestamps
- Group should be "Applications/System", not "Application/System" (note extra 's')

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[?]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/openstack-
     dashboard/openstack_dashboard/local/enabled, /etc/openstack-
     dashboard/enabled

     I don't know why this is getting flagged.  Those are owned by
     openstack-dashboard and that is appropriately required.  This can
     be ignored I think.

[?]: Package must own all directories that it creates.
     Note: Directories without known owners: /etc/openstack-dashboard/enabled,
     /usr/share/openstack-dashboard/openstack_dashboard/local/enabled

     Same as above.

[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.

     Do you need to explicitly require the client libraries for all of
     the openstack components here?  At a glance it looks like some of
     them aren't used (e.g. keystone, cinder, neutron)

[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 20480 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[x]: Python eggs must not download any dependencies during the build process.
[!]: A package which is used by another package via an egg interface should
     provide egg info.
[!]: Package meets the Packaging Guidelines::Python
     Use of deprecated %{__python} macro; use %{__python2} instead.
[x]: Package contains BR: python2-devel or python3-devel
[x]: Binary eggs must be removed in %prep

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).
     See previous note on Requires
[ ]: Package functions as described.
[!]: Latest version is packaged.
     Probably not, since the tarballs do not match.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.
     No %check section
[!]: Packages should try to preserve timestamps of original installed files.
     Use install -p instead of mv
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: openstack-tuskar-ui-0.1.0-2.fc21.noarch.rpm
          openstack-tuskar-ui-0.1.0-2.fc21.src.rpm
openstack-tuskar-ui.noarch: W: non-standard-group Application/System
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyc
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyo
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.py
openstack-tuskar-ui.src: W: non-standard-group Application/System
openstack-tuskar-ui.src: W: file-size-mismatch tuskar-ui-0.1.0.tar.gz = 429322, http://fedorapeople.org/~jomara/tuskar/tuskar-ui-0.1.0.tar.gz = 436462
2 packages and 0 specfiles checked; 0 errors, 6 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint openstack-tuskar-ui
openstack-tuskar-ui.noarch: W: non-standard-group Application/System
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyc
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.pyo
openstack-tuskar-ui.noarch: W: non-conffile-in-etc /etc/openstack-dashboard/enabled/_50_tuskar.py
1 packages and 0 specfiles checked; 0 errors, 4 warnings.
# echo 'rpmlint-done:'



Requires
--------
openstack-tuskar-ui (rpmlib, GLIBC filtered):
    Django
    openstack-dashboard
    python(abi)
    python-ceilometerclient
    python-cinderclient
    python-django
    python-django-compressor
    python-django-openstack-auth
    python-eventlet
    python-glanceclient
    python-heatclient
    python-ironicclient
    python-iso8601
    python-keystoneclient
    python-kombu
    python-lockfile
    python-netaddr
    python-neutronclient
    python-novaclient
    python-oslo-config
    python-pbr
    python-swiftclient
    python-tuskarclient
    pytz



Provides
--------
openstack-tuskar-ui:
    openstack-tuskar-ui



Source checksums
----------------
http://fedorapeople.org/~jomara/tuskar/tuskar-ui-0.1.0.tar.gz :
  CHECKSUM(SHA256) this package     : 2c0ef6b35e07be0666a3858f114b242bc04cfd197ccc12f096404d6659bee57b
  CHECKSUM(SHA256) upstream package : c216a4080f3a586e7270de27f0b960587bed9e84af480ec6ad3cf09d31a17cd6
diff -r also reports differences


Generated by fedora-review 0.5.1 (a430ece) last change: 2014-03-05
Command line :./try-fedora-review -b 1079436 -m fedora-rawhide-x86_64 -L ./repo/
Buildroot used: fedora-rawhide-x86_64
Active plugins: Python, Generic, Shell-api
Disabled plugins: Java, C/C++, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Built with local dependencies:
    /data/git/FedoraReview/./repo/python-ironicclient-0.1.2-5.fc21.noarch.rpm
    /data/git/FedoraReview/./repo/python-tuskarclient-0.1.3-1.fc21.noarch.rpm

Comment 5 Jordan OMara 2014-04-08 03:24:49 UTC
- the *client imports are all mapped from requirements.txt
- python2 macros updated
- changed oslo version to use %{version}
- i am providing .egg-info. why is this getting flagged?

SHOULD:
- i will hassle upstream to rebuild this, i am ahead of the curve right now (with 0.1.0)
- skipping %check for now
- skipping move/install switch for now

spec:http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec
srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-4.fc20.src.rpm

Comment 6 Matthias Runge 2014-04-08 08:29:26 UTC
egg-info: you need to remove the provided egg-info in %prep. It will be re-created during build.

I'm a bit worried about:

# Move static files to horizon. These require that you compile them again
# post install { python manage.py compress }

What do you mean by that? Given that upstream moves to node.js again, (thanks to some voices calling for replacing lesscpy with node.js), that will require to have node.js installed at each horizon host, to re-run the compress step.

Comment 7 Matthias Runge 2014-04-08 08:32:23 UTC
(In reply to Pádraig Brady from comment #3)
> BTW I see that horizon itself still has Requires: python-pbr
> which would be good to remove if possible too.
> For reference here's what I did a few days ago for neutron:
> http://pkgs.fedoraproject.org/cgit/openstack-neutron.git/commit/?id=f6328558
> Anyway this is a nice to have but not blocking

Ideally, this will be solved upstream. FWIW, I filed https://bugs.launchpad.net/horizon/+bug/1304253

Comment 8 Jordan OMara 2014-04-08 19:12:12 UTC
Based on irc convo with mrunge, we're not going to solve the compression issue in this package right at this moment.

Updated spec, removes egg-info in %prep:
spec: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec
srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-5.fc20.src.rpm

Comment 9 Jordan OMara 2014-04-08 21:08:10 UTC
Added unit tests

It now buildrequires python-ironicclient and python-tuskarclient which are not in rawhide proper yet and thus the fedora-review package is not happy. However, the only added sections were the %check and a minor modification to %install where i copy, instead of move, static files.
spec: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec
srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-6.fc20.src.rpm

Comment 10 Jordan OMara 2014-04-10 17:32:27 UTC
Had an issue with upstream source challenges, corrected below + rebuild for rawhide

srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-8.fc21.src.rpm
spec: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec

Comment 11 John Eckersberg 2014-04-10 17:54:30 UTC
Previous issues:

- The upstream source tarball does not match the source tarball in the srpm

  Looks good

- Extra unneeded Requires?

  You reviewed and said it's ok, so fine by me

- No provided egg info

  This was originally correct, I messed up.

- Use of deprecated %{__python} macro

  Fixed, looks good.

- No %check section for tests

  %check added, tests pass

- Use of 'mv' does not preserve timestamps

  There's still one use of 'mv' in the spec file, but it's just to use the .example file into place as config.  For this purpose the original timestamp of the example file doesn't really matter, so I'm fine with it staying like this.

- Group should be "Applications/System", not "Application/System" (note extra 's')

  This is still incorrect


I think the Group is the only remaining packaging nit.  I still need to actually test the thing out and make sure it at least functionally works for me.

Comment 13 Jordan OMara 2014-04-10 21:11:02 UTC
Fixed a problem with MANIFEST.in not reporting HTML files, requires patch:

srpm: http://fedorapeople.org/~jomara/openstack-tuskar-ui-0.1.0-10.fc21.src.rpm
spec: http://fedorapeople.org/~jomara/openstack-tuskar-ui.spec
patch0: http://fedorapeople.org/~jomara/0001-Fixing-manifest.in.patch

Comment 14 John Eckersberg 2014-04-11 17:32:45 UTC
I am marking this approved, with the disclaimer that I do not have a suitable environment with which to test the functionality of the package.  Jordan assures me it functions as described.

Comment 15 Jordan OMara 2014-04-11 17:47:56 UTC
New Package SCM Request
=======================
Package Name: openstack-tuskar-ui
Short Description: tuskar-ui is a user interface for Tuskar, a management API for OpenStack deployments. It is a plugin for OpenStack Horizon.
Owners: jomara
Branches: f20 epel7
InitialCC: jomara

Comment 16 Gwyn Ciesla 2014-04-11 18:23:26 UTC
Git done (by process-git-requests).


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