Discussion:
[Tails-dev] Finalizing MacBook 2015 support
Marco Betschart
2018-06-11 10:42:24 UTC
Permalink
I’ve managed to get the applespi driver compiled 🎉 changes pushed here:
https://gitlab.com/marbetschar/tails/commit/13c3a185586f122ceffad7228c9ed009402a4def <https://gitlab.com/marbetschar/tails/commit/13c3a185586f122ceffad7228c9ed009402a4def>

Unfortunately the *.iso is not created successfully, since the subsequent hook 50-dkms fails. Probably due to kernel version mismatch. My branch feature/macbook12-applespi is based on develop and I’ve not changed any kernel version stuff.

How can I get my branch compiled, so I finally can test the changes on actual hardware?

Thanks in advance,
Marco
intrigeri
2018-06-11 11:00:36 UTC
Permalink
Post by Marco Betschart
Unfortunately the *.iso is not created successfully, since the subsequent hook
50-dkms fails. Probably due to kernel version mismatch.
… or due to trying to create a symlink that your new hook already creates.
Post by Marco Betschart
How can I get my branch compiled, so I finally can test the changes on actual hardware?
Please share the build log so that we can see the error.
m***@marco.betschart.name
2018-06-11 17:16:22 UTC
Permalink
@intrigeri good catch; seems to be a symlink issue. below the build log output. And this is the current code of the macbook12 spi driver: https://gitlab.com/marbetschar/tails/blob/feature/macbook12-applespi/config/chroot_local-hooks/13-apple-spi


dpkg-deb: building package 'gnome-backgrounds' in '../gnome-backgrounds_3.22.1-1+tails.fake1_all.deb'.

The package has been created.
Attention, the package has been created in the current directory,
not in ".." as indicated by the message above!
(Reading database ... 164557 files and directories currently installed.)
Preparing to unpack .../gnome-backgrounds_3.22.1-1+tails.fake1_all.deb ...
Unpacking gnome-backgrounds (3.22.1-1+tails.fake1) over (3.22.1-1) ...
Setting up gnome-backgrounds (3.22.1-1+tails.fake1) ...
Explicitly disable Wayland in GDM
Lower systemd's DefaultTimeoutStopSec
Lower logind's NAutoVTs
Selecting our preferred pinentry
update-alternatives: using /usr/bin/pinentry-gtk-2 to provide /usr/bin/pinentry (pinentry) in manual mode
update-alternatives: using /usr/bin/pinentry-gtk-2 to provide /usr/bin/pinentry-x11 (pinentry-x11) in manual mode
Adding 'local diversion of /usr/bin/pinentry-gtk-2 to /usr/lib/pinentry/pinentry-gtk-2'
Disabling ssh-agent
Wrapping gdm-x-session to limit the number of allowed failures
Adding 'local diversion of /usr/lib/gdm3/gdm-x-session to /usr/lib/gdm3/gdm-x-session.real'
Configuring the console codeset to support more languages
Deleting unused AppArmor profiles
Disabling unneeded D-Bus services
Enable various AppArmor profiles
Configuring htpdate HTTP User-Agent
Tweaking laptop-mode-tools
+ echo Building VirtualBox guest modules
Building VirtualBox guest modules
+ . /usr/share/amnesia/build/variables
+ KERNEL_VERSION=4.15.0-3
+ KERNEL_SOURCE_VERSION=4.15
+ LB_DISTRIBUTION=stretch
+ POTFILES_DOT_IN=/etc/skel/Desktop/Report_an_error.desktop.in /etc/skel/Desktop/tails-documentation.desktop.in /usr/share/applications/tails-documentation.desktop.in /usr/share/applications/tails-about.desktop.in /usr/share/applications/tor-browser.desktop.in /usr/share/applications/unsafe-browser.desktop.in /usr/share/desktop-directories/Tails.directory.in /usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in
+ . /usr/local/lib/tails-shell-library/build.sh
+ . /usr/local/lib/tails-shell-library/common.sh
+ ensure_hook_dependency_is_installed dkms
+ shift
+ echo dkms
+ grep -q --extended-regexp ^[a-z0-9.+-]+$
+ is_package_installed dkms
+ local package_name package_status
+ package_name=dkms
+ no_abort dpkg-query --show --showformat=${db:Status-Status} dkms
+ package_status=installed
+ [ installed = installed ]
+ continue
+ [ -z ]
+ return
+ ensure_hook_dependency_is_installed virtualbox-guest-dkms
+ shift
+ + grep -q --extended-regexp ^[a-z0-9.+-]+$
echo virtualbox-guest-dkms
+ is_package_installed virtualbox-guest-dkms
+ local package_name package_status
+ package_name=virtualbox-guest-dkms
+ no_abort dpkg-query --show --showformat=${db:Status-Status} virtualbox-guest-dkms
+ package_status=installed
+ [ installed = installed ]
+ continue
+ [ -z ]
+ return
+ ls /var/lib/dkms/*/*/build/make.log
ls: cannot access '/var/lib/dkms/*/*/build/make.log': No such file or directory
+ [ ! -f /lib/modules/4.15.0-3-amd64/updates/vboxguest.ko ]
+ [ ! -f /lib/modules/4.15.0-3-cloud-amd64/updates/vboxguest.ko ]
+ [ ! -f /lib/modules/4.15.0-3/updates/vboxguest.ko ]
+ echo Can not find vboxguest module in '/lib/modules/4.15.0-3/updates
Can not find vboxguest module in '/lib/modules/4.15.0-3/updates
+ exit 1
E: config/chroot_local-hooks/50-dkms failed (exit non-zero). You should check for errors.
P: Begin unmounting filesystems...

