Bug 1379149

Summary: Pelican requires missing feedgenerator module
Product: [Fedora] Fedora Reporter: Ankur Sinha (FranciscoD) <sanjay.ankur>
Component: python-pelicanAssignee: Matthias Runge <mrunge>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, jamielinux, marcelo.barbosa, mrunge, viorel.tabara
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-pelican-3.7.0-2.fc26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-08 11:40:24 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: 1379651    
Bug Blocks: 1384735    

Description Ankur Sinha (FranciscoD) 2016-09-25 12:40:06 UTC
Description of problem:
A few days ago, my new blog post (that I generate using pelican) didn't show up on the planet. On some investigation, I found that the rss feed was invalid and this is why my post had been rejected by feedburner etc. 

So I looked at the spec and found that we substitute the "standalone" feedgenerator with the django variant. Should we be doing this? Is the django version a drop in replacement?

An error that I get from the fedora pelican that uses the django feedgenerator is this:

```
This feed does not validate.

    line 34, column 233: guid must be a full URL, unless isPermaLink attribute is false (30 occurrences) [help]
```

Now, this seems to have been fixed in the standalong feedgenerator, here:
https://github.com/getpelican/feedgenerator/commit/db81b78a57b594dadbd2bd9f03223f0a22244f91

but I'm assuming it hasn't been fixed in the django util.

I double checked this by regenerating my blog using pelican in a virtualenv via pip etc., and my feed validated correctly.


TLDR: using the django util, both my atom and rss feeds are invalid, using the standalone feedgenerator, they're both valid. 

I see that the standalone feedgenerator isn't packaged in Fedora yet, but if the pelican maintainers would like to use it, I'll be happy to package and maintain it. :)

Comment 1 Matthias Runge 2016-09-26 08:02:21 UTC
My impression of feedgenerator was, it's a fork of Django and everything it does is already provided by django, but it's a bit behind Django itself. Back at the time I packaged pelican, everything worked with Django as a replacement of feedgenerator.

The location you mentioned is already fixed in django: https://github.com/django/django/blob/master/django/utils/feedgenerator.py#L327-L329

Of course, I'd be changing pelican to use feedgenerator, if you're up to package it for Fedora.

Comment 2 Ankur Sinha (FranciscoD) 2016-09-27 09:41:17 UTC
Awesome. I'll package it up and submit a review then. Cheers!

Comment 3 Ankur Sinha (FranciscoD) 2016-09-27 10:35:11 UTC
Review submitted here: https://bugzilla.redhat.com/show_bug.cgi?id=1379651

Comment 4 Matthias Runge 2016-10-14 11:46:01 UTC
*** Bug 1384735 has been marked as a duplicate of this bug. ***

Comment 5 Adam Williamson 2017-02-07 13:37:37 UTC
I'm bumping this and raising the severity, as Pelican is now broken in Rawhide:

Traceback (most recent call last):
  File "/usr/bin/pelican-import-3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3019, in <module>
    @_call_aside
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3003, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3032, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 655, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 963, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 849, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'feedgenerator>=1.9' distribution was not found and is required by pelican

Comment 6 Matthias Runge 2017-02-08 07:18:34 UTC
ugh, I'm sorry about this. pelican used to depend on a module named feedgenerator for a long time. When I looked into it first, it was a fork of django, where most of django was removed. 

I'll look into it asap.

Comment 7 Matthias Runge 2017-02-08 11:24:16 UTC
deleting feedgenerator from /usr/lib/python2.7/site-packages/pelican-3.7.0-py2.7.egg-info/requires.txt solves this issue immediately

Comment 8 Matthias Runge 2017-02-08 11:40:24 UTC
a fixed package is pushed to koji right now. Sorry about the issue, Adam.