318 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
2b525a1930
d/rules: Don't install and enable other systemd service files
Close: #1982.

This eliminates the issue with calibre and wordpress services getting run even
before the app is installed. These services are enabled when the app is
installed. On disadvantage is that services are no longer restarted when a newer
service file is installed.

Users for whom caibre and wordpress have already been enabled. Nothing changes
on upgrade and service will still be enabled. However, the services won't be
attempted to be started without the app's being installed. This is good enough
without having to write custom logic to disable these services.

Tests:

- Install freedombox package on a fresh setup. wordpress and calibre service
files are not enabled.

- When wordpress and calibre apps are installed, these services are enabled and
run as expected.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-09 22:09:03 -04:00
Sunil Mohan Adapa
071d61bcc8
*: Move all systemd service files from /lib to /usr
This is now the preferred location in Debian. See:

https://lintian.debian.org/tags/systemd-service-in-odd-location
https://bugs.debian.org/992465
https://bugs.debian.org/987989
d70caa69c6
https://lists.debian.org/debian-devel/2021/08/msg00275.html

Tests:

- Lintian no longer shows errors:
  E: freedombox: systemd-service-in-odd-location lib/.../calibre-server-freedombox.service

- Comparing the old .deb and newly generated .deb with these changes. All the
systemd files show that they are moved from /lib to /usr/lib/systemd.

- After upgrading the deb from older version to a version these changes,
services installed by the package are available (tested after restart with
wordpress and claibre). Services tweaked by the package have the changed
configuration reflected as shown by systemctl show
{service-name}.service (tested after restart with quassel).

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-09 22:08:50 -04:00
Sunil Mohan Adapa
f2bcecdf74
d/rules: Don't use setup.py to invoke tests, invoke directly instead
Invoking pytest from setup.py seems to be deprecated. It offers no real
advantages other than being predictable way of invoking tests for someone who
don't know that we use pytest for testing. Let's rely on our documentation
instead. Further this clears up the need to have setup.cfg.

Tests:

- Build debian package in using pbuilder. Tests are run and succeed during the
build.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-07 15:14:09 -04:00
Sunil Mohan Adapa
3c370d02ab
pyproject.toml: Merge contents of .converagerc
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-07 15:13:59 -04:00
Sunil Mohan Adapa
b4e3824a4a
d/control: Allow building with python interpreter of any arch
python3-all:any means that python3 interpreter of any architecture could be used
to build the package. python3-all means that same architecture as the build
process would be needed. This is a stricter restriction and is unnecessary for
the case of freedombox package.

See discussion in: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995498

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-10-06 09:48:25 -04:00
James Valleroy
294410019f
Release v21.10 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-27 19:24:35 -04:00
James Valleroy
7a4058a3a2
debian: Set Standards-Version to 4.6.0
No changes needed.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-27 19:23:37 -04:00
James Valleroy
5367980163
Release v21.9 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-18 10:07:51 -04:00
Sunil Mohan Adapa
34987c77bd
d/lintian-overrides: Drop workaround for remove-on-upgrade dpkg flag
As of Lintian 2.105.0, remove-on-upgrade and other flags in DEBIAN/conffiles is
properly handled. False errors are no longer thrown. Drop the workaround
introduced for this purpose.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-10 08:38:08 -04:00
Sunil Mohan Adapa
bdc1965b6c
d/lintian-overrides: Add override for manual outside .../doc/
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-10 08:37:59 -04:00
Sunil Mohan Adapa
8f8c7354d8
d/lintian-overrides: Override message for not supporting sysvinit
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-10 08:37:48 -04:00
Sunil Mohan Adapa
ae4d973db2
d/lintian-overrides: Drop override for a removed tag
As of lintian 2.105.0, the tag systemd-service-file-outside-lib has been
removed. Drop the override to avoid a lintian error.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-09-10 08:37:36 -04:00
Joseph Nuthalapati
60ef19b6ec
mediawiki: Switch to MediaWiki 2020 logo
Signed-off-by: Joseph Nuthalapati <njoseph@riseup.net>
[sunil: Added copyright year]
[sunil: Scaled the images to sizes commonly used for FreedomBox logos]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-09-05 13:33:10 -07:00
Fioddor Superconcentrado
d49d7f9b41
lintian: Overrides for remove-on-upgrade dpkg conffiles flag
Signed-off-by: Fioddor Superconcentrado <fioddor@gmail.com>
[sunil: Limit the overrides to just the flag not understood by lintian]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-09-01 11:49:08 -07:00
James Valleroy
3dc7501f92
debian: Add gbp tag config
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-30 20:29:07 -04:00
James Valleroy
c660cada6d
Release v21.8 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-30 20:02:12 -04:00
Sunil Mohan Adapa
efa615201b
wordpress: New app to manage a WordPress site/blog
- Use php-fpm instead of using mod-php.