real 40m59.417s
user 26m18.068s
sys 9m41.728s
+ kill -9 20526
+ cleanup
+ [ -n /tmp/tails-build.Trx3YXsR ]
+ cd /
+ remove_build_dirs
+ + old_build_dirs
tac
+ mount
+ perl -ni -E say $mountpoint if (($mountpoint) = ($_ =~ m{^(?:aufs|tmpfs|devpts-live|proc-live|sysfs-live) on (/tmp/tails-build(?:-tmpfs)?\.[/[:alnum:]]+)}))
-i used with no filenames on the command line, reading from STDIN.
+ sudo rm -rf /tmp/tails-build.Trx3YXsR
rake aborted!
VagrantCommandError: 'vagrant ["ssh", "-c", "MKSQUASHFS_OPTIONS='-comp gzip -Xcompression-level 1' TAILS_PROXY='http://vagrant-stretch:3142' TAILS_PROXY_TYPE='vmproxy' GIT_COMMIT='585ba5e1ece2846aa19e059dd7f6f314e9995b79' GIT_REF='feature/macbook12-applespi' BASE_BRANCH_GIT_COMMIT='e1dbacd386d4ddeac23350888667cf83362199b4' build-tails", "--", "-q"]' command failed with exit status 1
/home/parallels/Development/tails/Rakefile:112:in `rescue in run_vagrant'
/home/parallels/Development/tails/Rakefile:110:in `run_vagrant'
/home/parallels/Development/tails/Rakefile:127:in `call'
/home/parallels/Development/tails/Rakefile:127:in `block (2 levels) in <top (required)>'
/home/parallels/Development/tails/Rakefile:413:in `block in <top (required)>'
CommandError: command ["vagrant", "ssh", "-c", "MKSQUASHFS_OPTIONS='-comp gzip -Xcompression-level 1' TAILS_PROXY='http://vagrant-stretch:3142' TAILS_PROXY_TYPE='vmproxy' GIT_COMMIT='585ba5e1ece2846aa19e059dd7f6f314e9995b79' GIT_REF='feature/macbook12-applespi' BASE_BRANCH_GIT_COMMIT='e1dbacd386d4ddeac23350888667cf83362199b4' build-tails", "--", "-q", {:chdir=>"./vagrant"}] failed with exit status 1
/home/parallels/Development/tails/Rakefile:72:in `run_command'
/home/parallels/Development/tails/Rakefile:110:in `run_vagrant'
/home/parallels/Development/tails/Rakefile:127:in `call'
/home/parallels/Development/tails/Rakefile:127:in `block (2 levels) in <top (required)>'
/home/parallels/Development/tails/Rakefile:413:in `block in <top (required)>'
Tasks: TOP => build
(See full trace by running task with --trace)
Post by intrigeri
Post by Marco Betschart
Unfortunately the *.iso is not created successfully, since the subsequent hook
50-dkms fails. Probably due to kernel version mismatch.
… or due to trying to create a symlink that your new hook already creates.
Post by Marco Betschart
How can I get my branch compiled, so I finally can test the changes on actual hardware?
Please share the build log so that we can see the error.
_______________________________________________
Tails-dev mailing list
https://mailman.boum.org/listinfo/tails-dev
intrigeri
2018-06-11 18:18:52 UTC
Permalink
Post by m***@marco.betschart.name
@intrigeri good catch; seems to be a symlink issue.
I don't think so.
Post by m***@marco.betschart.name
below the build log output.
Thanks!
Post by m***@marco.betschart.name
Building VirtualBox guest modules
+ . /usr/share/amnesia/build/variables
+ KERNEL_VERSION=4.15.0-3
+ KERNEL_SOURCE_VERSION=4.15
+ LB_DISTRIBUTION=stretch
+ POTFILES_DOT_IN=/etc/skel/Desktop/Report_an_error.desktop.in
/etc/skel/Desktop/tails-documentation.desktop.in
/usr/share/applications/tails-documentation.desktop.in
/usr/share/applications/tails-about.desktop.in
/usr/share/applications/tor-browser.desktop.in
/usr/share/applications/unsafe-browser.desktop.in
/usr/share/desktop-directories/Tails.directory.in
/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in
+ . /usr/local/lib/tails-shell-library/build.sh
+ . /usr/local/lib/tails-shell-library/common.sh
+ ensure_hook_dependency_is_installed dkms
+ shift
+ echo dkms
+ grep -q --extended-regexp ^[a-z0-9.+-]+$
+ is_package_installed dkms
+ local package_name package_status
+ package_name=dkms
+ no_abort dpkg-query --show --showformat=${db:Status-Status} dkms
+ package_status=installed
+ [ installed = installed ]
+ continue
+ [ -z ]
+ return
+ ensure_hook_dependency_is_installed virtualbox-guest-dkms
+ shift
So the virtualbox-guest-dkms package was installed but no module was
built. I think that's explained by this comment:

