Giter VIP home page Giter VIP logo

ka-lite-installers's Introduction

installers

Various platform-specific installers and supporting scripts for KA Lite

ka-lite-installers's People

Contributors

arceduardvincent avatar aronasorman avatar benjaoming avatar cpauya avatar djallado avatar mcgallaspy avatar mrpau-dev avatar mrpau-eduard avatar mrpau-richard avatar radinamatic avatar ruimalheiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ka-lite-installers's Issues

Unknown command "migrate"

Branch: Master
Expected behavior: It must have a migrate command to run the ka-lite migration.
Steps to reproduce:

  1. Required windows xp sp3 Operating systems.
  2. Build kalitesetup.exe using make.vbs.
  3. Install the kalitesetup.exe.
  4. Open Command line and manually run kalite start at program files\ka-lite\bin directory.

screen shot 2015-06-15 at 3 48 49 pm

Cross-platform design of the tasktray icon launcher menu

The goal is to not require use of the command line on any platform, for performing basic tasks like:

  • Starting the KA Lite server
  • Stopping the KA Lite server
  • Opening the correct URL in the browser for accessing KA Lite
  • Basic settings regarding the launching of the server (e.g. whether to launch at boot)

While this will likely need to be implemented in OS-specific ways, we should keep the design (icon, menu options, behavior) consistent across OS implementations. This issue is for discussing that design.

Stop server does not stop the server from systray icon

Selecting stop server from the systray icon options in 0.13 does not stop the server. This is made worse by the fact that the popup closes once the option has been selected hiding the fact that the server is still running. On subsequent checks from the same icon you will see that the server is not in the stopped state.

MAC installer should use setup.py

Hi @cpauya

This is kind of a boiler plate issue from the similar issue on the windows installer :)

But hopefully this will be helpful for you and in the future will help to reduce the responsibility of the Mac installer.

After installing Python + setuptools, which I guess is bundled with the installer, you can install the ka-lite-static tarball which can be found on pypi:

https://pypi.python.org/pypi/ka-lite-static

It's installed by running setup.py install as all distributed Python packages are.

After that, users should have access to the kalite command directly in their Terminal.

You can also install ka-lite directly from PyPi: pip install ka-lite (you have to add --pre currently because we have no stable releases) or pip install ka-lite (static version with no external deps).

Cross-platform Installers internationalization

The first contact with KA Lite shouldn't require English. A lot of people in many countries might find tricky the process of installation because we are not supporting their current language.

The goal would be to support multiple languages for all output generated by KA Lite:

  • Installer's graphic interfaces;
  • Installer command line scripts;
  • Server control GUI in tray;

It would be great to extend KA Lite's internacionalization to the GUI and also the installers. A simple design approach for this would be for them both, to pull from the same source language file and populate both, the server control GUI and the installer GUI, according to the local language.

I'm not sure if this is the right way but would be great to discuss this with you all in order to come up with a nice and simple design.

Looking forward for feedback!

Mac OS X .app file

Issue by aronasorman
Thursday Dec 04, 2014 at 02:36 GMT
Originally opened as learningequality/ka-lite#2758


So, we want to move away from git-based installations for Unix systems, and use the native installation methods.

This issue is for OS X's .app package. The ideal is to have a script that receives a directory argument and outputs a .app file which the user can drag and drop to the ~/Applications/ folder.

Note: this should be in a separate repository, but I'm just putting it here so we can all monitor it.

Can not Log Into KA-Lite post Install MAC

On Develop branch 6/18/2015 after installation and completion of the preferences for su login credentials unable to login to the site using those same credentials with error; user unknown? Expected behavior would be to login without any problems obviously. In further testing it was discovered that the required .plist for the application did not exist in the expected folder.

Deploy ka-lite data folders to another location outside of the .app.

Branch Develop
Target 0.14.x
Expected Behavior
Deploy ka-lite data folders to another location outside of the .app, as specified by user on preferences dialog to make upgrades easy. Default to the user's home folder like ~/.kalite.

  • Database path
  • Data content like assessment items or language packs

Latest windows installers from dungeon are not working

Branch: Develop

Test Latest Installers from dungeon
1. KALiteSetup-0.14.dev11.exe Jun 24, 2015 10:03:52 AM
2. KALiteSetup-0.14.dev14.exe Jun 24, 2015 10:04:01 AM

