ExcaliburZero / jekyll-helper

A program that serves as a basic GUI for Jekyll.
MIT License
4 stars 0 forks source link

Help pages not working on install #31

Closed ExcaliburZero closed 9 years ago

ExcaliburZero commented 9 years ago

Currently on installed version of the program, the Help pages do not work. They show as below:

screenshot from 2015-05-23 14 28 10

ExcaliburZero commented 9 years ago

When I run python setup.py build_i18n I get the following errors:

(setup.py:2793): Gtk-WARNING **: Theme parsing error: gtk.css:50:39: Failed to import: Error opening file: No such file or directory
running build_i18n
intltool-update -p -g jekyll-helper
msgfmt po/de.po -o build/mo/de/LC_MESSAGES/jekyll-helper.mo
intltool-merge -d po jekyll-helper.desktop.in build/share/applications/jekyll-helper.desktop
Merging translations into build/share/applications/jekyll-helper.desktop.
WARNING: the following files are not recognized by DistUtilsExtra.auto:
  help/C/figures/icon.png
  help/C/functions.page
  help/C/index.page
  help/C/preferences.page
  requirements.txt
ExcaliburZero commented 9 years ago

It looks like this page may be relevant:

ExcaliburZero commented 9 years ago

I couldn't seem to figure out how to fix the issue, so I created a question for it on Ask Ubuntu here:

ExcaliburZero commented 9 years ago

Running sudo python setup.py install yields the following error:

running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/jekyll_helper-0.2.1.egg-info
Traceback (most recent call last):
  File "setup.py", line 152, in <module>
    cmdclass={'install': InstallAndUpdateDataDirectory}
  File "/usr/lib/python2.7/dist-packages/DistUtilsExtra/auto.py", line 100, in setup
    distutils.core.setup(**attrs)
  File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
    dist.run_commands()
  File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 126, in run
    target_data = '/' + os.path.relpath(self.install_data, self.root) + '/'
  File "/usr/lib/python2.7/posixpath.py", line 430, in relpath
    start_list = [x for x in abspath(start).split(sep) if x]
  File "/usr/lib/python2.7/posixpath.py", line 360, in abspath
    if not isabs(path):
  File "/usr/lib/python2.7/posixpath.py", line 54, in isabs
    return s.startswith('/')
AttributeError: 'NoneType' object has no attribute 'startswith'
ExcaliburZero commented 9 years ago

This section of DistUtilsExtra.auto may be related:

DistUtilsExtra.auto

This provides a setup() method for distutils and DistUtilsExtra which infers as
many setup() arguments as possible. The idea is that your setup.py only needs
to have the metadata and some tweaks for unusual files/paths, in a "convention
over configuration" paradigm.

This currently supports:

 * Python modules (./*.py, only in root directory)
 * Python packages (all directories with __init__.py)
 * Docbook-XML GNOME help files (help/<language>/{*.xml,*.omf,figures})
 * GtkBuilder and Qt4 user interfaces (*.ui) [installed into
   prefix/share/<projectname>/]
 * D-Bus (*.conf and *.service)
 * GSettings schemas (*.gschema.xml)
 * polkit (*.policy.in)
 * Desktop files (*.desktop.in) [into prefix/share/applications, or
   prefix/share/autostart if they have "autostart" anywhere in the path]
 * KDE4 notifications (*.notifyrc.in)
 * Apport hooks (apport/*) [installed into /usr/share/apport/package-hooks]
 * scripts (all in bin/, and ./<projectname>
 * Auxiliary data files (in data/*) [into prefix/share/<projectname>/]
 * automatic po/POTFILES.in (with all source files which contain _())
 * automatic MANIFEST (everything except swap and backup files, *.pyc, and
   revision control)
 * manpages (*.[0-9])
 * icons (data/icons/<size>/<category>/*.{svg,png})
 * files which should go into /etc (./etc/*, copied verbatim)
 * determining "requires" from import statements in source code
 * determining "provides" from shipped packages and modules

If you follow above conventions, then you don't need any po/POTFILES.in,
./setup.cfg, or ./MANIFEST.in, and just need the project metadata (name,
author, license, etc.) in ./setup.py.
ExcaliburZero commented 9 years ago

I tried renaming the "help/C" folder to "help/en" to us the naming convention help/<language>/{*.xml,*.omf,figures}, however that did not work, as other problems were triggered.

ExcaliburZero commented 9 years ago

Running python setup.py build on https://github.com/ExcaliburZero/jekyll-helper/tree/3f315e38546e37c3070595ee3f89d45824a7b66b seems to work. Also v0.1 did not work with that command.

Now I need to just go through each version until I find where the error was introduced.

ExcaliburZero commented 9 years ago

Here are a couple of commits to try building:

ExcaliburZero commented 9 years ago

It looks like the testing command that should be used is sudo python setup.py install.

ExcaliburZero commented 9 years ago

I did some more testing and it looks like older commits for the program work with sudo python setup.py install.

ExcaliburZero commented 9 years ago

It looks like I will need to use the command quickly package --verbose --extras to test this.

ExcaliburZero commented 9 years ago

I tried the quickly package --verbose --extras command on the very first commit for the repo and it did not work. It gave the following output:

(setup.py:22671): Gtk-WARNING **: Theme parsing error: gtk.css:50:39: Failed to import: Error opening file: No such file or directory
running install_egg_info
Writing /tmp/tmpUSU7ZE/jekyll_helper-0.1.egg-info
WARNING: the following files are not recognized by DistUtilsExtra.auto:
  help/C/figures/icon.png
  help/C/index.page
  help/C/preferences.page
  help/C/topic1.page
  jekyll-helper.desktop.in
Searching packages which provide required Python modules:
   gi.repository.GObject ... gir1.2-glib-2.0
   gi.repository.Gio ... gir1.2-glib-2.0

(python-mkdebian:22670): Gtk-WARNING **: Theme parsing error: gtk.css:50:39: Failed to import: Error opening file: No such file or directory
   gi.repository.Gtk ... gir1.2-gtk-3.0
Ubuntu packaging created in debian/
bzr: ERROR: Not a branch: "/home/chris/Downloads/jekyll-helper-de0dc0c1381b2a0566cd83517f7a1ecc19fd68ef/".
ERROR: can't create or update ubuntu package
ERROR: package command failed
Aborting
ExcaliburZero commented 9 years ago

I attempted to rename the help/C directory to help/en to see if that would work, however it didn't.

I also tried changing the .page files to .xml and .omf, but neither worked.

ExcaliburZero commented 9 years ago

I tried creating a new quickly application using quickly create ubuntu-application test-app and then running quickly package --verbose --extras in that folder, but that still seemed to cause similar issues.

ExcaliburZero commented 9 years ago

I noticed that the message in the help window that noted that it couldn't find the help files noted the location as being ghelp:jekyll-helper. After some looking online I realized it should be help:jekyll-helper instead.

So I looked through the code and found two instances of ghelp. I changed them to help, repackaged the program (still got some similar warnings), and when I installed and ran the program the help pages worked.