"# Any -dkms package must be installed *after* dkms to be properly registered"

… which is the case usually (my build logs say that dkms is installed
by the 50-dkms hook), but apparently your new hook makes this
requirement not satisfied anymore. I suggest you add your code to
some relevant place in 50-dkms instead of creating a new hook that
runs earlier.
Marco Betschart
2018-06-11 23:29:14 UTC
Permalink
@intrigeri thanks for pointing me towards the right direction. The *.iso finally built and Tails now works perfectly on my MacBook 12“ 2015! 🎉
I’d love to see the changes merged into upstream; what would be the right approach to accomplish this? Sending a merge request @GitLab?

Here are all the changes which were necessary:
https://gitlab.com/marbetschar/tails/commit/3bfe4fdc73ebb2436a719a283ce63a815fc72668 <https://gitlab.com/marbetschar/tails/commit/3bfe4fdc73ebb2436a719a283ce63a815fc72668>
Post by intrigeri
Post by m***@marco.betschart.name
@intrigeri good catch; seems to be a symlink issue.
I don't think so.
Post by m***@marco.betschart.name
below the build log output.
Thanks!
Post by m***@marco.betschart.name
Building VirtualBox guest modules
+ . /usr/share/amnesia/build/variables
+ KERNEL_VERSION=4.15.0-3
+ KERNEL_SOURCE_VERSION=4.15
+ LB_DISTRIBUTION=stretch
+ POTFILES_DOT_IN=/etc/skel/Desktop/Report_an_error.desktop.in
/etc/skel/Desktop/tails-documentation.desktop.in
/usr/share/applications/tails-documentation.desktop.in
/usr/share/applications/tails-about.desktop.in
/usr/share/applications/tor-browser.desktop.in
/usr/share/applications/unsafe-browser.desktop.in
/usr/share/desktop-directories/Tails.directory.in
/usr/share/polkit-1/actions/org.boum.tails.root-terminal.policy.in
+ . /usr/local/lib/tails-shell-library/build.sh
+ . /usr/local/lib/tails-shell-library/common.sh
+ ensure_hook_dependency_is_installed dkms
+ shift
+ echo dkms
+ grep -q --extended-regexp ^[a-z0-9.+-]+$
+ is_package_installed dkms
+ local package_name package_status
+ package_name=dkms
+ no_abort dpkg-query --show --showformat=${db:Status-Status} dkms
+ package_status=installed
+ [ installed = installed ]
+ continue
+ [ -z ]
+ return
+ ensure_hook_dependency_is_installed virtualbox-guest-dkms
+ shift
So the virtualbox-guest-dkms package was installed but no module was
"# Any -dkms package must be installed *after* dkms to be properly registered"

 which is the case usually (my build logs say that dkms is installed
by the 50-dkms hook), but apparently your new hook makes this
requirement not satisfied anymore. I suggest you add your code to
some relevant place in 50-dkms instead of creating a new hook that
runs earlier.
_______________________________________________
Tails-dev mailing list
https://mailman.boum.org/listinfo/tails-dev
intrigeri
2018-06-12 06:26:02 UTC
Permalink
@intrigeri thanks for pointing me towards the right direction. The *.iso finally built and Tails now works perfectly on my MacBook 12“ 2015! 🎉
Great!
I’d love to see the changes merged into upstream; what would be the
right approach to accomplish this?
Please read https://tails.boum.org/contribute/how/code/
and in particular the "Submit your work" section.
(In this case I'd like a Redmine ticket and a Git branch
rather than patches on the mailing list.)
Marco Betschart
2018-06-12 22:33:15 UTC
Permalink
@intrigeri added a Redmine ticket:
https://labs.riseup.net/code/issues/15652 <https://labs.riseup.net/code/issues/15652>

