[Replicant] Replicant 6.0 0004 RC1

Denis 'GNUtoo' Carikli GNUtoo at cyberdimension.org
Sun Jan 12 02:31:43 UTC 2020


Hi,

I've just pushed the 0004 RC1 images.

The most important thing to know (copied from the release notes draft)
is the following:
> It will also not be possible to keep the data partition and a full re-
> installation will be necessary. Users are advised to backup the
> important data from the applications (contacts, SMS, etc) before
> migrating to a this release. There are already [some tips][23] on how
> to backup some applications. We didn’t have enough time to investigate
> the precise cause of the issue.

Since we use WordPress for the blog system, it's not easy to share
drafts:
- By default users need an account to see the drafts. The result of it
  is that none of the drafts end up being public.
- When the drafts are published they are not draft anymore.

In addition to that the default web interface forces people wanting to
work on articles to execute the JavaScript code coming from WordPress.
While the code is probably fully free software it's still an issue to
force people to run specific code. 

So we will probably have to find another way to work on announcements in
the future.

In the meantime I've written a script to semi-manually extract the
release notes from WordPress. The script has already been sent as a
patch to the mailing list, and the result has been pasted at the end of
this mail.

I've also found a bug between after tagging the release, and a
patch (modem: workaround silence not finding the SIM card when it is
"launched")[1] has already been sent for it.

References:
-----------
[1]https://lists.osuosl.org/pipermail/replicant/2020-January/002447.html

Denis.

== Release notes ==

# Replicant 6.0 0004 release and Replicant 9 status.

Posted on [January 9, 2020][1] by  [GNUtoo][2]

Replicant is in the [list of distributions that are recommended by the
FSF.][3] As such, Replicant needs to follow [strict criteria][4] that
ensure that the distribution does its best not to violates its users’
freedom.

However fixing the issues and making new releases can sometime take a
long time. The last Replicant 6.0 release was from December 2017.

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][5]. 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 ([[1]][6], [[2]][7], [[3]][8]).  
  * F-Droid has been removed as many applications shipped in it are not
    compliant with the [guidelines][4] 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][9] and a [forum section][10] for more
    information about the issue and how to deal with it.  
  * Several nonfree firmwares related to the back and home “touch”
    buttons were found and removed with 4 patches ([[1]][11],
    [[2]][12], [[3]][13],[ [4]][14]). The firmwares seem to have only
    been used for factory testing, so the buttons should still work on
    the devices that have them.  
  * 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][15] to
    the new Replicant images. They work by preventing Replicant to load
    the modem OS.  

