<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hardware_replicant_libsamsung-ipc, branch main</title>
<subtitle>external/libsamsung-ipc
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/'/>
<entry>
<title>configure.ac: fix lcov detection</title>
<updated>2023-09-20T12:40:35+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-09-20T12:40:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=81a412cb235a4fd1e769f2275ee3e30cec7b46db'/>
<id>81a412cb235a4fd1e769f2275ee3e30cec7b46db</id>
<content type='text'>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>configure.ac: fix typo with code_coverage_tests variable</title>
<updated>2023-09-20T12:35:39+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-09-20T12:34:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=79fc31a1359be83deb0c375285aa1b3a33ed9b8c'/>
<id>79fc31a1359be83deb0c375285aa1b3a33ed9b8c</id>
<content type='text'>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>configure.ac: --enable-samsung-ipc-device: error message: fix typo</title>
<updated>2023-08-01T15:17:16+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-07-28T14:25:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=c7334a28f14663ffc1771bf0fbce3f67ec245c8c'/>
<id>c7334a28f14663ffc1771bf0fbce3f67ec245c8c</id>
<content type='text'>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Makefile.am: break line over 80 character</title>
<updated>2023-08-01T15:17:16+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-07-28T15:07:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=5f38fd0ac3c240f9430be66fba1a371db8a6de05'/>
<id>5f38fd0ac3c240f9430be66fba1a371db8a6de05</id>
<content type='text'>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix and simplify code coverage support</title>
<updated>2023-08-01T15:17:16+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-07-28T15:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=1bab15e873b997e73d24ae9582de998872201a30'/>
<id>1bab15e873b997e73d24ae9582de998872201a30</id>
<content type='text'>
This also changes the way code coverage support work: before it was
supposed to build libsamsung-ipc again from a tarball.

This simplification also enables code coverage testing with release
tarballs as before, to prevent infinite recursion of tests it only run
the tests when running from a git checkout.

