| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
| |
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 >= 7.62.0... no
configure: error:
Package requirements (libcurl >= 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 <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
| |
This bug was introduced in
commit 49e4a6eb6d0c3cb9f0f90453aa88c75bdbb93c94 ("Update documentation
in preparation of a new release").
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
#<procedure 9d77630 at ice-9/b…> …)
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
#<store-connection 256.99 82587…> …)
1295:8 10 (call-with-build-handler
#<procedure 9d77600 at guix/s…> …)
In guix/scripts/build.scm:
676:18 9 (_ _)
In guix/store.scm:
2165:25 8 (run-with-store
#<store-connection 256.99 8258758> #<p…> …)
1993:13 7 (_ #<store-connection 256.99 8258758>)
In guix/packages.scm:
1899:40 6 (_)
1517:16 5 (package->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 <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
| |
Usage:
$ ./configure --enable-code-coverage-tests --enable-debug \
--enable-samsung-ipc-device=fifo [...]
$ make check
$ sudo make install [...]
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Guix system users need to use guix shell and the provided
scripts/manifest.scm to do local builds and testing.
However 'guix shell --container' doesn't have /usr/bin/env, so tests
don't work if we rely on what is in the sheebang (#!).
In various Makefile.am we had:
PY_LOG_COMPILER = $(PYTHON)
but PYTHON was undefined, so for some reasons that made 'make check'
rely on the sheebang instead of just using 'python'.
With this fix, with
'guix shell --pure --container -f scripts/manifest.scm',
./configure now properly detect the 'python3' that is in the path:
Interpreters paths:
PYTHON3..................: python3
And 'python3' is then used to run the python test scripts, which makes
then makes 'make check' succeed.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In configure.ac we already build xz, bzip2 and gzip archives as we
have the following:
AM_INIT_AUTOMAKE([dist-bzip2 dist-xz subdir-objects])
and that in the commit aedf4ffd7d16721b522df2d20b1f41f8574c3940 ("Add
tests for builds using tarballs") we automatically built these
archives during make check.
But we forgot to add the required utilities in scripts/manifest.scm.
Without tar and xz, when running make check with
'guix shell --pure --container -f scripts/manifest.scm', we have the
following error:
tardir=libsamsung-ipc-0.7.0 && ${TAR-tar} chof - "$tardir" | \
XZ_OPT=${XZ_OPT--e} xz -c >libsamsung-ipc-0.7.0.tar.xz
/bin/sh: line 1: xz: command not found
/bin/sh: line 1: tar: command not found
And if we don't add bzip2 we still have the following error:
'guix shell --pure --container -f scripts/manifest.scm', we have the
following error:
tardir=libsamsung-ipc-0.7.0 && ${TAR-tar} chof - "$tardir" | \
BZIP2=${BZIP2--9} bzip2 -c >libsamsung-ipc-0.7.0.tar.bz2
/bin/sh: line 1: bzip2: command not found
And we also need gzip:
tardir=libsamsung-ipc-0.7.0 && ${TAR-tar} chof - "$tardir" | \
eval GZIP= gzip --best -c >libsamsung-ipc-0.7.0.tar.gz
/bin/sh: line 1: gzip: command not found
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without that fix, when running make check with
'guix shell --pure --container -f scripts/manifest.scm', we have the
following error:
test -n "" \
|| find "libsamsung-ipc-0.7.0" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec /bin/sh [...]/install-sh \
-c -m a+r {} {} \; \
|| chmod -R a+r "libsamsung-ipc-0.7.0"
/bin/sh: line 2: find: command not found
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
| |
Without that fix, when running ./configure with
'guix shell --pure --container -f scripts/manifest.scm', we have the
following warning:
checking for a working dd... ./configure: line 7277: cmp: command
not found
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without that fix, when running ./configure with
'guix shell --pure --container -f scripts/manifest.scm', we have the
following error:
checking for libcurl >= 7.62.0... no
configure: error: Package requirements (libcurl >= 7.62.0) were
not met:
No package 'libcurl' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables
LIBCURL_CFLAGS and LIBCURL_LIBS to avoid the need to call
pkg-config. See the pkg-config man page for more details.
This issue wasn't found before because builds in guix shell weren't
often tested with --container.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
This bug was introduced in the
commit ecbc4b48f9e94f2cffbf36b9d3b73a46c1d45422 ("Add guix.scm").
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
The packages build fine without the patch-python phase.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the packages list definition with the output
produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the with-fixed-android-make-stub definition with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the parse-android.mk definition with the output
produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the android-local-modules-list definition with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the cflags definitions with the output produced by
guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the %commit definition with the output
produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the %local-source definition with the output
produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the android-make definition with the output produced
by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the android-phases definition with the output
produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the libsamsung-ipc package with the output produced
by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the libsamsung-ipc-gcc-android package with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the libsamsung-ipc-gcc-autotools package with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the libsamsung-ipc-clang-autotools package with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the libsamsung-ipc-clang-android package with the
output produced by guix style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The guix style command reformats a package or a file to use the code
style used by Guix.
This commits sync the package imports with the output produced by guix
style.
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
The https-send-sms tool is linked to libcurl, so libcurl is needed at
runtime.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
This commit should contain no functional changes.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
This makes the code easier to read.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
| |
This enables to spot issues that prevents build or tests from working
when using tarballs, like when required files not tracked by automake
are added to git but not to EXTRA_DIST.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Using python instead of python3 has several issues:
- Distributions and users can choose python2 as their default python
interpreter. For users this can be done by making a symlink in
/usr/local for instance.
- Guix doesn't have python but has python3 in the PATH. Changing to
python3 makes tests work for Guix system users that use the
scripts/manifest.scm file with guix shell / guix environment.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
Without that fix, the file being created isn't deleted at the end of
the test, so over time the leftover files accumulate in /tmp.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
Without that fix, the file being created isn't deleted at the end of
the test, so over time the leftover files accumulate in /tmp.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
Without that fix, the file being created isn't deleted at the end of
the test, so over time the leftover files accumulate in /tmp.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
| |
In the netdevice(7) manual we have a character array of a fixed size:
struct ifreq {
char ifr_name[IFNAMSIZ]; /* Interface name */
[...]
};
so we don't need a terminating null byte ('\0').
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
Tabs were added by the commit 43983cdb532303224be896ec37e67fa515d87e3e
("Android.mk: fix missing files and build local-modules in guix.scm").
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without that fix, we don't ship any of the python test programs:
$ make dist
$ tar tf libsamsung-ipc-0.7.0.tar.xz | grep "\.py$"
so 'make check' fail with the following error when building from a
tarball:
make[4]: Leaving directory
'/tmp/libsamsung-ipc/libsamsung-ipc-0.7.0/samsung-ipc/tests'
fatal: making test-suite.log: failed to create libsamsung-ipc-test.trs
fatal: making test-suite.log: failed to create libsamsung-ipc-test.log
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
Having installation instructions should make it easier to install
libsamsung-ipc.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
| |
Replicant (the Replicant project) is third-person singular.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
| |
While contributing requires to use the git repository (for up to date
code), having a file that mentions that in the tarballs is useful.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
| |
While Android mainly use git, it still enables users to drop a tarball
in an Android tree to build libsamsung-ipc.
In addition Android.mk is mentioned in CONTRIBUTING, so it is useful
to ship along with CONTRIBUTING.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without that fix, nv_data-imei compiles fine in git, but if we build
from a tarball, nv_data-imei.h is missing from the tarball:
$ make dist
$ tar tf libsamsung-ipc-0.7.0.tar.xz | grep "ipc-modem.*\.[ch]"
libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem-sms.c
libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem-log.c
libsamsung-ipc-0.7.0/tools/ipc-modem/ipc-modem.c
libsamsung-ipc-0.7.0/tools/ipc-modem/tests/ipc-modem-sms-test.c
libsamsung-ipc-0.7.0/tools/ipc-modem/tests/ipc-modem-sms-fuzz.c
which then results in a compilation failure:
ipc-modem-log.c:28:10: fatal error: ipc-modem-log.h:
No such file or directory
28 | #include "ipc-modem-log.h"
| ^~~~~~~~~~~~~~~~~
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|