This release may also fix [several bug(s) which made some SIM cards not
recognizable by Replicant 6.0][16]: we have now merged a fix for one of
the bug ([#1909][17]) 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][18] (bug [#1861][19])  
  * While investigating if it was possible to upgrade WebView, the
    Android builtin web browser component (bug [#1786][20]) 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][21]).  
  * More investigations are needed as well to replace WebView with a
    free software and up to date implementation (bug [#1786][20]).  
  * The bug related to a bad sound quality during calls in some
    circumstances (bug [#1773][22]) is not fixed yet, but there is a
    workaround that works for some use cases.  

It will also not be possible to keep the data partition and a full re-
installation will be necessary. Users are advised to backup the
important data from the applications (contacts, SMS, etc) before
migrating to a this release. There are already [some tips][23] on how
to backup some applications. We didn’t have enough time to investigate
the precise cause of the issue.

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, increasing the power consumption.
    However it should reduce the probability of applications like
    F-Droid being broken in the future, as it’s better integrated in
    Android. In the event that Replicant 6.0 stops being maintained and
    that Replicant 9.0 doesn’t get support for all the Replicant 6.0
    devices, this patch should increase the lifetime of the affected
    devices.  
  * Ethernet support has been added but it doesn’t work on all the
    devices.  
  * The USB networking scripts has also been added to the devices.  
  * Support for some rt2500-usb dongles that don’t need the OS to load a
    firmware [has been added to the Galaxy SIII 4G (i9305)][24], which
    is an uncompleted device. Unfortunately it couldn’t be ported to
    other devices in due time for this release.  

Other improvements were also made:

  * llvmpipe is now the default OpenGL renderer. This allows running
    many applications that weren’t working before. Unfortunately
    llvmpipe significantly slows down some system components used in
    the graphical interface. This has been catered for by patching
    Android to use the old libagl renderer for those system components.
     
  * [Scripts to switch between OpenGL implementations globally][25]
    have been added to the image as well. Thus, if you want to revert
    back to the old behaviour, just run androidsw.sh in a root
    terminal. To switch back to the new behavior you can instead use
    llvmpipe.sh. Note that llvmpipe.sh will still keep the old OpenGL
    implementation for the system components mentioned above, so there
    is little risk in trying the scripts.  
  * It’s now easier to build Replicant as there is a new script that
    wraps part of the building process. It’s also more convenient as it
    stores build logs. The script has been used to build the release,
    and the build instructions also use it now.  
  * It has became easier to modify the installation instructions as
    they now apply to all devices, and were split into parts that are
    reusable. This way a modification needs to be done only once and
    not 10 or 30 times like before.  
  * [Instructions to backup the modem data partition][26] have been
    added. The modem partition can [become corrupted][27] in some
    conditions. As it can be very difficult or impossible to recreate
    that partition, and that it’s required for the modem to work, we
    strongly advise users to do a backup.  

Work on Replicant 9 has also been ongoing in parallel. As it will use a
kernel closely based on upstream Linux, it has some implications:

  * The work on Replicant 9 is made with the Galaxy SIII (i9300), so it
    should be supported.  
  * The Galaxy Note II (N7100) is very similar to the Galaxy SIII but
    requires a bit more work to be supported.  
  * The Galaxy SIII 4G (I9305) and Galaxy Note II 4G (N7105) could also
    be added if work is done to add support for their modem in
    Replicant.  
  * We don’t know yet how much work is needed to add support for the
    other devices that are currently supported by Replicant 6.0, so we
    don’t know yet if they will be compatible with Replicant 9 or not.
    We would need to find or get more information on the upstream
    status of theses devices before having a rough idea.  
  * It will be easier to add support for devices using a mainline
    kernel.  

We also take advantage of this release to announce some policies
changes:

  * As Replicant 6 only supports devices with isolated modems,
    Replicant 9 and upward will also only support devices with isolated
    modems.  
  * Support for devices with non-isolated modems and upstream kernel
    will need to be added in other Android distributions instead.  
  * We are welcoming collaboration with various upstream projects and
    other Android distributions to co-maintain the ability to run
    Android with upstream kernels.  

As Replicant 9 requires more work and working to upstream devices
support in Linux takes more time than adding devices in Replicant 6, we
also decided against supporting devices with batteries that cannot be
replaced by users and developers.

The issue is a very practical one: if we start adding support for a
device, we want to be able to spend the time required to do it right
and to work with upstream projects like Linux to add support for it in
theses projects as well. The advantage is that it makes Replicant and
the device being added more sustainable. However if the device has a
battery that is not replaceable by experienced users, developers,
repair shops, or [repair café][28], the device would have a very short
lifetime which is incompatible with making Replicant sustainable:

  * Users would need to buy the device new in order to make sure that
    the battery lasts enough for a daily use. Buying the device second
    hand would be way more complicated as users would need to make sure
    that the battery last enough time.  
  * Developers would still be able to work on the device for a very
    long time, assuming that they are not users as well that want to
    use the device. But their work would not be very useful without
    usable devices.  

If we look at the smartphones currently supported by Replicant 6.0:

  * They all have removable batteries, so they are very easy to
    replace.  
  * Compatible batteries are easy enough to find in several countries.  

And for the tablets supported by Replicant 6.0:

  * They all have batteries that are not removable in the usual
    meaning, but they can still be replaced by opening the device.  
  * It is easy enough for experienced users, developers, repair shops,
    and repair café to open the device and remove the battery, so it is
    probably possible to replace it as well.  
  * It would be interesting to know more about the availability of
    compatible batteries.  
  * It might also be possible to use tablets with batteries that last
    way less than when the device is new, as many people have them off
    most of the time. But even in that case it still shortens a lot the
    lifetime of the device, as they probably still needs a working
    battery to boot.  

This entry was posted in [Replicant news][29] by [GNUtoo][30]. Bookmark
the [permalink][31]. [Edit][32]

   [1]: <https://blog.replicant.us/?p=4515> (4:30 pm)

   [2]: <https://blog.replicant.us/author/gnutoo/> (View all posts by
   GNUtoo)

   [3]: <https://www.gnu.org/distros/free-non-gnu-distros.html>

   [4]:
   <https://www.gnu.org/distros/free-system-distribution-guidelines.html>

   [5]: <https://redmine.replicant.us/issues/1827>

   [6]:
<https://git.replicant.us/replicant/vendor_cmsdk/commit/?id=de9e5b00e2a4072d2fd7e89e9abfc512a50d77e3>

   [7]:
<https://git.replicant.us/replicant/vendor_cmsdk/commit/?id=2d8ae47d9919f83cdf7244c3eeb34f919d83a33d>

   [8]:
<https://git.replicant.us/replicant/packages_apps_Dialer/commit/?id=c730399d4854875a76baa24ab653fbc049b8deef>

   [9]:
<https://redmine.replicant.us/projects/replicant/wiki/F-DroidAndApplications>

   [10]: <https://redmine.replicant.us/projects/replicant/boards/40>

   [11]:
<https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=160424ba716cde87e4ff213972a03388e90bf75e>

   [12]:
<https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=1fe39350b36767cc60ae58c2b2ea5fa29d484be0>

   [13]:
<https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=0ee78af736ce947d286d21b5fdc2c0212b2f8d38>

   [14]:
<https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=e40b2fa239e15c3ea8ea9407be704882916bcacc>

   [15]:
   <https://redmine.replicant.us/projects/replicant/wiki/ModemDisable>

   [16]:
<https://redmine.replicant.us/projects/replicant/wiki/SIMnotRecognized>

   [17]: <https://redmine.replicant.us/issues/1909>

   [18]: <https://www.gnu.org/distros/free-distros.html>

   [19]: <https://redmine.replicant.us/issues/1861>

   [20]: <https://redmine.replicant.us/issues/1786>

   [21]: <https://redmine.replicant.us/issues/1973>

   [22]: <https://redmine.replicant.us/issues/1773>

   [23]:
<https://redmine.replicant.us/projects/replicant/wiki/UsageNotes#Backups>

   [24]:
<https://git.replicant.us/replicant/kernel_samsung_smdk4412/commit/?id=a2ad1c05d8e609e3daf820deebf477c5f93d6f3e>

   [25]: <https://git.replicant.us/replicant/vendor_replicant-
scripts/tree/display/renderer/device-files>

   [26]:
   <https://redmine.replicant.us/projects/replicant/wiki/BackupTheEFS>

   [27]: <https://redmine.replicant.us/issues/1869>

   [28]: <https://en.wikipedia.org/wiki/Repair_caf%C3%A9>

   [29]: <https://blog.replicant.us/category/replicant-news/>

   [30]: <https://blog.replicant.us/author/gnutoo/>

   [31]: <https://blog.replicant.us/?p=4515> (Permalink to Replicant
   6.0 0004 release and Replicant 9 status.)

   [32]:
   <https://blog.replicant.us/wp-admin/post.php?post=4515&action=edit>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20200112/293d301d/attachment-0001.asc>


More information about the Replicant mailing list