Expected behavior:
After you click the start server menu, it notify you like the server is.... screenshot below:
4
And after waiting for a few seconds another notification will appear like The server will be... screenshot below:
5
After that you can select load in browser from the menu and set Super user account like screenshot below:
createsuperuser

Actual behavior:
After you click the start server menu, it notify you like:
4
After waiting for a few seconds no other notification will appear.
You can't select the load in browser menu. The menu is disabled like screenshot below:
12

Provide user a way to "force" start ka-lite.

Branch

Expected Behavior We use the bin/kalite status command to monitor the status of ka-lite to update the menu/icon.

Current Behavior / Problem
The user cannot recover from the OS X app if result of bin/kalite status returns an abnormal value like one of the following:

  • 7: 'Unclean shutdown',
  • 9: 'KA Lite server configuration error',
  • or perhaps any other abnormal values

To Reproduce

  1. Manually trigger the issue
    • Run touch ~/.kalite/kalite.pid
    • Run the .app
  2. Run the .app and quit it in Activity Monitor, it should leave those .pid files open.
  3. On the Console, you should see something like
Invalid PID file (100)
2015-02-10 08:00:19.643 KA-Lite Monitor[23203:1977020] Has encountered an error, please check the Xcode terminal or the Console:
2015-02-10 08:00:19.643 KA-Lite Monitor[23203:1977020] FOUND local_settings.py!
2015-02-10 08:00:19.644 KA-Lite Monitor[23203:1977020] FOUND database!
2015-02-10 08:00:19.644 KA-Lite Monitor[23203:1977020] KA Lite is now loaded.
2015-02-10 08:00:36.836 KA-Lite Monitor[23203:1977020] Stopping and quitting the application...
Already stopped. Status was: Invalid PID file
2015-02-10 08:00:37.156 KA-Lite Monitor[23203:1977020] Fetching `bin/kalite status`...
Invalid PID file (100)

(see screenshot below)
screenshot 2015-02-10 08 01 55

Possible Solution/s

  1. Provide a button on the UI to "restart" the application; Or;
  2. Modify the Setup button at the Advanced tab to "clean" those .pids and restart the application.

Related Issues

/cc: @aronasorman @djallado @amodia

Option to update the assessment items.

Branch Develop
Target 0.14.x
Expected Behavior
On the .app preferences dialog, put an option to update assessment items.

And warn them that the assessment.zip is large at 400MB+, and show a download/update progress to be user-friendly.

Update Steps

  1. Download the assessment.zip from https://learningequality.org/downloads/ka-lite/SHORT_VERSION/content/assessment.zip to $KA_LITE_DIR/data/ folder or any arbitrary location as per user preference.
  2. Run bin/kalite manage unpack_assessment_zip to unpack it.

Notes

  1. The build server will generate a ka-lite folder which includes the assessment items already. This folder will be used by the setup.sh script to include in the .dmg.
  2. The assessment.zip is located at https://learningequality.org/downloads/ka-lite/SHORT_VERSION/content/assessment.zip -- example: https://learningequality.org/downloads/ka-lite/0.13/content/assessment.zip

Debian/Ubuntu package

Issue by aronasorman
Thursday Dec 04, 2014 at 02:13 GMT
Originally opened as learningequality/ka-lite#2756


So, we want to move away from git-based installations for Unix systems, and use the native installation methods.

This issue is for a .deb package. The ideal is to have a script that receives a directory argument and outputs a .deb file which is valid according to Debian's packaging standards (meaning it has a license file and all necessary metadata).

Note: this should be in a separate repository, but I'm just putting it here so we can all monitor it.

Stop the build process if pip install failed.

Branch Master
Target 0.14.x
Expected Behavior Stop the build process if pip install -r requirements failed.
Current Behavior The script still resumes the build even when pip install failed.

Preferences dialog does not show on first run.

Branch Master
Target 0.14.x
Expected Behavior The .app must show the preferences dialog during first run or if there's no database and local_settings.py found when it is run.
Current Behavior The preferences dialog does not show on first run, so the setup process is broken because there's no admin user set.

Windows installer should not rely on deprecated scripts