- Create database and setup permissions manually. Tables and initial data are
created during the initial setup process done by WordPress. Database upgrades
are handled by WordPress. Minor versions are upgraded automatically and major
version need user intervention.

- Backup/restore functionality including database.

- Install recommended extensions for performance.

- Setup and run cron jobs to ensure that scheduled publications are
completed (among other things). Service has systemd security features. Timer is
set to run every 10 minutes.

- Functional tests for adding/removing posts and backup/restore.

- Increase file upload size limit to 128MiB.

- A private mode (default) for keeping the setup process secure. Should be
disabled after first setup is completed. This uses a new approach using
file-based flag for different Apache configurations.

TODO:

- Find a nice way to allow WordPress to upload plugins/themes. Currently this
operation files and users are expected to manually scp the files to
/var/lib/wordpress/wp-content/{plugins,themes} directory.

Tests:

- Functional tests.

- Schedule publishing of a post. Notice that post got published.

- Test uploading a file larger than 2MiB.

- Test enabling permalinks. This leads to nicer looking URLs.

- Test adding images to posts/pages.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-25 08:20:01 -04:00
Sunil Mohan Adapa
28030933dc
d/control: Drop wireless-tools as recommends
Closes: #2100.

- wireless-tools package is being orphaned. https://bugs.debian.org/963896 .

- We use Network Manager to manage network and don't use iw* tools from
wireless-tools package. Network Manager itself does not need wireless-tools
package to configure and manage Wi-Fi connections. This is seen on typical
desktops.

- FreedomBox service uses NM D-Bus API to scan for available networks.

- Code does not refer to the tools iwconfig, iwevent, iwgetid, iwlist, iwpriv or
iwspy. These are the binaries provided by the wireless-tools package.

Tests:

- After removal of the wireless-tools package, wireless scan functionality does
not result in an error.

- Not tested: Attaching actual Wi-Fi hardware and seeing the list of available
Wi-Fi networks.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-21 18:00:44 -04:00
Sunil Mohan Adapa
7aca9d9299
d/lintian-overrides: Allow all systemd services paths
- Temporary workaround for https://bugs.debian.org/992465

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-21 16:12:08 -04:00
James Valleroy
c85adf82ed
Release v21.7 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-08-16 19:35:19 -04:00
James Valleroy
d00fc72126
debian: Ensure fuse gets replaced by fuse3
Apply patch from Andreas Beckmann <anbe@debian.org> for #990758.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2021-07-07 14:56:33 -04:00
James Valleroy
1aa1c343f0
Release v21.6 to experimental
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-05-31 19:02:04 -04:00
James Valleroy
34848d64ba
Release v21.5 to experimental
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-04-19 20:37:31 -04:00
Besnik Bleta
bcdd80e8d5
debian: Add Albanian (sq) locale
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-04-14 16:16:45 -07:00
Sunil Mohan Adapa
e0ebfecc27
Update copyright year
Closes: #2079.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-04-14 16:10:14 -07:00
James Valleroy
b288a442c4
debian: Add coverage to autopkgtest
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-03-05 18:20:09 -08:00
James Valleroy
8f6b6f87a0
Release v21.4 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-28 21:37:19 -05:00
James Valleroy
e66bd00b91
Release v21.3 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-11 18:00:16 -05:00
John Lines
f978d2f0d0
zoph: Add new app to organize photos
- Identify Freedbombox admin who installed the app to be zoph admin.

- Implement backup and restore.

- Photos directory should remain at /var/lib/zoph, for proper operation of
backups.

- There remains an issue that the App is enabled before it is configured but
will not work correctly until configuration.

- OpenStreetMap mapping is enabled. These should be configurable before
installation.

- Add initial forms.py and views.py to Zoph app, however these are currently
unused as urls.py does not invoke the view. When the view is not invoked the
Zoph App installs, with single signon, currently as the first LDAP user, rather
than the plinth user.

- The first user's preferences are not set, and need to be manually set to avoid
other errors.

* Sunil's changes

- Squash commits and re-split them.

- Drop documentation as it will be auto populated from wiki later.

- Remove outdated validation code from manifest.

- Drop some dead code.

- Don't send MySQL password over command line for improved security. Instead
  rely on Unix authentication of root user similar to backup/restore process.

- Use JSON for exchanging configuration dump to avoid encoding errors.

- Add username validation to avoid a potential SQL injection.

- Update description for neural tone and brevity. Add information about how user
  accounts work in FreedomBox

- Fix functional tests.

- Drop all code related to changing photos path until it is ready.

- Update URL from /zoph to /zoph/ to avoid another redirect.

- Fix disabling the app.

- Use icon that Zoph uses for favicon as logo. Update copyright file.

- Fix spelling unzip.

- Minor refactors. Run yapf and isort.

- Use subprocess.run() instead of os.popen() everywhere for better security with
argument parsing.

- Enable OpenStreetMap by default. User have a choice to disable it before using
the app. Add label to explain privacy concerns.

- Fix dropping database by using --force argument.

