Release v20.7 to unstable

-----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAl6eLk8WHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICE+tD/9uCLOVnAYSoHimXUAz/e8eGrne
 6R4320VEHS7lEnahqw2lsRQo8Bv12eunFC7wiomak9AVASahWNVeaKSi+q6p0CoT
 q1usNTdsjQazoBaYew1bIdXIgQQSihoak7aOJhRc5okyV88U7mgA6wxCBlP2giQW
 2YoDtOLOYbSucM+wJaiTCqejHDyMb4sQhCD5Mg5dXLN7Go23Ln8shT/3nJnJ0RLQ
 ltA+z/WcW6cTOSjzvwKCtMxuAKy71H12CNuwpeLrWQYroHXopHH85nT8M19YOTY5
 kFoHkPcqyRXWRHCoCYDW1ulJyXVuOplGA9rEadmT/v1M/BDbgXpke4av10NsIr18
 E/RZUd1n2geD9PJkqlA58A0shJ9/cPkFLEL6fW7ONTg6McJ8c62gy8aOCtyhk3YN
 sAZ8kcQ1n+2T/lLlLCmYD60cEVnheuY/nyGvB/ZcZuLpvVXO83g2Ld6YbDggrM+7
 e/QZozEbbDud3QloB6vXEYwpFAdxsLt7Nh9oOnU4kaeGL3h3N6vDhnkT1I+WQSqD
 9myKaRrfaHSC/oAzg28CscaMWXrK+buESJe4fXUQEFf6YC3gmNPwVnqzzykNs6Op
 MhlGcATVlwQ5ewR9aZ5D1Bj7qAr/NHC4fAzycydU0lLzZZLqV0nsKwIc9yqm1PpQ
 RdiLZBFM791TT3gRfw==
 =mVHE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJKBAABCgA0FiEEfWrbdQ+RCFWJSEvmd8DHXntlCAgFAl6hvkUWHGp2YWxsZXJv
 eUBtYWlsYm94Lm9yZwAKCRB3wMdee2UICLxAD/9OTeOfIybnc7sj1pL7JdDAE6gl
 JqVC94Vw45IbWcYlHNH7Ad23mWBBxQD5YRGC+2bZGHjSft3U354xm64vcSLWWJer
 aKYx2S9rqUMOrR5AyUGMVevO4KyETtn8UkRxFzgiKMUYCjKaBIYVCG2n/BWZHf7z
 1fy3hdBgwFToSs3vHD2CiU7m6KfxcFNcALWppsHFPRYGPgwAsiqOO+y9Q6cbaXkh
 O2WMVFof8heCr+nE9lBR2yUhT0OvS0awpv/gQijd1HSo6nhC7+2O9S2qt+gSNCJK
 Zd0OfA3p6NYL/jYcb1BRNLniohUZzXcT7ol6HiwjtrWgQWX4TDxmyS4FeaplbeI9
 deJwSWIMoOaHu7q4k7S7dedtm4BOmsDpo51kGfmw6TfttDxbN0nh4he4QK4IMc5n
 M9r5JhsWWdTI5Qv3l/6zv0IHIv2AjeC5mSQ8dJda5cSigCxLdEWPmXKdEQFrDfzy
 jQz+MVismCwd7NJqWkhm7CwETWz0WXvBeYZqUXLyuLLNV55dyvaIEPziCeYDJNv8
 01ZOaeSK5z5YSWRZBXYMqE5maPoezzAYzFLc23tsKLz7PU4+DzCEHFb6Fs0L1VvP
 L68FSn7ol6jpMlAl3Ny9CJP1m59Ht5/7QiQqW1TvO7omDcZApyWpMQqX/Vi5gRPw
 XEKSG0oz/YHUIlB9Bw==
 =F5na
 -----END PGP SIGNATURE-----

Merge tag 'v20.7' into debian/buster-backports

Release v20.7 to unstable

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
James Valleroy 2020-04-23 12:11:41 -04:00
commit 55694fcb7d
138 changed files with 1705 additions and 1522 deletions

View File