Two questions:
1. How to set the status field to „in Progress“ as described in your merge policy <https://tails.boum.org/contribute/merge_policy/#index2h1>?
2. How/where to push the git branch (write access / pull request
)? As of now the changes are only available in my forked repo <https://gitlab.com/marbetschar/tails/tree/feature/macbook12-applespi>.
Post by intrigeri
Post by Marco Betschart
@intrigeri thanks for pointing me towards the right direction. The *.iso finally built and Tails now works perfectly on my MacBook 12“ 2015! 🎉
Great!
Post by Marco Betschart
I’d love to see the changes merged into upstream; what would be the
right approach to accomplish this?
Please read https://tails.boum.org/contribute/how/code/
and in particular the "Submit your work" section.
(In this case I'd like a Redmine ticket and a Git branch
rather than patches on the mailing list.)
_______________________________________________
Tails-dev mailing list
https://mailman.boum.org/listinfo/tails-dev
intrigeri
2018-06-14 11:24:01 UTC
Permalink
Post by Marco Betschart
https://labs.riseup.net/code/issues/15652 <https://labs.riseup.net/code/issues/15652>
\o/
Post by Marco Betschart
1. How to set the status field to „in Progress“ as described in your merge policy <https://tails.boum.org/contribute/merge_policy/#index2h1>?
I've just given you "Contributor" status on our Redmine so you should
now be able to do so.
Post by Marco Betschart
2. How/where to push the git branch (write access / pull request…)? As of now the
changes are only available in my forked repo
<https://gitlab.com/marbetschar/tails/tree/feature/macbook12-applespi>.
That's fine. Just ensure the "Feature Branch" field points there
("feature/macbook12-applespi" implicitly means "the
feature/macbook12-applespi branch in the official tails.git", which
is incorrect here).

Then assign to me and I'll review this.
Marco Betschart
2018-06-14 11:53:07 UTC
Permalink
@intrigeri: Done; Assigned to you and pointed it to the GitLab branch.
Post by intrigeri
Post by Marco Betschart
https://labs.riseup.net/code/issues/15652 <https://labs.riseup.net/code/issues/15652>
\o/
Post by Marco Betschart
1. How to set the status field to „in Progress“ as described in your merge policy <https://tails.boum.org/contribute/merge_policy/#index2h1>?
I've just given you "Contributor" status on our Redmine so you should
now be able to do so.
Post by Marco Betschart
2. How/where to push the git branch (write access / pull request…)? As of now the
changes are only available in my forked repo
<https://gitlab.com/marbetschar/tails/tree/feature/macbook12-applespi>.
That's fine. Just ensure the "Feature Branch" field points there
("feature/macbook12-applespi" implicitly means "the
feature/macbook12-applespi branch in the official tails.git", which
is incorrect here).
Then assign to me and I'll review this.
_______________________________________________
Tails-dev mailing list
https://mailman.boum.org/listinfo/tails-dev
intrigeri
2018-06-14 13:55:56 UTC
Permalink
I've sorted this out. Sorry!

Loading...