- Cleanup enabling the app to not enable the app when updating configuration.

- Use AppView's default template instead of overriding.

- Update functional tests to just check if the app is enabled/disabled as
expected. Checking that Zoph site is available will require reliable handling of
admin user.

Signed-off-by: John Lines <john@paladyn.org>
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2021-02-10 01:13:29 -08:00
James Valleroy
6baa6e7698
Release v21.2 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-02-06 00:40:26 -05:00
James Valleroy
80285d3f5f
Release v21.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-25 21:09:03 -05:00
James Valleroy
adf404ca5c
Release v21.0 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2021-01-11 20:07:22 -05:00
James Valleroy
da4ab1bc8b
Release v20.21 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-12-28 21:09:18 -05:00
James Valleroy
92c9ba21ac
debian: Bump standards version to 4.5.1
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-12-28 21:08:14 -05:00
James Valleroy
a73edb9f32
Release v20.20.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-12-19 19:19:18 -05:00
achalaramu
00bc55f762
Migrate bootstrap 4 from bootstrap 3
Closes: #1818. The new navbar collapse handles items better without a scrollbar.

- Switch dependency to newer bootstrap4 library.

- Bootstrap 4 has 5 grid levels instead of 4. Adjust all classes accordingly to
retain current semantics.

- Update for newer markup for dropdowns.

- Replace use for labels with badges. Labels have been removed. Use
badge-secondary instead of label-default.

- Replace use of btn-xs with btn-sm. Size is roughly the same.

- Accommodate removal of form-horizontal.

- .hidden* and .visible* classes have been removed. Use alternate utilities.

- Replace use of table-condensed with table-sm.

- Update progress bar background styling. .progress-bar-* have been replaced
with bg-*.

- Drop support for IE9 and below. Bootstrap 4 does not support those browsers.

- Use the new simplified markup for navs, navbar and navbar-toggler. Accommodate
removal of .navbar-fixed-top.

- Update the JSXC page too.

- Update all values that are using rem units. The base font size is now 1rem =
16px instead of 1rem = 10px. This the default for bootstrap 4.

- A button inside a dropdown menu is natively supported by bootstrap 4. Remove
custom styling done earlier.

- Drop use of removed class thumbnail.

- Override colors for buttons and warnings to keep the old style.

- Use new markup for close buttons inside alerts.

- Use .collapse.show instead of .collapse.in as per bootstrap 4 styling.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Veiko Aasa <veiko17@disroot.org>
2020-12-19 11:26:32 +02:00
James Valleroy
e40d14ca6e
Release v20.20 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-12-14 19:31:38 -05:00
James Valleroy
2fc5760af4
Release v20.19 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-30 19:09:18 -05:00
James Valleroy
3b25004970
debian: Add python3-openssl as build dependency for tests
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-30 19:00:58 -05:00
James Valleroy
45da955c31
Release v20.18.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-23 18:38:07 -05:00
James Valleroy
0e7c7ce15d
Release v20.18 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-16 20:50:00 -05:00
James Valleroy
b515a8f9cc
Release v20.17.1 to experimental
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-07 08:45:14 -05:00
James Valleroy
e7515683b3
debian: Rename source package to freedombox
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-11-07 08:07:48 -05:00
James Valleroy
5fbcbe9e16
Release v20.17 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-11-02 19:49:19 -05:00
James Valleroy
e03161201c
Release v20.16 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-10-19 20:43:03 -04:00
James Valleroy
a7829d3bf7
debian: Add Brazilian Portuguese debconf templates translation
Closes: #972449.

Thanks to Adriano Rafael Gomes for the translation.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-10-19 17:30:34 -04:00
James Valleroy
0457792ba4
Release v20.15 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-10-05 19:26:19 -04:00
Sunil Mohan Adapa
fe183dbc72
debian/control: Add sshpass as build dependency
- Required only by tests when run as superuser. However, it's addition makes it
  very uniform to ensure that all dependencies are pre-installed in a container
  when running tests.

- We may find ways to run root user tests in future.

- The package seems very stable.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-10-05 00:05:57 -07:00
Veiko Aasa
6b61ca2f18
ssh: action script: Require user credentials when editing ssh keys
This change prevents the plinth user to set the ssh-keys without
knowing the user password.

- Debian: added new dependency python3-pampy to authenticate users.
- Added additional required parameter --auth-user to the
  'actions/ssh set-keys' command. A password should be
  provided through STDIN.

Tests performed:
- running 'actions/ssh set-keys' with empty or wrong admin credentials
  fails.
- running 'actions/ssh set-keys' with correct admin credentials
  succeeds.
- running 'actions/ssh set-keys' with correct non-admin credentials
  succeeds if the --username is the same user.
- running 'actions/ssh set-keys' with correct non-admin credentials
  fails if the --username is a different user.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2020-10-05 00:05:41 -07:00
James Valleroy
afc6b178a4
Release v20.14.1 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2020-09-23 07:38:44 -04:00