* Remove unused scripts
install-pocketsphinx and install-pygtk is no longer used by the
dev-setup.
* Fix shellcheck issues in scripts
* Remove space in cores argument
* Update my-info.sh script
- Make it use the new method to activate venv if needed
- Improve requirements.txt parsing
- Update process detection from old "screen" setup
- Update log-files paths
- Fix finding mycroft-core folder
* Fix shellcheck issues in mycroft-use.sh
Mainly quoting but also unpacking of arguments and improving some if
statements
* Update shellcheck test to include scripts folder
Some dependencies aren't actually required but can be optionally
installed for extra functionality.
The Chromecast is an optional audio backend
VLC is an optional audio backend
pyalsaaudio is only used by the mark1 enclosure
google-api-python-client is an optional STT backend, by default Mycroft
uses the Mycroft servers
* Install pep8 check as pre-commit hook
If no pre-commit hook exists the scripts/pre-commit will be installed as a pre-commit hook checking for PEP8 issues when making a commit. It will also allow overwriting the pre-commit hook installed by previous dev_setups.
* Ask before installation of the pre-commit hook.
* Fix startup scripts
- change start.sh to the new start-mycroft.sh
- fix startup of messagebus service
- fix startup of enclosure
* Fix running dev_setup.sh as root
Use --allow-root when calling dev_setup.sh
* Correct default directory for user
On the Mark-1 the script would create the mycroft-core repo in /home/root instead of /root when running the script as root
* Skip mimic installation correctly
* Allow doing the github install without root
Running mycroft under root stumbles into issues accessing the audio. allowing unstall under pi user is also more intuitive.
* Change ownership of the webcache
* fix starting/stopping wifi-service
* Fix switching permissions
* Correct startup order
- load messagebus before enclosure
- reboot to workaround audio input issue
* Disable updates when switched to github install
* Fix identity update
identity updates weren't transfered back to the mycroft user since the linked file was overwritten. Now the identity folder is linked instead.
Decouple the chosen backend from the stable/unstable build in the mycroft-use
utility. Now there are independent 'home' and 'home-test' options that can
be used switch the chosen backend.
Also fix several issues with the utility, including:
* Platform is detected and appropriate packages (mycroft-picroft, etc) used.
* Added missing services to the github support
* Improved help message
The mycroft-use utility had a direct connection between the unstable build and
the test backend; and the stable build and the production backend. This made
some kinds of testing tricky.
Now you run ```mycroft-use home``` and ```mycroft-use home-test``` to make
the backend association explicitly.
Also cleaned up the whitespace, which was a mixture of spaces and tabs.
mycroft-core.sh has a relative-path call (that itself also likes to
be called from inside mycroft-core) that prevents making a clean start
of mycroft from outside the mycroft-core directory. This makes doing
things like adding it as a Ubuntu Unity startup application slightly
messy.
This commit officially switches the mycroft-core repository from
GPLv3.0 licensing to Apache 2.0. All dependencies on GPL'ed code
have been removed and we have contacted all previous contributors
with still-existing code in the repository to agree to this change.
Going forward, all contributors will sign a Contributor License
Agreement (CLA) by visiting https://mycroft.ai/cla, then they will
be included in the Mycroft Project's overall Contributor list,
found at: https://github.com/MycroftAI/contributors. This cleanly
protects the project, the contributor and all who use the technology
to build upon.
Futher discussion can be found at this blog post:
https://mycroft.ai/blog/right-license/
This commit also removes all __author__="" from the code. These
lines are painful to maintain and the etiquette surrounding their
maintainence is unclear. Do you remove a name from the list if the
last line of code the wrote gets replaced? Etc. Now all
contributors are publicly acknowledged in the aforementioned repo,
and actual authorship is maintained by Github in a much more
effective and elegant way!
Finally, a few references to "Mycroft AI" were changed to the correct
legal entity name "Mycroft AI Inc."
==== Fixed Issues ====
#403 Update License.md and file headers to Apache 2.0
#400 Update LICENSE.md
==== Documentation Notes ====
Deprecated the ScheduledSkill and ScheduledCRUDSkill classes.
These capabilities have been superceded by the more flexible MycroftSkill
class methods schedule_event(), schedule_repeating_event(), update_event(),
and cancel_event().
Reworking the mechanisms used to interact with Mycroft. The old
mycroft.sh utilized the 'screen' command, but now with the CLI it
it easier to use that for viewing log files. Plus there was
confusion between when to use start.sh and when to use mycroft.sh.
Now things are wrapped in the simple and easily discoverable scripts:
* start-mycroft.sh
* stop-mycroft.sh
The start-mycroft.sh allows you to start the background services and
to invoke the various tools (e.g. the CLI, unit tests, etc).
==== Fixed Issues ====
==== Documentation Notes ====
This will require revamp of the getting started guides, etc.
This is the template for commits to mycroft-core and also an example of
a commit message. To use this template, change the first line (think of
it as a "headline" for the commit) and then edit this message with a
longer description of the change. To be nice, keep lines to 72
characters or less (The first two lines of this template are exactly
that length). Also use imperative writing, e.g. "Fix broken code" or
"Implement my new feature", not "Fixes the broken code" or
"Implemented my new feature".
Sections below can then be filled out and edited as appropriate.
Unused sections can optionally be removed.
Please fill this out carefully. This moment is when the code is
clearest in the mind of you, the foremost expert in this change.
Please pause to think of side effects and impacts.
==== Documentation Notes ====
mycroft-use script is used to switch from stable and unstbale builds for the mycroft core. It also points the unstable build to use the home-test.mycroft.ai cluster instead of production cluster.
mycroft-packaging repo needs to be merged to master for the packaging to take place.
==== Fixed Issues ====
984 - install_mimic.sh -- Mimic shouldn't have to clone all branches
==== Tech Notes ====
This modification clones the mimic repository with a depth of one in
order to reduce download times and local size. A side affect might be
that this would make it harder for developers to checkout different
mimic branches, as they would have to tech them first.
* Improve mycroft.sh
- Refactor to make adding other scripts easier
- Stop all skills before starting
- Handle multiple screen instances running at the same time
- Notify the user by screen name (not as pretty but makes more sense)
- Clean up code:
- Change if chain to switch statement
- use cat to display usage rather than multiple echo statements
* Small mycroft.sh refactor
- Auto-generate .screen files
- Add start-mycroft-custom for other executables
- Use echo instead of cat (originally didn't realize multiline quotes were a thing)
- Rename variable screen_name to uppercase to be consistent
* Decrease mycroft.sh sleep time to 0.1 seconds
Less time to wait and still seems to work fine on all tested platforms