We're removing deprecated bat scripts from the project to avoid confusion. The only supported command line interface is bin/kalite or bin/windows/kalite.bat. Let's make sure the Windows installer doesn't rely on any of the scripts we're now deprecating.

Cannot install pyyaml running setup.sh.

Branch Master
Target 0.14.x
Mac OS X Yosemite 10.10.3
Expected Behavior Running setup.sh should build the .dmg package.
Possible Solution Install with admin privileges like sudo pip install pyyaml.
References

Current Behavior Running pip install -r requirements.txt fails inside setup.sh is run to build the .dmg package.

...

81 warnings generated.

clang -bundle -undefined dynamic_lookup -L/usr/local/lib -L/usr/local/opt/sqlite/lib /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.10-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.10-x86_64-2.7/_yaml.so

ld: can't map file, errno=22 file '/usr/local/opt/zlib/include' for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: command 'clang' failed with exit status 1
...

See detailed error log.

------------------------------------------------------------
/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pip run on Mon May 11 16:05:28 2015
Requirement already satisfied (use --upgrade to upgrade): django-compressor==1.4 in ./temp/pyrun-2.7/lib/python2.7/site-packages (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 1))
Downloading/unpacking pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
  Getting page https://pypi.python.org/simple/pyyaml/
  URLs to search for versions for pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3)):
  * https://pypi.python.org/simple/pyyaml/3.11
  * https://pypi.python.org/simple/pyyaml/
  Getting page https://pypi.python.org/simple/pyyaml/3.11
  Could not fetch URL https://pypi.python.org/simple/pyyaml/3.11: 404 Client Error: Not Found
  Will skip URL https://pypi.python.org/simple/pyyaml/3.11 when looking for download links for pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
  Analyzing links from page https://pypi.python.org/simple/pyyaml/
    Skipping link https://pypi.python.org/packages/2.5/P/PyYAML/PyYAML-3.10.win32-py2.5.exe#md5=dfb573ab41cdfee1b2794b7a155e72e6 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.10.win32-py2.6.exe#md5=4c1a374cb89fa0ff43f3b94b5692edd9 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win-amd64-py2.6.exe#md5=af7eade45dcb408473928953f430e7db (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.6/P/PyYAML/PyYAML-3.11.win32-py2.6.exe#md5=83b0f47825feac2da99b75bfbd65a3ab (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.10.win32-py2.7.exe#md5=73309e5fe73d7d84e0af3213b2c957ff (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win-amd64-py2.7.exe#md5=538cd92d63068161d229cb8a65db7f23 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/2.7/P/PyYAML/PyYAML-3.11.win32-py2.7.exe#md5=d75320c7a904731d6e27418e346a92e1 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.0/P/PyYAML/PyYAML-3.10.win32-py3.0.exe#md5=0360710722fdc58e519d6a76324aa1d7 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.10.win32-py3.1.exe#md5=6c830441d9df703458e2f34c2e6a413a (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win-amd64-py3.1.exe#md5=d52af84d2cd6ce9b7cfddb2c525bd957 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.1/P/PyYAML/PyYAML-3.11.win32-py3.1.exe#md5=1b3b956bbe638c50eb80273b639be692 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.10.win32-py3.2.exe#md5=fc582f2f46f6494a97c9cae938a19f59 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win-amd64-py3.2.exe#md5=328bfd749ee42279b9d8a75397e9444d (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.2/P/PyYAML/PyYAML-3.11.win32-py3.2.exe#md5=b40a15302b494d0bcc79568ff38ab43c (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win-amd64-py3.3.exe#md5=672275294ababb18794b328a24c836b4 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.3/P/PyYAML/PyYAML-3.11.win32-py3.3.exe#md5=c3990781cc999744cd21df473068f388 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win-amd64-py3.4.exe#md5=0dfcdae003642dfdfb49d5f16ff63717 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Skipping link https://pypi.python.org/packages/3.4/P/PyYAML/PyYAML-3.11.win32-py3.4.exe#md5=5c14b49d828766c23bb9c83d6a60aaf5 (from https://pypi.python.org/simple/pyyaml/); unknown archive format: .exe
    Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247 (from https://pypi.python.org/simple/pyyaml/), version: 3.10
    Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.zip#md5=b1a2b30cdf481da4249c917c3307f129 (from https://pypi.python.org/simple/pyyaml/), version: 3.10
    Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz#md5=f50e08ef0fe55178479d3a618efe21db (from https://pypi.python.org/simple/pyyaml/), version: 3.11
    Found link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.zip#md5=89cbc92cda979042533b640b76e6e055 (from https://pypi.python.org/simple/pyyaml/), version: 3.11
  Ignoring link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.tar.gz#md5=74c94a383886519e9e7b3dd1ee540247 (from https://pypi.python.org/simple/pyyaml/), version 3.10 doesn't match ==3.11
  Ignoring link https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.10.zip#md5=b1a2b30cdf481da4249c917c3307f129 (from https://pypi.python.org/simple/pyyaml/), version 3.10 doesn't match ==3.11
  Using version 3.11 (newest of versions: 3.11, 3.11)
  Downloading from URL https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz#md5=f50e08ef0fe55178479d3a618efe21db (from https://pypi.python.org/simple/pyyaml/)
  Running setup.py (path:/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py) egg_info for package pyyaml
    running egg_info
    creating pip-egg-info/PyYAML.egg-info
    writing pip-egg-info/PyYAML.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/PyYAML.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/PyYAML.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
    warning: manifest_maker: standard file '-c' not found

    reading manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
    writing manifest file 'pip-egg-info/PyYAML.egg-info/SOURCES.txt'
  Source in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml has version 3.11, which satisfies requirement pyyaml==3.11 (from -r /Users/cyril/w/fle/ka-lite/installers/osx/temp/ka-lite/requirements.txt (line 3))
Installing collected packages: pyyaml
  Running setup.py install for pyyaml
    Running command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.5-x86_64-2.7
    creating build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/composer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/constructor.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/cyaml.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/dumper.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/emitter.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/error.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/events.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/loader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/nodes.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/parser.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/reader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/representer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/resolver.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/scanner.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/serializer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    copying lib/yaml/tokens.py -> build/lib.macosx-10.5-x86_64-2.7/yaml
    running build_ext
    creating build/temp.macosx-10.5-x86_64-2.7
    checking if libyaml is compilable
    gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c build/temp.macosx-10.5-x86_64-2.7/check_libyaml.c -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o
    clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
    checking if libyaml is linkable
    gcc build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o -lyaml -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml
    building '_yaml' extension
    creating build/temp.macosx-10.5-x86_64-2.7/ext
    gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c ext/_yaml.c -o build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o
    clang: warning: /usr/local/opt/zlib/include: 'linker' input unused
    In file included from ext/_yaml.c:343:
    ext/_yaml.h:6:9: warning: 'PyUnicode_FromString' macro redefined [-Wmacro-redefined]
    #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
            ^
    /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:194:10: note: previous definition is here
    # define PyUnicode_FromString PyUnicodeUCS2_FromString
             ^

    ext/_yaml.c:9688:38: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        __pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ext/_yaml.h:6:66: note: expanded from macro 'PyUnicode_FromString'
    #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                     ^
    /usr/include/string.h:82:28: note: passing argument to parameter here
    size_t   strlen(const char *);
                                ^
    ext/_yaml.c:9688:17: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        __pyx_t_9 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.scalar.tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ext/_yaml.h:6:54: note: expanded from macro 'PyUnicode_FromString'
    #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                         ^~~
    /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:751:17: note: passing argument to parameter 'string' here
        const char *string,         /* UTF-8 encoded string */
                    ^
    ext/_yaml.c:10128:38: warning: passing 'yaml_char_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
        __pyx_t_2 = PyUnicode_FromString(__pyx_v_self->parsed_event.data.sequence_start.tag); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 837; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ext/_yaml.h:6:66: note: expanded from macro 'PyUnicode_FromString'
    #define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")
                                                                     ^
    /usr/include/string.h:82:28: note: passing argument to parameter here
    size_t   strlen(const char *);
                                ^

...
# lots of similar errors here
...

    ext/_yaml.c:21333:32: warning: unused function '__Pyx_GetItemInt_Tuple_Fast' [-Wunused-function]
    static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
                                   ^
    ext/_yaml.c:21718:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]
    static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
                              ^
    81 warnings generated.
    gcc -bundle -undefined dynamic_lookup /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.5-x86_64-2.7/_yaml.so
    ld: can't map file, errno=22 file '/usr/local/opt/zlib/lib' for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    error: command 'gcc' failed with exit status 1
    Complete output from command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile:
    running install