This bug was introduced in the
commit 2a83232e195af5434bfd8aaa7ec163b806405305 ("Add code coverage
support").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This also changes the way code coverage support work: before it was
supposed to build libsamsung-ipc again from a tarball.

This simplification also enables code coverage testing with release
tarballs as before, to prevent infinite recursion of tests it only run
the tests when running from a git checkout.

This bug was introduced in the
commit 2a83232e195af5434bfd8aaa7ec163b806405305 ("Add code coverage
support").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scripts: guix.scm: switch from OpenSSL to LibreSSL</title>
<updated>2023-08-01T15:17:16+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-07-29T22:24:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=8167714d9cc4a418f36d5603b6d5d6a677a04bb4'/>
<id>8167714d9cc4a418f36d5603b6d5d6a677a04bb4</id>
<content type='text'>
Without that fix, it links against OpenSSL 3.0 which deprecated
MD5_Init, MD5_Update and MD5_Final. And so we end up with warnings
like that:
    samsung-ipc/rfs.c: In function ‘ipc_nv_data_md5_calculate’:
    samsung-ipc/rfs.c:75:9: error: ‘MD5_Init’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
    [...]
    samsung-ipc/rfs.c:76:9: error: ‘MD5_Update’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
    [...]
    samsung-ipc/rfs.c:78:9: error: ‘MD5_Final’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
but since we use -Werror the build fails.

If we simply update libsamsung-ipc to use the newer OpenSSL API, then
it will not compile anymore on older Android versions.

So to update libsamsung-ipc we would need to be compatible with both
older and newer OpenSSL APIs, and that requires a bit more work.

So if we don't want to do that work now, we need a drop-in replacement
package that implements the old OpenSSL API.

In addition using OpenSSL 3.x also bring up licensing consideration as
OpenSSL 3.x versions have changed license from the OpenSSL license
(which was compatible with the GPLv2) to the Apache 2.0 license (which
is only compatible with the GPLv3).

So that can limit the integration of libsamsung-ipc into daemons like
oFono that don't want to link against GPLv3+ libraries.

To avoid these downsides we have the choice between two drop-in
replacement packages: openssl-1.1 and libressl.

Since OpenSSL 1.1.1 will be supported until the 11th September
2023[1], we use LibreSSL in the hope that they will keep the MD5_*
interfaces longer.

[1]https://www.openssl.org/source/

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Without that fix, it links against OpenSSL 3.0 which deprecated
MD5_Init, MD5_Update and MD5_Final. And so we end up with warnings
like that:
    samsung-ipc/rfs.c: In function ‘ipc_nv_data_md5_calculate’:
    samsung-ipc/rfs.c:75:9: error: ‘MD5_Init’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
    [...]
    samsung-ipc/rfs.c:76:9: error: ‘MD5_Update’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
    [...]
    samsung-ipc/rfs.c:78:9: error: ‘MD5_Final’ is deprecated: Since
    OpenSSL 3.0 [-Werror=deprecated-declarations]
but since we use -Werror the build fails.

If we simply update libsamsung-ipc to use the newer OpenSSL API, then
it will not compile anymore on older Android versions.

So to update libsamsung-ipc we would need to be compatible with both
older and newer OpenSSL APIs, and that requires a bit more work.

So if we don't want to do that work now, we need a drop-in replacement
package that implements the old OpenSSL API.

In addition using OpenSSL 3.x also bring up licensing consideration as
OpenSSL 3.x versions have changed license from the OpenSSL license
(which was compatible with the GPLv2) to the Apache 2.0 license (which
is only compatible with the GPLv3).

So that can limit the integration of libsamsung-ipc into daemons like
oFono that don't want to link against GPLv3+ libraries.

To avoid these downsides we have the choice between two drop-in
replacement packages: openssl-1.1 and libressl.

Since OpenSSL 1.1.1 will be supported until the 11th September
2023[1], we use LibreSSL in the hope that they will keep the MD5_*
interfaces longer.

[1]https://www.openssl.org/source/

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>README: dependencies: Add missing curl</title>
<updated>2023-02-17T16:59:51+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-02-17T16:05:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=4731320c0efc12c22283f263106be1c0195467e6'/>
<id>4731320c0efc12c22283f263106be1c0195467e6</id>
<content type='text'>
If we remove curl, for instance from the libsamsung-ipc package in
scripts/guix.scm:
    -    (inputs (list curl openssl))
    +    (inputs (list openssl))

It then fails to build:
    checking for libcurl &gt;= 7.62.0... no
    configure: error:
    Package requirements (libcurl &gt;= 7.62.0) were not met:

This bug was introduced in commit 397cb23c6cd7e0cf941fd8292dc97c7b612756fd
("tools: Add tool to send SMS from a provider HTTPS interface").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we remove curl, for instance from the libsamsung-ipc package in
scripts/guix.scm:
    -    (inputs (list curl openssl))
    +    (inputs (list openssl))

It then fails to build:
    checking for libcurl &gt;= 7.62.0... no
    configure: error:
    Package requirements (libcurl &gt;= 7.62.0) were not met:

This bug was introduced in commit 397cb23c6cd7e0cf941fd8292dc97c7b612756fd
("tools: Add tool to send SMS from a provider HTTPS interface").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>README: Fix "In order to compile" typo</title>
<updated>2023-02-17T16:59:50+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2023-02-17T16:02:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=b70b6e700fad0f05d02168f0b4150a4beffe2a97'/>
<id>b70b6e700fad0f05d02168f0b4150a4beffe2a97</id>
<content type='text'>
This bug was introduced in
commit 49e4a6eb6d0c3cb9f0f90453aa88c75bdbb93c94 ("Update documentation
in preparation of a new release").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This bug was introduced in
commit 49e4a6eb6d0c3cb9f0f90453aa88c75bdbb93c94 ("Update documentation
in preparation of a new release").

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable static builds of (test) utilities</title>
<updated>2023-02-17T16:59:50+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2022-09-06T15:18:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=709dff7fe335ae3510ae77365fe1197bb67a4d36'/>
<id>709dff7fe335ae3510ae77365fe1197bb67a4d36</id>
<content type='text'>
Note that we cannot cross compile static binaries out of the box yet
with Guix. For instance if we use:
  guix build --target=arm-linux-gnueabihf --file=scripts/guix.scm

We end up with the following error:
    Backtrace:
    In guix/ui.scm:
        462:3 19 (_)
    In ice-9/boot-9.scm:
      1747:15 18 (with-exception-handler
                  #&lt;procedure 9d77630 at ice-9/b…&gt; …)
      1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
    In guix/ui.scm:
        449:6 16 (_)
    In guix/scripts/build.scm:
        715:5 15 (_)
    In srfi/srfi-1.scm:
       673:15 14 (append-map _ _ . _)
       586:17 13 (map1 ("i686-linux"))
    In guix/scripts/build.scm:
       717:21 12 (_ _)
    In guix/store.scm:
      1377:11 11 (map/accumulate-builds
                  #&lt;store-connection 256.99 82587…&gt; …)
       1295:8 10 (call-with-build-handler
                  #&lt;procedure 9d77600 at guix/s…&gt; …)
    In guix/scripts/build.scm:
       676:18  9 (_ _)
    In guix/store.scm:
      2165:25  8 (run-with-store
                  #&lt;store-connection 256.99 8258758&gt; #&lt;p…&gt; …)
      1993:13  7 (_ #&lt;store-connection 256.99 8258758&gt;)
    In guix/packages.scm:
      1899:40  6 (_)
      1517:16  5 (package-&gt;bag _ _ _ #:graft? _)
      1614:22  4 (thunk)
      1353:35  3 (lower* . _)
    In ice-9/boot-9.scm:
      1685:16  2 (raise-exception _ #:continuable? _)
      1685:16  1 (raise-exception _ #:continuable? _)
      1685:16  0 (raise-exception _ #:continuable? _)

    ice-9/boot-9.scm:1685:16: In procedure raise-exception:
    In procedure struct-vtable: Wrong type argument in position 1
    (expecting struct): #f

But if we remove the transformed packages from guix.scm, for instance by
removing them from the list of packages to build at the end of the file:
     (list libsamsung-ipc
           libsamsung-ipc-static
    -      (with-fixed-android-make-stub libsamsung-ipc-clang-android)
    -      (with-fixed-android-make-stub libsamsung-ipc-gcc-android)
           libsamsung-ipc-clang-autotools
           libsamsung-ipc-gcc-autotools)
cross compilation then works.

Thanks to the help from people on #autotools on liberachat for
suggestions on how to improve this patch.

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Note that we cannot cross compile static binaries out of the box yet
with Guix. For instance if we use:
  guix build --target=arm-linux-gnueabihf --file=scripts/guix.scm

We end up with the following error:
    Backtrace:
    In guix/ui.scm:
        462:3 19 (_)
    In ice-9/boot-9.scm:
      1747:15 18 (with-exception-handler
                  #&lt;procedure 9d77630 at ice-9/b…&gt; …)
      1752:10 17 (with-exception-handler _ _ #:unwind? _ # _)
    In guix/ui.scm:
        449:6 16 (_)
    In guix/scripts/build.scm:
        715:5 15 (_)
    In srfi/srfi-1.scm:
       673:15 14 (append-map _ _ . _)
       586:17 13 (map1 ("i686-linux"))
    In guix/scripts/build.scm:
       717:21 12 (_ _)
    In guix/store.scm:
      1377:11 11 (map/accumulate-builds
                  #&lt;store-connection 256.99 82587…&gt; …)
       1295:8 10 (call-with-build-handler
                  #&lt;procedure 9d77600 at guix/s…&gt; …)
    In guix/scripts/build.scm:
       676:18  9 (_ _)
    In guix/store.scm:
      2165:25  8 (run-with-store
                  #&lt;store-connection 256.99 8258758&gt; #&lt;p…&gt; …)
      1993:13  7 (_ #&lt;store-connection 256.99 8258758&gt;)
    In guix/packages.scm:
      1899:40  6 (_)
      1517:16  5 (package-&gt;bag _ _ _ #:graft? _)
      1614:22  4 (thunk)
      1353:35  3 (lower* . _)
    In ice-9/boot-9.scm:
      1685:16  2 (raise-exception _ #:continuable? _)
      1685:16  1 (raise-exception _ #:continuable? _)
      1685:16  0 (raise-exception _ #:continuable? _)

    ice-9/boot-9.scm:1685:16: In procedure raise-exception:
    In procedure struct-vtable: Wrong type argument in position 1
    (expecting struct): #f

But if we remove the transformed packages from guix.scm, for instance by
removing them from the list of packages to build at the end of the file:
     (list libsamsung-ipc
           libsamsung-ipc-static
    -      (with-fixed-android-make-stub libsamsung-ipc-clang-android)
    -      (with-fixed-android-make-stub libsamsung-ipc-gcc-android)
           libsamsung-ipc-clang-autotools
           libsamsung-ipc-gcc-autotools)
cross compilation then works.

Thanks to the help from people on #autotools on liberachat for
suggestions on how to improve this patch.

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add code coverage support</title>
<updated>2023-02-17T16:59:50+00:00</updated>
<author>
<name>Denis 'GNUtoo' Carikli</name>
<email>GNUtoo@cyberdimension.org</email>
</author>
<published>2022-08-22T15:28:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/hardware_replicant_libsamsung-ipc/commit/?id=2a83232e195af5434bfd8aaa7ec163b806405305'/>
<id>2a83232e195af5434bfd8aaa7ec163b806405305</id>
<content type='text'>
Usage:
$ ./configure --enable-code-coverage-tests --enable-debug \
   --enable-samsung-ipc-device=fifo [...]
$ make check
$ sudo make install [...]

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Usage:
$ ./configure --enable-code-coverage-tests --enable-debug \
   --enable-samsung-ipc-device=fifo [...]
$ make check
$ sudo make install [...]

Signed-off-by: Denis 'GNUtoo' Carikli &lt;GNUtoo@cyberdimension.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
