[Replicant] [vendor_replicant-release-scripts] [PATCH] release_notes.py: add support for more recent libraries versions

2020-12-27 Thread Denis 'GNUtoo' Carikli
Signed-off-by: Denis 'GNUtoo' Carikli 
---
 release_notes.py | 32 +---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/release_notes.py b/release_notes.py
index 454f384..3c0964b 100755
--- a/release_notes.py
+++ b/release_notes.py
@@ -23,7 +23,17 @@
 
 from bs4 import BeautifulSoup
 from html2text import config, HTML2Text
-from html2text.utils import wrapwrite
+
+try:
+# This has been removed in more recent
+# versions of python-html2text. See commit
+# b361467894fb277563b4547ec9d4df49f5e0c6e3
+# (b361467 Remove support for Python ≤ 3.4)
+# in https://github.com/Alir3z4/html2text.git
+from html2text.utils import wrapwrite
+except:
+pass
+
 import sys
 
 def usage(progname):
@@ -36,7 +46,20 @@ if len(sys.argv) != 2:
 html_file_path = sys.argv[1]
 
 with open(html_file_path) as html_file:
-soup = BeautifulSoup(html_file, features="lxml").article
+try:
+soup = BeautifulSoup(html_file, features="html5lib").article
+except:
+try:
+# For some reason the lxml parser isn't found with
+# python-beautifulsoup4 4.9.3-3.0 on Parabola. It's
+# probably better to use an html5 parser anyway as the
+# Replicant blog (now?) uses the html doctype and the
+# theme seems to include an html5.js file for the IE 9
+# browser.
+soup = BeautifulSoup(html_file, features="lxml").article
+except:
+print("Cannot find html5lib or lxml parsers")
+sys.exit(1)
 
 # Format the output to be compatible with mail conventions but make sure that
 # the links are not split between two lines
@@ -46,4 +69,7 @@ config.WRAP_LIST_ITEMS = True
 config.BODY_WIDTH = 70
 
 parser = HTML2Text()
-wrapwrite(parser.handle(soup.decode()))
+try:
+wrapwrite(parser.handle(soup.decode()))
+except:
+sys.stdout.write(parser.handle(soup.decode()))
-- 
2.29.2

___
Replicant mailing list
Replicant@osuosl.org
https://lists.osuosl.org/mailman/listinfo/replicant


[Replicant] 2 patches for the 6.0 0004 RC4

2020-12-27 Thread Denis 'GNUtoo' Carikli


Hi,

Here are two patches for the RC4 which consist of:
- The release notes (that were modified from the draft for the release
  blog post).
- A small fix for the script that is used to extract the release notes
  from the blog post.

The next steps after the RC4 are probably to test the upgrade paths
between the 0003, the 0004 RC3 and 0004 RC4. I've already experimental
code that can be reused to automatize such testing. I'm unsure if the
test will find things or not as for instance 0004 RC3 -> 0004 RC4 will
is completely untested so far since there no key migration is supposed
to happen in this case, and that wasn't tested yet.

If we don't have more patches and that everything goes well, we could
then release the image: even if many things still need to be fixed (as
mentioned in the release notes) we also need to actually bring fixes
to users.

In the worst case, if we get more patches to review on the mailing list,
we could still do subsequent releases with these additional patches.

This is also why we need to get the key migration right: we don't want
to have issues with potential subsequent releases. In addition we could
probably reuse all that in Replicant 11 or later for upgrades when we
need to change signing keys.

For the first patch, here's an URL to the see the patch in a web
interface:
https://git.replicant.us/contrib/GNUtoo/vendor_replicant/commit/?id=418c955d2d1b7c80925b77ca0ee9e9bb28c3a938

And here's how to get it in a git repository:
git clone https://git.replicant.us/GNUtoo/vendor_replicant
cd vendor_replicant
git show 418c955d2d1b7c80925b77ca0ee9e9bb28c3a938

And for the second one, here's an URL to the see the patch in a web
interface:
https://git.replicant.us/contrib/GNUtoo/vendor_replicant-release-scripts/commit/?id=28a5627aa75523f05ad1ed35c1e0e4b75e6e473c

And here's how to get it in a git repository:
git clone https://git.replicant.us/GNUtoo/vendor_replicant-release-scripts
cd vendor_replicant-release-scripts
git show 28a5627aa75523f05ad1ed35c1e0e4b75e6e473c

Denis.

___
Replicant mailing list
Replicant@osuosl.org
https://lists.osuosl.org/mailman/listinfo/replicant


[Replicant] [vendor_replicant] [PATCH] Release Replicant 6.0 0004 RC4