running build

running build_py

creating build

creating build/lib.macosx-10.5-x86_64-2.7

creating build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/__init__.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/composer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/constructor.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/cyaml.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/dumper.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/emitter.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/error.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/events.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/loader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/nodes.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/parser.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/reader.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/representer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/resolver.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/scanner.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/serializer.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

copying lib/yaml/tokens.py -> build/lib.macosx-10.5-x86_64-2.7/yaml

running build_ext

creating build/temp.macosx-10.5-x86_64-2.7

checking if libyaml is compilable

gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c build/temp.macosx-10.5-x86_64-2.7/check_libyaml.c -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o

clang: warning: /usr/local/opt/zlib/include: 'linker' input unused

checking if libyaml is linkable

gcc build/temp.macosx-10.5-x86_64-2.7/check_libyaml.o -lyaml -o build/temp.macosx-10.5-x86_64-2.7/check_libyaml

building '_yaml' extension

creating build/temp.macosx-10.5-x86_64-2.7/ext

gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -O3 -Wall -Wstrict-prototypes /usr/local/opt/zlib/include -I/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7 -c ext/_yaml.c -o build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o

clang: warning: /usr/local/opt/zlib/include: 'linker' input unused

In file included from ext/_yaml.c:343:

ext/_yaml.h:6:9: warning: 'PyUnicode_FromString' macro redefined [-Wmacro-redefined]