@ -11,7 +11,7 @@ can install latest versions of Git, Vagrant and VirtualBox.
1. Install Git, Vagrant and VirtualBox using apt.
```
```bash
$ sudo apt install git virtualbox vagrant
```
@ -25,10 +25,10 @@ can install latest versions of Git, Vagrant and VirtualBox.
2. Install Git, Vagrant and VirtualBox using Brew.
```
brew install git
brew cask install vagrant
brew cask install virtualbox
```bash
$ brew install git
$ brew cask install vagrant
$ brew cask install virtualbox
```
### For Windows
@ -40,8 +40,8 @@ can install latest versions of Git, Vagrant and VirtualBox.
2. Tell Git to use Unix line endings by running the following in Git Bash.
```
git config --global core.autocrlf input
```bash
host$ git config --global core.autocrlf input
```
3. Run all the following commands inside Git Bash.
@ -57,41 +57,49 @@ and requires about 4.5 GB of disk space.
1. Checkout FreedomBox Service (Plinth) source code using Git.
```
git clone https://salsa.debian.org/freedombox-team/plinth.git
cd plinth
```bash
host$ git clone https://salsa.debian.org/freedombox-team/plinth.git
host$ cd plinth
```
2. To download, setup, run, and configure a VM for FreedomBox development using
Vagrant, simply execute in your FreedomBox Service (Plinth) development
folder:
```
$ vagrant up
```bash
host$ vagrant up
```
3. SSH into the running vagrant box with the following command:
```
$ vagrant ssh
```bash
host$ vagrant ssh
```
4. Run the development version of FreedomBox Service (Plinth) from your source
directory in the virtual machine using the following command. This command
continuously deploys your code changes into the virtual machine providing a
quick feedback cycle during development.
## Using the Virtual Machine
```
$ sudo -u plinth /vagrant/run --develop
```
Once in the virtual machine (vm) the source code is available in /vagrant directory:
5. If you have changed any system configuration files during your development,
you will need to run the following to install those files properly on to the
system and their changes to reflect properly.
```bash
vm$ cd /vagrant
```
```
$ sudo ./setup.py install
```
Run the development version of FreedomBox Service (Plinth) from your source
directory in the virtual machine using the following command. This command
continuously deploys your code changes into the virtual machine providing a
quick feedback cycle during development.
```bash
vm$ sudo -u plinth /vagrant/run --develop
```
If you have changed any system configuration files during your development,
you will need to run the following to install those files properly on to the
system and their changes to reflect properly.
```bash
vm$ sudo ./setup.py install
```
Note: This development virtual machine has automatic upgrades disabled by
default.
@ -101,13 +109,13 @@ default.
To run all the tests:
```bash
$ py.test-3
vm$ py.test-3
```
Another way to run tests (not recommended):
```bash
$ ./setup.py test
vm$ ./setup.py test
```
To run a specific test function, test class or test module, use pytest filtering
@ -117,30 +125,30 @@ options. See pytest documentation for further filter options.
```bash
# Run tests in a directory
$ py.test-3 plinth/tests
vm$ py.test-3 plinth/tests
# Run tests in a module
$ py.test-3 plinth/tests/test_actions.py
vm$ py.test-3 plinth/tests/test_actions.py
# Run tests of one class in test module
$ py.test-3 plinth/tests/test_actions.py::TestActions
vm$ py.test-3 plinth/tests/test_actions.py::TestActions
# Run one test in a class or module
$ py.test-3 plinth/tests/test_actions.py::TestActions::test_is_package_manager_busy
vm$ py.test-3 plinth/tests/test_actions.py::TestActions::test_is_package_manager_busy
```
## Running the Test Coverage Analysis
To run the coverage tool:
```
$ py.test-3 --cov=plinth
```bash
vm$ py.test-3 --cov=plinth
```
To collect HTML report:
```
$ py.test-3 --cov=plinth --cov-report=html
```bash
vm$ py.test-3 --cov=plinth --cov-report=html
```
Invoking this command generates a HTML report to the `htmlcov` directory.
@ -157,7 +165,11 @@ executed (red).
#### For running tests inside the VM
Run `vagrant provision --provision-with tests`.
From the host, provision the virtual machine with tests:
```bash
host$ vagrant provision --provision-with tests
```
#### For running tests on host machine
@ -165,13 +177,13 @@ Follow the instructions below to run the tests on host machine. If you wish
perform the tests on host machine, the host machine must be based on Debian
Buster (or later).
```
$ pip3 install splinter
$ pip3 install pytest-splinter
$ sudo apt install python3-pytest-bdd
$ sudo apt install xvfb python3-pytest-xvfb # optional, to avoid opening browser windows
$ sudo apt install firefox
$ sudo apt install smbclient # optional, to test samba
```bash
host$ pip3 install splinter
host$ pip3 install pytest-splinter
host$ sudo apt install python3-pytest-bdd
host$ sudo apt install xvfb python3-pytest-xvfb # optional, to avoid opening browser windows
host$ sudo apt install firefox
host$ sudo apt install smbclient # optional, to test samba
```
- Install the latest version of geckodriver. It is usually a single binary which
@ -206,28 +218,28 @@ tests will create the required user using FreedomBox's first boot process.
**When inside a VM you will need to target the guest VM**
```bash
export FREEDOMBOX_URL=https://localhost FREEDOMBOX_SAMBA_PORT=445
vm$ export FREEDOMBOX_URL=https://localhost FREEDOMBOX_SAMBA_PORT=445
```
You will be running `py.test-3`.
```
$ py.test-3 --include-functional
```bash
vm$ py.test-3 --include-functional
```
The full test suite can take a long time to run (more than an hour). You can
also specify which tests to run, by specifying a mark:
```
$ py.test-3 -m essential --include-functional
$ py.test-3 -m mediawiki --include-functional
```bash
vm$ py.test-3 -m essential --include-functional
vm$ py.test-3 -m mediawiki --include-functional
```
If xvfb is installed and you still want to see browser windows, use the
`--no-xvfb` command-line argument.
```
$ py.test-3 --no-xvfb -m mediawiki --include-functional
```bash
vm$ py.test-3 --no-xvfb -m mediawiki --include-functional
```
## Building the Documentation Separately
@ -238,8 +250,8 @@ there. Both these are build during the installation process.
To build the documentation separately, run:
```
$ make -C doc
```bash
vm$ make -C doc
```
## Repository

View File

@ -156,8 +156,11 @@ def _clone_with_progress_report(url, repo_dir):
if currenttime - starttime > 1:
elapsed = _clone_status_line_to_percent(line)
if elapsed is not None:
with open(status_file, 'w') as file_handle:
file_handle.write(elapsed)
try:
with open(status_file, 'w') as file_handle:
file_handle.write(elapsed)
except OSError as error:
errors.append(str(error))
starttime = currenttime
@ -183,12 +186,15 @@ def _prepare_clone_repo(arguments):
repo_dir = os.path.join(GIT_REPO_PATH, repo_name)
os.mkdir(repo_dir)
if arguments.is_private:
_set_access_status(repo_name, 'private')
status_file = os.path.join(repo_dir, 'clone_progress')
with open(status_file, 'w') as file_handle:
file_handle.write('0')
try:
if arguments.is_private:
_set_access_status(repo_name, 'private')
with open(status_file, 'w') as file_handle:
file_handle.write('0')
except OSError:
shutil.rmtree(repo_dir)
raise
def _clone_status_line_to_percent(line):
@ -238,14 +244,21 @@ def _clone_repo(arguments):
def _create_repo(arguments):
"""Create an empty repository."""
repo = arguments.name
subprocess.check_call(['git', 'init', '--bare', repo], cwd=GIT_REPO_PATH)
if not arguments.keep_ownership:
subprocess.check_call(['chown', '-R', 'www-data:www-data', repo],
try:
subprocess.check_call(['git', 'init', '--bare', repo],
cwd=GIT_REPO_PATH)
_set_repo_description(repo, arguments.description)
_set_repo_owner(repo, arguments.owner)
if arguments.is_private:
_set_access_status(repo, 'private')
if not arguments.keep_ownership:
subprocess.check_call(['chown', '-R', 'www-data:www-data', repo],
cwd=GIT_REPO_PATH)
_set_repo_description(repo, arguments.description)
_set_repo_owner(repo, arguments.owner)
if arguments.is_private:
_set_access_status(repo, 'private')
except (subprocess.CalledProcessError, OSError):
repo_path = os.path.join(GIT_REPO_PATH, repo)
if os.path.isdir(repo_path):
shutil.rmtree(repo_path)
raise
def _get_repo_description(repo):

View File

@ -47,6 +47,16 @@ Explanation: matrix-synapse >= 1.11 requires python3-signedjson >= 1.1.0
Package: python3-signedjson
Pin: release a=buster-backports
Pin-Priority: 500
Explanation: matrix-synapse >= 1.12 requires python3-twisted >= 18.9.0-8~
Package: python3-twisted
Pin: release a=buster-backports
Pin-Priority: 500
Explanation: python3-twisted requires matching version of python3-twisted-bin
Package: python3-twisted-bin
Pin: release a=buster-backports
Pin-Priority: 500
'''

28
debian/changelog vendored
View File

@ -1,3 +1,31 @@
plinth (20.7) unstable; urgency=medium
[ Coucouf ]
* Translated using Weblate (French)
[ vihor ]
* Translated using Weblate (Serbian)
[ Localisation Lab ]
* Translated using Weblate (French)
[ Joseph Nuthalapati ]
* Translated using Weblate (Telugu)
[ Veiko Aasa ]
* gitweb: Improve error handling when creating repository
[ James Valleroy ]
* upgrades: Allow installation of python3-twisted from backports
* matrixsynapse: Handle upgrade to 1.12.*
* locale: Update translation strings
* doc: Fetch latest manual
[ Fioddor Superconcentrado ]
* HACKING: Clarify where commands should be run
-- James Valleroy <jvalleroy@mailbox.org> Mon, 20 Apr 2020 18:38:52 -0400
plinth (20.6.1~bpo10+1) buster-backports; urgency=medium
[ James Valleroy ]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -600,10 +600,20 @@
<para>Plug one end of your ethernet cord into your FreedomBox's ethernet port, and plug the other end into your router. </para>
</listitem>
<listitem>
<para>Power on the FreedomBox. <emphasis role="strong">Note:</emphasis> On most single board computers, don't expect any output on a monitor connected via HDMI as the support may not exist in the kernel. See below to access and control your FreedomBox via network. </para>
<para>Power on the FreedomBox. </para>
<itemizedlist>
<listitem>
<para><emphasis role="strong">Note:</emphasis> On most single board computers, don't expect any output on a monitor connected via HDMI as the support may not exist in the kernel. See below to access and control your FreedomBox via network. </para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>On first boot, FreedomBox will perform its initial setup (older versions of FreedomBox reboot after this step). This process may take several minutes on some machines. After giving it about 10 minutes, proceed to the next step. <emphasis role="strong">Note:</emphasis> Currently, due a known bug, you need to restart your FreedomBox after 10m and then proceed to the next step. </para>
<para>On first boot, FreedomBox will perform its initial setup (older versions of FreedomBox reboot after this step). This process may take several minutes on some machines. After giving it about 10 minutes, proceed to the next step. </para>
<itemizedlist>
<listitem>
<para><emphasis role="strong">Note:</emphasis> Currently, due a known bug, you need to restart your FreedomBox after 10m and then proceed to the next step. </para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>After the FreedomBox has finished its initial setup, you can access its web interface (called Plinth) through your web browser. </para>
@ -10152,6 +10162,20 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
<section>
<title>Release Notes</title>
<para>The following are the release notes for each FreedomBox version. </para>
<section>
<title>FreedomBox 20.7 (2020-04-20)</title>
<itemizedlist>
<listitem>
<para>matrixsynapse: Fix initial installation and upgrade from backports </para>
</listitem>
<listitem>
<para>gitweb: Improve error handling when creating repository </para>
</listitem>
<listitem>
<para>locale: Update translations for French, Serbian, and Telugu </para>
</listitem>
</itemizedlist>
</section>
<section>
<title>FreedomBox 20.6.1 (2020-04-11)</title>
<itemizedlist>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -476,10 +476,20 @@
<para>Conecta un extremo del cable de red al puerto <emphasis>Ethernet</emphasis> de tu FreedomBox y el otro a tu router. </para>
</listitem>
<listitem>
<para>Enciende la FreedomBox. <emphasis role="strong">Nota:</emphasis> En la mayoría de computadoras monoplaca no esperes un efecto de salida en un monitor si lo conectas por HDMI porque el núcleo (kernel) del sistema podría no reconocerlo. Mira más abajo para aprender cómo acceder y controlar tu FreedomBox desde la red. </para>
<para>Enciende la FreedomBox. </para>
<itemizedlist>
<listitem>
<para><emphasis role="strong">Nota:</emphasis> En la mayoría de computadoras monoplaca no esperes un efecto de salida en un monitor si lo conectas por HDMI porque el núcleo (kernel) del sistema podría no reconocerlo. Mira más abajo para aprender cómo acceder y controlar tu FreedomBox desde la red. </para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>En el primer arranque FreedomBox ejecutará su configuración inicial (las versiones más antiguas de FreedomBox se reinician tras este paso). Este proceso podría llevar varios minutos en algunas máquinas. Después de darle unos 10 minutos aproximadamente, sigue con el siguiente paso. <emphasis role="strong">Nota:</emphasis> Esta espera y reinicio se necesitan a causa de un defecto conocido. </para>
<para>En el primer arranque FreedomBox ejecutará su configuración inicial (las versiones más antiguas de FreedomBox se reinician tras este paso). Este proceso podría llevar varios minutos en algunas máquinas. Después de darle unos 10 minutos aproximadamente, sigue con el siguiente paso. </para>
<itemizedlist>
<listitem>
<para><emphasis role="strong">Nota:</emphasis> Esta espera y reinicio se necesitan a causa de un defecto conocido. </para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Después de que tu FreedomBox haya finalizado su configuración inicial puedes acceder a su interfaz web (llamado <emphasis>Plinth</emphasis>) mediante tu navegador web. </para>
@ -10019,6 +10029,20 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
<section>
<title>Release Notes</title>
<para>The following are the release notes for each FreedomBox version. </para>
<section>
<title>FreedomBox 20.7 (2020-04-20)</title>
<itemizedlist>
<listitem>
<para>matrixsynapse: Fix initial installation and upgrade from backports </para>
</listitem>
<listitem>
<para>gitweb: Improve error handling when creating repository </para>
</listitem>
<listitem>
<para>locale: Update translations for French, Serbian, and Telugu </para>
</listitem>
</itemizedlist>
</section>
<section>
<title>FreedomBox 20.6.1 (2020-04-11)</title>
<itemizedlist>

Some files were not shown because too many files have changed in this diff Show More