2020-12-27 Thread Denis 'GNUtoo' Carikli
Signed-off-by: Denis 'GNUtoo' Carikli 
---
 CHANGELOG.mkdn   | 166 +++
 config/common.mk |   2 +-
 sign-build   |   2 +-
 3 files changed, 168 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.mkdn b/CHANGELOG.mkdn
index bb654f14..b3647b53 100644
--- a/CHANGELOG.mkdn
+++ b/CHANGELOG.mkdn
@@ -1,6 +1,172 @@
 Replicant
 =
 
+### Replicant 6.0 0004 RC4 Images
+
+This new release fixes some very serious freedom and privacy issues:
+* We found an issue within the phone application: it was leaking the
+  phone numbers of both inbound and outbound calls to third parties
+  as part of a feature called phone lookup providers. More details
+  are available in the [bug report][2].
+  Even if it was not trivial to reproduce and find the bug it’s now
+  fixed as the feature has been completely disabled with 3 patches
+  ([3], [4], [5]).
+* F-Droid has been removed as many applications shipped in it are
+  not compliant with the [guidelines][1] for distributions recommended
+  by the FSF.
+  It was kept so long because we expected to get it fixed upstream
+  fast enough, but that didn’t happen for various reasons.
+  We have setup a [wiki page][6] and a [forum section][7] for more
+  information about the issue and how to deal with it.
+* Several binary firmwares (without source code) related to the back
+  and home "touch" buttons were found and removed with 4 patches
+  ([8], [9], [10], [11]).
+  The firmwares seem to have only been used for factory testing,
+  so the buttons should still work on the devices that have them.
+* The touchscreen firmware for the Galaxy Note 8.0 was also
+  lacking any corresponding source code (bug [#2194][12]).
+  That was fixed by removing it ([13]).
+* On all the currently supported devices with a modem, when users
+  set the device in flight mode, the modem is only asked to go in
+  low power mode.
+  Because of that the modem is probably still on and its OS is
+  probably still running. Because of that we fixed the wiki and
+  added [the scripts to disable (and enable back) the modem][14]
+  to the new Replicant images.
+  They work by preventing Replicant to load the modem OS.
+* We also got [a report on the mailing list][15] that a nonfree
+  ambient SDK was added in CyanogenMod and was not removed either
+  by LineageOS 13 or Replicant 6. So [we removed it as well][16].
+
+This release may also fix [several bug(s) which made some SIM cards
+not recognizable by Replicant 6.0][17]: we have now merged a fix for
+one of the bug ([#1909][18]) but as we don’t know if all the "SIM card
+not recognized" bugs are related.
+We would highly appreciate if those that opened the original bug report
+could confirm if it also fixes their issues as well.
+
+Several issues still need to be fixed, but we didn’t want to delay
+even more this release, as that would prevent users from getting the
+fixes mentioned above:
+* It’s still not possible to build Replicant 6.0 from a
+  [distribution that is recommended by the FSF][19] (bug [#1861][20]).
+* While removing the firmware of the Galaxy Note 8.0 touscreen driver,
+  many more firmwares without corresponding source code were found in
+  the [driver/touchscreen directory][21] in the kernel used by most of
+  the devices supported by Replicant 6.0.
+  However they weren’t removed yet. Help is more than welcome to help
+  with that.
+* While investigating if it was possible to upgrade WebView, the Android
+  builtin web browser component (bug [#1786][22]) we also discovered that,
+  because Android build system doesn’t use a package manager, finding the
+  license of each repository wasn’t trivial (bug [#1973][23]).
+* More investigations are needed as well to replace WebView with a
+  free software and up to date implementation (bug [#1786][22]).
+* The bug related to a bad sound quality during calls in some circumstances
+  (bug [#1773][24]) is not fixed yet, but there is a workaround that works
+  for some use cases.
+* The [Let’s Encrypt][25] certificates may stop working in Replicant
+  6.0 the first September 2021. So we might need to make a new
+  release before that to include their root certificate in Replicant
+  before that.
+  If a new release doesn’t happen by then many applications that are
+  using the Android certificates will be affected, but web
+  browsers like IceCat will continue to work. See the [Standing on
+  Our Own Two Feet][26] blog post by letsencrypt for more details.
+
+As the internal WiFi doesn’t work with free software, some new network
+related features improving usability were merged :
+* RepWiFi has been removed as it’s now possible to use the stock
+  Android menus to handle the WiFi.
+  This was done by patching Android to also accept external dongles.
+  It is less reliable than with RepWiFi because in some cases reboots
+  are needed for the WiFi to be recognized, and enabling the WiFi most
+  probably also powers on the Internal WiFi chip as well,