#define PyUnicode_FromString(s) PyUnicode_DecodeUTF8((s), strlen(s), "strict")

        ^

/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/include/python2.7/unicodeobject.h:194:10: note: previous definition is here

# define PyUnicode_FromString PyUnicodeUCS2_FromString

         ^

...
# lots of similar errors here
...

ext/_yaml.c:21718:27: warning: function '__Pyx_PyInt_As_long' is not needed and will not be emitted [-Wunneeded-internal-declaration]

static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {

                          ^

81 warnings generated.

gcc -bundle -undefined dynamic_lookup /usr/local/opt/zlib/lib /usr/local/opt/zlib/include build/temp.macosx-10.5-x86_64-2.7/ext/_yaml.o -lyaml -o build/lib.macosx-10.5-x86_64-2.7/_yaml.so

ld: can't map file, errno=22 file '/usr/local/opt/zlib/lib' for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
  Removing temporary dir /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril...
Command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml
Exception information:
Traceback (most recent call last):
  File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/basecommand.py", line 122, in main
    status = self.run(options, args)
  File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/commands/install.py", line 283, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 1435, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/req.py", line 706, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /Users/cyril/w/fle/ka-lite/installers/osx/temp/pyrun-2.7/bin/pyrun -c "import setuptools, tokenize;__file__='/private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip-BcICLf-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/40/5c3y6nhs7tv00vv1nq5g0nvm0000gn/T/pip_build_cyril/pyyaml

Have a ka-lite binary to stop and start the server

Issue by aronasorman
Thursday Dec 04, 2014 at 02:33 GMT
Originally opened as learningequality/ka-lite#2757


So for Ubuntu we have service kalite (stop|start), but it would be nice to have a standardized command line interface for controlling the server. Hence I propose the kalite binary, with the following commands:

kalite start
kalite stop
kalite restart
kalite gui (if supported by the platform)

Which should call out the right scripts found in the ka-lite/scripts/ directory. We can then modify the startup scripts to just simply call the right arguments.

Generate new local_settings.py based on user values at preferences dialog.

Branch Develop
Target 0.14.x
Expected Behavior
Generate new local_settings.py based on user values at preferences dialog.

  • Create the admin user account from user username and password.
  • User values for KALITE_DIR and KALITE_PYTHON environment variables.
  • Set the ka-lite installation path.
  • Set the pyrun installation path.
  • Path to database, contents, language packs, etc.

Current develop Git Installer is not installable on Debian systems

I would suppose this would apply to all Debian based systems including Ubuntu which surprises me as I know a lot of development is currently ongoing in Ubuntu to begin with but running a GIT installation using ( bin/kalite manage setup) as was working in previous develop installations from a freshly pulled develop branch this morning on the latest debian resulted in a failure with the linked traceback. https://s3.amazonaws.com/uploads.hipchat.com/86198/1302220/PV9hID8syoOeyTT/kalite-setup-traceback.txt

Bundle KA Lite into PyRun

Issue by aronasorman
Thursday Dec 04, 2014 at 19:11 GMT
Originally opened as learningequality/ka-lite#2761


PyRun is the most promising way right now for us to bundle Python to Unix systems. We should see if we can do it for KA Lite and see if it runs.

If it does work, let's create a script that outputs KA Lite + PyRun. We should also determine what settings we need to change in order for it to work perfectly. These changes would then go to the local_settings.py inserted by the build server.

Make kalite executable anywhere.

Branch Develop
Target 0.14.x
Expected Behavior The bin/kalite script must be executable anywhere on Mac OS X after installation.

Tasks

  • Set the KALITE_DIR environment variable to the ka-lite directory of the .app.
  • Set the KALITE_PYTHON environment variable to the PyRun directory of the .app.
  • Symlink bin/kalite to /usr/local/bin/kalite
  • Set the KALITE_DIR and KALITE_PYTHON environment variables on /etc/launchd.conf.
  • Check env vars in Terminal
  • Check env vars in iTerm2
  • Check env vars in .app
  • Check env vars in .app ran with Spotlight

References:

Windows installer should use setup.py (setuptools)

Hi @ruimalheiro

Hopefully this will be helpful for you and in the future will help to reduce the responsibility of the Windows installer.

After installing Python + setuptools, which I guess is bundled with the installer, you can install the ka-lite-static zip package which can be found on pypi:

https://pypi.python.org/pypi/ka-lite-static

In the zip, which you can bundle with the installer, you find the typical setup.py script. It's installed by running setup.py install as all distributed Python packages are.

After installing it, if you can make C:\Python27\Scripts and C:\Python27\ appear in the Windows path, we can have kalite in the command line. ( more info here: http://docs.python-guide.org/en/latest/starting/install/win/ )

Windows sys tray should give feedback on startup

Starting the serve can take a long time, and there's no feedback from clicking the "Start server" button until the server actually starts; users might think something is wrong or not realize that an error has occurred without some more feedback.

Rename "Super User" to "Admin" in the login modal

Linux installer (maybe Mac too, haven't tried that one) asks for "Super User" to be created upon install. It should be rephrased to "Create Admin" rather than "Create Super User", specially since that account is called 'Admin' in the KA Lite documentation.

Windows installer creates corrupted DB

On Windows 8, running the windows installer and then trying kalite start causes the following error:

Error in migration: updates:0004_auto__add_field_updateprogresslog_current_stage

DatabaseError: table "_south_new_updates_updateprogresslog" already exists

Is there something wrong in the DB creation step?

Current platform installers are not prompting for user info during setup

Good news in an issue for a change! The MAC installer is now exhibiting the exact same behavior as the windows cli setup procedure (python setup.py install). Both processes are not prompting the user for any information in the installation process to create the database and allow the user to properly login and administer the server. I call this good news because it to me represents a milestone where we have now fully committed to the use of the kalite command in these procedures and are seeing all platforms affected by the same issues!
2015-05-07_11-14-07

Only download the ka-lite zip if there's no ka-lite folder in build directory.

Branch Develop
Target 0.14.x
Expected Behavior The setup.sh script must only attempt to download the ka-lite zip source if there's no ka-lite folder found on the build directory.

The build server can dump the ka-lite source (complete with the extracted assessment items package) into the Mac OS X build directory and setup.sh must use this to build the .dmg.

Cannot watch video on develop branch.

Branch develop

Cannot watch a video now, the page is having this error:

Unexpected error; contact the FLE with the following information: 400
{"error": "The object '' has an empty attribute 'selected_language' and doesn't allow a default or null value."}
[object Object]

To reproduce:

  1. checkout develop branch
  2. point your browser to http://127.0.0.1:8008/learn/khan/
  3. navigate to http://127.0.0.1:8008/learn/khan/math/early-math/cc-early-math-counting-topic/cc-early-math-counting/number-grid/
  4. notice the error as described above, see screenshot

Implications:

  1. User cannot watch video
  2. The sidebar can be navigated but cannot be clicked.

screenshot 2014-12-11 20 00 18

Include M2Crypto in OS-specific installers where possible

We do a lot of crypto operations in KA Lite (and some, especially initial key generation, can be slow). KA Lite uses a bundled pure-Python library, python-rsa, but will also take advantage of M2Crypto (which wraps openssl) if available, as it is much faster.

We haven't been bundling M2Crypto because it includes C extensions, and hence need to be compiled in a platform-specific way. However, now that we're building platform-specific installers, it should be possible to bundle M2Crypto and have it installed somewhere to the path.

For Windows, it might be easiest to bundle the EXE installer as we do for Python, and install it during the installation process: http://chandlerproject.org/Projects/MeTooCrypto#Downloads

Current develop MAC installer fails to work as designed with content

The installation procedure for those testing on MAC's is this:
First remove all previous installation of KA Lite by following the following steps:

  1. delete the "KA-Lite Monitor.app" from the Applications folder
  2. from an open terminal env | grep KA will reveal the env. variables used which need to be unset.
    unset KALITE_DIR and unset KALITE_PYTHON
  3. rm ~/Library/Preferences/FLE-KA-Lite-Monitor.plist
  4. reboot at this point all traces of the previously installed KA Lite application should have been removed.
  5. Download current MAC develop installer http://dungeon.learningequality.org:8085/browse/KL-KALITE014-19 with content from dungeon should be 300+ MB less indicates the build does not have that content (which is also known not to have this issue) hopefully newer builds will find this issue closed.
  6. open the file downloaded and then drag the KA-Lite Monitor.app to the provided applications folder
  7. IMPORTANT! Make absolutely sure all terminals are closed at this point allowing the installer to set the needed variables in the environment.
  8. Go to Launchpad and click on KA-Lite Monitor
  9. IMPORTANT there is a suspected race condition between the menubar icon becoming available and the preferences dialog box opening which must have data entered on first run DO NOT START THE SERVER PRIOR TO COMPLETING THE PREFERENCES DIALOG

To complete installation and replicate this issue:

  1. goto the menubar icon and click start kalite all other options will become unavailable at this point.
  2. You can wait for the server to become available but I have given it over an hour before reporting this issue and will find that the page on localhost is not available ...
  3. open a terminal and run kalite status will report start failed check logs
  4. from terminal issue kalite stop will return that it is already in the stopped state
  5. issue kalite start which seems to launch an installation procedure instead of just starting the server you will notice many items being copied to the installation folder.
  6. after completion the terminal will report that the server is available on 127.0.0.1:8008 and your local IP
  7. open a browser to either of those addresses and be greeted by the home page informing you no administration account is available and also to login with the administration account you just created?
  8. attempt to login with the account you created which fails
  9. follow the procedure from terminal "kalite manage createsuperuser" and complete prompts
  10. try again to login to the server.. success but not the user experience we are shooting for here!

Pip dependencies have failed to install

Branch: 0.14 (installing on Windows 7)

Current Behavior: Error while installing 0.14 over 0.13 (fully functional with several coaches & learners & language packs):

Pip dependencies have failed to install.

pip-dependencies

(The spelling error has been fixed in #73)

The installation continued after this error, but is probably why the 0.14 server was unable to start at the end. I had no issues with Pip this morning when I did a clean new install on another Win 7 machine.

Steps to reproduce:

  1. Download & install the 0.14 on the machine with previous 0.13 installation of KA Lite

Install pip dependencies when running ka-lite windows installer

Branch: Master
Target: 0.14.x
Expected behavior: When running ka-lite windows installer it must automatically install the pip dependencies for ka-lite.
Actual behavior: Pip dependences is not automatically install when running ka-lite windows installer this issue is related to #48 .

Windows task tray program does nothing

I built the installer as per instructions using the develop branch of ka-lite and tried installing on Windows 7. The task tray icon is unable to start the server; clicking it does not cause the "Start server" option to become disabled (which is what I expected). kalite start works fine. @ruimalheiro @cpauya I'm assigning myself, but if someone more savvy decides to tackle this I would not object.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.