Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release/2.40+18.04 #2010

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
76 changes: 76 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,79 @@
snapcraft (2.40+18.04) bionic; urgency=medium

[ Sergio Schvezov ]
* elf: better debug messages (#1950)
* elf: clear execstack by default (#1945)
* repo: silence deb caching when fetching packages (#1949)
* meta: make sure adapter does not propagate (#1955)
* store: stringify message for StoreDeltaApplicationError (#1962)
* python plugin: find setup.py when source-subdir is used (#1975)
* ci: switch to stable lxd and unconfined containers (#1978)
* project_loader: improve the logic to install patchelf as a build tool (#1967)
* demos: avoid use of the wrapper for java-hello-world (#1968)
* lifecycle: when priming dependencies need to be primed (#1977)
* pluginhandler: simplify logic when elf patching is required (#1979)
* pluginhandler: add option to disable patchelf for a part (#1987)
* schema: add keep-execstack (#1986)
* elf: remove dead code (#2000)
* core: initial support for bases (#1993)
* docker: export SNAP_ARCH into the environment (#1994)
* tests: add SNAPCRAFT_KEEP_DATA_PATH for integration (#1996)
* errros: add a specific error when running commands from plugins (#2004)
* pluginhandler: special case go patchelf failures for classic confinement (#2005)
* many: use packaging logic to get patchelf (#2006)
* project_loader: fix the host to base compatibility check (#2009)
* pluginhandler: only do elf checking and patching for type app (#2012)
* demos: use realpath in command entry for java-hello-world (#2016)
* many: optimize retrieval of the linker version (#2017)
* tests: minor fixes to autopkgtests (#2018)
* elf: avoid duplicating rpath entries (#2019)
* pluginhandler: only resort to elf mangling if the snap type is app (#2021)
* New upstream release (LP: #1756939)

[ Leo Arias ]
* tests: split the plugins tests in the same directory (#1944)
* tests: move test files out of the snapcraft dir (#1948)
* extractors: replace desktop file ids with paths (#1879)
* extractors: add support for common-id (#1960)
* tests: remove ProjectOptions dependency from the integration suite (#1965)
* tests: remove dependency of internal repo from integration suite (#1971)
* tests: remove the internal os_release dependency (#1981)
* tests: remove _options dependency from integration suite (#1972)
* tests: update store tests user (#1984)
* tests: document arm testing setup (#1985)

[ Kyle Fazzari ]
* catkin plugin: extract Wstool into its own module (#1927)
* elf: remove all un-primed libs from soname cache (#1980)
* catkin plugin: support recursive rosinstall files (#1934)
* elf: only set rpaths to libs of the same arch (#1988)
* elf: don't parse elf more than necessary (#1989)
* catkin plugin: replace python calls in all profile.d scripts (#2007)
* docs: add execstack to HACKING.md's list of deb deps (#2015)
* integration tests: snap tests shouldn't be arch-specific (#2014)

[ Gustavo Silva ]
* cli: add version command (#1746)

[ John Lenton ]
* schema: improve the snap name's validator (#1957)
* snap: actually plug the completer in. (#1956)
* tests: adapt store tests with new snap name registration error messages
(#1964)

[ Christian Dywan ]
* project_loader: handle invalid unicode chars (#1941)
* lxd: initialize remote lazily (#1916)

[ Celso Providelo ]
* store: support for more granular store permissions (#1958)

[ James Henstridge ]
* elf: only consider regular files as possible ELF binaries (#1976)
* elf: only patch elf files that aren't referenced by DT_NEEDED (#1959)

-- Sergio Schvezov <sergio.schvezov@ubuntu.com> Mon, 19 Mar 2018 12:40:43 +0000

snapcraft (2.39.2) xenial; urgency=medium

[ Sergio Schvezov ]
Expand Down
4 changes: 2 additions & 2 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Build-Depends: bash-completion,
git,
mercurial,
p7zip-full,
patchelf (>= 0.9-1),
patchelf (>= 0.9),
pkg-config,
python3 (>= 3.4),
python3-apt,
Expand Down Expand Up @@ -51,7 +51,7 @@ Standards-Version: 3.9.8
Package: snapcraft
Architecture: all
Depends: execstack,
patchelf (>= 0.9-1),
patchelf (>= 0.9),
python3-apt,
python3-debian,
python3-click,
Expand Down
2 changes: 1 addition & 1 deletion debian/tests/integrationtests-snapd
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

script_path="$(dirname "$0")"

if [ "$(script_path/get-release-codename)" == "xenial" ]; then
if [ "$($script_path/get-release-codename)" = "xenial" ]; then
SNAPCRAFT_SLOW_TESTS=0 SNAPCRAFT_AUTOPKGTEST_SUITES=tests/integration/snapd $script_path/integrationtests
else
echo "These tests are only supported on xenial"
Expand Down
7 changes: 7 additions & 0 deletions debian/tests/snapstests
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ set -e

echo 'ubuntu ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/autopkgtest

script_path="$(dirname "$0")"

if [ "$($script_path/get-release-codename)" != "xenial" ]; then
echo "These tests are only supported on xenial"
exit 0
fi

snapd_config_dir=/etc/systemd/system/snapd.service.d
mkdir -p $snapd_config_dir
echo "[Service]\nEnvironment='http_proxy=$http_proxy'\nEnvironment='https_proxy=$https_proxy'\nEnvironment='ftp_proxy=$http_proxy'\nEnvironment='no_proxy=$no_proxy'\n" | tee $snapd_config_dir/snapd.env.conf > /dev/null
Expand Down
4 changes: 3 additions & 1 deletion snaps_tests/demos_tests/test_java_hello_world.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

import snapcraft
import snaps_tests


Expand All @@ -22,6 +22,8 @@ class JavaHelloWorldTestCase(snaps_tests.SnapsTestCase):
snap_content_dir = 'java-hello-world'

def test_java_hello_world(self):
if snapcraft.ProjectOptions().deb_arch != 'amd64':
self.skipTest("This snap is only setup for am64")
snap_path = self.build_snap(self.snap_content_dir)
self.install_snap(snap_path, 'java-hello-world', '1.0')
self.assert_command_in_snappy_testbed(
Expand Down
7 changes: 6 additions & 1 deletion tests/integration/general/test_elf.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,11 @@ def test_origin(self):

class ExecStackTestCase(integration.TestCase):

def setUp(self):
super().setUp()
if self.deb_arch == 'arm64':
self.skipTest('architecture is not supported by execstack')

def _setup_project(self, keep_execstack: bool):
if keep_execstack:
attributes = ['keep-execstack']
Expand All @@ -101,7 +106,7 @@ def _setup_project(self, keep_execstack: bool):
snapcraft_yaml.update_part('test-part', {
'plugin': 'nil',
'build-attributes': attributes,
'build': ('/usr/sbin/execstack --set-execstack '
'build': ('/usr/bin/execstack --set-execstack '
'$SNAPCRAFT_PART_INSTALL/usr/bin/hello'),
'prime': ['usr/bin/hello'],
'build-packages': ['execstack'],
Expand Down
3 changes: 2 additions & 1 deletion tests/integration/general/test_snap.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,12 @@
Not,
)

from tests import integration
from tests import integration, skip


class SnapTestCase(integration.TestCase):

@skip.skip_unless_codename('xenial', 'test designed for xenial')
def test_snap(self):
self.copy_project_to_cwd('assemble')
self.run_snapcraft('snap')
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/plugins/test_go_plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ def test_classic_with_conflicting_build_id(self):

interpreter = subprocess.check_output([
self.patchelf_command, '--print-interpreter', bin_path]).decode()
expected_interpreter = r'^/snap/core/current/.*'
expected_interpreter = r'^/snap/.*'
self.assertThat(interpreter, MatchesRegex(expected_interpreter))

def test_building_multiple_main_packages(self):
Expand Down
3 changes: 3 additions & 0 deletions tests/integration/snaps/ant-with-options/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@ parts:
dist.dir: 'target'
ant-build-targets:
- artifacts
stage-packages: [libc6]
stage:
- -usr/share/icons
1 change: 1 addition & 0 deletions tests/integration/snaps/go-gotty/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ parts:
plugin: go
go-importpath: github.com/yudai/gotty
after: [go]
stage-packages: [libc6]
go:
source-tag: go1.9.2
source-depth: 1
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ parts:
plugin: nil
stage-packages:
- network-manager
- libc6
snap:
- usr/bin/nmcli
- usr/lib/*/libnm*
1 change: 1 addition & 0 deletions tests/integration/snaps/python-hello/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ parts:
python-part:
source: .
plugin: python
stage-packages: [libc6]
3 changes: 3 additions & 0 deletions tests/integration/snaps/ruby-hello/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ parts:
- lib
install: |
cp ./ruby-hello.rb $SNAPCRAFT_PART_INSTALL/bin/ruby-hello.rb
stage-packages:
- libc6